Ghost/ghost/admin/config/environment.js
Kevin Ansfield fc501add94 Fixed editor not loading in Admin acceptance tests
closes https://linear.app/tryghost/issue/PLG-176

The editor files were previously stubbed for testing because we didn't have a way to load the externally-hosted files. This made testing slow and difficult because the only way to test the Admin integration was via Ghost's e2e browser tests.

- unstubbed the editor globals so `fetchKoenigLexical()` actually tries to import the external assets
- updated `ember-cli-build` to copy the Koenig UMD file over to the assets directory in development/test builds
- updated `environment.js` to set the required filename for the default asset import to successfully hit the test environment hosted files
- updated lexical editor acceptance tests to demonstrate the editor loads successfully for new and existing posts
2024-08-21 11:49:05 +01:00

84 lines
2.6 KiB
JavaScript

/* eslint-env node */
'use strict';
module.exports = function (environment) {
let ENV = {
modulePrefix: 'ghost-admin',
environment,
cdnUrl: process.env.GHOST_CDN_URL || '',
editorUrl: process.env.EDITOR_URL || '',
rootURL: '',
locationType: 'trailing-hash',
EmberENV: {
FEATURES: {
// Here you can enable experimental features on an ember canary build
// e.g. EMBER_NATIVE_DECORATOR_SUPPORT: true
},
// @TODO verify that String/Function need to be enabled
EXTEND_PROTOTYPES: {
Date: false,
Array: true,
String: true,
Function: false
}
},
APP: {
// Here you can pass flags/options to your application instance
// when it is created
// override the default version string which contains git info from
// https://github.com/cibernox/git-repo-version. Only include the
// `major.minor` version numbers
version: require('../package.json').version.match(/^(\d+\.)?(\d+)/)[0]
},
'ember-simple-auth': { },
'@sentry/ember': {
disablePerformance: true,
sentry: {}
}
};
if (environment === 'development') {
// ENV.APP.LOG_RESOLVER = true;
ENV.APP.LOG_ACTIVE_GENERATION = true;
ENV.APP.LOG_TRANSITIONS = true;
ENV.APP.LOG_TRANSITIONS_INTERNAL = true;
ENV.APP.LOG_VIEW_LOOKUPS = true;
// Enable mirage here in order to mock API endpoints during development
ENV['ember-cli-mirage'] = {
enabled: false
};
}
if (environment === 'test') {
// Testem prefers this...
ENV.rootURL = '/';
ENV.locationType = 'none';
// keep test console output quieter
ENV.APP.LOG_ACTIVE_GENERATION = false;
ENV.APP.LOG_VIEW_LOOKUPS = false;
ENV.APP.rootElement = '#ember-testing';
ENV.APP.autoboot = false;
// Without manually setting this, pretender won't track requests
ENV['ember-cli-mirage'] = {
trackRequests: true
};
// We copy the dynamically loaded editor file into the ghost assets
// directory in the dev/test env so that tests can load it. We need to
// set the config appropriately here so that the fetchKoenigLexical
// utility creates the right URL
ENV.editorFilename = 'koenig-lexical.umd.js';
ENV.editorHash = 'test';
}
return ENV;
};