diff --git a/packages/ember-cli-fastboot/addon/services/fastboot.js b/packages/ember-cli-fastboot/addon/services/fastboot.js index 639d97e5f..ec78ff9b5 100644 --- a/packages/ember-cli-fastboot/addon/services/fastboot.js +++ b/packages/ember-cli-fastboot/addon/services/fastboot.js @@ -1,7 +1,6 @@ /* global FastBoot */ -import { deprecate } from '@ember/application/deprecations'; import { computed, get } from '@ember/object'; -import { deprecatingAlias, readOnly } from '@ember/object/computed'; +import { readOnly } from '@ember/object/computed'; import { assert } from '@ember/debug'; import EObject from '@ember/object'; import Service from '@ember/service'; @@ -65,8 +64,6 @@ const Shoebox = EObject.extend({ }); const FastBootService = Service.extend({ - cookies: deprecatingAlias('request.cookies', { id: 'fastboot.cookies-to-request', until: '0.9.9' }), - headers: deprecatingAlias('request.headers', { id: 'fastboot.headers-to-request', until: '0.9.9' }), isFastBoot: typeof FastBoot !== 'undefined', isFastboot: computed(function() { @@ -83,16 +80,6 @@ const FastBootService = Service.extend({ this.set('shoebox', shoebox); }, - host: computed(function() { - deprecate( - 'Usage of fastboot service\'s `host` property is deprecated. Please use `request.host` instead.', - false, - { id: 'fastboot.host-to-request', until: '0.9.9' } - ); - - return this._fastbootInfo.request.host(); - }), - response: readOnly('_fastbootInfo.response'), metadata: readOnly('_fastbootInfo.metadata'), diff --git a/packages/ember-cli-fastboot/lib/broccoli/fastboot-config.js b/packages/ember-cli-fastboot/lib/broccoli/fastboot-config.js index 0f7e5b659..d66c80a29 100644 --- a/packages/ember-cli-fastboot/lib/broccoli/fastboot-config.js +++ b/packages/ember-cli-fastboot/lib/broccoli/fastboot-config.js @@ -89,7 +89,7 @@ module.exports = class FastBootConfig extends Plugin { let ui = this.ui; eachAddonPackage(this.project, pkg => { - let deps = getFastBootDependencies(pkg, ui); + let deps = getFastBootDependencies(pkg); if (deps) { deps.forEach(dep => { @@ -200,16 +200,14 @@ function eachAddonPackage(project, cb) { project.addons.map(addon => cb(addon.pkg)); } -function getFastBootDependencies(pkg, ui) { +function getFastBootDependencies(pkg) { let addon = pkg['ember-addon']; if (!addon) { return addon; } - let deps = addon.fastBootDependencies; - if (deps) { - ui.writeDeprecateLine('ember-addon.fastBootDependencies has been replaced with ember-addon.fastbootDependencies [addon: ' + pkg.name + ']'); - return deps; + if (addon.fastBootDependencies) { + throw new SilentError('ember-addon.fastBootDependencies has been replaced with ember-addon.fastbootDependencies [addon: ' + pkg.name + ']') } return addon.fastbootDependencies; diff --git a/packages/ember-cli-fastboot/lib/build-utilities/migrate-initializers.js b/packages/ember-cli-fastboot/lib/build-utilities/migrate-initializers.js index 48cf838b2..aea9950a0 100644 --- a/packages/ember-cli-fastboot/lib/build-utilities/migrate-initializers.js +++ b/packages/ember-cli-fastboot/lib/build-utilities/migrate-initializers.js @@ -2,10 +2,10 @@ const path = require('path'); const fs = require('fs-extra'); +const SilentError = require('silent-error'); const existsSync = fs.existsSync; -const fastbootInitializerTypes = [ 'initializers', 'instance-initializers']; -const FASTBOOT_DIR = 'fastboot'; +const fastbootInitializerTypes = ['initializers', 'instance-initializers']; /** * Helper function to check if there are any `(instance-)?intializers/[browser|fastboot]/` path under the @@ -36,7 +36,7 @@ function _checkBrowserInitializers(rootPath) { if (isBrowserInitializersPresent) { const errorMsg = `FastBoot build no longer supports ${rootPath}/app/(instance-)?initializers/browser structure. ` + `Please refer to http://ember-fastboot.com/docs/addon-author-guide#browser-only-or-node-only-initializers for a migration path.`; - throw new Error(errorMsg); + throw new SilentError(errorMsg); } } @@ -45,41 +45,11 @@ function _checkBrowserInitializers(rootPath) { * @param {Object} project * @param {String} rootPath */ -function _moveFastBootInitializers(project, rootPath) { - +function _checkFastBootInitializers(project, rootPath) { // check to see if it is a fastboot complaint addon const isFastbootAddon = _checkInitializerTypeExists(rootPath, 'fastboot'); if (isFastbootAddon) { - project.ui.writeDeprecateLine(`Having fastboot specific code in app directory of ${rootPath} is deprecated. Please move it to fastboot/app directory.`); - - const fastbootDirPath = path.join(rootPath, FASTBOOT_DIR); - // check if fastboot/app exists - if (!existsSync(fastbootDirPath)) { - fs.mkdirsSync(fastbootDirPath); - } - - // copy over app/initializers/fastboot and app/instance/initializers/fastboot - fastbootInitializerTypes.forEach((fastbootInitializerType) => { - const srcFastbootPath = path.join(rootPath, 'app', fastbootInitializerType, 'fastboot'); - - if (existsSync(srcFastbootPath)) { - const destFastbootPath = path.join(fastbootDirPath, fastbootInitializerType); - if (!existsSync(destFastbootPath)) { - fs.mkdirSync(destFastbootPath); - } - - // fastboot initializer type exists so we need to move this fastboot/app - const fastbootFiles = fs.readdirSync(srcFastbootPath); - fastbootFiles.forEach((fastbootFile) => { - const srcPath = path.join(srcFastbootPath, fastbootFile); - const destPath = path.join(destFastbootPath, fastbootFile); - fs.copySync(srcPath, destPath); - - // delete the original path files so that there are no two initializers with the same name - fs.unlinkSync(srcPath); - }); - } - }); + throw new SilentError(`Having fastboot specific code in app directory of ${rootPath} is deprecated. Please move it to fastboot/app directory.`); } } @@ -93,7 +63,7 @@ function _migrateAddonInitializers(project) { const currentAddonPath = addon.root; _checkBrowserInitializers(currentAddonPath); - _moveFastBootInitializers(project, currentAddonPath); + _checkFastBootInitializers(project, currentAddonPath); }); } @@ -106,7 +76,7 @@ function _migrateHostAppInitializers(project) { const hostAppPath = path.join(project.root); _checkBrowserInitializers(hostAppPath); - _moveFastBootInitializers(project, hostAppPath); + _checkFastBootInitializers(project, hostAppPath); } /** diff --git a/test-packages/basic-app/package.json b/test-packages/basic-app/package.json index 06b781d74..e8097bb33 100644 --- a/test-packages/basic-app/package.json +++ b/test-packages/basic-app/package.json @@ -22,7 +22,6 @@ "test:mocha": "mocha" }, "dependencies": { - "ember-fastboot-build-example": "0.1.2", "rsvp": "^4.8.5" }, "devDependencies": { @@ -58,6 +57,7 @@ "eslint-plugin-ember": "^8.6.0", "eslint-plugin-node": "^11.1.0", "execa": "^4.0.3", + "example-addon": "*", "fake-addon": "*", "fake-addon-2": "*", "loader.js": "^4.7.0", diff --git a/test-packages/basic-app/test/package-json-test.js b/test-packages/basic-app/test/package-json-test.js index 342ba2446..0cc69fc81 100644 --- a/test-packages/basic-app/test/package-json-test.js +++ b/test-packages/basic-app/test/package-json-test.js @@ -61,11 +61,11 @@ describe("generating package.json", function () { appFiles: [ "assets/basic-app.js", "assets/basic-app-fastboot.js", - "ember-fastboot-build-example/bar.js", + "example-addon/bar.js", ], htmlFile: "index.html", vendorFiles: [ - "ember-fastboot-build-example/foo.js", + "example-addon/foo.js", "assets/vendor.js", "assets/auto-import-fastboot.js", "ember-fetch/fetch-fastboot.js", @@ -127,7 +127,7 @@ describe("generating package.json", function () { }); }); - it("contains additional config from ember-fastboot-build-example addon", function () { + it("contains additional config from example-addon", function () { let pkg = fs.readJSONSync("dist/package.json"); expect(pkg.fastboot.config["foo"]).to.equal("bar"); diff --git a/test-packages/example-addon/.ember-cli b/test-packages/example-addon/.ember-cli new file mode 100644 index 000000000..ee64cfed2 --- /dev/null +++ b/test-packages/example-addon/.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/test-packages/example-addon/.eslintignore b/test-packages/example-addon/.eslintignore new file mode 100644 index 000000000..72df37307 --- /dev/null +++ b/test-packages/example-addon/.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/test-packages/example-addon/.eslintrc.js b/test-packages/example-addon/.eslintrc.js new file mode 100644 index 000000000..928585995 --- /dev/null +++ b/test-packages/example-addon/.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/test-packages/example-addon/.gitignore b/test-packages/example-addon/.gitignore new file mode 100644 index 000000000..c40a1b2ab --- /dev/null +++ b/test-packages/example-addon/.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/test-packages/example-addon/.npmignore b/test-packages/example-addon/.npmignore new file mode 100644 index 000000000..bd09adff9 --- /dev/null +++ b/test-packages/example-addon/.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/test-packages/example-addon/.template-lintrc.js b/test-packages/example-addon/.template-lintrc.js new file mode 100644 index 000000000..f38737001 --- /dev/null +++ b/test-packages/example-addon/.template-lintrc.js @@ -0,0 +1,5 @@ +'use strict'; + +module.exports = { + extends: 'octane' +}; diff --git a/test-packages/example-addon/README.md b/test-packages/example-addon/README.md new file mode 100644 index 000000000..cae0c03b9 --- /dev/null +++ b/test-packages/example-addon/README.md @@ -0,0 +1,38 @@ +example-addon +============================================================================== + +[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 example-addon +``` + + +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/test-packages/example-addon/addon/.gitkeep b/test-packages/example-addon/addon/.gitkeep new file mode 100644 index 000000000..e69de29bb diff --git a/test-packages/example-addon/app/.gitkeep b/test-packages/example-addon/app/.gitkeep new file mode 100644 index 000000000..e69de29bb diff --git a/test-packages/example-addon/config/ember-try.js b/test-packages/example-addon/config/ember-try.js new file mode 100644 index 000000000..3efccf513 --- /dev/null +++ b/test-packages/example-addon/config/ember-try.js @@ -0,0 +1,89 @@ +'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-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') + } + } + }, + // The default `.travis.yml` runs this scenario via `yarn test`, + // not via `ember try`. It's still included here so that running + // `ember try:each` manually or from a customized CI config will run it + // along with all the other scenarios. + { + name: 'ember-default', + npm: { + devDependencies: {} + } + }, + { + name: 'ember-default-with-jquery', + env: { + EMBER_OPTIONAL_FEATURES: JSON.stringify({ + 'jquery-integration': true + }) + }, + npm: { + devDependencies: { + '@ember/jquery': '^0.5.1' + } + } + }, + { + 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/test-packages/example-addon/config/environment.js b/test-packages/example-addon/config/environment.js new file mode 100644 index 000000000..0dfaed472 --- /dev/null +++ b/test-packages/example-addon/config/environment.js @@ -0,0 +1,5 @@ +'use strict'; + +module.exports = function(/* environment, appConfig */) { + return { }; +}; diff --git a/test-packages/example-addon/ember-cli-build.js b/test-packages/example-addon/ember-cli-build.js new file mode 100644 index 000000000..dc5a39e1b --- /dev/null +++ b/test-packages/example-addon/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/test-packages/example-addon/fastboot/initializers/cat.js b/test-packages/example-addon/fastboot/initializers/cat.js new file mode 100644 index 000000000..d3c834b0f --- /dev/null +++ b/test-packages/example-addon/fastboot/initializers/cat.js @@ -0,0 +1,7 @@ +export default { + name: "cat", + + initialize: function(application) { + console.log("I got a cat"); + } +}; diff --git a/test-packages/example-addon/index.js b/test-packages/example-addon/index.js new file mode 100644 index 000000000..676487aec --- /dev/null +++ b/test-packages/example-addon/index.js @@ -0,0 +1,18 @@ +"use strict"; + +module.exports = { + name: require("./package").name, + + updateFastBootManifest: function(manifest) { + manifest.vendorFiles.unshift("example-addon/foo.js"); + manifest.appFiles.push("example-addon/bar.js"); + + return manifest; + }, + + fastbootConfigTree() { + return { + foo: "bar" + }; + } +}; diff --git a/test-packages/example-addon/package.json b/test-packages/example-addon/package.json new file mode 100644 index 000000000..3788ae725 --- /dev/null +++ b/test-packages/example-addon/package.json @@ -0,0 +1,68 @@ +{ + "private": true, + "name": "example-addon", + "version": "0.1.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.20.5", + "ember-cli-htmlbars": "^5.1.2" + }, + "devDependencies": { + "@ember/optional-features": "^1.3.0", + "@glimmer/component": "^1.0.0", + "@glimmer/tracking": "^1.0.0", + "babel-eslint": "^10.1.0", + "broccoli-asset-rev": "^3.0.0", + "ember-auto-import": "^1.5.3", + "ember-cli": "~3.19.0", + "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-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.19.0", + "ember-source-channel-url": "^2.0.1", + "ember-template-lint": "^2.8.0", + "ember-try": "^1.4.0", + "eslint": "^7.1.0", + "eslint-plugin-ember": "^8.6.0", + "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/test-packages/example-addon/public/bar.js b/test-packages/example-addon/public/bar.js new file mode 100644 index 000000000..512b69618 --- /dev/null +++ b/test-packages/example-addon/public/bar.js @@ -0,0 +1 @@ +console.log('[example-addon] putting bar.js in appFiles'); diff --git a/test-packages/example-addon/public/foo.js b/test-packages/example-addon/public/foo.js new file mode 100644 index 000000000..bccfde811 --- /dev/null +++ b/test-packages/example-addon/public/foo.js @@ -0,0 +1 @@ +console.log('[example-addon] evaling foo'); diff --git a/test-packages/example-addon/testem.js b/test-packages/example-addon/testem.js new file mode 100644 index 000000000..49f53feed --- /dev/null +++ b/test-packages/example-addon/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/test-packages/example-addon/tests/dummy/app/app.js b/test-packages/example-addon/tests/dummy/app/app.js new file mode 100644 index 000000000..d8e2088b6 --- /dev/null +++ b/test-packages/example-addon/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 './config/environment'; + +export default class App extends Application { + modulePrefix = config.modulePrefix; + podModulePrefix = config.podModulePrefix; + Resolver = Resolver; +} + +loadInitializers(App, config.modulePrefix); diff --git a/test-packages/example-addon/tests/dummy/app/components/.gitkeep b/test-packages/example-addon/tests/dummy/app/components/.gitkeep new file mode 100644 index 000000000..e69de29bb diff --git a/test-packages/example-addon/tests/dummy/app/controllers/.gitkeep b/test-packages/example-addon/tests/dummy/app/controllers/.gitkeep new file mode 100644 index 000000000..e69de29bb diff --git a/test-packages/example-addon/tests/dummy/app/helpers/.gitkeep b/test-packages/example-addon/tests/dummy/app/helpers/.gitkeep new file mode 100644 index 000000000..e69de29bb diff --git a/test-packages/example-addon/tests/dummy/app/index.html b/test-packages/example-addon/tests/dummy/app/index.html new file mode 100644 index 000000000..61400b20f --- /dev/null +++ b/test-packages/example-addon/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/test-packages/example-addon/tests/dummy/app/models/.gitkeep b/test-packages/example-addon/tests/dummy/app/models/.gitkeep new file mode 100644 index 000000000..e69de29bb diff --git a/test-packages/example-addon/tests/dummy/app/router.js b/test-packages/example-addon/tests/dummy/app/router.js new file mode 100644 index 000000000..224ca426a --- /dev/null +++ b/test-packages/example-addon/tests/dummy/app/router.js @@ -0,0 +1,10 @@ +import EmberRouter from '@ember/routing/router'; +import config from './config/environment'; + +export default class Router extends EmberRouter { + location = config.locationType; + rootURL = config.rootURL; +} + +Router.map(function() { +}); diff --git a/test-packages/example-addon/tests/dummy/app/routes/.gitkeep b/test-packages/example-addon/tests/dummy/app/routes/.gitkeep new file mode 100644 index 000000000..e69de29bb diff --git a/test-packages/example-addon/tests/dummy/app/styles/app.css b/test-packages/example-addon/tests/dummy/app/styles/app.css new file mode 100644 index 000000000..e69de29bb diff --git a/test-packages/example-addon/tests/dummy/app/templates/application.hbs b/test-packages/example-addon/tests/dummy/app/templates/application.hbs new file mode 100644 index 000000000..5230580f8 --- /dev/null +++ b/test-packages/example-addon/tests/dummy/app/templates/application.hbs @@ -0,0 +1,3 @@ +

Welcome to Ember

+ +{{outlet}} \ No newline at end of file diff --git a/test-packages/example-addon/tests/dummy/config/environment.js b/test-packages/example-addon/tests/dummy/config/environment.js new file mode 100644 index 000000000..9f2393692 --- /dev/null +++ b/test-packages/example-addon/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/test-packages/example-addon/tests/dummy/config/optional-features.json b/test-packages/example-addon/tests/dummy/config/optional-features.json new file mode 100644 index 000000000..b26286e2e --- /dev/null +++ b/test-packages/example-addon/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/test-packages/example-addon/tests/dummy/config/targets.js b/test-packages/example-addon/tests/dummy/config/targets.js new file mode 100644 index 000000000..8ffae3636 --- /dev/null +++ b/test-packages/example-addon/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 = !!process.env.CI; +const isProduction = process.env.EMBER_ENV === 'production'; + +if (isCI || isProduction) { + browsers.push('ie 11'); +} + +module.exports = { + browsers +}; diff --git a/test-packages/example-addon/tests/dummy/public/robots.txt b/test-packages/example-addon/tests/dummy/public/robots.txt new file mode 100644 index 000000000..f5916452e --- /dev/null +++ b/test-packages/example-addon/tests/dummy/public/robots.txt @@ -0,0 +1,3 @@ +# http://www.robotstxt.org +User-agent: * +Disallow: diff --git a/test-packages/example-addon/tests/helpers/.gitkeep b/test-packages/example-addon/tests/helpers/.gitkeep new file mode 100644 index 000000000..e69de29bb diff --git a/test-packages/example-addon/tests/index.html b/test-packages/example-addon/tests/index.html new file mode 100644 index 000000000..5209b8523 --- /dev/null +++ b/test-packages/example-addon/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/test-packages/example-addon/tests/integration/.gitkeep b/test-packages/example-addon/tests/integration/.gitkeep new file mode 100644 index 000000000..e69de29bb diff --git a/test-packages/example-addon/tests/test-helper.js b/test-packages/example-addon/tests/test-helper.js new file mode 100644 index 000000000..0382a848d --- /dev/null +++ b/test-packages/example-addon/tests/test-helper.js @@ -0,0 +1,8 @@ +import Application from '../app'; +import config from '../config/environment'; +import { setApplication } from '@ember/test-helpers'; +import { start } from 'ember-qunit'; + +setApplication(Application.create(config.APP)); + +start(); diff --git a/test-packages/example-addon/tests/unit/.gitkeep b/test-packages/example-addon/tests/unit/.gitkeep new file mode 100644 index 000000000..e69de29bb diff --git a/test-packages/example-addon/vendor/.gitkeep b/test-packages/example-addon/vendor/.gitkeep new file mode 100644 index 000000000..e69de29bb diff --git a/yarn.lock b/yarn.lock index e052c371d..15d772187 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3816,6 +3816,11 @@ base64-arraybuffer@0.1.5: resolved "https://registry.yarnpkg.com/base64-arraybuffer/-/base64-arraybuffer-0.1.5.tgz#73926771923b5a19747ad666aa5cd4bf9c6e9ce8" integrity sha1-c5JncZI7Whl0etZmqlzUv5xunOg= +base64-js@0.0.2: + version "0.0.2" + resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-0.0.2.tgz#024f0f72afa25b75f9c0ee73cd4f55ec1bed9784" + integrity sha1-Ak8Pcq+iW3X5wO5zzU9V7Bvtl4Q= + base64-js@^1.0.2: version "1.3.1" resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.3.1.tgz#58ece8cb75dd07e71ed08c736abc5fac4dbf8df1" @@ -3955,6 +3960,14 @@ body@^5.1.0: raw-body "~1.1.0" safe-json-parse "~1.0.1" +bops@0.0.3: + version "0.0.3" + resolved "https://registry.yarnpkg.com/bops/-/bops-0.0.3.tgz#c5cbf6fea8be7401ca5ea6d1679e6c4e8b407c79" + integrity sha1-xcv2/qi+dAHKXqbRZ55sTotAfHk= + dependencies: + base64-js "0.0.2" + to-utf8 "0.0.1" + bower-config@^1.3.0, bower-config@^1.4.3: version "1.4.3" resolved "https://registry.yarnpkg.com/bower-config/-/bower-config-1.4.3.tgz#3454fecdc5f08e7aa9cc6d556e492be0669689ae" @@ -4260,7 +4273,7 @@ broccoli-funnel-reducer@^1.0.0: resolved "https://registry.yarnpkg.com/broccoli-funnel-reducer/-/broccoli-funnel-reducer-1.0.0.tgz#11365b2a785aec9b17972a36df87eef24c5cc0ea" integrity sha1-ETZbKnha7JsXlyo234fu8kxcwOo= -broccoli-funnel@^1.0.1, broccoli-funnel@^1.1.0: +broccoli-funnel@^1.0.1: version "1.2.0" resolved "https://registry.yarnpkg.com/broccoli-funnel/-/broccoli-funnel-1.2.0.tgz#cddc3afc5ff1685a8023488fff74ce6fb5a51296" integrity sha1-zdw6/F/xaFqAI0iP/3TOb7WlEpY= @@ -5155,6 +5168,11 @@ capture-exit@^2.0.0: dependencies: rsvp "^4.8.4" +capture-stack-trace@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/capture-stack-trace/-/capture-stack-trace-1.0.1.tgz#a6c0bbe1f38f3aa0b92238ecb6ff42c344d4135d" + integrity sha512-mYQLZnx5Qt1JgB1WEiMCf2647plpGeQ2NMR/5L0HNZzGQo4fuSPnK+wjfPnKZV0aiJDgzmWqqkV/g7JD+DW0qw== + cardinal@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/cardinal/-/cardinal-1.0.0.tgz#50e21c1b0aa37729f9377def196b5a9cec932ee9" @@ -5488,6 +5506,16 @@ cli-spinners@^2.0.0, cli-spinners@^2.2.0, cli-spinners@^2.4.0: resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-2.4.0.tgz#c6256db216b878cfba4720e719cec7cf72685d7f" integrity sha512-sJAofoarcm76ZGpuooaO0eDy8saEy+YoZBLjC4h8srt4jeBnkYeOgqxgsJQTpyt2LjI5PTfLJHSL+41Yu4fEJA== +cli-table3@^0.5.1: + version "0.5.1" + resolved "https://registry.yarnpkg.com/cli-table3/-/cli-table3-0.5.1.tgz#0252372d94dfc40dbd8df06005f48f31f656f202" + integrity sha512-7Qg2Jrep1S/+Q3EceiZtQcDPWxhAvBw+ERf1162v4sikJrvojMHFqXt8QIVha8UlH9rgU0BeWPytZ9/TzYqlUw== + dependencies: + object-assign "^4.1.0" + string-width "^2.1.1" + optionalDependencies: + colors "^1.1.2" + cli-table@^0.3.1: version "0.3.1" resolved "https://registry.yarnpkg.com/cli-table/-/cli-table-0.3.1.tgz#f53b05266a8b1a0b934b3d0821e6e2dc5914ae23" @@ -5591,7 +5619,7 @@ colors@1.0.3: resolved "https://registry.yarnpkg.com/colors/-/colors-1.0.3.tgz#0433f44d809680fdeb60ed260f1b0c262e82a40b" integrity sha1-BDP0TYCWgP3rYO0mDxsMJi6CpAs= -colors@^1.4.0: +colors@^1.1.2, colors@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/colors/-/colors-1.4.0.tgz#c50491479d4c1bdaed2c9ced32cf7c7dc2360f78" integrity sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA== @@ -5904,6 +5932,13 @@ create-ecdh@^4.0.0: bn.js "^4.1.0" elliptic "^6.0.0" +create-error-class@^3.0.0: + version "3.0.2" + resolved "https://registry.yarnpkg.com/create-error-class/-/create-error-class-3.0.2.tgz#06be7abef947a3f14a30fd610671d401bca8b7b6" + integrity sha1-Br56vvlHo/FKMP1hBnHUAbyot7Y= + dependencies: + capture-stack-trace "^1.0.0" + create-hash@^1.1.0, create-hash@^1.1.2, create-hash@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196" @@ -6367,6 +6402,11 @@ dot-prop@^5.2.0: dependencies: is-obj "^2.0.0" +duplex@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/duplex/-/duplex-1.0.0.tgz#6abc5c16ec17e4c578578727126700590d3a2dda" + integrity sha1-arxcFuwX5MV4V4cnEmcAWQ06Ldo= + duplexer3@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/duplexer3/-/duplexer3-0.1.4.tgz#ee01dd1cac0ed3cbc7fdbea37dc0a8f1ce002ce2" @@ -6517,7 +6557,7 @@ ember-cli-babel-plugin-helpers@^1.1.1: resolved "https://registry.yarnpkg.com/ember-cli-babel-plugin-helpers/-/ember-cli-babel-plugin-helpers-1.1.1.tgz#5016b80cdef37036c4282eef2d863e1d73576879" integrity sha512-sKvOiPNHr5F/60NLd7SFzMpYPte/nnGkq/tMIfXejfKHIhaiIkYFqX8Z9UFTKWLLn+V7NOaby6niNPZUdvKCRw== -ember-cli-babel@^6.0.0-beta.3, ember-cli-babel@^6.0.0-beta.4, ember-cli-babel@^6.11.0, ember-cli-babel@^6.12.0, ember-cli-babel@^6.16.0, ember-cli-babel@^6.6.0, ember-cli-babel@^6.8.1, ember-cli-babel@^6.8.2: +ember-cli-babel@^6.0.0-beta.4, ember-cli-babel@^6.11.0, ember-cli-babel@^6.12.0, ember-cli-babel@^6.16.0, ember-cli-babel@^6.6.0, ember-cli-babel@^6.8.1, ember-cli-babel@^6.8.2: version "6.18.0" resolved "https://registry.yarnpkg.com/ember-cli-babel/-/ember-cli-babel-6.18.0.tgz#3f6435fd275172edeff2b634ee7b29ce74318957" integrity sha512-7ceC8joNYxY2wES16iIBlbPSxwKDBhYwC8drU3ZEvuPDMwVv1KzxCNu1fvxyFEBWhwaRNTUxSCsEVoTd9nosGA== @@ -7133,16 +7173,6 @@ ember-export-application-global@^2.0.0, ember-export-application-global@^2.0.1: resolved "https://registry.yarnpkg.com/ember-export-application-global/-/ember-export-application-global-2.0.1.tgz#b120a70e322ab208defc9e2daebe8d0dfc2dcd46" integrity sha512-B7wiurPgsxsSGzJuPFkpBWnaeuCu2PGpG2BjyrfA1VcL7//o+5RSnZqiCEY326y7qmxb2GoCgo0ft03KBU0rRw== -ember-fastboot-build-example@0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/ember-fastboot-build-example/-/ember-fastboot-build-example-0.1.2.tgz#ca4b112368f585adb1afc8e83dd08b94a2d29950" - integrity sha512-gvl4QU2+pjhLzmBJMH8Ev/O030BdA567ULfoeSwnGsAwFlrZssHpZdX+XHfWyHQj8d8EHQWpiR9SXIWakvIQug== - dependencies: - broccoli-funnel "^1.1.0" - broccoli-merge-trees "^2.0.0" - ember-cli-babel "^6.0.0-beta.3" - fastboot-filter-initializers "0.0.2" - ember-fetch@^8.0.1: version "8.0.1" resolved "https://registry.yarnpkg.com/ember-fetch/-/ember-fetch-8.0.1.tgz#dc57f3c3ba464e4a8722785f6b44265c46b38020" @@ -7300,6 +7330,13 @@ ember-sinon@^2.2.0: ember-cli-babel "^6.6.0" sinon "^6.0.1" +ember-source-channel-url@^1.0.1: + version "1.2.0" + resolved "https://registry.yarnpkg.com/ember-source-channel-url/-/ember-source-channel-url-1.2.0.tgz#77eb9d0889e5f5370e6c70fcb2696c63ff4a34a1" + integrity sha512-CLClcHzVf+8GoFk4176R16nwXoel70bd7DKVAY6D8M0m5fJJhbTrAPYpDA0lY8A60HZo9j/s8A8LWiGh1YmdZg== + dependencies: + got "^8.0.1" + ember-source-channel-url@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/ember-source-channel-url/-/ember-source-channel-url-2.0.1.tgz#18b88f8a00b7746e7a456b3551abb3aea18729cc" @@ -7395,6 +7432,37 @@ ember-test-waiters@^1.1.1: ember-cli-babel "^7.11.0" semver "^6.3.0" +ember-try-config@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/ember-try-config/-/ember-try-config-3.0.0.tgz#012d8c90cae9eb624e2b62040bf7e76a1aa58edc" + integrity sha512-pNwHS29O1ACczkrxBKRtDY0TzTb7uPnA5eHEe+4NF6qpLK5FVnL3EtgZ8+yVYtnm1If5mZ07rIubw45vaSek7w== + dependencies: + ember-source-channel-url "^1.0.1" + lodash "^4.6.1" + package-json "^4.0.1" + remote-git-tags "^2.0.0" + rsvp "^4.8.1" + semver "^5.5.0" + +ember-try@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/ember-try/-/ember-try-1.4.0.tgz#be15965bd1727c27a65a78c4c8392f03763cc565" + integrity sha512-o0SoCH4K8umCf8etphla8FDygKfQGkwY+w47wEuYFVKaESrOZaK63ObnAK7DTKkjJU74Fss2abf+r+pAWpX43g== + dependencies: + chalk "^2.4.2" + cli-table3 "^0.5.1" + core-object "^3.1.5" + debug "^4.1.1" + ember-try-config "^3.0.0" + execa "^1.0.0" + extend "^3.0.0" + fs-extra "^5.0.0" + promise-map-series "^0.2.1" + resolve "^1.10.1" + rimraf "^2.6.3" + rsvp "^4.7.0" + walk-sync "^1.1.3" + ember-welcome-page@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/ember-welcome-page/-/ember-welcome-page-4.0.0.tgz#14f5ef8b477f9480c39548d3ebd51f5c4ffb0a14" @@ -7405,6 +7473,11 @@ ember-welcome-page@^4.0.0: ember-cli-htmlbars "^3.0.1" ember-compatibility-helpers "^1.1.2" +emit-function@0.0.2: + version "0.0.2" + resolved "https://registry.yarnpkg.com/emit-function/-/emit-function-0.0.2.tgz#e3a50b3d61be1bf8ca88b924bf713157a5bec124" + integrity sha1-46ULPWG+G/jKiLkkv3ExV6W+wSQ= + emoji-regex@^7.0.1: version "7.0.3" resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156" @@ -8387,13 +8460,6 @@ fast-sourcemap-concat@^2.1.0: source-map-url "^0.3.0" sourcemap-validator "^1.1.0" -fastboot-filter-initializers@0.0.2: - version "0.0.2" - resolved "https://registry.yarnpkg.com/fastboot-filter-initializers/-/fastboot-filter-initializers-0.0.2.tgz#67aa9e8b22ca4b0e6a244f2450fd1cc6befa45e7" - integrity sha1-Z6qeiyLKSw5qJE8kUP0cxr76Rec= - dependencies: - broccoli-funnel "^1.0.1" - fastboot-transform@^0.1.3: version "0.1.3" resolved "https://registry.yarnpkg.com/fastboot-transform/-/fastboot-transform-0.1.3.tgz#7dea0b117594afd8772baa6c9b0919644e7f7dcd" @@ -9036,11 +9102,37 @@ getpass@^0.1.1: dependencies: assert-plus "^1.0.0" +git-fetch-pack@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/git-fetch-pack/-/git-fetch-pack-0.1.1.tgz#7703a32cf0db80f060d2766a34ac00d02cebcdf5" + integrity sha1-dwOjLPDbgPBg0nZqNKwA0CzrzfU= + dependencies: + bops "0.0.3" + emit-function "0.0.2" + git-packed-ref-parse "0.0.0" + through "~2.2.7" + git-hooks-list@1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/git-hooks-list/-/git-hooks-list-1.0.3.tgz#be5baaf78203ce342f2f844a9d2b03dba1b45156" integrity sha512-Y7wLWcrLUXwk2noSka166byGCvhMtDRpgHdzCno1UQv/n/Hegp++a2xBWJL1lJarnKD3SWaljD+0z1ztqxuKyQ== +git-packed-ref-parse@0.0.0: + version "0.0.0" + resolved "https://registry.yarnpkg.com/git-packed-ref-parse/-/git-packed-ref-parse-0.0.0.tgz#b85046931f3e4a65679b5de54af3a5d3df372646" + integrity sha1-uFBGkx8+SmVnm13lSvOl0983JkY= + dependencies: + line-stream "0.0.0" + through "~2.2.7" + +git-read-pkt-line@0.0.8: + version "0.0.8" + resolved "https://registry.yarnpkg.com/git-read-pkt-line/-/git-read-pkt-line-0.0.8.tgz#494037854ed57bd90cd55676540d86ab0cb36caa" + integrity sha1-SUA3hU7Ve9kM1VZ2VA2GqwyzbKo= + dependencies: + bops "0.0.3" + through "~2.2.7" + git-repo-info@^1.4.1: version "1.4.1" resolved "https://registry.yarnpkg.com/git-repo-info/-/git-repo-info-1.4.1.tgz#2a072823254aaf62fcf0766007d7b6651bd41943" @@ -9058,6 +9150,17 @@ git-repo-version@^1.0.2: dependencies: git-repo-info "^1.4.1" +git-transport-protocol@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/git-transport-protocol/-/git-transport-protocol-0.1.0.tgz#99f4dd6389b9161eded74a9e617d6ba5ed0a6c2c" + integrity sha1-mfTdY4m5Fh7e10qeYX1rpe0KbCw= + dependencies: + duplex "~1.0.0" + emit-function "0.0.2" + git-read-pkt-line "0.0.8" + git-write-pkt-line "0.1.0" + through "~2.2.7" + git-up@^4.0.0: version "4.0.1" resolved "https://registry.yarnpkg.com/git-up/-/git-up-4.0.1.tgz#cb2ef086653640e721d2042fe3104857d89007c0" @@ -9080,6 +9183,14 @@ git-url-parse@11.4.0: dependencies: git-up "^4.0.0" +git-write-pkt-line@0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/git-write-pkt-line/-/git-write-pkt-line-0.1.0.tgz#a84c1856c09011908389b2f06f911d91f6394694" + integrity sha1-qEwYVsCQEZCDibLwb5EdkfY5RpQ= + dependencies: + bops "0.0.3" + through "~2.2.7" + glob-base@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/glob-base/-/glob-base-0.3.0.tgz#dbb164f6221b1c0b1ccf82aea328b497df0ea3c4" @@ -9298,6 +9409,23 @@ got@9.6.0, got@^9.6.0: to-readable-stream "^1.0.0" url-parse-lax "^3.0.0" +got@^6.7.1: + version "6.7.1" + resolved "https://registry.yarnpkg.com/got/-/got-6.7.1.tgz#240cd05785a9a18e561dc1b44b41c763ef1e8db0" + integrity sha1-JAzQV4WpoY5WHcG0S0HHY+8ejbA= + dependencies: + create-error-class "^3.0.0" + duplexer3 "^0.1.4" + get-stream "^3.0.0" + is-redirect "^1.0.0" + is-retry-allowed "^1.0.0" + is-stream "^1.0.0" + lowercase-keys "^1.0.0" + safe-buffer "^5.0.1" + timed-out "^4.0.0" + unzip-response "^2.0.1" + url-parse-lax "^1.0.0" + got@^8.0.1: version "8.3.2" resolved "https://registry.yarnpkg.com/got/-/got-8.3.2.tgz#1d23f64390e97f776cac52e5b936e5f514d2e937" @@ -10311,6 +10439,11 @@ is-primitive@^2.0.0: resolved "https://registry.yarnpkg.com/is-primitive/-/is-primitive-2.0.0.tgz#207bab91638499c07b2adf240a41a87210034575" integrity sha1-IHurkWOEmcB7Kt8kCkGochADRXU= +is-redirect@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-redirect/-/is-redirect-1.0.0.tgz#1d03dded53bd8db0f30c26e4f95d36fc7c87dc24" + integrity sha1-HQPd7VO9jbDzDCbk+V02/HyH3CQ= + is-reference@^1.1.0: version "1.2.1" resolved "https://registry.yarnpkg.com/is-reference/-/is-reference-1.2.1.tgz#8b2dac0b371f4bc994fdeaba9eb542d03002d0b7" @@ -10330,7 +10463,7 @@ is-regular-file@^1.0.1: resolved "https://registry.yarnpkg.com/is-regular-file/-/is-regular-file-1.1.1.tgz#ffcf9cae56ec63bc55b17d6fed1af441986dab66" integrity sha512-+1U3MZrVwC4HM6VUKk3L5fiHtNd2d9kayzEJhmQ+B+uIBPE/p8Fy8QVdkx0HIr3o9J5TOKJY40eI5GfTfBqbdA== -is-retry-allowed@^1.1.0: +is-retry-allowed@^1.0.0, is-retry-allowed@^1.1.0: version "1.2.0" resolved "https://registry.yarnpkg.com/is-retry-allowed/-/is-retry-allowed-1.2.0.tgz#d778488bd0a4666a3be8a1482b9f2baafedea8b4" integrity sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg== @@ -10347,7 +10480,7 @@ is-ssh@^1.3.0: dependencies: protocols "^1.1.0" -is-stream@^1.1.0: +is-stream@^1.0.0, is-stream@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ= @@ -10885,6 +11018,13 @@ levn@^0.4.1: prelude-ls "^1.2.1" type-check "~0.4.0" +line-stream@0.0.0: + version "0.0.0" + resolved "https://registry.yarnpkg.com/line-stream/-/line-stream-0.0.0.tgz#888b7cc7951c6a05ce4d696dd1e6b8262371bb45" + integrity sha1-iIt8x5UcagXOTWlt0ea4JiNxu0U= + dependencies: + through "~2.2.0" + lines-and-columns@^1.1.6: version "1.1.6" resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.1.6.tgz#1c00c743b433cd0a4e80758f7b64a57440d9ff00" @@ -11180,6 +11320,11 @@ lodash@^4.0.0, lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.12, lodash@^4.17.1 resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.19.tgz#e48ddedbe30b3321783c5b4301fbd353bc1e4a4b" integrity sha512-JNvd8XER9GQX0v2qJgsaN/mzFCNA5BRe/j8JN9d+tWyGLSodKQHKFicdwNYzWwI3wjRnaKPsGj1XkBjx/F96DQ== +lodash@^4.6.1: + version "4.17.21" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" + integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== + log-symbols@3.0.0, log-symbols@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-3.0.0.tgz#f3a08516a5dea893336a7dee14d18a1cfdab77c4" @@ -12718,6 +12863,16 @@ p-try@^2.0.0: resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== +package-json@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/package-json/-/package-json-4.0.1.tgz#8869a0401253661c4c4ca3da6c2121ed555f5eed" + integrity sha1-iGmgQBJTZhxMTKPabCEh7VVfXu0= + dependencies: + got "^6.7.1" + registry-auth-token "^3.0.1" + registry-url "^3.0.3" + semver "^5.1.0" + package-json@^6.3.0: version "6.5.0" resolved "https://registry.yarnpkg.com/package-json/-/package-json-6.5.0.tgz#6feedaca35e75725876d0b0e64974697fed145b0" @@ -13096,6 +13251,11 @@ prelude-ls@~1.1.2: resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ= +prepend-http@^1.0.1: + version "1.0.4" + resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc" + integrity sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw= + prepend-http@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-2.0.0.tgz#e92434bfa5ea8c19f41cdfd401d741a3c819d897" @@ -13432,7 +13592,7 @@ raw-body@~1.1.0: bytes "1" string_decoder "0.10" -rc@^1.2.8: +rc@^1.0.1, rc@^1.1.6, rc@^1.2.8: version "1.2.8" resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed" integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw== @@ -13704,6 +13864,14 @@ regexpu-core@^4.7.1: unicode-match-property-ecmascript "^1.0.4" unicode-match-property-value-ecmascript "^1.2.0" +registry-auth-token@^3.0.1: + version "3.4.0" + resolved "https://registry.yarnpkg.com/registry-auth-token/-/registry-auth-token-3.4.0.tgz#d7446815433f5d5ed6431cd5dca21048f66b397e" + integrity sha512-4LM6Fw8eBQdwMYcES4yTnn2TqIasbXuwDx3um+QRs7S55aMKCBKBxvPXl2RiUjHwuJLTyYfxSpmfSAjQpcuP+A== + dependencies: + rc "^1.1.6" + safe-buffer "^5.0.1" + registry-auth-token@^4.0.0: version "4.2.0" resolved "https://registry.yarnpkg.com/registry-auth-token/-/registry-auth-token-4.2.0.tgz#1d37dffda72bbecd0f581e4715540213a65eb7da" @@ -13711,6 +13879,13 @@ registry-auth-token@^4.0.0: dependencies: rc "^1.2.8" +registry-url@^3.0.3: + version "3.1.0" + resolved "https://registry.yarnpkg.com/registry-url/-/registry-url-3.1.0.tgz#3d4ef870f73dde1d77f0cf9a381432444e174942" + integrity sha1-PU74cPc93h138M+aOBQyRE4XSUI= + dependencies: + rc "^1.0.1" + registry-url@^5.0.0: version "5.1.0" resolved "https://registry.yarnpkg.com/registry-url/-/registry-url-5.1.0.tgz#e98334b50d5434b81136b44ec638d9c2009c5009" @@ -13877,6 +14052,14 @@ release-it@^14.2.2: yaml "1.10.0" yargs-parser "20.2.4" +remote-git-tags@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/remote-git-tags/-/remote-git-tags-2.0.0.tgz#1152f39cf8b5268ae0e4307636ef741ec341664c" + integrity sha1-EVLznPi1Jorg5DB2Nu90HsNBZkw= + dependencies: + git-fetch-pack "^0.1.1" + git-transport-protocol "^0.1.0" + remove-trailing-separator@^1.0.1: version "1.1.0" resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" @@ -14374,7 +14557,7 @@ semver-diff@^3.1.1: dependencies: semver "^6.3.0" -"semver@2 || 3 || 4 || 5", semver@^5.1.1, semver@^5.3.0, semver@^5.4.1, semver@^5.5.0, semver@^5.5.1, semver@^5.6.0, semver@^5.7.0: +"semver@2 || 3 || 4 || 5", semver@^5.1.0, semver@^5.1.1, semver@^5.3.0, semver@^5.4.1, semver@^5.5.0, semver@^5.5.1, semver@^5.6.0, semver@^5.7.0: version "5.7.1" resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== @@ -15438,12 +15621,17 @@ through@^2.3.6, through@^2.3.8: resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= +through@~2.2.0, through@~2.2.7: + version "2.2.7" + resolved "https://registry.yarnpkg.com/through/-/through-2.2.7.tgz#6e8e21200191d4eb6a99f6f010df46aa1c6eb2bd" + integrity sha1-bo4hIAGR1OtqmfbwEN9Gqhxusr0= + time-zone@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/time-zone/-/time-zone-1.0.0.tgz#99c5bf55958966af6d06d83bdf3800dc82faec5d" integrity sha1-mcW/VZWJZq9tBtg73zgA3IL67F0= -timed-out@^4.0.1: +timed-out@^4.0.0, timed-out@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/timed-out/-/timed-out-4.0.1.tgz#f32eacac5a175bea25d7fab565ab3ed8741ef56f" integrity sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8= @@ -15571,6 +15759,11 @@ to-regex@^3.0.1, to-regex@^3.0.2: regex-not "^1.0.2" safe-regex "^1.1.0" +to-utf8@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/to-utf8/-/to-utf8-0.0.1.tgz#d17aea72ff2fba39b9e43601be7b3ff72e089852" + integrity sha1-0Xrqcv8vujm55DYBvns/9y4ImFI= + toidentifier@1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.0.tgz#7e1be3470f1e77948bc43d94a3c8f4d7752ba553" @@ -15843,6 +16036,11 @@ untildify@^2.1.0: dependencies: os-homedir "^1.0.0" +unzip-response@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/unzip-response/-/unzip-response-2.0.1.tgz#d2f0f737d16b0615e72a6935ed04214572d56f97" + integrity sha1-0vD3N9FrBhXnKmk17QQhRXLVb5c= + upath@^1.1.1: version "1.2.0" resolved "https://registry.yarnpkg.com/upath/-/upath-1.2.0.tgz#8f66dbcd55a883acdae4408af8b035a5044c1894" @@ -15924,6 +16122,13 @@ url-join@4.0.1, url-join@^4.0.1: resolved "https://registry.yarnpkg.com/url-join/-/url-join-4.0.1.tgz#b642e21a2646808ffa178c4c5fda39844e12cde7" integrity sha512-jk1+QP6ZJqyOiuEI9AEWQfju/nB2Pw466kbA0LEZljHwKeMgd9WrAEgEGxjPDD2+TNbbb37rTyhEfrCXfuKXnA== +url-parse-lax@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/url-parse-lax/-/url-parse-lax-1.0.0.tgz#7af8f303645e9bd79a272e7a14ac68bc0609da73" + integrity sha1-evjzA2Rem9eaJy56FKxovAYJ2nM= + dependencies: + prepend-http "^1.0.1" + url-parse-lax@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/url-parse-lax/-/url-parse-lax-3.0.0.tgz#16b5cafc07dbe3676c1b1999177823d6503acb0c"