From 0791385b4ba395b3002aa9d35f3309d40a1de33f Mon Sep 17 00:00:00 2001 From: yowainwright Date: Thu, 27 Jan 2022 18:26:19 -0800 Subject: [PATCH 1/8] feat: switch glob => fast-glob --- index.js | 402 ++++++++++++++++++++++++------------------------- package.json | 3 +- pnpm-lock.yaml | 260 ++++++++++++++++---------------- 3 files changed, 333 insertions(+), 332 deletions(-) diff --git a/index.js b/index.js index a905aab..490f9bc 100755 --- a/index.js +++ b/index.js @@ -4,7 +4,7 @@ const { program } = require('@caporal/core') const acorn = require('acorn') -const glob = require('glob') +const glob = require('fast-glob') const fs = require('fs') const path = require('path') @@ -21,201 +21,201 @@ const argsArray = process.argv.slice(2) * - error failures */ program - .version(pkg.version) - .argument( - '[ecmaVersion]', - 'ecmaVersion to check files against. Can be: es3, es4, es5, es6/es2015, es7/es2016, es8/es2017, es9/es2018, es10/es2019' - ) - .argument( - '[files...]', - 'a glob of files to to test the EcmaScript version against' - ) - .option('--module', 'use ES modules') - .option( - '--allow-hash-bang', - 'if the code starts with #! treat it as a comment' - ) - .option('--not', 'folder or file names to skip', { - validator: program.ARRAY - }) - .action(({ logger, args, options }) => { - const configFilePath = path.resolve(process.cwd(), '.escheckrc') - - /** - * @note - * Check for a configuration file. - * - If one exists, default to those options - * - If no command line arguments are passed in - */ - const config = fs.existsSync(configFilePath) - ? JSON.parse(fs.readFileSync(configFilePath)) - : {} - const expectedEcmaVersion = args.ecmaVersion - ? args.ecmaVersion - : config.ecmaVersion - const files = - args.files && args.files.length ? args.files : [].concat(config.files) - const esmodule = options.module ? options.module : config.module - const allowHashBang = options.allowHashBang - ? options.allowHashBang - : config.allowHashBang - const pathsToIgnore = - options.not && options.not.length - ? options.not - : [].concat(config.not || []) - - if (!expectedEcmaVersion) { - logger.error( - 'No ecmaScript version passed in or found in .escheckrc. Please set your ecmaScript version in the CLI or in .escheckrc' - ) - process.exit(1) - } - - if (!files || !files.length) { - logger.error( - 'No files were passed in please pass in a list of files to es-check!' - ) - process.exit(1) - } - - /** - * @note define ecmaScript version - */ - let ecmaVersion - switch (expectedEcmaVersion) { - case 'es3': - ecmaVersion = '3' - break - case 'es4': - logger.error('ES4 is not supported.') - process.exit(1) - case 'es5': - ecmaVersion = '5' - break - case 'es6': - ecmaVersion = '6' - break - case 'es7': - ecmaVersion = '7' - break - case 'es8': - ecmaVersion = '8' - break - case 'es9': - ecmaVersion = '9' - break - case 'es10': - ecmaVersion = '10' - break - case 'es11': - ecmaVersion = '11' - break - case 'es12': - ecmaVersion = '12' - break - case 'es2015': - ecmaVersion = '6' - break - case 'es2016': - ecmaVersion = '7' - break - case 'es2017': - ecmaVersion = '8' - break - case 'es2018': - ecmaVersion = '9' - break - case 'es2019': - ecmaVersion = '10' - break - case 'es2020': - ecmaVersion = '2020' - break - case 'es2021': - ecmaVersion = '2021' - break - default: - logger.error( - 'Invalid ecmaScript version, please pass a valid version, use --help for help' - ) - process.exit(1) - } - - const errArray = [] - const globOpts = { nodir: true } - const acornOpts = { ecmaVersion: parseInt(ecmaVersion, 10), silent: true } - - const expandedPathsToIgnore = pathsToIgnore.reduce((result, path) => { - if (path.includes('*')) { - return result.concat(glob.sync(path, globOpts)) - } else { - return result.concat(path) - } - }, []) - - const filterForIgnore = (globbedFiles) => { - if (expandedPathsToIgnore && expandedPathsToIgnore.length > 0) { - const filtered = globbedFiles.filter( - (filePath) => - !expandedPathsToIgnore.some((ignoreValue) => - filePath.includes(ignoreValue) - ) - ) - return filtered - } - return globbedFiles - } - - logger.debug(`ES-Check: Going to check files using version ${ecmaVersion}`) - - if (esmodule) { - acornOpts.sourceType = 'module' - logger.debug('ES-Check: esmodule is set') - } - - if (allowHashBang) { - acornOpts.allowHashBang = true - logger.debug('ES-Check: allowHashBang is set') - } - - files.forEach((pattern) => { - const globbedFiles = glob.sync(pattern, globOpts) - - if (globbedFiles.length === 0) { - logger.error( - `ES-Check: Did not find any files to check for ${pattern}.` - ) - process.exit(1) - } - - const filteredFiles = filterForIgnore(globbedFiles) - - filteredFiles.forEach((file) => { - const code = fs.readFileSync(file, 'utf8') - - logger.debug(`ES-Check: checking ${file}`) - try { - acorn.parse(code, acornOpts) - } catch (err) { - logger.debug( - `ES-Check: failed to parse file: ${file} \n - error: ${err}` - ) - const errorObj = { - err, - stack: err.stack, - file - } - errArray.push(errorObj) - } - }) - }) - - if (errArray.length > 0) { - logger.error( - `ES-Check: there were ${errArray.length} ES version matching errors.` - ) - errArray.forEach((o) => { - logger.info(` + .version(pkg.version) + .argument( + '[ecmaVersion]', + 'ecmaVersion to check files against. Can be: es3, es4, es5, es6/es2015, es7/es2016, es8/es2017, es9/es2018, es10/es2019', + ) + .argument( + '[files...]', + 'a glob of files to to test the EcmaScript version against', + ) + .option('--module', 'use ES modules') + .option( + '--allow-hash-bang', + 'if the code starts with #! treat it as a comment', + ) + .option('--not', 'folder or file names to skip', { + validator: program.ARRAY, + }) + .action(({ logger, args, options }) => { + const configFilePath = path.resolve(process.cwd(), '.escheckrc') + + /** + * @note + * Check for a configuration file. + * - If one exists, default to those options + * - If no command line arguments are passed in + */ + const config = fs.existsSync(configFilePath) + ? JSON.parse(fs.readFileSync(configFilePath)) + : {} + const expectedEcmaVersion = args.ecmaVersion + ? args.ecmaVersion + : config.ecmaVersion + const files = + args.files && args.files.length ? args.files : [].concat(config.files) + const esmodule = options.module ? options.module : config.module + const allowHashBang = options.allowHashBang + ? options.allowHashBang + : config.allowHashBang + const pathsToIgnore = + options.not && options.not.length + ? options.not + : [].concat(config.not || []) + + if (!expectedEcmaVersion) { + logger.error( + 'No ecmaScript version passed in or found in .escheckrc. Please set your ecmaScript version in the CLI or in .escheckrc', + ) + process.exit(1) + } + + if (!files || !files.length) { + logger.error( + 'No files were passed in please pass in a list of files to es-check!', + ) + process.exit(1) + } + + /** + * @note define ecmaScript version + */ + let ecmaVersion + switch (expectedEcmaVersion) { + case 'es3': + ecmaVersion = '3' + break + case 'es4': + logger.error('ES4 is not supported.') + process.exit(1) + case 'es5': + ecmaVersion = '5' + break + case 'es6': + ecmaVersion = '6' + break + case 'es7': + ecmaVersion = '7' + break + case 'es8': + ecmaVersion = '8' + break + case 'es9': + ecmaVersion = '9' + break + case 'es10': + ecmaVersion = '10' + break + case 'es11': + ecmaVersion = '11' + break + case 'es12': + ecmaVersion = '12' + break + case 'es2015': + ecmaVersion = '6' + break + case 'es2016': + ecmaVersion = '7' + break + case 'es2017': + ecmaVersion = '8' + break + case 'es2018': + ecmaVersion = '9' + break + case 'es2019': + ecmaVersion = '10' + break + case 'es2020': + ecmaVersion = '2020' + break + case 'es2021': + ecmaVersion = '2021' + break + default: + logger.error( + 'Invalid ecmaScript version, please pass a valid version, use --help for help', + ) + process.exit(1) + } + + const errArray = [] + const globOpts = { nodir: true } + const acornOpts = { ecmaVersion: parseInt(ecmaVersion, 10), silent: true } + + const expandedPathsToIgnore = pathsToIgnore.reduce((result, path) => { + if (path.includes('*')) { + return result.concat(glob.sync(path, globOpts)) + } else { + return result.concat(path) + } + }, []) + + const filterForIgnore = (globbedFiles) => { + if (expandedPathsToIgnore && expandedPathsToIgnore.length > 0) { + const filtered = globbedFiles.filter( + (filePath) => + !expandedPathsToIgnore.some((ignoreValue) => + filePath.includes(ignoreValue), + ), + ) + return filtered + } + return globbedFiles + } + + logger.debug(`ES-Check: Going to check files using version ${ecmaVersion}`) + + if (esmodule) { + acornOpts.sourceType = 'module' + logger.debug('ES-Check: esmodule is set') + } + + if (allowHashBang) { + acornOpts.allowHashBang = true + logger.debug('ES-Check: allowHashBang is set') + } + + files.forEach((pattern) => { + const globbedFiles = glob.sync(pattern, globOpts) + + if (globbedFiles.length === 0) { + logger.error( + `ES-Check: Did not find any files to check for ${pattern}.`, + ) + process.exit(1) + } + + const filteredFiles = filterForIgnore(globbedFiles) + + filteredFiles.forEach((file) => { + const code = fs.readFileSync(file, 'utf8') + + logger.debug(`ES-Check: checking ${file}`) + try { + acorn.parse(code, acornOpts) + } catch (err) { + logger.debug( + `ES-Check: failed to parse file: ${file} \n - error: ${err}`, + ) + const errorObj = { + err, + stack: err.stack, + file, + } + errArray.push(errorObj) + } + }) + }) + + if (errArray.length > 0) { + logger.error( + `ES-Check: there were ${errArray.length} ES version matching errors.`, + ) + errArray.forEach((o) => { + logger.info(` ES-Check Error: ---- ยท erroring file: ${o.file} @@ -224,10 +224,10 @@ program ----\n ${o.stack} `) - }) - process.exit(1) - } - logger.info(`ES-Check: there were no ES version matching errors! ๐ŸŽ‰`) - }) + }) + process.exit(1) + } + logger.info(`ES-Check: there were no ES version matching errors! ๐ŸŽ‰`) + }) program.run(argsArray) diff --git a/package.json b/package.json index f74b258..7fa84d8 100644 --- a/package.json +++ b/package.json @@ -58,8 +58,9 @@ "prettier-config-standard": "^4.0.0" }, "dependencies": { - "acorn": "^8.4.1", "@caporal/core": "^2.0.2", + "acorn": "^8.4.1", + "fast-glob": "^3.2.11", "glob": "^7.1.7" }, "engines": { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 1ccd0fa..e395cf5 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -5,7 +5,7 @@ overrides: specifiers: '@caporal/core': ^2.0.2 - '@commitlint/cli': ^14.1.0 + '@commitlint/cli': ^16.0.2 '@commitlint/config-conventional': ^16.0.0 '@commitlint/prompt': ^16.0.0 acorn: ^8.4.1 @@ -21,6 +21,7 @@ specifiers: eslint-plugin-node: ^11.1.0 eslint-plugin-prettier: ^4.0.0 eslint-plugin-promise: ^5.1.0 + fast-glob: ^3.2.11 glob: ^7.1.7 husky: ^7.0.1 mocha: ^9.0.1 @@ -31,10 +32,11 @@ specifiers: dependencies: '@caporal/core': 2.0.2 acorn: 8.5.0 + fast-glob: 3.2.11 glob: 7.2.0 devDependencies: - '@commitlint/cli': 14.1.0 + '@commitlint/cli': 16.1.0 '@commitlint/config-conventional': 16.0.0 '@commitlint/prompt': 16.0.0 assert: 2.0.0 @@ -297,20 +299,24 @@ packages: - supports-color dev: false - /@commitlint/cli/14.1.0: - resolution: {integrity: sha512-Orq62jkl9qAGvjFqhehtAqjGY/duJ8hIRPPIHmGR2jIB96D4VTmazS3ZvqJz2Q9kKr61mLAk/171zm0FVzQCYA==} + /@commitlint/cli/16.1.0: + resolution: {integrity: sha512-x5L1knvA3isRWBRVQx+Q6D45pA9139a2aZQYpxkljMG0dj4UHZkCnsYWpnGalxPxASI7nrI0KedKfS2YeQ55cQ==} engines: {node: '>=v12'} hasBin: true dependencies: - '@commitlint/format': 14.1.0 - '@commitlint/lint': 14.1.0 - '@commitlint/load': 14.1.0 - '@commitlint/read': 14.0.0 - '@commitlint/types': 14.0.0 + '@commitlint/format': 16.0.0 + '@commitlint/lint': 16.0.0 + '@commitlint/load': 16.1.0 + '@commitlint/read': 16.0.0 + '@commitlint/types': 16.0.0 lodash: 4.17.21 resolve-from: 5.0.0 resolve-global: 1.0.0 yargs: 17.2.1 + transitivePeerDependencies: + - '@swc/core' + - '@swc/wasm' + - '@types/node' dev: true /@commitlint/config-conventional/16.0.0: @@ -328,12 +334,12 @@ packages: ajv: 6.12.6 dev: true - /@commitlint/ensure/14.1.0: - resolution: {integrity: sha512-xrYvFdqVepT3XA1BmSh88eKbvYKtLuQu98QLfgxVmwS99Kj3yW0sT3D7jGvNsynbIx2dhbXofDyubf/DKkpFrQ==} + /@commitlint/config-validator/16.1.0: + resolution: {integrity: sha512-2cHeZPNTuf1JWbMqyA46MkExor5HMSgv8JrdmzEakUbJHUreh35/wN00FJf57qGs134exQW2thiSQ1IJUsVx2Q==} engines: {node: '>=v12'} dependencies: - '@commitlint/types': 14.0.0 - lodash: 4.17.21 + '@commitlint/types': 16.0.0 + ajv: 6.12.6 dev: true /@commitlint/ensure/16.0.0: @@ -344,64 +350,64 @@ packages: lodash: 4.17.21 dev: true - /@commitlint/execute-rule/14.0.0: - resolution: {integrity: sha512-Hh/HLpCBDlrD3Rx2x2pDBx6CU+OtVqGXh7mbFpNihAVx6B0zyZqm/vv0cdwdhfGW5OEn1BhCqHf1ZOvL/DwdWA==} - engines: {node: '>=v12'} - dev: true - /@commitlint/execute-rule/16.0.0: resolution: {integrity: sha512-8edcCibmBb386x5JTHSPHINwA5L0xPkHQFY8TAuDEt5QyRZY/o5DF8OPHSa5Hx2xJvGaxxuIz4UtAT6IiRDYkw==} engines: {node: '>=v12'} dev: true - /@commitlint/format/14.1.0: - resolution: {integrity: sha512-sF6engqqHjvxGctWRKjFs/HQeNowlpbVmmoP481b2UMQnVQnjjfXJvQsoLpaqFUvgc2sHM4L85F8BmAw+iHG1w==} + /@commitlint/format/16.0.0: + resolution: {integrity: sha512-9yp5NCquXL1jVMKL0ZkRwJf/UHdebvCcMvICuZV00NQGYSAL89O398nhqrqxlbjBhM5EZVq0VGcV5+7r3D4zAA==} engines: {node: '>=v12'} dependencies: - '@commitlint/types': 14.0.0 + '@commitlint/types': 16.0.0 chalk: 4.1.2 dev: true - /@commitlint/is-ignored/14.0.0: - resolution: {integrity: sha512-nJltYjXTa+mk+6SPe35nOZCCvt3Gh5mbDz008KQ4OPcn1GX1NG+pEgz1Kx3agDp/pc+JGnsrr5GV00gygIoloA==} + /@commitlint/is-ignored/16.0.0: + resolution: {integrity: sha512-gmAQcwIGC/R/Lp0CEb2b5bfGC7MT5rPe09N8kOGjO/NcdNmfFSZMquwrvNJsq9hnAP0skRdHIsqwlkENkN4Lag==} engines: {node: '>=v12'} dependencies: - '@commitlint/types': 14.0.0 + '@commitlint/types': 16.0.0 semver: 7.3.5 dev: true - /@commitlint/lint/14.1.0: - resolution: {integrity: sha512-CApGJEOtWU/CcuPD8HkOR1jdUYpjKutGPaeby9nSFzJhwl/UQOjxc4Nd+2g2ygsMi5l3N4j2sWQYEgccpFC3lA==} + /@commitlint/lint/16.0.0: + resolution: {integrity: sha512-HNl15bRC0h+pLzbMzQC3tM0j1aESXsLYhElqKnXcf5mnCBkBkHzu6WwJW8rZbfxX+YwJmNljN62cPhmdBo8x0A==} engines: {node: '>=v12'} dependencies: - '@commitlint/is-ignored': 14.0.0 - '@commitlint/parse': 14.0.0 - '@commitlint/rules': 14.1.0 - '@commitlint/types': 14.0.0 + '@commitlint/is-ignored': 16.0.0 + '@commitlint/parse': 16.0.0 + '@commitlint/rules': 16.0.0 + '@commitlint/types': 16.0.0 dev: true - /@commitlint/load/14.1.0: - resolution: {integrity: sha512-p+HbgjhkqLsnxyjOUdEYHztHCp8n2oLVUJTmRPuP5FXLNevh6Gwmxf+NYC2J0sgD084aV2CFi3qu1W4yHWIknA==} + /@commitlint/load/16.0.0: + resolution: {integrity: sha512-7WhrGCkP6K/XfjBBguLkkI2XUdiiIyMGlNsSoSqgRNiD352EiffhFEApMy1/XOU+viwBBm/On0n5p0NC7e9/4A==} engines: {node: '>=v12'} dependencies: - '@commitlint/execute-rule': 14.0.0 - '@commitlint/resolve-extends': 14.1.0 - '@commitlint/types': 14.0.0 - '@endemolshinegroup/cosmiconfig-typescript-loader': 3.0.2_3fdcc7bc724bd900a681b5e9457ed94a + '@commitlint/config-validator': 16.0.0 + '@commitlint/execute-rule': 16.0.0 + '@commitlint/resolve-extends': 16.0.0 + '@commitlint/types': 16.0.0 chalk: 4.1.2 cosmiconfig: 7.0.1 + cosmiconfig-typescript-loader: 1.0.2_typescript@4.4.4 lodash: 4.17.21 resolve-from: 5.0.0 typescript: 4.4.4 + transitivePeerDependencies: + - '@swc/core' + - '@swc/wasm' + - '@types/node' dev: true - /@commitlint/load/16.0.0: - resolution: {integrity: sha512-7WhrGCkP6K/XfjBBguLkkI2XUdiiIyMGlNsSoSqgRNiD352EiffhFEApMy1/XOU+viwBBm/On0n5p0NC7e9/4A==} + /@commitlint/load/16.1.0: + resolution: {integrity: sha512-MtlEhKjP8jAF85jjX4mw8DUUwCxKsCgAc865hhpnwxjrfBcmGP7Up2AFE/M3ZMGDmSl1X1TMybQk/zohj8Cqdg==} engines: {node: '>=v12'} dependencies: - '@commitlint/config-validator': 16.0.0 + '@commitlint/config-validator': 16.1.0 '@commitlint/execute-rule': 16.0.0 - '@commitlint/resolve-extends': 16.0.0 + '@commitlint/resolve-extends': 16.1.0 '@commitlint/types': 16.0.0 chalk: 4.1.2 cosmiconfig: 7.0.1 @@ -415,16 +421,16 @@ packages: - '@types/node' dev: true - /@commitlint/message/14.0.0: - resolution: {integrity: sha512-316Pum+bwDcZamOQw0DXSY17Dq9EjvL1zKdYIZqneu4lnXN6uFfi53Y/sP5crW6zlLdnuTHe1MnuewXPLHfH1Q==} + /@commitlint/message/16.0.0: + resolution: {integrity: sha512-CmK2074SH1Ws6kFMEKOKH/7hMekGVbOD6vb4alCOo2+33ZSLUIX8iNkDYyrw38Jwg6yWUhLjyQLUxREeV+QIUA==} engines: {node: '>=v12'} dev: true - /@commitlint/parse/14.0.0: - resolution: {integrity: sha512-49qkk0TcwdxJPZUX8MElEzMlRFIL/cg64P4pk8HotFEm2HYdbxxZp6v3cbVw5WOsnRA0frrs+NNoOcIT83ccMQ==} + /@commitlint/parse/16.0.0: + resolution: {integrity: sha512-F9EjFlMw4MYgBEqoRrWZZKQBzdiJzPBI0qFDFqwUvfQsMmXEREZ242T4R5bFwLINWaALFLHEIa/FXEPa6QxCag==} engines: {node: '>=v12'} dependencies: - '@commitlint/types': 14.0.0 + '@commitlint/types': 16.0.0 conventional-changelog-angular: 5.0.13 conventional-commits-parser: 3.2.3 dev: true @@ -445,31 +451,33 @@ packages: - '@types/node' dev: true - /@commitlint/read/14.0.0: - resolution: {integrity: sha512-WXXcSLBqwXTqnEmB0lbU2TrayDJ2G3qI/lxy1ianVmpQol8p9BjodAA6bYxtYYHdQFVXUrIsclzFP/naWG+hlQ==} + /@commitlint/read/16.0.0: + resolution: {integrity: sha512-H4T2zsfmYQK9B+JtoQaCXWBHUhgIJyOzWZjSfuIV9Ce69/OgHoffNpLZPF2lX6yKuDrS1SQFhI/kUCjVc/e4ew==} engines: {node: '>=v12'} dependencies: - '@commitlint/top-level': 14.0.0 - '@commitlint/types': 14.0.0 + '@commitlint/top-level': 16.0.0 + '@commitlint/types': 16.0.0 fs-extra: 10.0.0 git-raw-commits: 2.0.10 dev: true - /@commitlint/resolve-extends/14.1.0: - resolution: {integrity: sha512-ko80k6QB6E6/OvGNWy4u7gzzWyluDT3VDNL2kfZaDywsnrYntUKyT4Do97gQ7orttITzj2GRtk3KWClVz4rUUQ==} + /@commitlint/resolve-extends/16.0.0: + resolution: {integrity: sha512-Z/w9MAQUcxeawpCLtjmkVNXAXOmB2nhW+LYmHEZcx9O6UTauF/1+uuZ2/r0MtzTe1qw2JD+1QHVhEWYHVPlkdA==} engines: {node: '>=v12'} dependencies: + '@commitlint/config-validator': 16.0.0 + '@commitlint/types': 16.0.0 import-fresh: 3.3.0 lodash: 4.17.21 resolve-from: 5.0.0 resolve-global: 1.0.0 dev: true - /@commitlint/resolve-extends/16.0.0: - resolution: {integrity: sha512-Z/w9MAQUcxeawpCLtjmkVNXAXOmB2nhW+LYmHEZcx9O6UTauF/1+uuZ2/r0MtzTe1qw2JD+1QHVhEWYHVPlkdA==} + /@commitlint/resolve-extends/16.1.0: + resolution: {integrity: sha512-8182s6AFoUFX6+FT1PgQDt15nO2ogdR/EN8SYVAdhNXw1rLz8kT5saB/ICw567GuRAUgFTUMGCXy3ctMOXPEDg==} engines: {node: '>=v12'} dependencies: - '@commitlint/config-validator': 16.0.0 + '@commitlint/config-validator': 16.1.0 '@commitlint/types': 16.0.0 import-fresh: 3.3.0 lodash: 4.17.21 @@ -477,36 +485,29 @@ packages: resolve-global: 1.0.0 dev: true - /@commitlint/rules/14.1.0: - resolution: {integrity: sha512-6jmv414/1JzGzDI/DS+snAMhcL6roQKPdg0WB3kWTWN52EvWXBFm0HIMGt2H/FlRKxozwVXlQN60/1fNIl98xA==} + /@commitlint/rules/16.0.0: + resolution: {integrity: sha512-AOl0y2SBTdJ1bvIv8nwHvQKRT/jC1xb09C5VZwzHoT8sE8F54KDeEzPCwHQFgUcWdGLyS10kkOTAH2MyA8EIlg==} engines: {node: '>=v12'} dependencies: - '@commitlint/ensure': 14.1.0 - '@commitlint/message': 14.0.0 - '@commitlint/to-lines': 14.0.0 - '@commitlint/types': 14.0.0 + '@commitlint/ensure': 16.0.0 + '@commitlint/message': 16.0.0 + '@commitlint/to-lines': 16.0.0 + '@commitlint/types': 16.0.0 execa: 5.1.1 dev: true - /@commitlint/to-lines/14.0.0: - resolution: {integrity: sha512-uIXk54oJDuYyLpI208s3+cGmJ323yvSJ9LB7yUDMWUeJi2LgRxE2EBZL995kLQdnoAsBBXcLq+VDyppg5bV/cg==} + /@commitlint/to-lines/16.0.0: + resolution: {integrity: sha512-iN/qU38TCKU7uKOg6RXLpD49wNiuI0TqMqybHbjefUeP/Jmzxa8ishryj0uLyVdrAl1ZjGeD1ukXGMTtvqz8iA==} engines: {node: '>=v12'} dev: true - /@commitlint/top-level/14.0.0: - resolution: {integrity: sha512-MZDKZfWfl9g4KozgWBGTCrI2cXkMHnBFlhwvEfrAu5G8wd5aL1f2uWEUMnBMjUikmhVj99i1pzge4XFWHQ29wQ==} + /@commitlint/top-level/16.0.0: + resolution: {integrity: sha512-/Jt6NLxyFkpjL5O0jxurZPCHURZAm7cQCqikgPCwqPAH0TLgwqdHjnYipl8J+AGnAMGDip4FNLoYrtgIpZGBYw==} engines: {node: '>=v12'} dependencies: find-up: 5.0.0 dev: true - /@commitlint/types/14.0.0: - resolution: {integrity: sha512-sIls1nP2uSbGL466edYlh8mn7O/WP4i3bcvP+2DMhkscRCSgaPhNRWDilhYVsHt2Vu1HTQ27uT0Bj5/Lt2+EcQ==} - engines: {node: '>=v12'} - dependencies: - chalk: 4.1.2 - dev: true - /@commitlint/types/16.0.0: resolution: {integrity: sha512-+0FvYOAS39bJ4aKjnYn/7FD4DfWkmQ6G/06I4F0Gvu4KS5twirEg8mIcLhmeRDOOKn4Tp8PwpLwBiSA6npEMQA==} engines: {node: '>=v12'} @@ -526,21 +527,6 @@ packages: '@cspotcode/source-map-consumer': 0.8.0 dev: true - /@endemolshinegroup/cosmiconfig-typescript-loader/3.0.2_3fdcc7bc724bd900a681b5e9457ed94a: - resolution: {integrity: sha512-QRVtqJuS1mcT56oHpVegkKBlgtWjXw/gHNWO3eL9oyB5Sc7HBoc2OLG/nYpVfT/Jejvo3NUrD0Udk7XgoyDKkA==} - engines: {node: '>=10.0.0'} - peerDependencies: - cosmiconfig: '>=6' - dependencies: - cosmiconfig: 7.0.1 - lodash.get: 4.4.2 - make-error: 1.3.6 - ts-node: 9.1.1_typescript@4.4.4 - tslib: 2.3.1 - transitivePeerDependencies: - - typescript - dev: true - /@eslint/eslintrc/0.4.3: resolution: {integrity: sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw==} engines: {node: ^10.12.0 || >=12.0.0} @@ -594,6 +580,27 @@ packages: engines: {node: '>=8'} dev: true + /@nodelib/fs.scandir/2.1.5: + resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} + engines: {node: '>= 8'} + dependencies: + '@nodelib/fs.stat': 2.0.5 + run-parallel: 1.2.0 + dev: false + + /@nodelib/fs.stat/2.0.5: + resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} + engines: {node: '>= 8'} + dev: false + + /@nodelib/fs.walk/1.2.8: + resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} + engines: {node: '>= 8'} + dependencies: + '@nodelib/fs.scandir': 2.1.5 + fastq: 1.13.0 + dev: false + /@tootallnate/once/1.1.2: resolution: {integrity: sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==} engines: {node: '>= 6'} @@ -879,7 +886,6 @@ packages: engines: {node: '>=8'} dependencies: fill-range: 7.0.1 - dev: true /browser-stdout/1.3.1: resolution: {integrity: sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==} @@ -897,10 +903,6 @@ packages: picocolors: 1.0.0 dev: true - /buffer-from/1.1.2: - resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} - dev: true - /cachedir/2.2.0: resolution: {integrity: sha512-VvxA0xhNqIIfg0V9AmJkDg91DaJwryutH5rVEZAhcNi4iJFj9f+QxmAjgK1LT9I8OgToX27fypX6/MeCXVbBjQ==} engines: {node: '>=6'} @@ -1863,6 +1865,17 @@ packages: resolution: {integrity: sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==} dev: true + /fast-glob/3.2.11: + resolution: {integrity: sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==} + engines: {node: '>=8.6.0'} + dependencies: + '@nodelib/fs.stat': 2.0.5 + '@nodelib/fs.walk': 1.2.8 + glob-parent: 5.1.2 + merge2: 1.4.1 + micromatch: 4.0.4 + dev: false + /fast-json-stable-stringify/2.1.0: resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} @@ -1876,6 +1889,12 @@ packages: punycode: 1.4.1 dev: true + /fastq/1.13.0: + resolution: {integrity: sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==} + dependencies: + reusify: 1.0.4 + dev: false + /fecha/4.2.1: resolution: {integrity: sha512-MMMQ0ludy/nBs1/o0zVOiKTpG7qMbonKUzjJgQFEuvq6INZ1OraKPRAWkBq5vlKLOUMpmNYG1JoN3oDPUQ9m3Q==} dev: false @@ -1898,7 +1917,6 @@ packages: engines: {node: '>=8'} dependencies: to-regex-range: 5.0.1 - dev: true /find-cache-dir/3.3.2: resolution: {integrity: sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==} @@ -2110,7 +2128,6 @@ packages: engines: {node: '>= 6'} dependencies: is-glob: 4.0.3 - dev: true /glob/7.1.4: resolution: {integrity: sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==} @@ -2446,7 +2463,6 @@ packages: /is-extglob/2.1.1: resolution: {integrity: sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=} engines: {node: '>=0.10.0'} - dev: true /is-fullwidth-code-point/2.0.0: resolution: {integrity: sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=} @@ -2468,7 +2484,6 @@ packages: engines: {node: '>=0.10.0'} dependencies: is-extglob: 2.1.1 - dev: true /is-nan/1.3.2: resolution: {integrity: sha512-E+zBKpQ2t6MEo1VsonYmluk9NxGrbzpeeLC2xIViuO2EjU2xsXsBPwTr3Ykv9l08UYEVEdWeRZNouaZqF6RN0w==} @@ -2493,7 +2508,6 @@ packages: /is-number/7.0.0: resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} engines: {node: '>=0.12.0'} - dev: true /is-obj/2.0.0: resolution: {integrity: sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==} @@ -2801,10 +2815,6 @@ packages: resolution: {integrity: sha1-+wMJF/hqMTTlvJvsDWngAT3f7bI=} dev: true - /lodash.get/4.4.2: - resolution: {integrity: sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk=} - dev: true - /lodash.ismatch/4.4.0: resolution: {integrity: sha1-dWy1FQyjum8RCFp4hJZF8Yj4Xzc=} dev: true @@ -2904,13 +2914,17 @@ packages: resolution: {integrity: sha512-jz+Cfrg9GWOZbQAnDQ4hlVnQky+341Yk5ru8bZSe6sIDTCIg8n9i/u7hSQGSVOF3C7lH6mGtqjkiT9G4wFLL0w==} dev: true + /merge2/1.4.1: + resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} + engines: {node: '>= 8'} + dev: false + /micromatch/4.0.4: resolution: {integrity: sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==} engines: {node: '>=8.6'} dependencies: braces: 3.0.2 picomatch: 2.3.0 - dev: true /mimic-fn/1.2.0: resolution: {integrity: sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==} @@ -3313,7 +3327,6 @@ packages: /picomatch/2.3.0: resolution: {integrity: sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==} engines: {node: '>=8.6'} - dev: true /pify/2.3.0: resolution: {integrity: sha1-7RQaasBDqEnqWISY59yosVMw6Qw=} @@ -3389,6 +3402,10 @@ packages: engines: {node: '>=0.6.0', teleport: '>=0.2.0'} dev: true + /queue-microtask/1.2.3: + resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + dev: false + /quick-lru/4.0.1: resolution: {integrity: sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==} engines: {node: '>=8'} @@ -3535,6 +3552,11 @@ packages: onetime: 2.0.1 signal-exit: 3.0.5 + /reusify/1.0.4: + resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} + engines: {iojs: '>=1.0.0', node: '>=0.10.0'} + dev: false + /rimraf/3.0.2: resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} hasBin: true @@ -3546,6 +3568,12 @@ packages: resolution: {integrity: sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==} engines: {node: '>=0.12.0'} + /run-parallel/1.2.0: + resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} + dependencies: + queue-microtask: 1.2.3 + dev: false + /rxjs/6.6.7: resolution: {integrity: sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==} engines: {npm: '>=2.0.0'} @@ -3640,13 +3668,6 @@ packages: is-fullwidth-code-point: 3.0.0 dev: true - /source-map-support/0.5.20: - resolution: {integrity: sha512-n1lZZ8Ve4ksRqizaBQgxXDgKwttHDhyfQjA6YZZn8+AroHbsIz+JjwxQDxbp+7y5OYCI8t1Yk7etjD9CRd2hIw==} - dependencies: - buffer-from: 1.1.2 - source-map: 0.6.1 - dev: true - /source-map/0.5.7: resolution: {integrity: sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=} engines: {node: '>=0.10.0'} @@ -3952,7 +3973,6 @@ packages: engines: {node: '>=8.0'} dependencies: is-number: 7.0.0 - dev: true /tr46/0.0.3: resolution: {integrity: sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=} @@ -3996,22 +4016,6 @@ packages: yn: 3.1.1 dev: true - /ts-node/9.1.1_typescript@4.4.4: - resolution: {integrity: sha512-hPlt7ZACERQGf03M253ytLY3dHbGNGrAq9qIHWUY9XHYl1z7wYngSr3OQ5xmui8o2AaxsONxIzjafLUiWBo1Fg==} - engines: {node: '>=10.0.0'} - hasBin: true - peerDependencies: - typescript: '>=2.7' - dependencies: - arg: 4.1.3 - create-require: 1.1.1 - diff: 4.0.2 - make-error: 1.3.6 - source-map-support: 0.5.20 - typescript: 4.4.4 - yn: 3.1.1 - dev: true - /tsconfig-paths/3.11.0: resolution: {integrity: sha512-7ecdYDnIdmv639mmDwslG6KQg1Z9STTz1j7Gcz0xa+nshh/gKDAHcPxRbWOsA3SPp0tXP2leTcY9Kw+NAkfZzA==} dependencies: @@ -4024,10 +4028,6 @@ packages: /tslib/1.14.1: resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} - /tslib/2.3.1: - resolution: {integrity: sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==} - dev: true - /type-check/0.4.0: resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} engines: {node: '>= 0.8.0'} From 827138c1d634b18af8a52944048f07dedaf2d7d8 Mon Sep 17 00:00:00 2001 From: yowainwright Date: Thu, 27 Jan 2022 18:27:27 -0800 Subject: [PATCH 2/8] feat: version bump --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 7fa84d8..a1ee0ba 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "es-check", - "version": "6.1.2", + "version": "6.2.0", "description": "Checks the ECMAScript version of .js glob against a specified version of ECMAScript with a shell command", "main": "index.js", "license": "MIT", From 5cb8d2446a281c83fba7cc913db56c123d876962 Mon Sep 17 00:00:00 2001 From: yowainwright Date: Thu, 27 Jan 2022 18:40:26 -0800 Subject: [PATCH 3/8] feat: adds editorconfig --- .editorconfig | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 .editorconfig diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..594f419 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,34 @@ +# EditorConfig helps developers define and maintain consistent +# coding styles between different editors and IDEs +# editorconfig.org + +root = true + + +[*] +end_of_line = lf +charset = utf-8 +trim_trailing_whitespace = true +insert_final_newline = true +indent_style = space +indent_size = 2 + +[*.js] +indent_style = space +indent_size = 2 + +[*.hbs] +insert_final_newline = false +indent_style = space +indent_size = 2 + +[*.css] +indent_style = space +indent_size = 2 + +[*.html] +indent_style = space +indent_size = 2 + +[*.{diff,md}] +trim_trailing_whitespace = false \ No newline at end of file From 090ed83c0edfe879c0b84aabd0e29f5f55b452a5 Mon Sep 17 00:00:00 2001 From: yowainwright Date: Thu, 27 Jan 2022 19:06:21 -0800 Subject: [PATCH 4/8] feat: removes some extra deps --- .eslintrc | 7 +- .github/dependabot.yml | 53 +-- .gitignore | 1 + .prettierrc | 9 + index.js | 400 ++++++++-------- package.json | 43 +- pnpm-lock.yaml | 1018 +++++++++++++--------------------------- test.js | 313 ++++++------ 8 files changed, 741 insertions(+), 1103 deletions(-) create mode 100644 .prettierrc diff --git a/.eslintrc b/.eslintrc index 916a314..ddec278 100644 --- a/.eslintrc +++ b/.eslintrc @@ -1,5 +1,6 @@ { - "extends": [ - "prettier-standard" - ] + "extends": ["prettier"], + "parserOptions": { + "ecmaVersion": "latest" + } } diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 242a040..2050e15 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -1,31 +1,26 @@ version: 2 updates: -- package-ecosystem: npm - directory: "/" - schedule: - interval: daily - time: "13:00" - open-pull-requests-limit: 2 - ignore: - - dependency-name: acorn - versions: - - 8.0.5 - - 8.1.0 - - 8.1.1 - - 8.2.1 - - dependency-name: mocha - versions: - - 8.3.1 - - dependency-name: husky - versions: - - 5.1.0 - - 5.1.1 - - 5.1.2 - - dependency-name: "@commitlint/prompt" - versions: - - 12.0.0 - - dependency-name: eslint - versions: - - 7.18.0 - - 7.19.0 - - 7.20.0 + - package-ecosystem: npm + directory: '/' + schedule: + interval: daily + time: '13:00' + open-pull-requests-limit: 2 + ignore: + - dependency-name: acorn + versions: + - 8.0.5 + - 8.1.0 + - 8.1.1 + - 8.2.1 + - dependency-name: mocha + versions: + - 8.3.1 + - dependency-name: husky + versions: + - 5.1.0 + - 5.1.1 + - 5.1.2 + - dependency-name: '@commitlint/prompt' + versions: + - 12.0.0 diff --git a/.gitignore b/.gitignore index 9a6ed9c..a90de85 100644 --- a/.gitignore +++ b/.gitignore @@ -60,4 +60,5 @@ typings/ .DS_Store package-lock.json +.dccache diff --git a/.prettierrc b/.prettierrc new file mode 100644 index 0000000..d59b3e1 --- /dev/null +++ b/.prettierrc @@ -0,0 +1,9 @@ +{ + "semi": false, + "trailingComma": "all", + "printWidth": 120, + "useTabs": false, + "singleQuote": true, + "jsxSingleQuote": true, + "proseWrap": "preserve" +} diff --git a/index.js b/index.js index 490f9bc..f5955dd 100755 --- a/index.js +++ b/index.js @@ -21,201 +21,201 @@ const argsArray = process.argv.slice(2) * - error failures */ program - .version(pkg.version) - .argument( - '[ecmaVersion]', - 'ecmaVersion to check files against. Can be: es3, es4, es5, es6/es2015, es7/es2016, es8/es2017, es9/es2018, es10/es2019', - ) - .argument( - '[files...]', - 'a glob of files to to test the EcmaScript version against', - ) - .option('--module', 'use ES modules') - .option( - '--allow-hash-bang', - 'if the code starts with #! treat it as a comment', - ) - .option('--not', 'folder or file names to skip', { - validator: program.ARRAY, - }) - .action(({ logger, args, options }) => { - const configFilePath = path.resolve(process.cwd(), '.escheckrc') - - /** - * @note - * Check for a configuration file. - * - If one exists, default to those options - * - If no command line arguments are passed in - */ - const config = fs.existsSync(configFilePath) - ? JSON.parse(fs.readFileSync(configFilePath)) - : {} - const expectedEcmaVersion = args.ecmaVersion - ? args.ecmaVersion - : config.ecmaVersion - const files = - args.files && args.files.length ? args.files : [].concat(config.files) - const esmodule = options.module ? options.module : config.module - const allowHashBang = options.allowHashBang - ? options.allowHashBang - : config.allowHashBang - const pathsToIgnore = - options.not && options.not.length - ? options.not - : [].concat(config.not || []) - - if (!expectedEcmaVersion) { - logger.error( - 'No ecmaScript version passed in or found in .escheckrc. Please set your ecmaScript version in the CLI or in .escheckrc', - ) - process.exit(1) - } - - if (!files || !files.length) { - logger.error( - 'No files were passed in please pass in a list of files to es-check!', - ) - process.exit(1) - } - - /** - * @note define ecmaScript version - */ - let ecmaVersion - switch (expectedEcmaVersion) { - case 'es3': - ecmaVersion = '3' - break - case 'es4': - logger.error('ES4 is not supported.') - process.exit(1) - case 'es5': - ecmaVersion = '5' - break - case 'es6': - ecmaVersion = '6' - break - case 'es7': - ecmaVersion = '7' - break - case 'es8': - ecmaVersion = '8' - break - case 'es9': - ecmaVersion = '9' - break - case 'es10': - ecmaVersion = '10' - break - case 'es11': - ecmaVersion = '11' - break - case 'es12': - ecmaVersion = '12' - break - case 'es2015': - ecmaVersion = '6' - break - case 'es2016': - ecmaVersion = '7' - break - case 'es2017': - ecmaVersion = '8' - break - case 'es2018': - ecmaVersion = '9' - break - case 'es2019': - ecmaVersion = '10' - break - case 'es2020': - ecmaVersion = '2020' - break - case 'es2021': - ecmaVersion = '2021' - break - default: - logger.error( - 'Invalid ecmaScript version, please pass a valid version, use --help for help', - ) - process.exit(1) - } - - const errArray = [] - const globOpts = { nodir: true } - const acornOpts = { ecmaVersion: parseInt(ecmaVersion, 10), silent: true } - - const expandedPathsToIgnore = pathsToIgnore.reduce((result, path) => { - if (path.includes('*')) { - return result.concat(glob.sync(path, globOpts)) - } else { - return result.concat(path) - } - }, []) - - const filterForIgnore = (globbedFiles) => { - if (expandedPathsToIgnore && expandedPathsToIgnore.length > 0) { - const filtered = globbedFiles.filter( - (filePath) => - !expandedPathsToIgnore.some((ignoreValue) => - filePath.includes(ignoreValue), - ), - ) - return filtered - } - return globbedFiles - } - - logger.debug(`ES-Check: Going to check files using version ${ecmaVersion}`) - - if (esmodule) { - acornOpts.sourceType = 'module' - logger.debug('ES-Check: esmodule is set') - } - - if (allowHashBang) { - acornOpts.allowHashBang = true - logger.debug('ES-Check: allowHashBang is set') - } - - files.forEach((pattern) => { - const globbedFiles = glob.sync(pattern, globOpts) - - if (globbedFiles.length === 0) { - logger.error( - `ES-Check: Did not find any files to check for ${pattern}.`, - ) - process.exit(1) - } - - const filteredFiles = filterForIgnore(globbedFiles) - - filteredFiles.forEach((file) => { - const code = fs.readFileSync(file, 'utf8') - - logger.debug(`ES-Check: checking ${file}`) - try { - acorn.parse(code, acornOpts) - } catch (err) { - logger.debug( - `ES-Check: failed to parse file: ${file} \n - error: ${err}`, - ) - const errorObj = { - err, - stack: err.stack, - file, - } - errArray.push(errorObj) - } - }) - }) - - if (errArray.length > 0) { - logger.error( - `ES-Check: there were ${errArray.length} ES version matching errors.`, - ) - errArray.forEach((o) => { - logger.info(` + .version(pkg.version) + .argument( + '[ecmaVersion]', + 'ecmaVersion to check files against. Can be: es3, es4, es5, es6/es2015, es7/es2016, es8/es2017, es9/es2018, es10/es2019' + ) + .argument( + '[files...]', + 'a glob of files to to test the EcmaScript version against' + ) + .option('--module', 'use ES modules') + .option( + '--allow-hash-bang', + 'if the code starts with #! treat it as a comment' + ) + .option('--not', 'folder or file names to skip', { + validator: program.ARRAY + }) + .action(({ logger, args, options }) => { + const configFilePath = path.resolve(process.cwd(), '.escheckrc') + + /** + * @note + * Check for a configuration file. + * - If one exists, default to those options + * - If no command line arguments are passed in + */ + const config = fs.existsSync(configFilePath) + ? JSON.parse(fs.readFileSync(configFilePath)) + : {} + const expectedEcmaVersion = args.ecmaVersion + ? args.ecmaVersion + : config.ecmaVersion + const files = + args.files && args.files.length ? args.files : [].concat(config.files) + const esmodule = options.module ? options.module : config.module + const allowHashBang = options.allowHashBang + ? options.allowHashBang + : config.allowHashBang + const pathsToIgnore = + options.not && options.not.length + ? options.not + : [].concat(config.not || []) + + if (!expectedEcmaVersion) { + logger.error( + 'No ecmaScript version passed in or found in .escheckrc. Please set your ecmaScript version in the CLI or in .escheckrc' + ) + process.exit(1) + } + + if (!files || !files.length) { + logger.error( + 'No files were passed in please pass in a list of files to es-check!' + ) + process.exit(1) + } + + /** + * @note define ecmaScript version + */ + let ecmaVersion + switch (expectedEcmaVersion) { + case 'es3': + ecmaVersion = '3' + break + case 'es4': + logger.error('ES4 is not supported.') + process.exit(1) + case 'es5': + ecmaVersion = '5' + break + case 'es6': + ecmaVersion = '6' + break + case 'es7': + ecmaVersion = '7' + break + case 'es8': + ecmaVersion = '8' + break + case 'es9': + ecmaVersion = '9' + break + case 'es10': + ecmaVersion = '10' + break + case 'es11': + ecmaVersion = '11' + break + case 'es12': + ecmaVersion = '12' + break + case 'es2015': + ecmaVersion = '6' + break + case 'es2016': + ecmaVersion = '7' + break + case 'es2017': + ecmaVersion = '8' + break + case 'es2018': + ecmaVersion = '9' + break + case 'es2019': + ecmaVersion = '10' + break + case 'es2020': + ecmaVersion = '2020' + break + case 'es2021': + ecmaVersion = '2021' + break + default: + logger.error( + 'Invalid ecmaScript version, please pass a valid version, use --help for help' + ) + process.exit(1) + } + + const errArray = [] + const globOpts = { nodir: true } + const acornOpts = { ecmaVersion: parseInt(ecmaVersion, 10), silent: true } + + const expandedPathsToIgnore = pathsToIgnore.reduce((result, path) => { + if (path.includes('*')) { + return result.concat(glob.sync(path, globOpts)) + } else { + return result.concat(path) + } + }, []) + + const filterForIgnore = (globbedFiles) => { + if (expandedPathsToIgnore && expandedPathsToIgnore.length > 0) { + const filtered = globbedFiles.filter( + (filePath) => + !expandedPathsToIgnore.some((ignoreValue) => + filePath.includes(ignoreValue) + ) + ) + return filtered + } + return globbedFiles + } + + logger.debug(`ES-Check: Going to check files using version ${ecmaVersion}`) + + if (esmodule) { + acornOpts.sourceType = 'module' + logger.debug('ES-Check: esmodule is set') + } + + if (allowHashBang) { + acornOpts.allowHashBang = true + logger.debug('ES-Check: allowHashBang is set') + } + + files.forEach((pattern) => { + const globbedFiles = glob.sync(pattern, globOpts) + + if (globbedFiles.length === 0) { + logger.error( + `ES-Check: Did not find any files to check for ${pattern}.` + ) + process.exit(1) + } + + const filteredFiles = filterForIgnore(globbedFiles) + + filteredFiles.forEach((file) => { + const code = fs.readFileSync(file, 'utf8') + + logger.debug(`ES-Check: checking ${file}`) + try { + acorn.parse(code, acornOpts) + } catch (err) { + logger.debug( + `ES-Check: failed to parse file: ${file} \n - error: ${err}` + ) + const errorObj = { + err, + stack: err.stack, + file + } + errArray.push(errorObj) + } + }) + }) + + if (errArray.length > 0) { + logger.error( + `ES-Check: there were ${errArray.length} ES version matching errors.` + ) + errArray.forEach((o) => { + logger.info(` ES-Check Error: ---- ยท erroring file: ${o.file} @@ -224,10 +224,10 @@ program ----\n ${o.stack} `) - }) - process.exit(1) - } - logger.info(`ES-Check: there were no ES version matching errors! ๐ŸŽ‰`) - }) + }) + process.exit(1) + } + logger.info(`ES-Check: there were no ES version matching errors! ๐ŸŽ‰`) + }) program.run(argsArray) diff --git a/package.json b/package.json index a1ee0ba..9a1161f 100644 --- a/package.json +++ b/package.json @@ -18,11 +18,11 @@ "chore:branch": "git checkout -b chore-changelog", "chore:changelog": "conventional-changelog -p angular -i CHANGELOG.md -s -r 0", "chore:pr": "git add . && git commit -m '[chore] updates changelog' --no-verify && git push origin chore-changelog -f", - "chore": "npm run chore:delete-branch && npm run chore:branch && npm run chore:changelog && npm run chore:pr", + "chore": "pnpm run chore:delete-branch && pnpm run chore:branch && pnpm run chore:changelog && pnpm run chore:pr", "lint": "eslint index.js --fix", "lint:ci": "eslint index.js", - "prepush": "npm run lint && npm test", - "postpublish": "git tag $npm_package_version && git push origin --tags && npm run chore", + "prepush": "pnpm run lint && pnpm test", + "postpublish": "git tag $npm_package_version && git push origin --tags && pnpm run chore", "report:coverage": "nyc report --reporter=lcov > coverage.lcov && codecov", "test": "nyc mocha test.js --timeout 10s --coverage" }, @@ -36,32 +36,25 @@ }, "homepage": "https://github.com/yowainwright/es-check#readme", "devDependencies": { - "@commitlint/cli": "^16.0.2", + "@commitlint/cli": "^16.1.0", "@commitlint/config-conventional": "^16.0.0", - "@commitlint/prompt": "^16.0.0", + "@commitlint/prompt": "^16.1.0", "assert": "^2.0.0", - "codecov": "^3.0.0", - "commitizen": "^4.2.2", - "conventional-changelog-cli": "^2.0.11", - "eslint": "^7.29.0", + "codecov": "^3.8.3", + "commitizen": "^4.2.4", + "conventional-changelog-cli": "^2.2.2", + "eslint": "^8.7.0", "eslint-config-prettier": "^8.3.0", - "eslint-config-prettier-standard": "^4.0.1", - "eslint-config-standard": "^16.0.3", - "eslint-plugin-import": "^2.23.4", - "eslint-plugin-node": "^11.1.0", - "eslint-plugin-prettier": "^4.0.0", - "eslint-plugin-promise": "^5.1.0", - "husky": "^7.0.1", - "mocha": "^9.0.1", + "husky": "^7.0.4", + "mocha": "^9.2.0", "nyc": "^15.1.0", - "prettier": "^2.3.2", - "prettier-config-standard": "^4.0.0" + "prettier": "^2.5.1" }, "dependencies": { "@caporal/core": "^2.0.2", - "acorn": "^8.4.1", + "acorn": "^8.7.0", "fast-glob": "^3.2.11", - "glob": "^7.1.7" + "glob": "^7.2.0" }, "engines": { "node": ">= 4" @@ -99,10 +92,10 @@ "husky": { "hooks": { "commit-msg": "commitlint -E HUSKY_GIT_PARAMS", - "post-checkout": "if [[ $HUSKY_GIT_PARAMS =~ 1$ ]]; then yarn; fi", - "post-merge": "yarn", - "post-rewrite": "yarn", - "pre-commit": "yarn test && yarn lint" + "post-checkout": "if [[ $HUSKY_GIT_PARAMS =~ 1$ ]]; then pnpm i -r; fi", + "post-merge": "pnpm i -r", + "post-rewrite": "pnpm i -r", + "pre-commit": "pnpm test && pnpm lint" } } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e395cf5..cd39dcb 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -5,93 +5,73 @@ overrides: specifiers: '@caporal/core': ^2.0.2 - '@commitlint/cli': ^16.0.2 + '@commitlint/cli': ^16.1.0 '@commitlint/config-conventional': ^16.0.0 - '@commitlint/prompt': ^16.0.0 - acorn: ^8.4.1 + '@commitlint/prompt': ^16.1.0 + acorn: ^8.7.0 assert: ^2.0.0 - codecov: ^3.0.0 - commitizen: ^4.2.2 - conventional-changelog-cli: ^2.0.11 - eslint: ^7.29.0 + codecov: ^3.8.3 + commitizen: ^4.2.4 + conventional-changelog-cli: ^2.2.2 + eslint: ^8.7.0 eslint-config-prettier: ^8.3.0 - eslint-config-prettier-standard: ^4.0.1 - eslint-config-standard: ^16.0.3 - eslint-plugin-import: ^2.23.4 - eslint-plugin-node: ^11.1.0 - eslint-plugin-prettier: ^4.0.0 - eslint-plugin-promise: ^5.1.0 fast-glob: ^3.2.11 - glob: ^7.1.7 - husky: ^7.0.1 - mocha: ^9.0.1 + glob: ^7.2.0 + husky: ^7.0.4 + mocha: ^9.2.0 nyc: ^15.1.0 - prettier: ^2.3.2 - prettier-config-standard: ^4.0.0 + prettier: ^2.5.1 dependencies: '@caporal/core': 2.0.2 - acorn: 8.5.0 + acorn: 8.7.0 fast-glob: 3.2.11 glob: 7.2.0 devDependencies: '@commitlint/cli': 16.1.0 '@commitlint/config-conventional': 16.0.0 - '@commitlint/prompt': 16.0.0 + '@commitlint/prompt': 16.1.0 assert: 2.0.0 codecov: 3.8.3 commitizen: 4.2.4 - conventional-changelog-cli: 2.1.1 - eslint: 7.32.0 - eslint-config-prettier: 8.3.0_eslint@7.32.0 - eslint-config-prettier-standard: 4.0.1_99bafad677f3c3aca793f5ec18085b52 - eslint-config-standard: 16.0.3_c064783008e6437da98d184fd45815b6 - eslint-plugin-import: 2.25.3_eslint@7.32.0 - eslint-plugin-node: 11.1.0_eslint@7.32.0 - eslint-plugin-prettier: 4.0.0_6e975bd57c7acf028c1a9ddbbf60c898 - eslint-plugin-promise: 5.1.1_eslint@7.32.0 + conventional-changelog-cli: 2.2.2 + eslint: 8.7.0 + eslint-config-prettier: 8.3.0_eslint@8.7.0 husky: 7.0.4 - mocha: 9.1.3 + mocha: 9.2.0 nyc: 15.1.0 - prettier: 2.4.1 - prettier-config-standard: 4.0.0 + prettier: 2.5.1 packages: - /@babel/code-frame/7.12.11: - resolution: {integrity: sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==} - dependencies: - '@babel/highlight': 7.16.0 - dev: true - - /@babel/code-frame/7.16.0: - resolution: {integrity: sha512-IF4EOMEV+bfYwOmNxGzSnjR2EmQod7f1UXOpZM3l4i4o4QNwzjtJAu/HxdjHq0aYBvdqMuQEY1eg0nqW9ZPORA==} + /@babel/code-frame/7.16.7: + resolution: {integrity: sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==} engines: {node: '>=6.9.0'} dependencies: - '@babel/highlight': 7.16.0 + '@babel/highlight': 7.16.10 dev: true - /@babel/compat-data/7.16.0: - resolution: {integrity: sha512-DGjt2QZse5SGd9nfOSqO4WLJ8NN/oHkijbXbPrxuoJO3oIPJL3TciZs9FX+cOHNiY9E9l0opL8g7BmLe3T+9ew==} + /@babel/compat-data/7.16.8: + resolution: {integrity: sha512-m7OkX0IdKLKPpBlJtF561YJal5y/jyI5fNfWbPxh2D/nbzzGI4qRyrD8xO2jB24u7l+5I2a43scCG2IrfjC50Q==} engines: {node: '>=6.9.0'} dev: true - /@babel/core/7.16.0: - resolution: {integrity: sha512-mYZEvshBRHGsIAiyH5PzCFTCfbWfoYbO/jcSdXQSUQu1/pW0xDZAUP7KEc32heqWTAfAHhV9j1vH8Sav7l+JNQ==} + /@babel/core/7.16.12: + resolution: {integrity: sha512-dK5PtG1uiN2ikk++5OzSYsitZKny4wOCD0nrO4TqnW4BVBTQ2NGS3NgilvT/TEyxTST7LNyWV/T4tXDoD3fOgg==} engines: {node: '>=6.9.0'} dependencies: - '@babel/code-frame': 7.16.0 - '@babel/generator': 7.16.0 - '@babel/helper-compilation-targets': 7.16.3_@babel+core@7.16.0 - '@babel/helper-module-transforms': 7.16.0 - '@babel/helpers': 7.16.3 - '@babel/parser': 7.16.3 - '@babel/template': 7.16.0 - '@babel/traverse': 7.16.3 - '@babel/types': 7.16.0 + '@babel/code-frame': 7.16.7 + '@babel/generator': 7.16.8 + '@babel/helper-compilation-targets': 7.16.7_@babel+core@7.16.12 + '@babel/helper-module-transforms': 7.16.7 + '@babel/helpers': 7.16.7 + '@babel/parser': 7.16.12 + '@babel/template': 7.16.7 + '@babel/traverse': 7.16.10 + '@babel/types': 7.16.8 convert-source-map: 1.8.0 - debug: 4.3.2 + debug: 4.3.3 gensync: 1.0.0-beta.2 json5: 2.2.0 semver: 6.3.0 @@ -100,181 +80,163 @@ packages: - supports-color dev: true - /@babel/generator/7.16.0: - resolution: {integrity: sha512-RR8hUCfRQn9j9RPKEVXo9LiwoxLPYn6hNZlvUOR8tSnaxlD0p0+la00ZP9/SnRt6HchKr+X0fO2r8vrETiJGew==} + /@babel/generator/7.16.8: + resolution: {integrity: sha512-1ojZwE9+lOXzcWdWmO6TbUzDfqLD39CmEhN8+2cX9XkDo5yW1OpgfejfliysR2AWLpMamTiOiAp/mtroaymhpw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.16.0 + '@babel/types': 7.16.8 jsesc: 2.5.2 source-map: 0.5.7 dev: true - /@babel/helper-compilation-targets/7.16.3_@babel+core@7.16.0: - resolution: {integrity: sha512-vKsoSQAyBmxS35JUOOt+07cLc6Nk/2ljLIHwmq2/NM6hdioUaqEXq/S+nXvbvXbZkNDlWOymPanJGOc4CBjSJA==} + /@babel/helper-compilation-targets/7.16.7_@babel+core@7.16.12: + resolution: {integrity: sha512-mGojBwIWcwGD6rfqgRXVlVYmPAv7eOpIemUG3dGnDdCY4Pae70ROij3XmfrH6Fa1h1aiDylpglbZyktfzyo/hA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/compat-data': 7.16.0 - '@babel/core': 7.16.0 - '@babel/helper-validator-option': 7.14.5 - browserslist: 4.18.1 + '@babel/compat-data': 7.16.8 + '@babel/core': 7.16.12 + '@babel/helper-validator-option': 7.16.7 + browserslist: 4.19.1 semver: 6.3.0 dev: true - /@babel/helper-function-name/7.16.0: - resolution: {integrity: sha512-BZh4mEk1xi2h4HFjWUXRQX5AEx4rvaZxHgax9gcjdLWdkjsY7MKt5p0otjsg5noXw+pB+clMCjw+aEVYADMjog==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/helper-get-function-arity': 7.16.0 - '@babel/template': 7.16.0 - '@babel/types': 7.16.0 - dev: true - - /@babel/helper-get-function-arity/7.16.0: - resolution: {integrity: sha512-ASCquNcywC1NkYh/z7Cgp3w31YW8aojjYIlNg4VeJiHkqyP4AzIvr4qx7pYDb4/s8YcsZWqqOSxgkvjUz1kpDQ==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.16.0 - dev: true - - /@babel/helper-hoist-variables/7.16.0: - resolution: {integrity: sha512-1AZlpazjUR0EQZQv3sgRNfM9mEVWPK3M6vlalczA+EECcPz3XPh6VplbErL5UoMpChhSck5wAJHthlj1bYpcmg==} + /@babel/helper-environment-visitor/7.16.7: + resolution: {integrity: sha512-SLLb0AAn6PkUeAfKJCCOl9e1R53pQlGAfc4y4XuMRZfqeMYLE0dM1LMhqbGAlGQY0lfw5/ohoYWAe9V1yibRag==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.16.0 + '@babel/types': 7.16.8 dev: true - /@babel/helper-member-expression-to-functions/7.16.0: - resolution: {integrity: sha512-bsjlBFPuWT6IWhl28EdrQ+gTvSvj5tqVP5Xeftp07SEuz5pLnsXZuDkDD3Rfcxy0IsHmbZ+7B2/9SHzxO0T+sQ==} + /@babel/helper-function-name/7.16.7: + resolution: {integrity: sha512-QfDfEnIUyyBSR3HtrtGECuZ6DAyCkYFp7GHl75vFtTnn6pjKeK0T1DB5lLkFvBea8MdaiUABx3osbgLyInoejA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.16.0 + '@babel/helper-get-function-arity': 7.16.7 + '@babel/template': 7.16.7 + '@babel/types': 7.16.8 dev: true - /@babel/helper-module-imports/7.16.0: - resolution: {integrity: sha512-kkH7sWzKPq0xt3H1n+ghb4xEMP8k0U7XV3kkB+ZGy69kDk2ySFW1qPi06sjKzFY3t1j6XbJSqr4mF9L7CYVyhg==} + /@babel/helper-get-function-arity/7.16.7: + resolution: {integrity: sha512-flc+RLSOBXzNzVhcLu6ujeHUrD6tANAOU5ojrRx/as+tbzf8+stUCj7+IfRRoAbEZqj/ahXEMsjhOhgeZsrnTw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.16.0 + '@babel/types': 7.16.8 dev: true - /@babel/helper-module-transforms/7.16.0: - resolution: {integrity: sha512-My4cr9ATcaBbmaEa8M0dZNA74cfI6gitvUAskgDtAFmAqyFKDSHQo5YstxPbN+lzHl2D9l/YOEFqb2mtUh4gfA==} + /@babel/helper-hoist-variables/7.16.7: + resolution: {integrity: sha512-m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg==} engines: {node: '>=6.9.0'} dependencies: - '@babel/helper-module-imports': 7.16.0 - '@babel/helper-replace-supers': 7.16.0 - '@babel/helper-simple-access': 7.16.0 - '@babel/helper-split-export-declaration': 7.16.0 - '@babel/helper-validator-identifier': 7.15.7 - '@babel/template': 7.16.0 - '@babel/traverse': 7.16.3 - '@babel/types': 7.16.0 - transitivePeerDependencies: - - supports-color + '@babel/types': 7.16.8 dev: true - /@babel/helper-optimise-call-expression/7.16.0: - resolution: {integrity: sha512-SuI467Gi2V8fkofm2JPnZzB/SUuXoJA5zXe/xzyPP2M04686RzFKFHPK6HDVN6JvWBIEW8tt9hPR7fXdn2Lgpw==} + /@babel/helper-module-imports/7.16.7: + resolution: {integrity: sha512-LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.16.0 + '@babel/types': 7.16.8 dev: true - /@babel/helper-replace-supers/7.16.0: - resolution: {integrity: sha512-TQxuQfSCdoha7cpRNJvfaYxxxzmbxXw/+6cS7V02eeDYyhxderSoMVALvwupA54/pZcOTtVeJ0xccp1nGWladA==} + /@babel/helper-module-transforms/7.16.7: + resolution: {integrity: sha512-gaqtLDxJEFCeQbYp9aLAefjhkKdjKcdh6DB7jniIGU3Pz52WAmP268zK0VgPz9hUNkMSYeH976K2/Y6yPadpng==} engines: {node: '>=6.9.0'} dependencies: - '@babel/helper-member-expression-to-functions': 7.16.0 - '@babel/helper-optimise-call-expression': 7.16.0 - '@babel/traverse': 7.16.3 - '@babel/types': 7.16.0 + '@babel/helper-environment-visitor': 7.16.7 + '@babel/helper-module-imports': 7.16.7 + '@babel/helper-simple-access': 7.16.7 + '@babel/helper-split-export-declaration': 7.16.7 + '@babel/helper-validator-identifier': 7.16.7 + '@babel/template': 7.16.7 + '@babel/traverse': 7.16.10 + '@babel/types': 7.16.8 transitivePeerDependencies: - supports-color dev: true - /@babel/helper-simple-access/7.16.0: - resolution: {integrity: sha512-o1rjBT/gppAqKsYfUdfHq5Rk03lMQrkPHG1OWzHWpLgVXRH4HnMM9Et9CVdIqwkCQlobnGHEJMsgWP/jE1zUiw==} + /@babel/helper-simple-access/7.16.7: + resolution: {integrity: sha512-ZIzHVyoeLMvXMN/vok/a4LWRy8G2v205mNP0XOuf9XRLyX5/u9CnVulUtDgUTama3lT+bf/UqucuZjqiGuTS1g==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.16.0 + '@babel/types': 7.16.8 dev: true - /@babel/helper-split-export-declaration/7.16.0: - resolution: {integrity: sha512-0YMMRpuDFNGTHNRiiqJX19GjNXA4H0E8jZ2ibccfSxaCogbm3am5WN/2nQNj0YnQwGWM1J06GOcQ2qnh3+0paw==} + /@babel/helper-split-export-declaration/7.16.7: + resolution: {integrity: sha512-xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.16.0 + '@babel/types': 7.16.8 dev: true - /@babel/helper-validator-identifier/7.15.7: - resolution: {integrity: sha512-K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w==} + /@babel/helper-validator-identifier/7.16.7: + resolution: {integrity: sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==} engines: {node: '>=6.9.0'} dev: true - /@babel/helper-validator-option/7.14.5: - resolution: {integrity: sha512-OX8D5eeX4XwcroVW45NMvoYaIuFI+GQpA2a8Gi+X/U/cDUIRsV37qQfF905F0htTRCREQIB4KqPeaveRJUl3Ow==} + /@babel/helper-validator-option/7.16.7: + resolution: {integrity: sha512-TRtenOuRUVo9oIQGPC5G9DgK4743cdxvtOw0weQNpZXaS16SCBi5MNjZF8vba3ETURjZpTbVn7Vvcf2eAwFozQ==} engines: {node: '>=6.9.0'} dev: true - /@babel/helpers/7.16.3: - resolution: {integrity: sha512-Xn8IhDlBPhvYTvgewPKawhADichOsbkZuzN7qz2BusOM0brChsyXMDJvldWaYMMUNiCQdQzNEioXTp3sC8Nt8w==} + /@babel/helpers/7.16.7: + resolution: {integrity: sha512-9ZDoqtfY7AuEOt3cxchfii6C7GDyyMBffktR5B2jvWv8u2+efwvpnVKXMWzNehqy68tKgAfSwfdw/lWpthS2bw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/template': 7.16.0 - '@babel/traverse': 7.16.3 - '@babel/types': 7.16.0 + '@babel/template': 7.16.7 + '@babel/traverse': 7.16.10 + '@babel/types': 7.16.8 transitivePeerDependencies: - supports-color dev: true - /@babel/highlight/7.16.0: - resolution: {integrity: sha512-t8MH41kUQylBtu2+4IQA3atqevA2lRgqA2wyVB/YiWmsDSuylZZuXOUy9ric30hfzauEFfdsuk/eXTRrGrfd0g==} + /@babel/highlight/7.16.10: + resolution: {integrity: sha512-5FnTQLSLswEj6IkgVw5KusNUUFY9ZGqe/TRFnP/BKYHYgfh7tc+C7mwiy95/yNP7Dh9x580Vv8r7u7ZfTBFxdw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/helper-validator-identifier': 7.15.7 + '@babel/helper-validator-identifier': 7.16.7 chalk: 2.4.2 js-tokens: 4.0.0 dev: true - /@babel/parser/7.16.3: - resolution: {integrity: sha512-dcNwU1O4sx57ClvLBVFbEgx0UZWfd0JQX5X6fxFRCLHelFBGXFfSz6Y0FAq2PEwUqlqLkdVjVr4VASEOuUnLJw==} + /@babel/parser/7.16.12: + resolution: {integrity: sha512-VfaV15po8RiZssrkPweyvbGVSe4x2y+aciFCgn0n0/SJMR22cwofRV1mtnJQYcSB1wUTaA/X1LnA3es66MCO5A==} engines: {node: '>=6.0.0'} hasBin: true dev: true - /@babel/template/7.16.0: - resolution: {integrity: sha512-MnZdpFD/ZdYhXwiunMqqgyZyucaYsbL0IrjoGjaVhGilz+x8YB++kRfygSOIj1yOtWKPlx7NBp+9I1RQSgsd5A==} + /@babel/template/7.16.7: + resolution: {integrity: sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w==} engines: {node: '>=6.9.0'} dependencies: - '@babel/code-frame': 7.16.0 - '@babel/parser': 7.16.3 - '@babel/types': 7.16.0 + '@babel/code-frame': 7.16.7 + '@babel/parser': 7.16.12 + '@babel/types': 7.16.8 dev: true - /@babel/traverse/7.16.3: - resolution: {integrity: sha512-eolumr1vVMjqevCpwVO99yN/LoGL0EyHiLO5I043aYQvwOJ9eR5UsZSClHVCzfhBduMAsSzgA/6AyqPjNayJag==} + /@babel/traverse/7.16.10: + resolution: {integrity: sha512-yzuaYXoRJBGMlBhsMJoUW7G1UmSb/eXr/JHYM/MsOJgavJibLwASijW7oXBdw3NQ6T0bW7Ty5P/VarOs9cHmqw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/code-frame': 7.16.0 - '@babel/generator': 7.16.0 - '@babel/helper-function-name': 7.16.0 - '@babel/helper-hoist-variables': 7.16.0 - '@babel/helper-split-export-declaration': 7.16.0 - '@babel/parser': 7.16.3 - '@babel/types': 7.16.0 - debug: 4.3.2 + '@babel/code-frame': 7.16.7 + '@babel/generator': 7.16.8 + '@babel/helper-environment-visitor': 7.16.7 + '@babel/helper-function-name': 7.16.7 + '@babel/helper-hoist-variables': 7.16.7 + '@babel/helper-split-export-declaration': 7.16.7 + '@babel/parser': 7.16.12 + '@babel/types': 7.16.8 + debug: 4.3.3 globals: 11.12.0 transitivePeerDependencies: - supports-color dev: true - /@babel/types/7.16.0: - resolution: {integrity: sha512-PJgg/k3SdLsGb3hhisFvtLOw5ts113klrpLuIPtCJIU+BB24fqq6lf8RWqKJEjzqXR9AEH1rIb5XTqwBHB+kQg==} + /@babel/types/7.16.8: + resolution: {integrity: sha512-smN2DQc5s4M7fntyjGtyIPbRJv6wW4rU/94fmYJ7PKQuZkC0qGMHXJbg6sNGt12JmVr4k5YaptI/XtiLJBnmIg==} engines: {node: '>=6.9.0'} dependencies: - '@babel/helper-validator-identifier': 7.15.7 + '@babel/helper-validator-identifier': 7.16.7 to-fast-properties: 2.0.0 dev: true @@ -312,7 +274,7 @@ packages: lodash: 4.17.21 resolve-from: 5.0.0 resolve-global: 1.0.0 - yargs: 17.2.1 + yargs: 17.3.1 transitivePeerDependencies: - '@swc/core' - '@swc/wasm' @@ -323,15 +285,7 @@ packages: resolution: {integrity: sha512-mN7J8KlKFn0kROd+q9PB01sfDx/8K/R25yITspL1No8PB4oj9M1p77xWjP80hPydqZG9OvQq+anXK3ZWeR7s3g==} engines: {node: '>=v12'} dependencies: - conventional-changelog-conventionalcommits: 4.6.1 - dev: true - - /@commitlint/config-validator/16.0.0: - resolution: {integrity: sha512-i80DGlo1FeC5jZpuoNV9NIjQN/m2dDV3jYGWg+1Wr+KldptkUHXj+6GY1Akll66lJ3D8s6aUGi3comPLHPtWHg==} - engines: {node: '>=v12'} - dependencies: - '@commitlint/types': 16.0.0 - ajv: 6.12.6 + conventional-changelog-conventionalcommits: 4.6.3 dev: true /@commitlint/config-validator/16.1.0: @@ -381,26 +335,6 @@ packages: '@commitlint/types': 16.0.0 dev: true - /@commitlint/load/16.0.0: - resolution: {integrity: sha512-7WhrGCkP6K/XfjBBguLkkI2XUdiiIyMGlNsSoSqgRNiD352EiffhFEApMy1/XOU+viwBBm/On0n5p0NC7e9/4A==} - engines: {node: '>=v12'} - dependencies: - '@commitlint/config-validator': 16.0.0 - '@commitlint/execute-rule': 16.0.0 - '@commitlint/resolve-extends': 16.0.0 - '@commitlint/types': 16.0.0 - chalk: 4.1.2 - cosmiconfig: 7.0.1 - cosmiconfig-typescript-loader: 1.0.2_typescript@4.4.4 - lodash: 4.17.21 - resolve-from: 5.0.0 - typescript: 4.4.4 - transitivePeerDependencies: - - '@swc/core' - - '@swc/wasm' - - '@types/node' - dev: true - /@commitlint/load/16.1.0: resolution: {integrity: sha512-MtlEhKjP8jAF85jjX4mw8DUUwCxKsCgAc865hhpnwxjrfBcmGP7Up2AFE/M3ZMGDmSl1X1TMybQk/zohj8Cqdg==} engines: {node: '>=v12'} @@ -411,10 +345,10 @@ packages: '@commitlint/types': 16.0.0 chalk: 4.1.2 cosmiconfig: 7.0.1 - cosmiconfig-typescript-loader: 1.0.2_typescript@4.4.4 + cosmiconfig-typescript-loader: 1.0.4_typescript@4.5.5 lodash: 4.17.21 resolve-from: 5.0.0 - typescript: 4.4.4 + typescript: 4.5.5 transitivePeerDependencies: - '@swc/core' - '@swc/wasm' @@ -432,15 +366,15 @@ packages: dependencies: '@commitlint/types': 16.0.0 conventional-changelog-angular: 5.0.13 - conventional-commits-parser: 3.2.3 + conventional-commits-parser: 3.2.4 dev: true - /@commitlint/prompt/16.0.0: - resolution: {integrity: sha512-16/ocgIWErDDv+jmXWQtA0X6sswt+enx8DFo+K5bxHrKz4XFTeIspivLFWpieU/4EcjzGaqBirdnP3IYqqEXDg==} + /@commitlint/prompt/16.1.0: + resolution: {integrity: sha512-YX/jGdP/VKUuWooBEz2sClxewQlXa6U1xXkfUseWXhbYJYPVb/tUDE5Bo1g9DXtBlyyLaYKfqZ3ZYvSEAd82Uw==} engines: {node: '>=v12'} dependencies: '@commitlint/ensure': 16.0.0 - '@commitlint/load': 16.0.0 + '@commitlint/load': 16.1.0 '@commitlint/types': 16.0.0 chalk: 4.1.2 inquirer: 6.5.2 @@ -458,19 +392,7 @@ packages: '@commitlint/top-level': 16.0.0 '@commitlint/types': 16.0.0 fs-extra: 10.0.0 - git-raw-commits: 2.0.10 - dev: true - - /@commitlint/resolve-extends/16.0.0: - resolution: {integrity: sha512-Z/w9MAQUcxeawpCLtjmkVNXAXOmB2nhW+LYmHEZcx9O6UTauF/1+uuZ2/r0MtzTe1qw2JD+1QHVhEWYHVPlkdA==} - engines: {node: '>=v12'} - dependencies: - '@commitlint/config-validator': 16.0.0 - '@commitlint/types': 16.0.0 - import-fresh: 3.3.0 - lodash: 4.17.21 - resolve-from: 5.0.0 - resolve-global: 1.0.0 + git-raw-commits: 2.0.11 dev: true /@commitlint/resolve-extends/16.1.0: @@ -527,29 +449,29 @@ packages: '@cspotcode/source-map-consumer': 0.8.0 dev: true - /@eslint/eslintrc/0.4.3: - resolution: {integrity: sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw==} - engines: {node: ^10.12.0 || >=12.0.0} + /@eslint/eslintrc/1.0.5: + resolution: {integrity: sha512-BLxsnmK3KyPunz5wmCCpqy0YelEoxxGmH73Is+Z74oOTMtExcjkr3dDR6quwrjh1YspA8DH9gnX1o069KiS9AQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: ajv: 6.12.6 - debug: 4.3.2 - espree: 7.3.1 + debug: 4.3.3 + espree: 9.3.0 globals: 13.12.0 ignore: 4.0.6 import-fresh: 3.3.0 - js-yaml: 3.14.1 + js-yaml: 4.1.0 minimatch: 3.0.4 strip-json-comments: 3.1.1 transitivePeerDependencies: - supports-color dev: true - /@humanwhocodes/config-array/0.5.0: - resolution: {integrity: sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg==} + /@humanwhocodes/config-array/0.9.3: + resolution: {integrity: sha512-3xSMlXHh03hCcCmFc0rbKp3Ivt2PFEJnQUJDDMTJQ2wkECZWdq4GePs2ctc5H8zV+cHPaq8k2vU8mrQjA6iHdQ==} engines: {node: '>=10.10.0'} dependencies: '@humanwhocodes/object-schema': 1.2.1 - debug: 4.3.2 + debug: 4.3.3 minimatch: 3.0.4 transitivePeerDependencies: - supports-color @@ -629,10 +551,6 @@ packages: '@types/node': 13.9.3 dev: false - /@types/json5/0.0.29: - resolution: {integrity: sha1-7ihweulOEdK4J7y+UnC86n8+ce4=} - dev: true - /@types/lodash/4.14.149: resolution: {integrity: sha512-ijGqzZt/b7BfzcK9vTrS6MFljQRPn5BFWOx8oE0GYxribu6uV+aA9zZuXI1zc/etK9E8nrgdoF2+LgUw7+9tJQ==} dev: false @@ -683,12 +601,12 @@ packages: through: 2.3.8 dev: true - /acorn-jsx/5.3.2_acorn@7.4.1: + /acorn-jsx/5.3.2_acorn@8.7.0: resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} peerDependencies: acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: - acorn: 7.4.1 + acorn: 8.7.0 dev: true /acorn-walk/8.2.0: @@ -696,14 +614,8 @@ packages: engines: {node: '>=0.4.0'} dev: true - /acorn/7.4.1: - resolution: {integrity: sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==} - engines: {node: '>=0.4.0'} - hasBin: true - dev: true - - /acorn/8.5.0: - resolution: {integrity: sha512-yXbYeFy+jUuYd3/CDcg2NkIYE991XYX/bje7LmjJigUciaeO1JR4XxXgCIV1/Zc/dRuFEyw1L0pbA+qynJkW5Q==} + /acorn/8.7.0: + resolution: {integrity: sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==} engines: {node: '>=0.4.0'} hasBin: true @@ -715,7 +627,7 @@ packages: resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} engines: {node: '>= 6.0.0'} dependencies: - debug: 4.3.2 + debug: 4.3.3 transitivePeerDependencies: - supports-color dev: true @@ -736,15 +648,6 @@ packages: json-schema-traverse: 0.4.1 uri-js: 4.4.1 - /ajv/8.8.0: - resolution: {integrity: sha512-L+cJ/+pkdICMueKR6wIx3VP2fjIx3yAhuvadUv/osv9yFD7OVZy442xFF+Oeu3ZvmhBGQzoF6mTSt+LUWBmGQg==} - dependencies: - fast-deep-equal: 3.1.3 - json-schema-traverse: 1.0.0 - require-from-string: 2.0.2 - uri-js: 4.4.1 - dev: true - /ansi-colors/4.1.1: resolution: {integrity: sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==} engines: {node: '>=6'} @@ -775,7 +678,7 @@ packages: engines: {node: '>= 8'} dependencies: normalize-path: 3.0.0 - picomatch: 2.3.0 + picomatch: 2.3.1 dev: true /append-transform/2.0.0: @@ -812,26 +715,6 @@ packages: resolution: {integrity: sha1-nlKHYrSpBmrRY6aWKjZEGOlibs4=} dev: true - /array-includes/3.1.4: - resolution: {integrity: sha512-ZTNSQkmWumEbiHO2GF4GmWxYVTiQyJy2XOTa15sdQSrvKn7l+180egQMqlrMOUMCyLMD7pmyQe4mMDUT6Behrw==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.2 - define-properties: 1.1.3 - es-abstract: 1.19.1 - get-intrinsic: 1.1.1 - is-string: 1.0.7 - dev: true - - /array.prototype.flat/1.2.5: - resolution: {integrity: sha512-KaYU+S+ndVqyUnignHftkwc58o3uVU1jzczILJ1tN2YaIZpFIKBiP/x/j97E5MVPsaCloPbqWLB/8qCTVvT2qg==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.2 - define-properties: 1.1.3 - es-abstract: 1.19.1 - dev: true - /arrify/1.0.1: resolution: {integrity: sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=} engines: {node: '>=0.10.0'} @@ -851,15 +734,10 @@ packages: engines: {node: '>=4'} dev: false - /astral-regex/2.0.0: - resolution: {integrity: sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==} - engines: {node: '>=8'} - dev: true - /async/2.6.3: resolution: {integrity: sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==} dependencies: - lodash: 4.17.21 + lodash: 4.17.15 dev: false /available-typed-arrays/1.0.5: @@ -891,13 +769,13 @@ packages: resolution: {integrity: sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==} dev: true - /browserslist/4.18.1: - resolution: {integrity: sha512-8ScCzdpPwR2wQh8IT82CA2VgDwjHyqMovPBZSNH54+tm4Jk2pCuv90gmAdH6J84OCRWi0b4gMe6O6XPXuJnjgQ==} + /browserslist/4.19.1: + resolution: {integrity: sha512-u2tbbG5PdKRTUoctO3NBD8FQ5HdPh1ZXPHzp1rwaa5jTc+RV9/+RlWiAIKmjRPQF+xbGM9Kklj5bZQFa2s/38A==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true dependencies: - caniuse-lite: 1.0.30001280 - electron-to-chromium: 1.3.898 + caniuse-lite: 1.0.30001303 + electron-to-chromium: 1.4.55 escalade: 3.1.1 node-releases: 2.0.1 picocolors: 1.0.0 @@ -944,13 +822,13 @@ packages: engines: {node: '>=6'} dev: true - /camelcase/6.2.1: - resolution: {integrity: sha512-tVI4q5jjFV5CavAU8DXfza/TJcZutVKo/5Foskmsqcm0MsL91moHvwiGNnqaa2o6PF/7yT5ikDRcVcl8Rj6LCA==} + /camelcase/6.3.0: + resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} engines: {node: '>=10'} dev: true - /caniuse-lite/1.0.30001280: - resolution: {integrity: sha512-kFXwYvHe5rix25uwueBxC569o53J6TpnGu0BEEn+6Lhl2vsnAumRFWEBhDft1fwyo6m1r4i+RqA4+163FpeFcA==} + /caniuse-lite/1.0.30001303: + resolution: {integrity: sha512-/Mqc1oESndUNszJP0kx0UaQU9kEv9nNtJ7Kn8AdA0mNnH8eR1cj0kG+NbNuC1Wq/b21eA8prhKRA3bbkjONegQ==} dev: true /chalk/2.4.2: @@ -980,8 +858,8 @@ packages: /chardet/0.7.0: resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==} - /chokidar/3.5.2: - resolution: {integrity: sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ==} + /chokidar/3.5.3: + resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==} engines: {node: '>= 8.10.0'} dependencies: anymatch: 3.1.2 @@ -1037,6 +915,7 @@ packages: teeny-request: 7.1.1 urlgrey: 1.0.0 transitivePeerDependencies: + - encoding - supports-color dev: true @@ -1057,8 +936,8 @@ packages: /color-name/1.1.4: resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} - /color-string/1.6.0: - resolution: {integrity: sha512-c/hGS+kRWJutUBEngKKmk4iH3sD59MBkoxVapS/0wgpCz2u7XsNloxknyvBhzwEs1IbV36D9PwqLPJ2DTu3vMA==} + /color-string/1.9.0: + resolution: {integrity: sha512-9Mrz2AQLefkH1UvASKj6v6hj/7eWgjnT/cVsR8CumieLoT+g900exWeNogqtweI8dxloXN9BDQTYro1oWu/5CQ==} dependencies: color-name: 1.1.4 simple-swizzle: 0.2.2 @@ -1068,7 +947,7 @@ packages: resolution: {integrity: sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==} dependencies: color-convert: 1.9.3 - color-string: 1.6.0 + color-string: 1.9.0 dev: false /colornames/1.1.1: @@ -1141,13 +1020,13 @@ packages: q: 1.5.1 dev: true - /conventional-changelog-cli/2.1.1: - resolution: {integrity: sha512-xMGQdKJ+4XFDDgfX5aK7UNFduvJMbvF5BB+g0OdVhA3rYdYyhctrIE2Al+WYdZeKTdg9YzMWF2iFPT8MupIwng==} + /conventional-changelog-cli/2.2.2: + resolution: {integrity: sha512-8grMV5Jo8S0kP3yoMeJxV2P5R6VJOqK72IiSV9t/4H5r/HiRqEBQ83bYGuz4Yzfdj4bjaAEhZN/FFbsFXr5bOA==} engines: {node: '>=10'} hasBin: true dependencies: add-stream: 1.0.0 - conventional-changelog: 3.1.24 + conventional-changelog: 3.1.25 lodash: 4.17.21 meow: 8.1.2 tempfile: 3.0.0 @@ -1160,8 +1039,8 @@ packages: q: 1.5.1 dev: true - /conventional-changelog-conventionalcommits/4.6.1: - resolution: {integrity: sha512-lzWJpPZhbM1R0PIzkwzGBCnAkH5RKJzJfFQZcl/D+2lsJxAwGnDKBqn/F4C1RD31GJNn8NuKWQzAZDAVXPp2Mw==} + /conventional-changelog-conventionalcommits/4.6.3: + resolution: {integrity: sha512-LTTQV4fwOM4oLPad317V/QNQ1FY4Hju5qeBIM1uTHbrnCE+Eg4CdRZ3gO2pUeR+tzWdp80M2j3qFFEDWVqOV4g==} engines: {node: '>=10'} dependencies: compare-func: 2.0.0 @@ -1174,11 +1053,11 @@ packages: engines: {node: '>=10'} dependencies: add-stream: 1.0.0 - conventional-changelog-writer: 5.0.0 - conventional-commits-parser: 3.2.3 + conventional-changelog-writer: 5.0.1 + conventional-commits-parser: 3.2.4 dateformat: 3.0.3 get-pkg-repo: 4.2.1 - git-raw-commits: 2.0.10 + git-raw-commits: 2.0.11 git-remote-origin-url: 2.0.0 git-semver-tags: 4.1.1 lodash: 4.17.21 @@ -1230,8 +1109,8 @@ packages: engines: {node: '>=10'} dev: true - /conventional-changelog-writer/5.0.0: - resolution: {integrity: sha512-HnDh9QHLNWfL6E1uHz6krZEQOgm8hN7z/m7tT16xwd802fwgMN0Wqd7AQYVkhpsjDUx/99oo+nGgvKF657XP5g==} + /conventional-changelog-writer/5.0.1: + resolution: {integrity: sha512-5WsuKUfxW7suLblAbFnxAcrvf6r+0b7GvNaWUwUIk0bXMnENP/PEieGKVUQrjPqwPT4o3EPAASBXiY6iHooLOQ==} engines: {node: '>=10'} hasBin: true dependencies: @@ -1246,14 +1125,14 @@ packages: through2: 4.0.2 dev: true - /conventional-changelog/3.1.24: - resolution: {integrity: sha512-ed6k8PO00UVvhExYohroVPXcOJ/K1N0/drJHx/faTH37OIZthlecuLIRX/T6uOp682CAoVoFpu+sSEaeuH6Asg==} + /conventional-changelog/3.1.25: + resolution: {integrity: sha512-ryhi3fd1mKf3fSjbLXOfK2D06YwKNic1nC9mWqybBHdObPd8KJ2vjaXZfYj1U23t+V8T8n0d7gwnc9XbIdFbyQ==} engines: {node: '>=10'} dependencies: conventional-changelog-angular: 5.0.13 conventional-changelog-atom: 2.0.8 conventional-changelog-codemirror: 2.0.8 - conventional-changelog-conventionalcommits: 4.6.1 + conventional-changelog-conventionalcommits: 4.6.3 conventional-changelog-core: 4.2.4 conventional-changelog-ember: 2.0.9 conventional-changelog-eslint: 3.0.9 @@ -1275,8 +1154,8 @@ packages: modify-values: 1.0.1 dev: true - /conventional-commits-parser/3.2.3: - resolution: {integrity: sha512-YyRDR7On9H07ICFpRm/igcdjIqebXbvf4Cff+Pf0BrBys1i1EOzx9iFXNlAbdrLAR8jf7bkUYkDAr8pEy0q4Pw==} + /conventional-commits-parser/3.2.4: + resolution: {integrity: sha512-nK7sAtfi+QXbxHCYfhpZsfRtaitZLIA6889kFIouLvz6repszQDgxBu7wf2WbU+Dco7sAnNCJYERCwt54WPC2Q==} engines: {node: '>=10'} hasBin: true dependencies: @@ -1296,17 +1175,18 @@ packages: /core-util-is/1.0.3: resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} + dev: true - /cosmiconfig-typescript-loader/1.0.2_typescript@4.4.4: - resolution: {integrity: sha512-27ZehvijYqAKVzta5xtZBS3PAliC8CmnWkGXN0vgxAZz7yqxpMjf3aG7flxF5rEiu8FAD7nZZXtOI+xUGn+bVg==} + /cosmiconfig-typescript-loader/1.0.4_typescript@4.5.5: + resolution: {integrity: sha512-ulv2dvwurP/MZAIthXm69bO7EzzIUThZ6RJ1qXhdlXM6to3F+IKBL/17EnhYSG52A5N1KcAUu66vSG/3/77KrA==} engines: {node: '>=12', npm: '>=6'} peerDependencies: '@types/node': '*' typescript: '>=3' dependencies: cosmiconfig: 7.0.1 - ts-node: 10.4.0_typescript@4.4.4 - typescript: 4.4.4 + ts-node: 10.4.0_typescript@4.5.5 + typescript: 4.5.5 transitivePeerDependencies: - '@swc/core' - '@swc/wasm' @@ -1347,7 +1227,7 @@ packages: longest: 2.0.1 word-wrap: 1.2.3 optionalDependencies: - '@commitlint/load': 16.0.0 + '@commitlint/load': 16.1.0 transitivePeerDependencies: - '@swc/core' - '@swc/wasm' @@ -1363,20 +1243,8 @@ packages: resolution: {integrity: sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==} dev: true - /debug/2.6.9: - resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} - dependencies: - ms: 2.0.0 - dev: true - - /debug/3.2.7: - resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} - dependencies: - ms: 2.1.3 - dev: true - - /debug/4.3.2: - resolution: {integrity: sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==} + /debug/4.3.3: + resolution: {integrity: sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==} engines: {node: '>=6.0'} peerDependencies: supports-color: '*' @@ -1386,8 +1254,8 @@ packages: dependencies: ms: 2.1.2 - /debug/4.3.2_supports-color@8.1.1: - resolution: {integrity: sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==} + /debug/4.3.3_supports-color@8.1.1: + resolution: {integrity: sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==} engines: {node: '>=6.0'} peerDependencies: supports-color: '*' @@ -1467,13 +1335,6 @@ packages: engines: {node: '>=0.3.1'} dev: true - /doctrine/2.1.0: - resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==} - engines: {node: '>=0.10.0'} - dependencies: - esutils: 2.0.3 - dev: true - /doctrine/3.0.0: resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} engines: {node: '>=6.0.0'} @@ -1488,8 +1349,8 @@ packages: is-obj: 2.0.0 dev: true - /electron-to-chromium/1.3.898: - resolution: {integrity: sha512-dxEsaHy9Ter268LO7P8uWomuChbyML4zZk5F9+UZSozFRS7ggC5cQ8fPIM8Pec+6uWGdujuDagQhIbqjohUK2w==} + /electron-to-chromium/1.4.55: + resolution: {integrity: sha512-AoCDEVElLY8mwe4TuDDkr1jxvSh/Ih5PFlEXCpmwFkq9JOXn4K58CScgBl+R1ghFW9cPJ7VeWo30nAHSRCe6rw==} dev: true /emoji-regex/7.0.3: @@ -1505,13 +1366,6 @@ packages: env-variable: 0.0.6 dev: false - /enquirer/2.3.6: - resolution: {integrity: sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==} - engines: {node: '>=8.6'} - dependencies: - ansi-colors: 4.1.1 - dev: true - /env-variable/0.0.6: resolution: {integrity: sha512-bHz59NlBbtS0NhftmR8+ExBEekE7br0e01jw+kk0NDro7TtZzBYZ5ScGPs3OmwnpyfHTHOtr1Y6uedCdrIldtg==} dev: false @@ -1535,12 +1389,12 @@ packages: has-symbols: 1.0.2 internal-slot: 1.0.3 is-callable: 1.2.4 - is-negative-zero: 2.0.1 + is-negative-zero: 2.0.2 is-regex: 1.1.4 is-shared-array-buffer: 1.0.1 is-string: 1.0.7 - is-weakref: 1.0.1 - object-inspect: 1.11.0 + is-weakref: 1.0.2 + object-inspect: 1.12.0 object-keys: 1.1.1 object.assign: 4.1.2 string.prototype.trimend: 1.0.4 @@ -1583,151 +1437,31 @@ packages: engines: {node: '>=10'} dev: true - /eslint-config-prettier-standard/4.0.1_99bafad677f3c3aca793f5ec18085b52: - resolution: {integrity: sha512-l5IsZo387QArxPcRl6qcsQnc0hf66rrV5p3RvMDcHL9FGXRJ/s3/ZCES343gMGgyYN+XTJpBnwJHCnZegAMmfw==} - peerDependencies: - eslint-config-prettier: '>=5.0.0' - eslint-config-standard: '>=16.0.0' - eslint-plugin-prettier: '>=3.1.0' - prettier-config-standard: '>=1.0.0' - dependencies: - eslint-config-prettier: 8.3.0_eslint@7.32.0 - eslint-config-standard: 16.0.3_c064783008e6437da98d184fd45815b6 - eslint-plugin-prettier: 4.0.0_6e975bd57c7acf028c1a9ddbbf60c898 - prettier-config-standard: 4.0.0 - dev: true - - /eslint-config-prettier/8.3.0_eslint@7.32.0: + /eslint-config-prettier/8.3.0_eslint@8.7.0: resolution: {integrity: sha512-BgZuLUSeKzvlL/VUjx/Yb787VQ26RU3gGjA3iiFvdsp/2bMfVIWUVP7tjxtjS0e+HP409cPlPvNkQloz8C91ew==} hasBin: true peerDependencies: eslint: '>=7.0.0' dependencies: - eslint: 7.32.0 - dev: true - - /eslint-config-standard/16.0.3_c064783008e6437da98d184fd45815b6: - resolution: {integrity: sha512-x4fmJL5hGqNJKGHSjnLdgA6U6h1YW/G2dW9fA+cyVur4SK6lyue8+UgNKWlZtUDTXvgKDD/Oa3GQjmB5kjtVvg==} - peerDependencies: - eslint: ^7.12.1 - eslint-plugin-import: ^2.22.1 - eslint-plugin-node: ^11.1.0 - eslint-plugin-promise: ^4.2.1 || ^5.0.0 - dependencies: - eslint: 7.32.0 - eslint-plugin-import: 2.25.3_eslint@7.32.0 - eslint-plugin-node: 11.1.0_eslint@7.32.0 - eslint-plugin-promise: 5.1.1_eslint@7.32.0 - dev: true - - /eslint-import-resolver-node/0.3.6: - resolution: {integrity: sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw==} - dependencies: - debug: 3.2.7 - resolve: 1.20.0 - dev: true - - /eslint-module-utils/2.7.1: - resolution: {integrity: sha512-fjoetBXQZq2tSTWZ9yWVl2KuFrTZZH3V+9iD1V1RfpDgxzJR+mPd/KZmMiA8gbPqdBzpNiEHOuT7IYEWxrH0zQ==} - engines: {node: '>=4'} - dependencies: - debug: 3.2.7 - find-up: 2.1.0 - pkg-dir: 2.0.0 - dev: true - - /eslint-plugin-es/3.0.1_eslint@7.32.0: - resolution: {integrity: sha512-GUmAsJaN4Fc7Gbtl8uOBlayo2DqhwWvEzykMHSCZHU3XdJ+NSzzZcVhXh3VxX5icqQ+oQdIEawXX8xkR3mIFmQ==} - engines: {node: '>=8.10.0'} - peerDependencies: - eslint: '>=4.19.1' - dependencies: - eslint: 7.32.0 - eslint-utils: 2.1.0 - regexpp: 3.2.0 - dev: true - - /eslint-plugin-import/2.25.3_eslint@7.32.0: - resolution: {integrity: sha512-RzAVbby+72IB3iOEL8clzPLzL3wpDrlwjsTBAQXgyp5SeTqqY+0bFubwuo+y/HLhNZcXV4XqTBO4LGsfyHIDXg==} - engines: {node: '>=4'} - peerDependencies: - eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 - dependencies: - array-includes: 3.1.4 - array.prototype.flat: 1.2.5 - debug: 2.6.9 - doctrine: 2.1.0 - eslint: 7.32.0 - eslint-import-resolver-node: 0.3.6 - eslint-module-utils: 2.7.1 - has: 1.0.3 - is-core-module: 2.8.0 - is-glob: 4.0.3 - minimatch: 3.0.4 - object.values: 1.1.5 - resolve: 1.20.0 - tsconfig-paths: 3.11.0 - dev: true - - /eslint-plugin-node/11.1.0_eslint@7.32.0: - resolution: {integrity: sha512-oUwtPJ1W0SKD0Tr+wqu92c5xuCeQqB3hSCHasn/ZgjFdA9iDGNkNf2Zi9ztY7X+hNuMib23LNGRm6+uN+KLE3g==} - engines: {node: '>=8.10.0'} - peerDependencies: - eslint: '>=5.16.0' - dependencies: - eslint: 7.32.0 - eslint-plugin-es: 3.0.1_eslint@7.32.0 - eslint-utils: 2.1.0 - ignore: 5.1.9 - minimatch: 3.0.4 - resolve: 1.20.0 - semver: 6.3.0 - dev: true - - /eslint-plugin-prettier/4.0.0_6e975bd57c7acf028c1a9ddbbf60c898: - resolution: {integrity: sha512-98MqmCJ7vJodoQK359bqQWaxOE0CS8paAz/GgjaZLyex4TTk3g9HugoO89EqWCrFiOqn9EVvcoo7gZzONCWVwQ==} - engines: {node: '>=6.0.0'} - peerDependencies: - eslint: '>=7.28.0' - eslint-config-prettier: '*' - prettier: '>=2.0.0' - peerDependenciesMeta: - eslint-config-prettier: - optional: true - dependencies: - eslint: 7.32.0 - eslint-config-prettier: 8.3.0_eslint@7.32.0 - prettier: 2.4.1 - prettier-linter-helpers: 1.0.0 - dev: true - - /eslint-plugin-promise/5.1.1_eslint@7.32.0: - resolution: {integrity: sha512-XgdcdyNzHfmlQyweOPTxmc7pIsS6dE4MvwhXWMQ2Dxs1XAL2GJDilUsjWen6TWik0aSI+zD/PqocZBblcm9rdA==} - engines: {node: ^10.12.0 || >=12.0.0} - peerDependencies: - eslint: ^7.0.0 - dependencies: - eslint: 7.32.0 + eslint: 8.7.0 dev: true - /eslint-scope/5.1.1: - resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} - engines: {node: '>=8.0.0'} + /eslint-scope/7.1.0: + resolution: {integrity: sha512-aWwkhnS0qAXqNOgKOK0dJ2nvzEbhEvpy8OlJ9kZ0FeZnA6zpjv1/Vei+puGFFX7zkPCkHHXb7IDX3A+7yPrRWg==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: esrecurse: 4.3.0 - estraverse: 4.3.0 + estraverse: 5.3.0 dev: true - /eslint-utils/2.1.0: - resolution: {integrity: sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==} - engines: {node: '>=6'} + /eslint-utils/3.0.0_eslint@8.7.0: + resolution: {integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==} + engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0} + peerDependencies: + eslint: '>=5' dependencies: - eslint-visitor-keys: 1.3.0 - dev: true - - /eslint-visitor-keys/1.3.0: - resolution: {integrity: sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==} - engines: {node: '>=4'} + eslint: 8.7.0 + eslint-visitor-keys: 2.1.0 dev: true /eslint-visitor-keys/2.1.0: @@ -1735,62 +1469,62 @@ packages: engines: {node: '>=10'} dev: true - /eslint/7.32.0: - resolution: {integrity: sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA==} - engines: {node: ^10.12.0 || >=12.0.0} + /eslint-visitor-keys/3.2.0: + resolution: {integrity: sha512-IOzT0X126zn7ALX0dwFiUQEdsfzrm4+ISsQS8nukaJXwEyYKRSnEIIDULYg1mCtGp7UUXgfGl7BIolXREQK+XQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dev: true + + /eslint/8.7.0: + resolution: {integrity: sha512-ifHYzkBGrzS2iDU7KjhCAVMGCvF6M3Xfs8X8b37cgrUlDt6bWRTpRh6T/gtSXv1HJ/BUGgmjvNvOEGu85Iif7w==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} hasBin: true dependencies: - '@babel/code-frame': 7.12.11 - '@eslint/eslintrc': 0.4.3 - '@humanwhocodes/config-array': 0.5.0 + '@eslint/eslintrc': 1.0.5 + '@humanwhocodes/config-array': 0.9.3 ajv: 6.12.6 chalk: 4.1.2 cross-spawn: 7.0.3 - debug: 4.3.2 + debug: 4.3.3 doctrine: 3.0.0 - enquirer: 2.3.6 escape-string-regexp: 4.0.0 - eslint-scope: 5.1.1 - eslint-utils: 2.1.0 - eslint-visitor-keys: 2.1.0 - espree: 7.3.1 + eslint-scope: 7.1.0 + eslint-utils: 3.0.0_eslint@8.7.0 + eslint-visitor-keys: 3.2.0 + espree: 9.3.0 esquery: 1.4.0 esutils: 2.0.3 fast-deep-equal: 3.1.3 file-entry-cache: 6.0.1 functional-red-black-tree: 1.0.1 - glob-parent: 5.1.2 + glob-parent: 6.0.2 globals: 13.12.0 - ignore: 4.0.6 + ignore: 5.2.0 import-fresh: 3.3.0 imurmurhash: 0.1.4 is-glob: 4.0.3 - js-yaml: 3.14.1 + js-yaml: 4.1.0 json-stable-stringify-without-jsonify: 1.0.1 levn: 0.4.1 lodash.merge: 4.6.2 minimatch: 3.0.4 natural-compare: 1.4.0 optionator: 0.9.1 - progress: 2.0.3 regexpp: 3.2.0 - semver: 7.3.5 strip-ansi: 6.0.1 strip-json-comments: 3.1.1 - table: 6.7.3 text-table: 0.2.0 v8-compile-cache: 2.3.0 transitivePeerDependencies: - supports-color dev: true - /espree/7.3.1: - resolution: {integrity: sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==} - engines: {node: ^10.12.0 || >=12.0.0} + /espree/9.3.0: + resolution: {integrity: sha512-d/5nCsb0JcqsSEeQzFZ8DH1RmxPcglRWh24EFTlUEmCKoehXGdpsx0RkHDubqUI8LSAIKMQp4r9SzQ3n+sm4HQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: - acorn: 7.4.1 - acorn-jsx: 5.3.2_acorn@7.4.1 - eslint-visitor-keys: 1.3.0 + acorn: 8.7.0 + acorn-jsx: 5.3.2_acorn@8.7.0 + eslint-visitor-keys: 3.2.0 dev: true /esprima/4.0.1: @@ -1813,11 +1547,6 @@ packages: estraverse: 5.3.0 dev: true - /estraverse/4.3.0: - resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==} - engines: {node: '>=4.0'} - dev: true - /estraverse/5.3.0: resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} engines: {node: '>=4.0'} @@ -1839,7 +1568,7 @@ packages: merge-stream: 2.0.0 npm-run-path: 4.0.1 onetime: 5.1.2 - signal-exit: 3.0.5 + signal-exit: 3.0.6 strip-final-newline: 2.0.0 dev: true @@ -1861,10 +1590,6 @@ packages: /fast-deep-equal/3.1.3: resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} - /fast-diff/1.2.0: - resolution: {integrity: sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==} - dev: true - /fast-glob/3.2.11: resolution: {integrity: sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==} engines: {node: '>=8.6.0'} @@ -1975,7 +1700,7 @@ packages: resolution: {integrity: sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==} engines: {node: ^10.12.0 || >=12.0.0} dependencies: - flatted: 3.2.4 + flatted: 3.2.5 rimraf: 3.0.2 dev: true @@ -1984,8 +1709,8 @@ packages: hasBin: true dev: true - /flatted/3.2.4: - resolution: {integrity: sha512-8/sOawo8tJ4QOBX8YlQBMxL8+RLZfxMQOif9o0KUKTNTjMYElWPE0r/m5VNFxTRd0NSw8qSy8dajrwX4RYI1Hw==} + /flatted/3.2.5: + resolution: {integrity: sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg==} dev: true /foreach/2.0.5: @@ -1997,7 +1722,7 @@ packages: engines: {node: '>=8.0.0'} dependencies: cross-spawn: 7.0.3 - signal-exit: 3.0.5 + signal-exit: 3.0.6 dev: true /fromentries/1.3.2: @@ -2008,7 +1733,7 @@ packages: resolution: {integrity: sha512-C5owb14u9eJwizKGdchcDUQeFtlSHHthBk8pbX9Vc1PFZrLombudjDnNns88aYslCyF6IY5SUw3Roz6xShcEIQ==} engines: {node: '>=12'} dependencies: - graceful-fs: 4.2.8 + graceful-fs: 4.2.9 jsonfile: 6.1.0 universalify: 2.0.0 dev: true @@ -2017,7 +1742,7 @@ packages: resolution: {integrity: sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==} engines: {node: '>=6 <7 || >=8'} dependencies: - graceful-fs: 4.2.8 + graceful-fs: 4.2.9 jsonfile: 4.0.0 universalify: 0.1.2 dev: true @@ -2070,7 +1795,7 @@ packages: hasBin: true dependencies: '@hutson/parse-repository-url': 3.0.2 - hosted-git-info: 4.0.2 + hosted-git-info: 4.1.0 through2: 2.0.5 yargs: 16.2.0 dev: true @@ -2088,8 +1813,8 @@ packages: get-intrinsic: 1.1.1 dev: true - /git-raw-commits/2.0.10: - resolution: {integrity: sha512-sHhX5lsbG9SOO6yXdlwgEMQ/ljIn7qMpAbJZCGfXX2fq5T8M5SrDnpYk9/4HswTildcIqatsWa91vty6VhWSaQ==} + /git-raw-commits/2.0.11: + resolution: {integrity: sha512-VnctFhw+xfj8Va1xtfEqCUD2XDrbAPSJx+hSrE5K7fGdjZruW7XV+QOrN7LF/RJyvspRiD2I0asWsxFp0ya26A==} engines: {node: '>=10'} hasBin: true dependencies: @@ -2129,19 +1854,15 @@ packages: dependencies: is-glob: 4.0.3 - /glob/7.1.4: - resolution: {integrity: sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==} + /glob-parent/6.0.2: + resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} + engines: {node: '>=10.13.0'} dependencies: - fs.realpath: 1.0.0 - inflight: 1.0.6 - inherits: 2.0.4 - minimatch: 3.0.4 - once: 1.4.0 - path-is-absolute: 1.0.1 + is-glob: 4.0.3 dev: true - /glob/7.1.7: - resolution: {integrity: sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==} + /glob/7.1.4: + resolution: {integrity: sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==} dependencies: fs.realpath: 1.0.0 inflight: 1.0.6 @@ -2200,8 +1921,8 @@ packages: type-fest: 0.20.2 dev: true - /graceful-fs/4.2.8: - resolution: {integrity: sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg==} + /graceful-fs/4.2.9: + resolution: {integrity: sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==} dev: true /growl/1.10.5: @@ -2219,7 +1940,7 @@ packages: source-map: 0.6.1 wordwrap: 1.0.0 optionalDependencies: - uglify-js: 3.14.3 + uglify-js: 3.15.0 dev: true /hard-rejection/2.1.0: @@ -2282,8 +2003,8 @@ packages: resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} dev: true - /hosted-git-info/4.0.2: - resolution: {integrity: sha512-c9OGXbZ3guC/xOlCg1Ci/VgWlwsqDv1yMQL1CWqXDL0hDjXuNcq0zuR4xqPSuasI3kqFDhqSyTjREz5gzq0fXg==} + /hosted-git-info/4.1.0: + resolution: {integrity: sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==} engines: {node: '>=10'} dependencies: lru-cache: 6.0.0 @@ -2299,7 +2020,7 @@ packages: dependencies: '@tootallnate/once': 1.1.2 agent-base: 6.0.2 - debug: 4.3.2 + debug: 4.3.3 transitivePeerDependencies: - supports-color dev: true @@ -2309,7 +2030,7 @@ packages: engines: {node: '>= 6'} dependencies: agent-base: 6.0.2 - debug: 4.3.2 + debug: 4.3.3 transitivePeerDependencies: - supports-color dev: true @@ -2342,8 +2063,8 @@ packages: engines: {node: '>= 4'} dev: true - /ignore/5.1.9: - resolution: {integrity: sha512-2zeMQpbKz5dhZ9IwL0gbxSW5w0NK/MSAMtNuhgIHEPmaU3vPdKPL0UdvUCXs5SS4JAwsBxysK5sFMW8ocFiVjQ==} + /ignore/5.2.0: + resolution: {integrity: sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==} engines: {node: '>= 4'} dev: true @@ -2447,8 +2168,8 @@ packages: engines: {node: '>= 0.4'} dev: true - /is-core-module/2.8.0: - resolution: {integrity: sha512-vd15qHsaqrRL7dtH6QNuy0ndJmRDrS9HAM1CAiSifNUFv4x1a0CCVsj18hJ1mShxIG6T2i1sO78MkP56r0nYRw==} + /is-core-module/2.8.1: + resolution: {integrity: sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA==} dependencies: has: 1.0.3 dev: true @@ -2493,8 +2214,8 @@ packages: define-properties: 1.1.3 dev: true - /is-negative-zero/2.0.1: - resolution: {integrity: sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==} + /is-negative-zero/2.0.2: + resolution: {integrity: sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==} engines: {node: '>= 0.4'} dev: true @@ -2591,8 +2312,8 @@ packages: resolution: {integrity: sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=} dev: true - /is-weakref/1.0.1: - resolution: {integrity: sha512-b2jKc2pQZjaeFYWEf7ScFj+Be1I+PXmlu572Q8coTXZ+LD/QQZ7ShPMst8h16riVgyXTQwUsFEl74mDvc/3MHQ==} + /is-weakref/1.0.2: + resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==} dependencies: call-bind: 1.0.2 dev: true @@ -2604,6 +2325,7 @@ packages: /isarray/1.0.0: resolution: {integrity: sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=} + dev: true /isexe/2.0.0: resolution: {integrity: sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=} @@ -2625,7 +2347,7 @@ packages: resolution: {integrity: sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==} engines: {node: '>=8'} dependencies: - '@babel/core': 7.16.0 + '@babel/core': 7.16.12 '@istanbuljs/schema': 0.1.3 istanbul-lib-coverage: 3.2.0 semver: 6.3.0 @@ -2659,15 +2381,15 @@ packages: resolution: {integrity: sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==} engines: {node: '>=10'} dependencies: - debug: 4.3.2 + debug: 4.3.3 istanbul-lib-coverage: 3.2.0 source-map: 0.6.1 transitivePeerDependencies: - supports-color dev: true - /istanbul-reports/3.0.5: - resolution: {integrity: sha512-5+19PlhnGabNWB7kOFnuxT8H3T/iIyQzIbQMxXsURmmvKg86P2sbkrGOT77VnHw0Qr0gc2XzRaRfMZYYbSQCJQ==} + /istanbul-reports/3.1.3: + resolution: {integrity: sha512-x9LtDVtfm/t1GFiLl3NffC7hz+I1ragvgX1P/Lg1NlIagifZDKUkuuaAxH/qpwj2IuEfD8G2Bs/UKp+sZ/pKkg==} engines: {node: '>=8'} dependencies: html-escaper: 2.0.2 @@ -2710,10 +2432,6 @@ packages: /json-schema-traverse/0.4.1: resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} - /json-schema-traverse/1.0.0: - resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} - dev: true - /json-stable-stringify-without-jsonify/1.0.1: resolution: {integrity: sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=} dev: true @@ -2722,13 +2440,6 @@ packages: resolution: {integrity: sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=} dev: true - /json5/1.0.1: - resolution: {integrity: sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==} - hasBin: true - dependencies: - minimist: 1.2.5 - dev: true - /json5/2.2.0: resolution: {integrity: sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==} engines: {node: '>=6'} @@ -2740,7 +2451,7 @@ packages: /jsonfile/4.0.0: resolution: {integrity: sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=} optionalDependencies: - graceful-fs: 4.2.8 + graceful-fs: 4.2.9 dev: true /jsonfile/6.1.0: @@ -2748,7 +2459,7 @@ packages: dependencies: universalify: 2.0.0 optionalDependencies: - graceful-fs: 4.2.8 + graceful-fs: 4.2.9 dev: true /jsonparse/1.3.1: @@ -2775,15 +2486,15 @@ packages: type-check: 0.4.0 dev: true - /lines-and-columns/1.1.6: - resolution: {integrity: sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=} + /lines-and-columns/1.2.4: + resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} dev: true /load-json-file/4.0.0: resolution: {integrity: sha1-L19Fq5HjMhYjT9U62rZo607AmTs=} engines: {node: '>=4'} dependencies: - graceful-fs: 4.2.8 + graceful-fs: 4.2.9 parse-json: 4.0.0 pify: 3.0.0 strip-bom: 3.0.0 @@ -2827,10 +2538,6 @@ packages: resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} dev: true - /lodash.truncate/4.4.2: - resolution: {integrity: sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM=} - dev: true - /lodash/4.17.15: resolution: {integrity: sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==} dev: false @@ -2846,8 +2553,8 @@ packages: is-unicode-supported: 0.1.0 dev: true - /logform/2.3.0: - resolution: {integrity: sha512-graeoWUH2knKbGthMtuG1EfaSPMZFZBIrhuJHhkS5ZseFBrc7DupCzihOQAzsK/qIKPQaPJ/lFQFctILUY5ARQ==} + /logform/2.3.2: + resolution: {integrity: sha512-V6JiPThZzTsbVRspNO6TmHkR99oqYTs8fivMBYQkjZj6rxW92KxtDCPE6IkAk1DNBnYKNkjm4jYBm6JDUcyhOA==} dependencies: colors: 1.4.0 fecha: 4.2.1 @@ -2924,7 +2631,7 @@ packages: engines: {node: '>=8.6'} dependencies: braces: 3.0.2 - picomatch: 2.3.0 + picomatch: 2.3.1 /mimic-fn/1.2.0: resolution: {integrity: sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==} @@ -2964,32 +2671,32 @@ packages: minimist: 1.2.5 dev: false - /mocha/9.1.3: - resolution: {integrity: sha512-Xcpl9FqXOAYqI3j79pEtHBBnQgVXIhpULjGQa7DVb0Po+VzmSIK9kanAiWLHoRR/dbZ2qpdPshuXr8l1VaHCzw==} + /mocha/9.2.0: + resolution: {integrity: sha512-kNn7E8g2SzVcq0a77dkphPsDSN7P+iYkqE0ZsGCYWRsoiKjOt+NvXfaagik8vuDa6W5Zw3qxe8Jfpt5qKf+6/Q==} engines: {node: '>= 12.0.0'} hasBin: true dependencies: '@ungap/promise-all-settled': 1.1.2 ansi-colors: 4.1.1 browser-stdout: 1.3.1 - chokidar: 3.5.2 - debug: 4.3.2_supports-color@8.1.1 + chokidar: 3.5.3 + debug: 4.3.3_supports-color@8.1.1 diff: 5.0.0 escape-string-regexp: 4.0.0 find-up: 5.0.0 - glob: 7.1.7 + glob: 7.2.0 growl: 1.10.5 he: 1.2.0 js-yaml: 4.1.0 log-symbols: 4.1.0 minimatch: 3.0.4 ms: 2.1.3 - nanoid: 3.1.25 + nanoid: 3.2.0 serialize-javascript: 6.0.0 strip-json-comments: 3.1.1 supports-color: 8.1.1 which: 2.0.2 - workerpool: 6.1.5 + workerpool: 6.2.0 yargs: 16.2.0 yargs-parser: 20.2.4 yargs-unparser: 2.0.0 @@ -3000,10 +2707,6 @@ packages: engines: {node: '>=0.10.0'} dev: true - /ms/2.0.0: - resolution: {integrity: sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=} - dev: true - /ms/2.1.2: resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} @@ -3013,8 +2716,8 @@ packages: /mute-stream/0.0.7: resolution: {integrity: sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=} - /nanoid/3.1.25: - resolution: {integrity: sha512-rdwtIXaXCLFAQbnfqDRnI6jaRHp9fTcYBjtFKE8eezcZ7LuLjhUaQGNeMXf1HmRoCH32CLz6XwX0TtxEOS/A3Q==} + /nanoid/3.2.0: + resolution: {integrity: sha512-fmsZYa9lpn69Ad5eDn7FMcnnSR+8R34W9qJEijxYhTbfOWzr22n1QxCMzXLK+ODyW2973V3Fux959iQoUxzUIA==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true dev: true @@ -3027,9 +2730,14 @@ packages: resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} dev: true - /node-fetch/2.6.6: - resolution: {integrity: sha512-Z8/6vRlTUChSdIgMa51jxQ4lrw/Jy5SOW10ObaA47/RElsAN2c5Pn8bTgFGWn/ibwzXTE8qwr1Yzx28vsecXEA==} + /node-fetch/2.6.7: + resolution: {integrity: sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==} engines: {node: 4.x || >=6.0.0} + peerDependencies: + encoding: ^0.1.0 + peerDependenciesMeta: + encoding: + optional: true dependencies: whatwg-url: 5.0.0 dev: true @@ -3049,7 +2757,7 @@ packages: resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} dependencies: hosted-git-info: 2.8.9 - resolve: 1.20.0 + resolve: 1.22.0 semver: 5.7.1 validate-npm-package-license: 3.0.4 dev: true @@ -3058,8 +2766,8 @@ packages: resolution: {integrity: sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==} engines: {node: '>=10'} dependencies: - hosted-git-info: 4.0.2 - is-core-module: 2.8.0 + hosted-git-info: 4.1.0 + is-core-module: 2.8.1 semver: 7.3.5 validate-npm-package-license: 3.0.4 dev: true @@ -3097,14 +2805,14 @@ packages: istanbul-lib-processinfo: 2.0.2 istanbul-lib-report: 3.0.0 istanbul-lib-source-maps: 4.0.1 - istanbul-reports: 3.0.5 + istanbul-reports: 3.1.3 make-dir: 3.1.0 node-preload: 0.2.1 p-map: 3.0.0 process-on-spawn: 1.0.0 resolve-from: 5.0.0 rimraf: 3.0.2 - signal-exit: 3.0.5 + signal-exit: 3.0.6 spawn-wrap: 2.0.0 test-exclude: 6.0.0 yargs: 15.4.1 @@ -3112,8 +2820,8 @@ packages: - supports-color dev: true - /object-inspect/1.11.0: - resolution: {integrity: sha512-jp7ikS6Sd3GxQfZJPyH3cjcbJF6GZPClgdV+EFygjFLQ5FmW/dRUnTd9PQ9k0JhoNDabWFbpF1yCdSWCC6gexg==} + /object-inspect/1.12.0: + resolution: {integrity: sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g==} dev: true /object-is/1.1.5: @@ -3139,15 +2847,6 @@ packages: object-keys: 1.1.1 dev: true - /object.values/1.1.5: - resolution: {integrity: sha512-QUZRW0ilQ3PnPpbNtgdNV1PDbEqLIiSFB3l+EnGtBQ/8SUTLj1PZwtQHABZtLgwpJZTSZhuGLOGk57Drx2IvYg==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.2 - define-properties: 1.1.3 - es-abstract: 1.19.1 - dev: true - /once/1.4.0: resolution: {integrity: sha1-WDsap3WWHUsROsF9nFC6753Xa9E=} dependencies: @@ -3249,7 +2948,7 @@ packages: resolution: {integrity: sha512-whdkPIooSu/bASggZ96BWVvZTRMOFxnyUG5PnTSGKoJE2gd5mbVNmR2Nj20QFzxYYgAXpoqC+AiXzl+UMRh7zQ==} engines: {node: '>=8'} dependencies: - graceful-fs: 4.2.8 + graceful-fs: 4.2.9 hasha: 5.2.2 lodash.flattendeep: 4.4.0 release-zalgo: 1.0.0 @@ -3274,10 +2973,10 @@ packages: resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} engines: {node: '>=8'} dependencies: - '@babel/code-frame': 7.16.0 + '@babel/code-frame': 7.16.7 error-ex: 1.3.2 json-parse-even-better-errors: 2.3.1 - lines-and-columns: 1.1.6 + lines-and-columns: 1.2.4 dev: true /parse-passwd/1.0.0: @@ -3324,8 +3023,8 @@ packages: resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} dev: true - /picomatch/2.3.0: - resolution: {integrity: sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==} + /picomatch/2.3.1: + resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} engines: {node: '>=8.6'} /pify/2.3.0: @@ -3338,13 +3037,6 @@ packages: engines: {node: '>=4'} dev: true - /pkg-dir/2.0.0: - resolution: {integrity: sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=} - engines: {node: '>=4'} - dependencies: - find-up: 2.1.0 - dev: true - /pkg-dir/4.2.0: resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==} engines: {node: '>=8'} @@ -3357,25 +3049,15 @@ packages: engines: {node: '>= 0.8.0'} dev: true - /prettier-config-standard/4.0.0: - resolution: {integrity: sha512-K5J34NKeGyJvVVHUg4cAWDhtVYzT7UIRE9GbFyqHNZd61Pr0DHNTMsgoID7IVDmKc0QaLswYwKaNR2apbUJvkg==} - dev: true - - /prettier-linter-helpers/1.0.0: - resolution: {integrity: sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==} - engines: {node: '>=6.0.0'} - dependencies: - fast-diff: 1.2.0 - dev: true - - /prettier/2.4.1: - resolution: {integrity: sha512-9fbDAXSBcc6Bs1mZrDYb3XKzDLm4EXXL9sC1LqKP5rZkT6KRr/rf9amVUcODVXgguK/isJz0d0hP72WeaKWsvA==} + /prettier/2.5.1: + resolution: {integrity: sha512-vBZcPRUR5MZJwoyi3ZoyQlc1rXeEck8KgeC9AwwOn+exuxLxq5toTRDTSaVrXHxelDMHy9zlicw8u66yxoSUFg==} engines: {node: '>=10.13.0'} hasBin: true dev: true /process-nextick-args/2.0.1: resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} + dev: true /process-on-spawn/1.0.0: resolution: {integrity: sha512-1WsPDsUSMmZH5LeMLegqkPDrsGgsWwk1Exipy2hvB0o/F0ASzbpIctSCcZIK1ykJvtTJULEH+20WOFjMvGnCTg==} @@ -3384,11 +3066,6 @@ packages: fromentries: 1.3.2 dev: true - /progress/2.0.3: - resolution: {integrity: sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==} - engines: {node: '>=0.4.0'} - dev: true - /punycode/1.4.1: resolution: {integrity: sha1-wNWmOycYgArY4esPpSachN1BhF4=} dev: true @@ -3463,6 +3140,7 @@ packages: safe-buffer: 5.1.2 string_decoder: 1.1.1 util-deprecate: 1.0.2 + dev: true /readable-stream/3.6.0: resolution: {integrity: sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==} @@ -3476,7 +3154,7 @@ packages: resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} engines: {node: '>=8.10.0'} dependencies: - picomatch: 2.3.0 + picomatch: 2.3.1 dev: true /redent/3.0.0: @@ -3504,11 +3182,6 @@ packages: engines: {node: '>=0.10.0'} dev: true - /require-from-string/2.0.2: - resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} - engines: {node: '>=0.10.0'} - dev: true - /require-main-filename/2.0.0: resolution: {integrity: sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==} dev: true @@ -3538,11 +3211,13 @@ packages: global-dirs: 0.1.1 dev: true - /resolve/1.20.0: - resolution: {integrity: sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==} + /resolve/1.22.0: + resolution: {integrity: sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==} + hasBin: true dependencies: - is-core-module: 2.8.0 + is-core-module: 2.8.1 path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 dev: true /restore-cursor/2.0.0: @@ -3550,7 +3225,7 @@ packages: engines: {node: '>=4'} dependencies: onetime: 2.0.1 - signal-exit: 3.0.5 + signal-exit: 3.0.6 /reusify/1.0.4: resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} @@ -3582,6 +3257,7 @@ packages: /safe-buffer/5.1.2: resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} + dev: true /safe-buffer/5.2.1: resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} @@ -3638,11 +3314,11 @@ packages: dependencies: call-bind: 1.0.2 get-intrinsic: 1.1.1 - object-inspect: 1.11.0 + object-inspect: 1.12.0 dev: true - /signal-exit/3.0.5: - resolution: {integrity: sha512-KWcOiKeQj6ZyXx7zq4YxSMgHRlod4czeBQZrPb8OKcohcqAXShm7E20kEMle9WBt26hFcAf0qLOcp5zmY7kOqQ==} + /signal-exit/3.0.6: + resolution: {integrity: sha512-sDl4qMFpijcGw22U5w63KmD3cZJfBuFlVNbVMKje2keoKML7X2UzWbc4XrmEbDwg0NXJc3yv4/ox7b+JWb57kQ==} /simple-swizzle/0.2.2: resolution: {integrity: sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=} @@ -3659,15 +3335,6 @@ packages: is-fullwidth-code-point: 2.0.0 dev: false - /slice-ansi/4.0.0: - resolution: {integrity: sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==} - engines: {node: '>=10'} - dependencies: - ansi-styles: 4.3.0 - astral-regex: 2.0.0 - is-fullwidth-code-point: 3.0.0 - dev: true - /source-map/0.5.7: resolution: {integrity: sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=} engines: {node: '>=0.10.0'} @@ -3686,7 +3353,7 @@ packages: is-windows: 1.0.2 make-dir: 3.1.0 rimraf: 3.0.2 - signal-exit: 3.0.5 + signal-exit: 3.0.6 which: 2.0.2 dev: true @@ -3780,6 +3447,7 @@ packages: resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} dependencies: safe-buffer: 5.1.2 + dev: true /string_decoder/1.3.0: resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} @@ -3859,31 +3527,25 @@ packages: has-flag: 4.0.0 dev: true + /supports-preserve-symlinks-flag/1.0.0: + resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} + engines: {node: '>= 0.4'} + dev: true + /table/5.4.6: resolution: {integrity: sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==} engines: {node: '>=6.0.0'} dependencies: ajv: 6.12.6 - lodash: 4.17.21 + lodash: 4.17.15 slice-ansi: 2.1.0 string-width: 3.1.0 dev: false - /table/6.7.3: - resolution: {integrity: sha512-5DkIxeA7XERBqMwJq0aHZOdMadBx4e6eDoFRuyT5VR82J0Ycg2DwM6GfA/EQAhJ+toRTaS1lIdSQCqgrmhPnlw==} - engines: {node: '>=10.0.0'} - dependencies: - ajv: 8.8.0 - lodash.truncate: 4.4.2 - slice-ansi: 4.0.0 - string-width: 4.2.3 - strip-ansi: 6.0.1 - dev: true - /tabtab/3.0.2: resolution: {integrity: sha512-jANKmUe0sIQc/zTALTBy186PoM/k6aPrh3A7p6AaAfF6WPSbTx1JYeGIGH162btpH+mmVEXln+UxwViZHO2Jhg==} dependencies: - debug: 4.3.2 + debug: 4.3.3 es6-promisify: 6.1.1 inquirer: 6.5.2 minimist: 1.2.5 @@ -3899,10 +3561,11 @@ packages: dependencies: http-proxy-agent: 4.0.1 https-proxy-agent: 5.0.0 - node-fetch: 2.6.6 + node-fetch: 2.6.7 stream-events: 1.0.5 uuid: 8.3.2 transitivePeerDependencies: + - encoding - supports-color dev: true @@ -3987,7 +3650,7 @@ packages: resolution: {integrity: sha512-XrHUvV5HpdLmIj4uVMxHggLbFSZYIn7HEWsqePZcI50pco+MPqJ50wMGY794X7AOOhxOBAjbkqfAbEe/QMp2Lw==} dev: false - /ts-node/10.4.0_typescript@4.4.4: + /ts-node/10.4.0_typescript@4.5.5: resolution: {integrity: sha512-g0FlPvvCXSIO1JDF6S232P5jPYqBkRL9qly81ZgAOSU7rwI0stphCgd2kLiCrU9DjQCrJMWEqcNSjQL02s6d8A==} hasBin: true peerDependencies: @@ -4006,25 +3669,16 @@ packages: '@tsconfig/node12': 1.0.9 '@tsconfig/node14': 1.0.1 '@tsconfig/node16': 1.0.2 - acorn: 8.5.0 + acorn: 8.7.0 acorn-walk: 8.2.0 arg: 4.1.3 create-require: 1.1.1 diff: 4.0.2 make-error: 1.3.6 - typescript: 4.4.4 + typescript: 4.5.5 yn: 3.1.1 dev: true - /tsconfig-paths/3.11.0: - resolution: {integrity: sha512-7ecdYDnIdmv639mmDwslG6KQg1Z9STTz1j7Gcz0xa+nshh/gKDAHcPxRbWOsA3SPp0tXP2leTcY9Kw+NAkfZzA==} - dependencies: - '@types/json5': 0.0.29 - json5: 1.0.1 - minimist: 1.2.5 - strip-bom: 3.0.0 - dev: true - /tslib/1.14.1: resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} @@ -4061,14 +3715,14 @@ packages: is-typedarray: 1.0.0 dev: true - /typescript/4.4.4: - resolution: {integrity: sha512-DqGhF5IKoBl8WNf8C1gu8q0xZSInh9j1kJJMqT3a94w1JzVaBU4EXOSMrz9yDqMT0xt3selp83fuFMQ0uzv6qA==} + /typescript/4.5.5: + resolution: {integrity: sha512-TCTIul70LyWe6IJWT8QSYeA54WQe8EjQFU4wY52Fasj5UKx88LNYKCgBEHcOMOrFF1rKGbD8v/xcNWVUq9SymA==} engines: {node: '>=4.2.0'} hasBin: true dev: true - /uglify-js/3.14.3: - resolution: {integrity: sha512-mic3aOdiq01DuSVx0TseaEzMIVqebMZ0Z3vaeDhFEh9bsc24hV1TFvN74reA2vs08D0ZWfNjAcJ3UbVLaBss+g==} + /uglify-js/3.15.0: + resolution: {integrity: sha512-x+xdeDWq7FiORDvyIJ0q/waWd4PhjBNOm5dQUOq2AKC0IEjxOS66Ha9tctiVDGcRQuh69K7fgU5oRuTK4cysSg==} engines: {node: '>=0.8.0'} hasBin: true requiresBuild: true @@ -4198,11 +3852,12 @@ packages: isexe: 2.0.0 dev: true - /winston-transport/4.4.0: - resolution: {integrity: sha512-Lc7/p3GtqtqPBYYtS6KCN3c77/2QCev51DvcJKbkFPQNoj1sinkGwLGFDxkXY9J6p9+EPnYs+D90uwbnaiURTw==} + /winston-transport/4.4.2: + resolution: {integrity: sha512-9jmhltAr5ygt5usgUTQbEiw/7RYXpyUbEAFRCSicIacpUzPkrnQsQZSPGEI12aLK9Jth4zNcYJx3Cvznwrl8pw==} engines: {node: '>= 6.4.0'} dependencies: - readable-stream: 2.3.7 + logform: 2.3.2 + readable-stream: 3.6.0 triple-beam: 1.3.0 dev: false @@ -4213,12 +3868,12 @@ packages: async: 2.6.3 diagnostics: 1.1.1 is-stream: 1.1.0 - logform: 2.3.0 + logform: 2.3.2 one-time: 0.0.4 readable-stream: 3.6.0 stack-trace: 0.0.10 triple-beam: 1.3.0 - winston-transport: 4.4.0 + winston-transport: 4.4.2 dev: false /word-wrap/1.2.3: @@ -4230,8 +3885,8 @@ packages: resolution: {integrity: sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=} dev: true - /workerpool/6.1.5: - resolution: {integrity: sha512-XdKkCK0Zqc6w3iTxLckiuJ81tiD/o5rBE/m+nXpRCB+/Sq4DqkfXZ/x0jW02DG1tGsfUGXbTJyZDP+eu67haSw==} + /workerpool/6.2.0: + resolution: {integrity: sha512-Rsk5qQHJ9eowMH28Jwhe8HEbmdYDX4lwoMWshiCXugjtHqMD9ZbiqSDLxcsfdqsETPzVUtX5s1Z5kStiIM6l4A==} dev: true /wrap-ansi/6.2.0: @@ -4259,7 +3914,7 @@ packages: dependencies: imurmurhash: 0.1.4 is-typedarray: 1.0.0 - signal-exit: 3.0.5 + signal-exit: 3.0.6 typedarray-to-buffer: 3.1.5 dev: true @@ -4304,11 +3959,16 @@ packages: engines: {node: '>=10'} dev: true + /yargs-parser/21.0.0: + resolution: {integrity: sha512-z9kApYUOCwoeZ78rfRYYWdiU/iNL6mwwYlkkZfJoyMR1xps+NEBX5X7XmRpxkZHhXJ6+Ey00IwKxBBSW9FIjyA==} + engines: {node: '>=12'} + dev: true + /yargs-unparser/2.0.0: resolution: {integrity: sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==} engines: {node: '>=10'} dependencies: - camelcase: 6.2.1 + camelcase: 6.3.0 decamelize: 4.0.0 flat: 5.0.2 is-plain-obj: 2.1.0 @@ -4344,8 +4004,8 @@ packages: yargs-parser: 20.2.4 dev: true - /yargs/17.2.1: - resolution: {integrity: sha512-XfR8du6ua4K6uLGm5S6fA+FIJom/MdJcFNVY8geLlp2v8GYbOXD4EB1tPNZsRn4vBzKGMgb5DRZMeWuFc2GO8Q==} + /yargs/17.3.1: + resolution: {integrity: sha512-WUANQeVgjLbNsEmGk20f+nlHgOqzRFpiGWVaBrYGYIGANIIu3lWjoyi0fNlFmJkvfhCZ6BXINe7/W2O2bV4iaA==} engines: {node: '>=12'} dependencies: cliui: 7.0.4 @@ -4354,7 +4014,7 @@ packages: require-directory: 2.1.1 string-width: 4.2.3 y18n: 5.0.8 - yargs-parser: 20.2.9 + yargs-parser: 21.0.0 dev: true /yn/3.1.1: diff --git a/test.js b/test.js index cf44513..5429260 100644 --- a/test.js +++ b/test.js @@ -4,207 +4,186 @@ const exec = require('child_process').exec const assert = require('assert') it('๐ŸŽ‰ Es Check should pass when checking an array of es5 files as es5', (done) => { - exec( - 'node index.js es5 ./tests/es5.js ./tests/es5-2.js', - (err, stdout, stderr) => { - if (err) { - console.error(err.stack) - console.error(stdout.toString()) - console.error(stderr.toString()) - done(err) - return - } - done() - }, - ) + exec('node index.js es5 ./tests/es5.js ./tests/es5-2.js', (err, stdout, stderr) => { + if (err) { + console.error(err.stack) + console.error(stdout.toString()) + console.error(stderr.toString()) + done(err) + return + } + done() + }) }) it('๐ŸŽ‰ Es Check should pass when checking a file with a hash bang', (done) => { - exec( - 'node index.js es6 ./tests/scripts/hash-bang.js --allow-hash-bang', - (err, stdout, stderr) => { - if (err) { - console.error(err.stack) - console.error(stdout.toString()) - console.error(stderr.toString()) - done(err) - return - } - done() - }, - ) + exec('node index.js es6 ./tests/scripts/hash-bang.js --allow-hash-bang', (err, stdout, stderr) => { + if (err) { + console.error(err.stack) + console.error(stdout.toString()) + console.error(stderr.toString()) + done(err) + return + } + done() + }) }) it('๐Ÿ‘Œ Es Check should fail when checking an array of es6 files as es5', (done) => { - exec( - 'node index.js es5 ./tests/es6.js ./tests/es6-2.js', - (err, stdout, stderr) => { - assert(err) - console.log(stdout) - done() - }, - ) + exec('node index.js es5 ./tests/es6.js ./tests/es6-2.js', (err, stdout, stderr) => { + assert(err) + console.log(stdout) + done() + }) }) it('๐ŸŽ‰ Es Check should pass when checking a glob of es6 files ', (done) => { - exec('node index.js es6 "./tests/*.js"', (err, stdout, stderr) => { - if (err) { - console.error(err.stack) - console.error(stdout.toString()) - console.error(stderr.toString()) - done(err) - return - } - done() - }) + exec('node index.js es6 "./tests/*.js"', (err, stdout, stderr) => { + if (err) { + console.error(err.stack) + console.error(stdout.toString()) + console.error(stderr.toString()) + done(err) + return + } + done() + }) }) it('๐Ÿ‘Œ Es Check fails when give an invalid version', (done) => { - exec('node index.js foo "./tests/*.js"', (err, stdout, stderr) => { - assert(err) - console.log(stdout) - done() - }) + exec('node index.js foo "./tests/*.js"', (err, stdout, stderr) => { + assert(err) + console.log(stdout) + done() + }) }) it('๐Ÿ‘Œ Es Check should fail when checking a glob of es5 files', (done) => { - exec('node index.js es5 ./tests/*.js', (err, stdout, stderr) => { - assert(err) - console.log(stdout) - done() - }) + exec('node index.js es5 ./tests/*.js', (err, stdout, stderr) => { + assert(err) + console.log(stdout) + done() + }) }) it('๐Ÿ‘Œ Es Check should fail when given a glob that matches no files', (done) => { - exec('node index.js es5 ./tests/es5.js foo-bar.js', (err, stdout, stderr) => { - assert(err) - console.log(stdout) - done() - }) + exec('node index.js es5 ./tests/es5.js foo-bar.js', (err, stdout, stderr) => { + assert(err) + console.log(stdout) + done() + }) }) it('๐Ÿ‘Œ Es Check should fail when given a glob that matches files and a glob that does not', (done) => { - exec('node index.js es5 foo-bar.js', (err, stdout, stderr) => { - assert(err) - console.log(stdout) - done() - }) + exec('node index.js es5 foo-bar.js', (err, stdout, stderr) => { + assert(err) + console.log(stdout) + done() + }) }) it('๐Ÿ‘Œ Es Check should fail when checking a glob of es6 modules without --module flag', (done) => { - exec('node index.js es6 ./tests/modules/*.js', (err, stdout) => { - assert(err) - console.log(stdout) - done() - }) + exec('node index.js es6 ./tests/modules/*.js', (err, stdout) => { + assert(err) + console.log(stdout) + done() + }) }) it('๐ŸŽ‰ Es Check should pass when checking a glob of es6 modules using the --module flag', (done) => { - exec( - 'node index.js es6 ./tests/modules/*.js --module', - (err, stdout, stderr) => { - assert(stdout) - if (err) { - console.error(err.stack) - console.error(stdout.toString()) - console.error(stderr.toString()) - done(err) - return - } - done() - }, - ) + exec('node index.js es6 ./tests/modules/*.js --module', (err, stdout, stderr) => { + assert(stdout) + if (err) { + console.error(err.stack) + console.error(stdout.toString()) + console.error(stderr.toString()) + done(err) + return + } + done() + }) }) it('๐ŸŽ‰ Es Check should fail when checking a glob of es6 modules using the --module flag in any order', (done) => { - exec('node index.js es6 --module ./tests/modules/*.js', (err, stdout) => { - /** - * @notes ๐Ÿ› - * This test should fail but doesn't as expected. - * The module flag will default to `falsy` and then not throw an error if an argument is addeed after it. - * This issue exists with Caporal and will be fixed in the next major release by switching to another CLI tool, - */ - assert(!err) - console.log(err, stdout) - done() - }) + exec('node index.js es6 --module ./tests/modules/*.js', (err, stdout) => { + /** + * @notes ๐Ÿ› + * This test should fail but doesn't as expected. + * The module flag will default to `falsy` and then not throw an error if an argument is addeed after it. + * This issue exists with Caporal and will be fixed in the next major release by switching to another CLI tool, + */ + assert(!err) + console.log(err, stdout) + done() + }) }) it('๐Ÿ‘Œ Es Check should read from an .escheckrc file for config', (done) => { - exec('node index.js', (err, stdout, stderr) => { - if (err) { - console.error(err.stack) - console.error(stdout.toString()) - console.error(stderr.toString()) - done(err) - return - } - done() - }) + exec('node index.js', (err, stdout, stderr) => { + if (err) { + console.error(err.stack) + console.error(stdout.toString()) + console.error(stderr.toString()) + done(err) + return + } + done() + }) }) describe('Es Check skips folders and files included in the not flag', () => { - it('๐Ÿ‘Œ non-glob', (done) => { - exec( - 'node index.js es5 ./tests/es5.js ./tests/modules/* --not=./tests/modules', - (err, stdout, stderr) => { - if (err) { - console.error(err.stack) - console.error(stdout.toString()) - console.error(stderr.toString()) - done(err) - return - } - done() - }, - ) - }) - - it('๐Ÿ‘Œ glob', (done) => { - exec( - 'node index.js es5 ./tests/es5.js ./tests/modules/* --not=./tests/modules/*', - (err, stdout, stderr) => { - if (err) { - console.error(err.stack) - console.error(stdout.toString()) - console.error(stderr.toString()) - done(err) - return - } - done() - }, - ) - }) - - it('๐Ÿ‘Œ mixed glob & non-glob', (done) => { - exec( - 'node index.js es5 ./tests/es5.js ./tests/modules/* ./tests/passed/* --not=./tests/passed,./tests/modules/*', - (err, stdout, stderr) => { - if (err) { - console.error(err.stack) - console.error(stdout.toString()) - console.error(stderr.toString()) - done(err) - return - } - done() - }, - ) - }) - - it('๐Ÿ‘Œ .escheckrc', (done) => { - exec( - 'node index.js es5 ./tests/es5.js ./tests/skipped/es6-skipped.js', - (err, stdout, stderr) => { - if (err) { - console.error(err.stack) - console.error(stdout.toString()) - console.error(stderr.toString()) - done(err) - return - } - done() - }, - ) - }) + it('๐Ÿ‘Œ non-glob', (done) => { + exec('node index.js es5 ./tests/es5.js ./tests/modules/* --not=./tests/modules', (err, stdout, stderr) => { + if (err) { + console.error(err.stack) + console.error(stdout.toString()) + console.error(stderr.toString()) + done(err) + return + } + done() + }) + }) + + it('๐Ÿ‘Œ glob', (done) => { + exec('node index.js es5 ./tests/es5.js ./tests/modules/* --not=./tests/modules/*', (err, stdout, stderr) => { + if (err) { + console.error(err.stack) + console.error(stdout.toString()) + console.error(stderr.toString()) + done(err) + return + } + done() + }) + }) + + it('๐Ÿ‘Œ mixed glob & non-glob', (done) => { + exec( + 'node index.js es5 ./tests/es5.js ./tests/modules/* ./tests/passed/* --not=./tests/passed,./tests/modules/*', + (err, stdout, stderr) => { + if (err) { + console.error(err.stack) + console.error(stdout.toString()) + console.error(stderr.toString()) + done(err) + return + } + done() + }, + ) + }) + + it('๐Ÿ‘Œ .escheckrc', (done) => { + exec('node index.js es5 ./tests/es5.js ./tests/skipped/es6-skipped.js', (err, stdout, stderr) => { + if (err) { + console.error(err.stack) + console.error(stdout.toString()) + console.error(stderr.toString()) + done(err) + return + } + done() + }) + }) }) From 393a00fc92eace82c84d27d2a39a49ac004a4f23 Mon Sep 17 00:00:00 2001 From: yowainwright Date: Thu, 27 Jan 2022 19:10:55 -0800 Subject: [PATCH 5/8] feat: removes glob dep --- package.json | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/package.json b/package.json index 9a1161f..1e39a54 100644 --- a/package.json +++ b/package.json @@ -53,8 +53,7 @@ "dependencies": { "@caporal/core": "^2.0.2", "acorn": "^8.7.0", - "fast-glob": "^3.2.11", - "glob": "^7.2.0" + "fast-glob": "^3.2.11" }, "engines": { "node": ">= 4" From 582e6f4b9a92b66acf357596bd04cef9b6958faf Mon Sep 17 00:00:00 2001 From: yowainwright Date: Thu, 27 Jan 2022 19:11:31 -0800 Subject: [PATCH 6/8] feat: removes glob dep in pnpm-lock --- pnpm-lock.yaml | 2 -- 1 file changed, 2 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index cd39dcb..8a03710 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -16,7 +16,6 @@ specifiers: eslint: ^8.7.0 eslint-config-prettier: ^8.3.0 fast-glob: ^3.2.11 - glob: ^7.2.0 husky: ^7.0.4 mocha: ^9.2.0 nyc: ^15.1.0 @@ -26,7 +25,6 @@ dependencies: '@caporal/core': 2.0.2 acorn: 8.7.0 fast-glob: 3.2.11 - glob: 7.2.0 devDependencies: '@commitlint/cli': 16.1.0 From 112507078714ace42bfcf4a257148e78035a97a0 Mon Sep 17 00:00:00 2001 From: yowainwright Date: Thu, 27 Jan 2022 19:13:16 -0800 Subject: [PATCH 7/8] feat: removes unneeded ignores within `dependabot.yml --- .github/dependabot.yml | 18 ------------------ 1 file changed, 18 deletions(-) diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 2050e15..3474ae5 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -6,21 +6,3 @@ updates: interval: daily time: '13:00' open-pull-requests-limit: 2 - ignore: - - dependency-name: acorn - versions: - - 8.0.5 - - 8.1.0 - - 8.1.1 - - 8.2.1 - - dependency-name: mocha - versions: - - 8.3.1 - - dependency-name: husky - versions: - - 5.1.0 - - 5.1.1 - - 5.1.2 - - dependency-name: '@commitlint/prompt' - versions: - - 12.0.0 From a74c7bd8b257672c87f0c773b80077d69f33e201 Mon Sep 17 00:00:00 2001 From: yowainwright Date: Thu, 27 Jan 2022 19:32:11 -0800 Subject: [PATCH 8/8] feat: adds only-allow --- package.json | 1 + 1 file changed, 1 insertion(+) diff --git a/package.json b/package.json index 1e39a54..5a4b73e 100644 --- a/package.json +++ b/package.json @@ -23,6 +23,7 @@ "lint:ci": "eslint index.js", "prepush": "pnpm run lint && pnpm test", "postpublish": "git tag $npm_package_version && git push origin --tags && pnpm run chore", + "preinstall": "npx only-allow pnpm", "report:coverage": "nyc report --reporter=lcov > coverage.lcov && codecov", "test": "nyc mocha test.js --timeout 10s --coverage" },