From 7b108c428247e6fbfbf239103dc45ff386604379 Mon Sep 17 00:00:00 2001 From: Sergey Astapov Date: Thu, 26 May 2022 16:47:03 -0400 Subject: [PATCH] chore!: convert addon to v2 format This is breaking change as it now requires the consuming addon or the add to have ember-auto-import >= v2 --- README.md | 24 +++ package.json | 11 +- packages/ember-cookies/.babelrc.js | 9 - packages/ember-cookies/.eslintrc.js | 4 +- packages/ember-cookies/.gitignore | 8 +- packages/ember-cookies/addon-main.js | 2 + packages/ember-cookies/addon/.gitkeep | 0 packages/ember-cookies/app/.gitkeep | 0 .../ember-cookies/app/services/cookies.js | 3 - packages/ember-cookies/babel.config.json | 7 + packages/ember-cookies/index.js | 12 -- packages/ember-cookies/package.json | 35 ++- packages/ember-cookies/rollup.config.js | 54 +++++ .../{addon => src}/services/cookies.js | 0 .../test-support}/clear-all-cookies.js | 5 +- .../ember-cookies/src/test-support/index.js | 1 + .../{addon => src}/utils/serialize-cookie.js | 0 .../tests/unit/clear-all-cookies-test.js | 2 +- yarn.lock | 204 +++++++++++++++++- 19 files changed, 334 insertions(+), 47 deletions(-) delete mode 100644 packages/ember-cookies/.babelrc.js create mode 100644 packages/ember-cookies/addon-main.js delete mode 100644 packages/ember-cookies/addon/.gitkeep delete mode 100644 packages/ember-cookies/app/.gitkeep delete mode 100644 packages/ember-cookies/app/services/cookies.js create mode 100644 packages/ember-cookies/babel.config.json delete mode 100644 packages/ember-cookies/index.js create mode 100644 packages/ember-cookies/rollup.config.js rename packages/ember-cookies/{addon => src}/services/cookies.js (100%) rename packages/ember-cookies/{addon-test-support/ember-cookies => src/test-support}/clear-all-cookies.js (85%) create mode 100644 packages/ember-cookies/src/test-support/index.js rename packages/ember-cookies/{addon => src}/utils/serialize-cookie.js (100%) diff --git a/README.md b/README.md index cd3bbd42..e1be6111 100644 --- a/README.md +++ b/README.md @@ -60,6 +60,30 @@ The `cookies` service has methods for reading and writing cookies: * `exists(name)`: checks whether a cookie exists at all (even with a falsy value) and returns `true` if that is the case or `false` otherwise. +## Testing + +`ember-cookies` exposes the `clearAllCookies` test helper that clears +all known cookies to reset state before and/or after tests: + +```js +import { module, test } from 'qunit'; +import { setupTest } from 'ember-qunit'; +import { clearAllCookies } from 'ember-cookies/test-support'; + +module('Unit | Some Module', function (hooks) { + setupTest(hooks); + + hooks.beforeEach(function () { + clearAllCookies(); + }); + + // or you may wat to clear cookies after the test run + hooks.afterEach(function () { + clearAllCookies(); + }); +}); +``` + ## License `ember-cookies` is developed by and © diff --git a/package.json b/package.json index ee19f4e2..0a7e7426 100644 --- a/package.json +++ b/package.json @@ -12,7 +12,16 @@ "lint:test-app": "yarn workspace test-app run lint", "lint:fix": "npm-run-all --aggregate-output --continue-on-error --parallel lint:fix:*", "lint:fix:addon": "yarn workspace ember-cookies run lint:fix", - "lint:fix:test-app": "yarn workspace test-app run lint:fix" + "lint:fix:test-app": "yarn workspace test-app run lint:fix", + "prepare": "yarn workspace ember-cookies run build", + "start": "npm-run-all --parallel start:*", + "start:addon": "yarn workspace ember-cookies run start", + "start:test-app": "yarn workspace test-app run start", + "test": "npm-run-all --aggregate-output --continue-on-error --parallel \"test:!(watch)\"", + "test:watch": "npm-run-all --aggregate-output --continue-on-error --parallel test:watch:*", + "test:test-app": "yarn workspace test-app run test", + "test:watch:test-app": "yarn workspace test-app run test:watch", + "test:watch:addon": "yarn workspace ember-cookies run start" }, "devDependencies": { "npm-run-all": "^4.1.5" diff --git a/packages/ember-cookies/.babelrc.js b/packages/ember-cookies/.babelrc.js deleted file mode 100644 index ec8a419f..00000000 --- a/packages/ember-cookies/.babelrc.js +++ /dev/null @@ -1,9 +0,0 @@ -const { buildEmberPlugins } = require('ember-cli-babel'); - -module.exports = function (api) { - api.cache(true); - - return { - plugins: [...buildEmberPlugins(__dirname)], - }; -}; diff --git a/packages/ember-cookies/.eslintrc.js b/packages/ember-cookies/.eslintrc.js index 1c69472c..e693f5b0 100644 --- a/packages/ember-cookies/.eslintrc.js +++ b/packages/ember-cookies/.eslintrc.js @@ -24,11 +24,11 @@ module.exports = { '.eslintrc.js', '**/.eslintrc.js', '.prettierrc.js', - 'index.js', + 'addon-main.js', 'blueprints/*/index.js', 'config/**/*.js', ], - excludedFiles: ['addon/**', 'addon-test-support/**'], + excludedFiles: ['src/**'], parserOptions: { sourceType: 'script', }, diff --git a/packages/ember-cookies/.gitignore b/packages/ember-cookies/.gitignore index 03578211..a1a298b5 100644 --- a/packages/ember-cookies/.gitignore +++ b/packages/ember-cookies/.gitignore @@ -2,11 +2,9 @@ # compiled output /dist -/tmp # dependencies /node_modules -/bower_components # misc /.eslintcache @@ -19,6 +17,6 @@ yarn-error.log testem.log .DS_Store -# ember-try -.node_modules.ember-try/ -package.json.ember-try +# .md copies from release +/CHANGELOG.md +/README.md diff --git a/packages/ember-cookies/addon-main.js b/packages/ember-cookies/addon-main.js new file mode 100644 index 00000000..9375da06 --- /dev/null +++ b/packages/ember-cookies/addon-main.js @@ -0,0 +1,2 @@ +const { addonV1Shim } = require('@embroider/addon-shim'); +module.exports = addonV1Shim(__dirname); diff --git a/packages/ember-cookies/addon/.gitkeep b/packages/ember-cookies/addon/.gitkeep deleted file mode 100644 index e69de29b..00000000 diff --git a/packages/ember-cookies/app/.gitkeep b/packages/ember-cookies/app/.gitkeep deleted file mode 100644 index e69de29b..00000000 diff --git a/packages/ember-cookies/app/services/cookies.js b/packages/ember-cookies/app/services/cookies.js deleted file mode 100644 index 154d0715..00000000 --- a/packages/ember-cookies/app/services/cookies.js +++ /dev/null @@ -1,3 +0,0 @@ -import CookiesService from 'ember-cookies/services/cookies'; - -export default CookiesService; diff --git a/packages/ember-cookies/babel.config.json b/packages/ember-cookies/babel.config.json new file mode 100644 index 00000000..cfcf8a3c --- /dev/null +++ b/packages/ember-cookies/babel.config.json @@ -0,0 +1,7 @@ +{ + "plugins": [ + "@embroider/addon-dev/template-colocation-plugin", + ["@babel/plugin-proposal-decorators", { "legacy": true }], + "@babel/plugin-proposal-class-properties" + ] +} diff --git a/packages/ember-cookies/index.js b/packages/ember-cookies/index.js deleted file mode 100644 index 5bc4e15c..00000000 --- a/packages/ember-cookies/index.js +++ /dev/null @@ -1,12 +0,0 @@ -/* eslint-env node */ -'use strict'; - -module.exports = { - name: require('./package').name, - - treeForAddonTestSupport(tree) { - return this.preprocessJs(tree, '/', this.name, { - registry: this.registry, - }); - }, -}; diff --git a/packages/ember-cookies/package.json b/packages/ember-cookies/package.json index 2af0b5d6..52f122c2 100644 --- a/packages/ember-cookies/package.json +++ b/packages/ember-cookies/package.json @@ -5,30 +5,51 @@ "keywords": [ "ember-addon" ], + "repository": "https://github.com/simplabs/ember-cookies", "license": "MIT", "author": "", + "exports": { + ".": "./dist/index.js", + "./*": "./dist/*", + "./test-support": "./dist/test-support/index.js", + "./addon-main.js": "./addon-main.js" + }, "directories": { "doc": "doc", "test": "tests" }, - "repository": "https://github.com/simplabs/ember-cookies", + "files": [ + "addon-main.js", + "dist" + ], "scripts": { + "build": "rollup --config", + "copyDoc": "cp ../../*.md .", "lint": "yarn lint:js", "lint:js": "eslint . --cache", - "lint:js:fix": "eslint . --fix" + "lint:js:fix": "eslint . --fix", + "prepublishOnly": "npm-run-all --aggregate-output --continue-on-error --parallel copyDoc build", + "start": "rollup --config --watch", + "test": "echo 'A v2 addon does not have tests, run tests in test-app'" }, "dependencies": { - "ember-cli-babel": "^7.26.3", + "@embroider/addon-shim": "^1.7.1", "ember-native-class-polyfill": "^1.0.6" }, "devDependencies": { + "@babel/core": "^7.18.2", "@babel/eslint-parser": "^7.17.0", + "@babel/plugin-proposal-class-properties": "^7.17.12", + "@babel/plugin-proposal-decorators": "^7.18.2", + "@embroider/addon-dev": "^1.7.1", + "@rollup/plugin-babel": "^5.3.1", "eslint": "^8.0.0", "eslint-config-prettier": "^8.1.0", "eslint-plugin-ember": "^10.3.0", "eslint-plugin-node": "^11.1.0", "eslint-plugin-prettier": "^4.0.0", - "prettier": "2.6.2" + "prettier": "2.6.2", + "rollup": "^2.74.1" }, "engines": { "node": ">= 14.*" @@ -37,8 +58,14 @@ "edition": "octane" }, "ember-addon": { + "main": "addon-main.js", + "type": "addon", + "version": 2, "versionCompatibility": { "ember": ">=3.4" + }, + "app-js": { + "./services/cookies.js": "./dist/_app_/services/cookies.js" } } } diff --git a/packages/ember-cookies/rollup.config.js b/packages/ember-cookies/rollup.config.js new file mode 100644 index 00000000..529f0833 --- /dev/null +++ b/packages/ember-cookies/rollup.config.js @@ -0,0 +1,54 @@ +import babel from '@rollup/plugin-babel'; +import { Addon } from '@embroider/addon-dev/rollup'; + +const addon = new Addon({ + srcDir: 'src', + destDir: 'dist', +}); + +export default { + // This provides defaults that work well alongside `publicEntrypoints` below. + // You can augment this if you need to. + output: addon.output(), + + plugins: [ + // These are the modules that users should be able to import from your + // addon. Anything not listed here may get optimized away. + addon.publicEntrypoints([ + 'services/**/*.js', + 'test-support/**/*.js', + 'utils/**/*.js', + 'clear-all-cookies.js', + ]), + + // These are the modules that should get reexported into the traditional + // "app" tree. Things in here should also be in publicEntrypoints above, but + // not everything in publicEntrypoints necessarily needs to go here. + addon.appReexports(['services/cookies.js']), + + // This babel config should *not* apply presets or compile away ES modules. + // It exists only to provide development niceties for you, like automatic + // template colocation. + // + // By default, this will load the actual babel config from the file + // babel.config.json. + babel({ + babelHelpers: 'bundled', + }), + + // Follow the V2 Addon rules about dependencies. Your code can import from + // `dependencies` and `peerDependencies` as well as standard Ember-provided + // package names. + addon.dependencies(), + + // Ensure that standalone .hbs files are properly integrated as Javascript. + addon.hbs(), + + // addons are allowed to contain imports of .css files, which we want rollup + // to leave alone and keep in the published output. + addon.keepAssets(['**/*.css']), + + // Remove leftover build artifacts when starting a new build. + addon.clean(), + ], +}; diff --git a/packages/ember-cookies/addon/services/cookies.js b/packages/ember-cookies/src/services/cookies.js similarity index 100% rename from packages/ember-cookies/addon/services/cookies.js rename to packages/ember-cookies/src/services/cookies.js diff --git a/packages/ember-cookies/addon-test-support/ember-cookies/clear-all-cookies.js b/packages/ember-cookies/src/test-support/clear-all-cookies.js similarity index 85% rename from packages/ember-cookies/addon-test-support/ember-cookies/clear-all-cookies.js rename to packages/ember-cookies/src/test-support/clear-all-cookies.js index 4c2e4daf..8c8bbc19 100644 --- a/packages/ember-cookies/addon-test-support/ember-cookies/clear-all-cookies.js +++ b/packages/ember-cookies/src/test-support/clear-all-cookies.js @@ -1,10 +1,11 @@ import { assert } from '@ember/debug'; import { assign as emberAssign } from '@ember/polyfills'; import { isEmpty } from '@ember/utils'; -import { serializeCookie } from 'ember-cookies/utils/serialize-cookie'; +import { serializeCookie } from '../utils/serialize-cookie'; + const assign = Object.assign || emberAssign; -export default function (options = {}) { +export default function clearAllCookies(options = {}) { assert('Cookies cannot be set to be HTTP-only from a browser!', !options.httpOnly); assert( 'Expires, Max-Age, and raw options cannot be set when clearing cookies', diff --git a/packages/ember-cookies/src/test-support/index.js b/packages/ember-cookies/src/test-support/index.js new file mode 100644 index 00000000..6d1cba98 --- /dev/null +++ b/packages/ember-cookies/src/test-support/index.js @@ -0,0 +1 @@ +export { default as clearAllCookies } from './clear-all-cookies'; diff --git a/packages/ember-cookies/addon/utils/serialize-cookie.js b/packages/ember-cookies/src/utils/serialize-cookie.js similarity index 100% rename from packages/ember-cookies/addon/utils/serialize-cookie.js rename to packages/ember-cookies/src/utils/serialize-cookie.js diff --git a/packages/test-app/tests/unit/clear-all-cookies-test.js b/packages/test-app/tests/unit/clear-all-cookies-test.js index 72584131..896c02e7 100644 --- a/packages/test-app/tests/unit/clear-all-cookies-test.js +++ b/packages/test-app/tests/unit/clear-all-cookies-test.js @@ -1,6 +1,6 @@ import { module, test } from 'qunit'; import { setupTest } from 'ember-qunit'; -import clearAllCookies from 'ember-cookies/clear-all-cookies'; +import { clearAllCookies } from 'ember-cookies/test-support'; function randomString() { return Math.random().toString(36).substring(2); diff --git a/yarn.lock b/yarn.lock index db243dee..346487bf 100644 --- a/yarn.lock +++ b/yarn.lock @@ -22,7 +22,7 @@ resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.17.10.tgz#711dc726a492dfc8be8220028b1b92482362baab" integrity sha512-GZt/TCsG70Ms19gfZO1tM4CVnXsPgEPBCpJu+Qz3L0LUDsY5nZqFZglIoPC1kIYOtNBZlrnFT+klg12vFGZXrw== -"@babel/core@^7.1.6", "@babel/core@^7.12.0", "@babel/core@^7.16.10", "@babel/core@^7.16.7", "@babel/core@^7.17.9", "@babel/core@^7.3.4": +"@babel/core@^7.1.6", "@babel/core@^7.12.0", "@babel/core@^7.16.10", "@babel/core@^7.16.7", "@babel/core@^7.17.9", "@babel/core@^7.18.2", "@babel/core@^7.3.4": version "7.18.2" resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.18.2.tgz#87b2fcd7cce9becaa7f5acebdc4f09f3dd19d876" integrity sha512-A8pri1YJiC5UnkdrWcmfZTJTV85b4UXTAfImGmCfYmax4TR9Cw8sDS0MOk++Gp2mE/BefVJ5nwy5yzqNJbP/DQ== @@ -155,7 +155,7 @@ dependencies: "@babel/types" "^7.17.0" -"@babel/helper-module-imports@^7.12.13", "@babel/helper-module-imports@^7.16.7": +"@babel/helper-module-imports@^7.10.4", "@babel/helper-module-imports@^7.12.13", "@babel/helper-module-imports@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.16.7.tgz#25612a8091a999704461c8a222d0efec5d091437" integrity sha512-LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg== @@ -314,7 +314,7 @@ "@babel/helper-plugin-utils" "^7.17.12" "@babel/plugin-syntax-class-static-block" "^7.14.5" -"@babel/plugin-proposal-decorators@^7.13.5", "@babel/plugin-proposal-decorators@^7.16.7": +"@babel/plugin-proposal-decorators@^7.13.5", "@babel/plugin-proposal-decorators@^7.16.7", "@babel/plugin-proposal-decorators@^7.18.2": version "7.18.2" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.18.2.tgz#dbe4086d2d42db489399783c3aa9272e9700afd4" integrity sha512-kbDISufFOxeczi0v4NQP3p5kIeW6izn/6klfWBrIIdGZZe4UpHR+QU03FAoWjGGd9SUXAwbw2pup1kaL4OQsJQ== @@ -1043,6 +1043,29 @@ ember-cli-version-checker "^5.1.2" semver "^7.3.5" +"@embroider/addon-dev@^1.7.1": + version "1.7.1" + resolved "https://registry.yarnpkg.com/@embroider/addon-dev/-/addon-dev-1.7.1.tgz#2c05badc60dcbe599cf56a3b64d4c32698c287e7" + integrity sha512-SfpRB6AXa/n3/IhnGGq3OHEsmgx1SaC33clKngx2XA2rnxoiekXVB8gu0DCMGVl8bztMqprA/Uefkg4K2JpErA== + dependencies: + "@embroider/shared-internals" "^1.7.1" + "@rollup/pluginutils" "^4.1.1" + assert-never "^1.2.1" + fs-extra "^10.0.0" + minimatch "^3.0.4" + rollup-plugin-copy-assets "^2.0.3" + rollup-plugin-delete "^2.0.0" + walk-sync "^3.0.0" + yargs "^17.0.1" + +"@embroider/addon-shim@^1.7.1": + version "1.7.1" + resolved "https://registry.yarnpkg.com/@embroider/addon-shim/-/addon-shim-1.7.1.tgz#a00471f2d02f09a820d988ccc1612e09473d2eb4" + integrity sha512-0xTQLZEAuGeMiZq4tF3KFlP4R/r1js7qq2QEQ89bhEDI8yKCDBScvPrpSpaT6aZj8bWByjDvXHFuSpInFl5gww== + dependencies: + "@embroider/shared-internals" "^1.7.1" + semver "^7.3.5" + "@embroider/macros@1.7.1", "@embroider/macros@^1.0.0", "@embroider/macros@^1.6.0": version "1.7.1" resolved "https://registry.yarnpkg.com/@embroider/macros/-/macros-1.7.1.tgz#125b73f30f983866528b7b6ccd6d2ca565628c70" @@ -1057,7 +1080,7 @@ resolve "^1.20.0" semver "^7.3.2" -"@embroider/shared-internals@1.7.1", "@embroider/shared-internals@^1.0.0": +"@embroider/shared-internals@1.7.1", "@embroider/shared-internals@^1.0.0", "@embroider/shared-internals@^1.7.1": version "1.7.1" resolved "https://registry.yarnpkg.com/@embroider/shared-internals/-/shared-internals-1.7.1.tgz#68afe26aa84e7431b858fcc1f1e0e8a5aaa7c90b" integrity sha512-qT7i3EnOogwvi6xRl7wjJmx27rLlUZG6B6HJXAKXvZOyGFVs0GnQKIJX+7zX2PZAcqlpqhmdWm9MPdrof0dj5g== @@ -1233,6 +1256,31 @@ "@nodelib/fs.scandir" "2.1.5" fastq "^1.6.0" +"@rollup/plugin-babel@^5.3.1": + version "5.3.1" + resolved "https://registry.yarnpkg.com/@rollup/plugin-babel/-/plugin-babel-5.3.1.tgz#04bc0608f4aa4b2e4b1aebf284344d0f68fda283" + integrity sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q== + dependencies: + "@babel/helper-module-imports" "^7.10.4" + "@rollup/pluginutils" "^3.1.0" + +"@rollup/pluginutils@^3.1.0": + version "3.1.0" + resolved "https://registry.yarnpkg.com/@rollup/pluginutils/-/pluginutils-3.1.0.tgz#706b4524ee6dc8b103b3c995533e5ad680c02b9b" + integrity sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg== + dependencies: + "@types/estree" "0.0.39" + estree-walker "^1.0.1" + picomatch "^2.2.2" + +"@rollup/pluginutils@^4.1.1": + version "4.2.1" + resolved "https://registry.yarnpkg.com/@rollup/pluginutils/-/pluginutils-4.2.1.tgz#e6c6c3aba0744edce3fb2074922d3776c0af2a6d" + integrity sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ== + dependencies: + estree-walker "^2.0.1" + picomatch "^2.2.2" + "@simple-dom/document@^1.4.0": version "1.4.0" resolved "https://registry.yarnpkg.com/@simple-dom/document/-/document-1.4.0.tgz#af60855f957f284d436983798ef1006cca1a1678" @@ -1372,6 +1420,11 @@ resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.51.tgz#cfd70924a25a3fd32b218e5e420e6897e1ac4f40" integrity sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ== +"@types/estree@0.0.39": + version "0.0.39" + resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.39.tgz#e177e699ee1b8c22d23174caaa7422644389509f" + integrity sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw== + "@types/express-serve-static-core@^4.17.18": version "4.17.28" resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.17.28.tgz#c47def9f34ec81dc6328d0b1b5303d1ec98d86b8" @@ -1813,6 +1866,14 @@ agent-base@6: dependencies: debug "4" +aggregate-error@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-3.1.0.tgz#92670ff50f5359bdb7a3e0d40d0ec30c5737687a" + integrity sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA== + dependencies: + clean-stack "^2.0.0" + indent-string "^4.0.0" + ajv-errors@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/ajv-errors/-/ajv-errors-1.0.1.tgz#f35986aceb91afadec4102fbd85014950cefa64d" @@ -1919,7 +1980,7 @@ ansi-styles@^3.0.0, ansi-styles@^3.2.1: dependencies: color-convert "^1.9.0" -ansi-styles@^4.1.0: +ansi-styles@^4.0.0, ansi-styles@^4.1.0: version "4.3.0" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== @@ -3905,7 +3966,7 @@ clean-css@^3.4.5: commander "2.8.x" source-map "0.4.x" -clean-stack@^2.2.0: +clean-stack@^2.0.0, clean-stack@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b" integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A== @@ -3960,6 +4021,15 @@ cli-width@^3.0.0: resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-3.0.0.tgz#a2f48437a2caa9a22436e794bf071ec9e61cedf6" integrity sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw== +cliui@^7.0.2: + version "7.0.4" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f" + integrity sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ== + dependencies: + string-width "^4.2.0" + strip-ansi "^6.0.0" + wrap-ansi "^7.0.0" + clone-response@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/clone-response/-/clone-response-1.0.2.tgz#d1dc973920314df67fbeb94223b4ee350239e96b" @@ -4502,6 +4572,20 @@ define-property@^2.0.2: is-descriptor "^1.0.2" isobject "^3.0.1" +del@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/del/-/del-5.1.0.tgz#d9487c94e367410e6eff2925ee58c0c84a75b3a7" + integrity sha512-wH9xOVHnczo9jN2IW68BabcecVPxacIA3g/7z6vhSU/4stOKQzeCRK0yD0A24WiAAUJmmVpWqrERcTxnLo3AnA== + dependencies: + globby "^10.0.1" + graceful-fs "^4.2.2" + is-glob "^4.0.1" + is-path-cwd "^2.2.0" + is-path-inside "^3.0.1" + p-map "^3.0.0" + rimraf "^3.0.0" + slash "^3.0.0" + delayed-stream@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" @@ -5775,6 +5859,16 @@ estree-walker@^0.6.1: resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-0.6.1.tgz#53049143f40c6eb918b23671d1fe3219f3a1b362" integrity sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w== +estree-walker@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-1.0.1.tgz#31bc5d612c96b704106b477e6dd5d8aa138cb700" + integrity sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg== + +estree-walker@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-2.0.2.tgz#52f010178c2a4c117a7757cfe942adb7d2da4cac" + integrity sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w== + esutils@^2.0.2: version "2.0.3" resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" @@ -6798,6 +6892,20 @@ globby@10.0.0: merge2 "^1.2.3" slash "^3.0.0" +globby@^10.0.1: + version "10.0.2" + resolved "https://registry.yarnpkg.com/globby/-/globby-10.0.2.tgz#277593e745acaa4646c3ab411289ec47a0392543" + integrity sha512-7dUi7RvCoT/xast/o/dLN53oqND4yk0nsHkhRgn9w65C4PofCLOoJ39iSOg+qVDdWQPIEj+eszMHQ+aLVwwQSg== + dependencies: + "@types/glob" "^7.1.1" + array-union "^2.1.0" + dir-glob "^3.0.1" + fast-glob "^3.0.3" + glob "^7.1.3" + ignore "^5.1.1" + merge2 "^1.2.3" + slash "^3.0.0" + globrex@^0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/globrex/-/globrex-0.1.2.tgz#dd5d9ec826232730cd6793a5e33a9302985e6098" @@ -6820,7 +6928,7 @@ got@^9.6.0: to-readable-stream "^1.0.0" url-parse-lax "^3.0.0" -graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.3, graceful-fs@^4.1.6, graceful-fs@^4.1.9, graceful-fs@^4.2.0, graceful-fs@^4.2.4, graceful-fs@^4.2.9: +graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.3, graceful-fs@^4.1.6, graceful-fs@^4.1.9, graceful-fs@^4.2.0, graceful-fs@^4.2.2, graceful-fs@^4.2.4, graceful-fs@^4.2.9: version "4.2.10" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.10.tgz#147d3a006da4ca3ce14728c7aefc287c367d7a6c" integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA== @@ -7187,6 +7295,11 @@ imurmurhash@^0.1.4: resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== +indent-string@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251" + integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== + infer-owner@^1.0.3: version "1.0.4" resolved "https://registry.yarnpkg.com/infer-owner/-/infer-owner-1.0.4.tgz#c4cefcaa8e51051c2a40ba2ce8a3d27295af9467" @@ -7496,6 +7609,16 @@ is-obj@^2.0.0: resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-2.0.0.tgz#473fb05d973705e3fd9620545018ca8e22ef4982" integrity sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w== +is-path-cwd@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-2.2.0.tgz#67d43b82664a7b5191fd9119127eb300048a9fdb" + integrity sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ== + +is-path-inside@^3.0.1: + version "3.0.3" + resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283" + integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ== + is-plain-obj@2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-2.1.0.tgz#45e42e37fccf1f40da8e5f76ee21515840c09287" @@ -9158,6 +9281,13 @@ p-locate@^5.0.0: dependencies: p-limit "^3.0.2" +p-map@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/p-map/-/p-map-3.0.0.tgz#d704d9af8a2ba684e2600d9a215983d4141a979d" + integrity sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ== + dependencies: + aggregate-error "^3.0.0" + p-try@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3" @@ -9350,7 +9480,7 @@ picocolors@^1.0.0: resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== -picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.3.1: +picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.2, picomatch@^2.3.1: version "2.3.1" resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== @@ -9984,6 +10114,11 @@ request@^2.88.2: tunnel-agent "^0.6.0" uuid "^3.3.2" +require-directory@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" + integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= + require-from-string@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909" @@ -10158,6 +10293,20 @@ rollup-plugin-commonjs@^8.0.2: resolve "^1.4.0" rollup-pluginutils "^2.0.1" +rollup-plugin-copy-assets@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/rollup-plugin-copy-assets/-/rollup-plugin-copy-assets-2.0.3.tgz#9a9098894c3ded16d2eee8c4108055e332b5f59f" + integrity sha512-ETShhQGb9SoiwcNrvb3BhUNSGR89Jao0+XxxfzzLW1YsUzx8+rMO4z9oqWWmo6OHUmfNQRvqRj0cAyPkS9lN9w== + dependencies: + fs-extra "^7.0.1" + +rollup-plugin-delete@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/rollup-plugin-delete/-/rollup-plugin-delete-2.0.0.tgz#262acf80660d48c3b167fb0baabd0c3ab985c153" + integrity sha512-/VpLMtDy+8wwRlDANuYmDa9ss/knGsAgrDhM+tEwB1npHwNu4DYNmDfUL55csse/GHs9Q+SMT/rw9uiaZ3pnzA== + dependencies: + del "^5.1.0" + rollup-plugin-node-resolve@^3.0.0: version "3.4.0" resolved "https://registry.yarnpkg.com/rollup-plugin-node-resolve/-/rollup-plugin-node-resolve-3.4.0.tgz#908585eda12e393caac7498715a01e08606abc89" @@ -10189,6 +10338,13 @@ rollup@^0.41.4: dependencies: source-map-support "^0.4.0" +rollup@^2.74.1: + version "2.75.3" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.75.3.tgz#11bd3e8ace526911feea8af17f2a286fbfdb4cf8" + integrity sha512-YA29fLU6MAYSaDxIQYrGGOcbXlDmG96h0krGGYObroezcQ0KgEPM3+7MtKD/qeuUbFuAJXvKZee5dA1dpwq1PQ== + optionalDependencies: + fsevents "~2.3.2" + rsvp@^3.0.14, rsvp@^3.0.17, rsvp@^3.0.18, rsvp@^3.0.21, rsvp@^3.0.6, rsvp@^3.1.0: version "3.6.2" resolved "https://registry.yarnpkg.com/rsvp/-/rsvp-3.6.2.tgz#2e96491599a96cde1b515d5674a8f7a91452926a" @@ -12035,6 +12191,15 @@ workerpool@^6.0.0, workerpool@^6.2.0: resolved "https://registry.yarnpkg.com/workerpool/-/workerpool-6.2.1.tgz#46fc150c17d826b86a008e5a4508656777e9c343" integrity sha512-ILEIE97kDZvF9Wb9f6h5aXK4swSlKGUcOEGiIYb2OOu/IrDU9iwj0fD//SsA6E5ibwJxpEvhullJY4Sl4GcpAw== +wrap-ansi@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" + integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + wrappy@1: version "1.0.2" resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" @@ -12085,6 +12250,11 @@ y18n@^4.0.0: resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.3.tgz#b5f259c82cd6e336921efd7bfd8bf560de9eeedf" integrity sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ== +y18n@^5.0.5: + version "5.0.8" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" + integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== + yallist@^3.0.0, yallist@^3.0.2: version "3.1.1" resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" @@ -12103,6 +12273,24 @@ yam@^1.0.0: fs-extra "^4.0.2" lodash.merge "^4.6.0" +yargs-parser@^21.0.0: + version "21.0.1" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.0.1.tgz#0267f286c877a4f0f728fceb6f8a3e4cb95c6e35" + integrity sha512-9BK1jFpLzJROCI5TzwZL/TU4gqjK5xiHV/RfWLOahrjAko/e4DJkRDZQXfvqAsiZzzYhgAzbgz6lg48jcm4GLg== + +yargs@^17.0.1: + version "17.5.1" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.5.1.tgz#e109900cab6fcb7fd44b1d8249166feb0b36e58e" + integrity sha512-t6YAJcxDkNX7NFYiVtKvWUz8l+PaKTLiL63mJYWR2GnHq2gjEWISzsLp9wg3aY36dY1j+gfIEL3pIF+XlJJfbA== + dependencies: + cliui "^7.0.2" + escalade "^3.1.1" + get-caller-file "^2.0.5" + require-directory "^2.1.1" + string-width "^4.2.3" + y18n "^5.0.5" + yargs-parser "^21.0.0" + yocto-queue@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b"