From 524f6ee47950fc17abd223afdb86edd9dbb9078a Mon Sep 17 00:00:00 2001 From: Katie Gengler Date: Tue, 24 Mar 2026 15:58:44 -0400 Subject: [PATCH 1/5] Bump version back to 7.0.0-alpha --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 928504f36ae..0ec816da348 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "ember-source", - "version": "6.12.0-alpha.1", + "version": "7.0.0-alpha.1", "description": "A JavaScript framework for creating ambitious web applications", "keywords": [ "ember-addon" From fc4ea405dff3833c4d71c42d8b0e50b76405c6d1 Mon Sep 17 00:00:00 2001 From: NullVoxPopuli <199018+NullVoxPopuli@users.noreply.github.com> Date: Fri, 27 Feb 2026 14:36:10 -0500 Subject: [PATCH 2/5] v7 Add pnpm patches for ember-cli and @embroider/compat paths fix Patches ember-cli@6.11.0 (ember-cli/ember-cli#10971) and @embroider/compat@4.1.16 (embroider-build/embroider#2695) to handle ember-source no longer exporting `paths` in v7. - ember-cli: guard `_initVendorFiles` against missing `paths` - @embroider/compat: skip legacy vendor file creation when `paths` absent Co-Authored-By: Claude Opus 4.6 (1M context) Add ember-cli-htmlbars patch, fix sourcemap test - Patch ember-cli-htmlbars@7.0.0 to handle missing absolutePaths in v7 ember-source, falling back to the ESM template compiler path. - Update sourcemap-test.js for v7's ESM-only dist structure (dist/ember.debug.js no longer exists). - Include template-compiler-test.js fix for ESM imports. Co-Authored-By: Claude Opus 4.6 (1M context) Fix ember-cli-htmlbars patch: use dist/dev/ path for v7 The v7 build outputs to dist/dev/packages/ and dist/prod/packages/, not dist/packages/. The template compiler fallback path must use the dev directory. Co-Authored-By: Claude Opus 4.6 (1M context) Patch ember-auto-import to handle missing absolutePaths ember-auto-import also accesses emberSource.absolutePaths.templateCompiler for babel template compilation config. Add the same fallback to the dist/dev/ ESM template compiler path for v7. Co-Authored-By: Claude Opus 4.6 (1M context) Use require.resolve instead of hardcoded dist path in patches Replace hardcoded `dist/dev/packages/ember-template-compiler/index.js` with `require.resolve('ember-source/ember-template-compiler/index.js')` which resolves through the package exports map, making the patches resilient to dist layout changes. Co-Authored-By: Claude Opus 4.6 (1M context) Remove pnpm patches for ember-cli-htmlbars, ember-auto-import, @embroider/compat These patches were temporary shims for v7 compatibility. The upstream PRs have landed: - ember-cli-htmlbars: ember-cli/ember-cli-htmlbars#793 - ember-auto-import: embroider-build/ember-auto-import#708 - @embroider/compat: embroider-build/embroider#2695 Co-Authored-By: Claude Opus 4.6 (1M context) Lockfile --- .gitignore | 1 + .../ember-template-compiler.js | 206 -------- .../amd-compat-entrypoints/ember-testing.js | 28 - .../amd-compat-entrypoints/ember.debug.js | 487 ------------------ eslint.config.mjs | 1 + lib/index.js | 404 ++++++--------- package.json | 7 +- .../@ember/-internals/deprecations/index.ts | 10 - packages/ember-template-compiler/index.ts | 6 - packages/loader/lib/index.d.ts | 4 - packages/loader/package.json | 5 - pnpm-lock.yaml | 282 +--------- rollup.config.mjs | 189 ------- smoke-tests/benchmark-app/babel.config.mjs | 1 - .../tests/node/sourcemap-test.js | 20 +- smoke-tests/scenarios/scenarios.ts | 9 - tsconfig/compiler-options.json | 3 +- types/publish.mjs | 7 +- 18 files changed, 199 insertions(+), 1471 deletions(-) delete mode 100644 broccoli/amd-compat-entrypoints/ember-template-compiler.js delete mode 100644 broccoli/amd-compat-entrypoints/ember-testing.js delete mode 100644 broccoli/amd-compat-entrypoints/ember.debug.js delete mode 100644 packages/loader/lib/index.d.ts delete mode 100644 packages/loader/package.json diff --git a/.gitignore b/.gitignore index 4a4c99b4f3e..9bf32df156f 100644 --- a/.gitignore +++ b/.gitignore @@ -17,6 +17,7 @@ assets/bpm_libs.js assets/bpm_styles.css coverage dist +dist-prod /docs lib/*/tests/all.js lib/*/tests/qunit* diff --git a/broccoli/amd-compat-entrypoints/ember-template-compiler.js b/broccoli/amd-compat-entrypoints/ember-template-compiler.js deleted file mode 100644 index 06f1a57d9aa..00000000000 --- a/broccoli/amd-compat-entrypoints/ember-template-compiler.js +++ /dev/null @@ -1,206 +0,0 @@ -/* eslint-disable */ - -// This file was derived from the output of the classic broccoli-based build of -// ember-template-compiler.js. It's intended to convey exactly how the authored ES modules -// get mapped into backward-compatible AMD defines. - -import d from 'amd-compat-entrypoint-definition'; - -import * as emberinternalsBrowserEnvironmentIndex from '@ember/-internals/browser-environment/index'; -d('@ember/-internals/browser-environment/index', emberinternalsBrowserEnvironmentIndex); - -import * as emberinternalsEnvironmentIndex from '@ember/-internals/environment/index'; -d('@ember/-internals/environment/index', emberinternalsEnvironmentIndex); - -import * as emberinternalsUtilsIndex from '@ember/-internals/utils/index'; -d('@ember/-internals/utils/index', emberinternalsUtilsIndex); - -import * as emberCanaryFeaturesIndex from '@ember/canary-features/index'; -d('@ember/canary-features/index', emberCanaryFeaturesIndex); - -/* - -The classic build included these modules but not their dependencies, so they -never worked. Keeping this comment to document why the list of modules differs in -this way. - -import * as emberDebugContainerDebugAdapter from '@ember/debug/container-debug-adapter'; -d('@ember/debug/container-debug-adapter', emberDebugContainerDebugAdapter); - -import * as emberDebugDataAdapter from '@ember/debug/data-adapter'; -d('@ember/debug/data-adapter', emberDebugDataAdapter); - -*/ - -import * as emberDebugIndex from '@ember/debug/index'; -d('@ember/debug/index', emberDebugIndex); - -import * as emberDebugLibCaptureRenderTree from '@ember/debug/lib/capture-render-tree'; -d('@ember/debug/lib/capture-render-tree', emberDebugLibCaptureRenderTree); - -import * as emberDebugLibDeprecate from '@ember/debug/lib/deprecate'; -d('@ember/debug/lib/deprecate', emberDebugLibDeprecate); - -import * as emberDebugLibHandlers from '@ember/debug/lib/handlers'; -d('@ember/debug/lib/handlers', emberDebugLibHandlers); - -import * as emberDebugLibInspect from '@ember/debug/lib/inspect'; -d('@ember/debug/lib/inspect', emberDebugLibInspect); - -import * as emberDebugLibTesting from '@ember/debug/lib/testing'; -d('@ember/debug/lib/testing', emberDebugLibTesting); - -import * as emberDebugLibWarn from '@ember/debug/lib/warn'; -d('@ember/debug/lib/warn', emberDebugLibWarn); - -import * as emberDeprecatedFeaturesIndex from '@ember/deprecated-features/index'; -d('@ember/deprecated-features/index', emberDeprecatedFeaturesIndex); - -import * as glimmerCompiler from '@glimmer/compiler'; -d('@glimmer/compiler', glimmerCompiler); - -import * as glimmerEnv from '@glimmer/env'; -d('@glimmer/env', glimmerEnv); - -import * as glimmerSyntax from '@glimmer/syntax'; -d('@glimmer/syntax', glimmerSyntax); - -import * as glimmerUtil from '@glimmer/util'; -d('@glimmer/util', glimmerUtil); - -import * as glimmerVm from '@glimmer/vm'; -d('@glimmer/vm', glimmerVm); - -import * as glimmerWireFormat from '@glimmer/wire-format'; -d('@glimmer/wire-format', glimmerWireFormat); - -import * as handlebarsParserIndex from '@handlebars/parser'; -d('@handlebars/parser/index', handlebarsParserIndex); - -import * as emberTemplateCompilerIndex from 'ember-template-compiler/index'; -d('ember-template-compiler/index', emberTemplateCompilerIndex); - -import * as emberTemplateCompilerLibPluginsAssertAgainstAttrs from 'ember-template-compiler/lib/plugins/assert-against-attrs'; -d( - 'ember-template-compiler/lib/plugins/assert-against-attrs', - emberTemplateCompilerLibPluginsAssertAgainstAttrs -); - -import * as emberTemplateCompilerLibPluginsAssertAgainstNamedOutlets from 'ember-template-compiler/lib/plugins/assert-against-named-outlets'; -d( - 'ember-template-compiler/lib/plugins/assert-against-named-outlets', - emberTemplateCompilerLibPluginsAssertAgainstNamedOutlets -); - -import * as emberTemplateCompilerLibPluginsAssertInputHelperWithoutBlock from 'ember-template-compiler/lib/plugins/assert-input-helper-without-block'; -d( - 'ember-template-compiler/lib/plugins/assert-input-helper-without-block', - emberTemplateCompilerLibPluginsAssertInputHelperWithoutBlock -); - -import * as emberTemplateCompilerLibPluginsAssertReservedNamedArguments from 'ember-template-compiler/lib/plugins/assert-reserved-named-arguments'; -d( - 'ember-template-compiler/lib/plugins/assert-reserved-named-arguments', - emberTemplateCompilerLibPluginsAssertReservedNamedArguments -); - -import * as emberTemplateCompilerLibPluginsIndex from 'ember-template-compiler/lib/plugins/index'; -d('ember-template-compiler/lib/plugins/index', emberTemplateCompilerLibPluginsIndex); - -import * as emberTemplateCompilerLibPluginsTransformActionSyntax from 'ember-template-compiler/lib/plugins/transform-action-syntax'; -d( - 'ember-template-compiler/lib/plugins/transform-action-syntax', - emberTemplateCompilerLibPluginsTransformActionSyntax -); - -import * as emberTemplateCompilerLibPluginsTransformEachInIntoEach from 'ember-template-compiler/lib/plugins/transform-each-in-into-each'; -d( - 'ember-template-compiler/lib/plugins/transform-each-in-into-each', - emberTemplateCompilerLibPluginsTransformEachInIntoEach -); - -import * as emberTemplateCompilerLibPluginsTransformEachTrackArray from 'ember-template-compiler/lib/plugins/transform-each-track-array'; -d( - 'ember-template-compiler/lib/plugins/transform-each-track-array', - emberTemplateCompilerLibPluginsTransformEachTrackArray -); - -import * as emberTemplateCompilerLibPluginsTransformInElement from 'ember-template-compiler/lib/plugins/transform-in-element'; -d( - 'ember-template-compiler/lib/plugins/transform-in-element', - emberTemplateCompilerLibPluginsTransformInElement -); - -import * as emberTemplateCompilerLibPluginsTransformQuotedBindingsIntoJustBindings from 'ember-template-compiler/lib/plugins/transform-quoted-bindings-into-just-bindings'; -d( - 'ember-template-compiler/lib/plugins/transform-quoted-bindings-into-just-bindings', - emberTemplateCompilerLibPluginsTransformQuotedBindingsIntoJustBindings -); - -import * as emberTemplateCompilerLibPluginsTransformResolutions from 'ember-template-compiler/lib/plugins/transform-resolutions'; -d( - 'ember-template-compiler/lib/plugins/transform-resolutions', - emberTemplateCompilerLibPluginsTransformResolutions -); - -import * as emberTemplateCompilerLibPluginsTransformWrapMountAndOutlet from 'ember-template-compiler/lib/plugins/transform-wrap-mount-and-outlet'; -d( - 'ember-template-compiler/lib/plugins/transform-wrap-mount-and-outlet', - emberTemplateCompilerLibPluginsTransformWrapMountAndOutlet -); - -import * as emberTemplateCompilerLibPluginsUtils from 'ember-template-compiler/lib/plugins/utils'; -d('ember-template-compiler/lib/plugins/utils', emberTemplateCompilerLibPluginsUtils); - -import * as emberTemplateCompilerLibPublicApi from 'ember-template-compiler/lib/public-api'; -d('ember-template-compiler/lib/public-api', emberTemplateCompilerLibPublicApi); - -import * as emberTemplateCompilerLibSystemBootstrap from 'ember-template-compiler/lib/system/bootstrap'; -d('ember-template-compiler/lib/system/bootstrap', emberTemplateCompilerLibSystemBootstrap); - -import * as emberTemplateCompilerLibSystemCalculateLocationDisplay from 'ember-template-compiler/lib/system/calculate-location-display'; -d( - 'ember-template-compiler/lib/system/calculate-location-display', - emberTemplateCompilerLibSystemCalculateLocationDisplay -); - -import * as emberTemplateCompilerLibSystemCompileOptions from 'ember-template-compiler/lib/system/compile-options'; -d( - 'ember-template-compiler/lib/system/compile-options', - emberTemplateCompilerLibSystemCompileOptions -); - -import * as emberTemplateCompilerLibSystemCompile from 'ember-template-compiler/lib/system/compile'; -d('ember-template-compiler/lib/system/compile', emberTemplateCompilerLibSystemCompile); - -import * as emberTemplateCompilerLibSystemDasherizeComponentName from 'ember-template-compiler/lib/system/dasherize-component-name'; -d( - 'ember-template-compiler/lib/system/dasherize-component-name', - emberTemplateCompilerLibSystemDasherizeComponentName -); - -import * as emberTemplateCompilerLibSystemInitializer from 'ember-template-compiler/lib/system/initializer'; -d('ember-template-compiler/lib/system/initializer', emberTemplateCompilerLibSystemInitializer); - -import * as emberTemplateCompilerLibSystemPrecompile from 'ember-template-compiler/lib/system/precompile'; -d('ember-template-compiler/lib/system/precompile', emberTemplateCompilerLibSystemPrecompile); - -import * as emberTemplateCompilerLibTypes from 'ember-template-compiler/lib/types'; -d('ember-template-compiler/lib/types', emberTemplateCompilerLibTypes); - -import * as emberTemplateCompilerMinimal from 'ember-template-compiler/minimal'; -d('ember-template-compiler/minimal', emberTemplateCompilerMinimal); - -import * as emberVersion from 'ember/version'; -d('ember/version', emberVersion); - -import * as simpleHtmlTokenizer from 'simple-html-tokenizer'; -d('simple-html-tokenizer', simpleHtmlTokenizer); - -if (typeof module === 'object' && module.exports) { - module.exports = emberTemplateCompilerIndex; -} - -console.log( - '\n\n--------\n+ Your app is using the legacy ember-template-compiler.js AMD bundle. This will be removed in ember-source 7.0. See https://deprecations.emberjs.com/id/using-amd-bundles for more details.\n--------' -); diff --git a/broccoli/amd-compat-entrypoints/ember-testing.js b/broccoli/amd-compat-entrypoints/ember-testing.js deleted file mode 100644 index 5be7249cc2e..00000000000 --- a/broccoli/amd-compat-entrypoints/ember-testing.js +++ /dev/null @@ -1,28 +0,0 @@ -/* eslint-disable */ - -// This file was derived from the output of the classic broccoli-based build of -// ember-testing.js. It's intended to convey exactly how the authored ES modules -// get mapped into backward-compatible AMD defines. - -import d from 'amd-compat-entrypoint-definition'; - -import * as emberTestingIndex from 'ember-testing/index'; -d('ember-testing/index', emberTestingIndex); - -import * as emberTestingLibAdaptersAdapter from 'ember-testing/lib/adapters/adapter'; -d('ember-testing/lib/adapters/adapter', emberTestingLibAdaptersAdapter); - -import * as emberTestingLibPublicApi from 'ember-testing/lib/public-api'; -d('ember-testing/lib/public-api', emberTestingLibPublicApi); - -import * as emberTestingLibTest from 'ember-testing/lib/test'; -d('ember-testing/lib/test', emberTestingLibTest); - -import * as emberTestingLibTestAdapter from 'ember-testing/lib/test/adapter'; -d('ember-testing/lib/test/adapter', emberTestingLibTestAdapter); - -import * as emberTestingLibTestPendingRequests from 'ember-testing/lib/test/pending_requests'; -d('ember-testing/lib/test/pending_requests', emberTestingLibTestPendingRequests); - -import * as emberTestingLibTestWaiters from 'ember-testing/lib/test/waiters'; -d('ember-testing/lib/test/waiters', emberTestingLibTestWaiters); diff --git a/broccoli/amd-compat-entrypoints/ember.debug.js b/broccoli/amd-compat-entrypoints/ember.debug.js deleted file mode 100644 index 51123e1ae4f..00000000000 --- a/broccoli/amd-compat-entrypoints/ember.debug.js +++ /dev/null @@ -1,487 +0,0 @@ -/* eslint-disable */ - -// This file was derived from the output of the classic broccoli-based build of -// ember.debug.js. It's intended to convey exactly how the authored ES modules -// get mapped into backward-compatible AMD defines. -// -// The testing-specific modules that only appear in this bundle in development -// builds are not included in this file. They're in ./ember-testing.js, which -// our legacy bundle rollup config concatenates with this one for dev builds. -// -// (Typical apps actually work fine if we *don't* stick the testing modules into -// this bundle at all! Because the ember-testing.js bundle itself gets into the -// classic test-support.js. So they are double-included. But as these are -// backward-compatibility bundles, I'm going to keep that wacky behavior for -// them since somebody could be relying on the timing of having the test modules -// available before test-support.js evals. - -import d from 'amd-compat-entrypoint-definition'; - -import * as emberinternalsBrowserEnvironmentIndex from '@ember/-internals/browser-environment/index'; -d('@ember/-internals/browser-environment/index', emberinternalsBrowserEnvironmentIndex); - -import * as emberinternalsContainerIndex from '@ember/-internals/container/index'; -d('@ember/-internals/container/index', emberinternalsContainerIndex); - -import * as emberinternalsDeprecationsIndex from '@ember/-internals/deprecations/index'; -d('@ember/-internals/deprecations/index', emberinternalsDeprecationsIndex); - -import * as emberinternalsEnvironmentIndex from '@ember/-internals/environment/index'; -d('@ember/-internals/environment/index', emberinternalsEnvironmentIndex); - -import * as emberinternalsErrorHandlingIndex from '@ember/-internals/error-handling/index'; -d('@ember/-internals/error-handling/index', emberinternalsErrorHandlingIndex); - -import * as emberinternalsGlimmerIndex from '@ember/-internals/glimmer/index'; -d('@ember/-internals/glimmer/index', emberinternalsGlimmerIndex); - -import * as emberinternalsMetaIndex from '@ember/-internals/meta/index'; -d('@ember/-internals/meta/index', emberinternalsMetaIndex); - -import * as emberinternalsMetaLibMeta from '@ember/-internals/meta/lib/meta'; -d('@ember/-internals/meta/lib/meta', emberinternalsMetaLibMeta); - -import * as emberinternalsMetalIndex from '@ember/-internals/metal/index'; -d('@ember/-internals/metal/index', emberinternalsMetalIndex); - -import * as emberinternalsOwnerIndex from '@ember/-internals/owner/index'; -d('@ember/-internals/owner/index', emberinternalsOwnerIndex); - -import * as emberinternalsRoutingIndex from '@ember/-internals/routing/index'; -d('@ember/-internals/routing/index', emberinternalsRoutingIndex); - -import * as emberinternalsRuntimeIndex from '@ember/-internals/runtime/index'; -d('@ember/-internals/runtime/index', emberinternalsRuntimeIndex); - -import * as emberinternalsRuntimeLibExtRsvp from '@ember/-internals/runtime/lib/ext/rsvp'; -d('@ember/-internals/runtime/lib/ext/rsvp', emberinternalsRuntimeLibExtRsvp); - -import * as emberinternalsRuntimeLibMixinsproxy from '@ember/-internals/runtime/lib/mixins/-proxy'; -d('@ember/-internals/runtime/lib/mixins/-proxy', emberinternalsRuntimeLibMixinsproxy); - -import * as emberinternalsRuntimeLibMixinsActionHandler from '@ember/-internals/runtime/lib/mixins/action_handler'; -d( - '@ember/-internals/runtime/lib/mixins/action_handler', - emberinternalsRuntimeLibMixinsActionHandler -); - -import * as emberinternalsRuntimeLibMixinsComparable from '@ember/-internals/runtime/lib/mixins/comparable'; -d('@ember/-internals/runtime/lib/mixins/comparable', emberinternalsRuntimeLibMixinsComparable); - -import * as emberinternalsRuntimeLibMixinsContainerProxy from '@ember/-internals/runtime/lib/mixins/container_proxy'; -d( - '@ember/-internals/runtime/lib/mixins/container_proxy', - emberinternalsRuntimeLibMixinsContainerProxy -); - -import * as emberinternalsRuntimeLibMixinsRegistryProxy from '@ember/-internals/runtime/lib/mixins/registry_proxy'; -d( - '@ember/-internals/runtime/lib/mixins/registry_proxy', - emberinternalsRuntimeLibMixinsRegistryProxy -); - -import * as emberinternalsRuntimeLibMixinsTargetActionSupport from '@ember/-internals/runtime/lib/mixins/target_action_support'; -d( - '@ember/-internals/runtime/lib/mixins/target_action_support', - emberinternalsRuntimeLibMixinsTargetActionSupport -); - -import * as emberinternalsStringIndex from '@ember/-internals/string/index'; -d('@ember/-internals/string/index', emberinternalsStringIndex); - -import * as emberinternalsUtilityTypesIndex from '@ember/-internals/utility-types/index'; -d('@ember/-internals/utility-types/index', emberinternalsUtilityTypesIndex); - -import * as emberinternalsUtilsIndex from '@ember/-internals/utils/index'; -d('@ember/-internals/utils/index', emberinternalsUtilsIndex); - -import * as emberinternalsViewsIndex from '@ember/-internals/views/index'; -d('@ember/-internals/views/index', emberinternalsViewsIndex); - -import * as emberinternalsViewsLibCompatAttrs from '@ember/-internals/views/lib/compat/attrs'; -d('@ember/-internals/views/lib/compat/attrs', emberinternalsViewsLibCompatAttrs); - -import * as emberinternalsViewsLibCompatFallbackViewRegistry from '@ember/-internals/views/lib/compat/fallback-view-registry'; -d( - '@ember/-internals/views/lib/compat/fallback-view-registry', - emberinternalsViewsLibCompatFallbackViewRegistry -); - -import * as emberinternalsViewsLibComponentLookup from '@ember/-internals/views/lib/component_lookup'; -d('@ember/-internals/views/lib/component_lookup', emberinternalsViewsLibComponentLookup); - -import * as emberinternalsViewsLibMixinsActionSupport from '@ember/-internals/views/lib/mixins/action_support'; -d('@ember/-internals/views/lib/mixins/action_support', emberinternalsViewsLibMixinsActionSupport); - -import * as emberinternalsViewsLibSystemEventDispatcher from '@ember/-internals/views/lib/system/event_dispatcher'; -d( - '@ember/-internals/views/lib/system/event_dispatcher', - emberinternalsViewsLibSystemEventDispatcher -); - -import * as emberinternalsViewsLibSystemUtils from '@ember/-internals/views/lib/system/utils'; -d('@ember/-internals/views/lib/system/utils', emberinternalsViewsLibSystemUtils); - -import * as emberinternalsViewsLibViewsCoreView from '@ember/-internals/views/lib/views/core_view'; -d('@ember/-internals/views/lib/views/core_view', emberinternalsViewsLibViewsCoreView); - -import * as emberinternalsViewsLibViewsStates from '@ember/-internals/views/lib/views/states'; -d('@ember/-internals/views/lib/views/states', emberinternalsViewsLibViewsStates); - -import * as emberApplicationIndex from '@ember/application/index'; -d('@ember/application/index', emberApplicationIndex); - -import * as emberApplicationInstance from '@ember/application/instance'; -d('@ember/application/instance', emberApplicationInstance); - -import * as emberApplicationLibLazyLoad from '@ember/application/lib/lazy_load'; -d('@ember/application/lib/lazy_load', emberApplicationLibLazyLoad); - -import * as emberApplicationNamespace from '@ember/application/namespace'; -d('@ember/application/namespace', emberApplicationNamespace); - -import * as emberArrayinternals from '@ember/array/-internals'; -d('@ember/array/-internals', emberArrayinternals); - -import * as emberArrayIndex from '@ember/array/index'; -d('@ember/array/index', emberArrayIndex); - -import * as emberArrayLibMakeArray from '@ember/array/lib/make-array'; -d('@ember/array/lib/make-array', emberArrayLibMakeArray); - -import * as emberArrayMutable from '@ember/array/mutable'; -d('@ember/array/mutable', emberArrayMutable); - -import * as emberArrayProxy from '@ember/array/proxy'; -d('@ember/array/proxy', emberArrayProxy); - -import * as emberCanaryFeaturesIndex from '@ember/canary-features/index'; -d('@ember/canary-features/index', emberCanaryFeaturesIndex); - -import * as emberComponentHelper from '@ember/component/helper'; -d('@ember/component/helper', emberComponentHelper); - -import * as emberComponentIndex from '@ember/component/index'; -d('@ember/component/index', emberComponentIndex); - -import * as emberComponentTemplateOnly from '@ember/component/template-only'; -d('@ember/component/template-only', emberComponentTemplateOnly); - -import * as emberControllerIndex from '@ember/controller/index'; -d('@ember/controller/index', emberControllerIndex); - -import * as emberDebugIndex from '@ember/debug/index'; -d('@ember/debug/index', emberDebugIndex); - -import * as emberDebugLibCaptureRenderTree from '@ember/debug/lib/capture-render-tree'; -d('@ember/debug/lib/capture-render-tree', emberDebugLibCaptureRenderTree); - -import * as emberDebugLibDeprecate from '@ember/debug/lib/deprecate'; -d('@ember/debug/lib/deprecate', emberDebugLibDeprecate); - -import * as emberDebugLibHandlers from '@ember/debug/lib/handlers'; -d('@ember/debug/lib/handlers', emberDebugLibHandlers); - -import * as emberDebugLibInspect from '@ember/debug/lib/inspect'; -d('@ember/debug/lib/inspect', emberDebugLibInspect); - -import * as emberDebugLibTesting from '@ember/debug/lib/testing'; -d('@ember/debug/lib/testing', emberDebugLibTesting); - -import * as emberDebugLibWarn from '@ember/debug/lib/warn'; -d('@ember/debug/lib/warn', emberDebugLibWarn); - -import * as emberDebugContainerDebugAdapter from '@ember/debug/container-debug-adapter'; -d('@ember/debug/container-debug-adapter', emberDebugContainerDebugAdapter); - -import * as emberDebugDataAdapter from '@ember/debug/data-adapter'; -d('@ember/debug/data-adapter', emberDebugDataAdapter); - -import * as emberDeprecatedFeaturesIndex from '@ember/deprecated-features/index'; -d('@ember/deprecated-features/index', emberDeprecatedFeaturesIndex); - -import * as emberDestroyableIndex from '@ember/destroyable/index'; -d('@ember/destroyable/index', emberDestroyableIndex); - -import * as emberEngineIndex from '@ember/engine/index'; -d('@ember/engine/index', emberEngineIndex); - -import * as emberEngineInstance from '@ember/engine/instance'; -d('@ember/engine/instance', emberEngineInstance); - -import * as emberEngineLibEngineParent from '@ember/engine/lib/engine-parent'; -d('@ember/engine/lib/engine-parent', emberEngineLibEngineParent); - -import * as emberEnumerableIndex from '@ember/enumerable/index'; -d('@ember/enumerable/index', emberEnumerableIndex); - -import * as emberEnumerableMutable from '@ember/enumerable/mutable'; -d('@ember/enumerable/mutable', emberEnumerableMutable); - -import * as emberHelperIndex from '@ember/helper/index'; -d('@ember/helper/index', emberHelperIndex); - -import * as emberInstrumentationIndex from '@ember/instrumentation/index'; -d('@ember/instrumentation/index', emberInstrumentationIndex); - -import * as emberModifierIndex from '@ember/modifier/index'; -d('@ember/modifier/index', emberModifierIndex); - -import * as emberObjectinternals from '@ember/object/-internals'; -d('@ember/object/-internals', emberObjectinternals); - -import * as emberObjectCompat from '@ember/object/compat'; -d('@ember/object/compat', emberObjectCompat); - -import * as emberObjectComputed from '@ember/object/computed'; -d('@ember/object/computed', emberObjectComputed); - -import * as emberObjectCore from '@ember/object/core'; -d('@ember/object/core', emberObjectCore); - -import * as emberObjectEvented from '@ember/object/evented'; -d('@ember/object/evented', emberObjectEvented); - -import * as emberObjectEvents from '@ember/object/events'; -d('@ember/object/events', emberObjectEvents); - -import * as emberObjectIndex from '@ember/object/index'; -d('@ember/object/index', emberObjectIndex); - -import * as emberObjectInternals from '@ember/object/internals'; -d('@ember/object/internals', emberObjectInternals); - -import * as emberObjectLibComputedComputedMacros from '@ember/object/lib/computed/computed_macros'; -d('@ember/object/lib/computed/computed_macros', emberObjectLibComputedComputedMacros); - -import * as emberObjectLibComputedReduceComputedMacros from '@ember/object/lib/computed/reduce_computed_macros'; -d('@ember/object/lib/computed/reduce_computed_macros', emberObjectLibComputedReduceComputedMacros); - -import * as emberObjectMixin from '@ember/object/mixin'; -d('@ember/object/mixin', emberObjectMixin); - -import * as emberObjectObservable from '@ember/object/observable'; -d('@ember/object/observable', emberObjectObservable); - -import * as emberObjectObservers from '@ember/object/observers'; -d('@ember/object/observers', emberObjectObservers); - -import * as emberObjectPromiseProxyMixin from '@ember/object/promise-proxy-mixin'; -d('@ember/object/promise-proxy-mixin', emberObjectPromiseProxyMixin); - -import * as emberObjectProxy from '@ember/object/proxy'; -d('@ember/object/proxy', emberObjectProxy); - -import * as emberOwnerIndex from '@ember/owner/index'; -d('@ember/owner/index', emberOwnerIndex); - -import * as emberReactiveIndex from '@ember/reactive/index'; -d('@ember/reactive/index', emberReactiveIndex); - -import * as emberReactiveCollections from '@ember/reactive/collections'; -d('@ember/reactive/collections', emberReactiveCollections); - -import * as emberRendererIndex from '@ember/renderer/index'; -d('@ember/renderer/index', emberRendererIndex); - -import * as emberRoutinginternals from '@ember/routing/-internals'; -d('@ember/routing/-internals', emberRoutinginternals); - -import * as emberRoutingHashLocation from '@ember/routing/hash-location'; -d('@ember/routing/hash-location', emberRoutingHashLocation); - -import * as emberRoutingHistoryLocation from '@ember/routing/history-location'; -d('@ember/routing/history-location', emberRoutingHistoryLocation); - -import * as emberRoutingIndex from '@ember/routing/index'; -d('@ember/routing/index', emberRoutingIndex); - -import * as emberRoutingLibCache from '@ember/routing/lib/cache'; -d('@ember/routing/lib/cache', emberRoutingLibCache); - -import * as emberRoutingLibControllerFor from '@ember/routing/lib/controller_for'; -d('@ember/routing/lib/controller_for', emberRoutingLibControllerFor); - -import * as emberRoutingLibDsl from '@ember/routing/lib/dsl'; -d('@ember/routing/lib/dsl', emberRoutingLibDsl); - -import * as emberRoutingLibEngines from '@ember/routing/lib/engines'; -d('@ember/routing/lib/engines', emberRoutingLibEngines); - -import * as emberRoutingLibGenerateController from '@ember/routing/lib/generate_controller'; -d('@ember/routing/lib/generate_controller', emberRoutingLibGenerateController); - -import * as emberRoutingLibLocationUtils from '@ember/routing/lib/location-utils'; -d('@ember/routing/lib/location-utils', emberRoutingLibLocationUtils); - -import * as emberRoutingLibQueryParams from '@ember/routing/lib/query_params'; -d('@ember/routing/lib/query_params', emberRoutingLibQueryParams); - -import * as emberRoutingLibRouteInfo from '@ember/routing/lib/route-info'; -d('@ember/routing/lib/route-info', emberRoutingLibRouteInfo); - -import * as emberRoutingLibRouterState from '@ember/routing/lib/router_state'; -d('@ember/routing/lib/router_state', emberRoutingLibRouterState); - -import * as emberRoutingLibRoutingService from '@ember/routing/lib/routing-service'; -d('@ember/routing/lib/routing-service', emberRoutingLibRoutingService); - -import * as emberRoutingLibUtils from '@ember/routing/lib/utils'; -d('@ember/routing/lib/utils', emberRoutingLibUtils); - -import * as emberRoutingLocation from '@ember/routing/location'; -d('@ember/routing/location', emberRoutingLocation); - -import * as emberRoutingNoneLocation from '@ember/routing/none-location'; -d('@ember/routing/none-location', emberRoutingNoneLocation); - -import * as emberRoutingRouteInfo from '@ember/routing/route-info'; -d('@ember/routing/route-info', emberRoutingRouteInfo); - -import * as emberRoutingRoute from '@ember/routing/route'; -d('@ember/routing/route', emberRoutingRoute); - -import * as emberRoutingRouterService from '@ember/routing/router-service'; -d('@ember/routing/router-service', emberRoutingRouterService); - -import * as emberRoutingRouter from '@ember/routing/router'; -d('@ember/routing/router', emberRoutingRouter); - -import * as emberRoutingTransition from '@ember/routing/transition'; -d('@ember/routing/transition', emberRoutingTransition); - -import * as emberRunloopprivateBackburner from '@ember/runloop/-private/backburner'; -d('@ember/runloop/-private/backburner', emberRunloopprivateBackburner); - -import * as emberRunloopIndex from '@ember/runloop/index'; -d('@ember/runloop/index', emberRunloopIndex); - -import * as emberServiceIndex from '@ember/service/index'; -d('@ember/service/index', emberServiceIndex); - -import * as emberTemplateCompilationIndex from '@ember/template-compilation/index'; -d('@ember/template-compilation/index', emberTemplateCompilationIndex); - -import * as emberTemplateFactoryIndex from '@ember/template-factory/index'; -d('@ember/template-factory/index', emberTemplateFactoryIndex); - -import * as emberTemplateIndex from '@ember/template/index'; -d('@ember/template/index', emberTemplateIndex); - -import * as emberTestAdapter from '@ember/test/adapter'; -d('@ember/test/adapter', emberTestAdapter); - -import * as emberTestIndex from '@ember/test/index'; -d('@ember/test/index', emberTestIndex); - -import * as emberUtilsIndex from '@ember/utils/index'; -d('@ember/utils/index', emberUtilsIndex); - -import * as emberUtilsLibCompare from '@ember/utils/lib/compare'; -d('@ember/utils/lib/compare', emberUtilsLibCompare); - -import * as emberUtilsLibIsEqual from '@ember/utils/lib/is-equal'; -d('@ember/utils/lib/is-equal', emberUtilsLibIsEqual); - -import * as emberUtilsLibIsBlank from '@ember/utils/lib/is_blank'; -d('@ember/utils/lib/is_blank', emberUtilsLibIsBlank); - -import * as emberUtilsLibIsEmpty from '@ember/utils/lib/is_empty'; -d('@ember/utils/lib/is_empty', emberUtilsLibIsEmpty); - -import * as emberUtilsLibIsNone from '@ember/utils/lib/is_none'; -d('@ember/utils/lib/is_none', emberUtilsLibIsNone); - -import * as emberUtilsLibIsPresent from '@ember/utils/lib/is_present'; -d('@ember/utils/lib/is_present', emberUtilsLibIsPresent); - -import * as emberUtilsLibTypeOf from '@ember/utils/lib/type-of'; -d('@ember/utils/lib/type-of', emberUtilsLibTypeOf); - -import * as emberVersionIndex from '@ember/version/index'; -d('@ember/version/index', emberVersionIndex); - -import * as glimmerDestroyable from '@glimmer/destroyable'; -d('@glimmer/destroyable', glimmerDestroyable); - -import * as glimmerEncoder from '@glimmer/encoder'; -d('@glimmer/encoder', glimmerEncoder); - -import * as glimmerEnv from '@glimmer/env'; -d('@glimmer/env', glimmerEnv); - -import * as glimmerGlobalContext from '@glimmer/global-context'; -d('@glimmer/global-context', glimmerGlobalContext); - -import * as glimmerManager from '@glimmer/manager'; -d('@glimmer/manager', glimmerManager); - -import * as glimmerNode from '@glimmer/node'; -d('@glimmer/node', glimmerNode); - -import * as glimmerOpcodeCompiler from '@glimmer/opcode-compiler'; -d('@glimmer/opcode-compiler', glimmerOpcodeCompiler); - -import * as glimmerOwner from '@glimmer/owner'; -d('@glimmer/owner', glimmerOwner); - -import * as glimmerProgram from '@glimmer/program'; -d('@glimmer/program', glimmerProgram); - -import * as glimmerReference from '@glimmer/reference'; -d('@glimmer/reference', glimmerReference); - -import * as glimmerRuntime from '@glimmer/runtime'; -d('@glimmer/runtime', glimmerRuntime); - -import * as glimmerTrackingIndex from '@glimmer/tracking/index'; -d('@glimmer/tracking/index', glimmerTrackingIndex); - -import * as glimmerTrackingPrimitivesCache from '@glimmer/tracking/primitives/cache'; -d('@glimmer/tracking/primitives/cache', glimmerTrackingPrimitivesCache); - -import * as glimmerUtil from '@glimmer/util'; -d('@glimmer/util', glimmerUtil); - -import * as glimmerValidator from '@glimmer/validator'; -d('@glimmer/validator', glimmerValidator); - -import * as glimmerVm from '@glimmer/vm'; -d('@glimmer/vm', glimmerVm); - -import * as glimmerWireFormat from '@glimmer/wire-format'; -d('@glimmer/wire-format', glimmerWireFormat); - -import * as simpleDomDocument from '@simple-dom/document'; -d('@simple-dom/document', simpleDomDocument); - -import * as backburnerjs from 'backburner.js'; -d('backburner.js', backburnerjs); - -import * as dagMap from 'dag-map'; -d('dag-map', dagMap); - -import * as emberIndex from 'ember/index'; -d('ember/index', emberIndex); - -import * as emberVersion from 'ember/version'; -d('ember/version', emberVersion); - -import * as routeRecognizer from 'route-recognizer'; -d('route-recognizer', routeRecognizer); - -import * as routerJs from 'router_js'; -d('router_js', routerJs); - -import * as rsvp from 'rsvp'; -d('rsvp', rsvp); - -if (typeof module === 'object' && typeof module.require === 'function') { - module.exports = emberIndex.default; -} - -emberDebugIndex.deprecate( - 'Your app loaded Ember via a legacy AMD bundle. Opt into loading it from the modern ES modules by setting the use-ember-modules optional feature.', - false, - emberinternalsDeprecationsIndex.DEPRECATIONS.DEPRECATE_AMD_BUNDLES.options -); diff --git a/eslint.config.mjs b/eslint.config.mjs index 7991ebd3638..7407d64b580 100644 --- a/eslint.config.mjs +++ b/eslint.config.mjs @@ -21,6 +21,7 @@ export default [ 'docs/', '**/.*', '**/dist/', + '**/dist-prod/', '**/tmp/', '**/smoke-tests/', '**/types/', diff --git a/lib/index.js b/lib/index.js index 0e6c340c9cf..c515ab2cda4 100644 --- a/lib/index.js +++ b/lib/index.js @@ -6,55 +6,9 @@ const Funnel = require('broccoli-funnel'); const path = require('path'); const Overrides = require('./overrides'); const SupportedBrowsers = require('./browsers'); -const fs = require('fs'); const isProduction = process.env.EMBER_ENV === 'production'; -const useEmberModules = (() => { - // this doesn't go through the documented API of the @ember/optional-features - // package because that is available way too late for this. - let pkg = require(path.join(process.cwd(), 'package.json')); - let configDir = pkg['ember-addon']?.['configPath'] ?? 'config'; - let optionalFeaturesPath = `./${configDir}/optional-features.json`; - if (fs.existsSync(optionalFeaturesPath)) { - return require(path.join(process.cwd(), optionalFeaturesPath))?.['use-ember-modules'] ?? false; - } else { - return false; - } -})(); - -const paths = {}; -const absolutePaths = {}; - -function add(paths, name, path) { - Object.defineProperty(paths, name, { - configurable: false, - get: function () { - return path; - }, - }); -} - -add(paths, 'prod', 'vendor/ember/ember.js'); -add(paths, 'debug', 'vendor/ember/ember.js'); -add(paths, 'testing', 'vendor/ember/ember-testing.js'); - -add( - absolutePaths, - 'templateCompiler', - useEmberModules - ? path.join( - __dirname, - '..', - 'dist', - isProduction ? 'prod' : 'dev', - 'packages', - 'ember-template-compiler', - 'index.js' - ) - : path.join(__dirname, '..', 'dist', 'ember-template-compiler.js') -); - const { addonV1Shim } = require('@embroider/addon-shim'); const shim = addonV1Shim(path.join(__dirname, '..'), { @@ -62,178 +16,170 @@ const shim = addonV1Shim(path.join(__dirname, '..'), { customizeMeta(meta) { /* This whole hook is an ember-auto-import feature that only effects classic builds, not embroider builds. */ - if (useEmberModules) { - // this is our forward-compatible mode where all of ember-source is - // handled by ember-auto-import, like a normal v2 addon. - // - // In this case, we need to inject an implicit-modules config to force - // all the traditionally-included modules to be included whether or not - // we see an import for them, because ember-auto-import does not have - // global visiblity of all imports in all v1 addons. - // - // This means ember-source is not tree-shakable on classic builds, but - // that's the normal status quo for classic builds. It's all - // tree-shakable on the current default build (@embroider/vite). - return { - ...meta, - 'implicit-modules': [ - './dist/dev/packages/@ember/-internals/browser-environment/index.js', - './dist/dev/packages/@ember/-internals/container/index.js', - './dist/dev/packages/@ember/-internals/deprecations/index.js', - './dist/dev/packages/@ember/-internals/environment/index.js', - './dist/dev/packages/@ember/-internals/error-handling/index.js', - './dist/dev/packages/@ember/-internals/glimmer/index.js', - './dist/dev/packages/@ember/-internals/meta/index.js', - './dist/dev/packages/@ember/-internals/meta/lib/meta.js', - './dist/dev/packages/@ember/-internals/metal/index.js', - './dist/dev/packages/@ember/-internals/owner/index.js', - './dist/dev/packages/@ember/-internals/routing/index.js', - './dist/dev/packages/@ember/-internals/runtime/index.js', - './dist/dev/packages/@ember/-internals/runtime/lib/ext/rsvp.js', - './dist/dev/packages/@ember/-internals/runtime/lib/mixins/-proxy.js', - './dist/dev/packages/@ember/-internals/runtime/lib/mixins/comparable.js', - './dist/dev/packages/@ember/-internals/string/index.js', - './dist/dev/packages/@ember/-internals/utility-types/index.js', - './dist/dev/packages/@ember/-internals/utils/index.js', - './dist/dev/packages/@ember/-internals/views/index.js', - './dist/dev/packages/@ember/-internals/views/lib/compat/attrs.js', - './dist/dev/packages/@ember/-internals/views/lib/component_lookup.js', - './dist/dev/packages/@ember/-internals/views/lib/mixins/action_support.js', - './dist/dev/packages/@ember/-internals/views/lib/system/utils.js', - './dist/dev/packages/@ember/-internals/views/lib/views/core_view.js', - './dist/dev/packages/@ember/-internals/views/lib/views/states.js', - './dist/dev/packages/@ember/application/index.js', - './dist/dev/packages/@ember/application/instance.js', - './dist/dev/packages/@ember/application/lib/lazy_load.js', - './dist/dev/packages/@ember/application/namespace.js', - './dist/dev/packages/@ember/array/-internals.js', - './dist/dev/packages/@ember/array/index.js', - './dist/dev/packages/@ember/array/lib/make-array.js', - './dist/dev/packages/@ember/array/mutable.js', - './dist/dev/packages/@ember/array/proxy.js', - './dist/dev/packages/@ember/canary-features/index.js', - './dist/dev/packages/@ember/component/helper.js', - './dist/dev/packages/@ember/component/index.js', - './dist/dev/packages/@ember/component/template-only.js', - './dist/dev/packages/@ember/controller/index.js', - './dist/dev/packages/@ember/debug/index.js', - './dist/dev/packages/@ember/debug/lib/capture-render-tree.js', - './dist/dev/packages/@ember/debug/lib/deprecate.js', - './dist/dev/packages/@ember/debug/lib/handlers.js', - './dist/dev/packages/@ember/debug/lib/inspect.js', - './dist/dev/packages/@ember/debug/lib/testing.js', - './dist/dev/packages/@ember/debug/lib/warn.js', - './dist/dev/packages/@ember/debug/container-debug-adapter.js', - './dist/dev/packages/@ember/debug/data-adapter.js', - './dist/dev/packages/@ember/deprecated-features/index.js', - './dist/dev/packages/@ember/destroyable/index.js', - './dist/dev/packages/@ember/engine/index.js', - './dist/dev/packages/@ember/engine/instance.js', - './dist/dev/packages/@ember/engine/lib/engine-parent.js', - './dist/dev/packages/@ember/enumerable/index.js', - './dist/dev/packages/@ember/enumerable/mutable.js', - './dist/dev/packages/@ember/helper/index.js', - './dist/dev/packages/@ember/instrumentation/index.js', - './dist/dev/packages/@ember/modifier/index.js', - './dist/dev/packages/@ember/object/-internals.js', - './dist/dev/packages/@ember/object/compat.js', - './dist/dev/packages/@ember/object/computed.js', - './dist/dev/packages/@ember/object/core.js', - './dist/dev/packages/@ember/object/evented.js', - './dist/dev/packages/@ember/object/events.js', - './dist/dev/packages/@ember/object/index.js', - './dist/dev/packages/@ember/object/internals.js', - './dist/dev/packages/@ember/object/lib/computed/computed_macros.js', - './dist/dev/packages/@ember/object/lib/computed/reduce_computed_macros.js', - './dist/dev/packages/@ember/object/mixin.js', - './dist/dev/packages/@ember/object/observable.js', - './dist/dev/packages/@ember/object/observers.js', - './dist/dev/packages/@ember/object/promise-proxy-mixin.js', - './dist/dev/packages/@ember/object/proxy.js', - './dist/dev/packages/@ember/owner/index.js', - './dist/dev/packages/@ember/renderer/index.js', - './dist/dev/packages/@ember/routing/-internals.js', - './dist/dev/packages/@ember/routing/hash-location.js', - './dist/dev/packages/@ember/routing/history-location.js', - './dist/dev/packages/@ember/routing/index.js', - './dist/dev/packages/@ember/routing/lib/cache.js', - './dist/dev/packages/@ember/routing/lib/controller_for.js', - './dist/dev/packages/@ember/routing/lib/dsl.js', - './dist/dev/packages/@ember/routing/lib/generate_controller.js', - './dist/dev/packages/@ember/routing/lib/location-utils.js', - './dist/dev/packages/@ember/routing/lib/query_params.js', - './dist/dev/packages/@ember/routing/lib/router_state.js', - './dist/dev/packages/@ember/routing/lib/routing-service.js', - './dist/dev/packages/@ember/routing/lib/utils.js', - './dist/dev/packages/@ember/routing/none-location.js', - './dist/dev/packages/@ember/routing/route.js', - './dist/dev/packages/@ember/routing/router-service.js', - './dist/dev/packages/@ember/routing/router.js', - './dist/dev/packages/@ember/runloop/index.js', - './dist/dev/packages/@ember/service/index.js', - './dist/dev/packages/@ember/template-compilation/index.js', - './dist/dev/packages/@ember/template-factory/index.js', - './dist/dev/packages/@ember/template/index.js', - './dist/dev/packages/@ember/test/adapter.js', - './dist/dev/packages/@ember/test/index.js', - './dist/dev/packages/@ember/utils/index.js', - './dist/dev/packages/@ember/utils/lib/compare.js', - './dist/dev/packages/@ember/utils/lib/is-equal.js', - './dist/dev/packages/@ember/utils/lib/is_blank.js', - './dist/dev/packages/@ember/utils/lib/is_empty.js', - './dist/dev/packages/@ember/utils/lib/is_none.js', - './dist/dev/packages/@ember/utils/lib/is_present.js', - './dist/dev/packages/@ember/utils/lib/type-of.js', - './dist/dev/packages/@ember/version/index.js', - './dist/dev/packages/@glimmer/destroyable/index.js', - './dist/dev/packages/@glimmer/encoder/index.js', - './dist/dev/packages/@glimmer/env/index.js', - './dist/dev/packages/@glimmer/global-context/index.js', - './dist/dev/packages/@glimmer/manager/index.js', - './dist/dev/packages/@glimmer/node/index.js', - './dist/dev/packages/@glimmer/opcode-compiler/index.js', - './dist/dev/packages/@glimmer/owner/index.js', - './dist/dev/packages/@glimmer/program/index.js', - './dist/dev/packages/@glimmer/reference/index.js', - './dist/dev/packages/@glimmer/runtime/index.js', - './dist/dev/packages/@glimmer/tracking/index.js', - './dist/dev/packages/@glimmer/tracking/primitives/cache/index.js', - './dist/dev/packages/@glimmer/util/index.js', - './dist/dev/packages/@glimmer/validator/index.js', - './dist/dev/packages/@glimmer/vm/index.js', - './dist/dev/packages/@glimmer/wire-format/index.js', - './dist/dev/packages/@simple-dom/document/index.js', - './dist/dev/packages/backburner.js/index.js', - './dist/dev/packages/dag-map/index.js', - './dist/dev/packages/ember/index.js', - './dist/dev/packages/ember/version.js', - './dist/dev/packages/route-recognizer/index.js', - './dist/dev/packages/router_js/index.js', - './dist/dev/packages/rsvp/index.js', - ].map((x) => (isProduction ? x.replace('/dist/dev/', '/dist/prod/') : x)), - 'implicit-test-modules': [ - './dist/dev/packages/ember-testing/index.js', - './dist/dev/packages/ember-testing/lib/adapters/adapter.js', - './dist/dev/packages/ember-testing/lib/public-api.js', - './dist/dev/packages/ember-testing/lib/test.js', - './dist/dev/packages/ember-testing/lib/test/adapter.js', - './dist/dev/packages/ember-testing/lib/test/pending_requests.js', - './dist/dev/packages/ember-testing/lib/test/waiters.js', - ].map((x) => (isProduction ? x.replace('/dist/dev/', '/dist/prod/') : x)), - }; - } else { - // this is our backward-compatible mode that actually keeps most of ember-source in vendor.js. - return { ...meta, 'renamed-modules': {} }; - } + // this is our forward-compatible mode where all of ember-source is + // handled by ember-auto-import, like a normal v2 addon. + // + // In this case, we need to inject an implicit-modules config to force + // all the traditionally-included modules to be included whether or not + // we see an import for them, because ember-auto-import does not have + // global visiblity of all imports in all v1 addons. + // + // This means ember-source is not tree-shakable on classic builds, but + // that's the normal status quo for classic builds. It's all + // tree-shakable on the current default build (@embroider/vite). + return { + ...meta, + 'implicit-modules': [ + './dist/dev/packages/@ember/-internals/browser-environment/index.js', + './dist/dev/packages/@ember/-internals/container/index.js', + './dist/dev/packages/@ember/-internals/deprecations/index.js', + './dist/dev/packages/@ember/-internals/environment/index.js', + './dist/dev/packages/@ember/-internals/error-handling/index.js', + './dist/dev/packages/@ember/-internals/glimmer/index.js', + './dist/dev/packages/@ember/-internals/meta/index.js', + './dist/dev/packages/@ember/-internals/meta/lib/meta.js', + './dist/dev/packages/@ember/-internals/metal/index.js', + './dist/dev/packages/@ember/-internals/owner/index.js', + './dist/dev/packages/@ember/-internals/routing/index.js', + './dist/dev/packages/@ember/-internals/runtime/index.js', + './dist/dev/packages/@ember/-internals/runtime/lib/ext/rsvp.js', + './dist/dev/packages/@ember/-internals/runtime/lib/mixins/-proxy.js', + './dist/dev/packages/@ember/-internals/runtime/lib/mixins/comparable.js', + './dist/dev/packages/@ember/-internals/string/index.js', + './dist/dev/packages/@ember/-internals/utility-types/index.js', + './dist/dev/packages/@ember/-internals/utils/index.js', + './dist/dev/packages/@ember/-internals/views/index.js', + './dist/dev/packages/@ember/-internals/views/lib/compat/attrs.js', + './dist/dev/packages/@ember/-internals/views/lib/component_lookup.js', + './dist/dev/packages/@ember/-internals/views/lib/mixins/action_support.js', + './dist/dev/packages/@ember/-internals/views/lib/system/utils.js', + './dist/dev/packages/@ember/-internals/views/lib/views/core_view.js', + './dist/dev/packages/@ember/-internals/views/lib/views/states.js', + './dist/dev/packages/@ember/application/index.js', + './dist/dev/packages/@ember/application/instance.js', + './dist/dev/packages/@ember/application/lib/lazy_load.js', + './dist/dev/packages/@ember/application/namespace.js', + './dist/dev/packages/@ember/array/-internals.js', + './dist/dev/packages/@ember/array/index.js', + './dist/dev/packages/@ember/array/lib/make-array.js', + './dist/dev/packages/@ember/array/mutable.js', + './dist/dev/packages/@ember/array/proxy.js', + './dist/dev/packages/@ember/canary-features/index.js', + './dist/dev/packages/@ember/component/helper.js', + './dist/dev/packages/@ember/component/index.js', + './dist/dev/packages/@ember/component/template-only.js', + './dist/dev/packages/@ember/controller/index.js', + './dist/dev/packages/@ember/debug/index.js', + './dist/dev/packages/@ember/debug/lib/capture-render-tree.js', + './dist/dev/packages/@ember/debug/lib/deprecate.js', + './dist/dev/packages/@ember/debug/lib/handlers.js', + './dist/dev/packages/@ember/debug/lib/inspect.js', + './dist/dev/packages/@ember/debug/lib/testing.js', + './dist/dev/packages/@ember/debug/lib/warn.js', + './dist/dev/packages/@ember/debug/container-debug-adapter.js', + './dist/dev/packages/@ember/debug/data-adapter.js', + './dist/dev/packages/@ember/deprecated-features/index.js', + './dist/dev/packages/@ember/destroyable/index.js', + './dist/dev/packages/@ember/engine/index.js', + './dist/dev/packages/@ember/engine/instance.js', + './dist/dev/packages/@ember/engine/lib/engine-parent.js', + './dist/dev/packages/@ember/enumerable/index.js', + './dist/dev/packages/@ember/enumerable/mutable.js', + './dist/dev/packages/@ember/helper/index.js', + './dist/dev/packages/@ember/instrumentation/index.js', + './dist/dev/packages/@ember/modifier/index.js', + './dist/dev/packages/@ember/object/-internals.js', + './dist/dev/packages/@ember/object/compat.js', + './dist/dev/packages/@ember/object/computed.js', + './dist/dev/packages/@ember/object/core.js', + './dist/dev/packages/@ember/object/evented.js', + './dist/dev/packages/@ember/object/events.js', + './dist/dev/packages/@ember/object/index.js', + './dist/dev/packages/@ember/object/internals.js', + './dist/dev/packages/@ember/object/lib/computed/computed_macros.js', + './dist/dev/packages/@ember/object/lib/computed/reduce_computed_macros.js', + './dist/dev/packages/@ember/object/mixin.js', + './dist/dev/packages/@ember/object/observable.js', + './dist/dev/packages/@ember/object/observers.js', + './dist/dev/packages/@ember/object/promise-proxy-mixin.js', + './dist/dev/packages/@ember/object/proxy.js', + './dist/dev/packages/@ember/owner/index.js', + './dist/dev/packages/@ember/renderer/index.js', + './dist/dev/packages/@ember/routing/-internals.js', + './dist/dev/packages/@ember/routing/hash-location.js', + './dist/dev/packages/@ember/routing/history-location.js', + './dist/dev/packages/@ember/routing/index.js', + './dist/dev/packages/@ember/routing/lib/cache.js', + './dist/dev/packages/@ember/routing/lib/controller_for.js', + './dist/dev/packages/@ember/routing/lib/dsl.js', + './dist/dev/packages/@ember/routing/lib/generate_controller.js', + './dist/dev/packages/@ember/routing/lib/location-utils.js', + './dist/dev/packages/@ember/routing/lib/query_params.js', + './dist/dev/packages/@ember/routing/lib/router_state.js', + './dist/dev/packages/@ember/routing/lib/routing-service.js', + './dist/dev/packages/@ember/routing/lib/utils.js', + './dist/dev/packages/@ember/routing/none-location.js', + './dist/dev/packages/@ember/routing/route.js', + './dist/dev/packages/@ember/routing/router-service.js', + './dist/dev/packages/@ember/routing/router.js', + './dist/dev/packages/@ember/runloop/index.js', + './dist/dev/packages/@ember/service/index.js', + './dist/dev/packages/@ember/template-compilation/index.js', + './dist/dev/packages/@ember/template-factory/index.js', + './dist/dev/packages/@ember/template/index.js', + './dist/dev/packages/@ember/test/adapter.js', + './dist/dev/packages/@ember/test/index.js', + './dist/dev/packages/@ember/utils/index.js', + './dist/dev/packages/@ember/utils/lib/compare.js', + './dist/dev/packages/@ember/utils/lib/is-equal.js', + './dist/dev/packages/@ember/utils/lib/is_blank.js', + './dist/dev/packages/@ember/utils/lib/is_empty.js', + './dist/dev/packages/@ember/utils/lib/is_none.js', + './dist/dev/packages/@ember/utils/lib/is_present.js', + './dist/dev/packages/@ember/utils/lib/type-of.js', + './dist/dev/packages/@ember/version/index.js', + './dist/dev/packages/@glimmer/destroyable/index.js', + './dist/dev/packages/@glimmer/encoder/index.js', + './dist/dev/packages/@glimmer/env/index.js', + './dist/dev/packages/@glimmer/global-context/index.js', + './dist/dev/packages/@glimmer/manager/index.js', + './dist/dev/packages/@glimmer/node/index.js', + './dist/dev/packages/@glimmer/opcode-compiler/index.js', + './dist/dev/packages/@glimmer/owner/index.js', + './dist/dev/packages/@glimmer/program/index.js', + './dist/dev/packages/@glimmer/reference/index.js', + './dist/dev/packages/@glimmer/runtime/index.js', + './dist/dev/packages/@glimmer/tracking/index.js', + './dist/dev/packages/@glimmer/tracking/primitives/cache/index.js', + './dist/dev/packages/@glimmer/util/index.js', + './dist/dev/packages/@glimmer/validator/index.js', + './dist/dev/packages/@glimmer/vm/index.js', + './dist/dev/packages/@glimmer/wire-format/index.js', + './dist/dev/packages/@simple-dom/document/index.js', + './dist/dev/packages/backburner.js/index.js', + './dist/dev/packages/dag-map/index.js', + './dist/dev/packages/ember/index.js', + './dist/dev/packages/ember/version.js', + './dist/dev/packages/route-recognizer/index.js', + './dist/dev/packages/router_js/index.js', + './dist/dev/packages/rsvp/index.js', + ].map((x) => (isProduction ? x.replace('/dist/dev/', '/dist/prod/') : x)), + 'implicit-test-modules': [ + './dist/dev/packages/ember-testing/index.js', + './dist/dev/packages/ember-testing/lib/adapters/adapter.js', + './dist/dev/packages/ember-testing/lib/public-api.js', + './dist/dev/packages/ember-testing/lib/test.js', + './dist/dev/packages/ember-testing/lib/test/adapter.js', + './dist/dev/packages/ember-testing/lib/test/pending_requests.js', + './dist/dev/packages/ember-testing/lib/test/waiters.js', + ].map((x) => (isProduction ? x.replace('/dist/dev/', '/dist/prod/') : x)), + }; }, }, }); module.exports = { ...shim, - paths, - absolutePaths, - init() { if (shim.init) { shim.init.apply(this, arguments); @@ -279,7 +225,6 @@ module.exports = { if (shim.treeForVendor) { tree = shim.treeForVendor.call(this, tree); } - const isProduction = process.env.EMBER_ENV === 'production'; let templateCompiler = new Funnel(tree, { destDir: 'ember', @@ -288,31 +233,14 @@ module.exports = { let emberAMDBundles; - if (useEmberModules) { - // ember-cli always tries to append these to vendor.js, so even when we - // don't want to put anything in them they need to exist as empty files. - emberAMDBundles = new MergeTrees([ - createFile('ember/ember.js', ''), - createFile('ember/ember.js.map', ''), - createFile('ember/ember-testing.js', ''), - createFile('ember/ember-testing.js.map', ''), - ]); - } else { - let which = isProduction ? 'prod' : 'debug'; - - emberAMDBundles = new Funnel(tree, { - destDir: 'ember', - include: [ - `ember.${which}.js`, - `ember.${which}.js.map`, - 'ember-testing.js', - 'ember-testing.js.map', - ], - getDestinationPath(path) { - return path.replace(`ember.${which}.`, 'ember.'); - }, - }); - } + // ember-cli always tries to append these to vendor.js, so even when we + // don't want to put anything in them they need to exist as empty files. + emberAMDBundles = new MergeTrees([ + createFile('ember/ember.js', ''), + createFile('ember/ember.js.map', ''), + createFile('ember/ember-testing.js', ''), + createFile('ember/ember-testing.js.map', ''), + ]); let emberCliBabel = this.addons.find((a) => a.name === 'ember-cli-babel'); diff --git a/package.json b/package.json index 0ec816da348..204460fc8ab 100644 --- a/package.json +++ b/package.json @@ -14,7 +14,6 @@ "./types": { "types": "./types/stable/index.d.ts" }, - "./dist/ember-template-compiler.js": "./dist/ember-template-compiler.js", "./package.json": "./package.json" }, "homepage": "https://emberjs.com/", @@ -69,7 +68,7 @@ "broccoli-funnel": "^3.0.8", "broccoli-merge-trees": "^4.2.0", "chalk": "^4.0.0", - "ember-cli-babel": "^8.2.0", + "ember-cli-babel": "^8.3.1", "ember-cli-get-component-path-option": "^1.0.0", "ember-cli-normalize-entity-name": "^1.0.0", "ember-cli-path-utils": "^1.0.0", @@ -148,7 +147,9 @@ "pnpm": { "overrides": { "rollup": "^4.2.0", - "ember-cli-htmlbars": "^7.0.0" + "ember-cli-htmlbars": "^7.0.0", + "babel-plugin-ember-template-compilation": "^4.0.0", + "ember-cli-babel": "^8.3.1" }, "onlyBuiltDependencies": [ "@swc/core", diff --git a/packages/@ember/-internals/deprecations/index.ts b/packages/@ember/-internals/deprecations/index.ts index 89ad88ed625..b68b84b616e 100644 --- a/packages/@ember/-internals/deprecations/index.ts +++ b/packages/@ember/-internals/deprecations/index.ts @@ -112,16 +112,6 @@ export const DEPRECATIONS = { until: '7.0.0', url: 'https://deprecations.emberjs.com/id/importing-inject-from-ember-service', }), - DEPRECATE_AMD_BUNDLES: deprecation({ - for: 'ember-source', - id: 'using-amd-bundles', - since: { - available: '6.10.0', - enabled: '6.10.0', - }, - until: '7.0.0', - url: 'https://deprecations.emberjs.com/id/using-amd-bundles', - }), }; export function deprecateUntil(message: string, deprecation: DeprecationObject) { diff --git a/packages/ember-template-compiler/index.ts b/packages/ember-template-compiler/index.ts index 41dce0adf71..7fadb57f7be 100644 --- a/packages/ember-template-compiler/index.ts +++ b/packages/ember-template-compiler/index.ts @@ -3,9 +3,3 @@ import * as ETC from './lib/public-api'; import { __registerTemplateCompiler } from '@ember/template-compilation'; __registerTemplateCompiler(ETC); -// used to bootstrap templates -import './lib/system/bootstrap'; - -// add domTemplates initializer (only does something if `ember-template-compiler` -// is loaded already) -import './lib/system/initializer'; diff --git a/packages/loader/lib/index.d.ts b/packages/loader/lib/index.d.ts deleted file mode 100644 index 58443c7f54c..00000000000 --- a/packages/loader/lib/index.d.ts +++ /dev/null @@ -1,4 +0,0 @@ -declare module 'require' { - export function has(path: string): boolean; - export default function require(path: string): any; -} diff --git a/packages/loader/package.json b/packages/loader/package.json deleted file mode 100644 index 746606e9d59..00000000000 --- a/packages/loader/package.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "name": "loader", - "private": true, - "dependencies": {} -} \ No newline at end of file diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 88fc4babc8c..0b87eb3e053 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -8,6 +8,8 @@ overrides: socket.io: ^4.7.0 rollup: ^4.2.0 ember-cli-htmlbars: ^7.0.0 + babel-plugin-ember-template-compilation: ^4.0.0 + ember-cli-babel: ^8.3.1 patchedDependencies: '@tracerbench/core@8.0.1': @@ -43,7 +45,7 @@ importers: specifier: ^4.0.0 version: 4.1.2 ember-cli-babel: - specifier: ^8.2.0 + specifier: ^8.3.1 version: 8.3.1(@babel/core@7.29.0) ember-cli-get-component-path-option: specifier: ^1.0.0 @@ -2721,8 +2723,6 @@ importers: specifier: ^0.5.11 version: 0.5.11 - packages/loader: {} - packages/router_js: dependencies: '@glimmer/env': @@ -2794,7 +2794,7 @@ importers: version: 6.11.2(@babel/core@7.29.0)(@types/node@22.19.15)(ejs@3.1.10)(handlebars@4.7.9)(underscore@1.13.8) ember-cli-app-version: specifier: ^7.0.0 - version: 7.0.0(ember-source@) + version: 7.0.0(@babel/core@7.29.0)(ember-source@) ember-cli-babel: specifier: ^8.3.1 version: 8.3.1(@babel/core@7.29.0) @@ -3464,13 +3464,6 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-proposal-private-property-in-object@7.21.11': - resolution: {integrity: sha512-0QZ8qP/3RLDVBwBFoWAwCtgcDZJVwA5LUJRZU8x2YFfKNuFq161wK3cuGrALu5yiPu+vzwTAg/sMWVNeWeNyaw==} - engines: {node: '>=6.9.0'} - deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-private-property-in-object instead. - peerDependencies: - '@babel/core': ^7.0.0-0 - '@babel/plugin-syntax-decorators@7.28.6': resolution: {integrity: sha512-71EYI0ONURHJBL4rSFXnITXqXrrY8q4P0q006DPfN+Rk+ASM+++IBXem/ruokgBZR8YNEWZ8R6B+rCb8VcUTqA==} engines: {node: '>=6.9.0'} @@ -3494,12 +3487,6 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-syntax-private-property-in-object@7.14.5': - resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - '@babel/plugin-syntax-typescript@7.28.6': resolution: {integrity: sha512-+nDNmQye7nlnuuHDboPbGm00Vqg3oO8niRRL27/4LYHUsHYh0zJ1xWOz0uRwNFmM1Avzk8wZbc6rdiYhomzv/A==} engines: {node: '>=6.9.0'} @@ -3830,10 +3817,6 @@ packages: peerDependencies: '@babel/core': ^7.0.0 - '@babel/polyfill@7.12.1': - resolution: {integrity: sha512-X0pi0V6gxLi6lFZpGmeNa4zxtwEmCs42isWLNjZZDE0Y8yVfgu0T2OAHlzBbdYlqbW/YXVvoBHpATEM+goCj8g==} - deprecated: 🚨 This package has been deprecated in favor of separate inclusion of a polyfill and regenerator-runtime (when needed). See the @babel/polyfill docs (https://babeljs.io/docs/en/babel-polyfill) for more information. - '@babel/preset-env@7.29.2': resolution: {integrity: sha512-DYD23veRYGvBFhcTY1iUvJnDNpuqNd/BzBwCvzOTKUnJjKg5kpUBh3/u9585Agdkgj+QuygG7jLfOPWMa2KVNw==} engines: {node: '>=6.9.0'} @@ -5631,9 +5614,6 @@ packages: '@types/estree@1.0.8': resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==} - '@types/fs-extra@5.1.0': - resolution: {integrity: sha512-AInn5+UBFIK9FK5xc9yP5e3TQSPNNgjHByqYcj9g5elVBnDQcQL7PlO1CIRy2gWlbwK7UPYqi7vRvFA44dCmYQ==} - '@types/fs-extra@9.0.13': resolution: {integrity: sha512-nEnwB++1u5lVDM2UI4c1+5R+FYaKfaAzS4OococimjVm3nQw3TuzH5UNsocrcTBbhnerblyHj4A49qXbIiZdpA==} @@ -5674,9 +5654,6 @@ packages: '@types/responselike@1.0.3': resolution: {integrity: sha512-H/+L+UkTV33uf49PH5pCAUBVPNj2nDBXTN+qS1dOwyyg24l3CcicicCA7ca+HMvJBZcFgl5r8e+RR6elsb4Lyw==} - '@types/rimraf@2.0.5': - resolution: {integrity: sha512-YyP+VfeaqAyFmXoTh3HChxOQMyjByRMsHU7kc5KOJkSlXudhMhQIALbYV7rHh/l8d2lX3VUQzprrcAgWdRuU8g==} - '@types/rimraf@3.0.2': resolution: {integrity: sha512-F3OznnSLAUxFrCEu/L5PY8+ny8DtcFRjx7fZZ9bycvXRi3KPTRS9HOitGZwvPg0juRhXFWIeKX58cnX5YqLohQ==} @@ -6197,10 +6174,6 @@ packages: resolution: {integrity: sha512-n+ktQ3JeyWrpRutSyPn2PsHeH+A94SVm+iUoogzf9VUqpP47FfWem24gpQXhn+p6+x5/BpuFJXMLXWt7ZoYAKA==} engines: {node: '>= 12.*'} - babel-plugin-ember-template-compilation@3.1.0: - resolution: {integrity: sha512-kk7cGyblE9n4MB98rqw2wuUW7YLD5FM+Tr97gNSYL4e8DBMQndLuWaWNx1wfd7o00NjFhhoTR+HZs2nj23g2Lw==} - engines: {node: '>= 18.*'} - babel-plugin-ember-template-compilation@4.0.0: resolution: {integrity: sha512-J2dR6ZPfPNuIR7vzhneO9xR0aTvOHITszuGif2EOYw3Qg3KlIVEd/hNnEeubyWgjYXn06Sgm6/NdNXEMNSsWYQ==} engines: {node: '>= 18.*'} @@ -6209,10 +6182,6 @@ packages: resolution: {integrity: sha512-QWjjFgSKtSRIcsBhJmEwS2laIdrA6na8HAlc/pEAhjHgQsah/gMiBFRZvbQTy//hWxR4BMwV7/Mya7q5H8uHeA==} engines: {node: 10.* || >= 12.*} - babel-plugin-module-resolver@3.2.0: - resolution: {integrity: sha512-tjR0GvSndzPew/Iayf4uICWZqjBwnlMWjSx6brryfQ81F9rxBVqwDJtFCV8oOs0+vJeefK9TmdZtkIFdFe1UnA==} - engines: {node: '>= 6.0.0'} - babel-plugin-module-resolver@5.0.3: resolution: {integrity: sha512-h8h6H71ZvdLJZxZrYkaeR30BojTaV7O9GfqacY14SNj5CNB8ocL9tydNzTC0JrnNN7vY3eJhwCmkDj7tuEUaqQ==} @@ -6352,10 +6321,6 @@ packages: broccoli-asset-rewrite@2.0.0: resolution: {integrity: sha512-dqhxdQpooNi7LHe8J9Jdxp6o3YPFWl4vQmint6zrsn2sVbOo+wpyiX3erUSt0IBtjNkAxqJjuvS375o2cLBHTA==} - broccoli-babel-transpiler@7.8.1: - resolution: {integrity: sha512-6IXBgfRt7HZ61g67ssBc6lBb3Smw3DPZ9dEYirgtvXWpRZ2A9M22nxy6opEwJDgDJzlu/bB7ToppW33OFkA1gA==} - engines: {node: '>= 6'} - broccoli-babel-transpiler@8.0.2: resolution: {integrity: sha512-XIGsUyJgehSRNVVrOnRuW+tijYBqkoGEONc/UHkiOBW+C0trPv9c/Icc/Cf+2l1McQlHW/Mc6SksHg6qFlEClg==} engines: {node: 16.* || >= 18} @@ -6462,10 +6427,6 @@ packages: broccoli-slow-trees@3.1.0: resolution: {integrity: sha512-FRI7mRTk2wjIDrdNJd6znS7Kmmne4VkAkl8Ix1R/VoePFMD0g0tEl671xswzFqaRjpT9Qu+CC4hdXDLDJBuzMw==} - broccoli-source@2.1.2: - resolution: {integrity: sha512-1lLayO4wfS0c0Sj50VfHJXNWf94FYY0WUhxj0R77thbs6uWI7USiOWFqQV5dRmhAJnoKaGN4WyLGQbgjgiYFwQ==} - engines: {node: 6.* || 8.* || >= 10.*} - broccoli-source@3.0.1: resolution: {integrity: sha512-ZbGVQjivWi0k220fEeIUioN6Y68xjMy0xiLAc0LdieHI99gw+tafU8w0CggBDYVNsJMKUr006AZaM7gNEwCxEg==} engines: {node: 8.* || 10.* || >= 12.*} @@ -7083,10 +7044,6 @@ packages: core-js-compat@3.49.0: resolution: {integrity: sha512-VQXt1jr9cBz03b331DFDCCP90b3fanciLkgiOoy8SBHy06gNf+vQ1A3WFLqG7I8TipYIKeYK9wxd0tUrvHcOZA==} - core-js@2.6.12: - resolution: {integrity: sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==} - deprecated: core-js@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js. - core-object@3.1.5: resolution: {integrity: sha512-sA2/4+/PZ/KV6CKgjrVrrUVBKCkdDO02CUlQ0YKTQoYUwPYNOtOAcWlbYhd5v/1JqYaA6oZ4sDlOU4ppVw6Wbg==} engines: {node: '>= 4'} @@ -7439,10 +7396,6 @@ packages: resolution: {integrity: sha512-sKvOiPNHr5F/60NLd7SFzMpYPte/nnGkq/tMIfXejfKHIhaiIkYFqX8Z9UFTKWLLn+V7NOaby6niNPZUdvKCRw==} engines: {node: 6.* || 8.* || >= 10.*} - ember-cli-babel@7.26.11: - resolution: {integrity: sha512-JJYeYjiz/JTn34q7F5DSOjkkZqy8qwFOOxXfE6pe9yEJqWGu4qErKxlz8I22JoVEQ/aBUO+OcKTpmctvykM9YA==} - engines: {node: 6.* || 8.* || >= 10.*} - ember-cli-babel@8.3.1: resolution: {integrity: sha512-Pxm5JP0jQ6fCBlXuh1BFmhrg2/5YXjhf16JI/n8ReOR6Nl+fEbudMpdO69LlqZRsMmTgdjCRmfSxMh26Wsw/rw==} engines: {node: 16.* || 18.* || >= 20} @@ -7529,10 +7482,6 @@ packages: resolution: {integrity: sha512-PZNSvpzwWgv68hcXxyjREpj3WWb81A7rtYNQq1lLEgrWIchF8ApKJjWP3NBpHjaatwILkZAV8klair5WFlXAKg==} engines: {node: 6.* || 8.* || >= 10.*} - ember-cli-version-checker@4.1.1: - resolution: {integrity: sha512-bzEWsTMXUGEJfxcAGWPe6kI7oHEGD3jaxUWDYPTqzqGhNkgPwXTBgoWs9zG1RaSMaOPFnloWuxRcoHi4TrYS3Q==} - engines: {node: 8.* || 10.* || >= 12.*} - ember-cli-version-checker@5.1.2: resolution: {integrity: sha512-rk7GY+FmLn/2e22HsZs0Ycrz8HQ1W3Fv+2TFOuEFW9optnDXDgkntPBIl6gact/LHsfBM5RKbM3dHsIIeLgl0Q==} engines: {node: 10.* || >= 12.*} @@ -8109,10 +8058,6 @@ packages: resolution: {integrity: sha512-S8KoZgRZN+a5rNwqTxlZZePjT/4cnm0ROV70LedRHZ0p8u9fRID0hJUZQpkKLzro8LfmC8sx23bY6tVNxv8pQA==} engines: {node: '>= 18.0.0'} - find-babel-config@1.2.2: - resolution: {integrity: sha512-oK59njMyw2y3yxto1BCfVK7MQp/OYf4FleHu0RgosH3riFJ1aOuo/7naLDLAObfrgn3ueFhw5sAT/cp0QuJI3Q==} - engines: {node: '>=4.0.0'} - find-babel-config@2.1.2: resolution: {integrity: sha512-ZfZp1rQyp4gyuxqt1ZqjFGVeVBvmpURMqdIWXbPRfB97Bf6BzdK/xSIbylEINzQ0kB5tlDQfn9HkNXXWsqTqLg==} @@ -8127,10 +8072,6 @@ packages: find-index@1.1.1: resolution: {integrity: sha512-XYKutXMrIK99YMUPf91KX5QVJoG31/OsgftD6YoTPAObfQIxM4ziA9f0J1AsqKhJmo+IeaIPP0CFopTD4bdUBw==} - find-up@2.1.0: - resolution: {integrity: sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==} - engines: {node: '>=4'} - find-up@3.0.0: resolution: {integrity: sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==} engines: {node: '>=6'} @@ -8165,17 +8106,10 @@ packages: fireworm@0.7.2: resolution: {integrity: sha512-GjebTzq+NKKhfmDxjKq3RXwQcN9xRmZWhnnuC9L+/x5wBQtR0aaQM50HsjrzJ2wc28v1vSdfOpELok0TKR4ddg==} - fixturify-project@1.10.0: - resolution: {integrity: sha512-L1k9uiBQuN0Yr8tA9Noy2VSQ0dfg0B8qMdvT7Wb5WQKc7f3dn3bzCbSrqlb+etLW+KDV4cBC7R1OvcMg3kcxmA==} - fixturify-project@7.1.3: resolution: {integrity: sha512-araEoNawWCIV9xT/+kAQ+H3aiFTVVH1nUDuYU7syhbWnlyA6BzuRE7vhdZQ7m+1+T5A3zG2JljGxRkNP1EhvXQ==} engines: {node: '>= 14.*'} - fixturify@1.3.0: - resolution: {integrity: sha512-tL0svlOy56pIMMUQ4bU1xRe6NZbFSa/ABTWMxW2mH38lFGc9TrNAKWcMBQ7eIjo3wqSS8f2ICabFaatFyFmrVQ==} - engines: {node: 6.* || 8.* || >= 10.*} - fixturify@3.0.0: resolution: {integrity: sha512-PFOf/DT9/t2NCiVyiQ5cBMJtGZfWh3aeOV8XVqQQOPBlTv8r6l0k75/hm36JOaiJlrWFk/8aYFyOKAvOkrkjrw==} engines: {node: 14.* || >= 16.*} @@ -9292,10 +9226,6 @@ packages: loader.js@4.7.0: resolution: {integrity: sha512-9M2KvGT6duzGMgkOcTkWb+PR/Q2Oe54df/tLgHGVmFpAmtqJ553xJh6N63iFYI2yjo2PeJXbS5skHi/QpJq4vA==} - locate-path@2.0.0: - resolution: {integrity: sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==} - engines: {node: '>=4'} - locate-path@3.0.0: resolution: {integrity: sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==} engines: {node: '>=6'} @@ -9966,10 +9896,6 @@ packages: resolution: {integrity: sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==} engines: {node: '>=4'} - p-limit@1.3.0: - resolution: {integrity: sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==} - engines: {node: '>=4'} - p-limit@2.3.0: resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} engines: {node: '>=6'} @@ -9982,10 +9908,6 @@ packages: resolution: {integrity: sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - p-locate@2.0.0: - resolution: {integrity: sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==} - engines: {node: '>=4'} - p-locate@3.0.0: resolution: {integrity: sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==} engines: {node: '>=6'} @@ -10006,10 +9928,6 @@ packages: resolution: {integrity: sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==} engines: {node: '>=6'} - p-try@1.0.0: - resolution: {integrity: sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==} - engines: {node: '>=4'} - p-try@2.2.0: resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} engines: {node: '>=6'} @@ -10198,10 +10116,6 @@ packages: pkg-entry-points@1.1.1: resolution: {integrity: sha512-BhZa7iaPmB4b3vKIACoppyUoYn8/sFs17VJJtzrzPZvEnN2nqrgg911tdL65lA2m1ml6UI3iPeYbZQ4VXpn1mA==} - pkg-up@2.0.0: - resolution: {integrity: sha512-fjAPuiws93rm7mPUu21RdBnkeZNrbfCFCwfAhPWY+rR3zG0ubpe5cEReHOw5fIbfmsxEV/g2kSxGTATY3Bpnwg==} - engines: {node: '>=4'} - pkg-up@3.1.0: resolution: {integrity: sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==} engines: {node: '>=8'} @@ -10572,9 +10486,6 @@ packages: requires-port@1.0.0: resolution: {integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==} - reselect@3.0.1: - resolution: {integrity: sha512-b/6tFZCmRhtBMa4xGqiiRp9jh9Aqi2A687Lo265cN0/QohJQEBPiQ52f4QB6i0eF3yp3hmLL21LSGBcML2dlxA==} - reselect@4.1.8: resolution: {integrity: sha512-ab9EmR80F/zQTMNeneUr4cv+jSwPJgIlvEmVwLerwrWVbpLlBuls9XHzIeTFy4cegU2NHBp3va0LKOzU5qFEYQ==} @@ -10593,10 +10504,6 @@ packages: resolve-package-path@1.2.7: resolution: {integrity: sha512-fVEKHGeK85bGbVFuwO9o1aU0n3vqQGrezPc51JGu9UTXpFQfWq5qCeKxyaRUSvephs+06c5j5rPq/dzHGEo8+Q==} - resolve-package-path@2.0.0: - resolution: {integrity: sha512-/CLuzodHO2wyyHTzls5Qr+EFeG6RcW4u6//gjYvUfcfyuplIX1SSccU+A5A9A78Gmezkl3NBkFAMxLbzTY9TJA==} - engines: {node: 8.* || 10.* || >= 12} - resolve-package-path@3.1.0: resolution: {integrity: sha512-2oC2EjWbMJwvSN6Z7DbDfJMnD8MYEouaLn5eIX0j8XwPsYCVIyY9bbnX88YHVkbr8XHqvZrYbxaLPibfTYKZMA==} engines: {node: 10.* || >= 12} @@ -11896,9 +11803,6 @@ packages: workerpool@10.0.1: resolution: {integrity: sha512-NAnKwZJxWlj/U1cp6ZkEtPE+GQY1S6KtOS3AlCiPfPFLxV3m64giSp7g2LsNJxzYCocDT7TSl+7T0sgrDp3KoQ==} - workerpool@3.1.2: - resolution: {integrity: sha512-WJFA0dGqIK7qj7xPTqciWBH5DlJQzoPjsANvc3Y4hNB0SScT+Emjvt0jPPkDBUjBNngX1q9hHgt1Gfwytu6pug==} - workerpool@6.5.1: resolution: {integrity: sha512-Fs4dNYcsdpYSAfVxhnl1L5zTksjvOJxtC5hzMNl+1t9B8hTJTdKDyZ5ju7ztgPy+ft9tBFXoOlDNiOT9WUXZlA==} @@ -12718,16 +12622,6 @@ snapshots: dependencies: '@babel/core': 7.29.0(supports-color@8.1.1) - '@babel/plugin-proposal-private-property-in-object@7.21.11(@babel/core@7.29.0)': - dependencies: - '@babel/core': 7.29.0(supports-color@8.1.1) - '@babel/helper-annotate-as-pure': 7.27.3 - '@babel/helper-create-class-features-plugin': 7.28.6(@babel/core@7.29.0)(supports-color@8.1.1) - '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.29.0) - transitivePeerDependencies: - - supports-color - '@babel/plugin-syntax-decorators@7.28.6(@babel/core@7.29.0)': dependencies: '@babel/core': 7.29.0(supports-color@8.1.1) @@ -12748,11 +12642,6 @@ snapshots: '@babel/core': 7.29.0(supports-color@8.1.1) '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.29.0)': - dependencies: - '@babel/core': 7.29.0(supports-color@8.1.1) - '@babel/helper-plugin-utils': 7.28.6 - '@babel/plugin-syntax-typescript@7.28.6(@babel/core@7.29.0)': dependencies: '@babel/core': 7.29.0(supports-color@8.1.1) @@ -13120,11 +13009,6 @@ snapshots: '@babel/helper-create-regexp-features-plugin': 7.28.5(@babel/core@7.29.0) '@babel/helper-plugin-utils': 7.28.6 - '@babel/polyfill@7.12.1': - dependencies: - core-js: 2.6.12 - regenerator-runtime: 0.13.11 - '@babel/preset-env@7.29.2(@babel/core@7.29.0)(supports-color@8.1.1)': dependencies: '@babel/compat-data': 7.29.0 @@ -13415,7 +13299,7 @@ snapshots: assert-never: 1.4.0 babel-import-util: 3.0.1 babel-plugin-debug-macros: 2.0.0(@babel/core@7.29.0) - babel-plugin-ember-template-compilation: 3.1.0 + babel-plugin-ember-template-compilation: 4.0.0 babel-plugin-ember-template-compilation-2: babel-plugin-ember-template-compilation@2.4.1 babel-plugin-syntax-dynamic-import: 6.18.0 babylon: 6.18.0 @@ -13462,7 +13346,7 @@ snapshots: '@embroider/reverse-exports': 0.2.0 '@embroider/shared-internals': 3.0.2 assert-never: 1.4.0 - babel-plugin-ember-template-compilation: 3.1.0 + babel-plugin-ember-template-compilation: 4.0.0 broccoli-node-api: 1.7.0 broccoli-persistent-filter: 3.1.3 broccoli-plugin: 4.0.7 @@ -15355,10 +15239,6 @@ snapshots: '@types/estree@1.0.8': {} - '@types/fs-extra@5.1.0': - dependencies: - '@types/node': 22.19.15 - '@types/fs-extra@9.0.13': dependencies: '@types/node': 20.19.37 @@ -15397,11 +15277,6 @@ snapshots: dependencies: '@types/node': 22.19.15 - '@types/rimraf@2.0.5': - dependencies: - '@types/glob': 9.0.0 - '@types/node': 22.19.15 - '@types/rimraf@3.0.2': dependencies: '@types/glob': 9.0.0 @@ -16012,12 +15887,6 @@ snapshots: '@glimmer/syntax': 0.95.0 babel-import-util: 3.0.1 - babel-plugin-ember-template-compilation@3.1.0: - dependencies: - '@glimmer/syntax': 0.95.0 - babel-import-util: 3.0.1 - import-meta-resolve: 4.2.0 - babel-plugin-ember-template-compilation@4.0.0: dependencies: '@glimmer/syntax': 0.95.0 @@ -16032,14 +15901,6 @@ snapshots: parse-static-imports: 1.1.0 string.prototype.matchall: 4.0.12 - babel-plugin-module-resolver@3.2.0: - dependencies: - find-babel-config: 1.2.2 - glob: 7.2.3 - pkg-up: 2.0.0 - reselect: 3.0.1 - resolve: 1.22.11 - babel-plugin-module-resolver@5.0.3: dependencies: find-babel-config: 2.1.2 @@ -16239,23 +16100,6 @@ snapshots: transitivePeerDependencies: - supports-color - broccoli-babel-transpiler@7.8.1: - dependencies: - '@babel/core': 7.29.0(supports-color@8.1.1) - '@babel/polyfill': 7.12.1 - broccoli-funnel: 2.0.2 - broccoli-merge-trees: 3.0.2 - broccoli-persistent-filter: 2.3.1 - clone: 2.1.2 - hash-for-dep: 1.5.2 - heimdalljs: 0.2.6 - heimdalljs-logger: 0.1.10 - json-stable-stringify: 1.3.0 - rsvp: 4.8.5 - workerpool: 3.1.2 - transitivePeerDependencies: - - supports-color - broccoli-babel-transpiler@8.0.2(@babel/core@7.29.0): dependencies: '@babel/core': 7.29.0(supports-color@8.1.1) @@ -16539,8 +16383,6 @@ snapshots: dependencies: heimdalljs: 0.2.6 - broccoli-source@2.1.2: {} - broccoli-source@3.0.1: dependencies: broccoli-node-api: 1.7.0 @@ -17109,8 +16951,6 @@ snapshots: dependencies: browserslist: 4.28.1 - core-js@2.6.12: {} - core-object@3.1.5: dependencies: chalk: 2.4.2 @@ -17447,7 +17287,7 @@ snapshots: '@embroider/shared-internals': 2.9.2(supports-color@8.1.1) babel-loader: 8.4.1(@babel/core@7.29.0)(webpack@5.105.4) babel-plugin-ember-modules-api-polyfill: 3.5.0 - babel-plugin-ember-template-compilation: 2.4.1 + babel-plugin-ember-template-compilation: 4.0.0 babel-plugin-htmlbars-inline-precompile: 5.3.1 babel-plugin-syntax-dynamic-import: 6.18.0 broccoli-debug: 0.6.5 @@ -17478,51 +17318,17 @@ snapshots: - supports-color - webpack - ember-cli-app-version@7.0.0(ember-source@): + ember-cli-app-version@7.0.0(@babel/core@7.29.0)(ember-source@): dependencies: - ember-cli-babel: 7.26.11 + ember-cli-babel: 8.3.1(@babel/core@7.29.0) ember-source: 'link:' git-repo-info: 2.1.1 transitivePeerDependencies: + - '@babel/core' - supports-color ember-cli-babel-plugin-helpers@1.1.1: {} - ember-cli-babel@7.26.11: - dependencies: - '@babel/core': 7.29.0(supports-color@8.1.1) - '@babel/helper-compilation-targets': 7.28.6 - '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.29.0) - '@babel/plugin-proposal-decorators': 7.29.0(@babel/core@7.29.0) - '@babel/plugin-proposal-private-methods': 7.18.6(@babel/core@7.29.0) - '@babel/plugin-proposal-private-property-in-object': 7.21.11(@babel/core@7.29.0) - '@babel/plugin-transform-modules-amd': 7.27.1(@babel/core@7.29.0)(supports-color@8.1.1) - '@babel/plugin-transform-runtime': 7.29.0(@babel/core@7.29.0) - '@babel/plugin-transform-typescript': 7.28.6(@babel/core@7.29.0) - '@babel/polyfill': 7.12.1 - '@babel/preset-env': 7.29.2(@babel/core@7.29.0)(supports-color@8.1.1) - '@babel/runtime': 7.12.18 - amd-name-resolver: 1.3.1 - babel-plugin-debug-macros: 0.3.4(@babel/core@7.29.0) - babel-plugin-ember-data-packages-polyfill: 0.1.2 - babel-plugin-ember-modules-api-polyfill: 3.5.0 - babel-plugin-module-resolver: 3.2.0 - broccoli-babel-transpiler: 7.8.1 - broccoli-debug: 0.6.5 - broccoli-funnel: 2.0.2 - broccoli-source: 2.1.2 - calculate-cache-key-for-tree: 2.0.0 - clone: 2.1.2 - ember-cli-babel-plugin-helpers: 1.1.1 - ember-cli-version-checker: 4.1.1 - ensure-posix-path: 1.1.1 - fixturify-project: 1.10.0 - resolve-package-path: 3.1.0 - rimraf: 3.0.2 - semver: 5.7.2 - transitivePeerDependencies: - - supports-color - ember-cli-babel@8.3.1(@babel/core@7.29.0): dependencies: '@babel/core': 7.29.0(supports-color@8.1.1) @@ -17617,7 +17423,7 @@ snapshots: ember-cli-htmlbars@6.3.0: dependencies: '@ember/edition-utils': 1.2.0 - babel-plugin-ember-template-compilation: 2.4.1 + babel-plugin-ember-template-compilation: 4.0.0 babel-plugin-htmlbars-inline-precompile: 5.3.1 broccoli-debug: 0.6.5 broccoli-persistent-filter: 3.1.3 @@ -17637,7 +17443,7 @@ snapshots: dependencies: '@babel/core': 7.29.0(supports-color@8.1.1) '@ember/edition-utils': 1.2.0 - babel-plugin-ember-template-compilation: 2.4.1 + babel-plugin-ember-template-compilation: 4.0.0 broccoli-debug: 0.6.5 broccoli-persistent-filter: 3.1.3 broccoli-plugin: 4.0.7 @@ -17715,14 +17521,6 @@ snapshots: resolve-package-path: 1.2.7 semver: 5.7.2 - ember-cli-version-checker@4.1.1: - dependencies: - resolve-package-path: 2.0.0 - semver: 6.3.1 - silent-error: 1.1.1 - transitivePeerDependencies: - - supports-color - ember-cli-version-checker@5.1.2: dependencies: resolve-package-path: 3.1.0 @@ -18751,11 +18549,6 @@ snapshots: transitivePeerDependencies: - supports-color - find-babel-config@1.2.2: - dependencies: - json5: 1.0.2 - path-exists: 3.0.0 - find-babel-config@2.1.2: dependencies: json5: 2.2.3 @@ -18773,10 +18566,6 @@ snapshots: find-index@1.1.1: {} - find-up@2.1.0: - dependencies: - locate-path: 2.0.0 - find-up@3.0.0: dependencies: locate-path: 3.0.0 @@ -18826,11 +18615,6 @@ snapshots: lodash.flatten: 3.0.2 minimatch: 3.1.5 - fixturify-project@1.10.0: - dependencies: - fixturify: 1.3.0 - tmp: 0.0.33 - fixturify-project@7.1.3: dependencies: '@embroider/shared-internals': 2.9.2(supports-color@8.1.1) @@ -18849,14 +18633,6 @@ snapshots: transitivePeerDependencies: - supports-color - fixturify@1.3.0: - dependencies: - '@types/fs-extra': 5.1.0 - '@types/minimatch': 3.0.5 - '@types/rimraf': 2.0.5 - fs-extra: 7.0.1 - matcher-collection: 2.0.1 - fixturify@3.0.0: dependencies: '@types/fs-extra': 9.0.13 @@ -20120,11 +19896,6 @@ snapshots: loader.js@4.7.0: {} - locate-path@2.0.0: - dependencies: - p-locate: 2.0.0 - path-exists: 3.0.0 - locate-path@3.0.0: dependencies: p-locate: 3.0.0 @@ -20821,10 +20592,6 @@ snapshots: p-finally@1.0.0: {} - p-limit@1.3.0: - dependencies: - p-try: 1.0.0 - p-limit@2.3.0: dependencies: p-try: 2.2.0 @@ -20837,10 +20604,6 @@ snapshots: dependencies: yocto-queue: 1.2.2 - p-locate@2.0.0: - dependencies: - p-limit: 1.3.0 - p-locate@3.0.0: dependencies: p-limit: 2.3.0 @@ -20859,8 +20622,6 @@ snapshots: p-map@2.1.0: {} - p-try@1.0.0: {} - p-try@2.2.0: {} package-json-from-dist@1.0.1: {} @@ -21008,10 +20769,6 @@ snapshots: pkg-entry-points@1.1.1: {} - pkg-up@2.0.0: - dependencies: - find-up: 2.1.0 - pkg-up@3.1.0: dependencies: find-up: 3.0.0 @@ -21407,8 +21164,6 @@ snapshots: requires-port@1.0.0: {} - reselect@3.0.1: {} - reselect@4.1.8: {} resolve-dir@1.0.1: @@ -21425,11 +21180,6 @@ snapshots: path-root: 0.1.1 resolve: 1.22.11 - resolve-package-path@2.0.0: - dependencies: - path-root: 0.1.1 - resolve: 1.22.11 - resolve-package-path@3.1.0: dependencies: path-root: 0.1.1 @@ -23125,14 +22875,6 @@ snapshots: workerpool@10.0.1: {} - workerpool@3.1.2: - dependencies: - '@babel/core': 7.29.0(supports-color@8.1.1) - object-assign: 4.1.1 - rsvp: 4.8.5 - transitivePeerDependencies: - - supports-color - workerpool@6.5.1: {} wrap-ansi@3.0.1: diff --git a/rollup.config.mjs b/rollup.config.mjs index edd1d86dc13..e6cff750120 100644 --- a/rollup.config.mjs +++ b/rollup.config.mjs @@ -12,7 +12,6 @@ const require = createRequire(import.meta.url); const { PackageCache, packageName } = require('@embroider/shared-internals'); const projectRoot = dirname(fileURLToPath(import.meta.url)); const packageCache = PackageCache.shared('ember-source', projectRoot); -const { buildInfo } = require('./broccoli/build-info'); const buildDebugMacroPlugin = require('./broccoli/build-debug-macro-plugin'); const canaryFeatures = require('./broccoli/canary-features'); @@ -28,19 +27,6 @@ const testDependencies = [ let configs = [ esmConfig(), esmProdConfig(), - legacyBundleConfig('./broccoli/amd-compat-entrypoints/ember.debug.js', 'ember.debug.js', { - isDeveloping: true, - }), - legacyBundleConfig('./broccoli/amd-compat-entrypoints/ember.debug.js', 'ember.prod.js', { - isDeveloping: false, - }), - legacyBundleConfig('./broccoli/amd-compat-entrypoints/ember-testing.js', 'ember-testing.js', { - isDeveloping: true, - isExternal(source) { - return !source.startsWith('ember-testing'); - }, - }), - templateCompilerConfig(), glimmerComponent(), glimmerSyntaxESM(), glimmerSyntaxCJS(), @@ -197,51 +183,6 @@ function renameEntrypoints(entrypoints, fn) { return Object.fromEntries(Object.entries(entrypoints).map(([k, v]) => [fn(k), v])); } -function legacyBundleConfig(input, output, { isDeveloping, isExternal }) { - let babelConfig = { ...sharedBabelConfig }; - - babelConfig.plugins = [...babelConfig.plugins, buildDebugMacroPlugin(isDeveloping)]; - - return { - input, - output: { - format: 'iife', - file: `dist/${output}`, - generatedCode: 'es2015', - sourcemap: true, - - // We are relying on unfrozen modules because we need to add the - // __esModule marker to them in our amd-compat-entrypoints. Rollup has an - // `esModule` option too, but it only puts the marker on entrypoints. We - // have a single entrypoint ("ember.debug.js") that imports a bunch of - // modules and hands them to our classic AMD loader. All of those modules - // need the __esModule marker too. - freeze: false, - - globals: (id) => { - return `require('${id}')`; - }, - - interop: 'esModule', - }, - onLog: handleRollupWarnings, - plugins: [ - amdDefineSupport(), - ...(isDeveloping ? [concatenateAMDEntrypoints()] : []), - babel({ - babelHelpers: 'bundled', - extensions: ['.js', '.ts'], - configFile: false, - ...babelConfig, - }), - resolveTS(), - version(), - resolvePackages({ ...exposedDependencies(), ...hiddenDependencies() }, { isExternal }), - licenseAndLoader(), - ], - }; -} - function packages() { // Start by treating every module as an entrypoint let entryFiles = glob.sync('**/*.{ts,js}', { @@ -551,136 +492,6 @@ export function version() { }; } -function amdDefineSupport() { - return { - name: 'amd-define-support', - - resolveId(source) { - if (source === 'amd-compat-entrypoint-definition') { - return '\0amd-compat-entrypoint-definition'; - } - }, - - load(id) { - if (id === '\0amd-compat-entrypoint-definition') { - return { - code: ` - export default function d(name, mod) { - Object.defineProperty(mod, '__esModule', { value: true }); - define(name, [], () => mod); - }; - `, - }; - } - }, - }; -} - -function concatenateAMDEntrypoints() { - const concatRules = { - // this says: when you load the ember.debug.js AMD compat entrypoint, also - // concatenate in the ember-testing.js AMD compat entrypoint. - 'ember.debug.js': ['ember-testing.js'], - }; - - return { - name: 'concatenateAMDEntrypoints', - load(id) { - if (id[0] === '\0') { - return; - } - for (let [target, extras] of Object.entries(concatRules)) { - if (id.endsWith(`amd-compat-entrypoints/${target}`)) { - let contents = [readFileSync(id), ...extras.map((e) => `import "./${e}";`)]; - return { - code: contents.join('\n'), - }; - } - } - }, - }; -} - -function license() { - return `/*! - * @overview Ember - JavaScript Application Framework - * @copyright Copyright 2011 Tilde Inc. and contributors - * Portions Copyright 2006-2011 Strobe Inc. - * Portions Copyright 2008-2011 Apple Inc. All rights reserved. - * @license Licensed under MIT license - * See https://raw.github.com/emberjs/ember.js/master/LICENSE - * @version ${buildInfo().version} - */ -`; -} - -function loader() { - return readFileSync( - resolve(dirname(fileURLToPath(import.meta.url)), 'packages', 'loader', 'lib', 'index.js') - ); -} - -function licenseAndLoader() { - return { - name: 'license-and-loader', - generateBundle(options, bundles) { - for (let bundle of Object.values(bundles)) { - bundle.code = license() + loader() + bundle.code; - } - }, - }; -} - -function templateCompilerConfig() { - // These are modules that, when used in the legacy template compiler bundle, - // need to be discovered from ember.debug.js instead when running in the - // browser, and stubbed to ember-template-compiler.js in node. - const externals = { - '@ember/template-compilation': `{ - __esModule: true, - __registerTemplateCompiler(){}, - }`, - ember: `{ - __esModule: true, - default: { - get ENV() { return require('@ember/-internals/environment').ENV }, - get FEATURES() { return require('@ember/canary-features').FEATURES }, - get VERSION() { return require('ember/version').default }, - }, - }`, - '@ember/-internals/glimmer': `{ - __esModule: true, - }`, - '@ember/application': `{ - __esModule: true, - }`, - }; - let config = legacyBundleConfig( - './broccoli/amd-compat-entrypoints/ember-template-compiler.js', - 'ember-template-compiler.js', - { isDeveloping: true } - ); - config.plugins.unshift({ - enforce: 'pre', - name: 'template-compiler-externals', - async resolveId(source) { - if (externals[source]) { - return { id: source, external: true }; - } - }, - }); - config.output.globals = (id) => { - return `(() => { - try { - return require('${id}'); - } catch (err) { - return ${externals[id]} - } - })()`; - }; - return config; -} - function pruneEmptyBundles() { return { name: 'prune-empty-bundles', diff --git a/smoke-tests/benchmark-app/babel.config.mjs b/smoke-tests/benchmark-app/babel.config.mjs index bb5b946c890..4a0aaf2ecd3 100644 --- a/smoke-tests/benchmark-app/babel.config.mjs +++ b/smoke-tests/benchmark-app/babel.config.mjs @@ -9,7 +9,6 @@ export default { [ 'babel-plugin-ember-template-compilation', { - compilerPath: 'ember-source/dist/ember-template-compiler.js', transforms: [...macros.templateMacros], }, ], diff --git a/smoke-tests/node-template/tests/node/sourcemap-test.js b/smoke-tests/node-template/tests/node/sourcemap-test.js index 689809479bc..3049c4320db 100644 --- a/smoke-tests/node-template/tests/node/sourcemap-test.js +++ b/smoke-tests/node-template/tests/node/sourcemap-test.js @@ -1,18 +1,24 @@ import fs from 'node:fs'; -import { createRequire } from 'node:module'; import { dirname, join } from 'node:path'; +import { createRequire } from 'node:module'; const require = createRequire(import.meta.url); const emberSourceRoot = dirname(require.resolve('ember-source/package.json')); QUnit.module('sourcemap validation', function () { - QUnit.test(`ember.js has only a single sourcemaps comment`, function (assert) { - let jsPath = join(emberSourceRoot, 'dist', 'ember.debug.js'); - assert.ok(fs.existsSync(jsPath)); + QUnit.test(`dev build has only single sourcemap comments per file`, function (assert) { + let devDir = join(emberSourceRoot, 'dist', 'dev', 'packages'); + assert.ok(fs.existsSync(devDir), 'dist/dev/packages exists'); - let contents = fs.readFileSync(jsPath, 'utf-8'); - let num = count(contents, '//# sourceMappingURL='); - assert.equal(num, 1); + // Check a representative file from the dev build + let emberIndex = join(devDir, 'ember', 'index.js'); + if (fs.existsSync(emberIndex)) { + let contents = fs.readFileSync(emberIndex, 'utf-8'); + let num = count(contents, '//# sourceMappingURL='); + assert.ok(num <= 1, `ember/index.js has at most one sourcemap comment (found ${num})`); + } else { + assert.ok(true, 'ember/index.js not present (skipped)'); + } }); }); diff --git a/smoke-tests/scenarios/scenarios.ts b/smoke-tests/scenarios/scenarios.ts index 022fcb28580..f17b0d658fe 100644 --- a/smoke-tests/scenarios/scenarios.ts +++ b/smoke-tests/scenarios/scenarios.ts @@ -1,14 +1,6 @@ import { Project, Scenarios } from 'scenario-tester'; import { dirname } from 'node:path'; -function classic(project: Project) { - // our monorepo uses pnpm overrides to force-upgrade ember-cli-htmlbars to 7, - // so that we can actually test the case where the use-ember-modules flag is - // enabled. This scenario ensures that when the flag is off, we still work - // with ember-cli-htmlbars 6. - project.linkDevDependency('ember-cli-htmlbars', { resolveName: 'ember-cli-htmlbars-6', baseDir: __dirname }); -} - function classicUseModulesFeature(project: Project) { project.mergeFiles({ config: { @@ -32,7 +24,6 @@ function embroiderVite(project: Project) {} export const v1AppScenarios = Scenarios.fromProject(() => Project.fromDir(dirname(require.resolve('../app-template/package.json')), { linkDevDeps: true }) ).expand({ - classic, classicUseModulesFeature, embroiderWebpack, }); diff --git a/tsconfig/compiler-options.json b/tsconfig/compiler-options.json index ae51907b492..584937c0480 100644 --- a/tsconfig/compiler-options.json +++ b/tsconfig/compiler-options.json @@ -31,8 +31,7 @@ "types": ["vite/client"], "paths": { - "backburner": ["../node_modules/backburner.js/dist/backburner.d.ts"], - "require": ["./loader/lib/index.d.ts"] + "backburner": ["../node_modules/backburner.js/dist/backburner.d.ts"] } } } diff --git a/types/publish.mjs b/types/publish.mjs index a8e11fcffef..ed58d4b5f33 100755 --- a/types/publish.mjs +++ b/types/publish.mjs @@ -161,12 +161,7 @@ async function main() { process.exit(status === 'success' ? 0 : 1); } -const REMAPPED_LOCATION_MODULES = [ - { - input: 'packages/loader/lib/index.d.ts', - output: 'require.d.ts', - }, -]; +const REMAPPED_LOCATION_MODULES = []; /** "Emit" hand-authored `.d.ts` modules for modules which need to live in a From 965b155c49b347d5038df89ca4f2ce321d35095d Mon Sep 17 00:00:00 2001 From: NullVoxPopuli <199018+NullVoxPopuli@users.noreply.github.com> Date: Sun, 29 Mar 2026 17:03:34 -0400 Subject: [PATCH 3/5] Remove treeForVendor --- lib/index.js | 38 -------------------------------------- 1 file changed, 38 deletions(-) diff --git a/lib/index.js b/lib/index.js index c515ab2cda4..53c3e4c50d5 100644 --- a/lib/index.js +++ b/lib/index.js @@ -191,10 +191,6 @@ module.exports = { // considers `__dirname` here to be the root, but since our main entry // point is within a subfolder we need to correct that this.root = path.join(__dirname, '..'); - - // Updates the vendor tree to point to dist, so we get the correct tree in - // treeForVendor - this.treePaths.vendor = 'dist'; }, _overrideTree: undefined, @@ -220,38 +216,4 @@ module.exports = { this.ui.writeWarnLine('[DEPRECATION] ' + overrides.buildTimeWarning); } }, - - treeForVendor(tree) { - if (shim.treeForVendor) { - tree = shim.treeForVendor.call(this, tree); - } - - let templateCompiler = new Funnel(tree, { - destDir: 'ember', - include: ['ember-template-compiler.js', 'ember-template-compiler.js.map'], - }); - - let emberAMDBundles; - - // ember-cli always tries to append these to vendor.js, so even when we - // don't want to put anything in them they need to exist as empty files. - emberAMDBundles = new MergeTrees([ - createFile('ember/ember.js', ''), - createFile('ember/ember.js.map', ''), - createFile('ember/ember-testing.js', ''), - createFile('ember/ember-testing.js.map', ''), - ]); - - let emberCliBabel = this.addons.find((a) => a.name === 'ember-cli-babel'); - - // this is primarily so we get preset-env with the app's targets. All our - // special stuff was already accounted for in the building of the bundles. - return emberCliBabel.transpileTree(new MergeTrees([emberAMDBundles, templateCompiler]), { - 'ember-cli-babel': { - compileModules: false, - disableDebugTooling: true, - disableEmberModulesAPIPolyfill: true, - }, - }); - }, }; From 2914f4cc10e90dfc99b5ab9a1ab7a508eaf1e26c Mon Sep 17 00:00:00 2001 From: NullVoxPopuli <199018+NullVoxPopuli@users.noreply.github.com> Date: Sun, 29 Mar 2026 17:09:25 -0400 Subject: [PATCH 4/5] Remove now unused dependencies --- lib/index.js | 3 --- package.json | 2 -- pnpm-lock.yaml | 6 ------ 3 files changed, 11 deletions(-) diff --git a/lib/index.js b/lib/index.js index 53c3e4c50d5..e1c5d1745c4 100644 --- a/lib/index.js +++ b/lib/index.js @@ -1,8 +1,5 @@ 'use strict'; -const MergeTrees = require('broccoli-merge-trees'); -const createFile = require('broccoli-file-creator'); -const Funnel = require('broccoli-funnel'); const path = require('path'); const Overrides = require('./overrides'); const SupportedBrowsers = require('./browsers'); diff --git a/package.json b/package.json index 204460fc8ab..55c9e146102 100644 --- a/package.json +++ b/package.json @@ -65,8 +65,6 @@ "@simple-dom/interface": "^1.4.0", "backburner.js": "^2.8.0", "broccoli-file-creator": "^2.1.1", - "broccoli-funnel": "^3.0.8", - "broccoli-merge-trees": "^4.2.0", "chalk": "^4.0.0", "ember-cli-babel": "^8.3.1", "ember-cli-get-component-path-option": "^1.0.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 0b87eb3e053..a9e9c1ed079 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -35,12 +35,6 @@ importers: broccoli-file-creator: specifier: ^2.1.1 version: 2.1.1 - broccoli-funnel: - specifier: ^3.0.8 - version: 3.0.8 - broccoli-merge-trees: - specifier: ^4.2.0 - version: 4.2.0 chalk: specifier: ^4.0.0 version: 4.1.2 From ca0d2f091ce9353c09bf698ee85980843007febe Mon Sep 17 00:00:00 2001 From: NullVoxPopuli <199018+NullVoxPopuli@users.noreply.github.com> Date: Sun, 29 Mar 2026 18:39:17 -0400 Subject: [PATCH 5/5] Rename classicUseModules to classic --- smoke-tests/scenarios/scenarios.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/smoke-tests/scenarios/scenarios.ts b/smoke-tests/scenarios/scenarios.ts index f17b0d658fe..571c33d3e62 100644 --- a/smoke-tests/scenarios/scenarios.ts +++ b/smoke-tests/scenarios/scenarios.ts @@ -1,7 +1,7 @@ import { Project, Scenarios } from 'scenario-tester'; import { dirname } from 'node:path'; -function classicUseModulesFeature(project: Project) { +function classic(project: Project) { project.mergeFiles({ config: { 'optional-features.json': JSON.stringify({ @@ -24,7 +24,7 @@ function embroiderVite(project: Project) {} export const v1AppScenarios = Scenarios.fromProject(() => Project.fromDir(dirname(require.resolve('../app-template/package.json')), { linkDevDeps: true }) ).expand({ - classicUseModulesFeature, + classic, embroiderWebpack, });