@embroider/compat 4.0.1 → 4.0.2-unstable.2a16ab2
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/dist/src/add-to-tree.js.map +1 -0
- package/dist/src/addon-dependency-rules/ember-basic-dropdown.js.map +1 -0
- package/dist/src/addon-dependency-rules/ember-data.js.map +1 -0
- package/dist/src/addon-dependency-rules/ember-element-helper.js.map +1 -0
- package/dist/src/addon-dependency-rules/ember-modal-dialog.js.map +1 -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.js.map +1 -0
- package/dist/src/addon-dependency-rules/ember-power-select.js.map +1 -0
- package/dist/src/audit/babel-visitor.js.map +1 -0
- package/dist/src/audit/build.js.map +1 -0
- package/dist/src/audit/options.js.map +1 -0
- package/dist/src/audit.js.map +1 -0
- package/dist/src/babel-plugin-adjust-imports.js.map +1 -0
- package/dist/src/babel.js.map +1 -0
- package/dist/src/build-compat-addon.js.map +1 -0
- package/dist/src/compat-adapters/@ember/test-waiters.js.map +1 -0
- package/dist/src/compat-adapters/@ember-data/adapter.js.map +1 -0
- package/dist/src/compat-adapters/@ember-data/model.js.map +1 -0
- package/dist/src/compat-adapters/@ember-data/record-data.js.map +1 -0
- package/dist/src/compat-adapters/@ember-data/serializer.js.map +1 -0
- package/dist/src/compat-adapters/@ember-data/store.js.map +1 -0
- package/dist/src/compat-adapters/@glimmer/tracking.js.map +1 -0
- package/dist/src/compat-adapters/@html-next/vertical-collection.js.map +1 -0
- package/dist/src/compat-adapters/active-model-adapter.js.map +1 -0
- package/dist/src/compat-adapters/ember-asset-loader.js.map +1 -0
- package/dist/src/compat-adapters/ember-cli-addon-docs.js.map +1 -0
- package/dist/src/compat-adapters/ember-cli-babel.js.map +1 -0
- package/dist/src/compat-adapters/ember-cli-clipboard.js.map +1 -0
- package/dist/src/compat-adapters/ember-cli-deprecation-workflow.js.map +1 -0
- package/dist/src/compat-adapters/ember-cli-fastboot-testing.js.map +1 -0
- package/dist/src/compat-adapters/ember-cli-fastboot.js.map +1 -0
- package/dist/src/compat-adapters/ember-cli-mirage.js.map +1 -0
- package/dist/src/compat-adapters/ember-composable-helpers.js.map +1 -0
- package/dist/src/compat-adapters/ember-data.js.map +1 -0
- package/dist/src/compat-adapters/ember-decorators.js.map +1 -0
- package/dist/src/compat-adapters/ember-engines.js.map +1 -0
- package/dist/src/compat-adapters/ember-exam.js.map +1 -0
- package/dist/src/compat-adapters/ember-fetch.js.map +1 -0
- package/dist/src/compat-adapters/ember-get-config.js.map +1 -0
- package/dist/src/compat-adapters/ember-inflector.js.map +1 -0
- package/dist/src/compat-adapters/ember-percy.js.map +1 -0
- package/dist/src/compat-adapters/ember-resolver.js.map +1 -0
- package/dist/src/compat-adapters/ember-scroll-modifiers.js.map +1 -0
- package/dist/src/compat-adapters/ember-source.js.map +1 -0
- package/dist/src/compat-adapters/ember-svg-jar.js.map +1 -0
- package/dist/src/compat-adapters/ember-test-selectors.js.map +1 -0
- package/dist/src/compat-addons.js.map +1 -0
- package/dist/src/compat-app-builder.js.map +1 -0
- package/dist/src/compat-app.js.map +1 -0
- package/dist/src/compat-utils.js.map +1 -0
- package/dist/src/content-for-config.js.map +1 -0
- package/dist/src/dasherize-component-name.js.map +1 -0
- package/dist/src/default-pipeline.js.map +1 -0
- package/dist/src/dependency-rules.js.map +1 -0
- package/dist/src/detect-babel-plugins.js.map +1 -0
- package/dist/src/detect-compact-reexports.js.map +1 -0
- package/dist/src/dummy-package.js.map +1 -0
- package/dist/src/empty-package-tree.js.map +1 -0
- package/dist/src/get-real-addon.js.map +1 -0
- package/dist/src/hbs-to-js-broccoli-plugin.js.map +1 -0
- package/dist/src/htmlbars-unwrapper.js.map +1 -0
- package/dist/src/http-audit.js.map +1 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/merges.js.map +1 -0
- package/dist/src/module-visitor.js.map +1 -0
- package/dist/src/modules-compat.js.map +1 -0
- package/dist/src/observe-tree.js.map +1 -0
- package/dist/src/options.js.map +1 -0
- package/dist/src/prepare-htmlbars-ast-plugins.js.map +1 -0
- package/dist/src/resolver-transform.js.map +1 -0
- package/dist/src/rewrite-addon-tree.js.map +1 -0
- package/dist/src/rewrite-package-json.js.map +1 -0
- package/dist/src/smoosh-package-json.js.map +1 -0
- package/dist/src/snitch.js.map +1 -0
- package/dist/src/standalone-addon-build.js.map +1 -0
- package/dist/src/synthesize-template-only-components.js.map +1 -0
- package/dist/src/v1-addon.js.map +1 -0
- package/dist/src/v1-config.js.map +1 -0
- package/dist/src/v1-instance-cache.js.map +1 -0
- package/package.json +12 -9
- package/src/add-to-tree.js.map +0 -1
- package/src/addon-dependency-rules/ember-basic-dropdown.js.map +0 -1
- package/src/addon-dependency-rules/ember-data.js.map +0 -1
- package/src/addon-dependency-rules/ember-element-helper.js.map +0 -1
- package/src/addon-dependency-rules/ember-modal-dialog.js.map +0 -1
- package/src/addon-dependency-rules/ember-power-select-typeahead.js.map +0 -1
- package/src/addon-dependency-rules/ember-power-select-with-create.js.map +0 -1
- package/src/addon-dependency-rules/ember-power-select.js.map +0 -1
- package/src/audit/babel-visitor.js.map +0 -1
- package/src/audit/build.js.map +0 -1
- package/src/audit/options.js.map +0 -1
- package/src/audit.js.map +0 -1
- package/src/babel-plugin-adjust-imports.js.map +0 -1
- package/src/babel.js.map +0 -1
- package/src/build-compat-addon.js.map +0 -1
- package/src/compat-adapters/@ember/test-waiters.js.map +0 -1
- package/src/compat-adapters/@ember-data/adapter.js.map +0 -1
- package/src/compat-adapters/@ember-data/model.js.map +0 -1
- package/src/compat-adapters/@ember-data/record-data.js.map +0 -1
- package/src/compat-adapters/@ember-data/serializer.js.map +0 -1
- package/src/compat-adapters/@ember-data/store.js.map +0 -1
- package/src/compat-adapters/@glimmer/tracking.js.map +0 -1
- package/src/compat-adapters/@html-next/vertical-collection.js.map +0 -1
- package/src/compat-adapters/active-model-adapter.js.map +0 -1
- package/src/compat-adapters/ember-asset-loader.js.map +0 -1
- package/src/compat-adapters/ember-cli-addon-docs.js.map +0 -1
- package/src/compat-adapters/ember-cli-babel.js.map +0 -1
- package/src/compat-adapters/ember-cli-clipboard.js.map +0 -1
- package/src/compat-adapters/ember-cli-deprecation-workflow.js.map +0 -1
- package/src/compat-adapters/ember-cli-fastboot-testing.js.map +0 -1
- package/src/compat-adapters/ember-cli-fastboot.js.map +0 -1
- package/src/compat-adapters/ember-cli-mirage.js.map +0 -1
- package/src/compat-adapters/ember-composable-helpers.js.map +0 -1
- package/src/compat-adapters/ember-data.js.map +0 -1
- package/src/compat-adapters/ember-decorators.js.map +0 -1
- package/src/compat-adapters/ember-engines.js.map +0 -1
- package/src/compat-adapters/ember-exam.js.map +0 -1
- package/src/compat-adapters/ember-fetch.js.map +0 -1
- package/src/compat-adapters/ember-get-config.js.map +0 -1
- package/src/compat-adapters/ember-inflector.js.map +0 -1
- package/src/compat-adapters/ember-percy.js.map +0 -1
- package/src/compat-adapters/ember-resolver.js.map +0 -1
- package/src/compat-adapters/ember-scroll-modifiers.js.map +0 -1
- package/src/compat-adapters/ember-source.js.map +0 -1
- package/src/compat-adapters/ember-svg-jar.js.map +0 -1
- package/src/compat-adapters/ember-test-selectors.js.map +0 -1
- package/src/compat-addons.js.map +0 -1
- package/src/compat-app-builder.js.map +0 -1
- package/src/compat-app.js.map +0 -1
- package/src/compat-utils.js.map +0 -1
- package/src/content-for-config.js.map +0 -1
- package/src/dasherize-component-name.js.map +0 -1
- package/src/default-pipeline.js.map +0 -1
- package/src/dependency-rules.js.map +0 -1
- package/src/detect-babel-plugins.js.map +0 -1
- package/src/detect-compact-reexports.js.map +0 -1
- package/src/dummy-package.js.map +0 -1
- package/src/empty-package-tree.js.map +0 -1
- package/src/get-real-addon.js.map +0 -1
- package/src/hbs-to-js-broccoli-plugin.js.map +0 -1
- package/src/htmlbars-unwrapper.js.map +0 -1
- package/src/http-audit.js.map +0 -1
- package/src/index.js.map +0 -1
- package/src/merges.js.map +0 -1
- package/src/module-visitor.js.map +0 -1
- package/src/modules-compat.js.map +0 -1
- package/src/observe-tree.js.map +0 -1
- package/src/options.js.map +0 -1
- package/src/prepare-htmlbars-ast-plugins.js.map +0 -1
- package/src/resolver-transform.js.map +0 -1
- package/src/rewrite-addon-tree.js.map +0 -1
- package/src/rewrite-package-json.js.map +0 -1
- package/src/smoosh-package-json.js.map +0 -1
- package/src/snitch.js.map +0 -1
- package/src/standalone-addon-build.js.map +0 -1
- package/src/synthesize-template-only-components.js.map +0 -1
- package/src/v1-addon.js.map +0 -1
- package/src/v1-config.js.map +0 -1
- package/src/v1-instance-cache.js.map +0 -1
- /package/{src → dist/src}/add-to-tree.d.ts +0 -0
- /package/{src → dist/src}/add-to-tree.js +0 -0
- /package/{src → dist/src}/addon-dependency-rules/ember-basic-dropdown.d.ts +0 -0
- /package/{src → dist/src}/addon-dependency-rules/ember-basic-dropdown.js +0 -0
- /package/{src → dist/src}/addon-dependency-rules/ember-data.d.ts +0 -0
- /package/{src → dist/src}/addon-dependency-rules/ember-data.js +0 -0
- /package/{src → dist/src}/addon-dependency-rules/ember-element-helper.d.ts +0 -0
- /package/{src → dist/src}/addon-dependency-rules/ember-element-helper.js +0 -0
- /package/{src → dist/src}/addon-dependency-rules/ember-modal-dialog.d.ts +0 -0
- /package/{src → dist/src}/addon-dependency-rules/ember-modal-dialog.js +0 -0
- /package/{src → dist/src}/addon-dependency-rules/ember-power-select-typeahead.d.ts +0 -0
- /package/{src → dist/src}/addon-dependency-rules/ember-power-select-typeahead.js +0 -0
- /package/{src → dist/src}/addon-dependency-rules/ember-power-select-with-create.d.ts +0 -0
- /package/{src → dist/src}/addon-dependency-rules/ember-power-select-with-create.js +0 -0
- /package/{src → dist/src}/addon-dependency-rules/ember-power-select.d.ts +0 -0
- /package/{src → dist/src}/addon-dependency-rules/ember-power-select.js +0 -0
- /package/{src → dist/src}/audit/babel-visitor.d.ts +0 -0
- /package/{src → dist/src}/audit/babel-visitor.js +0 -0
- /package/{src → dist/src}/audit/build.d.ts +0 -0
- /package/{src → dist/src}/audit/build.js +0 -0
- /package/{src → dist/src}/audit/options.d.ts +0 -0
- /package/{src → dist/src}/audit/options.js +0 -0
- /package/{src → dist/src}/audit.d.ts +0 -0
- /package/{src → dist/src}/audit.js +0 -0
- /package/{src → dist/src}/babel-plugin-adjust-imports.d.ts +0 -0
- /package/{src → dist/src}/babel-plugin-adjust-imports.js +0 -0
- /package/{src → dist/src}/babel.d.ts +0 -0
- /package/{src → dist/src}/babel.js +0 -0
- /package/{src → dist/src}/build-compat-addon.d.ts +0 -0
- /package/{src → dist/src}/build-compat-addon.js +0 -0
- /package/{src → dist/src}/compat-adapters/@ember/test-waiters.d.ts +0 -0
- /package/{src → dist/src}/compat-adapters/@ember/test-waiters.js +0 -0
- /package/{src → dist/src}/compat-adapters/@ember-data/adapter.d.ts +0 -0
- /package/{src → dist/src}/compat-adapters/@ember-data/adapter.js +0 -0
- /package/{src → dist/src}/compat-adapters/@ember-data/model.d.ts +0 -0
- /package/{src → dist/src}/compat-adapters/@ember-data/model.js +0 -0
- /package/{src → dist/src}/compat-adapters/@ember-data/record-data.d.ts +0 -0
- /package/{src → dist/src}/compat-adapters/@ember-data/record-data.js +0 -0
- /package/{src → dist/src}/compat-adapters/@ember-data/serializer.d.ts +0 -0
- /package/{src → dist/src}/compat-adapters/@ember-data/serializer.js +0 -0
- /package/{src → dist/src}/compat-adapters/@ember-data/store.d.ts +0 -0
- /package/{src → dist/src}/compat-adapters/@ember-data/store.js +0 -0
- /package/{src → dist/src}/compat-adapters/@glimmer/tracking.d.ts +0 -0
- /package/{src → dist/src}/compat-adapters/@glimmer/tracking.js +0 -0
- /package/{src → dist/src}/compat-adapters/@html-next/vertical-collection.d.ts +0 -0
- /package/{src → dist/src}/compat-adapters/@html-next/vertical-collection.js +0 -0
- /package/{src → dist/src}/compat-adapters/active-model-adapter.d.ts +0 -0
- /package/{src → dist/src}/compat-adapters/active-model-adapter.js +0 -0
- /package/{src → dist/src}/compat-adapters/ember-asset-loader.d.ts +0 -0
- /package/{src → dist/src}/compat-adapters/ember-asset-loader.js +0 -0
- /package/{src → dist/src}/compat-adapters/ember-cli-addon-docs.d.ts +0 -0
- /package/{src → dist/src}/compat-adapters/ember-cli-addon-docs.js +0 -0
- /package/{src → dist/src}/compat-adapters/ember-cli-babel.d.ts +0 -0
- /package/{src → dist/src}/compat-adapters/ember-cli-babel.js +0 -0
- /package/{src → dist/src}/compat-adapters/ember-cli-clipboard.d.ts +0 -0
- /package/{src → dist/src}/compat-adapters/ember-cli-clipboard.js +0 -0
- /package/{src → dist/src}/compat-adapters/ember-cli-deprecation-workflow.d.ts +0 -0
- /package/{src → dist/src}/compat-adapters/ember-cli-deprecation-workflow.js +0 -0
- /package/{src → dist/src}/compat-adapters/ember-cli-fastboot-testing.d.ts +0 -0
- /package/{src → dist/src}/compat-adapters/ember-cli-fastboot-testing.js +0 -0
- /package/{src → dist/src}/compat-adapters/ember-cli-fastboot.d.ts +0 -0
- /package/{src → dist/src}/compat-adapters/ember-cli-fastboot.js +0 -0
- /package/{src → dist/src}/compat-adapters/ember-cli-mirage.d.ts +0 -0
- /package/{src → dist/src}/compat-adapters/ember-cli-mirage.js +0 -0
- /package/{src → dist/src}/compat-adapters/ember-composable-helpers.d.ts +0 -0
- /package/{src → dist/src}/compat-adapters/ember-composable-helpers.js +0 -0
- /package/{src → dist/src}/compat-adapters/ember-data.d.ts +0 -0
- /package/{src → dist/src}/compat-adapters/ember-data.js +0 -0
- /package/{src → dist/src}/compat-adapters/ember-decorators.d.ts +0 -0
- /package/{src → dist/src}/compat-adapters/ember-decorators.js +0 -0
- /package/{src → dist/src}/compat-adapters/ember-engines.d.ts +0 -0
- /package/{src → dist/src}/compat-adapters/ember-engines.js +0 -0
- /package/{src → dist/src}/compat-adapters/ember-exam.d.ts +0 -0
- /package/{src → dist/src}/compat-adapters/ember-exam.js +0 -0
- /package/{src → dist/src}/compat-adapters/ember-fetch.d.ts +0 -0
- /package/{src → dist/src}/compat-adapters/ember-fetch.js +0 -0
- /package/{src → dist/src}/compat-adapters/ember-get-config.d.ts +0 -0
- /package/{src → dist/src}/compat-adapters/ember-get-config.js +0 -0
- /package/{src → dist/src}/compat-adapters/ember-inflector.d.ts +0 -0
- /package/{src → dist/src}/compat-adapters/ember-inflector.js +0 -0
- /package/{src → dist/src}/compat-adapters/ember-percy.d.ts +0 -0
- /package/{src → dist/src}/compat-adapters/ember-percy.js +0 -0
- /package/{src → dist/src}/compat-adapters/ember-resolver.d.ts +0 -0
- /package/{src → dist/src}/compat-adapters/ember-resolver.js +0 -0
- /package/{src → dist/src}/compat-adapters/ember-scroll-modifiers.d.ts +0 -0
- /package/{src → dist/src}/compat-adapters/ember-scroll-modifiers.js +0 -0
- /package/{src → dist/src}/compat-adapters/ember-source.d.ts +0 -0
- /package/{src → dist/src}/compat-adapters/ember-source.js +0 -0
- /package/{src → dist/src}/compat-adapters/ember-svg-jar.d.ts +0 -0
- /package/{src → dist/src}/compat-adapters/ember-svg-jar.js +0 -0
- /package/{src → dist/src}/compat-adapters/ember-test-selectors.d.ts +0 -0
- /package/{src → dist/src}/compat-adapters/ember-test-selectors.js +0 -0
- /package/{src → dist/src}/compat-addons.d.ts +0 -0
- /package/{src → dist/src}/compat-addons.js +0 -0
- /package/{src → dist/src}/compat-app-builder.d.ts +0 -0
- /package/{src → dist/src}/compat-app-builder.js +0 -0
- /package/{src → dist/src}/compat-app.d.ts +0 -0
- /package/{src → dist/src}/compat-app.js +0 -0
- /package/{src → dist/src}/compat-utils.d.ts +0 -0
- /package/{src → dist/src}/compat-utils.js +0 -0
- /package/{src → dist/src}/content-for-config.d.ts +0 -0
- /package/{src → dist/src}/content-for-config.js +0 -0
- /package/{src → dist/src}/dasherize-component-name.d.ts +0 -0
- /package/{src → dist/src}/dasherize-component-name.js +0 -0
- /package/{src → dist/src}/default-pipeline.d.ts +0 -0
- /package/{src → dist/src}/default-pipeline.js +0 -0
- /package/{src → dist/src}/dependency-rules.d.ts +0 -0
- /package/{src → dist/src}/dependency-rules.js +0 -0
- /package/{src → dist/src}/detect-babel-plugins.d.ts +0 -0
- /package/{src → dist/src}/detect-babel-plugins.js +0 -0
- /package/{src → dist/src}/detect-compact-reexports.d.ts +0 -0
- /package/{src → dist/src}/detect-compact-reexports.js +0 -0
- /package/{src → dist/src}/dummy-package.d.ts +0 -0
- /package/{src → dist/src}/dummy-package.js +0 -0
- /package/{src → dist/src}/empty-package-tree.d.ts +0 -0
- /package/{src → dist/src}/empty-package-tree.js +0 -0
- /package/{src → dist/src}/get-real-addon.d.ts +0 -0
- /package/{src → dist/src}/get-real-addon.js +0 -0
- /package/{src → dist/src}/hbs-to-js-broccoli-plugin.d.ts +0 -0
- /package/{src → dist/src}/hbs-to-js-broccoli-plugin.js +0 -0
- /package/{src → dist/src}/htmlbars-unwrapper.d.ts +0 -0
- /package/{src → dist/src}/htmlbars-unwrapper.js +0 -0
- /package/{src → dist/src}/http-audit.d.ts +0 -0
- /package/{src → dist/src}/http-audit.js +0 -0
- /package/{src → dist/src}/index.d.ts +0 -0
- /package/{src → dist/src}/index.js +0 -0
- /package/{src → dist/src}/merges.d.ts +0 -0
- /package/{src → dist/src}/merges.js +0 -0
- /package/{src → dist/src}/module-visitor.d.ts +0 -0
- /package/{src → dist/src}/module-visitor.js +0 -0
- /package/{src → dist/src}/modules-compat.d.ts +0 -0
- /package/{src → dist/src}/modules-compat.js +0 -0
- /package/{src → dist/src}/observe-tree.d.ts +0 -0
- /package/{src → dist/src}/observe-tree.js +0 -0
- /package/{src → dist/src}/options.d.ts +0 -0
- /package/{src → dist/src}/options.js +0 -0
- /package/{src → dist/src}/prepare-htmlbars-ast-plugins.d.ts +0 -0
- /package/{src → dist/src}/prepare-htmlbars-ast-plugins.js +0 -0
- /package/{src → dist/src}/resolver-transform.d.ts +0 -0
- /package/{src → dist/src}/resolver-transform.js +0 -0
- /package/{src → dist/src}/rewrite-addon-tree.d.ts +0 -0
- /package/{src → dist/src}/rewrite-addon-tree.js +0 -0
- /package/{src → dist/src}/rewrite-package-json.d.ts +0 -0
- /package/{src → dist/src}/rewrite-package-json.js +0 -0
- /package/{src → dist/src}/smoosh-package-json.d.ts +0 -0
- /package/{src → dist/src}/smoosh-package-json.js +0 -0
- /package/{src → dist/src}/snitch.d.ts +0 -0
- /package/{src → dist/src}/snitch.js +0 -0
- /package/{src → dist/src}/standalone-addon-build.d.ts +0 -0
- /package/{src → dist/src}/standalone-addon-build.js +0 -0
- /package/{src → dist/src}/synthesize-template-only-components.d.ts +0 -0
- /package/{src → dist/src}/synthesize-template-only-components.js +0 -0
- /package/{src → dist/src}/v1-addon.d.ts +0 -0
- /package/{src → dist/src}/v1-addon.js +0 -0
- /package/{src → dist/src}/v1-config.d.ts +0 -0
- /package/{src → dist/src}/v1-config.js +0 -0
- /package/{src → dist/src}/v1-instance-cache.d.ts +0 -0
- /package/{src → dist/src}/v1-instance-cache.js +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"add-to-tree.js","sourceRoot":"","sources":["../../src/add-to-tree.ts"],"names":[],"mappings":";;AACA,qDAAyC;AAEzC,MAAqB,SAAU,SAAQ,wBAAM;IAC3C,YAAY,cAAoB,EAAU,IAAkD;QAC1F,KAAK,CAAC,cAAc,EAAE;YACpB,UAAU,EAAE,+BAA+B;SAC5C,CAAC,CAAC;QAHqC,SAAI,GAAJ,IAAI,CAA8C;IAI5F,CAAC;IACD,eAAe;QACb,4EAA4E;QAC5E,kDAAkD;QAClD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,KAAK,CAAC,KAAK;QACT,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC;QACpB,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACnC,CAAC;CACF;AAfD,4BAeC","sourcesContent":["import type { Node } from 'broccoli-node-api';\nimport { Funnel } from 'broccoli-funnel';\n\nexport default class AddToTree extends Funnel {\n constructor(combinedVendor: Node, private hook: (outputPath: string) => Promise<void> | void) {\n super(combinedVendor, {\n annotation: '@embroider/compat/synthvendor',\n });\n }\n shouldLinkRoots() {\n // We want to force funnel to copy things rather than just linking the whole\n // directory, because we're planning to mutate it.\n return false;\n }\n async build() {\n await super.build();\n await this.hook(this.outputPath);\n }\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ember-basic-dropdown.js","sourceRoot":"","sources":["../../../src/addon-dependency-rules/ember-basic-dropdown.ts"],"names":[],"mappings":";;AAEA,IAAI,UAAU,GAAiB;IAC7B,OAAO,EAAE,sBAAsB;IAC/B,WAAW,EAAE,KAAK;IAClB,YAAY,EAAE;QACZ,8BAA8B,EAAE;YAC9B,mBAAmB,EAAE,CAAC,4BAA4B,EAAE,4BAA4B,CAAC;SAClF;KACF;IACD,UAAU,EAAE;QACV,oBAAoB,EAAE;YACpB,MAAM,EAAE;gBACN,SAAS,EAAE,yCAAyC;aACrD;YACD,yBAAyB,EAAE,CAAC,kBAAkB,EAAE,kBAAkB,CAAC;SACpE;KACF;CACF,CAAC;AAEF,IAAI,UAAU,GAAiB;IAC7B,OAAO,EAAE,sBAAsB;IAC/B,WAAW,EAAE,kBAAkB;IAC/B,YAAY,EAAE;QACZ,8BAA8B,EAAE;YAC9B,mBAAmB,EAAE,CAAC,4BAA4B,EAAE,4BAA4B,CAAC;SAClF;KACF;IACD,UAAU,EAAE;QACV,oBAAoB,EAAE;YACpB,MAAM,EAAE;gBACN,SAAS,EAAE,yCAAyC;aACrD;YACD,yBAAyB,EAAE,CAAC,kBAAkB,EAAE,kBAAkB,CAAC;SACpE;KACF;CACF,CAAC;AAEF,kBAAe,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC","sourcesContent":["import type { PackageRules } from '..';\n\nlet rulesForV1: PackageRules = {\n package: 'ember-basic-dropdown',\n semverRange: '1.x',\n addonModules: {\n 'components/basic-dropdown.js': {\n dependsOnComponents: ['{{basic-dropdown/trigger}}', '{{basic-dropdown/content}}'],\n },\n },\n components: {\n '{{basic-dropdown}}': {\n layout: {\n addonPath: 'templates/components/basic-dropdown.hbs',\n },\n acceptsComponentArguments: ['triggerComponent', 'contentComponent'],\n },\n },\n};\n\nlet rulesForV2: PackageRules = {\n package: 'ember-basic-dropdown',\n semverRange: '>=2.0.0 <=3.0.18',\n addonModules: {\n 'components/basic-dropdown.js': {\n dependsOnComponents: ['{{basic-dropdown-trigger}}', '{{basic-dropdown-content}}'],\n },\n },\n components: {\n '{{basic-dropdown}}': {\n layout: {\n addonPath: 'templates/components/basic-dropdown.hbs',\n },\n acceptsComponentArguments: ['triggerComponent', 'contentComponent'],\n },\n },\n};\n\nexport default [rulesForV1, rulesForV2];\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ember-data.js","sourceRoot":"","sources":["../../../src/addon-dependency-rules/ember-data.ts"],"names":[],"mappings":";;AAEA,IAAI,KAAK,GAAmB;IAC1B;QACE,OAAO,EAAE,mBAAmB;QAC5B,WAAW,EAAE,UAAU;QACvB,YAAY,EAAE;YACZ,aAAa,EAAE;gBACb,gBAAgB,EAAE,CAAC,kCAAkC,CAAC;aACvD;YACD,+BAA+B,EAAE;gBAC/B,gBAAgB,EAAE,CAAC,kCAAkC,CAAC;aACvD;YACD,yCAAyC,EAAE;gBACzC,gBAAgB,EAAE,CAAC,4BAA4B,CAAC;aACjD;SACF;KACF;CACF,CAAC;AAEF,kBAAe,KAAK,CAAC","sourcesContent":["import type { PackageRules } from '..';\n\nlet rules: PackageRules[] = [\n {\n package: '@ember-data/store',\n semverRange: '<=4.11.0',\n addonModules: {\n '-private.js': {\n dependsOnModules: ['@ember-data/record-data/-private'],\n },\n '-private/system/core-store.js': {\n dependsOnModules: ['@ember-data/record-data/-private'],\n },\n '-private/system/model/internal-model.js': {\n dependsOnModules: ['@ember-data/model/-private'],\n },\n },\n },\n];\n\nexport default rules;\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ember-element-helper.js","sourceRoot":"","sources":["../../../src/addon-dependency-rules/ember-element-helper.ts"],"names":[],"mappings":";;AAEA,IAAI,KAAK,GAAiB;IACxB,OAAO,EAAE,sBAAsB;IAC/B,YAAY,EAAE;QACZ,qBAAqB,EAAE;YACrB,mBAAmB,EAAE,CAAC,sBAAsB,EAAE,0BAA0B,CAAC;SAC1E;KACF;IACD,UAAU,EAAE,EAAE;CACf,CAAC;AAEF,kBAAe,CAAC,KAAK,CAAC,CAAC","sourcesContent":["import type { PackageRules } from '..';\n\nlet rules: PackageRules = {\n package: 'ember-element-helper',\n addonModules: {\n 'helpers/-element.js': {\n dependsOnComponents: ['{{-dynamic-element}}', '{{-dynamic-element-alt}}'],\n },\n },\n components: {},\n};\n\nexport default [rules];\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ember-modal-dialog.js","sourceRoot":"","sources":["../../../src/addon-dependency-rules/ember-modal-dialog.ts"],"names":[],"mappings":";;AAEA,MAAM,KAAK,GAAmB;IAC5B;QACE,OAAO,EAAE,oBAAoB;QAC7B,UAAU,EAAE;YACV,gBAAgB,EAAE;gBAChB,OAAO,EAAE;oBACP,wBAAwB,EAAE;wBACxB,yCAAyC;wBACzC,8CAA8C;wBAC9C,uCAAuC;wBACvC,uCAAuC;wBACvC,sCAAsC;qBACvC;iBACF;gBACD,MAAM,EAAE;oBACN,SAAS,EAAE,uCAAuC;iBACnD;aACF;YACD,mBAAmB,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE;YAC3C,iBAAiB,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE;SAC1C;KACF;CACF,CAAC;AAEF,kBAAe,KAAK,CAAC","sourcesContent":["import type { PackageRules } from '..';\n\nconst rules: PackageRules[] = [\n {\n package: 'ember-modal-dialog',\n components: {\n '<ModalDialog/>': {\n invokes: {\n modalDialogComponentName: [\n '{{ember-modal-dialog/-in-place-dialog}}',\n '{{ember-modal-dialog/-liquid-tether-dialog}}',\n '{{ember-modal-dialog/-tether-dialog}}',\n '{{ember-modal-dialog/-liquid-dialog}}',\n '{{ember-modal-dialog/-basic-dialog}}',\n ],\n },\n layout: {\n addonPath: 'templates/components/modal-dialog.hbs',\n },\n },\n '<LiquidWormhole/>': { safeToIgnore: true },\n '<LiquidTether/>': { safeToIgnore: true },\n },\n },\n];\n\nexport default rules;\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ember-power-select-typeahead.js","sourceRoot":"","sources":["../../../src/addon-dependency-rules/ember-power-select-typeahead.ts"],"names":[],"mappings":";;AAEA,IAAI,KAAK,GAAiB;IACxB,OAAO,EAAE,8BAA8B;IACvC,YAAY,EAAE;QACZ,wCAAwC,EAAE;YACxC,mBAAmB,EAAE,CAAC,oCAAoC,CAAC;SAC5D;QACD,uCAAuC,EAAE;YACvC,mBAAmB,EAAE,CAAC,mCAAmC,CAAC;SAC3D;KACF;IACD,UAAU,EAAE;QACV,4BAA4B,EAAE;YAC5B,MAAM,EAAE;gBACN,SAAS,EAAE,iDAAiD;aAC7D;YACD,yBAAyB,EAAE;gBACzB,uBAAuB;gBACvB,wBAAwB;gBACxB,kBAAkB;gBAClB,sBAAsB;gBACtB,wBAAwB;gBACxB,uBAAuB;gBACvB,kBAAkB;aACnB;SACF;KACF;CACF,CAAC;AAEF,kBAAe,CAAC,KAAK,CAAC,CAAC","sourcesContent":["import type { PackageRules } from '..';\n\nlet rules: PackageRules = {\n package: 'ember-power-select-typeahead',\n addonModules: {\n './components/power-select-typeahead.js': {\n dependsOnComponents: ['{{power-select-typeahead/trigger}}'],\n },\n './components/power-select-multiple.js': {\n dependsOnComponents: ['{{power-select-multiple/trigger}}'],\n },\n },\n components: {\n '{{power-select-typeahead}}': {\n layout: {\n addonPath: 'templates/components/power-select-typeahead.hbs',\n },\n acceptsComponentArguments: [\n 'afterOptionsComponent',\n 'beforeOptionsComponent',\n 'optionsComponent',\n 'placeholderComponent',\n 'searchMessageComponent',\n 'selectedItemComponent',\n 'triggerComponent',\n ],\n },\n },\n};\n\nexport default [rules];\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ember-power-select-with-create.js","sourceRoot":"","sources":["../../../src/addon-dependency-rules/ember-power-select-with-create.ts"],"names":[],"mappings":";;AAEA,MAAM,KAAK,GAAmB;IAC5B;QACE,OAAO,EAAE,gCAAgC;QACzC,WAAW,EAAE,QAAQ;QACrB,UAAU,EAAE;YACV,0BAA0B,EAAE;gBAC1B,yBAAyB,EAAE,CAAC,0BAA0B,EAAE,0BAA0B,CAAC;gBACnF,MAAM,EAAE;oBACN,SAAS,EAAE,mDAAmD;iBAC/D;aACF;SACF;QACD,YAAY,EAAE;YACZ,wCAAwC,EAAE;gBACxC,mBAAmB,EAAE,CAAC,gBAAgB,EAAE,2CAA2C,CAAC;aACrF;SACF;KACF;CACF,CAAC;AAEF,kBAAe,KAAK,CAAC","sourcesContent":["import type { PackageRules } from '..';\n\nconst rules: PackageRules[] = [\n {\n package: 'ember-power-select-with-create',\n semverRange: '<3.0.0',\n components: {\n '<PowerSelectWithCreate/>': {\n acceptsComponentArguments: ['powerSelectComponentName', 'suggestedOptionComponent'],\n layout: {\n addonPath: 'templates/components/power-select-with-create.hbs',\n },\n },\n },\n addonModules: {\n 'components/power-select-with-create.js': {\n dependsOnComponents: ['<PowerSelect/>', '<PowerSelectWithCreate::SuggestedOption/>'],\n },\n },\n },\n];\n\nexport default rules;\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ember-power-select.js","sourceRoot":"","sources":["../../../src/addon-dependency-rules/ember-power-select.ts"],"names":[],"mappings":";;AAEA,IAAI,KAAK,GAAiB;IACxB,OAAO,EAAE,oBAAoB;IAC7B,WAAW,EAAE,SAAS;IACtB,YAAY,EAAE;QACZ,8BAA8B,EAAE;YAC9B,mBAAmB,EAAE;gBACnB,iCAAiC;gBACjC,0BAA0B;gBAC1B,qCAAqC;gBACrC,0BAA0B;gBAC1B,iCAAiC;gBACjC,8BAA8B;aAC/B;SACF;QACD,uCAAuC,EAAE;YACvC,mBAAmB,EAAE,CAAC,mCAAmC,CAAC;SAC3D;KACF;IACD,UAAU,EAAE;QACV,kBAAkB,EAAE;YAClB,MAAM,EAAE;gBACN,SAAS,EAAE,uCAAuC;aACnD;YACD,yBAAyB,EAAE;gBACzB,uBAAuB;gBACvB,wBAAwB;gBACxB,kBAAkB;gBAClB,sBAAsB;gBACtB,wBAAwB;gBACxB,uBAAuB;gBACvB,kBAAkB;aACnB;SACF;QACD,2BAA2B,EAAE;YAC3B,MAAM,EAAE;gBACN,SAAS,EAAE,gDAAgD;aAC5D;YACD,yBAAyB,EAAE;gBACzB,uBAAuB;gBACvB,wBAAwB;gBACxB,gBAAgB;gBAChB,kBAAkB;gBAClB,sBAAsB;gBACtB,wBAAwB;gBACxB,uBAAuB;gBACvB,kBAAkB;aACnB;SACF;QACD,0BAA0B,EAAE;YAC1B,MAAM,EAAE;gBACN,SAAS,EAAE,+CAA+C;aAC3D;YACD,yBAAyB,EAAE,CAAC,uBAAuB,EAAE,sBAAsB,CAAC;SAC7E;QACD,0BAA0B,EAAE;YAC1B,MAAM,EAAE;gBACN,SAAS,EAAE,+CAA+C;aAC3D;YACD,yBAAyB,EAAE,CAAC,gBAAgB,EAAE,kBAAkB,CAAC;SAClE;QACD,mCAAmC,EAAE;YACnC,MAAM,EAAE;gBACN,SAAS,EAAE,wDAAwD;aACpE;YACD,yBAAyB,EAAE,CAAC,uBAAuB,CAAC;SACrD;KACF;CACF,CAAC;AAEF,kBAAe,CAAC,KAAK,CAAC,CAAC","sourcesContent":["import type { PackageRules } from '..';\n\nlet rules: PackageRules = {\n package: 'ember-power-select',\n semverRange: '< 5.0.1',\n addonModules: {\n './components/power-select.js': {\n dependsOnComponents: [\n '{{power-select/before-options}}',\n '{{power-select/options}}',\n '{{power-select/power-select-group}}',\n '{{power-select/trigger}}',\n '{{power-select/search-message}}',\n '{{power-select/placeholder}}',\n ],\n },\n './components/power-select-multiple.js': {\n dependsOnComponents: ['{{power-select-multiple/trigger}}'],\n },\n },\n components: {\n '{{power-select}}': {\n layout: {\n addonPath: 'templates/components/power-select.hbs',\n },\n acceptsComponentArguments: [\n 'afterOptionsComponent',\n 'beforeOptionsComponent',\n 'optionsComponent',\n 'placeholderComponent',\n 'searchMessageComponent',\n 'selectedItemComponent',\n 'triggerComponent',\n ],\n },\n '{{power-select-multiple}}': {\n layout: {\n addonPath: 'templates/components/power-select-multiple.hbs',\n },\n acceptsComponentArguments: [\n 'afterOptionsComponent',\n 'beforeOptionsComponent',\n 'groupComponent',\n 'optionsComponent',\n 'placeholderComponent',\n 'searchMessageComponent',\n 'selectedItemComponent',\n 'triggerComponent',\n ],\n },\n '{{power-select/trigger}}': {\n layout: {\n addonPath: 'templates/components/power-select/trigger.hbs',\n },\n acceptsComponentArguments: ['selectedItemComponent', 'placeholderComponent'],\n },\n '{{power-select/options}}': {\n layout: {\n addonPath: 'templates/components/power-select/options.hbs',\n },\n acceptsComponentArguments: ['groupComponent', 'optionsComponent'],\n },\n '{{power-select-multiple/trigger}}': {\n layout: {\n addonPath: 'templates/components/power-select-multiple/trigger.hbs',\n },\n acceptsComponentArguments: ['selectedItemComponent'],\n },\n },\n};\n\nexport default [rules];\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"babel-visitor.js","sourceRoot":"","sources":["../../../src/audit/babel-visitor.ts"],"names":[],"mappings":"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","sourcesContent":["import type { NodePath, Node } from '@babel/traverse';\nimport traverse from '@babel/traverse';\nimport type { TransformOptions } from '@babel/core';\nimport { transformSync, types as t } from '@babel/core';\nimport type { SourceLocation } from '@babel/code-frame';\nimport { codeFrameColumns } from '@babel/code-frame';\n\nexport class VisitorState {}\n\nexport interface InternalImport {\n source: string;\n codeFrameIndex: number | undefined;\n specifiers: {\n name: string | NamespaceMarker;\n local: string | null; // can be null when re-exporting, because in that case we import `name` from `source` but don't create any local binding for it\n codeFrameIndex: number | undefined;\n }[];\n}\n\nexport interface NamespaceMarker {\n isNamespace: true;\n}\n\nexport function isNamespaceMarker(value: string | NamespaceMarker): value is NamespaceMarker {\n return typeof value !== 'string';\n}\n\nexport interface ExportAll {\n all: string;\n}\n\nexport function auditJS(rawSource: string, filename: string, babelConfig: TransformOptions, frames: CodeFrameStorage) {\n if (!babelConfig.ast) {\n throw new Error(`module auditing requires a babel config with ast: true`);\n }\n\n let imports = [] as InternalImport[];\n let exports = new Set<string | ExportAll>();\n let problems = [] as { message: string; detail: string; codeFrameIndex: number | undefined }[];\n\n /* eslint-disable @typescript-eslint/no-inferrable-types */\n // These are not really inferrable. Without explicit declarations, TS thinks\n // they're always false because it doesn't know the handler methods run\n // synchronously\n let sawModule: boolean = false;\n let sawExports: boolean = false;\n let sawDefine: boolean = false;\n /* eslint-enable @typescript-eslint/no-inferrable-types */\n\n let { ast, code } = transformSync(rawSource, Object.assign({ filename: filename }, babelConfig))!;\n let saveCodeFrame = frames.forSource(rawSource);\n\n traverse(ast!, {\n Identifier(path: NodePath<t.Identifier>) {\n if (path.node.name === 'module' && isFreeVariable(path)) {\n sawModule = true;\n } else if (path.node.name === 'exports' && isFreeVariable(path)) {\n sawExports = true;\n } else if (path.node.name === 'define' && isFreeVariable(path)) {\n sawDefine = true;\n }\n if (inExportDeclarationContext(path)) {\n exports.add(path.node.name);\n }\n },\n CallExpression(path: NodePath<t.CallExpression>) {\n let callee = path.get('callee');\n if (callee.referencesImport('@embroider/macros', 'importSync') || t.isImport(callee.node)) {\n let arg = path.node.arguments[0];\n if (arg.type === 'StringLiteral') {\n imports.push({\n source: arg.value,\n codeFrameIndex: saveCodeFrame(arg),\n specifiers: [],\n });\n } else if (arg.leadingComments?.find(c => /@vite-ignore/.test(c.value))) {\n // this is vite internals that we should ignore too\n } else {\n problems.push({\n message: `audit tool is unable to understand this usage of ${\n t.isImport(callee.node) ? 'import' : 'importSync'\n }`,\n detail: arg.type,\n codeFrameIndex: saveCodeFrame(arg),\n });\n }\n }\n },\n ImportDeclaration(path: NodePath<t.ImportDeclaration>) {\n imports.push({\n source: path.node.source.value,\n codeFrameIndex: saveCodeFrame(path.node.source),\n specifiers: [],\n });\n },\n ImportDefaultSpecifier(path: NodePath<t.ImportDefaultSpecifier>) {\n imports[imports.length - 1].specifiers.push({\n name: 'default',\n local: path.node.local.name,\n codeFrameIndex: saveCodeFrame(path.node),\n });\n },\n ImportNamespaceSpecifier(path: NodePath<t.ImportNamespaceSpecifier>) {\n imports[imports.length - 1].specifiers.push({\n name: { isNamespace: true },\n local: path.node.local.name,\n codeFrameIndex: saveCodeFrame(path.node),\n });\n },\n ImportSpecifier(path: NodePath<t.ImportSpecifier>) {\n imports[imports.length - 1].specifiers.push({\n name: name(path.node.imported),\n local: path.node.local.name,\n codeFrameIndex: saveCodeFrame(path.node),\n });\n },\n ExportDefaultDeclaration(_path: NodePath<t.ExportDefaultDeclaration>) {\n exports.add('default');\n },\n ExportSpecifier(path: NodePath<t.ExportSpecifier>) {\n exports.add(name(path.node.exported));\n if (path.parent.type === 'ExportNamedDeclaration' && path.parent.source) {\n imports[imports.length - 1].specifiers.push({\n name: name(path.node.local),\n local: null, // re-exports don't create local bindings\n codeFrameIndex: saveCodeFrame(path.node),\n });\n }\n },\n ExportNamespaceSpecifier(path: NodePath<t.ExportNamespaceSpecifier>) {\n exports.add(name(path.node.exported));\n if (path.parent.type === 'ExportNamedDeclaration' && path.parent.source) {\n imports[imports.length - 1].specifiers.push({\n name: { isNamespace: true },\n local: null, // re-exports don't create local bindings\n codeFrameIndex: saveCodeFrame(path.node),\n });\n }\n },\n ExportAllDeclaration(path: NodePath<t.ExportAllDeclaration>) {\n exports.add({ all: path.node.source.value });\n imports.push({\n source: path.node.source.value,\n codeFrameIndex: saveCodeFrame(path.node.source),\n specifiers: [\n {\n name: { isNamespace: true },\n local: null,\n codeFrameIndex: saveCodeFrame(path.node),\n },\n ],\n });\n },\n ExportNamedDeclaration(path: NodePath<t.ExportNamedDeclaration>) {\n if (path.node.source) {\n imports.push({\n source: path.node.source.value,\n codeFrameIndex: saveCodeFrame(path.node.source),\n specifiers: [],\n });\n }\n },\n });\n\n let isCJS = imports.length === 0 && exports.size === 0 && (sawModule || sawExports);\n let isAMD = imports.length === 0 && exports.size === 0 && sawDefine;\n return { imports, exports, isCJS, isAMD, problems, transpiledContent: code! };\n}\n\nexport class CodeFrameStorage {\n private codeFrames = [] as { rawSourceIndex: number; loc: SourceLocation }[];\n private rawSources = [] as string[];\n\n forSource(rawSource: string): (node: { loc?: SourceLocation | null }) => number | undefined {\n let rawSourceIndex: number | undefined;\n return (node: { loc?: SourceLocation | null | undefined }) => {\n let loc = node.loc;\n if (!loc) {\n return;\n }\n if (rawSourceIndex == null) {\n rawSourceIndex = this.rawSources.length;\n this.rawSources.push(rawSource);\n }\n let codeFrameIndex = this.codeFrames.length;\n this.codeFrames.push({\n rawSourceIndex,\n loc,\n });\n return codeFrameIndex;\n };\n }\n\n render(codeFrameIndex: number | undefined): string | undefined {\n if (codeFrameIndex != null) {\n let { loc, rawSourceIndex } = this.codeFrames[codeFrameIndex];\n return codeFrameColumns(this.rawSources[rawSourceIndex], loc, { highlightCode: true });\n }\n }\n}\n\nfunction name(node: t.StringLiteral | t.Identifier): string {\n if (t.isStringLiteral(node)) {\n return node.value;\n } else {\n return node.name;\n }\n}\n\nfunction isFreeVariable(path: NodePath<t.Identifier>) {\n return !path.scope.hasBinding(path.node.name);\n}\n\nconst contextCache: WeakMap<Node, boolean> = new WeakMap();\n\nfunction inExportDeclarationContext(path: NodePath): boolean {\n if (contextCache.has(path.node)) {\n return contextCache.get(path.node)!;\n } else {\n let answer = _inExportDeclarationContext(path);\n contextCache.set(path.node, answer);\n return answer;\n }\n}\n\nfunction _inExportDeclarationContext(path: NodePath): boolean {\n let parent = path.parent;\n switch (parent.type) {\n case 'ExportNamedDeclaration':\n return parent.declaration === path.node;\n case 'VariableDeclaration':\n case 'ObjectPattern':\n case 'ArrayPattern':\n case 'RestElement':\n return inExportDeclarationContext(path.parentPath!);\n case 'VariableDeclarator':\n return parent.id === path.node && inExportDeclarationContext(path.parentPath!);\n case 'ObjectProperty':\n return parent.value === path.node && inExportDeclarationContext(path.parentPath!);\n case 'AssignmentPattern':\n return parent.left === path.node && inExportDeclarationContext(path.parentPath!);\n case 'FunctionDeclaration':\n case 'ClassDeclaration':\n return parent.id === path.node && inExportDeclarationContext(path.parentPath!);\n default:\n return false;\n }\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"build.js","sourceRoot":"","sources":["../../../src/audit/build.ts"],"names":[],"mappings":";;;;;;AAIA,4BAaC;AASD,oCAEC;AA5BD,kDAA0B;AAE1B,iDAAsC;AAE/B,KAAK,UAAU,QAAQ,CAAC,OAA0B;IACvD,IAAI,MAAM,GAAG,MAAM,OAAO,CAAC,6CAA6C,EAAE;QACxE,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,GAAG,EAAE;YACH,WAAW,EAAE,MAAM;SACpB;KACF,CAAC,CAAC;IAEH,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,UAAU,CAClB,GAAG,eAAK,CAAC,MAAM,CAAC,uBAAuB,CAAC,qDAAqD,MAAM,CAAC,MAAM,EAAE,CAC7G,CAAC;IACJ,CAAC;AACH,CAAC;AAED,MAAa,UAAW,SAAQ,KAAK;IAEnC,YAAY,WAAmB;QAC7B,KAAK,CAAC,WAAW,CAAC,CAAC;QAFrB,iBAAY,GAAG,IAAI,CAAC;IAGpB,CAAC;CACF;AALD,gCAKC;AAED,SAAgB,YAAY,CAAC,GAAQ;IACnC,OAAO,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,YAAY,CAAC;AAC3B,CAAC;AAED,KAAK,UAAU,OAAO,CACpB,YAAoB,EACpB,IAAqD;IAOrD,IAAI,GAAmD,CAAC;IACxD,IAAI,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,GAAG,EAAE,CAAC;QACd,GAAG,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACxC,CAAC;IACD,IAAI,KAAK,GAAG,IAAA,qBAAK,EAAC,YAAY,EAAE;QAC9B,KAAK,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC;QAClC,GAAG,EAAE,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,GAAG;QACd,KAAK,EAAE,IAAI;QACX,GAAG;KACJ,CAAC,CAAC;IACH,IAAI,YAAY,GAAa,EAAE,CAAC;IAChC,IAAI,YAAY,GAAa,EAAE,CAAC;IAChC,IAAI,cAAc,GAAa,EAAE,CAAC;IAClC,KAAK,CAAC,MAAO,CAAC,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE;QAC9B,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxB,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC,CAAC,CAAC;IACH,KAAK,CAAC,MAAO,CAAC,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE;QAC9B,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxB,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC,CAAC,CAAC;IACH,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;QAC3B,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,QAAgB,EAAE,EAAE;YACrC,OAAO,CAAC;gBACN,QAAQ;gBACR,IAAI,MAAM;oBACR,OAAO,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAC/B,CAAC;gBACD,IAAI,MAAM;oBACR,OAAO,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAC/B,CAAC;gBACD,IAAI,MAAM;oBACR,OAAO,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACjC,CAAC;aACF,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC","sourcesContent":["import chalk from 'chalk';\nimport type { AuditBuildOptions } from '../audit';\nimport { spawn } from 'child_process';\n\nexport async function buildApp(options: AuditBuildOptions): Promise<void> {\n let result = await execute(`node node_modules/ember-cli/bin/ember build`, {\n pwd: options.app,\n env: {\n STAGE2_ONLY: 'true',\n },\n });\n\n if (result.exitCode !== 0) {\n throw new BuildError(\n `${chalk.yellow('Unable to begin audit')} because the build failed. Build output follows:\\n${result.output}`\n );\n }\n}\n\nexport class BuildError extends Error {\n isBuildError = true;\n constructor(buildOutput: string) {\n super(buildOutput);\n }\n}\n\nexport function isBuildError(err: any): err is BuildError {\n return err?.isBuildError;\n}\n\nasync function execute(\n shellCommand: string,\n opts?: { env?: Record<string, string>; pwd?: string }\n): Promise<{\n exitCode: number;\n stderr: string;\n stdout: string;\n output: string;\n}> {\n let env: Record<string, string | undefined> | undefined;\n if (opts?.env) {\n env = { ...process.env, ...opts.env };\n }\n let child = spawn(shellCommand, {\n stdio: ['inherit', 'pipe', 'pipe'],\n cwd: opts?.pwd,\n shell: true,\n env,\n });\n let stderrBuffer: string[] = [];\n let stdoutBuffer: string[] = [];\n let combinedBuffer: string[] = [];\n child.stderr!.on('data', data => {\n stderrBuffer.push(data);\n combinedBuffer.push(data);\n });\n child.stdout!.on('data', data => {\n stdoutBuffer.push(data);\n combinedBuffer.push(data);\n });\n return new Promise(resolve => {\n child.on('close', (exitCode: number) => {\n resolve({\n exitCode,\n get stdout() {\n return stdoutBuffer.join('');\n },\n get stderr() {\n return stderrBuffer.join('');\n },\n get output() {\n return combinedBuffer.join('');\n },\n });\n });\n });\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"options.js","sourceRoot":"","sources":["../../../src/audit/options.ts"],"names":[],"mappings":"","sourcesContent":["export interface AuditOptions {\n entrypoints: string[];\n rootURL: string;\n}\n\nexport interface AuditBuildOptions extends AuditOptions {\n 'reuse-build'?: boolean;\n app: string;\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"audit.js","sourceRoot":"","sources":["../../src/audit.ts"],"names":[],"mappings":"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","sourcesContent":["import { readFileSync, readJSONSync } from 'fs-extra';\nimport { join, resolve as resolvePath, dirname } from 'path';\nimport type { ResolverOptions } from '@embroider/core';\nimport { explicitRelative, hbsToJS, locateEmbroiderWorkingDir, Resolver, RewrittenPackageCache } from '@embroider/core';\nimport { Memoize } from 'typescript-memoize';\nimport chalk from 'chalk';\nimport groupBy from 'lodash/groupBy';\nimport type { NamespaceMarker } from './audit/babel-visitor';\nimport { CodeFrameStorage, isNamespaceMarker } from './audit/babel-visitor';\nimport { AuditBuildOptions, AuditOptions } from './audit/options';\nimport { buildApp, BuildError, isBuildError } from './audit/build';\nimport {\n type ContentType,\n type Module,\n visitModules,\n type RootMarker,\n isRootMarker,\n type CompleteModule,\n} from './module-visitor';\n\nexport interface AuditMessage {\n message: string;\n detail: string;\n loc: Loc;\n source: string;\n filename: string;\n}\n\nexport interface Loc {\n start: { line: number; column: number };\n end: { line: number; column: number };\n}\n\nexport { AuditOptions, AuditBuildOptions, BuildError, isBuildError };\n\nexport interface Finding {\n message: string;\n filename: string;\n detail: string;\n codeFrame?: string;\n}\n\nexport class AuditResults {\n modules: { [file: string]: Module } = {};\n findings: Finding[] = [];\n\n static create(baseDir: string, findings: Finding[], modules: Record<string, Module>) {\n let results = new this();\n results.modules = modules;\n for (let finding of findings) {\n const filename = finding.filename.startsWith('./')\n ? finding.filename\n : explicitRelative(baseDir, finding.filename);\n\n let relFinding = Object.assign({}, finding, { filename });\n results.findings.push(relFinding);\n }\n return results;\n }\n\n humanReadable(): string {\n let output = [] as string[];\n let findingsByFile = groupBy(this.findings, f => f.filename);\n output.push(`=== Audit Results ===`);\n for (let [filename, findings] of Object.entries(findingsByFile)) {\n output.push(`${chalk.yellow(filename)}`);\n for (let finding of findings) {\n output.push(indent(chalk.red(finding.message) + ': ' + finding.detail, 1));\n if (finding.codeFrame) {\n output.push(indent(finding.codeFrame, 2));\n }\n }\n output.push(indent(chalk.blueBright(`file was included because:`), 1));\n let pointer: string | RootMarker = filename;\n while (!isRootMarker(pointer)) {\n // the zero here means we only display the first path we found. I think\n // that's a fine tradeoff to keep the output smaller.\n let nextPointer: string | RootMarker | undefined = this.modules[pointer]?.consumedFrom[0];\n if (!nextPointer) {\n output.push(\n indent(\n chalk.red(`couldn't figure out why this was included. Please file a bug against @embroider/compat.`),\n 2\n )\n );\n break;\n }\n if (isRootMarker(nextPointer)) {\n output.push(indent('packageJSON.ember-addon.assets', 2));\n } else {\n output.push(indent(nextPointer, 2));\n }\n pointer = nextPointer;\n }\n }\n let summaryColor;\n if (this.perfect) {\n summaryColor = chalk.green;\n } else {\n summaryColor = chalk.yellow;\n }\n output.push(summaryColor(`${this.findings.length} issues found`));\n output.push(`=== End Audit Results ===`);\n output.push(''); // always end with a newline because `yarn run` can overwrite our last line otherwise\n return output.join('\\n');\n }\n\n get perfect() {\n return this.findings.length === 0;\n }\n}\n\nexport class Audit {\n private virtualModules: Map<string, string> = new Map();\n private findings = [] as Finding[];\n\n private frames = new CodeFrameStorage();\n\n static async run(options: AuditBuildOptions): Promise<AuditResults> {\n if (!options['reuse-build']) {\n await buildApp(options);\n }\n\n let audit = new this(options.app, options);\n return audit.run();\n }\n\n constructor(private originAppRoot: string, private options: AuditOptions) {}\n\n @Memoize()\n private get movedAppRoot() {\n let cache = RewrittenPackageCache.shared('embroider', this.originAppRoot);\n return cache.maybeMoved(cache.get(this.originAppRoot)).root;\n }\n\n @Memoize()\n private get babelConfig() {\n let origCwd = process.cwd();\n process.chdir(this.originAppRoot);\n try {\n // eslint-disable-next-line @typescript-eslint/no-require-imports\n let config = require(join(this.originAppRoot, 'babel.config.cjs'));\n\n config = Object.assign({}, config);\n config.plugins = config.plugins.filter((p: any) => !isMacrosPlugin(p));\n\n config.ast = true;\n return config;\n } finally {\n process.chdir(origCwd);\n }\n }\n\n private get resolverParams(): ResolverOptions {\n return readJSONSync(join(locateEmbroiderWorkingDir(this.originAppRoot), 'resolver.json'));\n }\n\n private resolver = new Resolver(this.resolverParams);\n\n async run(): Promise<AuditResults> {\n (globalThis as any).embroider_audit = this.handleResolverError.bind(this);\n\n try {\n let entrypoints = this.options.entrypoints\n .filter(a => a.endsWith('html'))\n .map(a => resolvePath(this.movedAppRoot, a));\n\n let modules = await visitModules({\n base: this.originAppRoot,\n entrypoints,\n resolveId: this.resolveId,\n load: this.load,\n findings: this.findings,\n frames: this.frames,\n babelConfig: this.babelConfig,\n });\n\n this.inspectModules(modules);\n\n return AuditResults.create(this.originAppRoot, this.findings, modules);\n } finally {\n delete (globalThis as any).embroider_audit;\n }\n }\n\n private resolveId = async (specifier: string, fromFile: string): Promise<string | undefined> => {\n if (['@embroider/macros'].includes(specifier)) {\n // the audit process deliberately removes the @embroider/macros babel\n // plugins, so the imports are still present and should be left alone.\n return undefined;\n }\n\n if (fromFile.endsWith('.html') && specifier.startsWith(this.options.rootURL)) {\n // root-relative URLs in HTML are actually relative to the appDir\n specifier = explicitRelative(\n dirname(fromFile),\n resolvePath(this.movedAppRoot, specifier.replace(this.options.rootURL, ''))\n );\n }\n\n let resolution = await this.resolver.nodeResolve(specifier, fromFile);\n switch (resolution.type) {\n case 'virtual':\n this.virtualModules.set(resolution.filename, resolution.content);\n return resolution.filename;\n case 'not_found':\n return undefined;\n case 'real':\n return resolution.filename;\n }\n };\n\n private load = async (id: string): Promise<{ content: string | Buffer; type: ContentType } | undefined> => {\n let content: string | Buffer;\n if (this.virtualModules.has(id)) {\n content = this.virtualModules.get(id)!;\n } else {\n content = readFileSync(id);\n }\n\n if (id.endsWith('.html')) {\n return { content, type: 'html' };\n } else if (id.endsWith('.hbs')) {\n return { content: hbsToJS(content.toString('utf8')), type: 'javascript' };\n } else if (id.endsWith('.json')) {\n return this.handleJSON(id, content);\n } else {\n return { content, type: 'javascript' };\n }\n };\n\n private handleResolverError(msg: AuditMessage) {\n this.pushFinding({\n message: msg.message,\n filename: msg.filename,\n detail: msg.detail,\n codeFrame: this.frames.render(this.frames.forSource(msg.source)(msg)),\n });\n }\n\n private inspectModules(modules: Record<string, Module>) {\n for (let [filename, module] of Object.entries(modules)) {\n if (module.type === 'complete') {\n this.inspectImports(filename, module, modules);\n }\n }\n }\n\n private inspectImports(filename: string, module: CompleteModule, modules: Record<string, Module>) {\n for (let imp of module.imports) {\n // our Audit should always ignore any imports of @embroider/macros because we already ignored them\n // in resolveId above\n if (imp.source === '@embroider/macros') {\n continue;\n }\n let resolved = module.resolutions[imp.source];\n if (!resolved) {\n this.findings.push({\n filename,\n message: 'unable to resolve dependency',\n detail: imp.source,\n codeFrame: this.frames.render(imp.codeFrameIndex),\n });\n } else if (resolved) {\n let target = modules[resolved]!;\n for (let specifier of imp.specifiers) {\n if (target.type === 'complete' && !this.moduleProvidesName(target, specifier.name)) {\n if (specifier.name === 'default') {\n let backtick = '`';\n this.findings.push({\n filename,\n message: 'importing a non-existent default export',\n detail: `\"${imp.source}\" has no default export. Did you mean ${backtick}import * as ${specifier.local} from \"${imp.source}\"${backtick}?`,\n codeFrame: this.frames.render(specifier.codeFrameIndex),\n });\n } else {\n this.findings.push({\n filename,\n message: 'importing a non-existent named export',\n detail: `\"${imp.source}\" has no export named \"${specifier.name}\".`,\n codeFrame: this.frames.render(specifier.codeFrameIndex),\n });\n }\n }\n }\n }\n }\n }\n\n private moduleProvidesName(target: CompleteModule, name: string | NamespaceMarker) {\n // any module can provide a namespace.\n // CJS and AMD are too dynamic to be sure exactly what names are available,\n // so they always get a pass\n return isNamespaceMarker(name) || target.isCJS || target.isAMD || target.exports.includes(name);\n }\n\n private handleJSON(filename: string, content: Buffer | string): { content: string; type: ContentType } | undefined {\n let js;\n try {\n let structure = JSON.parse(content.toString('utf8'));\n js = `export default ${JSON.stringify(structure)}`;\n } catch (err) {\n this.findings.push({\n filename,\n message: `failed to parse JSON`,\n detail: err.toString().replace(filename, explicitRelative(this.originAppRoot, filename)),\n });\n return;\n }\n return { content: js, type: 'javascript' };\n }\n\n private pushFinding(finding: Finding) {\n this.findings.push(finding);\n }\n}\n\nfunction isMacrosPlugin(p: any) {\n return Array.isArray(p) && p[1] && p[1].embroiderMacrosConfigMarker;\n}\n\nfunction indent(str: string, level: number) {\n const spacesPerLevel = 2;\n let spaces = '';\n for (let i = 0; i < level * spacesPerLevel; i++) {\n spaces += ' ';\n }\n\n return str\n .split('\\n')\n .map(line => spaces + line)\n .join('\\n');\n}\n\nexport { Module };\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"babel-plugin-adjust-imports.js","sourceRoot":"","sources":["../../src/babel-plugin-adjust-imports.ts"],"names":[],"mappings":"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","sourcesContent":["import { join } from 'path';\nimport type { NodePath } from '@babel/traverse';\nimport type * as Babel from '@babel/core';\nimport type { types as t } from '@babel/core';\nimport { ImportUtil } from 'babel-import-util';\nimport type { CompatResolverOptions } from './resolver-transform';\nimport type { Package } from '@embroider/core';\nimport { cleanUrl, packageName, type Resolver, ResolverLoader, unrelativize } from '@embroider/core';\nimport { snippetToDasherizedName } from './dasherize-component-name';\nimport type { ActivePackageRules, ComponentRules, ModuleRules, TemplateRules } from './dependency-rules';\nimport { appTreeRulesDir } from './dependency-rules';\n\nexport type Options = { appRoot: string };\n\ninterface State {\n opts: Options;\n}\n\ntype BabelTypes = typeof t;\n\ninterface ExtraImports {\n [key: string]: {\n dependsOnComponents?: string[]; // these are already standardized in dasherized form\n dependsOnModules?: string[];\n };\n}\n\ntype InternalConfig = {\n loader: ResolverLoader;\n\n // rule-based extra dependencies, indexed by filename\n extraImports: ExtraImports;\n\n // rule-based extra dependencies, indexed by classical component name\n componentExtraImports: ExtraImports;\n};\n\nexport default function main(babel: typeof Babel) {\n let cached: InternalConfig | undefined;\n function getConfig(appRoot: string) {\n if (cached) {\n return cached;\n }\n let loader = new ResolverLoader(appRoot);\n\n cached = {\n loader,\n extraImports: preprocessExtraImports(loader),\n componentExtraImports: preprocessComponentExtraImports(loader),\n };\n return cached;\n }\n\n return {\n visitor: {\n Program: {\n enter(path: NodePath<t.Program>, state: State) {\n addExtraImports(babel, path, getConfig(state.opts.appRoot));\n },\n },\n },\n };\n}\n\n(main as any).baseDir = function () {\n return join(__dirname, '..');\n};\n\nfunction addExtraImports(babel: typeof Babel, path: NodePath<t.Program>, config: InternalConfig) {\n let filename: string = cleanUrl((path.hub as any).file.opts.filename);\n let entry = config.extraImports[filename];\n let adder = new ImportUtil(babel, path);\n if (entry) {\n applyRules(babel.types, path, entry, adder, config, filename);\n }\n\n let componentName = config.loader.resolver.reverseComponentLookup(filename);\n if (componentName) {\n let rules = config.componentExtraImports[componentName];\n if (rules) {\n applyRules(babel.types, path, rules, adder, config, filename);\n }\n }\n}\n\nfunction applyRules(\n t: BabelTypes,\n path: NodePath<t.Program>,\n rules: ExtraImports[string],\n adder: ImportUtil,\n config: InternalConfig,\n filename: string\n) {\n let lookup = lazyPackageLookup(config, filename);\n if (rules.dependsOnModules) {\n for (let target of rules.dependsOnModules) {\n if (lookup.owningPackage) {\n let runtimeName: string;\n if (packageName(target)) {\n runtimeName = target;\n } else {\n runtimeName = unrelativize(lookup.owningPackage, target, filename);\n }\n path.node.body.unshift(amdDefine(t, adder, path, target, runtimeName));\n }\n }\n }\n if (rules.dependsOnComponents) {\n for (let dasherizedName of rules.dependsOnComponents) {\n if (lookup.owningEngine) {\n path.node.body.unshift(\n amdDefine(\n t,\n adder,\n path,\n `@embroider/virtual/components/${dasherizedName}`,\n `${lookup.owningEngine.packageName}/components/${dasherizedName}`\n )\n );\n }\n }\n }\n}\n\nfunction amdDefine(t: BabelTypes, adder: ImportUtil, path: NodePath<t.Program>, target: string, runtimeName: string) {\n let value = t.callExpression(adder.import(path, '@embroider/macros', 'importSync'), [t.stringLiteral(target)]);\n return t.expressionStatement(\n t.callExpression(t.memberExpression(t.identifier('window'), t.identifier('define')), [\n t.stringLiteral(runtimeName),\n t.functionExpression(null, [], t.blockStatement([t.returnStatement(value)])),\n ])\n );\n}\n\nfunction preprocessExtraImports(loader: ResolverLoader): ExtraImports {\n let extraImports: ExtraImports = {};\n let config = loader.resolver.options as CompatResolverOptions;\n for (let rule of config.activePackageRules ?? []) {\n if (rule.addonModules) {\n for (let [filename, moduleRules] of Object.entries(rule.addonModules)) {\n for (let root of rule.roots) {\n expandDependsOnRules(root, filename, moduleRules, extraImports);\n }\n }\n }\n if (rule.appModules) {\n for (let [filename, moduleRules] of Object.entries(rule.appModules)) {\n for (let root of rule.roots) {\n // in general v2 addons can keep their app tree stuff in other places\n // than \"_app_\" and we would need to check their package.json to see.\n // But this code is only for applying packageRules to auto-upgraded v1\n // addons, and those we always organize with their treeForApp output\n // in _app_.\n expandDependsOnRules(appTreeRulesDir(root, loader.resolver), filename, moduleRules, extraImports);\n }\n }\n }\n if (rule.addonTemplates) {\n for (let [filename, moduleRules] of Object.entries(rule.addonTemplates)) {\n for (let root of rule.roots) {\n expandInvokesRules(root, filename, moduleRules, extraImports);\n }\n }\n }\n if (rule.appTemplates) {\n for (let [filename, moduleRules] of Object.entries(rule.appTemplates)) {\n for (let root of rule.roots) {\n expandInvokesRules(appTreeRulesDir(root, loader.resolver), filename, moduleRules, extraImports);\n }\n }\n }\n }\n return extraImports;\n}\n\nfunction lazyPackageLookup(config: InternalConfig, filename: string) {\n let owningPackage: { result: Package | undefined } | undefined;\n let owningEngine: { result: ReturnType<Resolver['owningEngine']> | undefined } | undefined;\n return {\n get owningPackage() {\n if (!owningPackage) {\n owningPackage = { result: config.loader.resolver.packageCache.ownerOfFile(filename) };\n }\n return owningPackage.result;\n },\n get owningEngine() {\n if (!owningEngine) {\n owningEngine = { result: undefined };\n let p = this.owningPackage;\n if (p) {\n owningEngine.result = config.loader.resolver.owningEngine(p);\n }\n }\n return owningEngine.result;\n },\n };\n}\n\nfunction preprocessComponentExtraImports(loader: ResolverLoader): ExtraImports {\n let extraImports: ExtraImports = {};\n let config = loader.resolver.options as CompatResolverOptions;\n for (let rule of config.activePackageRules ?? []) {\n if (rule.components) {\n for (let [componentName, rules] of Object.entries(rule.components)) {\n if (rules.invokes) {\n extraImports[dasherizeComponent(componentName, rule)] = {\n dependsOnComponents: Object.values(rules.invokes)\n .flat()\n .map(c => dasherizeComponent(c, rules)),\n };\n }\n }\n }\n }\n return extraImports;\n}\n\nfunction dasherizeComponent(\n componentSnippet: string,\n rules: ModuleRules | ComponentRules | ActivePackageRules\n): string {\n let d = snippetToDasherizedName(componentSnippet);\n if (!d) {\n throw new Error(\n `unable to parse component snippet \"${componentSnippet}\" from rule ${JSON.stringify(rules, null, 2)}`\n );\n }\n return d;\n}\n\nfunction expandDependsOnRules(\n root: string,\n filename: string,\n rules: ModuleRules,\n extraImports: InternalConfig['extraImports']\n) {\n if (rules.dependsOnModules || rules.dependsOnComponents) {\n let entry: InternalConfig['extraImports'][string] = {};\n if (rules.dependsOnModules) {\n entry.dependsOnModules = rules.dependsOnModules;\n }\n if (rules.dependsOnComponents) {\n entry.dependsOnComponents = rules.dependsOnComponents.map(c => dasherizeComponent(c, rules));\n }\n extraImports[join(root, filename)] = entry;\n }\n}\n\nfunction expandInvokesRules(\n root: string,\n filename: string,\n rules: TemplateRules,\n extraImports: InternalConfig['extraImports']\n) {\n if (rules.invokes) {\n let dependsOnComponents: string[] = [];\n for (let componentList of Object.values(rules.invokes)) {\n for (let component of componentList) {\n let d = snippetToDasherizedName(component);\n if (!d) {\n throw new Error(\n `unable to parse component snippet \"${component}\" from rule ${JSON.stringify(rules, null, 2)}`\n );\n }\n dependsOnComponents.push(d);\n }\n }\n extraImports[join(root, filename)] = { dependsOnComponents };\n }\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"babel.js","sourceRoot":"","sources":["../../src/babel.ts"],"names":[],"mappings":"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","sourcesContent":["import type { PluginItem } from '@babel/core';\nimport { existsSync } from 'fs';\nimport {\n locateEmbroiderWorkingDir,\n ResolverLoader,\n templateColocationPluginPath,\n type TemplateColocationPluginOptions,\n} from '@embroider/core';\nimport { join } from 'path';\nimport type { Transform } from 'babel-plugin-ember-template-compilation';\nimport type { Options as ResolverTransformOptions } from './resolver-transform';\nimport { buildMacros } from '@embroider/macros/babel';\n\nexport interface CompatBabelState {\n plugins: PluginItem[];\n templateTransforms: Transform[];\n babelMacros: PluginItem[];\n templateMacros: Transform[];\n}\n\nfunction loadCompatConfig(): CompatBabelState {\n let compatFile = join(locateEmbroiderWorkingDir(process.cwd()), '_babel_compat_.js');\n if (existsSync(compatFile)) {\n // eslint-disable-next-line @typescript-eslint/no-require-imports\n return require(compatFile);\n }\n\n let macros = buildMacros();\n\n return {\n plugins: [],\n templateTransforms: [],\n babelMacros: macros.babelMacros,\n templateMacros: macros.templateMacros as any,\n };\n}\n\nconst resolverLoader = new ResolverLoader(process.cwd());\n\nexport function pluginsFromV1Addons() {\n let config = loadCompatConfig();\n return config.plugins;\n}\n\nexport function transformsFromV1Addons() {\n let config = loadCompatConfig();\n return config.templateTransforms;\n}\n\nexport function looseModeSupport(): Transform {\n const { resolver } = resolverLoader;\n let opts: ResolverTransformOptions = {\n appRoot: resolver.options.appRoot,\n emberVersion: resolver.options.emberVersion,\n };\n return [require.resolve('./resolver-transform'), opts];\n}\n\nexport function templateMacros() {\n let config = loadCompatConfig();\n return config.templateMacros;\n}\n\nexport function babelMacros() {\n let config = loadCompatConfig();\n return config.babelMacros;\n}\n\nexport function oldDebugMacros(): PluginItem[] {\n let debugMacros = require.resolve('babel-plugin-debug-macros');\n return [\n [\n debugMacros,\n {\n flags: [\n {\n source: '@glimmer/env',\n flags: {\n DEBUG: true,\n CI: false,\n },\n },\n ],\n debugTools: {\n isDebug: true,\n source: '@ember/debug',\n assertPredicateIndex: 1,\n },\n externalizeHelpers: {\n module: '@ember/debug',\n },\n },\n '@ember/debug stripping',\n ],\n [\n debugMacros,\n {\n externalizeHelpers: {\n module: '@ember/application/deprecations',\n },\n debugTools: {\n isDebug: true,\n source: '@ember/application/deprecations',\n assertPredicateIndex: 1,\n },\n },\n '@ember/application/deprecations stripping',\n ],\n ];\n}\n\nexport function templateColocation(): PluginItem {\n let colocationOptions: TemplateColocationPluginOptions = {\n appRoot: resolverLoader.resolver.options.appRoot,\n\n // This extra weirdness is a compromise in favor of build performance.\n //\n // 1. When auto-upgrading an addon from v1 to v2, we definitely want to\n // run any custom AST transforms in stage1.\n //\n // 2. In general case, AST transforms are allowed to manipulate Javascript\n // scope. This means that running transforms -- even when we're doing\n // source-to-source compilation that emits handlebars and not wire\n // format -- implies changing .hbs files into .js files.\n //\n // 3. So stage1 may need to rewrite .hbs to .hbs.js (to avoid colliding\n // with an existing co-located .js file).\n //\n // 4. But stage1 doesn't necessarily want to run babel over the\n // corresponding JS file. Most of the time, that's just an\n // unnecessarily expensive second parse. (We only run it in stage1 to\n // eliminate an addon's custom babel plugins, and many addons don't\n // have any.)\n //\n // 5. Therefore, the work of template-colocation gets defered until here,\n // and it may see co-located templates named `.hbs.js` instead of the\n // usual `.hbs.\n templateExtensions: ['.hbs', '.hbs.js'],\n\n // All of the above only applies to auto-upgraded packages that were\n // authored in v1. V2 packages don't get any of this complexity, they're\n // supposed to take care of colocating their own templates explicitly.\n packageGuard: true,\n };\n return [templateColocationPluginPath, colocationOptions];\n}\n\nexport function babelCompatSupport(): PluginItem[] {\n return [...babelMacros(), ...oldDebugMacros(), templateColocation(), ...pluginsFromV1Addons()];\n}\n\nexport function templateCompatSupport(): Transform[] {\n return [...transformsFromV1Addons(), ...templateMacros(), looseModeSupport()];\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"build-compat-addon.js","sourceRoot":"","sources":["../../src/build-compat-addon.ts"],"names":[],"mappings":";;;;;AAOA,mCAoCC;AAzCD,gFAAsD;AACtD,gFAAsD;AAEtD,8EAAoD;AAEpD,SAAwB,gBAAgB,CAAC,eAAwB,EAAE,OAAwB;IACzF,IAAI,eAAe,CAAC,SAAS,EAAE,EAAE,CAAC;QAChC,MAAM,IAAI,KAAK,CACb,uEAAuE,eAAe,CAAC,IAAI,OAAO,eAAe,CAAC,IAAI,gBAAgB,CACvI,CAAC;IACJ,CAAC;IAED,IAAI,WAAW,GAAG,OAAO,CAAC,SAAS,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;IAE1D,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3B,sEAAsE;QACtE,2EAA2E;QAC3E,+BAA+B;QAC/B,WAAW,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;IAC5D,CAAC;IAED,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7B,yEAAyE;QACzE,4EAA4E;QAC5E,kCAAkC;QAClC,EAAE;QACF,yEAAyE;QACzE,gEAAgE;QAChE,0EAA0E;QAC1E,2BAA2B;QAC3B,OAAO,IAAI,4BAAgB,CAAC,eAAe,CAAC,CAAC;IAC/C,CAAC;IAED,IAAI,cAAc,GAAG,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IAC5E,IAAI,cAAc,EAAE,CAAC;QACnB,IAAI,KAAK,GAAG,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC;QACzD,IAAI,QAAQ,GAAG,IAAI,6BAAiB,CAAC,KAAK,EAAE,EAAE,UAAU,EAAE,eAAe,CAAC,IAAI,EAAE,CAAC,CAAC;QAClF,OAAO,IAAA,8BAAkB,EAAC,CAAC,GAAG,KAAK,EAAE,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACvE,CAAC;SAAM,CAAC;QACN,OAAO,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IAC/B,CAAC;AACH,CAAC","sourcesContent":["import type V1InstanceCache from './v1-instance-cache';\nimport type { Package } from '@embroider/core';\nimport SmooshPackageJSON from './smoosh-package-json';\nimport broccoliMergeTrees from 'broccoli-merge-trees';\nimport type { Node } from 'broccoli-node-api';\nimport EmptyPackageTree from './empty-package-tree';\n\nexport default function buildCompatAddon(originalPackage: Package, v1Cache: V1InstanceCache): Node {\n if (originalPackage.isV2Addon()) {\n throw new Error(\n `bug in @embroider/compat. We should not see any v2 addons here, but ${originalPackage.name} as ${originalPackage.root} is a v2 addon`\n );\n }\n\n let oldPackages = v1Cache.getAddons(originalPackage.root);\n\n if (oldPackages.length > 1) {\n // extensibility hook that allows a compat adapter to optimize its own\n // smooshing. We do it early so that if it reduces all the way to zero, the\n // next check will handle that.\n oldPackages = oldPackages[0].reduceInstances(oldPackages);\n }\n\n if (oldPackages.length === 0) {\n // this happens when the v1 addon wasn't actually getting instantiated at\n // all, which can happen if the app uses `addons.blacklist` or another addon\n // uses `shouldIncludeChildAddon`.\n //\n // we still keep a place for this addon in the rewritten addon workspace,\n // because that whole process only depends on looking at all the\n // package.json files on disk -- it can't know which ones are going to end\n // up unused at this point.\n return new EmptyPackageTree(originalPackage);\n }\n\n let needsSmooshing = oldPackages.length > 1 && oldPackages[0].hasAnyTrees();\n if (needsSmooshing) {\n let trees = oldPackages.map(pkg => pkg.v2Tree).reverse();\n let smoosher = new SmooshPackageJSON(trees, { annotation: originalPackage.name });\n return broccoliMergeTrees([...trees, smoosher], { overwrite: true });\n } else {\n return oldPackages[0].v2Tree;\n }\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"test-waiters.js","sourceRoot":"","sources":["../../../../src/compat-adapters/@ember/test-waiters.ts"],"names":[],"mappings":";;;;;AAAA,8DAAqC;AACrC,mCAAmC;AAEnC,eAAqB,SAAQ,kBAAO;IAClC,uEAAuE;IACvE,0EAA0E;IAC1E,8EAA8E;IAC9E,6CAA6C;IACnC,cAAc,CAAC,KAAa;QACpC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,eAAe,CAAC,SAAoB;QAClC,IAAI,CAAC,IAAA,kBAAS,EAAC,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,CAAC;YACpD,MAAM,IAAI,KAAK,CACb,yKAAyK,IAAI,CAAC,WAAW,CAAC,OAAO,GAAG,CACrM,CAAC;QACJ,CAAC;QAED,8EAA8E;QAC9E,6BAA6B;QAC7B,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IACxB,CAAC;CACF;AApBD,4BAoBC","sourcesContent":["import V1Addon from '../../v1-addon';\nimport { satisfies } from 'semver';\n\nexport default class extends V1Addon {\n // our heuristic for detecting tree suppression can't deal with the way\n // test-waiters patches treeFor on other copies of its addon instances all\n // over the place. It causes us to falsely detect that it's trying to suppress\n // all tree output, reducing in empty copies.\n protected suppressesTree(_name: string): boolean {\n return false;\n }\n\n reduceInstances(instances: V1Addon[]): V1Addon[] {\n if (!satisfies(this.packageJSON.version, '>=3.0.2')) {\n throw new Error(\n `@ember/test-waiters cannot work safely under embroider before version 3.0.2 due to https://github.com/emberjs/ember-test-waiters/pull/388. You have a copy at version ${this.packageJSON.version}.`\n );\n }\n\n // we know test waiters tries to dedup itself, so there's no point in building\n // and smooshing many copies.\n return [instances[0]];\n }\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../../src/compat-adapters/@ember-data/adapter.ts"],"names":[],"mappings":";;;AAAA,4CAAyD;AAAhD,qGAAA,aAAa,OAAW","sourcesContent":["export { EmberDataBase as default } from '../ember-data';\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"model.js","sourceRoot":"","sources":["../../../../src/compat-adapters/@ember-data/model.ts"],"names":[],"mappings":";;;AAAA,4CAAyD;AAAhD,qGAAA,aAAa,OAAW","sourcesContent":["export { EmberDataBase as default } from '../ember-data';\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"record-data.js","sourceRoot":"","sources":["../../../../src/compat-adapters/@ember-data/record-data.ts"],"names":[],"mappings":";;;AAAA,4CAAyD;AAAhD,qGAAA,aAAa,OAAW","sourcesContent":["export { EmberDataBase as default } from '../ember-data';\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"serializer.js","sourceRoot":"","sources":["../../../../src/compat-adapters/@ember-data/serializer.ts"],"names":[],"mappings":";;;AAAA,4CAAyD;AAAhD,qGAAA,aAAa,OAAW","sourcesContent":["export { EmberDataBase as default } from '../ember-data';\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"store.js","sourceRoot":"","sources":["../../../../src/compat-adapters/@ember-data/store.ts"],"names":[],"mappings":";;;AAAA,4CAAyD;AAAhD,qGAAA,aAAa,OAAW","sourcesContent":["export { EmberDataBase as default } from '../ember-data';\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tracking.js","sourceRoot":"","sources":["../../../../src/compat-adapters/@glimmer/tracking.ts"],"names":[],"mappings":";;;;;AAAA,8DAAqC;AACrC,sEAAqC;AACrC,+BAA4B;AAC5B,uCAAwD;AAExD;;;;;;;EAOE;AACF,MAAM,eAAgB,SAAQ,yBAAM;IAClC,KAAK;QACH,IAAA,uBAAY,EAAC,IAAA,WAAI,EAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,cAAc,CAAC,EAAE,IAAA,WAAI,EAAC,IAAI,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC,CAAC;QAC9F,IAAA,yBAAc,EACZ,IAAA,WAAI,EAAC,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC;QACjC,iDAAiD;QACjD,8EAA8E;QAC9E;;gCAE0B,CAC3B,CAAC;QACF,IAAA,yBAAc,EACZ,IAAA,WAAI,EAAC,IAAI,CAAC,UAAU,EAAE,YAAY,EAAE,UAAU,CAAC,EAC/C,2EAA2E,CAC5E,CAAC;IACJ,CAAC;CACF;AAED,eAAqB,SAAQ,kBAAO;IAClC,IAAI,MAAM;QACR,OAAO,IAAI,eAAe,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IAC7C,CAAC;CACF;AAJD,4BAIC","sourcesContent":["import V1Addon from '../../v1-addon';\nimport Plugin from 'broccoli-plugin';\nimport { join } from 'path';\nimport { outputFileSync, copyFileSync } from 'fs-extra';\n\n/*\n @glimmer/tracking is a real package but it has no working implementation. The\n real implementation is in ember-source.\n\n Since embroider prioritizes real packages, it's best to provide a compat\n adapter here to make it into a valid package. It's easy enough for it to\n reexport the things from ember that are needed.\n*/\nclass RedirectToEmber extends Plugin {\n build() {\n copyFileSync(join(this.inputPaths[0], 'package.json'), join(this.outputPath, 'package.json'));\n outputFileSync(\n join(this.outputPath, 'index.js'),\n // Prior to ember-source 4.1, cached didn't exist\n // using this way of importing from metal, cached will be undefined if pre 4.1\n `import * as metal from \"@ember/-internals/metal\";\n const { cached, tracked } = metal;\n export { cached, tracked };`\n );\n outputFileSync(\n join(this.outputPath, 'primitives', 'cache.js'),\n `export { createCache, getValue, isConst } from \"@ember/-internals/metal\";`\n );\n }\n}\n\nexport default class extends V1Addon {\n get v2Tree() {\n return new RedirectToEmber([super.v2Tree]);\n }\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vertical-collection.js","sourceRoot":"","sources":["../../../../src/compat-adapters/@html-next/vertical-collection.ts"],"names":[],"mappings":";;;;;AAAA,8DAAqC;AAErC,MAAqB,kBAAmB,SAAQ,kBAAO;IACrD,mGAAmG;IACnG,UAAU,CAAC,GAAG,KAAe;QAC3B,OAAO,KAAK,CAAC,UAAU,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,cAAc,CAAC,CAAC,CAAC;IACtE,CAAC;CACF;AALD,qCAKC","sourcesContent":["import V1Addon from '../../v1-addon';\n\nexport default class VerticalCollection extends V1Addon {\n // `@html-next/vertical-collection` does some custom Babel stuff, so we'll let it do it's own thing\n customizes(...names: string[]) {\n return super.customizes(...names.filter(n => n !== 'treeForAddon'));\n }\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"active-model-adapter.js","sourceRoot":"","sources":["../../../src/compat-adapters/active-model-adapter.ts"],"names":[],"mappings":";;;;;AAAA,2DAAkC;AAClC,kDAAoD;AAEpD,eAAqB,SAAQ,kBAAO;IAClC,IAAI,WAAW;QACb,0EAA0E;QAC1E,4EAA4E;QAC5E,OAAO,IAAA,gCAAiB,EAAC,KAAK,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;IAC5D,CAAC;CACF;AAND,4BAMC","sourcesContent":["import V1Addon from '../v1-addon';\nimport { addPeerDependency } from '../compat-utils';\n\nexport default class extends V1Addon {\n get packageJSON() {\n // active-model-adapter has an unstated peer dependency on ember-data. The\n // old build system allowed this kind of sloppiness, the new world does not.\n return addPeerDependency(super.packageJSON, 'ember-data');\n }\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ember-asset-loader.js","sourceRoot":"","sources":["../../../src/compat-adapters/ember-asset-loader.ts"],"names":[],"mappings":";;;;;AAAA,2DAAkC;AAClC,sEAA0C;AAC1C,iEAAyC;AAEzC,gFAAgF;AAChF,gFAAgF;AAChF,2EAA2E;AAC3E,EAAE;AACF,+EAA+E;AAC/E,+EAA+E;AAC/E,uCAAuC;AACvC,EAAE;AACF,gFAAgF;AAChF,4DAA4D;AAC5D,eAAqB,SAAQ,kBAAO;IAClC,IAAI,MAAM;QACR,OAAO,IAAA,yBAAW,EAAC,KAAK,CAAC,MAAM,EAAE;YAC/B,OAAO,EAAE,CAAC,gCAAgC,EAAE,oDAAoD,CAAC;SAClG,CAAC,CAAC;IACL,CAAC;IACD,IAAI,WAAW;QACb,IAAI,IAAI,GAAG,KAAK,CAAC,WAAW,CAAC;QAC7B,IAAI,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YACnB,IAAI,GAAG,IAAA,mBAAS,EAAC,IAAI,CAAC,CAAC;YACvB,OAAO,IAAI,CAAC,QAAQ,CAAE,CAAC,gDAAgD,CAAC,CAAC;YACzE,OAAO,IAAI,CAAC,QAAQ,CAAE,CAAC,4BAA4B,CAAC,CAAC;QACvD,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAfD,4BAeC","sourcesContent":["import V1Addon from '../v1-addon';\nimport buildFunnel from 'broccoli-funnel';\nimport cloneDeep from 'lodash/cloneDeep';\n\n// ember-asset-loader's ManifestGenerator (which is used as the Addon base class\n// for by ember-engines) has an \"all\" postprocessTree hook. We can't / won't run\n// those in embroider. The hook inserts the asset manifest into index.html.\n//\n// This patch removes the code that would explode if it tries to read from that\n// manifest. ember-asset-loader itself has a mode that excludes these files, so\n// it's tolerant of them being missing.\n//\n// We mostly just want ember-asset-loader to sit down and be quiet, because lazy\n// loading is a thing that is natively handled by embroider.\nexport default class extends V1Addon {\n get v2Tree() {\n return buildFunnel(super.v2Tree, {\n exclude: ['_app_/config/asset-manifest.js', '_app_/instance-initializers/load-asset-manifest.js'],\n });\n }\n get packageMeta() {\n let meta = super.packageMeta;\n if (meta['app-js']) {\n meta = cloneDeep(meta);\n delete meta['app-js']!['./instance-initializers/load-asset-manifest.js'];\n delete meta['app-js']!['./config/asset-manifest.js'];\n }\n return meta;\n }\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ember-cli-addon-docs.js","sourceRoot":"","sources":["../../../src/compat-adapters/ember-cli-addon-docs.ts"],"names":[],"mappings":";;;;;AAAA,2DAAkC;AAClC,kDAAoD;AAEpD,eAAqB,SAAQ,kBAAO;IAClC,IAAI,WAAW;QACb,OAAO,IAAA,gCAAiB,EAAC,KAAK,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;IAC5D,CAAC;CACF;AAJD,4BAIC","sourcesContent":["import V1Addon from '../v1-addon';\nimport { addPeerDependency } from '../compat-utils';\n\nexport default class extends V1Addon {\n get packageJSON() {\n return addPeerDependency(super.packageJSON, 'ember-data');\n }\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ember-cli-babel.js","sourceRoot":"","sources":["../../../src/compat-adapters/ember-cli-babel.ts"],"names":[],"mappings":";;;;;AAAA,2DAAkC;AAElC,MAAqB,aAAc,SAAQ,kBAAO;IAChD,0EAA0E;IAC1E,4EAA4E;IAC5E,gCAAgC;IAChC,eAAe,CAAC,MAAuB;QACrC,IAAI,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;YACjC,IAAI,QAAQ,GAAG,CAAC,CAAC,aAAoB,CAAC;YACtC,OAAO,OAAO,QAAQ,CAAC,sBAAsB,KAAK,UAAU,IAAI,QAAQ,CAAC,sBAAsB,EAAE,CAAC;QACpG,CAAC,CAAC,CAAC;QACH,IAAI,YAAY,EAAE,CAAC;YACjB,OAAO,CAAC,YAAY,CAAC,CAAC;QACxB,CAAC;aAAM,CAAC;YACN,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;CACF;AAfD,gCAeC","sourcesContent":["import V1Addon from '../v1-addon';\n\nexport default class EmberCliBabel extends V1Addon {\n // the only copy of ember-cli-babel that might need to do something is the\n // first one that wants to emit babel polyfills. No other copy is allowed to\n // emit anything into the build.\n reduceInstances(copies: EmberCliBabel[]): EmberCliBabel[] {\n let polyfillCopy = copies.find(c => {\n let instance = c.addonInstance as any;\n return typeof instance._shouldIncludePolyfill === 'function' && instance._shouldIncludePolyfill();\n });\n if (polyfillCopy) {\n return [polyfillCopy];\n } else {\n return [];\n }\n }\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ember-cli-clipboard.js","sourceRoot":"","sources":["../../../src/compat-adapters/ember-cli-clipboard.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,2DAAkC;AAClC,2DAA6C;AAC7C,sEAA0C;AAE1C,MAAqB,iBAAkB,SAAQ,kBAAO;IAEpD,IAAI,MAAM;QACR,IAAI,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC;QACxB,OAAO,IAAA,yBAAW,EAAC,IAAI,EAAE;YACvB,yEAAyE;YACzE,uEAAuE;YACvE,sEAAsE;YACtE,qBAAqB;YACrB,OAAO,EAAE,CAAC,+BAA+B,CAAC;SAC3C,CAAC,CAAC;IACL,CAAC;CACF;AAZD,oCAYC;AAVC;IADC,IAAA,4BAAO,GAAE;+CAUT","sourcesContent":["import V1Addon from '../v1-addon';\nimport { Memoize } from 'typescript-memoize';\nimport buildFunnel from 'broccoli-funnel';\n\nexport default class EmberCLIClipboard extends V1Addon {\n @Memoize()\n get v2Tree() {\n let tree = super.v2Tree;\n return buildFunnel(tree, {\n // ember-cli-clipboard is wrapping *everything* in its vendor tree inside\n // a fastboot guard, including a package.json file. The presence a file\n // named \"package.json\" that isn't actually valid JSON makes packagers\n // like Webpack barf.\n exclude: ['vendor/clipboard/package.json'],\n });\n }\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ember-cli-deprecation-workflow.js","sourceRoot":"","sources":["../../../src/compat-adapters/ember-cli-deprecation-workflow.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,2DAAkC;AAClC,+BAAqC;AACrC,qDAA+C;AAC/C,sDAA8B;AAC9B,2DAA6C;AAC7C,sEAA0C;AAC1C,oDAA4B;AAE5B,eAAqB,SAAQ,kBAAO;IAClC,qHAAqH;IACrH,yCAAyC;IACzC,MAAM,CAAC,kBAAkB,CAAC,aAAkB;QAC1C,OAAO,gBAAM,CAAC,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACvD,CAAC;IAGD,IAAI,OAAO;QACT,2EAA2E;QAC3E,sEAAsE;QACtE,0EAA0E;QAC1E,4EAA4E;QAC5E,oDAAoD;QACpD,2EAA2E;QAC3E,wBAAwB;QACxB,IAAI,WAAW,GAAG,IAAA,cAAO,EACvB,iBAAO,CAAC,IAAI,CAAC,4CAA4C,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,CACjG,CAAC;QACF,IAAI,IAAI,GAAG,IAAA,yBAAW,EAAC,IAAI,8BAAY,CAAC,IAAA,WAAI,EAAC,WAAW,EAAE,QAAQ,CAAC,CAAC,EAAE;YACpE,OAAO,EAAE,QAAQ;SAClB,CAAC,CAAC;QACH,IAAI,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC;QAC1B,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjB,OAAO,KAAK,CAAC;IACf,CAAC;CACF;AA1BD,4BA0BC;AAlBC;IADC,IAAA,4BAAO,GAAE;wCAkBT","sourcesContent":["import V1Addon from '../v1-addon';\nimport { join, dirname } from 'path';\nimport { UnwatchedDir } from 'broccoli-source';\nimport resolve from 'resolve';\nimport { Memoize } from 'typescript-memoize';\nimport buildFunnel from 'broccoli-funnel';\nimport semver from 'semver';\n\nexport default class extends V1Addon {\n // v2.0.0 removes the usage of `ember-debug-handlers-polyfill`, so we only need to apply the adapter if we're working\n // with a version that is older than that\n static shouldApplyAdapter(addonInstance: any) {\n return semver.lt(addonInstance.pkg.version, '2.0.0');\n }\n\n @Memoize()\n get v2Trees() {\n // ember-cli-deprecation-workflow does `app.import` of a file that isn't in\n // its own vendor tree, the file is in ember-debug-handlers-polyfill's\n // vendor tree. It presumably does this because (1) it fails to call super\n // in `included()`, so the ember-debug-handlers-polyfill won't be able to do\n // its own app.import, and (2) even if you fix that,\n // ember-debug-handlers-polyfill itself has a bug that makes it not work as\n // a second-level addon.\n let polyfillDir = dirname(\n resolve.sync('ember-debug-handlers-polyfill/package.json', { basedir: this.addonInstance.root })\n );\n let tree = buildFunnel(new UnwatchedDir(join(polyfillDir, 'vendor')), {\n destDir: 'vendor',\n });\n let trees = super.v2Trees;\n trees.push(tree);\n return trees;\n }\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ember-cli-fastboot-testing.js","sourceRoot":"","sources":["../../../src/compat-adapters/ember-cli-fastboot-testing.ts"],"names":[],"mappings":";;;;;AAAA,2DAAkC;AAElC,MAAqB,uBAAwB,SAAQ,kBAAO;IAC1D,IAAI,MAAM;QACR,IAAI,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC;QACxB,IAAI,mBAAmB,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC;QACzD,IAAI,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC;QAClD,IAAI,CAAC,aAAa,CAAC,WAAW,GAAG;YAC/B,OAAO,mBAAmB,CAAC,IAAI,CAAC,IAAI,EAAE;gBACpC,SAAS,EAAE,GAAG,WAAW,OAAO;aACjC,CAAC,CAAC;QACL,CAAC,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAZD,0CAYC","sourcesContent":["import V1Addon from '../v1-addon';\n\nexport default class EmberCliFastbootTesting extends V1Addon {\n get v2Tree() {\n let tree = super.v2Tree;\n let originalOutputReady = this.addonInstance.outputReady;\n let projectRoot = this.addonInstance.project.root;\n this.addonInstance.outputReady = function () {\n return originalOutputReady.call(this, {\n directory: `${projectRoot}/dist`,\n });\n };\n return tree;\n }\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ember-cli-fastboot.js","sourceRoot":"","sources":["../../../src/compat-adapters/ember-cli-fastboot.ts"],"names":[],"mappings":"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","sourcesContent":["import V1Addon from '../v1-addon';\nimport Plugin from 'broccoli-plugin';\nimport type { Node } from 'broccoli-node-api';\nimport { readJSONSync, outputJSONSync } from 'fs-extra';\nimport { join } from 'path';\nimport writeFile from 'broccoli-file-creator';\nimport { Memoize } from 'typescript-memoize';\nimport bind from 'bind-decorator';\nimport type { AddonMeta } from '@embroider/core';\n\nexport default class EmberCliFastboot extends V1Addon {\n customizes(...trees: string[]): boolean {\n return trees.some(tree => {\n if (tree === 'treeForPublic') {\n // This is an optimization. It means we won't bother running\n // ember-cli-fastboot's custom treeForPublic at all. We don't actually\n // want *most* of what's in there, because embroider natively\n // understands how to build each addon's treeForFastboot.\n //\n // But we do want *some*, so we handle those specific bits below in\n // v2Trees.\n return false;\n } else {\n return super.customizes(tree);\n }\n });\n }\n get v2Trees() {\n let trees = super.v2Trees;\n\n // We want to grab the fastboot config and rewrite it. We're going to strip\n // out the expectedFiles that we know are already accounted for, and we're\n // going to add app-factory.js which we know is not.\n trees.push(\n new RewriteManifest(this.addonInstance._buildFastbootConfigTree(this.rootTree), this.scriptFilter, [\n 'ember-cli-fastboot/app-factory.js',\n ])\n );\n\n // We also still need to emit the fastboot app factory module. This emits\n // the actual file into our package.\n trees.push(writeFile('public/app-factory.js', this.appFactoryModule));\n\n return trees;\n }\n\n get packageMeta() {\n let meta = super.packageMeta;\n if (!meta['public-assets']) {\n meta['public-assets'] = {};\n }\n // we need to list app-factory.js as a public asset so it will make it's way\n // into the app's final dist.\n meta['public-assets']['./public/app-factory.js'] = 'ember-cli-fastboot/app-factory.js';\n return meta;\n }\n\n // these are the default files that ember-cli-fastbot includes in its appFiles\n // and vendorFiles that we know are already accounted for by the standard\n // embroider build\n @Memoize()\n private expectedFiles(): string[] {\n let outputPaths = this.addonInstance.app.options.outputPaths;\n function stripLeadingSlash(filePath: string) {\n return filePath.replace(/^\\//, '');\n }\n let appFilePath = stripLeadingSlash(outputPaths.app.js);\n let appFastbootFilePath = appFilePath.replace(/\\.js$/, '') + '-fastboot.js';\n let vendorFilePath = stripLeadingSlash(outputPaths.vendor.js);\n\n // ember-auto-import emits this into the fastboot manifest. But embroider\n // subsumes all of ember-auto-import, so we take responsibility for this\n // stuff directly.\n let autoImportPath = 'assets/auto-import-fastboot.js';\n\n // the compat adapter for ember-asset-loader has already removed the code\n // that reads from this file. And this file fails to get generated because\n // we don't run ember-asset-loader's \"all\" postprocess tree. So we need to\n // remove it here so it doesn't try to load.\n let nodeAssetManifest = 'assets/node-asset-manifest.js';\n\n return [appFilePath, appFastbootFilePath, vendorFilePath, autoImportPath, nodeAssetManifest];\n }\n\n @bind\n private scriptFilter(file: string): boolean {\n // we can drop all of engines-dist here because engines are handled natively\n // by embroider (the engine code is part of the regular module graph)\n return !this.expectedFiles().includes(file) && !file.startsWith('engines-dist/');\n }\n\n @Memoize()\n private get appFactoryModule() {\n // eslint-disable-next-line @typescript-eslint/no-require-imports\n const fastbootAppFactoryModule = require(join(this.root, 'lib/utilities/fastboot-app-factory-module.js'));\n return fastbootAppFactoryModule(this.addonInstance._name, false);\n }\n}\n\nclass RewriteManifest extends Plugin {\n constructor(tree: Node, private scriptFilter: (file: string) => boolean, private extraAppFiles: string[]) {\n super([tree], {\n annotation: 'embroider-compat-adapter-ember-cli-fastboot',\n persistentOutput: true,\n needsCache: false,\n });\n }\n build() {\n let json = readJSONSync(join(this.inputPaths[0], 'package.json'));\n\n let extraAppFiles = (json.fastboot.manifest.appFiles as string[]).filter(this.scriptFilter);\n\n for (let file of this.extraAppFiles) {\n extraAppFiles.push(file);\n }\n\n let extraVendorFiles = (json.fastboot.manifest.vendorFiles as string[]).filter(this.scriptFilter);\n\n // we're using our own new style of fastboot manifest that loads everything\n // via the HTML. HTML is better understood by tools beyond Ember and\n // Fastboot, so it's more robust to going through third-party bundlers\n // without breaking. We can get by with only a very small extension over\n // purely standards-compliant HTML.\n json.fastboot = {\n schemaVersion: 5,\n htmlEntrypoint: 'index.html',\n moduleWhitelist: json.fastboot.moduleWhitelist,\n hostWhitelist: json.fastboot.hostWhitelist,\n };\n\n // this is a message to Embroider stage2 (in app.ts), because we need it to\n // arrange the one special extension to HTML that we need: fastboot-only\n // script tags.\n //\n // Fastboot only javascript *modules* don't need any magic, because our\n // macro system can guard them. That is the preferred way to have\n // fastboot-only code. But for backward compatibility, we also support\n // fastboot-only *scripts*, and those do need a bit of magic, in the form of\n // <fastboot-script> tags.\n json['embroider-fastboot'] = {\n extraAppFiles,\n extraVendorFiles,\n };\n\n // because we contain a subdir with its own package.json, that subdir\n // becomes a \"package\" from emroider's perspective, and if we want it to get\n // treated as ember code it needs to have v2 addon metadata\n json.keywords = [...(json.keywords ?? []), 'ember-addon'];\n let meta: AddonMeta = {\n version: 2,\n 'auto-upgraded': true,\n };\n json['ember-addon'] = meta;\n\n outputJSONSync(join(this.outputPath, '_fastboot_', 'package.json'), json, { spaces: 2 });\n }\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ember-cli-mirage.js","sourceRoot":"","sources":["../../../src/compat-adapters/ember-cli-mirage.ts"],"names":[],"mappings":";;;;;AAAA,2DAAkC;AAClC,sEAA0C;AAG1C,eAAqB,SAAQ,kBAAO;IAClC,IAAI,WAAW;QACb,IAAI,IAAI,CAAC,aAAa,CAAC,mBAAmB,EAAE,EAAE,CAAC;YAC7C,OAAO,KAAK,CAAC,WAAW,CAAC;QAC3B,CAAC;QACD,OAAO;YACL,OAAO,EAAE,CAAC;YACV,eAAe,EAAE,IAAI;SACtB,CAAC;IACJ,CAAC;IAED,IAAI,MAAM;QACR,IAAI,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC;QACxB,IAAI,IAAI,CAAC,aAAa,CAAC,mBAAmB,EAAE,EAAE,CAAC;YAC7C,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,IAAA,yBAAW,EAAC,IAAI,EAAE;YACvB,OAAO,EAAE,CAAC,cAAc,CAAC;SAC1B,CAAC,CAAC;IACL,CAAC;CACF;AApBD,4BAoBC","sourcesContent":["import V1Addon from '../v1-addon';\nimport buildFunnel from 'broccoli-funnel';\nimport type { AddonMeta } from '@embroider/core';\n\nexport default class extends V1Addon {\n get packageMeta(): Partial<AddonMeta> {\n if (this.addonInstance._shouldIncludeFiles()) {\n return super.packageMeta;\n }\n return {\n version: 2,\n 'auto-upgraded': true,\n };\n }\n\n get v2Tree() {\n let tree = super.v2Tree;\n if (this.addonInstance._shouldIncludeFiles()) {\n return tree;\n }\n return buildFunnel(tree, {\n include: ['package.json'],\n });\n }\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ember-composable-helpers.js","sourceRoot":"","sources":["../../../src/compat-adapters/ember-composable-helpers.ts"],"names":[],"mappings":";;;;;AAAA,2DAAkC;AAClC,+BAA4B;AAE5B,2BAA8D;AAC9D,uCAAsD;AACtD,qDAAyC;AACzC,sCAAwC;AACxC,kDAA0D;AAE1D,eAAqB,SAAQ,kBAAO;IAClC,IAAI,MAAM;QACR,iFAAiF;QACjF,oEAAoE;QACpE,oEAAoE;QACpE,OAAO,IAAI,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACxC,CAAC;CACF;AAPD,4BAOC;AAED,MAAM,YAAa,SAAQ,wBAAM;IAC/B,YAAY,SAAe;QACzB,KAAK,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,KAAK;QACT,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC;QACpB,IAAI,aAAa,GAAG,IAAA,WAAI,EAAC,IAAI,CAAC,UAAU,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;QAC9D,IAAI,eAAe,GAAG,IAAA,WAAI,EAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;QAE1D,KAAK,IAAI,QAAQ,IAAI,IAAA,gBAAW,EAAC,aAAa,CAAC,EAAE,CAAC;YAChD,IAAI,CAAC,IAAA,yBAAc,EAAC,IAAA,WAAI,EAAC,eAAe,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC;gBACrD,IAAA,qBAAU,EAAC,IAAA,WAAI,EAAC,aAAa,EAAE,QAAQ,CAAC,CAAC,CAAC;YAC5C,CAAC;QACH,CAAC;QACD,IAAI,GAAG,GAAG,IAAA,iBAAY,EAAC,IAAA,WAAI,EAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,EAAE,MAAM,CAAC,CAAC;QACrE,IAAI,OAAO,GAAG,CAAC,IAAA,sCAAuB,EAAC,EAAE,WAAW,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;QAC1E,IAAA,kBAAa,EAAC,IAAA,WAAI,EAAC,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,EAAE,IAAA,gBAAS,EAAC,GAAG,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,CAAE,CAAC,IAAK,CAAC,CAAC;IAC1G,CAAC;CACF","sourcesContent":["import V1Addon from '../v1-addon';\nimport { join } from 'path';\nimport type { Node } from 'broccoli-node-api';\nimport { readdirSync, writeFileSync, readFileSync } from 'fs';\nimport { pathExistsSync, removeSync } from 'fs-extra';\nimport { Funnel } from 'broccoli-funnel';\nimport { transform } from '@babel/core';\nimport { stripBadReexportsPlugin } from '../compat-utils';\n\nexport default class extends V1Addon {\n get v2Tree(): Node {\n // workaround for https://github.com/DockYard/ember-composable-helpers/issues/308\n // and https://github.com/DockYard/ember-composable-helpers/pull/302\n // and https://github.com/DockYard/ember-composable-helpers/pull/307\n return new MatchHelpers(super.v2Tree);\n }\n}\n\nclass MatchHelpers extends Funnel {\n constructor(inputTree: Node) {\n super(inputTree, {});\n }\n\n async build() {\n await super.build();\n let appHelpersDir = join(this.outputPath, '_app_', 'helpers');\n let addonHelpersDir = join(this.inputPaths[0], 'helpers');\n\n for (let filename of readdirSync(appHelpersDir)) {\n if (!pathExistsSync(join(addonHelpersDir, filename))) {\n removeSync(join(appHelpersDir, filename));\n }\n }\n let src = readFileSync(join(this.inputPaths[0], 'index.js'), 'utf8');\n let plugins = [stripBadReexportsPlugin({ resolveBase: this.outputPath })];\n writeFileSync(join(this.outputPath, 'index.js'), transform(src, { plugins, configFile: false })!.code!);\n }\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ember-data.js","sourceRoot":"","sources":["../../../src/compat-adapters/ember-data.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2DAAkC;AAClC,+BAA4B;AAC5B,2DAA6C;AAE7C,qCAA8C;AAC9C,oDAA4B;AAE5B,MAAa,aAAc,SAAQ,kBAAO;IACxC,0EAA0E;IAC1E,4EAA4E;IAC5E,sEAAsE;IACtE,EAAE;IACF,uEAAuE;IACvE,uBAAuB;IACvB,UAAU,CAAC,GAAG,KAAe;QAC3B,OAAO,KAAK,CAAC,UAAU,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,cAAc,CAAC,CAAC,CAAC;IACtE,CAAC;IAED,MAAM,CAAC,kBAAkB,CAAC,aAAkB;QAC1C,OAAO,gBAAM,CAAC,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IACxD,CAAC;CACF;AAdD,sCAcC;AAED,MAAqB,SAAU,SAAQ,aAAa;IAClD,6DAA6D;IAE7D,IAAI,OAAO;QACT,IAAI,WAAuB,CAAC;QAC5B,IAAI,CAAC;YACH,4DAA4D;YAC5D,iEAAiE;YACjE,WAAW,GAAG,OAAO,CAAC,IAAA,WAAI,EAAC,IAAI,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC;QACxD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,SAAS,CAAC,GAAG,CAAC,CAAC;YACf,IAAI,CAAC;gBACH,wDAAwD;gBACxD,iEAAiE;gBACjE,WAAW,GAAG,OAAO,CAAC,IAAA,cAAW,EAAC,oDAAoD,EAAE;oBACtF,OAAO,EAAE,IAAI,CAAC,IAAI;iBACnB,CAAC,CAAC,CAAC;YACN,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,SAAS,CAAC,GAAG,CAAC,CAAC;gBACf,kDAAkD;gBAClD,iEAAiE;gBACjE,WAAW,GAAG,OAAO,CAAC,IAAA,cAAW,EAAC,2DAA2D,EAAE;oBAC7F,OAAO,EAAE,IAAI,CAAC,IAAI;iBACnB,CAAC,CAAC,CAAC;YACN,CAAC;QACH,CAAC;QAED,IAAI,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC;QAC1B,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;QAC1B,OAAO,KAAK,CAAC;IACf,CAAC;CACF;AA/BD,4BA+BC;AA5BC;IADC,IAAA,4BAAO,GAAE;wCA4BT;AAGH,SAAS,SAAS,CAAC,GAAQ;IACzB,IAAI,GAAG,CAAC,IAAI,KAAK,kBAAkB,EAAE,CAAC;QACpC,MAAM,GAAG,CAAC;IACZ,CAAC;AACH,CAAC","sourcesContent":["import V1Addon from '../v1-addon';\nimport { join } from 'path';\nimport { Memoize } from 'typescript-memoize';\nimport type { Node } from 'broccoli-node-api';\nimport { sync as resolveSync } from 'resolve';\nimport semver from 'semver';\n\nexport class EmberDataBase extends V1Addon {\n // May of the ember-data packages use rollup to try to hide their internal\n // structure. This is fragile and it breaks under embroider, and they should\n // really move this kind of \"build-within-a-build\" to prepublish time.\n //\n // This disables any custom implementation of `treeForAddon`. The stock\n // behavior is correct.\n customizes(...names: string[]) {\n return super.customizes(...names.filter(n => n !== 'treeForAddon'));\n }\n\n static shouldApplyAdapter(addonInstance: any) {\n return semver.lt(addonInstance.pkg.version, '4.11.1');\n }\n}\n\nexport default class EmberData extends EmberDataBase {\n // ember-data needs its dynamically generated version module.\n @Memoize()\n get v2Trees() {\n let versionTree: () => Node;\n try {\n // ember-data 3.10 and earlier kept the version module here.\n // eslint-disable-next-line @typescript-eslint/no-require-imports\n versionTree = require(join(this.root, 'lib/version'));\n } catch (err) {\n handleErr(err);\n try {\n // ember-data 3.11 to 3.14 keep the version module here.\n // eslint-disable-next-line @typescript-eslint/no-require-imports\n versionTree = require(resolveSync('@ember-data/-build-infra/src/create-version-module', {\n basedir: this.root,\n }));\n } catch (err) {\n handleErr(err);\n // ember-data 3.15+ keeps the version module here.\n // eslint-disable-next-line @typescript-eslint/no-require-imports\n versionTree = require(resolveSync('@ember-data/private-build-infra/src/create-version-module', {\n basedir: this.root,\n }));\n }\n }\n\n let trees = super.v2Trees;\n trees.push(versionTree());\n return trees;\n }\n}\n\nfunction handleErr(err: any) {\n if (err.code !== 'MODULE_NOT_FOUND') {\n throw err;\n }\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ember-decorators.js","sourceRoot":"","sources":["../../../src/compat-adapters/ember-decorators.ts"],"names":[],"mappings":";;;;;AAAA,2DAAkC;AAClC,kDAAoD;AAEpD,eAAqB,SAAQ,kBAAO;IAClC,IAAI,WAAW;QACb,0EAA0E;QAC1E,wEAAwE;QACxE,OAAO,IAAA,gCAAiB,EAAC,KAAK,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;IAC5D,CAAC;CACF;AAND,4BAMC","sourcesContent":["import V1Addon from '../v1-addon';\nimport { addPeerDependency } from '../compat-utils';\n\nexport default class extends V1Addon {\n get packageJSON() {\n // ember-decorators has an unstated peer dependency on ember-data. The old\n // build system allowed this kind of sloppiness, the new world does not.\n return addPeerDependency(super.packageJSON, 'ember-data');\n }\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ember-engines.js","sourceRoot":"","sources":["../../../src/compat-adapters/ember-engines.ts"],"names":[],"mappings":";;;;;AAAA,2DAAkC;AAClC,4FAAgD;AAGhD,MAAM,GAAI,SAAQ,oCAAM;IAGtB,YAAY,SAAc,EAAE,MAAc,EAAE,OAAe;QACzD,KAAK,CAAC,SAAS,EAAE,EAAS,CAAC,CAAC;QAC5B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IACD,aAAa,CAAC,OAAe;QAC3B,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IACpD,CAAC;CACF;AAED,eAAqB,SAAQ,kBAAO;IAClC,IAAI,WAAW;QACb,IAAI,IAAI,GAAG,KAAK,CAAC,WAAW,CAAC;QAE7B,0FAA0F;QAC1F,IAAI,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC;YAC7B,IAAI,CAAC,kBAAkB,CAAC,GAAG,IAAI,CAAC,kBAAkB,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,uBAAuB,CAAC,CAAC;QACrG,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,MAAM;QACR,gFAAgF;QAChF,8DAA8D;QAC9D,OAAO,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,kCAAkC,EAAE,EAAE,CAAC,CAAC;IACvE,CAAC;CACF;AAjBD,4BAiBC","sourcesContent":["import V1Addon from '../v1-addon';\nimport Filter from 'broccoli-persistent-filter';\nimport type { AddonMeta } from '@embroider/core';\n\nclass Awk extends Filter {\n search: string;\n replace: string;\n constructor(inputNode: any, search: string, replace: string) {\n super(inputNode, {} as any);\n this.search = search;\n this.replace = replace;\n }\n processString(content: string) {\n return content.replace(this.search, this.replace);\n }\n}\n\nexport default class extends V1Addon {\n get packageMeta(): Partial<AddonMeta> {\n let meta = super.packageMeta;\n\n // remove from the build so that it will not be present even with staticAddonTrees = false\n if (meta['implicit-modules']) {\n meta['implicit-modules'] = meta['implicit-modules'].filter(mod => mod !== './-private/router-ext');\n }\n\n return meta;\n }\n\n get v2Tree() {\n // dont allow ember-engines to reopen the router as we are doing things with it.\n // this simple deletes the import so the reopen doesn't happen\n return new Awk(super.v2Tree, `import '../-private/router-ext';`, '');\n }\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ember-exam.js","sourceRoot":"","sources":["../../../src/compat-adapters/ember-exam.ts"],"names":[],"mappings":";;;;;AAAA,2DAAkC;AAClC,4FAAgD;AAEhD,MAAM,GAAI,SAAQ,oCAAM;IAGtB,YAAY,SAAc,EAAE,gBAA2C;QACrE,KAAK,CAAC,SAAS,EAAE,EAAS,CAAC,CAAC;QAC5B,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;IAC3C,CAAC;IAED,aAAa,CAAC,OAAe;QAC3B,IAAI,eAAe,GAAG,OAAO,CAAC;QAE9B,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EAAE;YAClE,eAAe,GAAG,eAAe,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC7D,CAAC,CAAC,CAAC;QAEH,OAAO,eAAe,CAAC;IACzB,CAAC;CACF;AAED,eAAqB,SAAQ,kBAAO;IAClC,IAAI,MAAM;QACR,OAAO,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE;YAC3B,4CAA4C,EAC1C,2EAA2E;YAC7E,2CAA2C,EACzC,2EAA2E;SAC9E,CAAC,CAAC;IACL,CAAC;CACF;AATD,4BASC","sourcesContent":["import V1Addon from '../v1-addon';\nimport Filter from 'broccoli-persistent-filter';\n\nclass Awk extends Filter {\n searchReplaceObj: { [key: string]: string };\n\n constructor(inputNode: any, searchReplaceObj: { [key: string]: string }) {\n super(inputNode, {} as any);\n this.searchReplaceObj = searchReplaceObj;\n }\n\n processString(content: string) {\n let modifiedContent = content;\n\n Object.entries(this.searchReplaceObj).forEach(([search, replace]) => {\n modifiedContent = modifiedContent.replace(search, replace);\n });\n\n return modifiedContent;\n }\n}\n\nexport default class extends V1Addon {\n get v2Tree() {\n return new Awk(super.v2Tree, {\n \"require('./ember-exam-qunit-test-loader');\":\n \"require('ember-exam/test-support/-private/ember-exam-qunit-test-loader');\",\n \"require('./ember-exam-mocha-test-loader')\":\n \"require('ember-exam/test-support/-private/ember-exam-mocha-test-loader');\",\n });\n }\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ember-fetch.js","sourceRoot":"","sources":["../../../src/compat-adapters/ember-fetch.ts"],"names":[],"mappings":";;;;;AAAA,uCAAwC;AACxC,iEAAuC;AACvC,2DAAkC;AAClC,+BAA+B;AAC/B,2BAAmC;AAEnC,eAAqB,SAAQ,kBAAO;IAClC,IAAI,WAAW;QACb,IAAI,MAAM,GAAG,KAAK,CAAC,WAAW,CAAC;QAC/B,MAAM,CAAC,iBAAiB,CAAC,GAAG;YAC1B,KAAK,EAAE,sBAAsB;SAC9B,CAAC;QACF,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,IAAI,MAAM;QACR,yEAAyE;QACzE,2EAA2E;QAC3E,uBAAuB;QACvB,OAAO,IAAI,qBAAS,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,UAAkB,EAAE,EAAE;YACxD,IAAI,UAAU,GAAG,IAAA,cAAO,EAAC,UAAU,EAAE,uBAAuB,CAAC,CAAC;YAC9D,IAAI,GAAG,GAAG,IAAA,uBAAY,EAAC,UAAU,EAAE,MAAM,CAAC,CAAC;YAC3C,0EAA0E;YAC1E,wEAAwE;YACxE,kEAAkE;YAClE,kCAAkC;YAClC,IAAA,kBAAa,EAAC,UAAU,EAAE,EAAE,CAAC,CAAC;YAC9B,IAAA,kBAAa,EACX,IAAA,cAAO,EAAC,UAAU,EAAE,UAAU,CAAC,EAC/B;;;;;;;;;;;;EAYN,GAAG;;;;;;;;CAQJ,CACM,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;CACF;AA9CD,4BA8CC","sourcesContent":["import { readFileSync } from 'fs-extra';\nimport AddToTree from '../add-to-tree';\nimport V1Addon from '../v1-addon';\nimport { resolve } from 'path';\nimport { writeFileSync } from 'fs';\n\nexport default class extends V1Addon {\n get packageMeta() {\n let result = super.packageMeta;\n result['renamed-modules'] = {\n fetch: 'ember-fetch/index.js',\n };\n return result;\n }\n get v2Tree() {\n // ember-fetch attempts to emits an AMD define into vendor.js. We instead\n // adapt it into an ES module, so it can continue accessing ember even once\n // ember is not in AMD.\n return new AddToTree(super.v2Tree, (outputPath: string) => {\n let vendorFile = resolve(outputPath, 'vendor/ember-fetch.js');\n let src = readFileSync(vendorFile, 'utf8');\n // the addon has already done \"app.import('vendor/ember-fetch.js')\", which\n // pushes it onto a list down inside the guts of ember-cli. If we delete\n // the file, we'll get a crash when ember-cli goes looking for it.\n // Instead, we just make it empty.\n writeFileSync(vendorFile, '');\n writeFileSync(\n resolve(outputPath, 'index.js'),\n `import Ember from 'ember';\nconst outputs = {};\n\nfunction define(name, deps, fn) {\n if (name !== 'fetch') {\n throw new Error('bug: we were attempting to capture ember-fetch');\n }\n if (deps[0] !== 'exports' && deps[1] !== 'ember') {\n throw new Error('bug: we unexpected deps while capturing ember-fetch');\n }\n fn(outputs, Ember);\n}\n${src}\nexport default outputs.default;\nexport const Headers = outputs.Headers;\nexport const Request = outputs.Request;\nexport const Response = outputs.Response;\nexport const AbortController = outputs.AbortController;\nexport const AbortSignal = outputs.AbortSignal;\nexport const fetch = outputs.fetch;\n`\n );\n });\n }\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ember-get-config.js","sourceRoot":"","sources":["../../../src/compat-adapters/ember-get-config.ts"],"names":[],"mappings":";;;;;AAAA,2DAAkC;AAClC,kFAA8C;AAC9C,gFAA8C;AAC9C,oDAA4B;AAE5B,SAAS,mBAAmB,CAAC,MAAW;IACtC,OAAO,kBAAkB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC;AACrD,CAAC;AAED;;;;;;;;;;GAUG;AACH,eAAqB,SAAQ,kBAAO;IAClC,IAAI,MAAM;QACR,iEAAiE;QACjE,MAAM,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC;QACpD,MAAM,oBAAoB,GAAG,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAExD,OAAO,IAAA,8BAAU,EAAC;YAChB,IAAA,+BAAS,EAAC,UAAU,EAAE,mBAAmB,CAAC,oBAAoB,CAAC,CAAC;YAChE,IAAA,+BAAS,EAAC,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;SACxE,CAAC,CAAC;IACL,CAAC;IAED,6EAA6E;IAC7E,sDAAsD;IACtD,MAAM,CAAC,kBAAkB,CAAC,aAAkB;QAC1C,OAAO,gBAAM,CAAC,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACvD,CAAC;CACF;AAjBD,4BAiBC","sourcesContent":["import V1Addon from '../v1-addon';\nimport writeFile from 'broccoli-file-creator';\nimport mergeTrees from 'broccoli-merge-trees';\nimport semver from 'semver';\n\nfunction createIndexContents(config: any): string {\n return `export default ${JSON.stringify(config)};`;\n}\n\n/**\n * The `ember-get-config` addon conceptually does just one thing: re-exports the `config/environment` runtime module\n * from the host app so that addons can import it themseles. It handles the \"hard part\" of knowing what the host app's\n * module name is, since that's not something an addon can normally know ahead of time.\n *\n * From a dependency graph perspective though, declaring all of the dependencies correctly would require a circular\n * dependency from the addon back to the host app itself, which we don't want to introduce.\n *\n * We need to basically re-implement the entire addon's behavior so that it still exports the app's\n * `config/environment` runtime value, but without needing it to actually export from the host app's module.\n */\nexport default class extends V1Addon {\n get v2Tree() {\n // eslint-disable-next-line @typescript-eslint/no-require-imports\n const configModule = require(this.app.configPath());\n const appEnvironmentConfig = configModule(this.app.env);\n\n return mergeTrees([\n writeFile('index.js', createIndexContents(appEnvironmentConfig)),\n writeFile('package.json', JSON.stringify(this.newPackageJSON, null, 2)),\n ]);\n }\n\n // v2.1.0 now behaves the same under Embroider as it does in a classic build:\n // https://github.com/mansona/ember-get-config/pull/45\n static shouldApplyAdapter(addonInstance: any) {\n return semver.lt(addonInstance.pkg.version, '2.1.0');\n }\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ember-inflector.js","sourceRoot":"","sources":["../../../src/compat-adapters/ember-inflector.ts"],"names":[],"mappings":";;;;;AAAA,2DAAkC;AAClC,iEAAuC;AAEvC,2BAAiD;AACjD,+BAA4B;AAC5B,uCAAsC;AACtC,oDAA4B;AAE5B,MAAM,gBAAgB,GAAG;;;;;;;;CAQxB,CAAC;AAEF,MAAM,KAAK,GAAG,+BAA+B,CAAC;AAE9C,eAAqB,SAAQ,kBAAO;IAClC,IAAI,MAAM;QACR,OAAO,IAAI,qBAAS,CAAC,KAAK,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE;YAC7C,IAAI,MAAM,GAAG,IAAA,WAAI,EAAC,SAAS,EAAE,UAAU,CAAC,CAAC;YACzC,IAAI,MAAM,GAAG,IAAA,iBAAY,EAAC,MAAM,CAAC,CAAC;YAClC,6DAA6D;YAC7D,qEAAqE;YACrE,IAAA,qBAAU,EAAC,MAAM,CAAC,CAAC;YACnB,IAAA,kBAAa,EAAC,MAAM,EAAE,KAAK,GAAG,MAAM,CAAC,CAAC;YACtC,IAAA,kBAAa,EAAC,IAAA,WAAI,EAAC,SAAS,EAAE,sBAAsB,CAAC,EAAE,gBAAgB,CAAC,CAAC;QAC3E,CAAC,CAAC,CAAC;IACL,CAAC;IAED,MAAM,CAAC,kBAAkB,CAAC,aAAkB;QAC1C,OAAO,gBAAM,CAAC,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACvD,CAAC;CACF;AAhBD,4BAgBC","sourcesContent":["import V1Addon from '../v1-addon';\nimport AddToTree from '../add-to-tree';\nimport type { Node } from 'broccoli-node-api';\nimport { readFileSync, writeFileSync } from 'fs';\nimport { join } from 'path';\nimport { removeSync } from 'fs-extra';\nimport semver from 'semver';\n\nconst makeConfigurable = `\nif (EmberENV.EXTEND_PROTOTYPES === true || EmberENV.EXTEND_PROTOTYPES.String) {\n Object.defineProperty(String.prototype, 'pluralize', { configurable: true });\n Object.defineProperty(String.prototype, 'singularize', { configurable: true });\n Object.defineProperty(Ember, 'Inflector', { configurable: true });\n Object.defineProperty(Ember.String, 'singularize', { configurable: true });\n Object.defineProperty(Ember.String, 'pluralize', { configurable: true });\n}\n`;\n\nconst patch = `import './make-configurable';`;\n\nexport default class extends V1Addon {\n get v2Tree(): Node {\n return new AddToTree(super.v2Tree, outputDir => {\n let target = join(outputDir, 'index.js');\n let source = readFileSync(target);\n // we need to remove first because we might be dealing with a\n // broccoli-produced symlink to a file we really don't want to alter.\n removeSync(target);\n writeFileSync(target, patch + source);\n writeFileSync(join(outputDir, 'make-configurable.js'), makeConfigurable);\n });\n }\n\n static shouldApplyAdapter(addonInstance: any) {\n return semver.lt(addonInstance.pkg.version, '4.0.0');\n }\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ember-percy.js","sourceRoot":"","sources":["../../../src/compat-adapters/ember-percy.ts"],"names":[],"mappings":";;;;;AAAA,2DAAkC;AAClC,kDAAqD;AAErD,eAAqB,SAAQ,kBAAO;IAClC,IAAI,WAAW;QACb,IAAI,IAAI,GAAG,KAAK,CAAC,WAAW,CAAC;QAE7B,iFAAiF;QACjF,IAAI,GAAG,IAAA,iCAAkB,EAAC,IAAI,EAAE,cAAc,CAAC,CAAC;QAChD,IAAI,GAAG,IAAA,iCAAkB,EAAC,IAAI,EAAE,YAAY,CAAC,CAAC;QAE9C,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAVD,4BAUC","sourcesContent":["import V1Addon from '../v1-addon';\nimport { forceIncludeModule } from '../compat-utils';\n\nexport default class extends V1Addon {\n get packageMeta() {\n let meta = super.packageMeta;\n\n // these get invoked from an inline script tag in content-for('test-body-footer')\n meta = forceIncludeModule(meta, './native-xhr');\n meta = forceIncludeModule(meta, './finalize');\n\n return meta;\n }\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ember-resolver.js","sourceRoot":"","sources":["../../../src/compat-adapters/ember-resolver.ts"],"names":[],"mappings":";;;;;AAAA,2DAAkC;AAElC,eAAqB,SAAQ,kBAAO;IAClC,IAAI,WAAW;QACb,IAAI,IAAI,GAAG,KAAK,CAAC,WAAW,CAAC;QAC7B,IAAI,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC;YAC7B,qEAAqE;YACrE,wEAAwE;YACxE,yEAAyE;YACzE,4CAA4C;YAC5C,IAAI,CAAC,kBAAkB,CAAC,GAAG,IAAI,CAAC,kBAAkB,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,YAAY,CAAC,CAAC;QACtF,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAZD,4BAYC","sourcesContent":["import V1Addon from '../v1-addon';\n\nexport default class extends V1Addon {\n get packageMeta() {\n let meta = super.packageMeta;\n if (meta['implicit-modules']) {\n // ember-resolver has a vestigial empty file here that existed due to\n // babel-plugin-debug-macros behavior. But ember-resolver no longer uses\n // babel-plugin-debug-macros. And the empty file makes vite's CJS interop\n // get confused and produce a runtime crash.\n meta['implicit-modules'] = meta['implicit-modules'].filter(m => m !== './features');\n }\n return meta;\n }\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ember-scroll-modifiers.js","sourceRoot":"","sources":["../../../src/compat-adapters/ember-scroll-modifiers.ts"],"names":[],"mappings":";;;;;AAAA,2DAAkC;AAElC,eAAqB,SAAQ,kBAAO;IAClC,IAAI,WAAW;QACb,IAAI,IAAI,GAAG,KAAK,CAAC,WAAW,CAAC;QAC7B,0GAA0G;QAC1G,mHAAmH;QACnH,IACE,IAAI,CAAC,kBAAkB,CAAC;YACxB,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,cAAc,KAAK,gCAAgC,CAAC,EACrG,CAAC;YACD,IAAI,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;QAClE,CAAC;aAAM,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC;YACrC,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;QAChE,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAfD,4BAeC","sourcesContent":["import V1Addon from '../v1-addon';\n\nexport default class extends V1Addon {\n get packageMeta() {\n let meta = super.packageMeta;\n // observer-manager is injected with the undocumented package@service syntax without being app re-exported\n // this makes sure that the service is always re-exported and injectable even when built with staticAddonTrees=true\n if (\n meta['implicit-modules'] &&\n !meta['implicit-modules'].find(implicitModule => implicitModule === './services/observer-manager.js')\n ) {\n meta['implicit-modules'].push('./services/observer-manager.js');\n } else if (!meta['implicit-modules']) {\n meta['implicit-modules'] = ['./services/observer-manager.js'];\n }\n return meta;\n }\n}\n"]}
|
|
@@ -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 }\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 objectimport = [...path.getAllPrevSiblings(), ...path.getAllNextSiblings()].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.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.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"]}
|