diff --git a/.npmrc b/.npmrc index 379e757..2171cad 100644 --- a/.npmrc +++ b/.npmrc @@ -1 +1,2 @@ registry=https://npm.pkg.github.com/a2nt +registry=https://registry.npmjs.org/ \ No newline at end of file diff --git a/README.md b/README.md index 329aacd..bb381a7 100644 --- a/README.md +++ b/README.md @@ -1,21 +1,34 @@ # webpack-bootstrap-ui-kit + Webpack Bootstrap 4 UI Demo This UI Kit allows you to build Bootstrap 4 webapp with some extra UI features. It's easy to extend and easy to convert HTML templates to CMS templates. # Demo + https://rawcdn.githack.com/a2nt/webpack-bootstrap-ui-kit/master/dist/index.html # Quick Start + +## Requirements: + +- composer +- node +- yarn +- pnpm package manager + +https://pnpm.js.org/en/installation + +Note: You can use npm package manager, but this one will save your disc space. Replace pnpm commands with npm if you prefer npm + ## Clone and setup quick start repository: git clone https://github.com/a2nt/webpack-bootstrap-ui-kit-quick-start.git cd ./webpack-bootstrap-ui-kit-quick-start -npm install - +pnpm install ## Edit files at ./src @@ -28,25 +41,23 @@ yarn start yarn build ## Directory structure + src/ - your sources --- src/scss/_variables.scss - specific app variables - --- src/scss/_layout.scss - specific app style +-- src/scss/\_variables.scss - specific app variables +-- src/scss/\_layout.scss - specific app style -- src/html - HTML templates --- src/js/_events.js - app events definitions +-- src/js/\_events.js - app events definitions --- src/js/_layout.js - app events definitions - --- src/js/_components - ui components +-- src/js/\_layout.js - app events definitions +-- src/js/\_components - ui components -- src/img - some example images - dist/ - compiled scipts after "yarn build" You can open dist/index.html to see demo diff --git a/package.json b/package.json index 8e27b41..647ef37 100644 --- a/package.json +++ b/package.json @@ -1,177 +1,158 @@ { - "name": "@a2nt/ss-bootstrap-ui-webpack-boilerplate", - "version": "2.0.7", - "author": "Tony Air ", - "license": "MIT", - "description": "This UI Kit allows you to build Bootstrap 4 webapp with some extra UI features. It's easy to extend and easy to convert HTML templates to CMS templates.", - "private": false, - "main": "src/js/app.js", - "repository": { - "type": "git", - "url": "git+https://github.com/a2nt/webpack-bootstrap-ui-kit" - }, - "engines": { - "yarn": ">= 1.0.0" - }, - "scripts": { - "start": "cross-env NODE_ENV=development webpack-dev-server --https -d --config webpack.config.js", - "dash": "cross-env NODE_ENV=development webpack-dashboard -- webpack-dev-server --config webpack.config.js", - "build": "cross-env NODE_ENV=production webpack -p --config webpack.config.js --progress", - "lint:check": "eslint ./src --config .eslintrc && sass-lint ./src --config .sasslintrc -v -q", - "lint:fix": "eslint ./src --config .eslintrc --fix && sass-lint ./src --config .sasslintrc -v -q --fix", - "lint:js": "eslint ./src --config .eslintrc", - "lint:sass": "sass-lint ./src --config .sasslintrc -v -q", - "prebuild": "yarn lint:fix && rimraf dist", - "prepare": "yarn lint:fix && yarn build", - "prunecaches": "rimraf ./node_modules/.cache/", - "postinstall": "npm run prunecaches", - "postuninstall": "npm run prunecaches" - }, - "dependencies": { - "@a2nt/meta-lightbox": "^1.2.4", - "@google/markerclusterer": "^1.0.3", - "animate.css": "^3.7.0", - "bootbox": "^4.4.0", - "bootstrap": "^4.4.1", - "bootstrap-confirmation2": "^4.1.0", - "bootstrap-datepicker": "^1.9.0", - "bootstrap-offcanvas": "^1.0.0", - "bootstrap-table": "^1.16.0", - "bootstrap-timepicker": "^0.5.2", - "browserslist": "^4.11.0", - "caniuse-lite": "^1.0.30001036", - "core-util-is": "^1.0.2", - "croppie": "^2.6.4", - "exif-js": "^2.3.0", - "font-awesome": "^4.7.0", - "foundation-emails": "^2.2.1", - "gijgo": "^1.9.13", - "inputmask": "^5.0.3", - "jquery": "^3.4.1", - "jquery-hammerjs": "^2.0.0", - "jquery-hoverintent": "^1.10.1", - "jquery-zoom": "^1.7.21", - "jquery.appear": "^1.0.1", - "laravel-mix": "^4.1.2", - "mapbox-gl": "^1.9.0", - "offcanvas-bootstrap": "^2.5.2", - "popper.js": "^1.16.1", - "pouchdb": "^6.4.3", - "quill": "^1.3.7", - "react-bootstrap4-form-validation": "^1.0.10", - "routie": "0.0.1", - "select2": "^4.0.13", - "smooth-scroll": "^14.2.1", - "sticky-sidebar": "^3.3.1", - "yarn": "^1.22.4" - }, - "devDependencies": { - "@a2nt/image-sprite-webpack-plugin": "^0.2.5", - "@babel/core": "^7.9.0", - "@babel/plugin-proposal-object-rest-spread": "^7.9.0", - "@babel/plugin-transform-react-jsx": "^7.9.1", - "@babel/preset-env": "^7.9.0", - "autoprefixer": "^7.2.5", - "babel-eslint": "^8.2.6", - "babel-loader": "^8.1.0", - "browser-sync": "^2.24.5", - "browser-sync-webpack-plugin": "^2.2.2", - "copy-webpack-plugin": "^4.6.0", - "copyfiles": "^1.2.0", - "cross-env": "^5.1.6", - "css-loader": "^3.4.2", - "eslint": "^4.18.1", - "eslint-plugin-import": "^2.20.1", - "eslint-plugin-jquery": "^1.5.1", - "eslint-plugin-react": "^7.19.0", - "exports-loader": "^0.7.0", - "extract-text-webpack-plugin": "^4.0.0-beta.0", - "favicons-webpack-plugin": "^1.0.2", - "file-loader": "^1.1.5", - "hard-source-webpack-plugin": "^0.13.1", - "html-loader": "^0.5.5", - "html-webpack-plugin": "^4.0.1", - "imagemin-gifsicle": "^7.0.0", - "imagemin-jpegtran": "^6.0.0", - "imagemin-optipng": "^7.1.0", - "imagemin-svgo": "^7.1.0", - "imagemin-webpack": "^5.1.1", - "loglevel": "^1.6.7", - "lost": "^8.3.1", - "material-design-color": "^2.3.2", - "node-sass": "^4.13.1", - "object-assign": "^4.1.1", - "optimize-css-assets-webpack-plugin": "^5.0.3", - "postcss-loader": "^2.1.5", - "react": "^16.13.1", - "react-dom": "^16.13.1", - "react-hot-loader": "^3.1.3", - "redux": "^3.7.2", - "redux-devtools-extension": "^2.13.8", - "resolve-url-loader": "^2.3.2", - "rimraf": "^2.6.3", - "sass-lint": "^1.13.1", - "sass-lint-fix": "^1.12.1", - "sass-loader": "^6.0.6", - "script-ext-html-webpack-plugin": "^2.1.4", - "style-loader": "^0.19.0", - "svg-url-loader": "^2.3.3", - "terser-webpack-plugin": "^2.3.5", - "url-loader": "^0.6.2", - "webpack": "^4.42.0", - "webpack-cli": "^3.3.11", - "webpack-dev-server": "^3.10.3", - "webpack-manifest-plugin": "^1.3.2", - "webpack-merge": "^4.1.1" - }, - "publishConfig": { - "registry": "https://npm.pkg.github.com/" - }, - "browserslist": [ - "defaults", - "ie>=11" - ], - "stylelint": { - "rules": { - "block-no-empty": null, - "color-no-invalid-hex": true, - "comment-empty-line-before": [ - "always", - { - "ignore": [ - "stylelint-commands", - "after-comment" - ] - } - ], - "declaration-colon-space-after": "always", - "indentation": [ - 4, - { - "except": [ - "value" - ] - } - ], - "max-empty-lines": 2, - "rule-empty-line-before": [ - "always", - { - "except": [ - "first-nested" - ], - "ignore": [ - "after-comment" - ] - } - ], - "unit-whitelist": [ - "em", - "rem", - "%", - "s", - "px" - ] - } - } + "name": "@a2nt/ss-bootstrap-ui-webpack-boilerplate", + "version": "2.0.7", + "author": "Tony Air ", + "license": "MIT", + "description": "This UI Kit allows you to build Bootstrap 4 webapp with some extra UI features. It's easy to extend and easy to convert HTML templates to CMS templates.", + "private": false, + "main": "src/js/app.js", + "repository": { + "type": "git", + "url": "git+https://github.com/a2nt/webpack-bootstrap-ui-kit" + }, + "engines": { + "yarn": ">= 1.0.0" + }, + "scripts": { + "start": "cross-env NODE_ENV=development webpack-dev-server --https -d --config webpack.config.dev.js", + "dash": "cross-env NODE_ENV=development webpack-dashboard -- webpack-dev-server --config webpack.config.dev.js", + "prebuild": "rimraf app/client/dist", + "build": "cross-env NODE_ENV=production webpack -p --config webpack.config.prod.js --progress", + "lint:check": "eslint ./app/client/src --config .eslintrc && sass-lint ./app/client/src --config .sasslintrc -v -q", + "lint:fix": "eslint ./app/client/src --config .eslintrc --fix && sass-lint ./app/client/src --config .sasslintrc -v -q --fix", + "lint:js": "eslint ./app/client/src --config .eslintrc", + "lint:sass": "sass-lint ./app/client/src --config .sasslintrc -v -q", + "prunecaches": "rimraf ./node_modules/.cache/", + "postinstall": "npm run prunecaches", + "postuninstall": "npm run prunecaches", + "preinstall": "npx only-allow pnpm" + }, + "browserslist": [ + "defaults", + "ie>=11" + ], + "dependencies": { + "@a2nt/meta-lightbox": "^1.2.5", + "@a2nt/ss-bootstrap-ui-webpack-boilerplate": "^2.0.7", + "bootbox": "^4.4.0", + "bootstrap": "^4.5.0", + "bootstrap-confirmation2": "^4.1.0", + "bootstrap-datepicker": "^1.9.0", + "bootstrap-offcanvas": "^1.0.0", + "bootstrap-table": "^1.16.0", + "bootstrap-timepicker": "^0.5.2", + "font-awesome": "^4.7.0", + "hammerjs": "^2.0.8", + "inputmask": "^5.0.3", + "jquery": "^3.5.1", + "jquery-hammerjs": "^2.0.0", + "jquery-hoverintent": "*", + "jquery-zoom": "^1.7.21", + "jquery.appear": "^1.0.1", + "mapbox-gl": "^1.10.0", + "material-design-color": "^2.3.2", + "offcanvas-bootstrap": "^2.5.2", + "popper.js": "*", + "pouchdb": "^6.4.3", + "select2": "^4.0.8", + "smooth-scroll": "^14.2.1", + "sticky-sidebar": "^3.3.1", + "yarn": "^1.22.4" + }, + "devDependencies": { + "@a2nt/image-sprite-webpack-plugin": "^0.2.5", + "@babel/core": "^7.8.4", + "@babel/plugin-proposal-object-rest-spread": "^7.8.3", + "@babel/plugin-transform-react-jsx": "^7.9.4", + "@babel/preset-env": "^7.9.6", + "@google/markerclusterer": "^1.0.3", + "animate.css": "^3.7.0", + "autoprefixer": "^9.7.4", + "babel-eslint": "^8.2.6", + "babel-loader": "^8.1.0", + "copy-webpack-plugin": "^4.6.0", + "croppie": "^2.6.4", + "cross-env": "^5.2.1", + "css-loader": "^3.5.3", + "eslint": "^4.18.1", + "eslint-plugin-import": "^2.20.2", + "eslint-plugin-jquery": "^1.5.1", + "eslint-plugin-react": "^7.20.0", + "exports-loader": "^0.7.0", + "favicons-webpack-plugin": "0.0.9", + "file-loader": "^5.1.0", + "font-awesome": "^4.7.0", + "hard-source-webpack-plugin": "^0.13.1", + "html-webpack-plugin": "^4.3.0", + "imagemin-gifsicle": "^7.0.0", + "imagemin-jpegtran": "^6.0.0", + "imagemin-optipng": "^7.1.0", + "imagemin-svgo": "^7.1.0", + "imagemin-webpack": "^5.1.1", + "loglevel": "^1.6.8", + "mini-css-extract-plugin": "^0.9.0", + "node-sass": "^4.14.1", + "optimize-css-assets-webpack-plugin": "^5.0.3", + "postcss-loader": "^3.0.0", + "react-hot-loader": "^4.12.21", + "resolve-url-loader": "^3.1.1", + "rimraf": "^2.7.1", + "routie": "0.0.1", + "sass-lint": "^1.13.1", + "sass-lint-fix": "^1.12.1", + "sass-loader": "^8.0.2", + "script-ext-html-webpack-plugin": "^2.1.4", + "style-loader": "^0.19.0", + "svg-url-loader": "^2.3.3", + "terser-webpack-plugin": "^2.3.6", + "url-loader": "^0.6.2", + "webpack": "^4.43.0", + "webpack-cli": "^3.3.11", + "webpack-dev-server": "^3.10.3", + "webpack-manifest-plugin": "^1.3.2", + "webpack-merge": "^4.2.2" + }, + "stylelint": { + "rules": { + "block-no-empty": null, + "color-no-invalid-hex": true, + "comment-empty-line-before": [ + "always", + { + "ignore": [ + "stylelint-commands", + "after-comment" + ] + } + ], + "declaration-colon-space-after": "always", + "indentation": [ + 4, + { + "except": [ + "value" + ] + } + ], + "max-empty-lines": 2, + "rule-empty-line-before": [ + "always", + { + "except": [ + "first-nested" + ], + "ignore": [ + "after-comment" + ] + } + ], + "unit-whitelist": [ + "em", + "rem", + "%", + "s", + "px" + ] + } + } }