From 1511c513371141030bbce00f2e753bfc309e0a3e Mon Sep 17 00:00:00 2001 From: Randall Morey Date: Wed, 18 Nov 2020 11:58:16 -0500 Subject: [PATCH] =?UTF-8?q?refactor:=20=F0=9F=92=A1=20rename=20intl=20to?= =?UTF-8?q?=20core?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- addons/core/.editorconfig | 19 ++ addons/core/.ember-cli | 9 + addons/core/.eslintignore | 20 ++ addons/core/.eslintrc.js | 54 +++++ addons/core/.gitignore | 25 ++ addons/core/.npmignore | 32 +++ addons/core/.template-lintrc.js | 5 + addons/core/.travis.yml | 66 ++++++ addons/core/.watchmanconfig | 3 + addons/core/CONTRIBUTING.md | 26 +++ addons/core/LICENSE.md | 9 + addons/core/README.md | 38 ++++ addons/core/addon/.gitkeep | 0 addons/core/app/.gitkeep | 0 addons/core/config/ember-try.js | 87 +++++++ addons/core/config/environment.js | 5 + addons/core/ember-cli-build.js | 18 ++ addons/core/index.js | 4 + addons/core/package.json | 68 ++++++ addons/core/testem.js | 27 +++ addons/core/tests/dummy/app/app.js | 12 + .../core/tests/dummy/app/components/.gitkeep | 0 .../core/tests/dummy/app/controllers/.gitkeep | 0 addons/core/tests/dummy/app/formats.js | 31 +++ addons/core/tests/dummy/app/helpers/.gitkeep | 0 addons/core/tests/dummy/app/index.html | 25 ++ addons/core/tests/dummy/app/models/.gitkeep | 0 addons/core/tests/dummy/app/router.js | 10 + addons/core/tests/dummy/app/routes/.gitkeep | 0 addons/core/tests/dummy/app/styles/app.css | 0 .../tests/dummy/app/templates/application.hbs | 3 + .../tests/dummy/config/ember-cli-update.json | 20 ++ addons/core/tests/dummy/config/ember-intl.js | 95 ++++++++ addons/core/tests/dummy/config/environment.js | 51 +++++ .../tests/dummy/config/optional-features.json | 6 + addons/core/tests/dummy/config/targets.js | 18 ++ addons/core/tests/dummy/public/robots.txt | 3 + addons/core/tests/helpers/.gitkeep | 0 addons/core/tests/index.html | 33 +++ addons/core/tests/integration/.gitkeep | 0 addons/core/tests/test-helper.js | 8 + addons/core/tests/unit/.gitkeep | 0 addons/core/translations/actions/en-us.yaml | 28 +++ addons/core/translations/en-us.yaml | 32 +++ addons/core/translations/errors/en-us.yaml | 19 ++ addons/core/translations/form/en-us.yaml | 51 +++++ .../translations/notifications/en-us.yaml | 6 + addons/core/translations/resources/en-us.yaml | 213 ++++++++++++++++++ addons/core/translations/states/en-us.yaml | 5 + addons/core/vendor/.gitkeep | 0 ui/admin/package.json | 2 +- ui/desktop/package.json | 2 +- yarn.lock | 153 +++++++------ 53 files changed, 1272 insertions(+), 69 deletions(-) create mode 100644 addons/core/.editorconfig create mode 100644 addons/core/.ember-cli create mode 100644 addons/core/.eslintignore create mode 100644 addons/core/.eslintrc.js create mode 100644 addons/core/.gitignore create mode 100644 addons/core/.npmignore create mode 100644 addons/core/.template-lintrc.js create mode 100644 addons/core/.travis.yml create mode 100644 addons/core/.watchmanconfig create mode 100644 addons/core/CONTRIBUTING.md create mode 100644 addons/core/LICENSE.md create mode 100644 addons/core/README.md create mode 100644 addons/core/addon/.gitkeep create mode 100644 addons/core/app/.gitkeep create mode 100644 addons/core/config/ember-try.js create mode 100644 addons/core/config/environment.js create mode 100644 addons/core/ember-cli-build.js create mode 100644 addons/core/index.js create mode 100644 addons/core/package.json create mode 100644 addons/core/testem.js create mode 100644 addons/core/tests/dummy/app/app.js create mode 100644 addons/core/tests/dummy/app/components/.gitkeep create mode 100644 addons/core/tests/dummy/app/controllers/.gitkeep create mode 100644 addons/core/tests/dummy/app/formats.js create mode 100644 addons/core/tests/dummy/app/helpers/.gitkeep create mode 100644 addons/core/tests/dummy/app/index.html create mode 100644 addons/core/tests/dummy/app/models/.gitkeep create mode 100644 addons/core/tests/dummy/app/router.js create mode 100644 addons/core/tests/dummy/app/routes/.gitkeep create mode 100644 addons/core/tests/dummy/app/styles/app.css create mode 100644 addons/core/tests/dummy/app/templates/application.hbs create mode 100644 addons/core/tests/dummy/config/ember-cli-update.json create mode 100644 addons/core/tests/dummy/config/ember-intl.js create mode 100644 addons/core/tests/dummy/config/environment.js create mode 100644 addons/core/tests/dummy/config/optional-features.json create mode 100644 addons/core/tests/dummy/config/targets.js create mode 100644 addons/core/tests/dummy/public/robots.txt create mode 100644 addons/core/tests/helpers/.gitkeep create mode 100644 addons/core/tests/index.html create mode 100644 addons/core/tests/integration/.gitkeep create mode 100644 addons/core/tests/test-helper.js create mode 100644 addons/core/tests/unit/.gitkeep create mode 100644 addons/core/translations/actions/en-us.yaml create mode 100644 addons/core/translations/en-us.yaml create mode 100644 addons/core/translations/errors/en-us.yaml create mode 100644 addons/core/translations/form/en-us.yaml create mode 100644 addons/core/translations/notifications/en-us.yaml create mode 100644 addons/core/translations/resources/en-us.yaml create mode 100644 addons/core/translations/states/en-us.yaml create mode 100644 addons/core/vendor/.gitkeep diff --git a/addons/core/.editorconfig b/addons/core/.editorconfig new file mode 100644 index 000000000..c35a00240 --- /dev/null +++ b/addons/core/.editorconfig @@ -0,0 +1,19 @@ +# 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 + +[*.hbs] +insert_final_newline = false + +[*.{diff,md}] +trim_trailing_whitespace = false diff --git a/addons/core/.ember-cli b/addons/core/.ember-cli new file mode 100644 index 000000000..ee64cfed2 --- /dev/null +++ b/addons/core/.ember-cli @@ -0,0 +1,9 @@ +{ + /** + Ember CLI sends analytics information by default. The data is completely + anonymous, but there are times when you might want to disable this behavior. + + Setting `disableAnalytics` to true will prevent any data from being sent. + */ + "disableAnalytics": false +} diff --git a/addons/core/.eslintignore b/addons/core/.eslintignore new file mode 100644 index 000000000..72df37307 --- /dev/null +++ b/addons/core/.eslintignore @@ -0,0 +1,20 @@ +# unconventional js +/blueprints/*/files/ +/vendor/ + +# compiled output +/dist/ +/tmp/ + +# dependencies +/bower_components/ +/node_modules/ + +# misc +/coverage/ +!.* + +# ember-try +/.node_modules.ember-try/ +/bower.json.ember-try +/package.json.ember-try diff --git a/addons/core/.eslintrc.js b/addons/core/.eslintrc.js new file mode 100644 index 000000000..928585995 --- /dev/null +++ b/addons/core/.eslintrc.js @@ -0,0 +1,54 @@ +'use strict'; + +module.exports = { + root: true, + parser: 'babel-eslint', + parserOptions: { + ecmaVersion: 2018, + sourceType: 'module', + ecmaFeatures: { + legacyDecorators: true + } + }, + plugins: [ + 'ember' + ], + extends: [ + 'eslint:recommended', + 'plugin:ember/recommended' + ], + env: { + browser: true + }, + rules: {}, + overrides: [ + // node files + { + files: [ + '.eslintrc.js', + '.template-lintrc.js', + 'ember-cli-build.js', + 'index.js', + 'testem.js', + 'blueprints/*/index.js', + 'config/**/*.js', + 'tests/dummy/config/**/*.js' + ], + excludedFiles: [ + 'addon/**', + 'addon-test-support/**', + 'app/**', + 'tests/dummy/app/**' + ], + parserOptions: { + sourceType: 'script' + }, + env: { + browser: false, + node: true + }, + plugins: ['node'], + extends: ['plugin:node/recommended'] + } + ] +}; diff --git a/addons/core/.gitignore b/addons/core/.gitignore new file mode 100644 index 000000000..c40a1b2ab --- /dev/null +++ b/addons/core/.gitignore @@ -0,0 +1,25 @@ +# See https://help.github.com/ignore-files/ for more about ignoring files. + +# compiled output +/dist/ +/tmp/ + +# dependencies +/bower_components/ +/node_modules/ + +# misc +/.env* +/.pnp* +/.sass-cache +/connect.lock +/coverage/ +/libpeerconnection.log +/npm-debug.log* +/testem.log +/yarn-error.log + +# ember-try +/.node_modules.ember-try/ +/bower.json.ember-try +/package.json.ember-try diff --git a/addons/core/.npmignore b/addons/core/.npmignore new file mode 100644 index 000000000..bd09adff9 --- /dev/null +++ b/addons/core/.npmignore @@ -0,0 +1,32 @@ +# compiled output +/dist/ +/tmp/ + +# dependencies +/bower_components/ + +# misc +/.bowerrc +/.editorconfig +/.ember-cli +/.env* +/.eslintignore +/.eslintrc.js +/.git/ +/.gitignore +/.template-lintrc.js +/.travis.yml +/.watchmanconfig +/bower.json +/config/ember-try.js +/CONTRIBUTING.md +/ember-cli-build.js +/testem.js +/tests/ +/yarn.lock +.gitkeep + +# ember-try +/.node_modules.ember-try/ +/bower.json.ember-try +/package.json.ember-try diff --git a/addons/core/.template-lintrc.js b/addons/core/.template-lintrc.js new file mode 100644 index 000000000..f38737001 --- /dev/null +++ b/addons/core/.template-lintrc.js @@ -0,0 +1,5 @@ +'use strict'; + +module.exports = { + extends: 'octane' +}; diff --git a/addons/core/.travis.yml b/addons/core/.travis.yml new file mode 100644 index 000000000..1211e146c --- /dev/null +++ b/addons/core/.travis.yml @@ -0,0 +1,66 @@ +--- +language: node_js +node_js: + # we recommend testing addons with the same minimum supported node version as Ember CLI + # so that your addon works for all apps + - "10" + +dist: xenial + +addons: + chrome: stable + +cache: + yarn: true + +env: + global: + # See https://git.io/vdao3 for details. + - JOBS=1 + +branches: + only: + - master + # npm version tags + - /^v\d+\.\d+\.\d+/ + +jobs: + fast_finish: true + allow_failures: + - env: EMBER_TRY_SCENARIO=ember-canary + + include: + # runs linting and tests with current locked deps + - stage: "Tests" + name: "Tests" + script: + - yarn lint + - yarn test:ember + + - stage: "Additional Tests" + name: "Floating Dependencies" + install: + - yarn install --no-lockfile --non-interactive + script: + - yarn test:ember + + # we recommend new addons test the current and previous LTS + # as well as latest stable release (bonus points to beta/canary) + - env: EMBER_TRY_SCENARIO=ember-lts-3.12 + - env: EMBER_TRY_SCENARIO=ember-lts-3.16 + - env: EMBER_TRY_SCENARIO=ember-lts-3.20 + - env: EMBER_TRY_SCENARIO=ember-release + - env: EMBER_TRY_SCENARIO=ember-beta + - env: EMBER_TRY_SCENARIO=ember-canary + - env: EMBER_TRY_SCENARIO=ember-default-with-jquery + - env: EMBER_TRY_SCENARIO=ember-classic + +before_install: + - curl -o- -L https://yarnpkg.com/install.sh | bash + - export PATH=$HOME/.yarn/bin:$PATH + +install: + - yarn install --non-interactive + +script: + - node_modules/.bin/ember try:one $EMBER_TRY_SCENARIO diff --git a/addons/core/.watchmanconfig b/addons/core/.watchmanconfig new file mode 100644 index 000000000..e7834e3e4 --- /dev/null +++ b/addons/core/.watchmanconfig @@ -0,0 +1,3 @@ +{ + "ignore_dirs": ["tmp", "dist"] +} diff --git a/addons/core/CONTRIBUTING.md b/addons/core/CONTRIBUTING.md new file mode 100644 index 000000000..7491f6c86 --- /dev/null +++ b/addons/core/CONTRIBUTING.md @@ -0,0 +1,26 @@ +# How To Contribute + +## Installation + +* `git clone ` +* `cd core` +* `yarn install` + +## Linting + +* `yarn lint:hbs` +* `yarn lint:js` +* `yarn lint:js --fix` + +## Running tests + +* `ember test` – Runs the test suite on the current Ember version +* `ember test --server` – Runs the test suite in "watch mode" +* `ember try:each` – Runs the test suite against multiple Ember versions + +## Running the dummy application + +* `ember serve` +* Visit the dummy application at [http://localhost:4200](http://localhost:4200). + +For more information on using ember-cli, visit [https://ember-cli.com/](https://ember-cli.com/). diff --git a/addons/core/LICENSE.md b/addons/core/LICENSE.md new file mode 100644 index 000000000..7b6573f5e --- /dev/null +++ b/addons/core/LICENSE.md @@ -0,0 +1,9 @@ +The MIT License (MIT) + +Copyright (c) 2020 + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/addons/core/README.md b/addons/core/README.md new file mode 100644 index 000000000..966054b1e --- /dev/null +++ b/addons/core/README.md @@ -0,0 +1,38 @@ +core +============================================================================== + +[Short description of the addon.] + + +Compatibility +------------------------------------------------------------------------------ + +* Ember.js v3.12 or above +* Ember CLI v2.13 or above +* Node.js v10 or above + + +Installation +------------------------------------------------------------------------------ + +``` +ember install core +``` + + +Usage +------------------------------------------------------------------------------ + +[Longer description of how to use the addon in apps.] + + +Contributing +------------------------------------------------------------------------------ + +See the [Contributing](CONTRIBUTING.md) guide for details. + + +License +------------------------------------------------------------------------------ + +This project is licensed under the [MIT License](LICENSE.md). diff --git a/addons/core/addon/.gitkeep b/addons/core/addon/.gitkeep new file mode 100644 index 000000000..e69de29bb diff --git a/addons/core/app/.gitkeep b/addons/core/app/.gitkeep new file mode 100644 index 000000000..e69de29bb diff --git a/addons/core/config/ember-try.js b/addons/core/config/ember-try.js new file mode 100644 index 000000000..bf87e0bd7 --- /dev/null +++ b/addons/core/config/ember-try.js @@ -0,0 +1,87 @@ +'use strict'; + +const getChannelURL = require('ember-source-channel-url'); + +module.exports = async function() { + return { + useYarn: true, + scenarios: [ + { + name: 'ember-lts-3.12', + npm: { + devDependencies: { + 'ember-source': '~3.12.0' + } + } + }, + { + name: 'ember-lts-3.16', + npm: { + devDependencies: { + 'ember-source': '~3.16.0' + } + } + }, + { + name: 'ember-lts-3.20', + npm: { + devDependencies: { + 'ember-source': '~3.20.5' + } + } + }, + { + name: 'ember-release', + npm: { + devDependencies: { + 'ember-source': await getChannelURL('release') + } + } + }, + { + name: 'ember-beta', + npm: { + devDependencies: { + 'ember-source': await getChannelURL('beta') + } + } + }, + { + name: 'ember-canary', + npm: { + devDependencies: { + 'ember-source': await getChannelURL('canary') + } + } + }, + { + name: 'ember-default-with-jquery', + env: { + EMBER_OPTIONAL_FEATURES: JSON.stringify({ + 'jquery-integration': true + }) + }, + npm: { + devDependencies: { + '@ember/jquery': '^1.1.0' + } + } + }, + { + name: 'ember-classic', + env: { + EMBER_OPTIONAL_FEATURES: JSON.stringify({ + 'application-template-wrapper': true, + 'default-async-observers': false, + 'template-only-glimmer-components': false + }) + }, + npm: { + ember: { + edition: 'classic' + } + } + } + ] + }; +}; diff --git a/addons/core/config/environment.js b/addons/core/config/environment.js new file mode 100644 index 000000000..0dfaed472 --- /dev/null +++ b/addons/core/config/environment.js @@ -0,0 +1,5 @@ +'use strict'; + +module.exports = function(/* environment, appConfig */) { + return { }; +}; diff --git a/addons/core/ember-cli-build.js b/addons/core/ember-cli-build.js new file mode 100644 index 000000000..dc5a39e1b --- /dev/null +++ b/addons/core/ember-cli-build.js @@ -0,0 +1,18 @@ +'use strict'; + +const EmberAddon = require('ember-cli/lib/broccoli/ember-addon'); + +module.exports = function(defaults) { + let app = new EmberAddon(defaults, { + // Add options here + }); + + /* + This build file specifies the options for the dummy test app of this + addon, located in `/tests/dummy` + This build file does *not* influence how the addon or the app using it + behave. You most likely want to be modifying `./index.js` or app's build file + */ + + return app.toTree(); +}; diff --git a/addons/core/index.js b/addons/core/index.js new file mode 100644 index 000000000..202492d5e --- /dev/null +++ b/addons/core/index.js @@ -0,0 +1,4 @@ +'use strict'; +module.exports = { + name: require('./package').name +}; diff --git a/addons/core/package.json b/addons/core/package.json new file mode 100644 index 000000000..b0a14af02 --- /dev/null +++ b/addons/core/package.json @@ -0,0 +1,68 @@ +{ + "name": "core", + "version": "0.0.0", + "description": "The default blueprint for ember-cli addons.", + "keywords": [ + "ember-addon" + ], + "repository": "", + "license": "MIT", + "author": "", + "directories": { + "doc": "doc", + "test": "tests" + }, + "scripts": { + "build": "ember build --environment=production", + "lint": "npm-run-all --aggregate-output --continue-on-error --parallel lint:*", + "lint:hbs": "ember-template-lint .", + "lint:js": "eslint .", + "start": "ember serve", + "test": "npm-run-all lint:* test:*", + "test:ember": "ember test", + "test:ember-compatibility": "ember try:each" + }, + "dependencies": { + "ember-cli-babel": "^7.21.0", + "ember-cli-htmlbars": "^5.2.0" + }, + "devDependencies": { + "@ember/optional-features": "^1.3.0", + "@glimmer/component": "^1.0.1", + "@glimmer/tracking": "^1.0.0", + "babel-eslint": "^10.1.0", + "broccoli-asset-rev": "^3.0.0", + "ember-auto-import": "^1.6.0", + "ember-cli": "~3.20.2", + "ember-cli-dependency-checker": "^3.2.0", + "ember-cli-inject-live-reload": "^2.0.2", + "ember-cli-sri": "^2.1.1", + "ember-cli-uglify": "^3.0.0", + "ember-disable-prototype-extensions": "^1.1.3", + "ember-export-application-global": "^2.0.1", + "ember-intl": "^5.5.0", + "ember-load-initializers": "^2.1.1", + "ember-maybe-import-regenerator": "^0.1.6", + "ember-qunit": "^4.6.0", + "ember-resolver": "^8.0.0", + "ember-source": "~3.20.2", + "ember-source-channel-url": "^2.0.1", + "ember-template-lint": "^2.9.1", + "ember-try": "^1.4.0", + "eslint": "^7.5.0", + "eslint-plugin-ember": "^8.9.1", + "eslint-plugin-node": "^11.1.0", + "loader.js": "^4.7.0", + "npm-run-all": "^4.1.5", + "qunit-dom": "^1.2.0" + }, + "engines": { + "node": "10.* || >= 12" + }, + "ember": { + "edition": "octane" + }, + "ember-addon": { + "configPath": "tests/dummy/config" + } +} diff --git a/addons/core/testem.js b/addons/core/testem.js new file mode 100644 index 000000000..49f53feed --- /dev/null +++ b/addons/core/testem.js @@ -0,0 +1,27 @@ +'use strict'; + +module.exports = { + test_page: 'tests/index.html?hidepassed', + disable_watching: true, + launch_in_ci: [ + 'Chrome' + ], + launch_in_dev: [ + 'Chrome' + ], + browser_start_timeout: 120, + browser_args: { + Chrome: { + ci: [ + // --no-sandbox is needed when running Chrome inside a container + process.env.CI ? '--no-sandbox' : null, + '--headless', + '--disable-dev-shm-usage', + '--disable-software-rasterizer', + '--mute-audio', + '--remote-debugging-port=0', + '--window-size=1440,900' + ].filter(Boolean) + } + } +}; diff --git a/addons/core/tests/dummy/app/app.js b/addons/core/tests/dummy/app/app.js new file mode 100644 index 000000000..523bad60c --- /dev/null +++ b/addons/core/tests/dummy/app/app.js @@ -0,0 +1,12 @@ +import Application from '@ember/application'; +import Resolver from 'ember-resolver'; +import loadInitializers from 'ember-load-initializers'; +import config from 'dummy/config/environment'; + +export default class App extends Application { + modulePrefix = config.modulePrefix; + podModulePrefix = config.podModulePrefix; + Resolver = Resolver; +} + +loadInitializers(App, config.modulePrefix); diff --git a/addons/core/tests/dummy/app/components/.gitkeep b/addons/core/tests/dummy/app/components/.gitkeep new file mode 100644 index 000000000..e69de29bb diff --git a/addons/core/tests/dummy/app/controllers/.gitkeep b/addons/core/tests/dummy/app/controllers/.gitkeep new file mode 100644 index 000000000..e69de29bb diff --git a/addons/core/tests/dummy/app/formats.js b/addons/core/tests/dummy/app/formats.js new file mode 100644 index 000000000..f5d1f1502 --- /dev/null +++ b/addons/core/tests/dummy/app/formats.js @@ -0,0 +1,31 @@ +export default { + time: { + hhmmss: { + hour: 'numeric', + minute: 'numeric', + second: 'numeric', + }, + }, + date: { + hhmmss: { + hour: 'numeric', + minute: 'numeric', + second: 'numeric', + }, + }, + number: { + compact: { notation: 'compact' }, + EUR: { + style: 'currency', + currency: 'EUR', + minimumFractionDigits: 2, + maximumFractionDigits: 2, + }, + USD: { + style: 'currency', + currency: 'USD', + minimumFractionDigits: 2, + maximumFractionDigits: 2, + }, + }, +}; diff --git a/addons/core/tests/dummy/app/helpers/.gitkeep b/addons/core/tests/dummy/app/helpers/.gitkeep new file mode 100644 index 000000000..e69de29bb diff --git a/addons/core/tests/dummy/app/index.html b/addons/core/tests/dummy/app/index.html new file mode 100644 index 000000000..61400b20f --- /dev/null +++ b/addons/core/tests/dummy/app/index.html @@ -0,0 +1,25 @@ + + + + + + Dummy + + + + {{content-for "head"}} + + + + + {{content-for "head-footer"}} + + + {{content-for "body"}} + + + + + {{content-for "body-footer"}} + + diff --git a/addons/core/tests/dummy/app/models/.gitkeep b/addons/core/tests/dummy/app/models/.gitkeep new file mode 100644 index 000000000..e69de29bb diff --git a/addons/core/tests/dummy/app/router.js b/addons/core/tests/dummy/app/router.js new file mode 100644 index 000000000..bdf0187b9 --- /dev/null +++ b/addons/core/tests/dummy/app/router.js @@ -0,0 +1,10 @@ +import EmberRouter from '@ember/routing/router'; +import config from 'dummy/config/environment'; + +export default class Router extends EmberRouter { + location = config.locationType; + rootURL = config.rootURL; +} + +Router.map(function() { +}); diff --git a/addons/core/tests/dummy/app/routes/.gitkeep b/addons/core/tests/dummy/app/routes/.gitkeep new file mode 100644 index 000000000..e69de29bb diff --git a/addons/core/tests/dummy/app/styles/app.css b/addons/core/tests/dummy/app/styles/app.css new file mode 100644 index 000000000..e69de29bb diff --git a/addons/core/tests/dummy/app/templates/application.hbs b/addons/core/tests/dummy/app/templates/application.hbs new file mode 100644 index 000000000..5230580f8 --- /dev/null +++ b/addons/core/tests/dummy/app/templates/application.hbs @@ -0,0 +1,3 @@ +

