* chore: 🤖 import explicit mirage references * chore: 🤖 add mirage setupMirage helper * chore: 🤖 working example with application adapter test * chore: 🤖 use internal setupMirage test helper from api addon * chore: 🤖 conditionally load mirage * chore: 🤖 filter mirage folder inclusion in production builds * chore: 🤖 drop ember-mirage and use our own test helpers * chore: 🤖 collapse reference to import declaration * docs: ✏️ add comment better explaining the mirage test env * chore: 🤖 update configuration and manage mirage-related deps * fix: 🐛 restore ipc mock and add missing checkOS handler * chore: 🤖 add comment explaining omitting mirage deps in build * chore: 🤖 allow mirage.enabled to include deps and handlers * chore: 🤖 re-enable mirage for core dummy app * Add missing copyright headers * chore: 🤖 use embroider macros to conditionally start mirage * docs: ✏️ update api readme for mirage changes * chore: 🤖 replace remaining ember-cli-mirage references * chore: 🤖 add mirage to test builds * fix: 🐛 ensure that auto mirage start doesn't happen in test env * chore: 🤖 use const instead of var Co-authored-by: Zhihe Li <zhihe.li@hashicorp.com> * refactor: 💡 use cleaner logic for excluded api build modules * fix: 🐛 handle issue where importSync was too eager This was fixed by bumping the @embroider/macros dependency that includes a fix to this issue: https://github.com/embroider-build/embroider/pull/2511 * refactor: 💡 move mirage from addon to app directory * refactor: 💡 update mirage test helper to be a factory * chore: 🤖 exclude mirage directory when necessary at build time * chore: 🤖 add miragejs as admin dev dependency * refactor: 💡 update reference to startMirage * chore: 🤖 update local mirage test helper * chore: 🤖 change import path for mirage on desktop * chore: 🤖 update imports in tests for startMirage * chore: 🤖 update startMirage imports for api addon tests * chore: 🤖 add miragejs dev dep to desktop * docs: ✏️ update README * chore: 🤖 set up setupMirage for core tests * chore: 🤖 fix copyright header * Add missing copyright headers --------- Co-authored-by: Zhihe Li <zhihe.li@hashicorp.com>
68 lines
1.9 KiB
JavaScript
68 lines
1.9 KiB
JavaScript
/**
|
|
* Copyright IBM Corp. 2021, 2026
|
|
* SPDX-License-Identifier: BUSL-1.1
|
|
*/
|
|
|
|
'use strict';
|
|
|
|
const EmberApp = require('ember-cli/lib/broccoli/ember-app');
|
|
|
|
module.exports = async function (defaults) {
|
|
const { setConfig } = await import('@warp-drive/build-config');
|
|
const { EMBER_ENV } = process.env;
|
|
const config = require('./config/environment')(EMBER_ENV);
|
|
|
|
const app = new EmberApp(defaults, {
|
|
hinting: false,
|
|
'ember-simple-auth': {
|
|
useSessionSetupMethod: true,
|
|
},
|
|
babel: {
|
|
sourceMaps: 'inline',
|
|
plugins: [
|
|
require.resolve('ember-concurrency/async-arrow-task-transform'),
|
|
],
|
|
},
|
|
sourcemaps: {
|
|
enabled: true,
|
|
extensions: ['js'],
|
|
},
|
|
svg: {
|
|
paths: ['../../addons/core/public'],
|
|
},
|
|
'@embroider/macros': {
|
|
setOwnConfig: {
|
|
startMirageWithApp: config.mirage?.enabled ?? false,
|
|
},
|
|
},
|
|
});
|
|
|
|
// TODO: The deprecations object removed in ember-data 6.0.
|
|
// This silences ember-data deprecate warnings by setting to false to
|
|
// strip the deprecated code (thereby opting into the new behavior).
|
|
setConfig(app, __dirname, {
|
|
deprecations: {
|
|
DEPRECATE_STORE_EXTENDS_EMBER_OBJECT: false,
|
|
DEPRECATE_RELATIONSHIP_REMOTE_UPDATE_CLEARING_LOCAL_STATE: false,
|
|
},
|
|
polyfillUUID: true,
|
|
});
|
|
|
|
// Use `app.import` to add additional libraries to the generated
|
|
// output files.
|
|
//
|
|
// If you need to use different assets in different
|
|
// environments, specify an object as the first parameter. That
|
|
// object's keys should be the environment name and the values
|
|
// should be the asset to use in that environment.
|
|
//
|
|
// If the library that you are including contains AMD or ES6
|
|
// modules that you would like to import into your application
|
|
// please specify an object with the list of modules as keys
|
|
// along with the exports of each module as its value.
|
|
|
|
app.import('node_modules/@xterm/xterm/css/xterm.css');
|
|
|
|
return app.toTree();
|
|
};
|