From 72a0d9dbc45cf4cb7f5fd7ab0cf6c9fc2e4fdd6d Mon Sep 17 00:00:00 2001 From: Shachar Leuchter Date: Fri, 22 Jan 2021 17:34:14 +0100 Subject: [PATCH 01/12] refactor(taskrunner): better logs, fix webpack api --- cli/build.js | 12 ++++++------ cli/deploy.js | 8 ++++---- cli/dev.js | 12 ++++++------ cli/release.js | 20 ++++++++++---------- cli/rsync.js | 8 ++++---- fractal-config.js | 8 ++++---- package-lock.json | 6 ++++-- webpack.config.js | 13 +++++++++---- webpack.critical.js | 7 ++++++- webpack.cssmod.js | 25 ++++++++++++++++++++----- webpack.dev.js | 4 ++-- webpack.prod.js | 4 ++-- 12 files changed, 77 insertions(+), 50 deletions(-) diff --git a/cli/build.js b/cli/build.js index 9f2ee4a..34c347f 100755 --- a/cli/build.js +++ b/cli/build.js @@ -11,27 +11,27 @@ process.env.MODE = 'development' try { fs.accessSync(`${ process.env.PROJECT_CWD }/webpack.dev.js`, fs.constants.R_OK | fs.constants.W_OK) process.env.WEBPACK_DEV_CONFIG = `${process.env.PROJECT_CWD}/webpack.dev.js` - console.log('-> using webpack.dev project config!') + console.log('✳️ using local webpack.dev config') } catch (err) { - console.log('-> using webpack.dev package config!') + console.log('⚛︎ using Taskrunner webpack.dev config!') process.env.WEBPACK_DEV_CONFIG = `./webpack.dev.js` } // check if we have a webpack.critical config in project root try { fs.accessSync(`${ process.env.PROJECT_CWD }/webpack.critical.js`, fs.constants.R_OK | fs.constants.W_OK) process.env.WEBPACK_CRITICAL_CONFIG = `${process.env.PROJECT_CWD}/webpack.critical.js` - console.log('-> using webpack.critical project config!') + console.log('✳️ using local webpack.critical config !') } catch (err) { - console.log('-> using webpack.critical package config!') + console.log('⚛︎ using Taskrunner webpack.critical config!') process.env.WEBPACK_CRITICAL_CONFIG = `./webpack.critical.js` } // check if we have a svg-sprite config in project root try { fs.accessSync(`${ process.env.PROJECT_CWD }/svg-sprite.config.json`, fs.constants.R_OK | fs.constants.W_OK) process.env.SPRITE_CONFIG = `${process.env.PROJECT_CWD}/svg-sprite.config.json` - console.log('-> using svg-sprite.config project config!') + console.log('✳️ using local svg-sprite.config !') } catch (err) { - console.log('-> using svg-sprite.config package config!') + console.log('⚛︎ using Taskrunner svg-sprite.config !') process.env.SPRITE_CONFIG = `./svg-sprite.config.json` } diff --git a/cli/deploy.js b/cli/deploy.js index d4e8df5..c88fba5 100755 --- a/cli/deploy.js +++ b/cli/deploy.js @@ -13,18 +13,18 @@ process.env.PROJECT_CWD = process.env.PWD try { fs.accessSync(`${ process.env.PROJECT_CWD }/webpack.dev.js`, fs.constants.R_OK | fs.constants.W_OK) process.env.WEBPACK_DEV_CONFIG = `${process.env.PROJECT_CWD}/webpack.dev.js` - console.log('-> using webpack.dev project config!') + console.log('✳️ using local webpack.dev config') } catch (err) { - console.log('-> using webpack.dev package config!') + console.log('⚛︎ using Taskrunner webpack.dev config!') process.env.WEBPACK_DEV_CONFIG = `./webpack.dev.js` } // check if we have a svg-sprite config in project root try { fs.accessSync(`${ process.env.PROJECT_CWD }/svg-sprite.config.json`, fs.constants.R_OK | fs.constants.W_OK) process.env.SPRITE_CONFIG = `${process.env.PROJECT_CWD}/svg-sprite.config.json` - console.log('-> using svg-sprite.config project config!') + console.log('✳️ using local svg-sprite.config !') } catch (err) { - console.log('-> using svg-sprite.config package config!') + console.log('⚛︎ using Taskrunner svg-sprite.config !') process.env.SPRITE_CONFIG = `./svg-sprite.config.json` } diff --git a/cli/dev.js b/cli/dev.js index fbc8304..cd8b4d7 100755 --- a/cli/dev.js +++ b/cli/dev.js @@ -11,27 +11,27 @@ process.env.PROJECT_CWD = process.env.PWD try { fs.accessSync(`${ process.env.PROJECT_CWD }/webpack.dev.js`, fs.constants.R_OK | fs.constants.W_OK) process.env.WEBPACK_DEV_CONFIG = `${process.env.PROJECT_CWD}/webpack.dev.js` - console.log('-> using webpack.dev project config!') + console.log('✳️ using local webpack.dev config') } catch (err) { - console.log('-> using webpack.dev package config!') + console.log('⚛︎ using Taskrunner webpack.dev config!') process.env.WEBPACK_DEV_CONFIG = `./webpack.dev.js` } // check if we have a webpack.critical config in project root try { fs.accessSync(`${ process.env.PROJECT_CWD }/webpack.critical.js`, fs.constants.R_OK | fs.constants.W_OK) process.env.WEBPACK_CRITICAL_CONFIG = `${process.env.PROJECT_CWD}/webpack.critical.js` - console.log('-> using webpack.critical project config!') + console.log('✳️ using local webpack.critical config !') } catch (err) { - console.log('-> using webpack.critical package config!') + console.log('⚛︎ using Taskrunner webpack.critical config!') process.env.WEBPACK_CRITICAL_CONFIG = `./webpack.critical.js` } // check if we have a svg-sprite config in project root try { fs.accessSync(`${ process.env.PROJECT_CWD }/svg-sprite.config.json`, fs.constants.R_OK | fs.constants.W_OK) process.env.SPRITE_CONFIG = `${process.env.PROJECT_CWD}/svg-sprite.config.json` - console.log('-> using svg-sprite.config project config!') + console.log('✳️ using local svg-sprite.config !') } catch (err) { - console.log('-> using svg-sprite.config package config!') + console.log('⚛︎ using Taskrunner svg-sprite.config !') process.env.SPRITE_CONFIG = `./svg-sprite.config.json` } diff --git a/cli/release.js b/cli/release.js index e3e43bf..a2febe5 100755 --- a/cli/release.js +++ b/cli/release.js @@ -12,45 +12,45 @@ const config = require(getProjectConfig()) try { fs.accessSync(`${ process.env.PROJECT_CWD }/webpack.dev.js`, fs.constants.R_OK | fs.constants.W_OK) process.env.WEBPACK_DEV_CONFIG = `${process.env.PROJECT_CWD}/webpack.dev.js` - console.log('-> using webpack.dev project config!') + console.log('✳️ using local webpack.dev config') } catch (err) { - console.log('-> using webpack.dev package config!') + console.log('⚛︎ using Taskrunner webpack.dev config!') process.env.WEBPACK_DEV_CONFIG = `./webpack.dev.js` } // check if we have a webpack.prod config in project root try { fs.accessSync(`${ process.env.PROJECT_CWD }/webpack.prod.js`, fs.constants.R_OK | fs.constants.W_OK) process.env.WEBPACK_PROD_CONFIG = `${process.env.PROJECT_CWD}/webpack.prod.js` - console.log('-> using webpack.prod project config!') + console.log('✳️ using local webpack.prod config !') } catch (err) { - console.log('-> using webpack.prod package config!') + console.log('⚛︎ using Taskrunner webpack.prod config !') process.env.WEBPACK_PROD_CONFIG = `./webpack.prod.js` } // check if we have a webpack.cssmod config in project root try { fs.accessSync(`${ process.env.PROJECT_CWD }/webpack.cssmod.js`, fs.constants.R_OK | fs.constants.W_OK) process.env.WEBPACK_CSSMOD_CONFIG = `${process.env.PROJECT_CWD}/webpack.cssmod.js` - console.log('-> using webpack.cssmod project config!') + console.log('✳️ using local webpack.cssmod config !') } catch (err) { - console.log('-> using webpack.cssmod package config!') + console.log('⚛︎ using Taskrunner webpack.cssmod config !') process.env.WEBPACK_CSSMOD_CONFIG = `./webpack.cssmod.js` } // check if we have a webpack.critical config in project root try { fs.accessSync(`${ process.env.PROJECT_CWD }/webpack.critical.js`, fs.constants.R_OK | fs.constants.W_OK) process.env.WEBPACK_CRITICAL_CONFIG = `${process.env.PROJECT_CWD}/webpack.critical.js` - console.log('-> using webpack.critical project config!') + console.log('✳️ using local webpack.critical config !') } catch (err) { - console.log('-> using webpack.critical package config!') + console.log('⚛︎ using Taskrunner webpack.critical config!') process.env.WEBPACK_CRITICAL_CONFIG = `./webpack.critical.js` } // check if we have a svg-sprite config in project root try { fs.accessSync(`${ process.env.PROJECT_CWD }/svg-sprite.config.json`, fs.constants.R_OK | fs.constants.W_OK) process.env.SPRITE_CONFIG = `${process.env.PROJECT_CWD}/svg-sprite.config.json` - console.log('-> using svg-sprite.config project config!') + console.log('✳️ using local svg-sprite.config !') } catch (err) { - console.log('-> using svg-sprite.config package config!') + console.log('⚛︎ using Taskrunner svg-sprite.config !') process.env.SPRITE_CONFIG = `./svg-sprite.config.json` } diff --git a/cli/rsync.js b/cli/rsync.js index 78a8507..ca97175 100644 --- a/cli/rsync.js +++ b/cli/rsync.js @@ -13,18 +13,18 @@ process.env.PROJECT_CWD = process.env.PWD try { fs.accessSync(`${ process.env.PROJECT_CWD }/webpack.dev.js`, fs.constants.R_OK | fs.constants.W_OK) process.env.WEBPACK_DEV_CONFIG = `${process.env.PROJECT_CWD}/webpack.dev.js` - console.log('-> using webpack.dev project config!') + console.log('✳️ using local webpack.dev config') } catch (err) { - console.log('-> using webpack.dev package config!') + console.log('⚛︎ using Taskrunner webpack.dev config!') process.env.WEBPACK_DEV_CONFIG = `./webpack.dev.js` } // check if we have a svg-sprite config in project root try { fs.accessSync(`${ process.env.PROJECT_CWD }/svg-sprite.config.json`, fs.constants.R_OK | fs.constants.W_OK) process.env.SPRITE_CONFIG = `${process.env.PROJECT_CWD}/svg-sprite.config.json` - console.log('-> using svg-sprite.config project config!') + console.log('✳️ using local svg-sprite.config !') } catch (err) { - console.log('-> using svg-sprite.config package config!') + console.log('⚛︎ using Taskrunner svg-sprite.config !') process.env.SPRITE_CONFIG = `./svg-sprite.config.json` } diff --git a/fractal-config.js b/fractal-config.js index 67e0a5b..f305593 100644 --- a/fractal-config.js +++ b/fractal-config.js @@ -123,12 +123,12 @@ try { if (config.server) { fractalServerConfig = _.defaultsDeep(config.server, fractalServerConfig) - console.error('found Fractal server config in project!') + console.log('✳️ using local Fractal config!') } if (config.mandelbrot) { mandelbrotDefaults = _.defaultsDeep(config.mandelbrot, mandelbrotDefaults) - console.error('found Fractal mandelbrot config in project!') + console.log('✳️ using local mandelbrot config!') } const hooks = config.hooks @@ -148,9 +148,9 @@ try { } }) }) - console.error('found Fractal hooks in project!') + console.log('✳️ using local Fractal hooks!') } catch (err) { - console.error('no hooks found in project!', err) + console.error(err) } /* diff --git a/package-lock.json b/package-lock.json index 376f2bd..14b3cc1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -5950,7 +5950,8 @@ }, "kind-of": { "version": "6.0.2", - "resolved": "" + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==" } } }, @@ -20611,7 +20612,8 @@ }, "kind-of": { "version": "6.0.2", - "resolved": "" + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==" } } }, diff --git a/webpack.config.js b/webpack.config.js index bf6dae8..d13f9b7 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -11,9 +11,9 @@ let babelConfig try { fs.accessSync(`${process.env.PROJECT_CWD}/babel.config.js`, fs.constants.R_OK | fs.constants.W_OK) babelConfig = `${process.env.PROJECT_CWD}/babel.config.js` - console.error('use babel project config!') + console.error('✳️ using local babel config!') } catch (err) { - console.error('use babel package config!') + console.error('⚛︎ using Taskrunner babel config!') babelConfig = `./babel.config.js` } @@ -115,8 +115,13 @@ module.exports = { // handle global css { test: /\.global\.scss$/, - loader: [ - MiniCssExtractPlugin.loader, + use: [ + { + loader: MiniCssExtractPlugin.loader, + options: { + esModule: false + }, + }, // Translates CSS into CommonJS { loader: 'css-loader', diff --git a/webpack.critical.js b/webpack.critical.js index bb857c0..b9355ba 100644 --- a/webpack.critical.js +++ b/webpack.critical.js @@ -74,7 +74,12 @@ module.exports = { { test: /\.critical\.scss$/, loader: [ - MiniCssExtractPlugin.loader, + { + loader: MiniCssExtractPlugin.loader, + options: { + esModule: false + }, + }, // Translates CSS into CommonJS { loader: 'css-loader', diff --git a/webpack.cssmod.js b/webpack.cssmod.js index 7ff7f54..f322538 100644 --- a/webpack.cssmod.js +++ b/webpack.cssmod.js @@ -91,7 +91,12 @@ module.exports = { test: /\.module\.scss$/, use: [ // Creates `style` nodes from JS strings - MiniCssExtractPlugin.loader, + { + loader: MiniCssExtractPlugin.loader, + options: { + esModule: false + }, + }, // Translates CSS into CommonJS { loader: 'css-loader', @@ -131,8 +136,13 @@ module.exports = { // handle global css { test: /\.global\.scss$/, - loader: [ - MiniCssExtractPlugin.loader, + use: [ + { + loader: MiniCssExtractPlugin.loader, + options: { + esModule: false + }, + }, // Translates CSS into CommonJS { loader: 'css-loader', @@ -178,8 +188,13 @@ module.exports = { // handle critical/amp css { test: /\.(critical|amp)\.scss$/, - loader: [ - MiniCssExtractPlugin.loader, + use: [ + { + loader: MiniCssExtractPlugin.loader, + options: { + esModule: false + }, + }, // Translates CSS into CommonJS { loader: 'css-loader', diff --git a/webpack.dev.js b/webpack.dev.js index 71e5fb1..4c8d3d8 100644 --- a/webpack.dev.js +++ b/webpack.dev.js @@ -7,11 +7,11 @@ try { fs.accessSync(`${process.env.PROJECT_CWD}/webpack.config.js`, fs.constants.R_OK | fs.constants.W_OK) const getConfigPath = () => `${process.env.PROJECT_CWD}/webpack.config.js` baseConfig = require(getConfigPath()) - console.error('use webpack.base project config!') + console.log('✳️ using local webpack.config!') } catch (err) { const getConfigPath = () => `${process.env.PWD}/webpack.config.js` baseConfig = require(getConfigPath()) - console.error('use webpack.base package config!') + console.log('⚛︎ using Taskrunner webpack.config!') } diff --git a/webpack.prod.js b/webpack.prod.js index ba487fe..448d08b 100644 --- a/webpack.prod.js +++ b/webpack.prod.js @@ -17,11 +17,11 @@ try { fs.accessSync(`${process.env.PROJECT_CWD}/webpack.config.js`, fs.constants.R_OK | fs.constants.W_OK) const getConfigPath = () => `${process.env.PROJECT_CWD}/webpack.config.js` baseConfig = require(getConfigPath()) - console.error('use webpack.base project config!') + console.log('✳️ using local webpack.config!') } catch (err) { const getConfigPath = () => `${process.env.PWD}/webpack.config.js` baseConfig = require(getConfigPath()) - console.error('use webpack.base package config!') + console.log('⚛︎ using Taskrunner webpack.config!') } module.exports = merge(baseConfig, { From 8a75a78d36b31e67ebb8575b6c320dafc2131f0b Mon Sep 17 00:00:00 2001 From: Shachar Leuchter Date: Mon, 25 Jan 2021 17:11:18 +0100 Subject: [PATCH 02/12] feat(cli): output stderr --- cli/build.js | 4 ++++ cli/deploy.js | 4 ++++ cli/dev.js | 4 ++++ cli/export.js | 4 ++++ cli/newpattern.js | 4 ++++ cli/release.js | 4 ++++ cli/rsync.js | 4 ++++ package.json | 2 +- 8 files changed, 29 insertions(+), 1 deletion(-) diff --git a/cli/build.js b/cli/build.js index 34c347f..db0b903 100755 --- a/cli/build.js +++ b/cli/build.js @@ -49,6 +49,10 @@ if (child.stdin) { process.stdin.pipe(child.stdin) } +if (child.stderr) { + process.stderr.pipe(child.stderr) +} + if (child.stdout) { child.stdout.on('data', (data) => { console.log(`child stdout:\n${data}`) diff --git a/cli/deploy.js b/cli/deploy.js index c88fba5..4a6c145 100755 --- a/cli/deploy.js +++ b/cli/deploy.js @@ -52,6 +52,10 @@ if (child.stdin) { process.stdin.pipe(child.stdin) } +if (child.stderr) { + process.stderr.pipe(child.stderr) +} + if (child.stdout) { child.stdout.on('data', (data) => { console.log(`child stdout:\n${data}`) diff --git a/cli/dev.js b/cli/dev.js index cd8b4d7..bbdff90 100755 --- a/cli/dev.js +++ b/cli/dev.js @@ -49,6 +49,10 @@ if (child.stdin) { process.stdin.pipe(child.stdin) } +if (child.stderr) { + process.stderr.pipe(child.stderr) +} + if (child.stdout) { child.stdout.on('data', (data) => { console.log(`child stdout:\n${data}`) diff --git a/cli/export.js b/cli/export.js index e654adf..37acbb2 100644 --- a/cli/export.js +++ b/cli/export.js @@ -21,6 +21,10 @@ if (child.stdin) { process.stdin.pipe(child.stdin) } +if (child.stderr) { + process.stderr.pipe(child.stderr) +} + if (child.stdout) { child.stdout.on('data', (data) => { console.log(`child stdout:\n${data}`) diff --git a/cli/newpattern.js b/cli/newpattern.js index 5ac999b..ac6f271 100755 --- a/cli/newpattern.js +++ b/cli/newpattern.js @@ -21,6 +21,10 @@ if (child.stdin) { process.stdin.pipe(child.stdin) } +if (child.stderr) { + process.stderr.pipe(child.stderr) +} + if (child.stdout) { child.stdout.on('data', (data) => { console.log(`child stdout:\n${data}`) diff --git a/cli/release.js b/cli/release.js index a2febe5..d645cc6 100755 --- a/cli/release.js +++ b/cli/release.js @@ -70,6 +70,10 @@ if (child.stdin) { process.stdin.pipe(child.stdin) } +if (child.stderr) { + process.stderr.pipe(child.stderr) +} + if (child.stdout) { child.stdout.on('data', (data) => { console.log(`child stdout:\n${data}`) diff --git a/cli/rsync.js b/cli/rsync.js index ca97175..caa12a3 100644 --- a/cli/rsync.js +++ b/cli/rsync.js @@ -52,6 +52,10 @@ if (child.stdin) { process.stdin.pipe(child.stdin) } +if (child.stderr) { + process.stderr.pipe(child.stderr) +} + if (child.stdout) { child.stdout.on('data', (data) => { console.log(`child stdout:\n${data}`) diff --git a/package.json b/package.json index 3488663..7e0ec42 100644 --- a/package.json +++ b/package.json @@ -107,6 +107,7 @@ "clean-webpack-plugin": "^3.0.0", "cli-progress": "^3.8.2", "css-loader": "^5.0.1", + "css-minimizer-webpack-plugin": "^1.2.0", "cssnano": "^4.1.10", "csso": "^4.2.0", "fs-extra": "^9.0.1", @@ -142,7 +143,6 @@ "acorn": "^8.0.4", "ajv": "^7.0.3", "babel-eslint": "^10.1.0", - "css-minimizer-webpack-plugin": "^1.2.0", "eslint": "^7.18.0", "husky": "^4.3.8", "lint-staged": "^10.5.3", From d45a91609e537a5fd50ae360f6fb8c215bd5fecc Mon Sep 17 00:00:00 2001 From: Shachar Leuchter Date: Mon, 25 Jan 2021 17:11:57 +0100 Subject: [PATCH 03/12] chore(package): bump rc number --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 7e0ec42..214a1cb 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@jvmn/groundzero-taskrunner-webpack", - "version": "2.2.0", + "version": "2.3.0-rc", "description": "Taskrunner for JvM/Neckar Groundzero projects", "keywords": [ "taskrunner", From ca7b65ac65c4d47df1ca09e2cb676a6fe56fa2cc Mon Sep 17 00:00:00 2001 From: Shachar Leuchter Date: Mon, 25 Jan 2021 17:14:00 +0100 Subject: [PATCH 04/12] build(package): pkg publish next task --- package.json | 1 + 1 file changed, 1 insertion(+) diff --git a/package.json b/package.json index 214a1cb..ad56e30 100644 --- a/package.json +++ b/package.json @@ -48,6 +48,7 @@ "optimize:assets": "run-s copy:assets imagemin", "pkg:release": "groundzero-changelog", "pkg:publish": "npm publish --access public", + "pkg:publish:next": "npm publish --access public --tag next", "precommit": "lint-staged", "release": "npm-run-all clean:release copy:assets:release release:sync:icons release:webpack build:webpack fractal:export -l --silent", "release:cssmod": "npm-run-all clean:release copy:assets:release release:sync:icons release:webpack release:modules clean:cssmod build:webpack fractal:export -l --silent", From 012a3214d204ccac06360f22e30fd3f2a06e776a Mon Sep 17 00:00:00 2001 From: Shachar Leuchter Date: Thu, 28 Jan 2021 11:16:53 +0100 Subject: [PATCH 05/12] fix(critical-css): stringify without autoprefixer --- lib/critical-css.js | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/lib/critical-css.js b/lib/critical-css.js index 63752f5..05b5e62 100644 --- a/lib/critical-css.js +++ b/lib/critical-css.js @@ -22,11 +22,17 @@ module.exports = { data: file, }) // autoprefix - let postCss = useAutoprefixer ? postcss([autoprefixer]).process(cssStream.css, { from: undefined }).css : cssStream.css + let css = '' + if (useAutoprefixer) { + // [autoprefixer({ grid: 'autoplace' })] + css = postcss([autoprefixer]).process(cssStream.css, { from: undefined }).css + } else { + css = cssStream.css.toString() + } // fix font paths - postCss = postCss.replace(/(\.\.\/fonts\/)/gm, '/assets/fonts/') + css = css.replace(/(\.\.\/fonts\/)/gm, '/assets/fonts/') // minify - const minifiedCss = csso.minify(postCss).css + const minifiedCss = csso.minify(css).css // return string return '/* critical css injection */\n' + minifiedCss } catch (err) { From 6ffd9fe194dc79aedf55d517c8ca36a66a60a76c Mon Sep 17 00:00:00 2001 From: Shachar Leuchter Date: Thu, 28 Jan 2021 11:18:09 +0100 Subject: [PATCH 06/12] chore(package): update dependencies --- package-lock.json | 757 +++++++++++++++++++++++++++------------------- package.json | 20 +- 2 files changed, 462 insertions(+), 315 deletions(-) diff --git a/package-lock.json b/package-lock.json index babbc84..9cdb760 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "@jvmn/groundzero-taskrunner-webpack", - "version": "2.2.0", + "version": "2.3.0-rc", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -4663,7 +4663,6 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-1.1.0.tgz", "integrity": "sha512-Iv2iq0JuyYjKeFkSR4LPaCdDZwlGK9X2cP/01nJcp3yMJ1FjNd9vpiEYvLUgzBxKPg2SFmaOhizoQsPc0LWeOQ==", - "dev": true, "requires": { "mkdirp": "^1.0.4", "rimraf": "^2.7.1" @@ -4672,8 +4671,7 @@ "mkdirp": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "dev": true + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==" } } }, @@ -4802,9 +4800,9 @@ } }, "@types/estree": { - "version": "0.0.45", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.45.tgz", - "integrity": "sha512-jnqIUKDUqJbDIUxm0Uj7bnlMnRm1T/eZ9N+AVMqhPgzrba2GhGG5o/jCTwmdPK709nEZsGoMzXEDUjcXHa3W0g==" + "version": "0.0.46", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.46.tgz", + "integrity": "sha512-laIjwTQaD+5DukBZaygQ79K1Z0jb1bPEMRrkXSLjtCcZm+abyp5YbrqpSLzD42FwWW6gK/aS4NYpJ804nG2brg==" }, "@types/events": { "version": "3.0.0", @@ -5201,9 +5199,9 @@ } }, "acorn": { - "version": "8.0.4", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.0.4.tgz", - "integrity": "sha512-XNP0PqF1XD19ZlLKvB7cMmnZswW4C/03pRHgirB30uSJTaS3A3V1/P4sS3HPvFmjoriPCJQs+JDSbm4bL1TxGQ==" + "version": "8.0.5", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.0.5.tgz", + "integrity": "sha512-v+DieK/HJkJOpFBETDJioequtc3PfxsWMaxIdIwujtF7FEV/MAyDQLlm6/zPvr7Mix07mLh6ccVwIsloceodlg==" }, "acorn-globals": { "version": "6.0.0", @@ -5233,9 +5231,9 @@ "dev": true }, "acorn-walk": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.0.1.tgz", - "integrity": "sha512-zn/7dYtoTVkG4EoMU55QlQU4F+m+T7Kren6Vj3C2DapWPnakG/DL9Ns5aPAPW5Ixd3uxXrV/BoMKKVFIazPcdg==" + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.0.2.tgz", + "integrity": "sha512-+bpA9MJsHdZ4bgfDcpk0ozQyhhVct7rzOmO0s1IIr0AGGgKBljss8n2zp11rRP2wid5VGeh04CgeKzgat5/25A==" }, "after": { "version": "0.8.2", @@ -5246,7 +5244,6 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", - "dev": true, "requires": { "clean-stack": "^2.0.0", "indent-string": "^4.0.0" @@ -5255,8 +5252,7 @@ "indent-string": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", - "dev": true + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==" } } }, @@ -5536,12 +5532,12 @@ "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==" }, "autoprefixer": { - "version": "10.2.1", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.2.1.tgz", - "integrity": "sha512-dwP0UjyYvROUvtU+boBx8ff5pPWami1NGTrJs9YUsS/oZVbRAcdNHOOuXSA1fc46tgKqe072cVaKD69rvCc3QQ==", + "version": "10.2.3", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.2.3.tgz", + "integrity": "sha512-vlz+iv+EnLkVaTgX8wApfYzmK3LUfK8Z9XAnmflzxMy/+oFuNK8fVGQV79SOpBv4jxk2YQJimw4hXIKZ29570A==", "requires": { "browserslist": "^4.16.1", - "caniuse-lite": "^1.0.30001173", + "caniuse-lite": "^1.0.30001178", "colorette": "^1.2.1", "fraction.js": "^4.0.13", "normalize-range": "^0.1.2", @@ -5561,19 +5557,19 @@ } }, "caniuse-lite": { - "version": "1.0.30001174", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001174.tgz", - "integrity": "sha512-tqClL/4ThQq6cfFXH3oJL4rifFBeM6gTkphjao5kgwMaW9yn0tKgQLAEfKzDwj6HQWCB/aWo8kTFlSvIN8geEA==" + "version": "1.0.30001180", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001180.tgz", + "integrity": "sha512-n8JVqXuZMVSPKiPiypjFtDTXc4jWIdjxull0f92WLo7e1MSi3uJ3NvveakSh/aCl1QKFAvIz3vIj0v+0K+FrXw==" }, "electron-to-chromium": { - "version": "1.3.635", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.635.tgz", - "integrity": "sha512-RRriZOLs9CpW6KTLmgBqyUdnY0QNqqWs0HOtuQGGEMizOTNNn1P7sGRBxARnUeLejOsgwjDyRqT3E/CSst02ZQ==" + "version": "1.3.647", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.647.tgz", + "integrity": "sha512-Or2Nu8TjkmSywY9hk85K/Y6il28hchlonITz30fkC87qvSNupQl29O12BzDDDTnUFlo6kEIFL2QGSpkZDMxH8g==" }, "node-releases": { - "version": "1.1.69", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.69.tgz", - "integrity": "sha512-DGIjo79VDEyAnRlfSqYTsy+yoHd2IOjJiKUozD2MV2D85Vso6Bug56mb9tT/fY5Urt0iqk01H7x+llAruDR2zA==" + "version": "1.1.70", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.70.tgz", + "integrity": "sha512-Slf2s69+2/uAD79pVVQo8uSiC34+g8GWY8UH2Qtqv34ZfhYrxpYpfzs9Js9d6O0mbDmALuxaTlplnBTnSELcrw==" } } }, @@ -5587,6 +5583,21 @@ "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz", "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==" }, + "axios": { + "version": "0.21.1", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.1.tgz", + "integrity": "sha512-dKQiRHxGD9PPRIUNIWvZhPTPpl1rf/OxTYKsqKUDjBwYylTvV7SjSHJb9ratfyzM6wCdLCOYLzs73qpg5c4iGA==", + "requires": { + "follow-redirects": "^1.10.0" + }, + "dependencies": { + "follow-redirects": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.13.2.tgz", + "integrity": "sha512-6mPTgLxYm3r6Bkkg0vNM0HTjfGrOEtsfbhagQvbxDEsEkpNhw582upBaoRZylzen6krEmxXJgt9Ju6HiI4O7BA==" + } + } + }, "babel-eslint": { "version": "10.1.0", "resolved": "https://registry.npmjs.org/babel-eslint/-/babel-eslint-10.1.0.tgz", @@ -5945,8 +5956,7 @@ }, "kind-of": { "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==" + "resolved": "" } } }, @@ -6345,6 +6355,11 @@ } } }, + "binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==" + }, "binaryextensions": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/binaryextensions/-/binaryextensions-2.3.0.tgz", @@ -6539,15 +6554,15 @@ "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==" }, "browser-sync": { - "version": "2.26.13", - "resolved": "https://registry.npmjs.org/browser-sync/-/browser-sync-2.26.13.tgz", - "integrity": "sha512-JPYLTngIzI+Dzx+StSSlMtF+Q9yjdh58HW6bMFqkFXuzQkJL8FCvp4lozlS6BbECZcsM2Gmlgp0uhEjvl18X4w==", + "version": "2.26.14", + "resolved": "https://registry.npmjs.org/browser-sync/-/browser-sync-2.26.14.tgz", + "integrity": "sha512-3TtpsheGolJT6UFtM2CZWEcGJmI4ZEvoCKiKE2bvcDnPxRkhQT4nIGVtfiyPcoHKXGM0LwMOZmYJNWfiNfVXWA==", "requires": { - "browser-sync-client": "^2.26.13", - "browser-sync-ui": "^2.26.13", + "browser-sync-client": "^2.26.14", + "browser-sync-ui": "^2.26.14", "bs-recipes": "1.3.4", "bs-snippet-injector": "^2.0.1", - "chokidar": "^3.4.1", + "chokidar": "^3.5.1", "connect": "3.6.6", "connect-history-api-fallback": "^1", "dev-ip": "^1.0.1", @@ -6558,7 +6573,7 @@ "fs-extra": "3.0.1", "http-proxy": "^1.18.1", "immutable": "^3", - "localtunnel": "^2.0.0", + "localtunnel": "^2.0.1", "micromatch": "^4.0.2", "opn": "5.3.0", "portscanner": "2.1.1", @@ -6570,11 +6585,25 @@ "serve-index": "1.9.1", "serve-static": "1.13.2", "server-destroy": "1.0.1", - "socket.io": "2.1.1", + "socket.io": "2.4.0", "ua-parser-js": "^0.7.18", "yargs": "^15.4.1" }, "dependencies": { + "anymatch": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", + "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "base64id": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/base64id/-/base64id-2.0.0.tgz", + "integrity": "sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==" + }, "braces": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", @@ -6583,6 +6612,72 @@ "fill-range": "^7.0.1" } }, + "chokidar": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.1.tgz", + "integrity": "sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw==", + "requires": { + "anymatch": "~3.1.1", + "braces": "~3.0.2", + "fsevents": "~2.3.1", + "glob-parent": "~5.1.0", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.5.0" + } + }, + "component-emitter": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", + "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==" + }, + "cookie": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.1.tgz", + "integrity": "sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA==" + }, + "engine.io": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-3.5.0.tgz", + "integrity": "sha512-21HlvPUKaitDGE4GXNtQ7PLP0Sz4aWLddMPw2VTyFz1FVZqu/kZsJUO8WNpKuE/OCL7nkfRaOui2ZCJloGznGA==", + "requires": { + "accepts": "~1.3.4", + "base64id": "2.0.0", + "cookie": "~0.4.1", + "debug": "~4.1.0", + "engine.io-parser": "~2.2.0", + "ws": "~7.4.2" + } + }, + "engine.io-client": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-3.5.0.tgz", + "integrity": "sha512-12wPRfMrugVw/DNyJk34GQ5vIVArEcVMXWugQGGuw2XxUSztFNmJggZmv8IZlLyEdnpO1QB9LkcjeWewO2vxtA==", + "requires": { + "component-emitter": "~1.3.0", + "component-inherit": "0.0.3", + "debug": "~3.1.0", + "engine.io-parser": "~2.2.0", + "has-cors": "1.1.0", + "indexof": "0.0.1", + "parseqs": "0.0.6", + "parseuri": "0.0.6", + "ws": "~7.4.2", + "xmlhttprequest-ssl": "~1.5.4", + "yeast": "0.1.2" + }, + "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "requires": { + "ms": "2.0.0" + } + } + } + }, "fill-range": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", @@ -6606,6 +6701,11 @@ "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" }, + "isarray": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz", + "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=" + }, "micromatch": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", @@ -6615,6 +6715,26 @@ "picomatch": "^2.0.5" } }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" + }, + "parseqs": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/parseqs/-/parseqs-0.0.6.tgz", + "integrity": "sha512-jeAGzMDbfSHHA091hr0r31eYfTig+29g3GKKE/PPbEQ65X0lmMwlEoqmhzu0iztID5uJpZsFlUPDP8ThPL7M8w==" + }, + "parseuri": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/parseuri/-/parseuri-0.0.6.tgz", + "integrity": "sha512-AUjen8sAkGgao7UyCX6Ahv0gIK2fABKmYjvP4xmy5JaKvcbTRueIqIPHLAfq30xJddqSE033IOMUSOMCcK3Sow==" + }, "portscanner": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/portscanner/-/portscanner-2.1.1.tgz", @@ -6624,6 +6744,74 @@ "is-number-like": "^1.0.3" } }, + "socket.io": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-2.4.0.tgz", + "integrity": "sha512-9UPJ1UTvKayuQfVv2IQ3k7tCQC/fboDyIK62i99dAQIyHKaBsNdTpwHLgKJ6guRWxRtC9H+138UwpaGuQO9uWQ==", + "requires": { + "debug": "~4.1.0", + "engine.io": "~3.5.0", + "has-binary2": "~1.0.2", + "socket.io-adapter": "~1.1.0", + "socket.io-client": "2.4.0", + "socket.io-parser": "~3.4.0" + } + }, + "socket.io-client": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-2.4.0.tgz", + "integrity": "sha512-M6xhnKQHuuZd4Ba9vltCLT9oa+YvTsP8j9NcEiLElfIg8KeYPyhWOes6x4t+LTAC8enQbE/995AdTem2uNyKKQ==", + "requires": { + "backo2": "1.0.2", + "component-bind": "1.0.0", + "component-emitter": "~1.3.0", + "debug": "~3.1.0", + "engine.io-client": "~3.5.0", + "has-binary2": "~1.0.2", + "indexof": "0.0.1", + "parseqs": "0.0.6", + "parseuri": "0.0.6", + "socket.io-parser": "~3.3.0", + "to-array": "0.1.4" + }, + "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "requires": { + "ms": "2.0.0" + } + }, + "socket.io-parser": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-3.3.2.tgz", + "integrity": "sha512-FJvDBuOALxdCI9qwRrO/Rfp9yfndRtc1jSgVgV8FDraihmSP/MLGD5PEuJrNfjALvcQ+vMDM/33AWOYP/JSjDg==", + "requires": { + "component-emitter": "~1.3.0", + "debug": "~3.1.0", + "isarray": "2.0.1" + } + } + } + }, + "socket.io-parser": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-3.4.1.tgz", + "integrity": "sha512-11hMgzL+WCLWf1uFtHSNvliI++tcRUWdoeYuwIl+Axvwy9z2gQM+7nJyN3STj1tLj5JyIUH8/gpDGxzAlDdi0A==", + "requires": { + "component-emitter": "1.2.1", + "debug": "~4.1.0", + "isarray": "2.0.1" + }, + "dependencies": { + "component-emitter": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", + "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=" + } + } + }, "to-regex-range": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", @@ -6631,13 +6819,18 @@ "requires": { "is-number": "^7.0.0" } + }, + "ws": { + "version": "7.4.2", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.2.tgz", + "integrity": "sha512-T4tewALS3+qsrpGI/8dqNMLIVdq/g/85U98HPMa6F0m6xTbvhXU6RCQLqPH3+SlomNV/LdY6RXEbBpMH6EOJnA==" } } }, "browser-sync-client": { - "version": "2.26.13", - "resolved": "https://registry.npmjs.org/browser-sync-client/-/browser-sync-client-2.26.13.tgz", - "integrity": "sha512-p2VbZoYrpuDhkreq+/Sv1MkToHklh7T1OaIntDwpG6Iy2q/XkBcgwPcWjX+WwRNiZjN8MEehxIjEUh12LweLmQ==", + "version": "2.26.14", + "resolved": "https://registry.npmjs.org/browser-sync-client/-/browser-sync-client-2.26.14.tgz", + "integrity": "sha512-be0m1MchmKv/26r/yyyolxXcBi052aYrmaQep5nm8YNMjFcEyzv0ZoOKn/c3WEXNlEB/KeXWaw70fAOJ+/F1zQ==", "requires": { "etag": "1.8.1", "fresh": "0.5.2", @@ -6646,16 +6839,87 @@ } }, "browser-sync-ui": { - "version": "2.26.13", - "resolved": "https://registry.npmjs.org/browser-sync-ui/-/browser-sync-ui-2.26.13.tgz", - "integrity": "sha512-6NJ/pCnhCnBMzaty1opWo7ipDmFAIk8U71JMQGKJxblCUaGfdsbF2shf6XNZSkXYia1yS0vwKu9LIOzpXqQZCA==", + "version": "2.26.14", + "resolved": "https://registry.npmjs.org/browser-sync-ui/-/browser-sync-ui-2.26.14.tgz", + "integrity": "sha512-6oT1sboM4KVNnWCCJDMGbRIeTBw97toMFQ+srImvwQ6J5t9KMgizaIX8HcKLiemsUMSJkgGM9RVKIpq2UblgOA==", "requires": { "async-each-series": "0.1.1", "connect-history-api-fallback": "^1", "immutable": "^3", "server-destroy": "1.0.1", - "socket.io-client": "^2.0.4", + "socket.io-client": "^2.4.0", "stream-throttle": "^0.1.3" + }, + "dependencies": { + "component-emitter": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", + "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==" + }, + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "requires": { + "ms": "2.0.0" + } + }, + "engine.io-client": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-3.5.0.tgz", + "integrity": "sha512-12wPRfMrugVw/DNyJk34GQ5vIVArEcVMXWugQGGuw2XxUSztFNmJggZmv8IZlLyEdnpO1QB9LkcjeWewO2vxtA==", + "requires": { + "component-emitter": "~1.3.0", + "component-inherit": "0.0.3", + "debug": "~3.1.0", + "engine.io-parser": "~2.2.0", + "has-cors": "1.1.0", + "indexof": "0.0.1", + "parseqs": "0.0.6", + "parseuri": "0.0.6", + "ws": "~7.4.2", + "xmlhttprequest-ssl": "~1.5.4", + "yeast": "0.1.2" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "parseqs": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/parseqs/-/parseqs-0.0.6.tgz", + "integrity": "sha512-jeAGzMDbfSHHA091hr0r31eYfTig+29g3GKKE/PPbEQ65X0lmMwlEoqmhzu0iztID5uJpZsFlUPDP8ThPL7M8w==" + }, + "parseuri": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/parseuri/-/parseuri-0.0.6.tgz", + "integrity": "sha512-AUjen8sAkGgao7UyCX6Ahv0gIK2fABKmYjvP4xmy5JaKvcbTRueIqIPHLAfq30xJddqSE033IOMUSOMCcK3Sow==" + }, + "socket.io-client": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-2.4.0.tgz", + "integrity": "sha512-M6xhnKQHuuZd4Ba9vltCLT9oa+YvTsP8j9NcEiLElfIg8KeYPyhWOes6x4t+LTAC8enQbE/995AdTem2uNyKKQ==", + "requires": { + "backo2": "1.0.2", + "component-bind": "1.0.0", + "component-emitter": "~1.3.0", + "debug": "~3.1.0", + "engine.io-client": "~3.5.0", + "has-binary2": "~1.0.2", + "indexof": "0.0.1", + "parseqs": "0.0.6", + "parseuri": "0.0.6", + "socket.io-parser": "~3.3.0", + "to-array": "0.1.4" + } + }, + "ws": { + "version": "7.4.2", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.2.tgz", + "integrity": "sha512-T4tewALS3+qsrpGI/8dqNMLIVdq/g/85U98HPMa6F0m6xTbvhXU6RCQLqPH3+SlomNV/LdY6RXEbBpMH6EOJnA==" + } } }, "browserslist": { @@ -6733,7 +6997,6 @@ "version": "15.0.5", "resolved": "https://registry.npmjs.org/cacache/-/cacache-15.0.5.tgz", "integrity": "sha512-lloiL22n7sOjEEXdL8NAjTgv9a1u43xICE9/203qonkZUCj5X1UEWIdf2/Y0d6QcCtMzbKQyhrcDbdvlZTs/+A==", - "dev": true, "requires": { "@npmcli/move-file": "^1.0.1", "chownr": "^2.0.0", @@ -6757,14 +7020,12 @@ "chownr": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", - "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", - "dev": true + "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==" }, "fs-minipass": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", - "dev": true, "requires": { "minipass": "^3.0.0" } @@ -6773,7 +7034,6 @@ "version": "3.1.3", "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.3.tgz", "integrity": "sha512-Mgd2GdMVzY+x3IJ+oHnVM+KG3lA5c8tnabyJKmHSaG2kAGpudxuOf8ToDkhumF7UzME7DecbQE9uOZhNm7PuJg==", - "dev": true, "requires": { "yallist": "^4.0.0" } @@ -6782,7 +7042,6 @@ "version": "2.1.2", "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", - "dev": true, "requires": { "minipass": "^3.0.0", "yallist": "^4.0.0" @@ -6791,14 +7050,12 @@ "mkdirp": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "dev": true + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==" }, "rimraf": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, "requires": { "glob": "^7.1.3" } @@ -6807,7 +7064,6 @@ "version": "6.1.0", "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.0.tgz", "integrity": "sha512-DUCttfhsnLCjwoDoFcI+B2iJgYa93vBnDUATYEeRx6sntCTdN01VnqsIuTlALXla/LWooNg0yEGeB+Y8WdFxGA==", - "dev": true, "requires": { "chownr": "^2.0.0", "fs-minipass": "^2.0.0", @@ -6820,8 +7076,7 @@ "yallist": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" } } }, @@ -7176,8 +7431,7 @@ "clean-stack": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", - "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", - "dev": true + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==" }, "clean-webpack-plugin": { "version": "3.0.0", @@ -8373,7 +8627,6 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-1.2.0.tgz", "integrity": "sha512-XU4+PXw7QKAlRGU+fB386YiczAAPtk0kVsB/Qf2nX8GJaOXgTsk/PST8YBExeoD299wheG//MCCKlCD5fykb7Q==", - "dev": true, "requires": { "cacache": "^15.0.5", "cssnano": "^4.1.10", @@ -8390,7 +8643,6 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, "requires": { "yocto-queue": "^0.1.0" } @@ -8398,8 +8650,7 @@ "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" } } }, @@ -10457,7 +10708,6 @@ "version": "3.3.1", "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.1.tgz", "integrity": "sha512-t2GDMt3oGC/v+BMwzmllWDuJF/xcDtE5j/fCGbqDD7OLuJkj0cfh1YSA5VKPvwMeLFLNDBkwOKZ2X85jGLVftQ==", - "dev": true, "requires": { "commondir": "^1.0.1", "make-dir": "^3.0.2", @@ -10468,7 +10718,6 @@ "version": "4.1.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, "requires": { "locate-path": "^5.0.0", "path-exists": "^4.0.0" @@ -10478,7 +10727,6 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, "requires": { "p-locate": "^4.1.0" } @@ -10487,7 +10735,6 @@ "version": "4.1.0", "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, "requires": { "p-limit": "^2.2.0" } @@ -10495,14 +10742,12 @@ "path-exists": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==" }, "pkg-dir": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", - "dev": true, "requires": { "find-up": "^4.0.0" } @@ -10685,14 +10930,14 @@ "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" }, "fs-extra": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.0.1.tgz", - "integrity": "sha512-h2iAoN838FqAFJY2/qVpzFXy+EBxfVE220PalAqQLDVsFOHLJrZvut5puAbCdNv6WJk+B8ihI+k0c7JK5erwqQ==", + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", "requires": { "at-least-node": "^1.0.0", "graceful-fs": "^4.2.0", "jsonfile": "^6.0.1", - "universalify": "^1.0.0" + "universalify": "^2.0.0" }, "dependencies": { "jsonfile": { @@ -10702,19 +10947,12 @@ "requires": { "graceful-fs": "^4.1.6", "universalify": "^2.0.0" - }, - "dependencies": { - "universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==" - } } }, "universalify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-1.0.0.tgz", - "integrity": "sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug==" + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==" } } }, @@ -10731,6 +10969,12 @@ "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" }, + "fsevents": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.1.tgz", + "integrity": "sha512-YR47Eg4hChJGAB1O3yEAOkGO+rlzutoICGqGo9EZ4lKWokzZRSyIW1QmTzqjtw8MJdj9srP869CuWw/hyzSiBw==", + "optional": true + }, "function-bind": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", @@ -12169,8 +12413,7 @@ "infer-owner": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", - "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==", - "dev": true + "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==" }, "inflight": { "version": "1.0.6", @@ -12442,6 +12685,14 @@ "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=" }, + "is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "requires": { + "binary-extensions": "^2.0.0" + } + }, "is-buffer": { "version": "1.1.6", "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", @@ -15565,14 +15816,6 @@ "color-convert": "^2.0.1" } }, - "axios": { - "version": "0.21.1", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.1.tgz", - "integrity": "sha512-dKQiRHxGD9PPRIUNIWvZhPTPpl1rf/OxTYKsqKUDjBwYylTvV7SjSHJb9ratfyzM6wCdLCOYLzs73qpg5c4iGA==", - "requires": { - "follow-redirects": "^1.10.0" - } - }, "cliui": { "version": "7.0.4", "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", @@ -15604,11 +15847,6 @@ "ms": "2.1.2" } }, - "follow-redirects": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.13.1.tgz", - "integrity": "sha512-SSG5xmZh1mkPGyKzjZP8zLjltIfpW32Y5QpdNJyjcfGxK3qo3NDDkZOZSFiGn1A6SclQxY9GzEwAHQ3dmYRWpg==" - }, "get-caller-file": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", @@ -15665,11 +15903,6 @@ "y18n": "^5.0.5", "yargs-parser": "^20.2.2" } - }, - "yargs-parser": { - "version": "20.2.4", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz", - "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==" } } }, @@ -15987,7 +16220,6 @@ "version": "6.0.0", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, "requires": { "yallist": "^4.0.0" }, @@ -15995,8 +16227,7 @@ "yallist": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" } } }, @@ -16004,7 +16235,6 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", - "dev": true, "requires": { "semver": "^6.0.0" }, @@ -16012,8 +16242,7 @@ "semver": { "version": "6.3.0", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" } } }, @@ -16305,7 +16534,6 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz", "integrity": "sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==", - "dev": true, "requires": { "minipass": "^3.0.0" }, @@ -16314,7 +16542,6 @@ "version": "3.1.3", "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.3.tgz", "integrity": "sha512-Mgd2GdMVzY+x3IJ+oHnVM+KG3lA5c8tnabyJKmHSaG2kAGpudxuOf8ToDkhumF7UzME7DecbQE9uOZhNm7PuJg==", - "dev": true, "requires": { "yallist": "^4.0.0" } @@ -16322,8 +16549,7 @@ "yallist": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" } } }, @@ -16331,7 +16557,6 @@ "version": "1.0.5", "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz", "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==", - "dev": true, "requires": { "minipass": "^3.0.0" }, @@ -16340,7 +16565,6 @@ "version": "3.1.3", "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.3.tgz", "integrity": "sha512-Mgd2GdMVzY+x3IJ+oHnVM+KG3lA5c8tnabyJKmHSaG2kAGpudxuOf8ToDkhumF7UzME7DecbQE9uOZhNm7PuJg==", - "dev": true, "requires": { "yallist": "^4.0.0" } @@ -16348,8 +16572,7 @@ "yallist": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" } } }, @@ -16357,7 +16580,6 @@ "version": "1.2.4", "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz", "integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==", - "dev": true, "requires": { "minipass": "^3.0.0" }, @@ -16366,7 +16588,6 @@ "version": "3.1.3", "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.3.tgz", "integrity": "sha512-Mgd2GdMVzY+x3IJ+oHnVM+KG3lA5c8tnabyJKmHSaG2kAGpudxuOf8ToDkhumF7UzME7DecbQE9uOZhNm7PuJg==", - "dev": true, "requires": { "yallist": "^4.0.0" } @@ -16374,8 +16595,7 @@ "yallist": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" } } }, @@ -17404,7 +17624,6 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", - "dev": true, "requires": { "aggregate-error": "^3.0.0" } @@ -18166,15 +18385,15 @@ } }, "postcss-loader": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-4.1.0.tgz", - "integrity": "sha512-vbCkP70F3Q9PIk6d47aBwjqAMI4LfkXCoyxj+7NPNuVIwfTGdzv2KVQes59/RuxMniIgsYQCFSY42P3+ykJfaw==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-4.2.0.tgz", + "integrity": "sha512-mqgScxHqbiz1yxbnNcPdKYo/6aVt+XExURmEbQlviFVWogDbM4AJ0A/B+ZBpYsJrTRxKw7HyRazg9x0Q9SWwLA==", "requires": { "cosmiconfig": "^7.0.0", "klona": "^2.0.4", "loader-utils": "^2.0.0", "schema-utils": "^3.0.0", - "semver": "^7.3.2" + "semver": "^7.3.4" }, "dependencies": { "cosmiconfig": { @@ -18198,36 +18417,10 @@ "resolve-from": "^4.0.0" } }, - "json5": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.3.tgz", - "integrity": "sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==", - "requires": { - "minimist": "^1.2.5" - } - }, - "loader-utils": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", - "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - } - }, - "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "requires": { - "yallist": "^4.0.0" - } - }, "parse-json": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.1.0.tgz", - "integrity": "sha512-+mi/lmVVNKFNVyLXV31ERiy2CY5E1/F6QtJFEzoChPRwwngMNXRDQ9GJ5WdE2Z2P4AujsOi0/+2qHID68KwfIQ==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", "requires": { "@babel/code-frame": "^7.0.0", "error-ex": "^1.3.1", @@ -18252,11 +18445,6 @@ "requires": { "lru-cache": "^6.0.0" } - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" } } }, @@ -19386,8 +19574,7 @@ "promise-inflight": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", - "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=", - "dev": true + "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=" }, "promised-handlebars": { "version": "2.0.1", @@ -19548,6 +19735,21 @@ "util-deprecate": "~1.0.1" } }, + "readdirp": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz", + "integrity": "sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==", + "requires": { + "picomatch": "^2.2.1" + }, + "dependencies": { + "picomatch": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", + "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==" + } + } + }, "readline2": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/readline2/-/readline2-1.0.1.tgz", @@ -20031,9 +20233,9 @@ } }, "sass": { - "version": "1.32.4", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.32.4.tgz", - "integrity": "sha512-N0BT0PI/t3+gD8jKa83zJJUb7ssfQnRRfqN+GIErokW6U4guBpfYl8qYB+OFLEho+QvnV5ZH1R9qhUC/Z2Ch9w==", + "version": "1.32.5", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.32.5.tgz", + "integrity": "sha512-kU1yJ5zUAmPxr7f3q0YXTAd1oZjSR1g3tYyv+xu0HZSl5JiNOaE987eiz7wCUvbm4I9fGWGU2TgApTtcP4GMNQ==", "requires": { "chokidar": ">=2.0.0 <4.0.0" } @@ -20477,9 +20679,9 @@ }, "dependencies": { "mime": { - "version": "2.4.7", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.7.tgz", - "integrity": "sha512-dhNd1uA2u397uQk3Nv5LM4lm93WYDUXFn3Fu291FJerns4jyTudqhIWe4W04YLy7Uk1tm1Ore04NpjRvQp/NPA==" + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.5.0.tgz", + "integrity": "sha512-ft3WayFSFUVBuJj7BMLKAQcSlItKtfjsKDDsii3rqFDAZ7t11zRe8ASw/GlmivGwVUYtwkQrxiGGpL6gFvB0ag==" } } }, @@ -20633,8 +20835,7 @@ }, "kind-of": { "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==" + "resolved": "" } } }, @@ -20984,7 +21185,6 @@ "version": "8.0.0", "resolved": "https://registry.npmjs.org/ssri/-/ssri-8.0.0.tgz", "integrity": "sha512-aq/pz989nxVYwn16Tsbj1TqFpD5LLrQxHf5zaHuieFV+R0Bbr4y8qUsOA45hXT/N4/9UNXTarBjnjVmjSOVaAA==", - "dev": true, "requires": { "minipass": "^3.1.1" }, @@ -20993,7 +21193,6 @@ "version": "3.1.3", "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.3.tgz", "integrity": "sha512-Mgd2GdMVzY+x3IJ+oHnVM+KG3lA5c8tnabyJKmHSaG2kAGpudxuOf8ToDkhumF7UzME7DecbQE9uOZhNm7PuJg==", - "dev": true, "requires": { "yallist": "^4.0.0" } @@ -21001,8 +21200,7 @@ "yallist": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" } } }, @@ -21331,9 +21529,9 @@ } }, "stylelint": { - "version": "13.8.0", - "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-13.8.0.tgz", - "integrity": "sha512-iHH3dv3UI23SLDrH4zMQDjLT9/dDIz/IpoFeuNxZmEx86KtfpjDOscxLTFioQyv+2vQjPlRZnK0UoJtfxLICXQ==", + "version": "13.9.0", + "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-13.9.0.tgz", + "integrity": "sha512-VVWH2oixOAxpWL1vH+V42ReCzBjW2AeqskSAbi8+3OjV1Xg3VZkmTcAqBZfRRvJeF4BvYuDLXebW3tIHxgZDEg==", "dev": true, "requires": { "@stylelint/postcss-css-in-js": "^0.37.2", @@ -21342,14 +21540,14 @@ "balanced-match": "^1.0.0", "chalk": "^4.1.0", "cosmiconfig": "^7.0.0", - "debug": "^4.2.0", + "debug": "^4.3.1", "execall": "^2.0.0", - "fast-glob": "^3.2.4", + "fast-glob": "^3.2.5", "fastest-levenshtein": "^1.0.12", "file-entry-cache": "^6.0.0", "get-stdin": "^8.0.0", "global-modules": "^2.0.0", - "globby": "^11.0.1", + "globby": "^11.0.2", "globjoin": "^0.1.4", "html-tags": "^3.1.0", "ignore": "^5.1.8", @@ -21359,7 +21557,7 @@ "lodash": "^4.17.20", "log-symbols": "^4.0.0", "mathml-tag-names": "^2.1.3", - "meow": "^8.0.0", + "meow": "^9.0.0", "micromatch": "^4.0.2", "normalize-selector": "^0.2.0", "postcss": "^7.0.35", @@ -21381,7 +21579,7 @@ "style-search": "^0.1.0", "sugarss": "^2.0.0", "svg-tags": "^1.0.0", - "table": "^6.0.3", + "table": "^6.0.7", "v8-compile-cache": "^2.2.0", "write-file-atomic": "^3.0.3" }, @@ -21392,15 +21590,6 @@ "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", "dev": true }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, "autoprefixer": { "version": "9.8.6", "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.8.6.tgz", @@ -21450,9 +21639,9 @@ } }, "caniuse-lite": { - "version": "1.0.30001173", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001173.tgz", - "integrity": "sha512-R3aqmjrICdGCTAnSXtNyvWYMK3YtV5jwudbq0T7nN9k4kmE4CBuwPqyJ+KBzepSTh0huivV2gLbSMEzTTmfeYw==", + "version": "1.0.30001180", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001180.tgz", + "integrity": "sha512-n8JVqXuZMVSPKiPiypjFtDTXc4jWIdjxull0f92WLo7e1MSi3uJ3NvveakSh/aCl1QKFAvIz3vIj0v+0K+FrXw==", "dev": true }, "chalk": { @@ -21463,6 +21652,32 @@ "requires": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } } }, "color-convert": { @@ -21509,15 +21724,15 @@ } }, "electron-to-chromium": { - "version": "1.3.634", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.634.tgz", - "integrity": "sha512-QPrWNYeE/A0xRvl/QP3E0nkaEvYUvH3gM04ZWYtIa6QlSpEetRlRI1xvQ7hiMIySHHEV+mwDSX8Kj4YZY6ZQAw==", + "version": "1.3.647", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.647.tgz", + "integrity": "sha512-Or2Nu8TjkmSywY9hk85K/Y6il28hchlonITz30fkC87qvSNupQl29O12BzDDDTnUFlo6kEIFL2QGSpkZDMxH8g==", "dev": true }, "fast-glob": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.4.tgz", - "integrity": "sha512-kr/Oo6PX51265qeuCYsyGypiO5uJFgBS0jksyG7FUeCyQzNwYnzrNIMR1NXfkZXsMYXYLRAHgISHBz8gQcxKHQ==", + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.5.tgz", + "integrity": "sha512-2DtFcgT68wiTTiwZ2hNdJfcHNke9XOfnwmBRWXhmeKM8rF0TGwmC/Qto3S7RoZKp5cilZbxzO5iTNTQsJ+EeDg==", "dev": true, "requires": { "@nodelib/fs.stat": "^2.0.2", @@ -21573,12 +21788,6 @@ "which": "^1.3.1" } }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, "hosted-git-info": { "version": "3.0.7", "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-3.0.7.tgz", @@ -21651,15 +21860,6 @@ "p-locate": "^4.1.0" } }, - "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "requires": { - "yallist": "^4.0.0" - } - }, "map-obj": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.1.0.tgz", @@ -21667,13 +21867,14 @@ "dev": true }, "meow": { - "version": "8.1.2", - "resolved": "https://registry.npmjs.org/meow/-/meow-8.1.2.tgz", - "integrity": "sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q==", + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/meow/-/meow-9.0.0.tgz", + "integrity": "sha512-+obSblOQmRhcyBt62furQqRAQpNyWXo8BuQ5bN7dG8wmwQ+vwHKp/rCFD4CrTP8CsDQD1sjoZ94K417XEUk8IQ==", "dev": true, "requires": { "@types/minimist": "^1.2.0", "camelcase-keys": "^6.2.2", + "decamelize": "^1.2.0", "decamelize-keys": "^1.1.0", "hard-rejection": "^2.1.0", "minimist-options": "4.1.0", @@ -21696,9 +21897,9 @@ } }, "node-releases": { - "version": "1.1.69", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.69.tgz", - "integrity": "sha512-DGIjo79VDEyAnRlfSqYTsy+yoHd2IOjJiKUozD2MV2D85Vso6Bug56mb9tT/fY5Urt0iqk01H7x+llAruDR2zA==", + "version": "1.1.70", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.70.tgz", + "integrity": "sha512-Slf2s69+2/uAD79pVVQo8uSiC34+g8GWY8UH2Qtqv34ZfhYrxpYpfzs9Js9d6O0mbDmALuxaTlplnBTnSELcrw==", "dev": true }, "normalize-package-data": { @@ -21723,9 +21924,9 @@ } }, "parse-json": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.1.0.tgz", - "integrity": "sha512-+mi/lmVVNKFNVyLXV31ERiy2CY5E1/F6QtJFEzoChPRwwngMNXRDQ9GJ5WdE2Z2P4AujsOi0/+2qHID68KwfIQ==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", "dev": true, "requires": { "@babel/code-frame": "^7.0.0", @@ -21763,15 +21964,6 @@ "supports-color": "^6.1.0" }, "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, "chalk": { "version": "2.4.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", @@ -21793,36 +21985,6 @@ } } } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true - }, - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } } } }, @@ -21972,12 +22134,12 @@ } }, "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", "dev": true, "requires": { - "has-flag": "^4.0.0" + "has-flag": "^3.0.0" } }, "to-regex-range": { @@ -22001,12 +22163,6 @@ "integrity": "sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==", "dev": true }, - "v8-compile-cache": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.2.0.tgz", - "integrity": "sha512-gTpR5XQNKFwOd4clxfnhaqvfqMpqEwr4tOtCyz4MtYZX2JYhfr1JvBFKdS+7K/9rfpZR3VLX+YWBbKoxCgS43Q==", - "dev": true - }, "write-file-atomic": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", @@ -22018,18 +22174,6 @@ "signal-exit": "^3.0.2", "typedarray-to-buffer": "^3.1.5" } - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, - "yargs-parser": { - "version": "20.2.4", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz", - "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==", - "dev": true } } }, @@ -22931,7 +23075,6 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", - "dev": true, "requires": { "unique-slug": "^2.0.0" } @@ -22940,7 +23083,6 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", - "dev": true, "requires": { "imurmurhash": "^0.1.4" } @@ -23343,12 +23485,12 @@ "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==" }, "webpack": { - "version": "5.15.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.15.0.tgz", - "integrity": "sha512-y/xG+ONDz78yn3VvP6gAvGr1/gkxOgitvHSXBmquyN8KDtrGEyE3K9WkXOPB7QmfcOBCpO4ELXwNcCYQnEmexA==", + "version": "5.18.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.18.0.tgz", + "integrity": "sha512-RmiP/iy6ROvVe/S+u0TrvL/oOmvP+2+Bs8MWjvBwwY/j82Q51XJyDJ75m0QAGntL1Wx6B//Xc0+4VPP/hlNHmw==", "requires": { "@types/eslint-scope": "^3.7.0", - "@types/estree": "^0.0.45", + "@types/estree": "^0.0.46", "@webassemblyjs/ast": "1.11.0", "@webassemblyjs/wasm-edit": "1.11.0", "@webassemblyjs/wasm-parser": "1.11.0", @@ -23386,14 +23528,14 @@ } }, "caniuse-lite": { - "version": "1.0.30001178", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001178.tgz", - "integrity": "sha512-VtdZLC0vsXykKni8Uztx45xynytOi71Ufx9T8kHptSw9AL4dpqailUJJHavttuzUe1KYuBYtChiWv+BAb7mPmQ==" + "version": "1.0.30001180", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001180.tgz", + "integrity": "sha512-n8JVqXuZMVSPKiPiypjFtDTXc4jWIdjxull0f92WLo7e1MSi3uJ3NvveakSh/aCl1QKFAvIz3vIj0v+0K+FrXw==" }, "electron-to-chromium": { - "version": "1.3.641", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.641.tgz", - "integrity": "sha512-b0DLhsHSHESC1I+Nx6n4w4Lr61chMd3m/av1rZQhS2IXTzaS5BMM5N+ldWdMIlni9CITMRM09m8He4+YV/92TA==" + "version": "1.3.647", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.647.tgz", + "integrity": "sha512-Or2Nu8TjkmSywY9hk85K/Y6il28hchlonITz30fkC87qvSNupQl29O12BzDDDTnUFlo6kEIFL2QGSpkZDMxH8g==" }, "graceful-fs": { "version": "4.2.4", @@ -23419,9 +23561,9 @@ "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==" }, "node-releases": { - "version": "1.1.69", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.69.tgz", - "integrity": "sha512-DGIjo79VDEyAnRlfSqYTsy+yoHd2IOjJiKUozD2MV2D85Vso6Bug56mb9tT/fY5Urt0iqk01H7x+llAruDR2zA==" + "version": "1.1.70", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.70.tgz", + "integrity": "sha512-Slf2s69+2/uAD79pVVQo8uSiC34+g8GWY8UH2Qtqv34ZfhYrxpYpfzs9Js9d6O0mbDmALuxaTlplnBTnSELcrw==" }, "source-map": { "version": "0.6.1", @@ -23440,9 +23582,9 @@ } }, "webpack-bundle-analyzer": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.3.0.tgz", - "integrity": "sha512-J3TPm54bPARx6QG8z4cKBszahnUglcv70+N+8gUqv2I5KOFHJbzBiLx+pAp606so0X004fxM7hqRu10MLjJifA==", + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.4.0.tgz", + "integrity": "sha512-9DhNa+aXpqdHk8LkLPTBU/dMfl84Y+WE2+KnfI6rSpNRNVKa0VGLjPd2pjFubDeqnWmulFggxmWBxhfJXZnR0g==", "requires": { "acorn": "^8.0.4", "acorn-walk": "^8.0.0", @@ -24051,6 +24193,11 @@ } } }, + "yargs-parser": { + "version": "20.2.4", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz", + "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==" + }, "yauzl": { "version": "2.10.0", "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", diff --git a/package.json b/package.json index ad56e30..dbd13c7 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@jvmn/groundzero-taskrunner-webpack", - "version": "2.3.0-rc", + "version": "2.3.0-rc2", "description": "Taskrunner for JvM/Neckar Groundzero projects", "keywords": [ "taskrunner", @@ -102,16 +102,16 @@ "@frctl/mandelbrot": "^1.7.0", "@jvmn/groundzero-changelog": "^2.0.0", "@jvmn/upload-rsync": "^0.0.9", - "autoprefixer": "^10.2.1", + "autoprefixer": "^10.2.3", "babel-loader": "^8.2.2", - "browser-sync": "^2.26.13", + "browser-sync": "^2.26.14", "clean-webpack-plugin": "^3.0.0", "cli-progress": "^3.8.2", "css-loader": "^5.0.1", "css-minimizer-webpack-plugin": "^1.2.0", "cssnano": "^4.1.10", "csso": "^4.2.0", - "fs-extra": "^9.0.1", + "fs-extra": "^9.1.0", "git-rev": "^0.2.1", "globby": "^11.0.2", "imagemin": "^7.0.1", @@ -127,27 +127,27 @@ "onchange": "^7.1.0", "path": "^0.12.7", "postcss": "^8.2.4", - "postcss-loader": "^4.1.0", + "postcss-loader": "^4.2.0", "pretty": "^2.0.0", - "sass": "^1.32.4", + "sass": "^1.32.5", "sass-loader": "^10.1.1", "style-loader": "^2.0.0", "svg-sprite": "^1.5.0", - "webpack": "^5.15.0", - "webpack-bundle-analyzer": "^4.3.0", + "webpack": "^5.18.0", + "webpack-bundle-analyzer": "^4.4.0", "webpack-cli": "^4.4.0", "webpack-merge": "^5.7.3" }, "devDependencies": { "@commitlint/cli": "^11.0.0", "@commitlint/config-conventional": "^11.0.0", - "acorn": "^8.0.4", + "acorn": "^8.0.5", "ajv": "^7.0.3", "babel-eslint": "^10.1.0", "eslint": "^7.18.0", "husky": "^4.3.8", "lint-staged": "^10.5.3", - "stylelint": "^13.8.0", + "stylelint": "^13.9.0", "stylelint-config-recommended": "^3.0.0" } } From 8a88b6be437429118a9236fe51967fbc8e30ce9a Mon Sep 17 00:00:00 2001 From: Shachar Leuchter Date: Thu, 28 Jan 2021 11:19:39 +0100 Subject: [PATCH 07/12] feat(newpattern): refactor, scss, cssinjs, readme --- lib/newpattern.js | 128 +++++++++++++++++++++++--------------- lib/templates/README.md | 2 + lib/templates/pattern.hbs | 2 +- lib/templates/pattern.js | 6 ++ 4 files changed, 88 insertions(+), 50 deletions(-) create mode 100644 lib/templates/README.md diff --git a/lib/newpattern.js b/lib/newpattern.js index 8b42092..da0cc42 100644 --- a/lib/newpattern.js +++ b/lib/newpattern.js @@ -5,7 +5,20 @@ const path = require('path') const projectPath = require(path.resolve(process.env.PWD + '/paths.config.js')) const config = require(path.resolve(process.env.PROJECT_CWD + '/project.config.js')) -let type, filename, folder, projectPrefix, cssprefix, js, classname, outputDir +const templateVars = { + js: false, + cssinjs: false, + scss: true, + readme: true, + type: null, + filename: null, + folder: null, + projectPrefix: null, + cssprefix: null, + classname: null, + outputDir: null, + usingLocal: false +} /** TODO: allow for non cssmod pattern */ @@ -41,39 +54,63 @@ function newpatternVars () { name: "name", message: "insert name (case sensetive) of component/module (e.g. Tabs or TabsExtra)" }, + { + type: "confirm", + name: "scss", + default: true, + message: "will you need a scss file?" + }, { type: "confirm", name: "js", default: false, message: "will you need to use JS?" - } + }, + { + type: "confirm", + name: "cssinjs", + default: false, + when: function (answers) { + return answers.scss + }, + message: "will you use CSS in JS in production?" + }, + { + type: "confirm", + name: "readme", + default: true, + message: "generate a readme file?" + }, ]).then(function (res, err) { if (err) { console.error(err) reject(err) } - type = res.type - projectPrefix = config.pattern.projectCssPrefix - js = res.js + templateVars.type = res.type + templateVars.projectPrefix = config.pattern.projectCssPrefix + templateVars.js = res.js + templateVars.cssinjs = res.cssinjs + templateVars.scss = res.scss + templateVars.readme = res.readme - folder = type === 'component' ? '/components/' : '/modules/' + res.moduletype + '/' - filename = findShortName(res.moduletype) + res.name - cssprefix = projectPrefix ? projectPrefix + type.charAt(0) + '-' : '' - classname = cssprefix + filename + templateVars.folder = templateVars.type === 'component' ? '/components/' : '/modules/' + res.moduletype + '/' + templateVars.filename = findShortName(res.moduletype) + res.name + templateVars.cssprefix = templateVars.projectPrefix ? templateVars.projectPrefix + templateVars.type.charAt(0) + '-' : '' + templateVars.classname = templateVars.cssprefix + templateVars.filename // create mod type directory - if (!fs.existsSync(projectPath.dev + folder)) { - fs.mkdirSync(projectPath.dev + folder, '0777') + if (!fs.existsSync(projectPath.dev + templateVars.folder)) { + fs.mkdirSync(projectPath.dev + templateVars.folder, '0777') } // create mod/cmp directory - if (!fs.existsSync(projectPath.dev + folder + filename)){ - fs.mkdirSync(projectPath.dev + folder + filename, '0777') + if (!fs.existsSync(projectPath.dev + templateVars.folder + templateVars.filename)){ + fs.mkdirSync(projectPath.dev + templateVars.folder + templateVars.filename, '0777') } else { - reject(folder + filename + ' already exists !!!') + reject(templateVars.folder + templateVars.filename + ' already exists !!!') } - outputDir = projectPath.dev + folder + filename + '/' + templateVars.outputDir = projectPath.dev + templateVars.folder + templateVars.filename + '/' resolve() }) } catch (error) { @@ -101,9 +138,9 @@ function openTemplateFile(template) { try { fs.accessSync(`${ process.env.PROJECT_CWD }/newpattern/${ template }`, fs.constants.R_OK | fs.constants.W_OK) inputFilePath = `${ process.env.PROJECT_CWD }/newpattern/${ template }` - console.log(`${ template } -> using\x1b[4m project\x1b[0m template!`) + templateVars.usingLocal = true } catch (err) { - console.log(`${ template } -> using\x1b[4m taskrunner\x1b[0m template!`) + templateVars.usingLocal = false } return new Promise(function (resolve, reject) { try { @@ -120,16 +157,17 @@ function openTemplateFile(template) { }) } -function saveFile(file, ext) { +function saveFile(file, ext, name = templateVars.filename) { return new Promise(function (resolve, reject) { try { fs.writeFile( - outputDir + filename + '.' + ext, + `${templateVars.outputDir}${name}.${ext}`, file, 'utf8', function (errWritingOptimized) { if (errWritingOptimized) reject(errWritingOptimized) - console.log(filename + '.' + ext + ' generated successfully') + const templateInfo = templateVars.usingLocal ? '✳️ local' : '⚛︎ Taskrunner' + console.log(`${name}.${ext} generated successfully using ${templateInfo} template`) resolve() } ) @@ -139,15 +177,11 @@ function saveFile(file, ext) { }) } -async function renderTemplateExt(ext) { - const data = { - filename, - classname - } - +async function renderTemplate() { + const ext = config.pattern.engineExt || 'hbs' try { const file = await openTemplateFile('pattern.' + ext) - const proccessTemplate = await template(file, data) + const proccessTemplate = await template(file, templateVars) saveFile(proccessTemplate, ext) } catch (error) { console.log('​catch -> error', error) @@ -155,14 +189,9 @@ async function renderTemplateExt(ext) { } async function renderScss() { - const data = { - filename, - classname - } - try { const file = await openTemplateFile('pattern.module.scss') - const proccessTemplate = await template(file, data) + const proccessTemplate = await template(file, templateVars) saveFile(proccessTemplate, 'module.scss') } catch (error) { console.log('​catch -> error', error) @@ -170,28 +199,29 @@ async function renderScss() { } async function renderJs() { - const data = { - filename, - js - } - try { const file = await openTemplateFile('pattern.js') - const proccessTemplate = await template(file, data) + const proccessTemplate = await template(file, templateVars) saveFile(proccessTemplate, 'js') } catch (error) { console.log('​catch -> error', error) } } -async function renderConfig() { - const data = { - filename +async function renderMd() { + try { + const file = await openTemplateFile('README.md') + const proccessTemplate = await template(file, templateVars) + saveFile(proccessTemplate, 'md', 'README') + } catch (error) { + console.log('​catch -> error', error) } +} +async function renderConfig() { try { const file = await openTemplateFile('pattern.config.js') - const proccessTemplate = await template(file, data) + const proccessTemplate = await template(file, templateVars) saveFile(proccessTemplate, 'config.js') } catch (error) { console.log(error) @@ -203,12 +233,12 @@ try { const engine = config.pattern.engineExt || 'hbs' console.log(`Generating ${engine} pattern...`) await newpatternVars() - await Promise.all([ - renderTemplateExt(engine), - renderScss(), - renderConfig(), - renderJs(), - ]) + await renderTemplate() + await renderConfig() + + if (templateVars.js || templateVars.scss) await renderJs() + if (templateVars.scss) await renderScss() + if (templateVars.readme) await renderMd() })() } catch (e) { console.log(e) diff --git a/lib/templates/README.md b/lib/templates/README.md new file mode 100644 index 0000000..ebdcaab --- /dev/null +++ b/lib/templates/README.md @@ -0,0 +1,2 @@ +## <%= filename %> +<% if (scss === false) { %>> Style can be found in global/style<% } %> \ No newline at end of file diff --git a/lib/templates/pattern.hbs b/lib/templates/pattern.hbs index be7b36f..0d0f688 100755 --- a/lib/templates/pattern.hbs +++ b/lib/templates/pattern.hbs @@ -1,4 +1,4 @@ -
+
data-jsinit="<%= filename %>"<% } %> {{{extattributes}}}>
diff --git a/lib/templates/pattern.js b/lib/templates/pattern.js index 0bf47df..05ef052 100755 --- a/lib/templates/pattern.js +++ b/lib/templates/pattern.js @@ -4,9 +4,15 @@ * @namespace AP * @return {Object} <% if(js){ %>public methods and css bundle<% } %><% if (!js) { %>with css bundle<% } %> */ +<% if (scss) { %> +<% if (cssinjs) { %> +require('./<%= filename %>.module') +<% } else { %> if (process.env.NODE_ENV === 'dev') { require('./<%= filename %>.module') } +<% } %> +<% } %> <% if (js) { %> const <%= filename %> = (context) => { // private functions From e5c4bf6ac46ec0439204275aa361dbd0e19b610e Mon Sep 17 00:00:00 2001 From: Shachar Leuchter Date: Thu, 28 Jan 2021 11:31:34 +0100 Subject: [PATCH 08/12] refactor(pattern): twig data jsinit --- lib/templates/pattern.twig | 2 +- package-lock.json | 8 +++++--- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/lib/templates/pattern.twig b/lib/templates/pattern.twig index 52c9ad3..f1e252d 100755 --- a/lib/templates/pattern.twig +++ b/lib/templates/pattern.twig @@ -1,7 +1,7 @@ <{{ tag }} class="<%= classname %>{% for modifier in modifiers %} <%= classname %>--{{ modifier }}{% endfor %}{% for state in states %} is-{{ state }}{% endfor %}{% for xclass in xclasses %} {{ xclass }}{% endfor %}" {% if id %}id="{{ id }}"{% endif %} - data-jsinit="<%= filename %>" + <% if (scss || js) { %>data-jsinit="<%= filename %>"<% } %> >
diff --git a/package-lock.json b/package-lock.json index 9cdb760..bce0592 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "@jvmn/groundzero-taskrunner-webpack", - "version": "2.3.0-rc", + "version": "2.3.0-rc2", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -5956,7 +5956,8 @@ }, "kind-of": { "version": "6.0.2", - "resolved": "" + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==" } } }, @@ -20835,7 +20836,8 @@ }, "kind-of": { "version": "6.0.2", - "resolved": "" + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==" } } }, From 04fa3e0724fd233e00d6f603b5bbab0fee279a5e Mon Sep 17 00:00:00 2001 From: Shachar Leuchter Date: Thu, 28 Jan 2021 11:33:28 +0100 Subject: [PATCH 09/12] chore(babel): cleanup --- babel.config.js | 1 - 1 file changed, 1 deletion(-) diff --git a/babel.config.js b/babel.config.js index ce734e6..9cbf0f6 100644 --- a/babel.config.js +++ b/babel.config.js @@ -1,4 +1,3 @@ -console.log('using babel default') module.exports = function (api) { api.cache(true) From 0941a50349e00352cf4c019c198b02b8dca6ae08 Mon Sep 17 00:00:00 2001 From: Shachar Leuchter Date: Tue, 2 Feb 2021 15:35:06 +0100 Subject: [PATCH 10/12] feat(newpattern): new vars, naming convention --- lib/newpattern.js | 21 ++++++++++++++------- lib/templates/pattern.config.js | 13 +++++++++++-- lib/templates/pattern.hbs | 6 +++--- lib/templates/pattern.js | 2 +- lib/templates/pattern.module.scss | 11 +++++++++++ 5 files changed, 40 insertions(+), 13 deletions(-) diff --git a/lib/newpattern.js b/lib/newpattern.js index da0cc42..250394b 100644 --- a/lib/newpattern.js +++ b/lib/newpattern.js @@ -6,6 +6,7 @@ const projectPath = require(path.resolve(process.env.PWD + '/paths.config.js')) const config = require(path.resolve(process.env.PROJECT_CWD + '/project.config.js')) const templateVars = { + engine: 'hbs', js: false, cssinjs: false, scss: true, @@ -17,7 +18,8 @@ const templateVars = { cssprefix: null, classname: null, outputDir: null, - usingLocal: false + usingLocal: false, + namespace: config.fractal.namespace } /** TODO: allow for non cssmod pattern */ @@ -96,7 +98,13 @@ function newpatternVars () { templateVars.folder = templateVars.type === 'component' ? '/components/' : '/modules/' + res.moduletype + '/' templateVars.filename = findShortName(res.moduletype) + res.name - templateVars.cssprefix = templateVars.projectPrefix ? templateVars.projectPrefix + templateVars.type.charAt(0) + '-' : '' + + if (templateVars.projectPrefix) { + templateVars.cssprefix = config.pattern.cssTypeAbbreviation ? templateVars.projectPrefix + templateVars.type.charAt(0) + '-' : templateVars.projectPrefix + } else { + templateVars.cssprefix = '' + } + templateVars.classname = templateVars.cssprefix + templateVars.filename // create mod type directory @@ -178,11 +186,10 @@ function saveFile(file, ext, name = templateVars.filename) { } async function renderTemplate() { - const ext = config.pattern.engineExt || 'hbs' try { - const file = await openTemplateFile('pattern.' + ext) + const file = await openTemplateFile('pattern.' + templateVars.engine) const proccessTemplate = await template(file, templateVars) - saveFile(proccessTemplate, ext) + saveFile(proccessTemplate, templateVars.engine) } catch (error) { console.log('​catch -> error', error) } @@ -230,8 +237,8 @@ async function renderConfig() { try { (async () => { - const engine = config.pattern.engineExt || 'hbs' - console.log(`Generating ${engine} pattern...`) + templateVars.engine = config.pattern.engineExt || 'hbs' + console.log(`Generating ${templateVars.engine} pattern...`) await newpatternVars() await renderTemplate() await renderConfig() diff --git a/lib/templates/pattern.config.js b/lib/templates/pattern.config.js index 815490a..f0b465d 100755 --- a/lib/templates/pattern.config.js +++ b/lib/templates/pattern.config.js @@ -1,12 +1,21 @@ +// const ROOT = '<%= classname %>' module.exports = { title: '<%= filename %>', label: '<%= filename %>', status: 'wip', - context: { + <% if(engine === 'hbs'){ %>context: { + jsInstanceId: false, // autoloader js instance id + tag: 'section', + id: '', + modifiers: '', + xclasses: '', + xattributes: '', + },<% } %><% if(engine === 'twig'){ %>context: { tag: 'section', modifiers: [], states: [], xclasses: [], id: '', - } + },<% } %> + variants: [] } diff --git a/lib/templates/pattern.hbs b/lib/templates/pattern.hbs index 0d0f688..7159d92 100755 --- a/lib/templates/pattern.hbs +++ b/lib/templates/pattern.hbs @@ -1,4 +1,4 @@ -
data-jsinit="<%= filename %>"<% } %> {{{extattributes}}}> -
+<{{tag}} {{#if id}}id="{{id}}" {{/if}} class="<%= classname %>{{#if modifiers}} {{modifiers}}{{/if}}{{#if xclasses}} {{xclasses}}{{/if}}" <% if (scss || js) { %> data-jsinit="<%= filename %>"<% } %>{{#if jsInstanceId}} data-module-id="{{jsInstanceId}}"{{/if}}{{#if xclasses}} {{{xattributes}}}{{/if}}> +
-
+ diff --git a/lib/templates/pattern.js b/lib/templates/pattern.js index 05ef052..b2ea267 100755 --- a/lib/templates/pattern.js +++ b/lib/templates/pattern.js @@ -1,7 +1,7 @@ /** * init <%= filename %> * @alias <%= filename %> - * @namespace AP + * @namespace <%= namespace %> * @return {Object} <% if(js){ %>public methods and css bundle<% } %><% if (!js) { %>with css bundle<% } %> */ <% if (scss) { %> diff --git a/lib/templates/pattern.module.scss b/lib/templates/pattern.module.scss index 01ae937..3367fdf 100755 --- a/lib/templates/pattern.module.scss +++ b/lib/templates/pattern.module.scss @@ -2,5 +2,16 @@ * <%= filename %> */ .<%= classname %> { + $-<%= type.charAt(0) %>: &; // A convenient shortcut to use with modifiers #{$-c}. example below position: relative; + + &-ct { + position: relative; + } + + // &--mdfClass { + // #{$-c}-ct { + // position: absolute; + // } + // } } From 44279499007367b4e852eaafce47e30e747db058 Mon Sep 17 00:00:00 2001 From: Shachar Leuchter Date: Tue, 2 Feb 2021 15:40:21 +0100 Subject: [PATCH 11/12] chore(package): rc3 bump --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index dbd13c7..439c1c7 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@jvmn/groundzero-taskrunner-webpack", - "version": "2.3.0-rc2", + "version": "2.3.0-rc3", "description": "Taskrunner for JvM/Neckar Groundzero projects", "keywords": [ "taskrunner", From f37e21acccc512cb597cbd2a48cbddc369a7cea9 Mon Sep 17 00:00:00 2001 From: Shachar Leuchter Date: Tue, 2 Feb 2021 15:45:49 +0100 Subject: [PATCH 12/12] chore(package): bump stable --- package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 439c1c7..7fee77a 100644 --- a/package.json +++ b/package.json @@ -1,12 +1,12 @@ { "name": "@jvmn/groundzero-taskrunner-webpack", - "version": "2.3.0-rc3", + "version": "2.3.0", "description": "Taskrunner for JvM/Neckar Groundzero projects", "keywords": [ "taskrunner", "groundzero" ], - "author": "Jung von Matt/Neckar - Shachar Leuchter", + "author": "Jung von Matt / Neckar", "license": "MIT", "engines": { "node": ">=12.0.0"