Welcome to Ember

+ +{{outlet}} \ No newline at end of file diff --git a/addons/core/tests/dummy/config/ember-cli-update.json b/addons/core/tests/dummy/config/ember-cli-update.json new file mode 100644 index 000000000..7d2c3ace4 --- /dev/null +++ b/addons/core/tests/dummy/config/ember-cli-update.json @@ -0,0 +1,20 @@ +{ + "schemaVersion": "1.0.0", + "packages": [ + { + "name": "ember-cli", + "version": "3.20.2", + "blueprints": [ + { + "name": "addon", + "outputRepo": "https://github.com/ember-cli/ember-addon-output", + "codemodsSource": "ember-addon-codemods-manifest@1", + "isBaseBlueprint": true, + "options": [ + "--yarn" + ] + } + ] + } + ] +} diff --git a/addons/core/tests/dummy/config/ember-intl.js b/addons/core/tests/dummy/config/ember-intl.js new file mode 100644 index 000000000..2e1bc33b6 --- /dev/null +++ b/addons/core/tests/dummy/config/ember-intl.js @@ -0,0 +1,95 @@ +/* jshint node:true */ + +module.exports = function(/* environment */) { + return { + /** + * Merges the fallback locale's translations into all other locales as a + * build-time fallback strategy. + * + * This will **not** prevent missing translation warnings or errors from occurring. + * It's meant as safety net when warnings are enabled. + * When enabled along with `errorOnMissingTranslations` any fallback attempts will result in an error. + * + * @property fallbackLocale + * @type {String?} + * @default "null" + */ + fallbackLocale: null, + + /** + * Path where translations are stored. This is relative to the project root. + * For example, if your translations are an npm dependency, set this to: + *`'./node_modules/path/to/translations'` + * + * @property inputPath + * @type {String} + * @default "'translations'" + */ + inputPath: 'translations', + + /** + * Prevents the translations from being bundled with the application code. + * This enables asynchronously loading the translations for the active locale + * by fetching them from the asset folder of the build. + * + * See: https://ember-intl.github.io/ember-intl/docs/guide/asynchronously-loading-translations + * + * @property publicOnly + * @type {Boolean} + * @default "false" + */ + publicOnly: false, + + /** + * Add the subdirectories of the translations as a namespace for all keys. + * + * @property wrapTranslationsWithNamespace + * @type {Boolean} + * @default "false" + */ + wrapTranslationsWithNamespace: false, + + /** + * Cause a build error if ICU argument mismatches are detected between translations + * with the same key across all locales. + * + * @property errorOnNamedArgumentMismatch + * @type {Boolean} + * @default "false" + */ + errorOnNamedArgumentMismatch: false, + + /** + * Cause a build error if missing translations are detected. + * + * See https://ember-intl.github.io/ember-intl/docs/guide/missing-translations#throwing-a-build-error-on-missing-required-translation + * + * @property errorOnMissingTranslations + * @type {Boolean} + * @default "false" + */ + errorOnMissingTranslations: false, + + /** + * removes empty translations from the build output. + * + * @property stripEmptyTranslations + * @type {Boolean} + * @default "false" + */ + stripEmptyTranslations: false, + + /** + * A function that is called whenever any translation key, from any locale, is missing at build time. + * + * See https://ember-intl.github.io/ember-intl/docs/guide/missing-translations#requiring-translations + * + * @property requiresTranslation + * @type {Function} + * @default "function(key,locale) { return true }" + */ + requiresTranslation(/* key, locale */) { + return true; + } + }; +}; diff --git a/addons/core/tests/dummy/config/environment.js b/addons/core/tests/dummy/config/environment.js new file mode 100644 index 000000000..9f2393692 --- /dev/null +++ b/addons/core/tests/dummy/config/environment.js @@ -0,0 +1,51 @@ +'use strict'; + +module.exports = function(environment) { + let ENV = { + modulePrefix: 'dummy', + environment, + rootURL: '/', + locationType: 'auto', + EmberENV: { + FEATURES: { + // Here you can enable experimental features on an ember canary build + // e.g. EMBER_NATIVE_DECORATOR_SUPPORT: true + }, + EXTEND_PROTOTYPES: { + // Prevent Ember Data from overriding Date.parse. + Date: false + } + }, + + APP: { + // Here you can pass flags/options to your application instance + // when it is created + } + }; + + if (environment === 'development') { + // ENV.APP.LOG_RESOLVER = true; + // ENV.APP.LOG_ACTIVE_GENERATION = true; + // ENV.APP.LOG_TRANSITIONS = true; + // ENV.APP.LOG_TRANSITIONS_INTERNAL = true; + // ENV.APP.LOG_VIEW_LOOKUPS = true; + } + + if (environment === 'test') { + // Testem prefers this... + ENV.locationType = 'none'; + + // keep test console output quieter + ENV.APP.LOG_ACTIVE_GENERATION = false; + ENV.APP.LOG_VIEW_LOOKUPS = false; + + ENV.APP.rootElement = '#ember-testing'; + ENV.APP.autoboot = false; + } + + if (environment === 'production') { + // here you can enable a production-specific feature + } + + return ENV; +}; diff --git a/addons/core/tests/dummy/config/optional-features.json b/addons/core/tests/dummy/config/optional-features.json new file mode 100644 index 000000000..b26286e2e --- /dev/null +++ b/addons/core/tests/dummy/config/optional-features.json @@ -0,0 +1,6 @@ +{ + "application-template-wrapper": false, + "default-async-observers": true, + "jquery-integration": false, + "template-only-glimmer-components": true +} diff --git a/addons/core/tests/dummy/config/targets.js b/addons/core/tests/dummy/config/targets.js new file mode 100644 index 000000000..228a07898 --- /dev/null +++ b/addons/core/tests/dummy/config/targets.js @@ -0,0 +1,18 @@ +'use strict'; + +const browsers = [ + 'last 1 Chrome versions', + 'last 1 Firefox versions', + 'last 1 Safari versions' +]; + +const isCI = Boolean(process.env.CI); +const isProduction = process.env.EMBER_ENV === 'production'; + +if (isCI || isProduction) { + browsers.push('ie 11'); +} + +module.exports = { + browsers +}; diff --git a/addons/core/tests/dummy/public/robots.txt b/addons/core/tests/dummy/public/robots.txt new file mode 100644 index 000000000..f5916452e --- /dev/null +++ b/addons/core/tests/dummy/public/robots.txt @@ -0,0 +1,3 @@ +# http://www.robotstxt.org +User-agent: * +Disallow: diff --git a/addons/core/tests/helpers/.gitkeep b/addons/core/tests/helpers/.gitkeep new file mode 100644 index 000000000..e69de29bb diff --git a/addons/core/tests/index.html b/addons/core/tests/index.html new file mode 100644 index 000000000..5209b8523 --- /dev/null +++ b/addons/core/tests/index.html @@ -0,0 +1,33 @@ + + + + + + Dummy Tests + + + + {{content-for "head"}} + {{content-for "test-head"}} + + + + + + {{content-for "head-footer"}} + {{content-for "test-head-footer"}} + + + {{content-for "body"}} + {{content-for "test-body"}} + + + + + + + + {{content-for "body-footer"}} + {{content-for "test-body-footer"}} + + diff --git a/addons/core/tests/integration/.gitkeep b/addons/core/tests/integration/.gitkeep new file mode 100644 index 000000000..e69de29bb diff --git a/addons/core/tests/test-helper.js b/addons/core/tests/test-helper.js new file mode 100644 index 000000000..4eae06f81 --- /dev/null +++ b/addons/core/tests/test-helper.js @@ -0,0 +1,8 @@ +import Application from 'dummy/app'; +import config from 'dummy/config/environment'; +import { setApplication } from '@ember/test-helpers'; +import { start } from 'ember-qunit'; + +setApplication(Application.create(config.APP)); + +start(); diff --git a/addons/core/tests/unit/.gitkeep b/addons/core/tests/unit/.gitkeep new file mode 100644 index 000000000..e69de29bb diff --git a/addons/core/translations/actions/en-us.yaml b/addons/core/translations/actions/en-us.yaml new file mode 100644 index 000000000..a6cadbe2e --- /dev/null +++ b/addons/core/translations/actions/en-us.yaml @@ -0,0 +1,28 @@ +add: Add +cancel: Cancel +delete: Delete +remove: Remove +discard: Discard +dismiss: Dismiss +save: Save +manage: Manage +confirm: Confirm +ok: OK +deny: Deny +help: Need help? +back: Back +get-topic-help: Get help for this topic +copy-to-clipboard: Copy to Clipboard +authenticate: Authenticate +deauthenticate: Deauthenticate +choose-org: Choose Scope +choose-different-org: Choose a Different Scope +add-host-set: Create Host Set +add-host: Create Host +add-host-sets: Add Host Sets +add-principals: Add Principals +add-members: Add Members +add-hosts: Add Hosts +set-password: Set Password +change-password: Change Password +edit-form: Edit Form diff --git a/addons/core/translations/en-us.yaml b/addons/core/translations/en-us.yaml new file mode 100644 index 000000000..c1d3bd392 --- /dev/null +++ b/addons/core/translations/en-us.yaml @@ -0,0 +1,32 @@ +auth: + titles: + no-scopes: No Scopes Available + descriptions: + no-scopes: No scopes were found. To authenticate, ask your administrator to create an scope and grant you access. + choose-org: Choose a scope to authenticate. + authenticating-with-org: "You are authenticating with {name}." +titles: + home: Home + iam: IAM + new: New + resources: Resources + details: Details + general: General + overview: Overview + settings: Settings + empty-set: No Items Yet + global: Global + actions: Actions + documentation: Documentation + abandon-confirm: Discard unsaved changes? + toggle-color-theme: Toggle Color Theme +descriptions: + empty-set: There are no items to display yet. You may be able to add items or try back later. +questions: + delete-confirm: Are you sure you want to delete this resource? + remove-confirm: Are you sure you want to remove this association? + abandon-confirm: Are you sure you want to navigate away? Your unsaved changes will be lost. +themes: + system: System Default + light: Light + dark: Dark diff --git a/addons/core/translations/errors/en-us.yaml b/addons/core/translations/errors/en-us.yaml new file mode 100644 index 000000000..0e2239e72 --- /dev/null +++ b/addons/core/translations/errors/en-us.yaml @@ -0,0 +1,19 @@ +401: + title: You are not signed in + description: You are not authenticated. Please authenticate and try again later. +403: + title: You are not authorized + description: You must be granted permissions to view this data. Ask your administrator if you think you should have access. +404: + title: Resource not found + description: We could not find the requested resource. You can ask your administrator or try again later. +500: + title: Server error + description: We ran into a problem and could not continue. You can ask your administrator or try again later. +unknown: + title: Something went wrong + description: Please contact your administrator or try again later. +generic: + title: Error +authentication-failed: + title: Authentication Failed diff --git a/addons/core/translations/form/en-us.yaml b/addons/core/translations/form/en-us.yaml new file mode 100644 index 000000000..d76b813c2 --- /dev/null +++ b/addons/core/translations/form/en-us.yaml @@ -0,0 +1,51 @@ +id: + label: ID +name: + label: Name + help: Name for identification purposes +description: + label: Description + help: Description for identification purposes +type: + label: Type + help: The type of the resource, to help differentiate schemas +login_name: + label: Login Name +username: + label: Username +set_password: + label: Password + help: Create a new password +password: + label: Password +grant: + label: Grant + help: A permissions grant string for a role +address: + label: Address + help: An IP, host name, or other routable address +default_port: + label: Default Port + help: The default port on which to connect +current_password: + label: Current Password +new_password: + label: New Password +started: + label: Started +status: + label: Status +session_max_seconds: + label: Maximum Duration (in seconds) + help: The maximum duration of a session. +session_connection_limit: + label: Maximum Connections + help: The maximum number of connections allowed per session. For unlimited, specify "-1". +host_set: + label: Host Set +grant_scope: + label: Grant Scope + help: Specify the scope to which this role applies. +origin: + label: Origin + description: The server origin to which to connect (e.g. protocol://host) diff --git a/addons/core/translations/notifications/en-us.yaml b/addons/core/translations/notifications/en-us.yaml new file mode 100644 index 000000000..8c915ebe0 --- /dev/null +++ b/addons/core/translations/notifications/en-us.yaml @@ -0,0 +1,6 @@ +create-success: Created succesfully. +save-success: Saved succesfully. +delete-success: Deleted successfully. +add-success: Added successfully. +remove-success: Removed successfully. +canceled-success: Canceled successfully. diff --git a/addons/core/translations/resources/en-us.yaml b/addons/core/translations/resources/en-us.yaml new file mode 100644 index 000000000..7ad5434d1 --- /dev/null +++ b/addons/core/translations/resources/en-us.yaml @@ -0,0 +1,213 @@ +account: + title: Account + title_plural: Accounts + description: An account allows a user to log into Boundary with a particular auth method. Users may have multiple accounts for different auth methods. + messages: + welcome: + title: Welcome to Accounts + description: Create and manage accounts for an auth method. + set-password: + description: Set a password for the account. + types: + password: Password + actions: + create: Create Account + delete: Delete Account +auth-method: + title: Auth Method + title_plural: Auth Methods + description: Auth methods govern how an org's users can login to Boundary. Boundary’s default auth method is username & passwords. + messages: + welcome: + title: Welcome to Auth Methods + description: Auth methods are configurations to authenticate users. + none: + title: No Auth Methods + description: No auth methods were found for this scope. + types: + password: Password + actions: + create: Create Auth Method + delete: Delete Auth Method +group: + title: Group + title_plural: Groups + description: Groups are collections of users. Groups may be assigned to roles to receive the role’s grants. + messages: + welcome: + title: Welcome to Groups + members: + title: Members + description: Members are the users assigned to a group. + add-members: + title: Add Members + description: Select users to add users to this group. + no-members: + title: No Members Available + description: There are no members available to add to this group. + actions: + add-members: Add Members + delete: Delete Group +host-catalog: + title: Host Catalog + title_plural: Host Catalogs + description: A host catalog is a collection of hosts and host sets. + messages: + welcome: + title: Welcome to Host Catalogs + actions: + delete: Delete Host Catalog + types: + static: Static +host-set: + title: Host Set + title_plural: Host Sets + description: A host set is a collection of hosts within a host catalog. + actions: + add: Add Host Set + create: New Host Set + delete: Delete Host Set + create-and-add-host: Create and Add Host + add-hosts: Add Existing Host + messages: + welcome: + title: Welcome to Host Sets + host: + messages: + none: + title: No Hosts + description: No hosts available in this host set. + add: + title: Add Hosts + description: Select hosts that belong to this host set. + add-none: + title: No Hosts Available + description: No hosts available for selection. + types: + static: Static +host: + title: Host + title_plural: Hosts + description: A host is a resource that may be accessed by a Boundary target. + messages: + welcome: + title: Welcome to Hosts + none: + title: No Hosts + description: No hosts available in this scope. + actions: + add: Add Host + create: New Host + delete: Delete Host + types: + static: Static +session: + title: Session + title_plural: Sessions + description: A session is a connection to a target initiated through Boundary. + messages: + none: + title: No Sessions + description: There are no active sessions within the current scope. + actions: + connect: Connect +org: + title: Org + title_plural: Orgs + description: An org is a type of scope used to organize projects and IAM resources. Orgs are child scopes of the global scope. + messages: + welcome: + title: Welcome to Orgs + settings: + title: Org Settings + actions: + delete: Delete Org +project: + title: Project + title_plural: Projects + description: A project is a type of scope used to organize resources such as targets and host catalogs. + messages: + welcome: + title: Welcome to Projects + settings: + title: Project Settings + actions: + delete: Delete Project +user: + title: User + title_plural: Users + description: Users are entities authorized to access Boundary. Users may be assigned to roles as principals, thus receiving role grants. + messages: + welcome: + title: Welcome to Users + accounts: + title: Accounts + description: Users may be associated with any number of accounts. + add-accounts: + title: Add Accounts + description: Select accounts to associate with this user. + no-accounts: + title: No Accounts Available + description: There are no accounts available to add to this user. + actions: + add-accounts: Add Accounts + delete: Delete User +role: + title: Role + title_plural: Roles + description: Roles are collections of capability grants and the principals (users and groups) assigned to them. + messages: + welcome: + title: Welcome to Roles + actions: + create: Create Role + delete: Delete Role + principal: + title: Principal + title_plural: Principals + description: Principals are the users and groups assigned to a role and bounded by a role’s grants. + messages: + welcome: + title: Welcome to Principals + description: Principals are not assigned in this role. + none: + title: No Principals Available + description: Principals are not available for assignment. + add-principals: + title: Add Principals + description: Select users and groups to assign to this role. + types: + user: User + group: Group + actions: + add-principals: Add Principals + grant: + title: Grant + title_plural: Grants + description: Grants are permissions which allow roles to take actions and access resources. + actions: + create: New Grant +target: + title: Target + title_plural: Targets + description: A target is a logical collection of host sets which may be used to initiate sessions. + messages: + welcome: + title: Welcome to Targets + actions: + create: New Target + delete: Delete Target + add-host-sets: Add Host Sets + types: + tcp: TCP + host-set: + messages: + welcome: + title: Welcome to Host Sets + description: No hosts sets in this target. + none: + title: No Host Sets Available + description: No hosts sets available to add to target. + add: + title: Add Host Sets + description: Select host sets to assign to this target. diff --git a/addons/core/translations/states/en-us.yaml b/addons/core/translations/states/en-us.yaml new file mode 100644 index 000000000..96b1fd92c --- /dev/null +++ b/addons/core/translations/states/en-us.yaml @@ -0,0 +1,5 @@ +info: Info +success: Success +warning: Warning +error: Error +copied: Copied diff --git a/addons/core/vendor/.gitkeep b/addons/core/vendor/.gitkeep new file mode 100644 index 000000000..e69de29bb diff --git a/ui/admin/package.json b/ui/admin/package.json index c4acbbad1..eb3340116 100644 --- a/ui/admin/package.json +++ b/ui/admin/package.json @@ -35,7 +35,7 @@ "@glimmer/tracking": "^1.0.0", "api": "*", "auth": "*", - "intl": "*", + "core": "*", "babel-eslint": "^10.1.0", "babel-loader": "^8.1.0", "broccoli-asset-rev": "^3.0.0", diff --git a/ui/desktop/package.json b/ui/desktop/package.json index 69792b4fe..ab6881aec 100644 --- a/ui/desktop/package.json +++ b/ui/desktop/package.json @@ -34,7 +34,7 @@ "@glimmer/component": "^1.0.1", "@glimmer/tracking": "^1.0.0", "api": "*", - "intl": "*", + "core": "*", "auth": "*", "babel-eslint": "^10.1.0", "babel-loader": "^8.1.0", diff --git a/yarn.lock b/yarn.lock index e32e8c52a..19cd67a62 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1837,10 +1837,10 @@ minimatch "^3.0.4" strip-json-comments "^3.1.1" -"@formatjs/ecma402-abstract@1.3.2": - version "1.3.2" - resolved "https://registry.yarnpkg.com/@formatjs/ecma402-abstract/-/ecma402-abstract-1.3.2.tgz#e9c1e990bd0fcde4db982d2272af990ba55cdcfc" - integrity sha512-O9VaOzf7uMmu08omHZgakntyPYAaQ6uJmVk5c6UbitYmWl0IgxnKWbf1MWVA7N0uQjbP9kvR4+hv09PAnqXuIw== +"@formatjs/ecma402-abstract@1.4.0": + version "1.4.0" + resolved "https://registry.yarnpkg.com/@formatjs/ecma402-abstract/-/ecma402-abstract-1.4.0.tgz#ac6c17a8fffac43c6d68c849a7b732626d32654c" + integrity sha512-Mv027hcLFjE45K8UJ8PjRpdDGfR0aManEFj1KzoN8zXNveHGEygpZGfFf/FTTMl+QEVSrPAUlyxaCApvmv47AQ== dependencies: tslib "^2.0.1" @@ -2249,9 +2249,9 @@ "@sinonjs/samsam" "^5.0.2" "@sinonjs/samsam@^5.0.2", "@sinonjs/samsam@^5.2.0": - version "5.2.0" - resolved "https://registry.yarnpkg.com/@sinonjs/samsam/-/samsam-5.2.0.tgz#fcff83ab86f83b5498f4a967869c079408d9b5eb" - integrity sha512-CaIcyX5cDsjcW/ab7HposFWzV1kC++4HNsfnEdFJa7cP1QIuILAKV+BgfeqRXhcnSAc76r/Rh/O5C+300BwUIw== + version "5.3.0" + resolved "https://registry.yarnpkg.com/@sinonjs/samsam/-/samsam-5.3.0.tgz#1d2f0743dc54bf13fe9d508baefacdffa25d4329" + integrity sha512-hXpcfx3aq+ETVBwPlRFICld5EnrkexXuXDwqUNhDdr5L8VjvMeSRwyOa0qL7XFmR+jVWR4rUZtnxlG7RX72sBg== dependencies: "@sinonjs/commons" "^1.6.0" lodash.get "^4.4.2" @@ -2977,9 +2977,9 @@ form-data "^3.0.0" "@types/node@*": - version "14.14.7" - resolved "https://registry.yarnpkg.com/@types/node/-/node-14.14.7.tgz#8ea1e8f8eae2430cf440564b98c6dfce1ec5945d" - integrity sha512-Zw1vhUSQZYw+7u5dAwNbIA9TuTotpzY/OF7sJM9FqPOF3SPjKnxrjoTktXDZgUjybf4cWVBP7O8wvKdSaGHweg== + version "14.14.8" + resolved "https://registry.yarnpkg.com/@types/node/-/node-14.14.8.tgz#2127bd81949a95c8b7d3240f3254352d72563aec" + integrity sha512-z/5Yd59dCKI5kbxauAJgw6dLPzW+TNOItNE00PkpzNwUIEwdj/Lsqwq94H5DdYBX7C13aRA0CY32BK76+neEUA== "@types/node@^9.6.0": version "9.6.61" @@ -3080,9 +3080,9 @@ "@types/node" "*" "@types/serve-static@*": - version "1.13.7" - resolved "https://registry.yarnpkg.com/@types/serve-static/-/serve-static-1.13.7.tgz#e51b51a0becda910f9fd04c718044da69d6c492e" - integrity sha512-3diZWucbR+xTmbDlU+FRRxBf+31OhFew7cJXML/zh9NmvSPTNoFecAwHB66BUqFgENJtqMiyl7JAwUE/siqdLw== + version "1.13.8" + resolved "https://registry.yarnpkg.com/@types/serve-static/-/serve-static-1.13.8.tgz#851129d434433c7082148574ffec263d58309c46" + integrity sha512-MoJhSQreaVoL+/hurAZzIm8wafFR6ajiTM1m4A0kv6AGeVBl4r4pOV8bGFrjjq1sGxDTnCoF8i22o0/aE5XCyA== dependencies: "@types/mime" "*" "@types/node" "*" @@ -3146,9 +3146,9 @@ integrity sha512-FA/BWv8t8ZWJ+gEOnLLd8ygxH/2UFbAvgEonyfN6yWGLKc7zVjbpl2Y4CTjid9h2RfgPP6SEt6uHwEOply00yw== "@types/yargs@^15.0.0": - version "15.0.9" - resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-15.0.9.tgz#524cd7998fe810cdb02f26101b699cccd156ff19" - integrity sha512-HmU8SeIRhZCWcnRskCs36Q1Q00KBV6Cqh/ora8WN1+22dY07AZdn6Gel8QZ3t26XYPImtcL8WV/eqjhVmMEw4g== + version "15.0.10" + resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-15.0.10.tgz#0fe3c8173a0d5c3e780b389050140c3f5ea6ea74" + integrity sha512-z8PNtlhrj7eJNLmrAivM7rjBESG6JwC5xP3RVk12i/8HVP7Xnx/sEmERnRImyEuUaJfO942X0qMOYsoupaJbZQ== dependencies: "@types/yargs-parser" "*" @@ -3792,20 +3792,22 @@ array-unique@^0.3.2: integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg= array.prototype.flat@^1.2.1: - version "1.2.3" - resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.2.3.tgz#0de82b426b0318dbfdb940089e38b043d37f6c7b" - integrity sha512-gBlRZV0VSmfPIeWfuuy56XZMvbVfbEUnOXUvt3F/eUUUSyzlgLxhEX4YAEpxNAogRGehPSnfXyPtYyKAhkzQhQ== + version "1.2.4" + resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.2.4.tgz#6ef638b43312bd401b4c6199fdec7e2dc9e9a123" + integrity sha512-4470Xi3GAPAjZqFcljX2xzckv1qeKPizoNkiS0+O4IoPR2ZNpcjE0pkhdihlDouK+x6QOast26B4Q/O9DJnwSg== dependencies: + call-bind "^1.0.0" define-properties "^1.1.3" - es-abstract "^1.17.0-next.1" + es-abstract "^1.18.0-next.1" array.prototype.flatmap@^1.2.1: - version "1.2.3" - resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.2.3.tgz#1c13f84a178566042dd63de4414440db9222e443" - integrity sha512-OOEk+lkePcg+ODXIpvuU9PAryCikCJyo7GlDG1upleEpQRx6mzL9puEBkozQ5iAx20KV0l3DbyQwqciJtqe5Pg== + version "1.2.4" + resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.2.4.tgz#94cfd47cc1556ec0747d97f7c7738c58122004c9" + integrity sha512-r9Z0zYoxqHz60vvQbWEdXIEtCwHF0yxaWfno9qzXeNHvfyl3BZqygmGzb84dsubyaXLH4husF+NFgMSdpZhk2Q== dependencies: + call-bind "^1.0.0" define-properties "^1.1.3" - es-abstract "^1.17.0-next.1" + es-abstract "^1.18.0-next.1" function-bind "^1.1.1" array.prototype.map@^1.0.1: @@ -6306,9 +6308,9 @@ caniuse-api@^3.0.0: lodash.uniq "^4.5.0" caniuse-lite@^1.0.0, caniuse-lite@^1.0.30000844, caniuse-lite@^1.0.30001035, caniuse-lite@^1.0.30001109, caniuse-lite@^1.0.30001157: - version "1.0.30001157" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001157.tgz#2d11aaeb239b340bc1aa730eca18a37fdb07a9ab" - integrity sha512-gOerH9Wz2IRZ2ZPdMfBvyOi3cjaz4O4dgNwPGzx8EhqAs4+2IL/O+fJsbt+znSigujoZG8bVcIAUM/I/E5K3MA== + version "1.0.30001159" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001159.tgz#bebde28f893fa9594dadcaa7d6b8e2aa0299df20" + integrity sha512-w9Ph56jOsS8RL20K9cLND3u/+5WASWdhC/PPrf+V3/HsM3uHOavWOR1Xzakbv4Puo/srmPHudkmCRWM7Aq+/UA== capture-exit@^2.0.0: version "2.0.0" @@ -7393,14 +7395,14 @@ cssstyle@^2.2.0: cssom "~0.3.6" csstype@^2.5.7: - version "2.6.13" - resolved "https://registry.yarnpkg.com/csstype/-/csstype-2.6.13.tgz#a6893015b90e84dd6e85d0e3b442a1e84f2dbe0f" - integrity sha512-ul26pfSQTZW8dcOnD2iiJssfXw0gdNVX9IJDH/X3K5DGPfj+fUYe3kB+swUY6BF3oZDxaID3AJt+9/ojSAE05A== + version "2.6.14" + resolved "https://registry.yarnpkg.com/csstype/-/csstype-2.6.14.tgz#004822a4050345b55ad4dcc00be1d9cf2f4296de" + integrity sha512-2mSc+VEpGPblzAxyeR+vZhJKgYg0Og0nnRi7pmRXFYYxSfnOnW8A5wwQb4n4cE2nIOzqKOAzLCaEX6aBmNEv8A== csstype@^3.0.2: - version "3.0.4" - resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.0.4.tgz#b156d7be03b84ff425c9a0a4b1e5f4da9c5ca888" - integrity sha512-xc8DUsCLmjvCfoD7LTGE0ou2MIWLx0K9RCZwSHMOdynqRsP4MtUcLeqh1HcQ2dInwDTqn+3CE0/FZh1et+p4jA== + version "3.0.5" + resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.0.5.tgz#7fdec6a28a67ae18647c51668a9ff95bb2fa7bb8" + integrity sha512-uVDi8LpBUKQj6sdxNaTetL6FpeCqTjOvAQuQUa/qAqq8oOd4ivkbhgnqayl0dnPal8Tb/yB1tF+gOvCBiicaiQ== currently-unhandled@^0.4.1: version "0.4.1" @@ -7508,7 +7510,7 @@ debug@~4.1.0: dependencies: ms "^2.1.1" -debuglog@^1.0.1: +debuglog@*, debuglog@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/debuglog/-/debuglog-1.0.1.tgz#aa24ffb9ac3df9a2351837cfb2d279360cd78492" integrity sha1-qiT/uaw9+aI1GDfPstJ5NgzXhJI= @@ -8056,9 +8058,9 @@ electron-rebuild@^2.0.0: yargs "^16.0.0" electron-to-chromium@^1.3.378, electron-to-chromium@^1.3.47, electron-to-chromium@^1.3.591: - version "1.3.593" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.593.tgz#947ccf6dc8e013e2b053d2463ecd1043c164fcef" - integrity sha512-GvO7G1ZxvffnMvPCr4A7+iQPVuvpyqMrx2VWSERAjG+pHK6tmO9XqYdBfMIq9corRyi4bNImSDEiDvIoDb8HrA== + version "1.3.598" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.598.tgz#8f757018902ab6190323a8c5f6124d854893a35b" + integrity sha512-G5Ztk23/ubLYVPxPXnB1uu105uzIPd4xB/D8ld8x1GaSC9+vU9NZL16nYZya8H77/7CCKKN7dArzJL3pBs8N7A== element-resize-detector@^1.2.1: version "1.2.1" @@ -11038,9 +11040,9 @@ getpass@^0.1.1: assert-plus "^1.0.0" git-cz@^4.3.1: - version "4.7.3" - resolved "https://registry.yarnpkg.com/git-cz/-/git-cz-4.7.3.tgz#2dc67b0231937946f602fd0320f6c983c40f7071" - integrity sha512-Z+iy1G5qsbICeHBj4EZI438C8T1bh+m953jTT5hcQZggzSnjDdrUahM7O+ETspr3f3iWXONqC8e+zMuDT+ODJg== + version "4.7.4" + resolved "https://registry.yarnpkg.com/git-cz/-/git-cz-4.7.4.tgz#abb119676fc5869d1f3470a54032c6a95d53d010" + integrity sha512-s8r6JPuuFJXCiwB6uBlWYjDE6GlvIReSgVqYCfpRB+JbiBVNQLcBb93mH6bIJzz1lQU4R8+qlChhQIK8xp58Tg== git-diff-apply@0.22.7: version "0.22.7" @@ -12147,7 +12149,7 @@ import-lazy@^2.1.0: resolved "https://registry.yarnpkg.com/import-lazy/-/import-lazy-2.1.0.tgz#05698e3d45c88e8d7e9d92cb0584e77f096f3e43" integrity sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM= -imurmurhash@^0.1.4: +imurmurhash@*, imurmurhash@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= @@ -12347,21 +12349,21 @@ interpret@^2.0.0: resolved "https://registry.yarnpkg.com/interpret/-/interpret-2.2.0.tgz#1a78a0b5965c40a5416d007ad6f50ad27c417df9" integrity sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw== -intl-messageformat-parser@6.0.15, intl-messageformat-parser@^6.0.5: - version "6.0.15" - resolved "https://registry.yarnpkg.com/intl-messageformat-parser/-/intl-messageformat-parser-6.0.15.tgz#84c5840a4c382b27d7a62c3be6ec01b987363f4b" - integrity sha512-W+dAY3M0XVkowapa4LzzpUO9awevcbt5hCB3uof7yM2InzgR6/nfC9H7GnUcRPkKpIDRd6iZ+FtvCcPbNBvfiQ== +intl-messageformat-parser@6.0.16, intl-messageformat-parser@^6.0.5: + version "6.0.16" + resolved "https://registry.yarnpkg.com/intl-messageformat-parser/-/intl-messageformat-parser-6.0.16.tgz#4049e07d0834635ab08e1a1f255287b9c83888e5" + integrity sha512-Qy3Zz0vF4fhMVuW4BDqUr55LsOl9enM03wuwbP4Yg7v29rYNpf7Z76Whstu6uDLDJokrjbpgDvRcjSDTAhxKJw== dependencies: - "@formatjs/ecma402-abstract" "1.3.2" + "@formatjs/ecma402-abstract" "1.4.0" tslib "^2.0.1" intl-messageformat@^9.3.6: - version "9.3.17" - resolved "https://registry.yarnpkg.com/intl-messageformat/-/intl-messageformat-9.3.17.tgz#7a2645a5d3cb9ae190ecc11def5b9a96d99f3fe0" - integrity sha512-CreK24I6+sWsAvo6GkJoOxCNry2k2LLo3daXguuU+cOaGTxdjDJo4CfGxiBlngmL0ZPbqkAA4XoRiFt83fSPqg== + version "9.3.18" + resolved "https://registry.yarnpkg.com/intl-messageformat/-/intl-messageformat-9.3.18.tgz#26074d0793b72b117acdef927f30518ebcdcedcc" + integrity sha512-OKrLWppdxXtRdRCPjmRZ9Ru7UZkZJDlMl+1Vpb3sCLWK0mFpr129K+gIlIb5zrWoAH3NiYDzekBXPTRWCyHSIA== dependencies: fast-memoize "^2.5.2" - intl-messageformat-parser "6.0.15" + intl-messageformat-parser "6.0.16" tslib "^2.0.1" into-stream@^3.1.0: @@ -13844,6 +13846,11 @@ lodash._baseflatten@^3.0.0: lodash.isarguments "^3.0.0" lodash.isarray "^3.0.0" +lodash._baseindexof@*: + version "3.1.0" + resolved "https://registry.yarnpkg.com/lodash._baseindexof/-/lodash._baseindexof-3.1.0.tgz#fe52b53a1c6761e42618d654e4a25789ed61822c" + integrity sha1-/lK1OhxnYeQmGNZU5KJXie1hgiw= + lodash._baseuniq@~4.6.0: version "4.6.0" resolved "https://registry.yarnpkg.com/lodash._baseuniq/-/lodash._baseuniq-4.6.0.tgz#0ebb44e456814af7905c6212fa2c9b2d51b841e8" @@ -13852,11 +13859,16 @@ lodash._baseuniq@~4.6.0: lodash._createset "~4.0.0" lodash._root "~3.0.0" -lodash._bindcallback@^3.0.0: +lodash._bindcallback@*, lodash._bindcallback@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/lodash._bindcallback/-/lodash._bindcallback-3.0.1.tgz#e531c27644cf8b57a99e17ed95b35c748789392e" integrity sha1-5THCdkTPi1epnhftlbNcdIeJOS4= +lodash._cacheindexof@*: + version "3.0.2" + resolved "https://registry.yarnpkg.com/lodash._cacheindexof/-/lodash._cacheindexof-3.0.2.tgz#3dc69ac82498d2ee5e3ce56091bafd2adc7bde92" + integrity sha1-PcaayCSY0u5ePOVgkbr9Ktx73pI= + lodash._createassigner@^3.0.0: version "3.1.1" resolved "https://registry.yarnpkg.com/lodash._createassigner/-/lodash._createassigner-3.1.1.tgz#838a5bae2fdaca63ac22dee8e19fa4e6d6970b11" @@ -13866,12 +13878,19 @@ lodash._createassigner@^3.0.0: lodash._isiterateecall "^3.0.0" lodash.restparam "^3.0.0" +lodash._createcache@*: + version "3.1.2" + resolved "https://registry.yarnpkg.com/lodash._createcache/-/lodash._createcache-3.1.2.tgz#56d6a064017625e79ebca6b8018e17440bdcf093" + integrity sha1-VtagZAF2JeeevKa4AY4XRAvc8JM= + dependencies: + lodash._getnative "^3.0.0" + lodash._createset@~4.0.0: version "4.0.3" resolved "https://registry.yarnpkg.com/lodash._createset/-/lodash._createset-4.0.3.tgz#0f4659fbb09d75194fa9e2b88a6644d363c9fe26" integrity sha1-D0ZZ+7CddRlPqeK4imZE02PJ/iY= -lodash._getnative@^3.0.0: +lodash._getnative@*, lodash._getnative@^3.0.0: version "3.9.1" resolved "https://registry.yarnpkg.com/lodash._getnative/-/lodash._getnative-3.9.1.tgz#570bc7dede46d61cdcde687d65d3eecbaa3aaff5" integrity sha1-VwvH3t5G1hzc3mh9ZdPuy6o6r/U= @@ -14084,7 +14103,7 @@ lodash.pick@^4.4.0: resolved "https://registry.yarnpkg.com/lodash.pick/-/lodash.pick-4.4.0.tgz#52f05610fff9ded422611441ed1fc123a03001b3" integrity sha1-UvBWEP/53tQiYRRB7R/BI6AwAbM= -lodash.restparam@^3.0.0: +lodash.restparam@*, lodash.restparam@^3.0.0: version "3.6.1" resolved "https://registry.yarnpkg.com/lodash.restparam/-/lodash.restparam-3.6.1.tgz#936a4e309ef330a7645ed4145986c85ae5b20805" integrity sha1-k2pOMJ7zMKdkXtQUWYbIWuWyCAU= @@ -15058,9 +15077,9 @@ no-case@^3.0.3: tslib "^1.10.0" node-abi@^2.19.1: - version "2.19.1" - resolved "https://registry.yarnpkg.com/node-abi/-/node-abi-2.19.1.tgz#6aa32561d0a5e2fdb6810d8c25641b657a8cea85" - integrity sha512-HbtmIuByq44yhAzK7b9j/FelKlHYISKQn0mtvcBrU5QBkhoCMp5bu8Hv5AI34DcKfOAcJBcOEMwLlwO62FFu9A== + version "2.19.3" + resolved "https://registry.yarnpkg.com/node-abi/-/node-abi-2.19.3.tgz#252f5dcab12dad1b5503b2d27eddd4733930282d" + integrity sha512-9xZrlyfvKhWme2EXFKQhZRp1yNWT/uI1luYPr3sFl+H4keYY4xR+1jO7mvTTijIsHf1M+QDe9uWuKeEpLInIlg== dependencies: semver "^5.4.1" @@ -15195,9 +15214,9 @@ node-pre-gyp@^0.11.0: tar "^4" node-releases@^1.1.52, node-releases@^1.1.66: - version "1.1.66" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.66.tgz#609bd0dc069381015cd982300bae51ab4f1b1814" - integrity sha512-JHEQ1iWPGK+38VLB2H9ef2otU4l8s3yAMt9Xf934r6+ojCYDMHPMqvCc9TnzfeFSP1QEOeU6YZEd3+De0LTCgg== + version "1.1.67" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.67.tgz#28ebfcccd0baa6aad8e8d4d8fe4cbc49ae239c12" + integrity sha512-V5QF9noGFl3EymEwUYzO+3NTDpGfQB4ve6Qfnzf3UNydMhjQRVPR1DZTuvWiLzaFJYw2fmDwAfnRNEVb64hSIg== node-uuid@~1.4.7: version "1.4.8" @@ -20039,9 +20058,9 @@ uc.micro@^1.0.0, uc.micro@^1.0.1, uc.micro@^1.0.5: integrity sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA== uglify-js@^3.1.4: - version "3.11.5" - resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.11.5.tgz#d6788bc83cf35ff18ea78a65763e480803409bc6" - integrity sha512-btvv/baMqe7HxP7zJSF7Uc16h1mSfuuSplT0/qdjxseesDU+yYzH33eHBH+eMdeRXwujXspaCTooWHQVVBh09w== + version "3.11.6" + resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.11.6.tgz#144b50d3e05eadd3ad4dd047c60ca541a8cd4e9c" + integrity sha512-oASI1FOJ7BBFkSCNDZ446EgkSuHkOZBuqRFrwXIKWCoXw8ZXQETooTQjkAcBS03Acab7ubCKsXnwuV2svy061g== uid-number@0.0.6: version "0.0.6" @@ -21127,7 +21146,7 @@ y18n@^4.0.0: resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.0.tgz#95ef94f85ecc81d007c264e190a120f0a3c8566b" integrity sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w== -y18n@^5.0.2: +y18n@^5.0.5: version "5.0.5" resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.5.tgz#8769ec08d03b1ea2df2500acef561743bbb9ab18" integrity sha512-hsRUr4FFrvhhRH12wOdfs38Gy7k2FFzB9qgN9v3aLykRq0dRcdcpz5C9FxdS2NuhOrI/628b/KSTJ3rwHysYSg== @@ -21226,16 +21245,16 @@ yargs@^15.0.0, yargs@^15.1.0: yargs-parser "^18.1.2" yargs@^16.0.0, yargs@^16.0.3: - version "16.1.0" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-16.1.0.tgz#fc333fe4791660eace5a894b39d42f851cd48f2a" - integrity sha512-upWFJOmDdHN0syLuESuvXDmrRcWd1QafJolHskzaw79uZa7/x53gxQKiR07W59GWY1tFhhU/Th9DrtSfpS782g== + version "16.1.1" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-16.1.1.tgz#5a4a095bd1ca806b0a50d0c03611d38034d219a1" + integrity sha512-hAD1RcFP/wfgfxgMVswPE+z3tlPFtxG8/yWUrG2i17sTWGCGqWnxKcLTF4cUKDUK8fzokwsmO9H0TDkRbMHy8w== dependencies: cliui "^7.0.2" escalade "^3.1.1" get-caller-file "^2.0.5" require-directory "^2.1.1" string-width "^4.2.0" - y18n "^5.0.2" + y18n "^5.0.5" yargs-parser "^20.2.2" yargs@^8.0.2: