open-nomad/ui/ember-cli-build.js
Buck Doyle 674da96a59
UI: add exec terminal (#6697)
This connects Xterm.js to a Nomad exec websocket so people
can interact on clients via live sessions. There are buttons on
job, allocation, task group, and task detail pages that open a
popup that lets them edit their shell command and start a
session.

More is to come, as recorded in issues.
2020-03-24 18:22:16 -05:00

65 lines
1.9 KiB
JavaScript

/* eslint-env node */
const EmberApp = require('ember-cli/lib/broccoli/ember-app');
const environment = EmberApp.env();
const isProd = environment === 'production';
const isTest = environment === 'test';
module.exports = function(defaults) {
var app = new EmberApp(defaults, {
addons: {
blacklist: isProd ? ['ember-freestyle'] : [],
},
svg: {
paths: ['node_modules/@hashicorp/structure-icons/dist', 'public/images/icons'],
optimize: {
plugins: [{ removeViewBox: false }],
},
},
codemirror: {
modes: ['javascript'],
},
funnel: {
enabled: isProd,
exclude: [
`${defaults.project.pkg.name}/components/freestyle/**/*`,
`${defaults.project.pkg.name}/templates/components/freestyle/**/*`,
],
},
babel: {
plugins: ['@babel/plugin-proposal-object-rest-spread'],
},
'ember-cli-babel': {
includePolyfill: isProd,
},
hinting: isTest,
tests: isTest,
sourcemaps: {
enabled: false,
},
});
// 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/css/xterm.css');
// Issue to move to typical package.json import when released: https://github.com/hashicorp/nomad/issues/7461
app.import('vendor/xterm.js', {
using: [
{ transformation: 'amd', as: 'xterm-vendor' },
],
});
return app.toTree();
};