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"