mirror of
https://github.com/nasa/openmct.git
synced 2024-12-19 05:07:52 +00:00
510d3bd333
* Notebook conflict auto retry 1.7.7 (#4230) * Use timeFormatter.parse to get the timestamp of imagery since the source could be something other than key (#4238) * If there is a pending create request for an id, queue a duplicate request. (#4243) * [Telemetry Tables] Handling Request Loading (#4245) * Fix file selection on pressing enter key (#4246) * starting loading as false, since that makes sense (#4247) * Hide independent time conductor mode if only 1 mode option is available. (#4250) * Fix bargraph color selection (#4253) * snapshot clicked while in edit mode should open in preview mode #4115 (#4257) * Fix missing object handling in several vues (#4259) * Flexible Layouts display Condition Sets as their editing/browsing interface (#4179) * Flexible Layouts display Condition Sets as their editing/browsing interface #4141 * [Telemetry Table] Progress bar tests (#4249) * Remove alert styling and hide pause button if in Fixed Time mode. (#4263) * [Table/Collection Fixes] Clearing correctly, no mutating options, no duplicate requests (#4261) * Condition sets only persist if actively editing (#4262) * Imagery views should follow time context (#4264) * Equal stacked plot y widths for all it's sub-plots (#4267) * Fix Bar Graph related CSS (#4270) * Bar graph review comment fixes (#4232) * Mct4196 - Fixes Conditional Styling not being applied when editing a Condition Widget (#4255) * Fix plot zoom when child of time strip (#4272) * Resume plot if no pan, zoom, or drag action is taken (#4138) (#4256) * [Telemetry Collection] No duplicate requests on load (#4274) * doing the easy thing first (#4278) * Bargraph time metadata should consider 'source' (#4289) * Show clicked image in large view (#4280) * added icon for inspector (#4275) * Bar graph style nullcheck (#4291) * Stacked plots need to align the Y axis (#4286) * Duplicate Request Fixes (#4295) * Add braintree sanitize url lib and sanitize form urls (#4296) * Mct4177 fix for telemetry endpoints with '.' in the key (#4308) * Remove additional request to load plots when mounted. (#4314) * Fix plots dup requests (#4324) * Merging 1.7.8 into master. Co-authored-by: Andrew Henry <akhenry@gmail.com> Co-authored-by: Jamie V <jamie.j.vigliotta@nasa.gov> Co-authored-by: Nikhil <nikhil.k.mandlik@nasa.gov> Co-authored-by: Khalid Adil <khalidadil29@gmail.com> Co-authored-by: Charles Hacskaylo <charlesh88@gmail.com> Co-authored-by: Scott Bell <scott@traclabs.com> Co-authored-by: Michael Rogers <michael@mhrogers.com>
142 lines
4.8 KiB
JavaScript
142 lines
4.8 KiB
JavaScript
const path = require('path');
|
|
const packageDefinition = require('./package.json');
|
|
|
|
const MiniCssExtractPlugin = require("mini-css-extract-plugin");
|
|
const CopyWebpackPlugin = require('copy-webpack-plugin');
|
|
const webpack = require('webpack');
|
|
|
|
const devMode = process.env.NODE_ENV !== 'production';
|
|
const VueLoaderPlugin = require('vue-loader/lib/plugin');
|
|
// TODO: Build Constants w/ git-rev-sync
|
|
const gitRevision = require('child_process')
|
|
.execSync('git rev-parse HEAD')
|
|
.toString().trim();
|
|
const gitBranch = require('child_process')
|
|
.execSync('git rev-parse --abbrev-ref HEAD')
|
|
.toString().trim();
|
|
const vueFile = devMode
|
|
? path.join(__dirname, "node_modules/vue/dist/vue.js")
|
|
: path.join(__dirname, "node_modules/vue/dist/vue.min.js");
|
|
|
|
const webpackConfig = {
|
|
mode: devMode ? 'development' : 'production',
|
|
entry: {
|
|
openmct: './openmct.js',
|
|
couchDBChangesFeed: './src/plugins/persistence/couch/CouchChangesFeed.js',
|
|
espressoTheme: './src/plugins/themes/espresso-theme.scss',
|
|
snowTheme: './src/plugins/themes/snow-theme.scss',
|
|
maelstromTheme: './src/plugins/themes/maelstrom-theme.scss'
|
|
},
|
|
output: {
|
|
globalObject: "this",
|
|
filename: '[name].js',
|
|
library: '[name]',
|
|
libraryTarget: 'umd',
|
|
path: path.resolve(__dirname, 'dist')
|
|
},
|
|
resolve: {
|
|
alias: {
|
|
"@": path.join(__dirname, "src"),
|
|
"legacyRegistry": path.join(__dirname, "src/legacyRegistry"),
|
|
"saveAs": "file-saver",
|
|
"csv": "comma-separated-values",
|
|
"EventEmitter": "eventemitter3",
|
|
"bourbon": "bourbon.scss",
|
|
"plotly-basic": "plotly.js-basic-dist",
|
|
"plotly-gl2d": "plotly.js-gl2d-dist",
|
|
"vue": vueFile,
|
|
"d3-scale": path.join(__dirname, "node_modules/d3-scale/build/d3-scale.min.js"),
|
|
"printj": path.join(__dirname, "node_modules/printj/dist/printj.min.js"),
|
|
"styles": path.join(__dirname, "src/styles"),
|
|
"MCT": path.join(__dirname, "src/MCT"),
|
|
"testUtils": path.join(__dirname, "src/utils/testUtils.js"),
|
|
"objectUtils": path.join(__dirname, "src/api/objects/object-utils.js"),
|
|
"utils": path.join(__dirname, "src/utils")
|
|
}
|
|
},
|
|
devtool: devMode ? 'eval-source-map' : 'source-map',
|
|
plugins: [
|
|
new webpack.DefinePlugin({
|
|
__OPENMCT_VERSION__: `'${packageDefinition.version}'`,
|
|
__OPENMCT_BUILD_DATE__: `'${new Date()}'`,
|
|
__OPENMCT_REVISION__: `'${gitRevision}'`,
|
|
__OPENMCT_BUILD_BRANCH__: `'${gitBranch}'`,
|
|
__OPENMCT_ROOT_RELATIVE__: `'${devMode ? 'dist/' : ''}'`
|
|
}),
|
|
new VueLoaderPlugin(),
|
|
new MiniCssExtractPlugin({
|
|
filename: '[name].css',
|
|
chunkFilename: '[name].css'
|
|
}),
|
|
new CopyWebpackPlugin([
|
|
{
|
|
from: 'src/images/favicons',
|
|
to: 'favicons'
|
|
},
|
|
{
|
|
from: './index.html',
|
|
transform: function (content) {
|
|
return content.toString().replace(/dist\//g, '');
|
|
}
|
|
}
|
|
])
|
|
],
|
|
module: {
|
|
rules: [
|
|
{
|
|
test: /\.(sc|sa|c)ss$/,
|
|
use: [
|
|
MiniCssExtractPlugin.loader,
|
|
'css-loader',
|
|
'fast-sass-loader'
|
|
]
|
|
},
|
|
{
|
|
test: /\.html$/,
|
|
use: 'html-loader'
|
|
},
|
|
{
|
|
test: /zepto/,
|
|
use: [
|
|
"imports-loader?this=>window",
|
|
"exports-loader?Zepto"
|
|
]
|
|
},
|
|
{
|
|
test: /\.(jpg|jpeg|png|svg|ico|woff2?|eot|ttf)$/,
|
|
loader: 'file-loader',
|
|
options: {
|
|
name: '[name].[ext]',
|
|
outputPath(url, resourcePath, context) {
|
|
if (/\.(jpg|jpeg|png|svg)$/.test(url)) {
|
|
return `images/${url}`;
|
|
}
|
|
|
|
if (/\.ico$/.test(url)) {
|
|
return `icons/${url}`;
|
|
}
|
|
|
|
if (/\.(woff2?|eot|ttf)$/.test(url)) {
|
|
return `fonts/${url}`;
|
|
} else {
|
|
return `${url}`;
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
test: /\.vue$/,
|
|
use: 'vue-loader'
|
|
}
|
|
]
|
|
},
|
|
stats: {
|
|
modules: false,
|
|
timings: true,
|
|
colors: true,
|
|
warningsFilter: /asset size limit/g
|
|
}
|
|
};
|
|
|
|
module.exports = webpackConfig;
|