@embroider/compat 4.1.26 → 4.1.28
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +30 -0
- package/dist/src/add-to-tree.d.ts +9 -0
- package/dist/src/add-to-tree.d.ts.map +1 -0
- package/dist/src/add-to-tree.js +22 -0
- package/dist/src/add-to-tree.js.map +1 -0
- package/dist/src/addon-dependency-rules/ember-basic-dropdown.d.ts +4 -0
- package/dist/src/addon-dependency-rules/ember-basic-dropdown.d.ts.map +1 -0
- package/dist/src/addon-dependency-rules/ember-basic-dropdown.js +28 -0
- package/dist/src/addon-dependency-rules/ember-basic-dropdown.js.map +1 -0
- package/dist/src/addon-dependency-rules/ember-modal-dialog.d.ts +4 -0
- package/dist/src/addon-dependency-rules/ember-modal-dialog.d.ts.map +1 -0
- package/dist/src/addon-dependency-rules/ember-modal-dialog.js +27 -0
- package/dist/src/addon-dependency-rules/ember-modal-dialog.js.map +1 -0
- package/dist/src/addon-dependency-rules/ember-power-select-typeahead.d.ts +4 -0
- package/dist/src/addon-dependency-rules/ember-power-select-typeahead.d.ts.map +1 -0
- package/dist/src/addon-dependency-rules/ember-power-select-typeahead.js +23 -0
- package/dist/src/addon-dependency-rules/ember-power-select-typeahead.js.map +1 -0
- package/dist/src/addon-dependency-rules/ember-power-select-with-create.d.ts +4 -0
- package/dist/src/addon-dependency-rules/ember-power-select-with-create.d.ts.map +1 -0
- package/dist/src/addon-dependency-rules/ember-power-select-with-create.js +18 -0
- package/dist/src/addon-dependency-rules/ember-power-select-with-create.js.map +1 -0
- package/dist/src/addon-dependency-rules/ember-power-select.d.ts +4 -0
- package/dist/src/addon-dependency-rules/ember-power-select.d.ts.map +1 -0
- package/dist/src/addon-dependency-rules/ember-power-select.js +57 -0
- package/dist/src/addon-dependency-rules/ember-power-select.js.map +1 -0
- package/dist/src/audit/babel-visitor.d.ts +41 -0
- package/dist/src/audit/babel-visitor.d.ts.map +1 -0
- package/dist/src/audit/babel-visitor.js +230 -0
- package/dist/src/audit/babel-visitor.js.map +1 -0
- package/dist/src/audit/build.d.ts +8 -0
- package/dist/src/audit/build.d.ts.map +1 -0
- package/dist/src/audit/build.js +71 -0
- package/dist/src/audit/build.js.map +1 -0
- package/dist/src/audit/options.d.ts +9 -0
- package/dist/src/audit/options.d.ts.map +1 -0
- package/dist/src/audit/options.js +3 -0
- package/dist/src/audit/options.js.map +1 -0
- package/dist/src/audit.d.ts +60 -0
- package/dist/src/audit.d.ts.map +1 -0
- package/dist/src/audit.js +296 -0
- package/dist/src/audit.js.map +1 -0
- package/dist/src/babel.d.ts +18 -0
- package/dist/src/babel.d.ts.map +1 -0
- package/dist/src/babel.js +138 -0
- package/dist/src/babel.js.map +1 -0
- package/dist/src/build-compat-addon.d.ts +5 -0
- package/dist/src/build-compat-addon.d.ts.map +1 -0
- package/dist/src/build-compat-addon.js +43 -0
- package/dist/src/build-compat-addon.js.map +1 -0
- package/dist/src/compat-adapters/@ember/test-waiters.d.ts +6 -0
- package/dist/src/compat-adapters/@ember/test-waiters.d.ts.map +1 -0
- package/dist/src/compat-adapters/@ember/test-waiters.js +26 -0
- package/dist/src/compat-adapters/@ember/test-waiters.js.map +1 -0
- package/dist/src/compat-adapters/@ember-data/adapter.d.ts +2 -0
- package/dist/src/compat-adapters/@ember-data/adapter.d.ts.map +1 -0
- package/dist/src/compat-adapters/@ember-data/adapter.js +6 -0
- package/dist/src/compat-adapters/@ember-data/adapter.js.map +1 -0
- package/dist/src/compat-adapters/@ember-data/model.d.ts +2 -0
- package/dist/src/compat-adapters/@ember-data/model.d.ts.map +1 -0
- package/dist/src/compat-adapters/@ember-data/model.js +6 -0
- package/dist/src/compat-adapters/@ember-data/model.js.map +1 -0
- package/dist/src/compat-adapters/@ember-data/record-data.d.ts +2 -0
- package/dist/src/compat-adapters/@ember-data/record-data.d.ts.map +1 -0
- package/dist/src/compat-adapters/@ember-data/record-data.js +6 -0
- package/dist/src/compat-adapters/@ember-data/record-data.js.map +1 -0
- package/dist/src/compat-adapters/@ember-data/serializer.d.ts +2 -0
- package/dist/src/compat-adapters/@ember-data/serializer.d.ts.map +1 -0
- package/dist/src/compat-adapters/@ember-data/serializer.js +6 -0
- package/dist/src/compat-adapters/@ember-data/serializer.js.map +1 -0
- package/dist/src/compat-adapters/@ember-data/store.d.ts +2 -0
- package/dist/src/compat-adapters/@ember-data/store.d.ts.map +1 -0
- package/dist/src/compat-adapters/@ember-data/store.js +6 -0
- package/dist/src/compat-adapters/@ember-data/store.js.map +1 -0
- package/dist/src/compat-adapters/@glimmer/tracking.d.ts +10 -0
- package/dist/src/compat-adapters/@glimmer/tracking.d.ts.map +1 -0
- package/dist/src/compat-adapters/@glimmer/tracking.js +36 -0
- package/dist/src/compat-adapters/@glimmer/tracking.js.map +1 -0
- package/dist/src/compat-adapters/@html-next/vertical-collection.d.ts +5 -0
- package/dist/src/compat-adapters/@html-next/vertical-collection.d.ts.map +1 -0
- package/dist/src/compat-adapters/@html-next/vertical-collection.js +14 -0
- package/dist/src/compat-adapters/@html-next/vertical-collection.js.map +1 -0
- package/dist/src/compat-adapters/active-model-adapter.d.ts +5 -0
- package/dist/src/compat-adapters/active-model-adapter.d.ts.map +1 -0
- package/dist/src/compat-adapters/active-model-adapter.js +16 -0
- package/dist/src/compat-adapters/active-model-adapter.js.map +1 -0
- package/dist/src/compat-adapters/ember-asset-loader.d.ts +6 -0
- package/dist/src/compat-adapters/ember-asset-loader.d.ts.map +1 -0
- package/dist/src/compat-adapters/ember-asset-loader.js +36 -0
- package/dist/src/compat-adapters/ember-asset-loader.js.map +1 -0
- package/dist/src/compat-adapters/ember-cli-addon-docs.d.ts +5 -0
- package/dist/src/compat-adapters/ember-cli-addon-docs.d.ts.map +1 -0
- package/dist/src/compat-adapters/ember-cli-addon-docs.js +14 -0
- package/dist/src/compat-adapters/ember-cli-addon-docs.js.map +1 -0
- package/dist/src/compat-adapters/ember-cli-babel.d.ts +5 -0
- package/dist/src/compat-adapters/ember-cli-babel.d.ts.map +1 -0
- package/dist/src/compat-adapters/ember-cli-babel.js +25 -0
- package/dist/src/compat-adapters/ember-cli-babel.js.map +1 -0
- package/dist/src/compat-adapters/ember-cli-clipboard.d.ts +5 -0
- package/dist/src/compat-adapters/ember-cli-clipboard.d.ts.map +1 -0
- package/dist/src/compat-adapters/ember-cli-clipboard.js +31 -0
- package/dist/src/compat-adapters/ember-cli-clipboard.js.map +1 -0
- package/dist/src/compat-adapters/ember-cli-deprecation-workflow.d.ts +6 -0
- package/dist/src/compat-adapters/ember-cli-deprecation-workflow.d.ts.map +1 -0
- package/dist/src/compat-adapters/ember-cli-deprecation-workflow.js +46 -0
- package/dist/src/compat-adapters/ember-cli-deprecation-workflow.js.map +1 -0
- package/dist/src/compat-adapters/ember-cli-fastboot-testing.d.ts +5 -0
- package/dist/src/compat-adapters/ember-cli-fastboot-testing.d.ts.map +1 -0
- package/dist/src/compat-adapters/ember-cli-fastboot-testing.js +21 -0
- package/dist/src/compat-adapters/ember-cli-fastboot-testing.js.map +1 -0
- package/dist/src/compat-adapters/ember-cli-fastboot.d.ts +12 -0
- package/dist/src/compat-adapters/ember-cli-fastboot.d.ts.map +1 -0
- package/dist/src/compat-adapters/ember-cli-fastboot.js +157 -0
- package/dist/src/compat-adapters/ember-cli-fastboot.js.map +1 -0
- package/dist/src/compat-adapters/ember-cli-mirage.d.ts +7 -0
- package/dist/src/compat-adapters/ember-cli-mirage.d.ts.map +1 -0
- package/dist/src/compat-adapters/ember-cli-mirage.js +29 -0
- package/dist/src/compat-adapters/ember-cli-mirage.js.map +1 -0
- package/dist/src/compat-adapters/ember-composable-helpers.d.ts +6 -0
- package/dist/src/compat-adapters/ember-composable-helpers.d.ts.map +1 -0
- package/dist/src/compat-adapters/ember-composable-helpers.js +40 -0
- package/dist/src/compat-adapters/ember-composable-helpers.js.map +1 -0
- package/dist/src/compat-adapters/ember-data.d.ts +10 -0
- package/dist/src/compat-adapters/ember-data.d.ts.map +1 -0
- package/dist/src/compat-adapters/ember-data.js +74 -0
- package/dist/src/compat-adapters/ember-data.js.map +1 -0
- package/dist/src/compat-adapters/ember-decorators.d.ts +5 -0
- package/dist/src/compat-adapters/ember-decorators.d.ts.map +1 -0
- package/dist/src/compat-adapters/ember-decorators.js +16 -0
- package/dist/src/compat-adapters/ember-decorators.js.map +1 -0
- package/dist/src/compat-adapters/ember-engines.d.ts +15 -0
- package/dist/src/compat-adapters/ember-engines.d.ts.map +1 -0
- package/dist/src/compat-adapters/ember-engines.js +34 -0
- package/dist/src/compat-adapters/ember-engines.js.map +1 -0
- package/dist/src/compat-adapters/ember-exam.d.ts +16 -0
- package/dist/src/compat-adapters/ember-exam.d.ts.map +1 -0
- package/dist/src/compat-adapters/ember-exam.js +30 -0
- package/dist/src/compat-adapters/ember-exam.js.map +1 -0
- package/dist/src/compat-adapters/ember-fetch.d.ts +7 -0
- package/dist/src/compat-adapters/ember-fetch.d.ts.map +1 -0
- package/dist/src/compat-adapters/ember-fetch.js +56 -0
- package/dist/src/compat-adapters/ember-fetch.js.map +1 -0
- package/dist/src/compat-adapters/ember-get-config.d.ts +17 -0
- package/dist/src/compat-adapters/ember-get-config.d.ts.map +1 -0
- package/dist/src/compat-adapters/ember-get-config.js +41 -0
- package/dist/src/compat-adapters/ember-get-config.js.map +1 -0
- package/dist/src/compat-adapters/ember-inflector.d.ts +7 -0
- package/dist/src/compat-adapters/ember-inflector.d.ts.map +1 -0
- package/dist/src/compat-adapters/ember-inflector.js +39 -0
- package/dist/src/compat-adapters/ember-inflector.js.map +1 -0
- package/dist/src/compat-adapters/ember-percy.d.ts +5 -0
- package/dist/src/compat-adapters/ember-percy.d.ts.map +1 -0
- package/dist/src/compat-adapters/ember-percy.js +18 -0
- package/dist/src/compat-adapters/ember-percy.js.map +1 -0
- package/dist/src/compat-adapters/ember-resolver.d.ts +5 -0
- package/dist/src/compat-adapters/ember-resolver.d.ts.map +1 -0
- package/dist/src/compat-adapters/ember-resolver.js +21 -0
- package/dist/src/compat-adapters/ember-resolver.js.map +1 -0
- package/dist/src/compat-adapters/ember-scroll-modifiers.d.ts +5 -0
- package/dist/src/compat-adapters/ember-scroll-modifiers.d.ts.map +1 -0
- package/dist/src/compat-adapters/ember-scroll-modifiers.js +23 -0
- package/dist/src/compat-adapters/ember-scroll-modifiers.js.map +1 -0
- package/dist/src/compat-adapters/ember-source.d.ts +12 -0
- package/dist/src/compat-adapters/ember-source.d.ts.map +1 -0
- package/dist/src/compat-adapters/ember-source.js +465 -0
- package/dist/src/compat-adapters/ember-source.js.map +1 -0
- package/dist/src/compat-adapters/ember-svg-jar.d.ts +5 -0
- package/dist/src/compat-adapters/ember-svg-jar.d.ts.map +1 -0
- package/dist/src/compat-adapters/ember-svg-jar.js +29 -0
- package/dist/src/compat-adapters/ember-svg-jar.js.map +1 -0
- package/dist/src/compat-adapters/ember-test-selectors.d.ts +6 -0
- package/dist/src/compat-adapters/ember-test-selectors.d.ts.map +1 -0
- package/dist/src/compat-adapters/ember-test-selectors.js +19 -0
- package/dist/src/compat-adapters/ember-test-selectors.js.map +1 -0
- package/dist/src/compat-addons.d.ts +17 -0
- package/dist/src/compat-addons.d.ts.map +1 -0
- package/dist/src/compat-addons.js +48 -0
- package/dist/src/compat-addons.js.map +1 -0
- package/dist/src/compat-app-builder.d.ts +28 -0
- package/dist/src/compat-app-builder.d.ts.map +1 -0
- package/dist/src/compat-app-builder.js +221 -0
- package/dist/src/compat-app-builder.js.map +1 -0
- package/dist/src/compat-app.d.ts +62 -0
- package/dist/src/compat-app.d.ts.map +1 -0
- package/dist/src/compat-app.js +618 -0
- package/dist/src/compat-app.js.map +1 -0
- package/dist/src/compat-utils.d.ts +10 -0
- package/dist/src/compat-utils.d.ts.map +1 -0
- package/dist/src/compat-utils.js +65 -0
- package/dist/src/compat-utils.js.map +1 -0
- package/dist/src/content-for-config.d.ts +12 -0
- package/dist/src/content-for-config.d.ts.map +1 -0
- package/dist/src/content-for-config.js +66 -0
- package/dist/src/content-for-config.js.map +1 -0
- package/dist/src/dasherize-component-name.d.ts +3 -0
- package/dist/src/dasherize-component-name.d.ts.map +1 -0
- package/dist/src/dasherize-component-name.js +28 -0
- package/dist/src/dasherize-component-name.js.map +1 -0
- package/dist/src/default-pipeline.d.ts +10 -0
- package/dist/src/default-pipeline.d.ts.map +1 -0
- package/dist/src/default-pipeline.js +43 -0
- package/dist/src/default-pipeline.js.map +1 -0
- package/dist/src/dependency-rules.d.ts +62 -0
- package/dist/src/dependency-rules.d.ts.map +1 -0
- package/dist/src/dependency-rules.js +89 -0
- package/dist/src/dependency-rules.js.map +1 -0
- package/dist/src/detect-babel-plugins.d.ts +7 -0
- package/dist/src/detect-babel-plugins.d.ts.map +1 -0
- package/dist/src/detect-babel-plugins.js +96 -0
- package/dist/src/detect-babel-plugins.js.map +1 -0
- package/dist/src/detect-compact-reexports.d.ts +3 -0
- package/dist/src/detect-compact-reexports.d.ts.map +1 -0
- package/dist/src/detect-compact-reexports.js +17 -0
- package/dist/src/detect-compact-reexports.js.map +1 -0
- package/dist/src/dummy-package.d.ts +9 -0
- package/dist/src/dummy-package.d.ts.map +1 -0
- package/dist/src/dummy-package.js +44 -0
- package/dist/src/dummy-package.js.map +1 -0
- package/dist/src/empty-package-tree.d.ts +9 -0
- package/dist/src/empty-package-tree.d.ts.map +1 -0
- package/dist/src/empty-package-tree.js +36 -0
- package/dist/src/empty-package-tree.js.map +1 -0
- package/dist/src/get-real-addon.d.ts +7 -0
- package/dist/src/get-real-addon.d.ts.map +1 -0
- package/dist/src/get-real-addon.js +33 -0
- package/dist/src/get-real-addon.js.map +1 -0
- package/dist/src/hbs-to-js-broccoli-plugin.d.ts +9 -0
- package/dist/src/hbs-to-js-broccoli-plugin.d.ts.map +1 -0
- package/dist/src/hbs-to-js-broccoli-plugin.js +39 -0
- package/dist/src/hbs-to-js-broccoli-plugin.js.map +1 -0
- package/dist/src/htmlbars-unwrapper.d.ts +6 -0
- package/dist/src/htmlbars-unwrapper.d.ts.map +1 -0
- package/dist/src/htmlbars-unwrapper.js +8 -0
- package/dist/src/htmlbars-unwrapper.js.map +1 -0
- package/dist/src/http-audit.d.ts +14 -0
- package/dist/src/http-audit.d.ts.map +1 -0
- package/dist/src/http-audit.js +60 -0
- package/dist/src/http-audit.js.map +1 -0
- package/dist/src/index.d.ts +8 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js +18 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/merges.d.ts +3 -0
- package/dist/src/merges.d.ts.map +1 -0
- package/dist/src/merges.js +32 -0
- package/dist/src/merges.js.map +1 -0
- package/dist/src/module-visitor.d.ts +53 -0
- package/dist/src/module-visitor.d.ts.map +1 -0
- package/dist/src/module-visitor.js +285 -0
- package/dist/src/module-visitor.js.map +1 -0
- package/dist/src/modules-compat.d.ts +3 -0
- package/dist/src/modules-compat.d.ts.map +1 -0
- package/dist/src/modules-compat.js +18 -0
- package/dist/src/modules-compat.js.map +1 -0
- package/dist/src/observe-tree.d.ts +8 -0
- package/dist/src/observe-tree.d.ts.map +1 -0
- package/dist/src/observe-tree.js +17 -0
- package/dist/src/observe-tree.js.map +1 -0
- package/dist/src/options.d.ts +17 -0
- package/dist/src/options.d.ts.map +1 -0
- package/dist/src/options.js +57 -0
- package/dist/src/options.js.map +1 -0
- package/dist/src/prepare-htmlbars-ast-plugins.d.ts +3 -0
- package/dist/src/prepare-htmlbars-ast-plugins.d.ts.map +1 -0
- package/dist/src/prepare-htmlbars-ast-plugins.js +39 -0
- package/dist/src/prepare-htmlbars-ast-plugins.js.map +1 -0
- package/dist/src/resolver-transform.d.ts +29 -0
- package/dist/src/resolver-transform.d.ts.map +1 -0
- package/dist/src/resolver-transform.js +1094 -0
- package/dist/src/resolver-transform.js.map +1 -0
- package/dist/src/rewrite-addon-tree.d.ts +9 -0
- package/dist/src/rewrite-addon-tree.d.ts.map +1 -0
- package/dist/src/rewrite-addon-tree.js +46 -0
- package/dist/src/rewrite-addon-tree.js.map +1 -0
- package/dist/src/rewrite-package-json.d.ts +8 -0
- package/dist/src/rewrite-package-json.d.ts.map +1 -0
- package/dist/src/rewrite-package-json.js +23 -0
- package/dist/src/rewrite-package-json.js.map +1 -0
- package/dist/src/smoosh-package-json.d.ts +9 -0
- package/dist/src/smoosh-package-json.d.ts.map +1 -0
- package/dist/src/smoosh-package-json.js +30 -0
- package/dist/src/smoosh-package-json.js.map +1 -0
- package/dist/src/snitch.d.ts +14 -0
- package/dist/src/snitch.d.ts.map +1 -0
- package/dist/src/snitch.js +42 -0
- package/dist/src/snitch.js.map +1 -0
- package/dist/src/standalone-addon-build.d.ts +3 -0
- package/dist/src/standalone-addon-build.d.ts.map +1 -0
- package/dist/src/standalone-addon-build.js +106 -0
- package/dist/src/standalone-addon-build.js.map +1 -0
- package/dist/src/synthesize-template-only-components.d.ts +17 -0
- package/dist/src/synthesize-template-only-components.d.ts.map +1 -0
- package/dist/src/synthesize-template-only-components.js +109 -0
- package/dist/src/synthesize-template-only-components.js.map +1 -0
- package/dist/src/v1-addon.d.ts +71 -0
- package/dist/src/v1-addon.d.ts.map +1 -0
- package/dist/src/v1-addon.js +1025 -0
- package/dist/src/v1-addon.js.map +1 -0
- package/dist/src/v1-config.d.ts +17 -0
- package/dist/src/v1-config.d.ts.map +1 -0
- package/dist/src/v1-config.js +26 -0
- package/dist/src/v1-config.js.map +1 -0
- package/dist/src/v1-instance-cache.d.ts +14 -0
- package/dist/src/v1-instance-cache.d.ts.map +1 -0
- package/dist/src/v1-instance-cache.js +66 -0
- package/dist/src/v1-instance-cache.js.map +1 -0
- package/package.json +6 -6
|
@@ -0,0 +1,465 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
9
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
const v1_addon_1 = __importDefault(require("../v1-addon"));
|
|
13
|
+
const broccoli_funnel_1 = __importDefault(require("broccoli-funnel"));
|
|
14
|
+
const broccoli_merge_trees_1 = __importDefault(require("broccoli-merge-trees"));
|
|
15
|
+
const add_to_tree_1 = __importDefault(require("../add-to-tree"));
|
|
16
|
+
const fs_extra_1 = require("fs-extra");
|
|
17
|
+
const path_1 = require("path");
|
|
18
|
+
const typescript_memoize_1 = require("typescript-memoize");
|
|
19
|
+
const semver_1 = require("semver");
|
|
20
|
+
const core_1 = require("@babel/core");
|
|
21
|
+
const broccoli_plugin_1 = __importDefault(require("broccoli-plugin"));
|
|
22
|
+
const fs_1 = require("fs");
|
|
23
|
+
class default_1 extends v1_addon_1.default {
|
|
24
|
+
get v2Tree() {
|
|
25
|
+
return (0, broccoli_merge_trees_1.default)([super.v2Tree, (0, broccoli_funnel_1.default)(this.rootTree, { include: ['dist/ember-template-compiler.js'] })]);
|
|
26
|
+
}
|
|
27
|
+
// versions of ember-source prior to
|
|
28
|
+
// https://github.com/emberjs/ember.js/pull/20675 ship dist/packages and
|
|
29
|
+
// dist/dependencies separately and the imports between them are package-name
|
|
30
|
+
// imports. Since many of the dependencies are also true package.json
|
|
31
|
+
// dependencies (in order to get typescript types), and our module-resolver
|
|
32
|
+
// prioritizes true dependencies, it's necessary to detect and remove the
|
|
33
|
+
// package.json dependencies.
|
|
34
|
+
//
|
|
35
|
+
// After the above linked change, ember-source ships only dist/packages and
|
|
36
|
+
// the inter-package imports are all relative. Some of the things in
|
|
37
|
+
// dist/packages are still the rolled-in dependencies, but now that the
|
|
38
|
+
// imports are all relative we need no special handling for them (beyond the
|
|
39
|
+
// normal v2 addon renamed-modules support.
|
|
40
|
+
get includedDependencies() {
|
|
41
|
+
let result = [];
|
|
42
|
+
let depsDir = (0, path_1.resolve)(this.root, 'dist', 'dependencies');
|
|
43
|
+
if (!(0, fs_1.existsSync)(depsDir)) {
|
|
44
|
+
return result;
|
|
45
|
+
}
|
|
46
|
+
for (let name of (0, fs_extra_1.readdirSync)(depsDir)) {
|
|
47
|
+
if (name[0] === '@') {
|
|
48
|
+
for (let innerName of (0, fs_extra_1.readdirSync)((0, path_1.resolve)(this.root, 'dist', 'dependencies', name))) {
|
|
49
|
+
if (innerName.endsWith('.js')) {
|
|
50
|
+
result.push(name + '/' + innerName.slice(0, -3));
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
else {
|
|
55
|
+
if (name.endsWith('.js')) {
|
|
56
|
+
result.push(name.slice(0, -3));
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
return result;
|
|
61
|
+
}
|
|
62
|
+
get newPackageJSON() {
|
|
63
|
+
var _a;
|
|
64
|
+
let json = super.newPackageJSON;
|
|
65
|
+
for (let name of this.includedDependencies) {
|
|
66
|
+
// weirdly, many of the inlined dependency are still listed as real
|
|
67
|
+
// dependencies too. If we don't delete them here, they will take
|
|
68
|
+
// precedence over the inlined ones, because the embroider module-resolver
|
|
69
|
+
// tries to prioritize real deps.
|
|
70
|
+
(_a = json.dependencies) === null || _a === void 0 ? true : delete _a[name];
|
|
71
|
+
}
|
|
72
|
+
return json;
|
|
73
|
+
}
|
|
74
|
+
customizes(treeName) {
|
|
75
|
+
// we are adding custom implementations of these
|
|
76
|
+
return treeName === 'treeForAddon' || treeName === 'treeForVendor' || super.customizes(treeName);
|
|
77
|
+
}
|
|
78
|
+
invokeOriginalTreeFor(name) {
|
|
79
|
+
if (name === 'addon') {
|
|
80
|
+
return this.customAddonTree();
|
|
81
|
+
}
|
|
82
|
+
if (name === 'vendor') {
|
|
83
|
+
return this.customVendorTree();
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
// Our addon tree is all of the "packages" we share. @embroider/compat already
|
|
87
|
+
// supports that pattern of emitting modules into other package's namespaces.
|
|
88
|
+
customAddonTree() {
|
|
89
|
+
let packages = (0, broccoli_funnel_1.default)(this.rootTree, {
|
|
90
|
+
srcDir: 'dist/packages',
|
|
91
|
+
});
|
|
92
|
+
let trees = [
|
|
93
|
+
packages,
|
|
94
|
+
(0, broccoli_funnel_1.default)(this.rootTree, {
|
|
95
|
+
srcDir: 'dist/dependencies',
|
|
96
|
+
allowEmpty: true,
|
|
97
|
+
}),
|
|
98
|
+
];
|
|
99
|
+
if ((0, semver_1.satisfies)(this.packageJSON.version, '>= 4.0.0-alpha.0 <4.10.0-alpha.0', { includePrerelease: true })) {
|
|
100
|
+
// import { loc } from '@ember/string' was removed in 4.0. but the
|
|
101
|
+
// top-level `ember` package tries to import it until 4.10. A
|
|
102
|
+
// spec-compliant ES modules implementation will treat this as a parse
|
|
103
|
+
// error.
|
|
104
|
+
trees.push(new ReplaceRequire([new FixStringLoc([packages])]));
|
|
105
|
+
}
|
|
106
|
+
else if ((0, semver_1.satisfies)(this.packageJSON.version, '<5.7.0')) {
|
|
107
|
+
trees.push(new ReplaceRequire([packages]));
|
|
108
|
+
}
|
|
109
|
+
if ((0, semver_1.satisfies)(this.packageJSON.version, '<5.12.0')) {
|
|
110
|
+
trees.push(new FixDeprecateFunction([packages]));
|
|
111
|
+
}
|
|
112
|
+
if ((0, semver_1.satisfies)(this.packageJSON.version, '<5.11.1')) {
|
|
113
|
+
trees.push(new FixCycleImports([packages]));
|
|
114
|
+
}
|
|
115
|
+
return (0, broccoli_merge_trees_1.default)(trees, { overwrite: true });
|
|
116
|
+
}
|
|
117
|
+
// We're zeroing out these files in vendor rather than deleting them, because
|
|
118
|
+
// we can't easily intercept the `app.import` that presumably exists for them,
|
|
119
|
+
// so rather than error they will just be empty.
|
|
120
|
+
//
|
|
121
|
+
// The reason we're zeroing these out is that we're going to consume all our
|
|
122
|
+
// modules directly out of treeForAddon instead, as real modules that webpack
|
|
123
|
+
// can see.
|
|
124
|
+
customVendorTree() {
|
|
125
|
+
return new add_to_tree_1.default(this.addonInstance._treeFor('vendor'), outputPath => {
|
|
126
|
+
(0, fs_extra_1.unlinkSync)((0, path_1.join)(outputPath, 'ember', 'ember.js'));
|
|
127
|
+
(0, fs_extra_1.outputFileSync)((0, path_1.join)(outputPath, 'ember', 'ember.js'), '');
|
|
128
|
+
(0, fs_extra_1.unlinkSync)((0, path_1.join)(outputPath, 'ember', 'ember-testing.js'));
|
|
129
|
+
(0, fs_extra_1.outputFileSync)((0, path_1.join)(outputPath, 'ember', 'ember-testing.js'), '');
|
|
130
|
+
});
|
|
131
|
+
}
|
|
132
|
+
get packageMeta() {
|
|
133
|
+
let meta = super.packageMeta;
|
|
134
|
+
if (!meta['implicit-modules']) {
|
|
135
|
+
meta['implicit-modules'] = [];
|
|
136
|
+
}
|
|
137
|
+
meta['implicit-modules'].push('./ember/index.js');
|
|
138
|
+
// before 5.6, Ember uses the AMD loader to decide if it's test-only parts
|
|
139
|
+
// are present, so we must ensure they're registered. After that it's
|
|
140
|
+
// enough to evaluate ember-testing, which @embroider/core is hard-coded
|
|
141
|
+
// to do in the backward-compatible tests bundle.
|
|
142
|
+
if (!(0, semver_1.satisfies)(this.packageJSON.version, '>= 5.6.0-alpha.0', { includePrerelease: true })) {
|
|
143
|
+
if (!meta['implicit-test-modules']) {
|
|
144
|
+
meta['implicit-test-modules'] = [];
|
|
145
|
+
}
|
|
146
|
+
meta['implicit-test-modules'].push('./ember-testing/index.js');
|
|
147
|
+
}
|
|
148
|
+
return meta;
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
exports.default = default_1;
|
|
152
|
+
__decorate([
|
|
153
|
+
(0, typescript_memoize_1.Memoize)()
|
|
154
|
+
], default_1.prototype, "includedDependencies", null);
|
|
155
|
+
class FixStringLoc extends broccoli_plugin_1.default {
|
|
156
|
+
build() {
|
|
157
|
+
let inSource = (0, fs_extra_1.readFileSync)((0, path_1.resolve)(this.inputPaths[0], 'ember', 'index.js'), 'utf8');
|
|
158
|
+
let outSource = (0, core_1.transform)(inSource, {
|
|
159
|
+
plugins: [fixStringLoc],
|
|
160
|
+
configFile: false,
|
|
161
|
+
}).code;
|
|
162
|
+
(0, fs_extra_1.outputFileSync)((0, path_1.resolve)(this.outputPath, 'ember', 'index.js'), outSource, 'utf8');
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
class ReplaceRequire extends broccoli_plugin_1.default {
|
|
166
|
+
build() {
|
|
167
|
+
updateFileWithTransform(this, 'ember/index.js', function (babel) {
|
|
168
|
+
const { types: t } = babel;
|
|
169
|
+
function createLoader() {
|
|
170
|
+
return t.objectExpression([
|
|
171
|
+
t.objectMethod('get', t.identifier('require'), [], t.blockStatement([
|
|
172
|
+
t.returnStatement(t.memberExpression(t.identifier('globalThis'), t.identifier('require'))),
|
|
173
|
+
])),
|
|
174
|
+
t.objectMethod('get', t.identifier('define'), [], t.blockStatement([
|
|
175
|
+
t.returnStatement(t.memberExpression(t.identifier('globalThis'), t.identifier('define'))),
|
|
176
|
+
])),
|
|
177
|
+
t.objectMethod('get', t.identifier('registry'), [], t.blockStatement([
|
|
178
|
+
t.returnStatement(t.logicalExpression('??', t.optionalMemberExpression(t.memberExpression(t.identifier('globalThis'), t.identifier('requirejs')), t.identifier('entries'), false, true), t.optionalMemberExpression(t.memberExpression(t.identifier('globalThis'), t.identifier('require')), t.identifier('entries'), false, true))),
|
|
179
|
+
])),
|
|
180
|
+
]);
|
|
181
|
+
}
|
|
182
|
+
return {
|
|
183
|
+
visitor: {
|
|
184
|
+
CallExpression(path) {
|
|
185
|
+
if (path.node.callee.type === 'Identifier' &&
|
|
186
|
+
(path.node.callee.name === 'has' || path.node.callee.name === 'require') &&
|
|
187
|
+
path.node.arguments[0].type === 'StringLiteral' &&
|
|
188
|
+
path.node.arguments[0].value === 'ember-testing') {
|
|
189
|
+
path.replaceWith(t.identifier('EmberTestingImpl'));
|
|
190
|
+
}
|
|
191
|
+
},
|
|
192
|
+
ImportDeclaration(path) {
|
|
193
|
+
if (path.node.source.value === 'require') {
|
|
194
|
+
path.replaceWith(t.importDeclaration([t.importSpecifier(t.identifier('EmberTestingImpl'), t.identifier('_impl'))], t.stringLiteral('@ember/test')));
|
|
195
|
+
}
|
|
196
|
+
},
|
|
197
|
+
VariableDeclaration(path) {
|
|
198
|
+
if (path.node.declarations[0].id.type === 'Identifier' &&
|
|
199
|
+
path.node.declarations[0].id.name === 'PartialEmber' &&
|
|
200
|
+
path.node.declarations[0].init.type === 'ObjectExpression') {
|
|
201
|
+
const declaration = path.node.declarations[0];
|
|
202
|
+
const loader = declaration.init.properties.find(p => (p.type === 'ObjectProperty' && p.key.type === 'Identifier' && p.key.name) === '__loader');
|
|
203
|
+
loader.value = createLoader();
|
|
204
|
+
}
|
|
205
|
+
},
|
|
206
|
+
AssignmentExpression(path) {
|
|
207
|
+
if (path.node.left.type === 'MemberExpression' &&
|
|
208
|
+
path.node.left.object.type === 'Identifier' &&
|
|
209
|
+
path.node.left.object.name === 'Ember' &&
|
|
210
|
+
path.node.left.property.type === 'Identifier' &&
|
|
211
|
+
path.node.left.property.name === '__loader') {
|
|
212
|
+
path.node.right = createLoader();
|
|
213
|
+
}
|
|
214
|
+
},
|
|
215
|
+
},
|
|
216
|
+
};
|
|
217
|
+
});
|
|
218
|
+
replaceFile(this, '@ember/test/adapter.js', `import { Adapter } from 'ember-testing';
|
|
219
|
+
export default Adapter;`);
|
|
220
|
+
replaceFile(this, '@ember/test/index.js', `export let registerAsyncHelper;
|
|
221
|
+
export let registerHelper;
|
|
222
|
+
export let registerWaiter;
|
|
223
|
+
export let unregisterHelper;
|
|
224
|
+
export let unregisterWaiter;
|
|
225
|
+
export let _impl;
|
|
226
|
+
|
|
227
|
+
let testingNotAvailableMessage = () => {
|
|
228
|
+
throw new Error('Attempted to use test utilities, but \`ember-testing\` was not included');
|
|
229
|
+
};
|
|
230
|
+
|
|
231
|
+
registerAsyncHelper = testingNotAvailableMessage;
|
|
232
|
+
registerHelper = testingNotAvailableMessage;
|
|
233
|
+
registerWaiter = testingNotAvailableMessage;
|
|
234
|
+
unregisterHelper = testingNotAvailableMessage;
|
|
235
|
+
unregisterWaiter = testingNotAvailableMessage;
|
|
236
|
+
|
|
237
|
+
export function registerTestImplementaiton(impl) {
|
|
238
|
+
let { Test } = impl;
|
|
239
|
+
registerAsyncHelper = Test.registerAsyncHelper;
|
|
240
|
+
registerHelper = Test.registerHelper;
|
|
241
|
+
registerWaiter = Test.registerWaiter;
|
|
242
|
+
unregisterHelper = Test.unregisterHelper;
|
|
243
|
+
unregisterWaiter = Test.unregisterWaiter;
|
|
244
|
+
_impl = impl;
|
|
245
|
+
}`);
|
|
246
|
+
replaceFile(this, 'ember-testing/index.js', `export * from './lib/public-api';
|
|
247
|
+
import * as EmberTesting from './lib/public-api';
|
|
248
|
+
import { registerTestImplementaiton } from '@ember/test';
|
|
249
|
+
|
|
250
|
+
|
|
251
|
+
registerTestImplementaiton(EmberTesting);`);
|
|
252
|
+
replaceFile(this, 'ember-testing/lib/public-api.js', `
|
|
253
|
+
export { default as Test } from './test';
|
|
254
|
+
export { default as Adapter } from './adapters/adapter';
|
|
255
|
+
export { default as setupForTesting } from './setup_for_testing';
|
|
256
|
+
export { default as QUnitAdapter } from './adapters/qunit';
|
|
257
|
+
|
|
258
|
+
import './ext/application';
|
|
259
|
+
import './ext/rsvp'; // setup RSVP + run loop integration
|
|
260
|
+
import './helpers'; // adds helpers to helpers object in Test
|
|
261
|
+
import './initializers'; // to setup initializer`);
|
|
262
|
+
}
|
|
263
|
+
}
|
|
264
|
+
class FixDeprecateFunction extends broccoli_plugin_1.default {
|
|
265
|
+
build() {
|
|
266
|
+
let inSource = (0, fs_extra_1.readFileSync)((0, path_1.resolve)(this.inputPaths[0], '@ember', 'debug', 'index.js'), 'utf8');
|
|
267
|
+
let outSource = (0, core_1.transform)(inSource, {
|
|
268
|
+
plugins: [fixDeprecate],
|
|
269
|
+
configFile: false,
|
|
270
|
+
}).code;
|
|
271
|
+
(0, fs_extra_1.outputFileSync)((0, path_1.resolve)(this.outputPath, '@ember', 'debug', 'index.js'), outSource, 'utf8');
|
|
272
|
+
}
|
|
273
|
+
}
|
|
274
|
+
function fixDeprecate(babel) {
|
|
275
|
+
const { types: t } = babel;
|
|
276
|
+
return {
|
|
277
|
+
name: 'ast-transform', // not required
|
|
278
|
+
visitor: {
|
|
279
|
+
Program(path) {
|
|
280
|
+
path.node.body.unshift(t.functionDeclaration(t.identifier('newDeprecate'), [t.restElement(t.identifier('rest'))], t.blockStatement([
|
|
281
|
+
t.returnStatement(t.callExpression(t.logicalExpression('??', t.identifier('currentDeprecate'), t.identifier('_deprecate')), [t.spreadElement(t.identifier('rest'))])),
|
|
282
|
+
])));
|
|
283
|
+
},
|
|
284
|
+
AssignmentExpression(path) {
|
|
285
|
+
if (path.node.left.type === 'Identifier' && path.node.left.name === 'deprecate') {
|
|
286
|
+
path.node.left.name = 'currentDeprecate';
|
|
287
|
+
}
|
|
288
|
+
},
|
|
289
|
+
ReturnStatement(path) {
|
|
290
|
+
var _a;
|
|
291
|
+
if (((_a = path.node.argument) === null || _a === void 0 ? void 0 : _a.type) === 'Identifier' && path.node.argument.name === 'deprecate') {
|
|
292
|
+
path.node.argument.name = 'newDeprecate';
|
|
293
|
+
}
|
|
294
|
+
},
|
|
295
|
+
CallExpression(path) {
|
|
296
|
+
if (path.node.callee.type === 'Identifier' && path.node.callee.name === 'deprecate') {
|
|
297
|
+
path.node.callee.name = 'newDeprecate';
|
|
298
|
+
}
|
|
299
|
+
if (path.node.callee.type === 'Identifier' &&
|
|
300
|
+
path.node.callee.name === 'setDebugFunction' &&
|
|
301
|
+
path.node.arguments[0].type === 'StringLiteral' &&
|
|
302
|
+
path.node.arguments[0].value === 'deprecate') {
|
|
303
|
+
path.remove();
|
|
304
|
+
}
|
|
305
|
+
},
|
|
306
|
+
ExportSpecifier(path) {
|
|
307
|
+
if (path.node.local.name === 'deprecate') {
|
|
308
|
+
path.node.local = t.identifier('newDeprecate');
|
|
309
|
+
}
|
|
310
|
+
},
|
|
311
|
+
VariableDeclarator(path) {
|
|
312
|
+
if (path.node.id.type === 'Identifier' && path.node.id.name === 'deprecate') {
|
|
313
|
+
path.node.id.name = 'currentDeprecate';
|
|
314
|
+
path.node.init = null; // leave undefined for newDeprecate's (currentDeprecate ?? _deprecated) expression
|
|
315
|
+
}
|
|
316
|
+
},
|
|
317
|
+
},
|
|
318
|
+
};
|
|
319
|
+
}
|
|
320
|
+
function updateFileWithTransform(context, file, transformFunction) {
|
|
321
|
+
// only update the file if it exists - this helps the codemods to work across many different versions
|
|
322
|
+
if (!(0, fs_1.existsSync)((0, path_1.resolve)(context.inputPaths[0], file))) {
|
|
323
|
+
return;
|
|
324
|
+
}
|
|
325
|
+
let inSource = (0, fs_extra_1.readFileSync)((0, path_1.resolve)(context.inputPaths[0], file), 'utf8');
|
|
326
|
+
let plugins = Array.isArray(transformFunction) ? transformFunction : [transformFunction];
|
|
327
|
+
let outSource = (0, core_1.transform)(inSource, {
|
|
328
|
+
plugins,
|
|
329
|
+
configFile: false,
|
|
330
|
+
}).code;
|
|
331
|
+
(0, fs_extra_1.outputFileSync)((0, path_1.resolve)(context.outputPath, file), outSource, 'utf8');
|
|
332
|
+
}
|
|
333
|
+
function replaceFile(context, file, content) {
|
|
334
|
+
(0, fs_extra_1.outputFileSync)((0, path_1.resolve)(context.outputPath, file), content, 'utf8');
|
|
335
|
+
}
|
|
336
|
+
class FixCycleImports extends broccoli_plugin_1.default {
|
|
337
|
+
build() {
|
|
338
|
+
for (let file of ['@ember/object/observable.js', '@ember/utils/lib/is_empty.js']) {
|
|
339
|
+
updateFileWithTransform(this, file, moveObjectSpecifiersToMetal);
|
|
340
|
+
}
|
|
341
|
+
updateFileWithTransform(this, '@ember/array/index.js', [
|
|
342
|
+
moveObjectSpecifiersToMetal,
|
|
343
|
+
function (babel) {
|
|
344
|
+
const { types: t } = babel;
|
|
345
|
+
return {
|
|
346
|
+
visitor: {
|
|
347
|
+
ExportNamedDeclaration(path) {
|
|
348
|
+
var _a;
|
|
349
|
+
if (((_a = path.node.source) === null || _a === void 0 ? void 0 : _a.value) === './lib/make-array') {
|
|
350
|
+
path.node.source = t.stringLiteral('./make');
|
|
351
|
+
}
|
|
352
|
+
},
|
|
353
|
+
},
|
|
354
|
+
};
|
|
355
|
+
},
|
|
356
|
+
]);
|
|
357
|
+
updateFileWithTransform(this, '@ember/runloop/index.js', function (babel) {
|
|
358
|
+
const { types: t } = babel;
|
|
359
|
+
return {
|
|
360
|
+
visitor: {
|
|
361
|
+
CallExpression(path) {
|
|
362
|
+
if (path.node.callee.type === 'Identifier' && path.node.callee.name === 'flushAsyncObservers') {
|
|
363
|
+
path.node.arguments = [t.identifier('schedule')];
|
|
364
|
+
}
|
|
365
|
+
},
|
|
366
|
+
},
|
|
367
|
+
};
|
|
368
|
+
});
|
|
369
|
+
updateFileWithTransform(this, '@ember/object/core.js', function (babel) {
|
|
370
|
+
const { types: t } = babel;
|
|
371
|
+
return {
|
|
372
|
+
visitor: {
|
|
373
|
+
ImportDeclaration(path) {
|
|
374
|
+
if (path.node.source.value === '@ember/array') {
|
|
375
|
+
path.node.source = t.stringLiteral('@ember/array/make');
|
|
376
|
+
path.node.specifiers = [t.importDefaultSpecifier(t.identifier('makeArray'))];
|
|
377
|
+
}
|
|
378
|
+
if (path.node.source.value === '@ember/-internals/runtime') {
|
|
379
|
+
path.replaceWith(t.importDeclaration([t.importSpecifier(t.identifier('ActionHandler'), t.identifier('default'))], t.stringLiteral('@ember/-internals/runtime/lib/mixins/action_handler')));
|
|
380
|
+
}
|
|
381
|
+
},
|
|
382
|
+
},
|
|
383
|
+
};
|
|
384
|
+
});
|
|
385
|
+
(0, fs_extra_1.outputFileSync)((0, path_1.resolve)(this.outputPath, '@ember/array/make.js'), `export { default } from './lib/make-array';`, 'utf8');
|
|
386
|
+
updateFileWithTransform(this, '@ember/-internals/metal/index.js', function (babel) {
|
|
387
|
+
const { types: t } = babel;
|
|
388
|
+
return {
|
|
389
|
+
visitor: {
|
|
390
|
+
FunctionDeclaration(path) {
|
|
391
|
+
var _a;
|
|
392
|
+
if (((_a = path.node.id) === null || _a === void 0 ? void 0 : _a.name) === 'flushAsyncObservers') {
|
|
393
|
+
path.node.params = [t.identifier('_schedule')];
|
|
394
|
+
}
|
|
395
|
+
},
|
|
396
|
+
IfStatement(path) {
|
|
397
|
+
if (path.node.test.type === 'Identifier' && path.node.test.name === 'shouldSchedule') {
|
|
398
|
+
path.node.test.name = '_schedule';
|
|
399
|
+
}
|
|
400
|
+
},
|
|
401
|
+
CallExpression(path) {
|
|
402
|
+
if (path.node.callee.type === 'Identifier' && path.node.callee.name === 'schedule') {
|
|
403
|
+
path.node.callee.name = '_schedule';
|
|
404
|
+
}
|
|
405
|
+
},
|
|
406
|
+
ImportDeclaration(path) {
|
|
407
|
+
if (path.node.source.value === '@ember/runloop') {
|
|
408
|
+
path.remove();
|
|
409
|
+
}
|
|
410
|
+
},
|
|
411
|
+
},
|
|
412
|
+
};
|
|
413
|
+
});
|
|
414
|
+
}
|
|
415
|
+
}
|
|
416
|
+
function moveObjectSpecifiersToMetal() {
|
|
417
|
+
let done = false;
|
|
418
|
+
return {
|
|
419
|
+
visitor: {
|
|
420
|
+
ImportDeclaration(path) {
|
|
421
|
+
if (path.node.source.value === '@ember/-internals/metal') {
|
|
422
|
+
if (done) {
|
|
423
|
+
return;
|
|
424
|
+
}
|
|
425
|
+
/**
|
|
426
|
+
* I need to use getAllPRevSiblings and getAllNextSiblings here because I need the siblings
|
|
427
|
+
* to be paths and path.container only holds nodes (for some strange reason).
|
|
428
|
+
*/
|
|
429
|
+
const searchObjects = Array.from(path.getAllPrevSiblings()).concat(Array.from(path.getAllNextSiblings()));
|
|
430
|
+
const objectimport = searchObjects.find(p => p.node.type === 'ImportDeclaration' && p.node.source.value === '@ember/object');
|
|
431
|
+
path.node.specifiers.push(...objectimport.node.specifiers);
|
|
432
|
+
objectimport.remove();
|
|
433
|
+
done = true;
|
|
434
|
+
}
|
|
435
|
+
},
|
|
436
|
+
},
|
|
437
|
+
};
|
|
438
|
+
}
|
|
439
|
+
function fixStringLoc(babel) {
|
|
440
|
+
let t = babel.types;
|
|
441
|
+
return {
|
|
442
|
+
visitor: {
|
|
443
|
+
Program(path) {
|
|
444
|
+
path.node.body.unshift(t.variableDeclaration('const', [t.variableDeclarator(t.identifier('loc'), t.identifier('undefined'))]));
|
|
445
|
+
},
|
|
446
|
+
ImportDeclaration: {
|
|
447
|
+
enter(path, state) {
|
|
448
|
+
if (path.node.source.value === '@ember/string') {
|
|
449
|
+
state.inEmberString = true;
|
|
450
|
+
}
|
|
451
|
+
},
|
|
452
|
+
exit(_path, state) {
|
|
453
|
+
state.inEmberString = false;
|
|
454
|
+
},
|
|
455
|
+
},
|
|
456
|
+
ImportSpecifier(path, state) {
|
|
457
|
+
let name = 'value' in path.node.imported ? path.node.imported.value : path.node.imported.name;
|
|
458
|
+
if (state.inEmberString && name === 'loc') {
|
|
459
|
+
path.remove();
|
|
460
|
+
}
|
|
461
|
+
},
|
|
462
|
+
},
|
|
463
|
+
};
|
|
464
|
+
}
|
|
465
|
+
//# sourceMappingURL=ember-source.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ember-source.js","sourceRoot":"","sources":["../../../src/compat-adapters/ember-source.ts"],"names":[],"mappings":"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","sourcesContent":["import V1Addon from '../v1-addon';\nimport buildFunnel from 'broccoli-funnel';\nimport mergeTrees from 'broccoli-merge-trees';\nimport AddToTree from '../add-to-tree';\nimport { outputFileSync, readFileSync, readdirSync, unlinkSync } from 'fs-extra';\nimport { join, resolve } from 'path';\nimport { Memoize } from 'typescript-memoize';\nimport { satisfies } from 'semver';\nimport { transform } from '@babel/core';\nimport type * as Babel from '@babel/core';\nimport type { NodePath } from '@babel/traverse';\nimport Plugin from 'broccoli-plugin';\nimport type { Node } from 'broccoli-node-api';\nimport { existsSync } from 'fs';\n\nexport default class extends V1Addon {\n get v2Tree() {\n return mergeTrees([super.v2Tree, buildFunnel(this.rootTree, { include: ['dist/ember-template-compiler.js'] })]);\n }\n\n // versions of ember-source prior to\n // https://github.com/emberjs/ember.js/pull/20675 ship dist/packages and\n // dist/dependencies separately and the imports between them are package-name\n // imports. Since many of the dependencies are also true package.json\n // dependencies (in order to get typescript types), and our module-resolver\n // prioritizes true dependencies, it's necessary to detect and remove the\n // package.json dependencies.\n //\n // After the above linked change, ember-source ships only dist/packages and\n // the inter-package imports are all relative. Some of the things in\n // dist/packages are still the rolled-in dependencies, but now that the\n // imports are all relative we need no special handling for them (beyond the\n // normal v2 addon renamed-modules support.\n @Memoize()\n private get includedDependencies() {\n let result: string[] = [];\n let depsDir = resolve(this.root, 'dist', 'dependencies');\n if (!existsSync(depsDir)) {\n return result;\n }\n for (let name of readdirSync(depsDir)) {\n if (name[0] === '@') {\n for (let innerName of readdirSync(resolve(this.root, 'dist', 'dependencies', name))) {\n if (innerName.endsWith('.js')) {\n result.push(name + '/' + innerName.slice(0, -3));\n }\n }\n } else {\n if (name.endsWith('.js')) {\n result.push(name.slice(0, -3));\n }\n }\n }\n return result;\n }\n\n get newPackageJSON() {\n let json = super.newPackageJSON;\n\n for (let name of this.includedDependencies) {\n // weirdly, many of the inlined dependency are still listed as real\n // dependencies too. If we don't delete them here, they will take\n // precedence over the inlined ones, because the embroider module-resolver\n // tries to prioritize real deps.\n delete json.dependencies?.[name];\n }\n\n return json;\n }\n\n customizes(treeName: string) {\n // we are adding custom implementations of these\n return treeName === 'treeForAddon' || treeName === 'treeForVendor' || super.customizes(treeName);\n }\n\n invokeOriginalTreeFor(name: string) {\n if (name === 'addon') {\n return this.customAddonTree();\n }\n if (name === 'vendor') {\n return this.customVendorTree();\n }\n }\n\n // Our addon tree is all of the \"packages\" we share. @embroider/compat already\n // supports that pattern of emitting modules into other package's namespaces.\n private customAddonTree() {\n let packages = buildFunnel(this.rootTree, {\n srcDir: 'dist/packages',\n });\n\n let trees: Node[] = [\n packages,\n buildFunnel(this.rootTree, {\n srcDir: 'dist/dependencies',\n allowEmpty: true,\n }),\n ];\n\n if (satisfies(this.packageJSON.version, '>= 4.0.0-alpha.0 <4.10.0-alpha.0', { includePrerelease: true })) {\n // import { loc } from '@ember/string' was removed in 4.0. but the\n // top-level `ember` package tries to import it until 4.10. A\n // spec-compliant ES modules implementation will treat this as a parse\n // error.\n trees.push(new ReplaceRequire([new FixStringLoc([packages])]));\n } else if (satisfies(this.packageJSON.version, '<5.7.0')) {\n trees.push(new ReplaceRequire([packages]));\n }\n\n if (satisfies(this.packageJSON.version, '<5.12.0')) {\n trees.push(new FixDeprecateFunction([packages]));\n }\n\n if (satisfies(this.packageJSON.version, '<5.11.1')) {\n trees.push(new FixCycleImports([packages]));\n }\n\n return mergeTrees(trees, { overwrite: true });\n }\n\n // We're zeroing out these files in vendor rather than deleting them, because\n // we can't easily intercept the `app.import` that presumably exists for them,\n // so rather than error they will just be empty.\n //\n // The reason we're zeroing these out is that we're going to consume all our\n // modules directly out of treeForAddon instead, as real modules that webpack\n // can see.\n private customVendorTree() {\n return new AddToTree(this.addonInstance._treeFor('vendor'), outputPath => {\n unlinkSync(join(outputPath, 'ember', 'ember.js'));\n outputFileSync(join(outputPath, 'ember', 'ember.js'), '');\n unlinkSync(join(outputPath, 'ember', 'ember-testing.js'));\n outputFileSync(join(outputPath, 'ember', 'ember-testing.js'), '');\n });\n }\n\n get packageMeta() {\n let meta = super.packageMeta;\n\n if (!meta['implicit-modules']) {\n meta['implicit-modules'] = [];\n }\n meta['implicit-modules'].push('./ember/index.js');\n // before 5.6, Ember uses the AMD loader to decide if it's test-only parts\n // are present, so we must ensure they're registered. After that it's\n // enough to evaluate ember-testing, which @embroider/core is hard-coded\n // to do in the backward-compatible tests bundle.\n if (!satisfies(this.packageJSON.version, '>= 5.6.0-alpha.0', { includePrerelease: true })) {\n if (!meta['implicit-test-modules']) {\n meta['implicit-test-modules'] = [];\n }\n meta['implicit-test-modules'].push('./ember-testing/index.js');\n }\n\n return meta;\n }\n}\n\nclass FixStringLoc extends Plugin {\n build() {\n let inSource = readFileSync(resolve(this.inputPaths[0], 'ember', 'index.js'), 'utf8');\n let outSource = transform(inSource, {\n plugins: [fixStringLoc],\n configFile: false,\n })!.code!;\n outputFileSync(resolve(this.outputPath, 'ember', 'index.js'), outSource, 'utf8');\n }\n}\n\nclass ReplaceRequire extends Plugin {\n build() {\n updateFileWithTransform(this, 'ember/index.js', function (babel: typeof Babel) {\n const { types: t } = babel;\n\n function createLoader() {\n return t.objectExpression([\n t.objectMethod(\n 'get',\n t.identifier('require'),\n [],\n t.blockStatement([\n t.returnStatement(t.memberExpression(t.identifier('globalThis'), t.identifier('require'))),\n ])\n ),\n t.objectMethod(\n 'get',\n t.identifier('define'),\n [],\n t.blockStatement([\n t.returnStatement(t.memberExpression(t.identifier('globalThis'), t.identifier('define'))),\n ])\n ),\n t.objectMethod(\n 'get',\n t.identifier('registry'),\n [],\n\n t.blockStatement([\n t.returnStatement(\n t.logicalExpression(\n '??',\n t.optionalMemberExpression(\n t.memberExpression(t.identifier('globalThis'), t.identifier('requirejs')),\n t.identifier('entries'),\n false,\n true\n ),\n t.optionalMemberExpression(\n t.memberExpression(t.identifier('globalThis'), t.identifier('require')),\n t.identifier('entries'),\n false,\n true\n )\n )\n ),\n ])\n ),\n ]);\n }\n\n return {\n visitor: {\n CallExpression(path: NodePath<Babel.types.CallExpression>) {\n if (\n path.node.callee.type === 'Identifier' &&\n (path.node.callee.name === 'has' || path.node.callee.name === 'require') &&\n path.node.arguments[0].type === 'StringLiteral' &&\n path.node.arguments[0].value === 'ember-testing'\n ) {\n path.replaceWith(t.identifier('EmberTestingImpl'));\n }\n },\n ImportDeclaration(path: NodePath<Babel.types.ImportDeclaration>) {\n if (path.node.source.value === 'require') {\n path.replaceWith(\n t.importDeclaration(\n [t.importSpecifier(t.identifier('EmberTestingImpl'), t.identifier('_impl'))],\n t.stringLiteral('@ember/test')\n )\n );\n }\n },\n VariableDeclaration(path: NodePath<Babel.types.VariableDeclaration>) {\n if (\n path.node.declarations[0].id.type === 'Identifier' &&\n path.node.declarations[0].id.name === 'PartialEmber' &&\n path.node.declarations[0].init!.type === 'ObjectExpression'\n ) {\n const declaration = path.node.declarations[0];\n const loader = (declaration.init! as Babel.types.ObjectExpression).properties.find(\n p => (p.type === 'ObjectProperty' && p.key.type === 'Identifier' && p.key.name) === '__loader'\n );\n (loader as Babel.types.ObjectProperty).value = createLoader();\n }\n },\n AssignmentExpression(path: NodePath<Babel.types.AssignmentExpression>) {\n if (\n path.node.left.type === 'MemberExpression' &&\n path.node.left.object.type === 'Identifier' &&\n path.node.left.object.name === 'Ember' &&\n path.node.left.property.type === 'Identifier' &&\n path.node.left.property.name === '__loader'\n ) {\n path.node.right = createLoader();\n }\n },\n },\n };\n });\n\n replaceFile(\n this,\n '@ember/test/adapter.js',\n `import { Adapter } from 'ember-testing';\n export default Adapter;`\n );\n\n replaceFile(\n this,\n '@ember/test/index.js',\n `export let registerAsyncHelper;\nexport let registerHelper;\nexport let registerWaiter;\nexport let unregisterHelper;\nexport let unregisterWaiter;\nexport let _impl;\n\nlet testingNotAvailableMessage = () => {\n throw new Error('Attempted to use test utilities, but \\`ember-testing\\` was not included');\n};\n\nregisterAsyncHelper = testingNotAvailableMessage;\nregisterHelper = testingNotAvailableMessage;\nregisterWaiter = testingNotAvailableMessage;\nunregisterHelper = testingNotAvailableMessage;\nunregisterWaiter = testingNotAvailableMessage;\n\nexport function registerTestImplementaiton(impl) {\n let { Test } = impl;\n registerAsyncHelper = Test.registerAsyncHelper;\n registerHelper = Test.registerHelper;\n registerWaiter = Test.registerWaiter;\n unregisterHelper = Test.unregisterHelper;\n unregisterWaiter = Test.unregisterWaiter;\n _impl = impl;\n}`\n );\n\n replaceFile(\n this,\n 'ember-testing/index.js',\n `export * from './lib/public-api';\nimport * as EmberTesting from './lib/public-api';\nimport { registerTestImplementaiton } from '@ember/test';\n\n\nregisterTestImplementaiton(EmberTesting);`\n );\n\n replaceFile(\n this,\n 'ember-testing/lib/public-api.js',\n `\nexport { default as Test } from './test';\nexport { default as Adapter } from './adapters/adapter';\nexport { default as setupForTesting } from './setup_for_testing';\nexport { default as QUnitAdapter } from './adapters/qunit';\n\nimport './ext/application';\nimport './ext/rsvp'; // setup RSVP + run loop integration\nimport './helpers'; // adds helpers to helpers object in Test\nimport './initializers'; // to setup initializer`\n );\n }\n}\n\nclass FixDeprecateFunction extends Plugin {\n build() {\n let inSource = readFileSync(resolve(this.inputPaths[0], '@ember', 'debug', 'index.js'), 'utf8');\n let outSource = transform(inSource, {\n plugins: [fixDeprecate],\n configFile: false,\n })!.code!;\n outputFileSync(resolve(this.outputPath, '@ember', 'debug', 'index.js'), outSource, 'utf8');\n }\n}\n\nfunction fixDeprecate(babel: typeof Babel) {\n const { types: t } = babel;\n\n return {\n name: 'ast-transform', // not required\n visitor: {\n Program(path: NodePath<Babel.types.Program>) {\n path.node.body.unshift(\n t.functionDeclaration(\n t.identifier('newDeprecate'),\n [t.restElement(t.identifier('rest'))],\n t.blockStatement([\n t.returnStatement(\n t.callExpression(\n t.logicalExpression('??', t.identifier('currentDeprecate'), t.identifier('_deprecate')),\n [t.spreadElement(t.identifier('rest'))]\n )\n ),\n ])\n )\n );\n },\n AssignmentExpression(path: NodePath<Babel.types.AssignmentExpression>) {\n if (path.node.left.type === 'Identifier' && path.node.left.name === 'deprecate') {\n path.node.left.name = 'currentDeprecate';\n }\n },\n\n ReturnStatement(path: NodePath<Babel.types.ReturnStatement>) {\n if (path.node.argument?.type === 'Identifier' && path.node.argument.name === 'deprecate') {\n path.node.argument.name = 'newDeprecate';\n }\n },\n\n CallExpression(path: NodePath<Babel.types.CallExpression>) {\n if (path.node.callee.type === 'Identifier' && path.node.callee.name === 'deprecate') {\n path.node.callee.name = 'newDeprecate';\n }\n if (\n path.node.callee.type === 'Identifier' &&\n path.node.callee.name === 'setDebugFunction' &&\n path.node.arguments[0].type === 'StringLiteral' &&\n path.node.arguments[0].value === 'deprecate'\n ) {\n path.remove();\n }\n },\n ExportSpecifier(path: NodePath<Babel.types.ExportSpecifier>) {\n if (path.node.local.name === 'deprecate') {\n path.node.local = t.identifier('newDeprecate');\n }\n },\n VariableDeclarator(path: NodePath<Babel.types.VariableDeclarator>) {\n if (path.node.id.type === 'Identifier' && path.node.id.name === 'deprecate') {\n path.node.id.name = 'currentDeprecate';\n path.node.init = null; // leave undefined for newDeprecate's (currentDeprecate ?? _deprecated) expression\n }\n },\n },\n };\n}\n\nfunction updateFileWithTransform(\n context: Plugin,\n file: string,\n transformFunction: Babel.PluginItem | Babel.PluginItem[]\n) {\n // only update the file if it exists - this helps the codemods to work across many different versions\n if (!existsSync(resolve(context.inputPaths[0], file))) {\n return;\n }\n let inSource = readFileSync(resolve(context.inputPaths[0], file), 'utf8');\n\n let plugins = Array.isArray(transformFunction) ? transformFunction : [transformFunction];\n let outSource = transform(inSource, {\n plugins,\n configFile: false,\n })!.code!;\n outputFileSync(resolve(context.outputPath, file), outSource, 'utf8');\n}\n\nfunction replaceFile(context: Plugin, file: string, content: string) {\n outputFileSync(resolve(context.outputPath, file), content, 'utf8');\n}\n\nclass FixCycleImports extends Plugin {\n build() {\n for (let file of ['@ember/object/observable.js', '@ember/utils/lib/is_empty.js']) {\n updateFileWithTransform(this, file, moveObjectSpecifiersToMetal);\n }\n\n updateFileWithTransform(this, '@ember/array/index.js', [\n moveObjectSpecifiersToMetal,\n function (babel: typeof Babel) {\n const { types: t } = babel;\n return {\n visitor: {\n ExportNamedDeclaration(path: NodePath<Babel.types.ExportNamedDeclaration>) {\n if (path.node.source?.value === './lib/make-array') {\n path.node.source = t.stringLiteral('./make');\n }\n },\n },\n };\n },\n ]);\n\n updateFileWithTransform(this, '@ember/runloop/index.js', function (babel: typeof Babel) {\n const { types: t } = babel;\n\n return {\n visitor: {\n CallExpression(path: NodePath<Babel.types.CallExpression>) {\n if (path.node.callee.type === 'Identifier' && path.node.callee.name === 'flushAsyncObservers') {\n path.node.arguments = [t.identifier('schedule')];\n }\n },\n },\n };\n });\n\n updateFileWithTransform(this, '@ember/object/core.js', function (babel: typeof Babel) {\n const { types: t } = babel;\n\n return {\n visitor: {\n ImportDeclaration(path: NodePath<Babel.types.ImportDeclaration>) {\n if (path.node.source.value === '@ember/array') {\n path.node.source = t.stringLiteral('@ember/array/make');\n path.node.specifiers = [t.importDefaultSpecifier(t.identifier('makeArray'))];\n }\n\n if (path.node.source.value === '@ember/-internals/runtime') {\n path.replaceWith(\n t.importDeclaration(\n [t.importSpecifier(t.identifier('ActionHandler'), t.identifier('default'))],\n t.stringLiteral('@ember/-internals/runtime/lib/mixins/action_handler')\n )\n );\n }\n },\n },\n };\n });\n\n outputFileSync(\n resolve(this.outputPath, '@ember/array/make.js'),\n `export { default } from './lib/make-array';`,\n 'utf8'\n );\n\n updateFileWithTransform(this, '@ember/-internals/metal/index.js', function (babel: typeof Babel) {\n const { types: t } = babel;\n\n return {\n visitor: {\n FunctionDeclaration(path: NodePath<Babel.types.FunctionDeclaration>) {\n if (path.node.id?.name === 'flushAsyncObservers') {\n path.node.params = [t.identifier('_schedule')];\n }\n },\n IfStatement(path: NodePath<Babel.types.IfStatement>) {\n if (path.node.test.type === 'Identifier' && path.node.test.name === 'shouldSchedule') {\n path.node.test.name = '_schedule';\n }\n },\n CallExpression(path: NodePath<Babel.types.CallExpression>) {\n if (path.node.callee.type === 'Identifier' && path.node.callee.name === 'schedule') {\n path.node.callee.name = '_schedule';\n }\n },\n ImportDeclaration(path: NodePath<Babel.types.ImportDeclaration>) {\n if (path.node.source.value === '@ember/runloop') {\n path.remove();\n }\n },\n },\n };\n });\n }\n}\n\nfunction moveObjectSpecifiersToMetal() {\n let done = false;\n\n return {\n visitor: {\n ImportDeclaration(path: NodePath<Babel.types.ImportDeclaration>) {\n if (path.node.source.value === '@ember/-internals/metal') {\n if (done) {\n return;\n }\n\n /**\n * I need to use getAllPRevSiblings and getAllNextSiblings here because I need the siblings\n * to be paths and path.container only holds nodes (for some strange reason).\n */\n const searchObjects = Array.from(path.getAllPrevSiblings()).concat(Array.from(path.getAllNextSiblings()));\n const objectimport = searchObjects.find(\n p => p.node.type === 'ImportDeclaration' && p.node.source.value === '@ember/object'\n ) as NodePath<Babel.types.ImportDeclaration>;\n\n path.node.specifiers.push(...objectimport!.node.specifiers);\n objectimport.remove();\n\n done = true;\n }\n },\n },\n };\n}\n\nfunction fixStringLoc(babel: typeof Babel) {\n let t = babel.types;\n return {\n visitor: {\n Program(path: NodePath<Babel.types.Program>) {\n path.node.body.unshift(\n t.variableDeclaration('const', [t.variableDeclarator(t.identifier('loc'), t.identifier('undefined'))])\n );\n },\n ImportDeclaration: {\n enter(path: NodePath<Babel.types.ImportDeclaration>, state: { inEmberString: boolean }) {\n if (path.node.source.value === '@ember/string') {\n state.inEmberString = true;\n }\n },\n exit(_path: NodePath<Babel.types.ImportDeclaration>, state: { inEmberString: boolean }) {\n state.inEmberString = false;\n },\n },\n ImportSpecifier(path: NodePath<Babel.types.ImportSpecifier>, state: { inEmberString: boolean }) {\n let name = 'value' in path.node.imported ? path.node.imported.value : path.node.imported.name;\n if (state.inEmberString && name === 'loc') {\n path.remove();\n }\n },\n },\n };\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ember-svg-jar.d.ts","sourceRoot":"","sources":["../../../src/compat-adapters/ember-svg-jar.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,aAAa,CAAC;AAkBlC,MAAM,CAAC,OAAO,MAAO,SAAQ,OAAO;IAClC,IAAI,MAAM,SAGT;CACF"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const v1_addon_1 = __importDefault(require("../v1-addon"));
|
|
7
|
+
const broccoli_merge_trees_1 = __importDefault(require("broccoli-merge-trees"));
|
|
8
|
+
const broccoli_plugin_1 = __importDefault(require("broccoli-plugin"));
|
|
9
|
+
const fs_extra_1 = require("fs-extra");
|
|
10
|
+
const path_1 = require("path");
|
|
11
|
+
class FixSVGJar extends broccoli_plugin_1.default {
|
|
12
|
+
build() {
|
|
13
|
+
let helperFile = (0, path_1.join)(this.inputPaths[0], '_app_', 'helpers', 'svg-jar.js');
|
|
14
|
+
if ((0, fs_extra_1.pathExistsSync)(helperFile)) {
|
|
15
|
+
let source = (0, fs_extra_1.readFileSync)(helperFile, 'utf8');
|
|
16
|
+
source = `import { importSync } from '@embroider/macros';\n` + source.replace(/\brequire\b/g, 'importSync');
|
|
17
|
+
(0, fs_extra_1.ensureDirSync)((0, path_1.join)(this.outputPath, '_app_', 'helpers'));
|
|
18
|
+
(0, fs_extra_1.writeFileSync)((0, path_1.join)(this.outputPath, '_app_', 'helpers', 'svg-jar.js'), source);
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
class default_1 extends v1_addon_1.default {
|
|
23
|
+
get v2Tree() {
|
|
24
|
+
let orig = super.v2Tree;
|
|
25
|
+
return (0, broccoli_merge_trees_1.default)([orig, new FixSVGJar([orig], { annotation: 'fix-svg-jar' })], { overwrite: true });
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
exports.default = default_1;
|
|
29
|
+
//# sourceMappingURL=ember-svg-jar.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ember-svg-jar.js","sourceRoot":"","sources":["../../../src/compat-adapters/ember-svg-jar.ts"],"names":[],"mappings":";;;;;AAAA,2DAAkC;AAClC,gFAA8C;AAC9C,sEAAqC;AACrC,uCAAsF;AACtF,+BAA4B;AAE5B,MAAM,SAAU,SAAQ,yBAAM;IAC5B,KAAK;QACH,IAAI,UAAU,GAAG,IAAA,WAAI,EAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC;QAC5E,IAAI,IAAA,yBAAc,EAAC,UAAU,CAAC,EAAE,CAAC;YAC/B,IAAI,MAAM,GAAG,IAAA,uBAAY,EAAC,UAAU,EAAE,MAAM,CAAC,CAAC;YAC9C,MAAM,GAAG,mDAAmD,GAAG,MAAM,CAAC,OAAO,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;YAC5G,IAAA,wBAAa,EAAC,IAAA,WAAI,EAAC,IAAI,CAAC,UAAU,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC;YACzD,IAAA,wBAAa,EAAC,IAAA,WAAI,EAAC,IAAI,CAAC,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,YAAY,CAAC,EAAE,MAAM,CAAC,CAAC;QACjF,CAAC;IACH,CAAC;CACF;AAED,eAAqB,SAAQ,kBAAO;IAClC,IAAI,MAAM;QACR,IAAI,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC;QACxB,OAAO,IAAA,8BAAU,EAAC,CAAC,IAAI,EAAE,IAAI,SAAS,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,UAAU,EAAE,aAAa,EAAE,CAAC,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACvG,CAAC;CACF;AALD,4BAKC","sourcesContent":["import V1Addon from '../v1-addon';\nimport mergeTrees from 'broccoli-merge-trees';\nimport Plugin from 'broccoli-plugin';\nimport { readFileSync, writeFileSync, ensureDirSync, pathExistsSync } from 'fs-extra';\nimport { join } from 'path';\n\nclass FixSVGJar extends Plugin {\n build() {\n let helperFile = join(this.inputPaths[0], '_app_', 'helpers', 'svg-jar.js');\n if (pathExistsSync(helperFile)) {\n let source = readFileSync(helperFile, 'utf8');\n source = `import { importSync } from '@embroider/macros';\\n` + source.replace(/\\brequire\\b/g, 'importSync');\n ensureDirSync(join(this.outputPath, '_app_', 'helpers'));\n writeFileSync(join(this.outputPath, '_app_', 'helpers', 'svg-jar.js'), source);\n }\n }\n}\n\nexport default class extends V1Addon {\n get v2Tree() {\n let orig = super.v2Tree;\n return mergeTrees([orig, new FixSVGJar([orig], { annotation: 'fix-svg-jar' })], { overwrite: true });\n }\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ember-test-selectors.d.ts","sourceRoot":"","sources":["../../../src/compat-adapters/ember-test-selectors.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,aAAa,CAAC;AAIlC,MAAM,CAAC,OAAO,MAAO,SAAQ,OAAO;IAElC,MAAM,CAAC,kBAAkB,CAAC,aAAa,EAAE,GAAG;IAI5C,IAAI,WAAW,6DAEd;CACF"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const v1_addon_1 = __importDefault(require("../v1-addon"));
|
|
7
|
+
const compat_utils_1 = require("../compat-utils");
|
|
8
|
+
const semver_1 = __importDefault(require("semver"));
|
|
9
|
+
class default_1 extends v1_addon_1.default {
|
|
10
|
+
// v6.0.0 of ember-test-selectors dropped the attribute binding for classic components
|
|
11
|
+
static shouldApplyAdapter(addonInstance) {
|
|
12
|
+
return semver_1.default.lt(addonInstance.pkg.version, '6.0.0') && !addonInstance._stripTestSelectors;
|
|
13
|
+
}
|
|
14
|
+
get packageMeta() {
|
|
15
|
+
return (0, compat_utils_1.forceIncludeModule)(super.packageMeta, './utils/bind-data-test-attributes');
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
exports.default = default_1;
|
|
19
|
+
//# sourceMappingURL=ember-test-selectors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ember-test-selectors.js","sourceRoot":"","sources":["../../../src/compat-adapters/ember-test-selectors.ts"],"names":[],"mappings":";;;;;AAAA,2DAAkC;AAClC,kDAAqD;AACrD,oDAA4B;AAE5B,eAAqB,SAAQ,kBAAO;IAClC,sFAAsF;IACtF,MAAM,CAAC,kBAAkB,CAAC,aAAkB;QAC1C,OAAO,gBAAM,CAAC,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC;IAC7F,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAA,iCAAkB,EAAC,KAAK,CAAC,WAAW,EAAE,mCAAmC,CAAC,CAAC;IACpF,CAAC;CACF;AATD,4BASC","sourcesContent":["import V1Addon from '../v1-addon';\nimport { forceIncludeModule } from '../compat-utils';\nimport semver from 'semver';\n\nexport default class extends V1Addon {\n // v6.0.0 of ember-test-selectors dropped the attribute binding for classic components\n static shouldApplyAdapter(addonInstance: any) {\n return semver.lt(addonInstance.pkg.version, '6.0.0') && !addonInstance._stripTestSelectors;\n }\n\n get packageMeta() {\n return forceIncludeModule(super.packageMeta, './utils/bind-data-test-attributes');\n }\n}\n"]}
|