ui: enable Babel-generated source maps for non-production builds

This commit is contained in:
Mike Morris 2020-04-15 16:22:35 -04:00 committed by John Cowen
parent 945342c367
commit bc74c7bbdf
1 changed files with 62 additions and 56 deletions

View File

@ -9,36 +9,32 @@ module.exports = function(defaults) {
// const isProdLike = prodlike.indexOf(env) > -1; // const isProdLike = prodlike.indexOf(env) > -1;
const sourcemaps = !isProd; const sourcemaps = !isProd;
let app = new EmberApp( let app = new EmberApp(
Object.assign( Object.assign({}, defaults, {
{}, productionEnvironments: prodlike,
defaults, }),
{ {
productionEnvironments: prodlike
}
), {
'ember-cli-babel': { 'ember-cli-babel': {
includePolyfill: true includePolyfill: true,
}, },
'ember-cli-string-helpers': { 'ember-cli-string-helpers': {
only: ['capitalize', 'lowercase', 'truncate', 'uppercase'] only: ['capitalize', 'lowercase', 'truncate', 'uppercase'],
}, },
'ember-cli-math-helpers': { 'ember-cli-math-helpers': {
only: ['div'] only: ['div'],
}, },
'babel': { babel: {
plugins: [ plugins: ['@babel/plugin-proposal-object-rest-spread'],
'@babel/plugin-proposal-object-rest-spread' sourceMaps: sourcemaps ? 'inline' : false,
]
}, },
'codemirror': { codemirror: {
keyMaps: ['sublime'], keyMaps: ['sublime'],
addonFiles: [ addonFiles: [
'lint/lint.css', 'lint/lint.css',
'lint/lint.js', 'lint/lint.js',
'lint/json-lint.js', 'lint/json-lint.js',
'lint/yaml-lint.js', 'lint/yaml-lint.js',
'mode/loadmode.js' 'mode/loadmode.js',
] ],
}, },
'ember-cli-uglify': { 'ember-cli-uglify': {
uglify: { uglify: {
@ -47,19 +43,17 @@ module.exports = function(defaults) {
}, },
}, },
}, },
'sassOptions': { sassOptions: {
implementation: require('dart-sass'), implementation: require('dart-sass'),
sourceMapEmbed: sourcemaps, sourceMapEmbed: sourcemaps,
}, },
'autoprefixer': { autoprefixer: {
sourcemap: sourcemaps, sourcemap: sourcemaps,
grid: true, grid: true,
browsers: [ browsers: ['defaults', 'ie 11'],
"defaults",
"ie 11"
]
}, },
}); }
);
// Use `app.import` to add additional libraries to the generated // Use `app.import` to add additional libraries to the generated
// output files. // output files.
// //
@ -74,21 +68,33 @@ module.exports = function(defaults) {
// along with the exports of each module as its value. // along with the exports of each module as its value.
// TextEncoder/Decoder polyfill. See assets/index.html // TextEncoder/Decoder polyfill. See assets/index.html
app.import('node_modules/text-encoding/lib/encoding-indexes.js', {outputFile: 'assets/encoding-indexes.js'}); app.import('node_modules/text-encoding/lib/encoding-indexes.js', {
outputFile: 'assets/encoding-indexes.js',
});
// CSS.escape polyfill // CSS.escape polyfill
app.import('node_modules/css.escape/css.escape.js', { outputFile: 'assets/css.escape.js' }); app.import('node_modules/css.escape/css.escape.js', { outputFile: 'assets/css.escape.js' });
// JSON linting support. Possibly dynamically loaded via CodeMirror linting. See components/code-editor.js // JSON linting support. Possibly dynamically loaded via CodeMirror linting. See components/code-editor.js
app.import('node_modules/jsonlint/lib/jsonlint.js', {outputFile: 'assets/codemirror/mode/javascript/javascript.js'}); app.import('node_modules/jsonlint/lib/jsonlint.js', {
app.import('node_modules/codemirror/mode/javascript/javascript.js', {outputFile: 'assets/codemirror/mode/javascript/javascript.js'}); outputFile: 'assets/codemirror/mode/javascript/javascript.js',
});
app.import('node_modules/codemirror/mode/javascript/javascript.js', {
outputFile: 'assets/codemirror/mode/javascript/javascript.js',
});
// HCL/Ruby linting support. Possibly dynamically loaded via CodeMirror linting. See components/code-editor.js // HCL/Ruby linting support. Possibly dynamically loaded via CodeMirror linting. See components/code-editor.js
app.import('node_modules/codemirror/mode/ruby/ruby.js', {outputFile: 'assets/codemirror/mode/ruby/ruby.js'}); app.import('node_modules/codemirror/mode/ruby/ruby.js', {
outputFile: 'assets/codemirror/mode/ruby/ruby.js',
});
// YAML linting support. Possibly dynamically loaded via CodeMirror linting. See components/code-editor.js // YAML linting support. Possibly dynamically loaded via CodeMirror linting. See components/code-editor.js
app.import('node_modules/js-yaml/dist/js-yaml.js', {outputFile: 'assets/codemirror/mode/yaml/yaml.js'}); app.import('node_modules/js-yaml/dist/js-yaml.js', {
app.import('node_modules/codemirror/mode/yaml/yaml.js', {outputFile: 'assets/codemirror/mode/yaml/yaml.js'}); outputFile: 'assets/codemirror/mode/yaml/yaml.js',
});
app.import('node_modules/codemirror/mode/yaml/yaml.js', {
outputFile: 'assets/codemirror/mode/yaml/yaml.js',
});
let tree = app.toTree(); let tree = app.toTree();
return tree; return tree;
}; };