From 0cfb18beceee9b2dc5fb3dc7be0a3c9752fbfa27 Mon Sep 17 00:00:00 2001 From: Ryan Pratt Date: Wed, 13 Nov 2024 16:07:34 -0700 Subject: [PATCH 01/27] starting to get things working on vite --- openc3-cosmos-init/Dockerfile | 2 +- .../plugins/{.eslintrc.js => .eslintrc.cjs} | 0 openc3-cosmos-init/plugins/babel.config.js | 11 -- .../{.eslintrc.js => .eslintrc.cjs} | 0 .../openc3-tool-base/babel.config.json | 24 ---- ...x-allow-http.ejs => index-allow-http.html} | 40 +++---- .../{src/index.ejs => index.html} | 40 +++---- .../plugins/openc3-tool-base/package.json | 30 ++--- .../plugins/openc3-tool-base/vite.config.js | 61 ++++++++++ .../openc3-tool-base/webpack.config.js | 106 ------------------ .../{.eslintrc.js => .eslintrc.cjs} | 0 .../{.prettierrc.js => .prettierrc.cjs} | 0 .../babel.config.json | 11 -- .../package.json | 29 ++--- .../plugin.txt | 2 +- .../src/main.js | 2 +- .../src/tools/CmdTlmServer/Updater.js | 1 - .../vite.config.js | 59 ++++++++++ .../vue.config.js | 46 -------- .../{.eslintrc.js => .eslintrc.cjs} | 0 .../openc3-tool-common/babel.config.json | 11 -- .../packages/openc3-tool-common/package.json | 5 +- .../src/utils/routeUtils.js | 5 +- .../openc3-tool-common/vite.config.js | 17 +++ 24 files changed, 200 insertions(+), 302 deletions(-) rename openc3-cosmos-init/plugins/{.eslintrc.js => .eslintrc.cjs} (100%) delete mode 100644 openc3-cosmos-init/plugins/babel.config.js rename openc3-cosmos-init/plugins/openc3-tool-base/{.eslintrc.js => .eslintrc.cjs} (100%) delete mode 100644 openc3-cosmos-init/plugins/openc3-tool-base/babel.config.json rename openc3-cosmos-init/plugins/openc3-tool-base/{src/index-allow-http.ejs => index-allow-http.html} (70%) rename openc3-cosmos-init/plugins/openc3-tool-base/{src/index.ejs => index.html} (71%) create mode 100644 openc3-cosmos-init/plugins/openc3-tool-base/vite.config.js delete mode 100644 openc3-cosmos-init/plugins/openc3-tool-base/webpack.config.js rename openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdtlmserver/{.eslintrc.js => .eslintrc.cjs} (100%) rename openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdtlmserver/{.prettierrc.js => .prettierrc.cjs} (100%) delete mode 100644 openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdtlmserver/babel.config.json create mode 100644 openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdtlmserver/vite.config.js delete mode 100644 openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdtlmserver/vue.config.js rename openc3-cosmos-init/plugins/packages/openc3-tool-common/{.eslintrc.js => .eslintrc.cjs} (100%) delete mode 100644 openc3-cosmos-init/plugins/packages/openc3-tool-common/babel.config.json create mode 100644 openc3-cosmos-init/plugins/packages/openc3-tool-common/vite.config.js diff --git a/openc3-cosmos-init/Dockerfile b/openc3-cosmos-init/Dockerfile index 76bf486812..1f0573c1d9 100644 --- a/openc3-cosmos-init/Dockerfile +++ b/openc3-cosmos-init/Dockerfile @@ -36,7 +36,7 @@ COPY ./plugins/packages/openc3-cosmos-demo/*.json packages/openc3-cosmos-demo/ ARG NPM_URL=https://registry.npmjs.org RUN yarn config set registry $NPM_URL && yarn --network-timeout 600000 -COPY ./plugins/docker-package-build.sh ./plugins/docker-package-install.sh ./plugins/babel.config.js ./plugins/.eslintrc.js ./plugins/.nycrc ./ +COPY ./plugins/docker-package-build.sh ./plugins/docker-package-install.sh ./plugins/.eslintrc.cjs ./plugins/.nycrc ./ RUN chmod +x ./docker-package-build.sh ./docker-package-install.sh COPY ./plugins/openc3-tool-base/ openc3-tool-base/ RUN ["/openc3/plugins/docker-package-install.sh", "openc3-tool-base"] diff --git a/openc3-cosmos-init/plugins/.eslintrc.js b/openc3-cosmos-init/plugins/.eslintrc.cjs similarity index 100% rename from openc3-cosmos-init/plugins/.eslintrc.js rename to openc3-cosmos-init/plugins/.eslintrc.cjs diff --git a/openc3-cosmos-init/plugins/babel.config.js b/openc3-cosmos-init/plugins/babel.config.js deleted file mode 100644 index 01546dd89b..0000000000 --- a/openc3-cosmos-init/plugins/babel.config.js +++ /dev/null @@ -1,11 +0,0 @@ -module.exports = { - presets: ['@vue/app'], - plugins: [ - [ - 'babel-plugin-istanbul', - { - extension: ['.js', '.vue'], - }, - ], - ], -} diff --git a/openc3-cosmos-init/plugins/openc3-tool-base/.eslintrc.js b/openc3-cosmos-init/plugins/openc3-tool-base/.eslintrc.cjs similarity index 100% rename from openc3-cosmos-init/plugins/openc3-tool-base/.eslintrc.js rename to openc3-cosmos-init/plugins/openc3-tool-base/.eslintrc.cjs diff --git a/openc3-cosmos-init/plugins/openc3-tool-base/babel.config.json b/openc3-cosmos-init/plugins/openc3-tool-base/babel.config.json deleted file mode 100644 index 16b440465f..0000000000 --- a/openc3-cosmos-init/plugins/openc3-tool-base/babel.config.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "presets": ["@babel/preset-env"], - "plugins": [ - [ - "@babel/plugin-transform-runtime", - { - "useESModules": true, - "regenerator": false - } - ], "@babel/plugin-proposal-class-properties", "babel-plugin-istanbul" - ], - "env": { - "test": { - "presets": [ - [ - "@babel/preset-env", - { - "targets": "current node" - } - ] - ] - } - } -} diff --git a/openc3-cosmos-init/plugins/openc3-tool-base/src/index-allow-http.ejs b/openc3-cosmos-init/plugins/openc3-tool-base/index-allow-http.html similarity index 70% rename from openc3-cosmos-init/plugins/openc3-tool-base/src/index-allow-http.ejs rename to openc3-cosmos-init/plugins/openc3-tool-base/index-allow-http.html index 0acdb7bd13..a8a089cf77 100644 --- a/openc3-cosmos-init/plugins/openc3-tool-base/src/index-allow-http.ejs +++ b/openc3-cosmos-init/plugins/openc3-tool-base/index-allow-http.html @@ -16,15 +16,9 @@ - - + This CSP allows any SSL-enabled host and for arbitrary eval(), but you should limit these directives further to increase your app's security. + Learn more about CSP policies at https://content-security-policy.com/#directive + --> + Update by downloading latest release from https://github.com/vuetifyjs/vuetify/releases (for example) + and putting the vuetify-vX.Y.Z.min.js in ../public/js (delete the old one) + --> + @@ -68,10 +62,10 @@ + We use system.js instead of s.js which includes global and module-types. + We also explicitly use amd (asynchronous module definition) which uses named-register + Note that named-exports, transform and use-default are deprecated. + --> @@ -96,7 +90,7 @@ System.set(System.resolve('vue-router'), window.VueRouter) return System.import('vuetify') }).then(function () { - System.import('openc3-tool-base') + // System.import('openc3-tool-base') }) })() diff --git a/openc3-cosmos-init/plugins/openc3-tool-base/src/index.ejs b/openc3-cosmos-init/plugins/openc3-tool-base/index.html similarity index 71% rename from openc3-cosmos-init/plugins/openc3-tool-base/src/index.ejs rename to openc3-cosmos-init/plugins/openc3-tool-base/index.html index 96a78993d5..dd187146c9 100644 --- a/openc3-cosmos-init/plugins/openc3-tool-base/src/index.ejs +++ b/openc3-cosmos-init/plugins/openc3-tool-base/index.html @@ -16,15 +16,9 @@ - - + This CSP allows any SSL-enabled host and for arbitrary eval(), but you should limit these directives further to increase your app's security. + Learn more about CSP policies at https://content-security-policy.com/#directive + --> + Update by downloading latest release from https://github.com/vuetifyjs/vuetify/releases (for example) + and putting the vuetify-vX.Y.Z.min.js in ../public/js (delete the old one) + --> + @@ -68,10 +62,10 @@ + We use system.js instead of s.js which includes global and module-types. + We also explicitly use amd (asynchronous module definition) which uses named-register + Note that named-exports, transform and use-default are deprecated. + --> @@ -96,7 +90,7 @@ System.set(System.resolve('vue-router'), window.VueRouter) return System.import('vuetify') }).then(function () { - System.import('openc3-tool-base') + // System.import('openc3-tool-base') }) })() diff --git a/openc3-cosmos-init/plugins/openc3-tool-base/package.json b/openc3-cosmos-init/plugins/openc3-tool-base/package.json index aa6cc8ea59..dc9244cfbd 100644 --- a/openc3-cosmos-init/plugins/openc3-tool-base/package.json +++ b/openc3-cosmos-init/plugins/openc3-tool-base/package.json @@ -1,11 +1,13 @@ { "name": "@openc3/tool-base", "version": "5.21.0-beta0", + "type": "module", "scripts": { - "serve": "webpack serve --port 2910 --env isLocal", + "dev": "vite --port 2910", + "serve": "vite preview --port 2910", "lint": "eslint src --ext js", "format": "prettier --write \"./**\"", - "build": "webpack --mode=production" + "build": "vite build" }, "dependencies": { "@astrouxds/astro-web-components": "7.24.0", @@ -23,27 +25,17 @@ }, "__comment__": "NOTE: sass can't be upgraded until Vuetify 3 to avoid tons of deprecation warnings", "devDependencies": { - "@babel/core": "7.26.0", - "@babel/plugin-proposal-class-properties": "7.18.6", - "@babel/plugin-transform-runtime": "7.25.9", - "@babel/preset-env": "7.26.0", - "@babel/runtime": "7.26.0", - "@vue/compiler-sfc": "3.5.4", "@types/systemjs": "6.15.1", - "babel-plugin-istanbul": "7.0.0", - "copy-webpack-plugin": "12.0.2", + "@vitejs/plugin-vue": "5.1.5", + "@vue/compiler-sfc": "3.5.4", "eslint": "8.56.0", - "html-webpack-plugin": "5.6.3", "prettier": "3.3.3", "sass": "1.80.4", - "sass-loader": "16.0.2", "serve": "14.2.4", - "vue-loader": "17.4.2", - "vue-template-compiler": "2.7.16", - "webpack": "5.95.0", - "webpack-cli": "5.1.4", - "webpack-config-single-spa": "5.3.1", - "webpack-dev-server": "5.1.0", - "webpack-merge": "6.0.1" + "vite": "5.4.11", + "vite-plugin-ejs": "1.7.0", + "vite-plugin-html": "3.2.2", + "vite-plugin-single-spa": "0.4.0", + "vite-plugin-static-copy": "2.1.0" } } diff --git a/openc3-cosmos-init/plugins/openc3-tool-base/vite.config.js b/openc3-cosmos-init/plugins/openc3-tool-base/vite.config.js new file mode 100644 index 0000000000..c893824f42 --- /dev/null +++ b/openc3-cosmos-init/plugins/openc3-tool-base/vite.config.js @@ -0,0 +1,61 @@ +import path from 'path' +import { defineConfig } from 'vite' +import { createHtmlPlugin } from 'vite-plugin-html' +import { vitePluginSingleSpa } from 'vite-plugin-single-spa' +import { viteStaticCopy } from 'vite-plugin-static-copy' +import vue from '@vitejs/plugin-vue' + +const default_extensions = ['.mjs', '.js', '.ts', '.jsx', '.tsx', '.json'] + +export default defineConfig({ + build: { + outDir: 'tools/base', + emptyOutDir: true, + copyPublicDir: true, + }, + rollupOptions: { + input: "src/openc3-tool-base.js", + format: "system", + preserveEntrySignatures: true, + }, + plugins: [ + vue(), + vitePluginSingleSpa({ + type: 'root', + imo: '3.1.1', // TODO: change this to like `() => '/path/to/our/import-map-overrides.js'` + /* + importMaps: { + build: ['/openc3-api/map.json'], + dev: ['/openc3-api/map.json'], + }, + */ + }), + /* + createHtmlPlugin({ + template: 'index.html', + }), + */ + createHtmlPlugin({ + template: 'index-allow-http.html', + }), + // should be handled by this? + // https://vite.dev/config/build-options#build-copypublicdir + // https://vite.dev/guide/assets#the-public-directory + /* + viteStaticCopy({ + targets: [ + { + src: 'public', + dest: '.', + }, + ], + }), + */ + ], + resolve: { + alias: { + '@': path.resolve(__dirname, './src'), + }, + extensions: [...default_extensions, '.vue'], // not recommended, but saves us from having to change every SFC import + }, +}) diff --git a/openc3-cosmos-init/plugins/openc3-tool-base/webpack.config.js b/openc3-cosmos-init/plugins/openc3-tool-base/webpack.config.js deleted file mode 100644 index cf05a01bf3..0000000000 --- a/openc3-cosmos-init/plugins/openc3-tool-base/webpack.config.js +++ /dev/null @@ -1,106 +0,0 @@ -const webpack = require('webpack') -const systemjsInterop = require('systemjs-webpack-interop/webpack-config') -const { mergeWithRules } = require('webpack-merge') -const singleSpaDefaults = require('webpack-config-single-spa') -const HtmlWebpackPlugin = require('html-webpack-plugin') -const CopyWebpackPlugin = require('copy-webpack-plugin') -const { VueLoaderPlugin } = require('vue-loader') -const path = require('path') - -function resolve(dir) { - return path.join(__dirname, '..', dir) -} - -module.exports = (webpackConfigEnv, argv) => { - const orgName = 'openc3' - const defaultConfig = singleSpaDefaults({ - orgName, - projectName: 'tool-base', - webpackConfigEnv, - argv, - disableHtmlGeneration: true, - }) - - return mergeWithRules({ - module: { - rules: { - test: 'match', - use: 'replace', - loader: 'replace', - }, - }, - })(defaultConfig, { - // modify the webpack config however you'd like to by adding to this object - output: { - path: path.resolve(__dirname, 'tools/base'), - libraryTarget: 'system', // This line is in all the vue.config.js files, is it needed here? - }, - plugins: [ - new HtmlWebpackPlugin({ - inject: false, - template: 'src/index.ejs', - templateParameters: { - isLocal: webpackConfigEnv && webpackConfigEnv.isLocal, - orgName, - }, - }), - new HtmlWebpackPlugin({ - inject: false, - template: 'src/index-allow-http.ejs', - filename: 'index-allow-http.html', - templateParameters: { - isLocal: webpackConfigEnv && webpackConfigEnv.isLocal, - orgName, - }, - }), - new VueLoaderPlugin(), - new CopyWebpackPlugin({ patterns: [{ from: 'public', to: '.' }] }), - new webpack.DefinePlugin({ - 'process.env.BASE_URL': process.env.BASE_URL, - }), - ], - module: { - rules: [ - { - test: /\.vue$/, - loader: 'vue-loader', - options: { - compilerOptions: { - isCustomElement: (tag) => tag.startsWith('rux-'), - }, - }, - }, - { - test: /\.html$/i, - exclude: /node_modules/, - use: { loader: 'vue-loader' }, - }, - { - test: /\.s[ac]ss$/i, - use: [ - // Creates `style` nodes from JS strings - 'vue-style-loader', - // Translates CSS into CommonJS - 'css-loader', - // Compiles Sass to CSS - 'sass-loader', - ], - }, - { - test: /\.(png|jpe?g|gif)$/i, - type: 'asset/resource', - }, - ], - }, - resolve: { - extensions: ['.js', '.vue', '.json'], - alias: { - '@': resolve('src'), - }, - }, - externals: ['vue', 'vuetify', 'vuex', 'vue-router'], - }) -} - -// Throws errors if your webpack config won't interop well with SystemJS -systemjsInterop.checkWebpackConfig(module.exports) diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdtlmserver/.eslintrc.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdtlmserver/.eslintrc.cjs similarity index 100% rename from openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdtlmserver/.eslintrc.js rename to openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdtlmserver/.eslintrc.cjs diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdtlmserver/.prettierrc.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdtlmserver/.prettierrc.cjs similarity index 100% rename from openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdtlmserver/.prettierrc.js rename to openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdtlmserver/.prettierrc.cjs diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdtlmserver/babel.config.json b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdtlmserver/babel.config.json deleted file mode 100644 index 91fa88dbe0..0000000000 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdtlmserver/babel.config.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "presets": ["@vue/cli-plugin-babel/preset"], - "plugins": [ - [ - "babel-plugin-istanbul", - { - "extension": [".js", ".vue"] - } - ] - ] -} diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdtlmserver/package.json b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdtlmserver/package.json index baaa37891f..8ea1a03d29 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdtlmserver/package.json +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdtlmserver/package.json @@ -2,13 +2,12 @@ "name": "@openc3/cosmos-tool-cmdtlmserver", "version": "5.21.0-beta0", "private": true, + "type": "module", "scripts": { - "serve": "vue-cli-service serve", - "build": "vue-cli-service build --no-module", - "test:unit": "vue-cli-service test:unit", - "lint": "vue-cli-service lint", - "serve:standalone": "vue-cli-service serve --mode standalone", - "test:components": "vue-cli-service test:components" + "dev": "vite --port 2911", + "serve": "vite preview --port 2911", + "build": "vite build", + "lint": "eslint src" }, "dependencies": { "@astrouxds/astro-web-components": "7.24.0", @@ -24,28 +23,16 @@ "vuex": "4.1.0" }, "devDependencies": { - "@babel/eslint-parser": "7.25.9", - "@vue/babel-preset-app": "5.0.8", - "@vue/cli": "5.0.8", - "@vue/cli-plugin-babel": "5.0.8", - "@vue/cli-plugin-eslint": "5.0.8", - "@vue/cli-plugin-router": "5.0.8", - "@vue/cli-plugin-vuex": "5.0.8", - "@vue/cli-service": "5.0.8", - "@vue/compiler-sfc": "3.5.4", + "@vitejs/plugin-vue": "5.1.5", "@vue/eslint-config-prettier": "9.0.0", "@vue/test-utils": "2.4.6", - "babel-loader": "9.2.1", - "babel-plugin-istanbul": "7.0.0", "eslint": "8.56.0", "eslint-config-prettier": "9.1.0", "eslint-plugin-prettier": "5.2.1", "eslint-plugin-vue": "9.30.0", "prettier": "3.3.3", "sass": "1.80.4", - "sass-loader": "16.0.2", - "vue-cli-plugin-single-spa": "3.3.0", - "vue-cli-plugin-vuetify": "2.5.8", - "webpack": "5.95.0" + "vite": "5.4.11", + "vite-plugin-single-spa": "0.4.0" } } diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdtlmserver/plugin.txt b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdtlmserver/plugin.txt index 1a867cdd7f..f45deb2c5d 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdtlmserver/plugin.txt +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdtlmserver/plugin.txt @@ -1,4 +1,4 @@ TOOL cmdtlmserver CmdTlmServer - INLINE_URL js/app.js + INLINE_URL main.js ICON astro:equipment POSITION 2 # First tool position after Admin diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdtlmserver/src/main.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdtlmserver/src/main.js index 8f23e9de3f..582e38f1ce 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdtlmserver/src/main.js +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdtlmserver/src/main.js @@ -1,4 +1,4 @@ -import 'systemjs-webpack-interop/auto-public-path/2' +// import 'systemjs-webpack-interop/auto-public-path/2' import { createApp, h } from 'vue' import singleSpaVue from 'single-spa-vue' diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdtlmserver/src/tools/CmdTlmServer/Updater.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdtlmserver/src/tools/CmdTlmServer/Updater.js index ac17cac298..8a96bb0ecd 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdtlmserver/src/tools/CmdTlmServer/Updater.js +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdtlmserver/src/tools/CmdTlmServer/Updater.js @@ -47,7 +47,6 @@ export default { } }, watch: { - // eslint-disable-next-line no-unused-vars refreshInterval: function (newVal, oldVal) { this.changeUpdater() }, diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdtlmserver/vite.config.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdtlmserver/vite.config.js new file mode 100644 index 0000000000..94e5fd0612 --- /dev/null +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdtlmserver/vite.config.js @@ -0,0 +1,59 @@ +import { resolve } from 'path' +import { defineConfig } from 'vite' +import { vitePluginSingleSpa } from 'vite-plugin-single-spa' +import vue from '@vitejs/plugin-vue' + +const default_extensions = ['.mjs', '.js', '.ts', '.jsx', '.tsx', '.json'] + +export default defineConfig({ + base: '/tools/cmdtlmserver', + build: { + outDir: 'tools/cmdtlmserver', + emptyOutDir: true, + /* + lib: { + entry: resolve(__dirname, 'src/main.js'), + name: '@openc3/tool-cmdtlmserver', + fileName: 'my-lib', + }, + */ + rollupOptions: { + /* + input: "src/main.js", + external: ['vue', 'vuetify', 'vuex', 'vue-router'], + */ + output: { + format: 'system', + globals: { + vue: 'Vue', + /* + vuetify: 'Vuetify', + vuex: 'Vuex', + 'vue-router': 'VueRouter', + */ + }, + }, + }, + }, + /* + rollupOptions: { + input: "src/main.js", + format: "system", + preserveEntrySignatures: true, + }, + */ + plugins: [ + vue(), + vitePluginSingleSpa({ + type: 'mife', // micro front-end + serverPort: 2911, + spaEntryPoints: 'src/main.js', + }), + ], + resolve: { + alias: { + '@': resolve(__dirname, './src'), + }, + extensions: [...default_extensions, '.vue'], // not recommended, but saves us from having to change every SFC import + }, +}) diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdtlmserver/vue.config.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdtlmserver/vue.config.js deleted file mode 100644 index d8a0f12dfb..0000000000 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdtlmserver/vue.config.js +++ /dev/null @@ -1,46 +0,0 @@ -module.exports = { - publicPath: '/tools/cmdtlmserver', - outputDir: 'tools/cmdtlmserver', - filenameHashing: false, - transpileDependencies: ['vuetify'], - devServer: { - port: 2911, - headers: { - 'Access-Control-Allow-Origin': '*', - }, - client: { - webSocketURL: { - hostname: 'localhost', - pathname: '/tools/cmdtlmserver', - port: 2911, - }, - }, - }, - configureWebpack: { - output: { - libraryTarget: 'system', - }, - }, - chainWebpack(config) { - config.module - .rule('js') - .use('babel-loader') - .tap((options) => { - return { - rootMode: 'upward', - } - }) - config.module - .rule('vue') - .use('vue-loader') - .tap((options) => { - return { - prettify: false, - compilerOptions: { - isCustomElement: (tag) => tag.startsWith('rux-'), - }, - } - }) - config.externals(['vue', 'vuetify', 'vuex', 'vue-router']) - }, -} diff --git a/openc3-cosmos-init/plugins/packages/openc3-tool-common/.eslintrc.js b/openc3-cosmos-init/plugins/packages/openc3-tool-common/.eslintrc.cjs similarity index 100% rename from openc3-cosmos-init/plugins/packages/openc3-tool-common/.eslintrc.js rename to openc3-cosmos-init/plugins/packages/openc3-tool-common/.eslintrc.cjs diff --git a/openc3-cosmos-init/plugins/packages/openc3-tool-common/babel.config.json b/openc3-cosmos-init/plugins/packages/openc3-tool-common/babel.config.json deleted file mode 100644 index 91fa88dbe0..0000000000 --- a/openc3-cosmos-init/plugins/packages/openc3-tool-common/babel.config.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "presets": ["@vue/cli-plugin-babel/preset"], - "plugins": [ - [ - "babel-plugin-istanbul", - { - "extension": [".js", ".vue"] - } - ] - ] -} diff --git a/openc3-cosmos-init/plugins/packages/openc3-tool-common/package.json b/openc3-cosmos-init/plugins/packages/openc3-tool-common/package.json index 42a9ee2a68..365369c372 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-tool-common/package.json +++ b/openc3-cosmos-init/plugins/packages/openc3-tool-common/package.json @@ -1,6 +1,7 @@ { "name": "@openc3/tool-common", "version": "5.21.0-beta0", + "type": "module", "dependencies": { "@astrouxds/astro-web-components": "7.24.0", "@rails/actioncable": "7.1.3-4", @@ -19,14 +20,14 @@ "vuex": "4.1.0" }, "devDependencies": { - "@babel/eslint-parser": "7.25.1", + "@vitejs/plugin-vue": "5.1.5", "@vue/eslint-config-prettier": "9.0.0", - "babel-loader": "9.1.3", "eslint": "8.56.0", "eslint-config-prettier": "9.1.0", "eslint-plugin-prettier": "5.2.1", "eslint-plugin-vue": "9.27.0", "prettier": "3.3.3", + "vite": "5.4.11", "vue-eslint-parser": "9.4.3" } } diff --git a/openc3-cosmos-init/plugins/packages/openc3-tool-common/src/utils/routeUtils.js b/openc3-cosmos-init/plugins/packages/openc3-tool-common/src/utils/routeUtils.js index 06699ceabd..cf16a288e3 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-tool-common/src/utils/routeUtils.js +++ b/openc3-cosmos-init/plugins/packages/openc3-tool-common/src/utils/routeUtils.js @@ -18,9 +18,12 @@ const prependBasePath = function (route) { if (!route.name !== 'NotFound') { - route.path = `${process.env.BASE_URL}${route.path.replace(/^\//, '')}` + route.path = `${import.meta.env.BASE_URL}/${route.path.replace(/^\//, '')}` } route.children?.forEach(prependBasePath) } +// eslint-disable-next-line +console.log('base ' + import.meta.env.BASE_URL) + export { prependBasePath } diff --git a/openc3-cosmos-init/plugins/packages/openc3-tool-common/vite.config.js b/openc3-cosmos-init/plugins/packages/openc3-tool-common/vite.config.js new file mode 100644 index 0000000000..5b0da91433 --- /dev/null +++ b/openc3-cosmos-init/plugins/packages/openc3-tool-common/vite.config.js @@ -0,0 +1,17 @@ +import path from 'path' +import { defineConfig } from 'vite' +import vue from '@vitejs/plugin-vue' + +const default_extensions = ['.mjs', '.js', '.ts', '.jsx', '.tsx', '.json'] + +export default defineConfig({ + plugins: [ + vue(), + ], + resolve: { + alias: { + '@': path.resolve(__dirname, './src'), + }, + extensions: [...default_extensions, '.vue'], // not recommended, but saves us from having to change every SFC import + }, +}) From 2783eab05e4eaae69a19e67fbd13a74c84c116e7 Mon Sep 17 00:00:00 2001 From: Ryan Pratt Date: Thu, 14 Nov 2024 17:14:32 -0700 Subject: [PATCH 02/27] fix up vite things --- .../plugins/openc3-tool-base/.eslintrc.cjs | 3 -- .../openc3-tool-base/index-allow-http.html | 1 - .../plugins/openc3-tool-base/index.html | 1 - .../plugins/openc3-tool-base/package.json | 4 +-- .../plugins/openc3-tool-base/src/router.js | 3 +- .../plugins/openc3-tool-base/vite.config.js | 32 ++---------------- .../.eslintrc.cjs | 3 -- .../package.json | 8 ++--- .../src/main.js | 1 - .../vite.config.js | 33 +++---------------- .../packages/openc3-tool-common/.eslintrc.cjs | 3 -- .../src/utils/routeUtils.js | 3 -- .../openc3-tool-common/vite.config.js | 8 ++--- 13 files changed, 16 insertions(+), 87 deletions(-) diff --git a/openc3-cosmos-init/plugins/openc3-tool-base/.eslintrc.cjs b/openc3-cosmos-init/plugins/openc3-tool-base/.eslintrc.cjs index 1550d0a714..9548a63cec 100644 --- a/openc3-cosmos-init/plugins/openc3-tool-base/.eslintrc.cjs +++ b/openc3-cosmos-init/plugins/openc3-tool-base/.eslintrc.cjs @@ -25,9 +25,6 @@ module.exports = { }, ], }, - parserOptions: { - parser: '@babel/eslint-parser', - }, overrides: [ { files: [ diff --git a/openc3-cosmos-init/plugins/openc3-tool-base/index-allow-http.html b/openc3-cosmos-init/plugins/openc3-tool-base/index-allow-http.html index a8a089cf77..bc2e6c8489 100644 --- a/openc3-cosmos-init/plugins/openc3-tool-base/index-allow-http.html +++ b/openc3-cosmos-init/plugins/openc3-tool-base/index-allow-http.html @@ -81,7 +81,6 @@ ;(function () { Object.getPrototypeOf(System).firstGlobalProp = true; Promise.all([ - System.import('single-spa'), System.import('vue'), System.import('vue-router'), System.import('vuex'), diff --git a/openc3-cosmos-init/plugins/openc3-tool-base/index.html b/openc3-cosmos-init/plugins/openc3-tool-base/index.html index dd187146c9..dcef22a11d 100644 --- a/openc3-cosmos-init/plugins/openc3-tool-base/index.html +++ b/openc3-cosmos-init/plugins/openc3-tool-base/index.html @@ -81,7 +81,6 @@ ;(function () { Object.getPrototypeOf(System).firstGlobalProp = true; Promise.all([ - System.import('single-spa'), System.import('vue'), System.import('vue-router'), System.import('vuex'), diff --git a/openc3-cosmos-init/plugins/openc3-tool-base/package.json b/openc3-cosmos-init/plugins/openc3-tool-base/package.json index dc9244cfbd..048b3ce2c1 100644 --- a/openc3-cosmos-init/plugins/openc3-tool-base/package.json +++ b/openc3-cosmos-init/plugins/openc3-tool-base/package.json @@ -16,7 +16,6 @@ "date-fns": "4.1.0", "import-map-overrides": "3.1.1", "regenerator-runtime": "0.14.1", - "single-spa": "5.9.5", "systemjs": "6.15.1", "vue": "3.5.4", "vue-router": "4.4.4", @@ -35,7 +34,6 @@ "vite": "5.4.11", "vite-plugin-ejs": "1.7.0", "vite-plugin-html": "3.2.2", - "vite-plugin-single-spa": "0.4.0", - "vite-plugin-static-copy": "2.1.0" + "vite-plugin-single-spa": "0.4.0" } } diff --git a/openc3-cosmos-init/plugins/openc3-tool-base/src/router.js b/openc3-cosmos-init/plugins/openc3-tool-base/src/router.js index b63faa4669..b668019a0d 100644 --- a/openc3-cosmos-init/plugins/openc3-tool-base/src/router.js +++ b/openc3-cosmos-init/plugins/openc3-tool-base/src/router.js @@ -21,7 +21,6 @@ */ import { createRouter, createWebHistory } from 'vue-router' -import { navigateToUrl } from 'single-spa' const DEFAULT_TOOL_PATH = '/tools/cmdtlmserver' @@ -48,7 +47,7 @@ const router = createRouter({ router.beforeEach(({ path }) => { if (['/', '/tools', '/tools/'].includes(path)) { - navigateToUrl(DEFAULT_TOOL_PATH) + singleSpaNavigate(DEFAULT_TOOL_PATH) } }) diff --git a/openc3-cosmos-init/plugins/openc3-tool-base/vite.config.js b/openc3-cosmos-init/plugins/openc3-tool-base/vite.config.js index c893824f42..00e5dc478e 100644 --- a/openc3-cosmos-init/plugins/openc3-tool-base/vite.config.js +++ b/openc3-cosmos-init/plugins/openc3-tool-base/vite.config.js @@ -1,11 +1,9 @@ -import path from 'path' import { defineConfig } from 'vite' import { createHtmlPlugin } from 'vite-plugin-html' import { vitePluginSingleSpa } from 'vite-plugin-single-spa' -import { viteStaticCopy } from 'vite-plugin-static-copy' import vue from '@vitejs/plugin-vue' -const default_extensions = ['.mjs', '.js', '.ts', '.jsx', '.tsx', '.json'] +const DEFAULT_EXTENSIONS = ['.mjs', '.js', '.ts', '.jsx', '.tsx', '.json'] export default defineConfig({ build: { @@ -22,40 +20,16 @@ export default defineConfig({ vue(), vitePluginSingleSpa({ type: 'root', - imo: '3.1.1', // TODO: change this to like `() => '/path/to/our/import-map-overrides.js'` - /* - importMaps: { - build: ['/openc3-api/map.json'], - dev: ['/openc3-api/map.json'], - }, - */ + imo: () => 'public/js/import-map-overrides-3.1.1.min.js', }), - /* createHtmlPlugin({ template: 'index.html', }), - */ createHtmlPlugin({ template: 'index-allow-http.html', }), - // should be handled by this? - // https://vite.dev/config/build-options#build-copypublicdir - // https://vite.dev/guide/assets#the-public-directory - /* - viteStaticCopy({ - targets: [ - { - src: 'public', - dest: '.', - }, - ], - }), - */ ], resolve: { - alias: { - '@': path.resolve(__dirname, './src'), - }, - extensions: [...default_extensions, '.vue'], // not recommended, but saves us from having to change every SFC import + extensions: [...DEFAULT_EXTENSIONS, '.vue'], // not recommended but saves us from having to change every SFC import }, }) diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdtlmserver/.eslintrc.cjs b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdtlmserver/.eslintrc.cjs index c3a051f432..3e278f14fe 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdtlmserver/.eslintrc.cjs +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdtlmserver/.eslintrc.cjs @@ -27,9 +27,6 @@ module.exports = { ], }, parser: 'vue-eslint-parser', - parserOptions: { - parser: '@babel/eslint-parser', - }, overrides: [ { files: [ diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdtlmserver/package.json b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdtlmserver/package.json index 8ea1a03d29..54d5d951de 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdtlmserver/package.json +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdtlmserver/package.json @@ -4,10 +4,11 @@ "private": true, "type": "module", "scripts": { - "dev": "vite --port 2911", - "serve": "vite preview --port 2911", + "dev": "vite", + "serve": "vite preview", "build": "vite build", - "lint": "eslint src" + "lint": "eslint src", + "serve:standalone": "vite preview --mode standalone" }, "dependencies": { "@astrouxds/astro-web-components": "7.24.0", @@ -16,7 +17,6 @@ "date-fns": "4.1.0", "single-spa-vue": "3.0.0", "sprintf-js": "1.1.3", - "systemjs-webpack-interop": "2.3.7", "vue": "3.5.4", "vue-router": "4.4.4", "vuetify": "3.7.1", diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdtlmserver/src/main.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdtlmserver/src/main.js index 582e38f1ce..8c71d720fa 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdtlmserver/src/main.js +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdtlmserver/src/main.js @@ -1,4 +1,3 @@ -// import 'systemjs-webpack-interop/auto-public-path/2' import { createApp, h } from 'vue' import singleSpaVue from 'single-spa-vue' diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdtlmserver/vite.config.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdtlmserver/vite.config.js index 94e5fd0612..6405d46f5e 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdtlmserver/vite.config.js +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdtlmserver/vite.config.js @@ -3,45 +3,19 @@ import { defineConfig } from 'vite' import { vitePluginSingleSpa } from 'vite-plugin-single-spa' import vue from '@vitejs/plugin-vue' -const default_extensions = ['.mjs', '.js', '.ts', '.jsx', '.tsx', '.json'] +const DEFAULT_EXTENSIONS = ['.mjs', '.js', '.ts', '.jsx', '.tsx', '.json'] export default defineConfig({ base: '/tools/cmdtlmserver', build: { outDir: 'tools/cmdtlmserver', emptyOutDir: true, - /* - lib: { - entry: resolve(__dirname, 'src/main.js'), - name: '@openc3/tool-cmdtlmserver', - fileName: 'my-lib', - }, - */ rollupOptions: { - /* - input: "src/main.js", - external: ['vue', 'vuetify', 'vuex', 'vue-router'], - */ output: { format: 'system', - globals: { - vue: 'Vue', - /* - vuetify: 'Vuetify', - vuex: 'Vuex', - 'vue-router': 'VueRouter', - */ - }, }, }, }, - /* - rollupOptions: { - input: "src/main.js", - format: "system", - preserveEntrySignatures: true, - }, - */ plugins: [ vue(), vitePluginSingleSpa({ @@ -54,6 +28,9 @@ export default defineConfig({ alias: { '@': resolve(__dirname, './src'), }, - extensions: [...default_extensions, '.vue'], // not recommended, but saves us from having to change every SFC import + extensions: [...DEFAULT_EXTENSIONS, '.vue'], // not recommended but saves us from having to change every SFC import + }, + optimizeDeps: { + entries: [], // https://github.com/vituum/vituum/issues/25#issuecomment-1690080284 }, }) diff --git a/openc3-cosmos-init/plugins/packages/openc3-tool-common/.eslintrc.cjs b/openc3-cosmos-init/plugins/packages/openc3-tool-common/.eslintrc.cjs index c3a051f432..3e278f14fe 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-tool-common/.eslintrc.cjs +++ b/openc3-cosmos-init/plugins/packages/openc3-tool-common/.eslintrc.cjs @@ -27,9 +27,6 @@ module.exports = { ], }, parser: 'vue-eslint-parser', - parserOptions: { - parser: '@babel/eslint-parser', - }, overrides: [ { files: [ diff --git a/openc3-cosmos-init/plugins/packages/openc3-tool-common/src/utils/routeUtils.js b/openc3-cosmos-init/plugins/packages/openc3-tool-common/src/utils/routeUtils.js index cf16a288e3..912dc5ca1b 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-tool-common/src/utils/routeUtils.js +++ b/openc3-cosmos-init/plugins/packages/openc3-tool-common/src/utils/routeUtils.js @@ -23,7 +23,4 @@ const prependBasePath = function (route) { route.children?.forEach(prependBasePath) } -// eslint-disable-next-line -console.log('base ' + import.meta.env.BASE_URL) - export { prependBasePath } diff --git a/openc3-cosmos-init/plugins/packages/openc3-tool-common/vite.config.js b/openc3-cosmos-init/plugins/packages/openc3-tool-common/vite.config.js index 5b0da91433..71076a2433 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-tool-common/vite.config.js +++ b/openc3-cosmos-init/plugins/packages/openc3-tool-common/vite.config.js @@ -1,17 +1,13 @@ -import path from 'path' import { defineConfig } from 'vite' import vue from '@vitejs/plugin-vue' -const default_extensions = ['.mjs', '.js', '.ts', '.jsx', '.tsx', '.json'] +const DEFAULT_EXTENSIONS = ['.mjs', '.js', '.ts', '.jsx', '.tsx', '.json'] export default defineConfig({ plugins: [ vue(), ], resolve: { - alias: { - '@': path.resolve(__dirname, './src'), - }, - extensions: [...default_extensions, '.vue'], // not recommended, but saves us from having to change every SFC import + extensions: [...DEFAULT_EXTENSIONS, '.vue'], // not recommended but saves us from having to change every SFC import }, }) From 783c2e4482c3376d226a2d8f16f72175e0bcd567 Mon Sep 17 00:00:00 2001 From: Ryan Pratt Date: Thu, 14 Nov 2024 18:32:07 -0700 Subject: [PATCH 03/27] migrate the rest of the tools to vite except admin --- .../{.eslintrc.js => .eslintrc.cjs} | 3 -- .../{.prettierrc.js => .prettierrc.cjs} | 0 .../babel.config.json | 11 ----- .../package.json | 31 ++++--------- .../plugin.txt | 2 +- .../src/main.js | 1 - .../vite.config.js | 36 +++++++++++++++ .../vue.config.js | 46 ------------------- .../.eslintrc.cjs} | 3 -- .../{.prettierrc.js => .prettierrc.cjs} | 0 .../babel.config.json | 11 ----- .../openc3-cosmos-tool-cmdsender/package.json | 31 ++++--------- .../openc3-cosmos-tool-cmdsender/plugin.txt | 2 +- .../openc3-cosmos-tool-cmdsender/src/main.js | 1 - .../vite.config.js | 36 +++++++++++++++ .../vue.config.js | 46 ------------------- .../{.eslintrc.js => .eslintrc.cjs} | 3 -- .../{.prettierrc.js => .prettierrc.cjs} | 0 .../babel.config.json | 11 ----- .../package.json | 31 ++++--------- .../plugin.txt | 2 +- .../src/main.js | 1 - .../vite.config.js | 36 +++++++++++++++ .../vue.config.js | 46 ------------------- .../.eslintrc.cjs} | 3 -- .../{.prettierrc.js => .prettierrc.cjs} | 0 .../babel.config.json | 11 ----- .../package.json | 31 ++++--------- .../openc3-cosmos-tool-dataviewer/plugin.txt | 2 +- .../openc3-cosmos-tool-dataviewer/src/main.js | 1 - .../vite.config.js | 36 +++++++++++++++ .../vue.config.js | 46 ------------------- .../.eslintrc.cjs | 41 +++++++++++++++++ .../openc3-cosmos-tool-handbooks/.eslintrc.js | 44 ------------------ .../{.prettierrc.js => .prettierrc.cjs} | 0 .../babel.config.json | 11 ----- .../openc3-cosmos-tool-handbooks/package.json | 31 ++++--------- .../openc3-cosmos-tool-handbooks/plugin.txt | 2 +- .../openc3-cosmos-tool-handbooks/src/main.js | 1 - .../vite.config.js | 36 +++++++++++++++ .../vue.config.js | 46 ------------------- .../openc3-cosmos-tool-iframe/.eslintrc.cjs | 41 +++++++++++++++++ .../openc3-cosmos-tool-iframe/.eslintrc.js | 44 ------------------ .../{.prettierrc.js => .prettierrc.cjs} | 0 .../babel.config.json | 11 ----- .../openc3-cosmos-tool-iframe/package.json | 31 ++++--------- .../openc3-cosmos-tool-iframe/plugin.txt | 2 +- .../openc3-cosmos-tool-iframe/src/main.js | 1 - .../openc3-cosmos-tool-iframe/vite.config.js | 36 +++++++++++++++ .../openc3-cosmos-tool-iframe/vue.config.js | 46 ------------------- .../.eslintrc.cjs | 41 +++++++++++++++++ .../.eslintrc.js | 44 ------------------ .../{.prettierrc.js => .prettierrc.cjs} | 0 .../babel.config.json | 11 ----- .../package.json | 31 ++++--------- .../plugin.txt | 2 +- .../src/main.js | 1 - .../vite.config.js | 36 +++++++++++++++ .../vue.config.js | 46 ------------------- .../.eslintrc.cjs | 41 +++++++++++++++++ .../.eslintrc.js | 44 ------------------ .../{.prettierrc.js => .prettierrc.cjs} | 0 .../babel.config.json | 11 ----- .../package.json | 32 ++++--------- .../plugin.txt | 2 +- .../src/main.js | 1 - .../vite.config.js | 36 +++++++++++++++ .../vue.config.js | 46 ------------------- .../.eslintrc.cjs | 41 +++++++++++++++++ .../.eslintrc.js | 44 ------------------ .../{.prettierrc.js => .prettierrc.cjs} | 0 .../babel.config.json | 11 ----- .../package.json | 31 ++++--------- .../plugin.txt | 2 +- .../src/main.js | 1 - .../vite.config.js | 36 +++++++++++++++ .../vue.config.js | 46 ------------------- .../.eslintrc.cjs | 41 +++++++++++++++++ .../.eslintrc.js | 44 ------------------ .../{.prettierrc.js => .prettierrc.cjs} | 0 .../babel.config.json | 11 ----- .../package.json | 31 ++++--------- .../plugin.txt | 2 +- .../src/main.js | 1 - .../vite.config.js | 36 +++++++++++++++ .../vue.config.js | 46 ------------------- .../.eslintrc.cjs | 41 +++++++++++++++++ .../.eslintrc.js | 44 ------------------ .../{.prettierrc.js => .prettierrc.cjs} | 0 .../babel.config.json | 11 ----- .../package.json | 31 ++++--------- .../openc3-cosmos-tool-tlmgrapher/plugin.txt | 2 +- .../openc3-cosmos-tool-tlmgrapher/src/main.js | 1 - .../vite.config.js | 36 +++++++++++++++ .../vue.config.js | 46 ------------------- .../.eslintrc.cjs | 41 +++++++++++++++++ .../openc3-cosmos-tool-tlmviewer/.eslintrc.js | 44 ------------------ .../{.prettierrc.js => .prettierrc.cjs} | 0 .../babel.config.json | 11 ----- .../openc3-cosmos-tool-tlmviewer/package.json | 31 ++++--------- .../openc3-cosmos-tool-tlmviewer/plugin.txt | 2 +- .../openc3-cosmos-tool-tlmviewer/src/main.js | 1 - .../vite.config.js | 36 +++++++++++++++ .../vue.config.js | 46 ------------------- 104 files changed, 880 insertions(+), 1337 deletions(-) rename openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-bucketexplorer/{.eslintrc.js => .eslintrc.cjs} (93%) rename openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-bucketexplorer/{.prettierrc.js => .prettierrc.cjs} (100%) delete mode 100644 openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-bucketexplorer/babel.config.json create mode 100644 openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-bucketexplorer/vite.config.js delete mode 100644 openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-bucketexplorer/vue.config.js rename openc3-cosmos-init/plugins/packages/{openc3-cosmos-tool-dataviewer/.eslintrc.js => openc3-cosmos-tool-cmdsender/.eslintrc.cjs} (93%) rename openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdsender/{.prettierrc.js => .prettierrc.cjs} (100%) delete mode 100644 openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdsender/babel.config.json create mode 100644 openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdsender/vite.config.js delete mode 100644 openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdsender/vue.config.js rename openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-dataextractor/{.eslintrc.js => .eslintrc.cjs} (93%) rename openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-dataextractor/{.prettierrc.js => .prettierrc.cjs} (100%) delete mode 100644 openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-dataextractor/babel.config.json create mode 100644 openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-dataextractor/vite.config.js delete mode 100644 openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-dataextractor/vue.config.js rename openc3-cosmos-init/plugins/packages/{openc3-cosmos-tool-cmdsender/.eslintrc.js => openc3-cosmos-tool-dataviewer/.eslintrc.cjs} (93%) rename openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-dataviewer/{.prettierrc.js => .prettierrc.cjs} (100%) delete mode 100644 openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-dataviewer/babel.config.json create mode 100644 openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-dataviewer/vite.config.js delete mode 100644 openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-dataviewer/vue.config.js create mode 100644 openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-handbooks/.eslintrc.cjs delete mode 100644 openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-handbooks/.eslintrc.js rename openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-handbooks/{.prettierrc.js => .prettierrc.cjs} (100%) delete mode 100644 openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-handbooks/babel.config.json create mode 100644 openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-handbooks/vite.config.js delete mode 100644 openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-handbooks/vue.config.js create mode 100644 openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-iframe/.eslintrc.cjs delete mode 100644 openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-iframe/.eslintrc.js rename openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-iframe/{.prettierrc.js => .prettierrc.cjs} (100%) delete mode 100644 openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-iframe/babel.config.json create mode 100644 openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-iframe/vite.config.js delete mode 100644 openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-iframe/vue.config.js create mode 100644 openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-limitsmonitor/.eslintrc.cjs delete mode 100644 openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-limitsmonitor/.eslintrc.js rename openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-limitsmonitor/{.prettierrc.js => .prettierrc.cjs} (100%) delete mode 100644 openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-limitsmonitor/babel.config.json create mode 100644 openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-limitsmonitor/vite.config.js delete mode 100644 openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-limitsmonitor/vue.config.js create mode 100644 openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-packetviewer/.eslintrc.cjs delete mode 100644 openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-packetviewer/.eslintrc.js rename openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-packetviewer/{.prettierrc.js => .prettierrc.cjs} (100%) delete mode 100644 openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-packetviewer/babel.config.json create mode 100644 openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-packetviewer/vite.config.js delete mode 100644 openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-packetviewer/vue.config.js create mode 100644 openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-scriptrunner/.eslintrc.cjs delete mode 100644 openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-scriptrunner/.eslintrc.js rename openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-scriptrunner/{.prettierrc.js => .prettierrc.cjs} (100%) delete mode 100644 openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-scriptrunner/babel.config.json create mode 100644 openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-scriptrunner/vite.config.js delete mode 100644 openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-scriptrunner/vue.config.js create mode 100644 openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tablemanager/.eslintrc.cjs delete mode 100644 openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tablemanager/.eslintrc.js rename openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tablemanager/{.prettierrc.js => .prettierrc.cjs} (100%) delete mode 100644 openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tablemanager/babel.config.json create mode 100644 openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tablemanager/vite.config.js delete mode 100644 openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tablemanager/vue.config.js create mode 100644 openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tlmgrapher/.eslintrc.cjs delete mode 100644 openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tlmgrapher/.eslintrc.js rename openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tlmgrapher/{.prettierrc.js => .prettierrc.cjs} (100%) delete mode 100644 openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tlmgrapher/babel.config.json create mode 100644 openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tlmgrapher/vite.config.js delete mode 100644 openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tlmgrapher/vue.config.js create mode 100644 openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tlmviewer/.eslintrc.cjs delete mode 100644 openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tlmviewer/.eslintrc.js rename openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tlmviewer/{.prettierrc.js => .prettierrc.cjs} (100%) delete mode 100644 openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tlmviewer/babel.config.json create mode 100644 openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tlmviewer/vite.config.js delete mode 100644 openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tlmviewer/vue.config.js diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-bucketexplorer/.eslintrc.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-bucketexplorer/.eslintrc.cjs similarity index 93% rename from openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-bucketexplorer/.eslintrc.js rename to openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-bucketexplorer/.eslintrc.cjs index c3a051f432..3e278f14fe 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-bucketexplorer/.eslintrc.js +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-bucketexplorer/.eslintrc.cjs @@ -27,9 +27,6 @@ module.exports = { ], }, parser: 'vue-eslint-parser', - parserOptions: { - parser: '@babel/eslint-parser', - }, overrides: [ { files: [ diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-bucketexplorer/.prettierrc.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-bucketexplorer/.prettierrc.cjs similarity index 100% rename from openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-bucketexplorer/.prettierrc.js rename to openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-bucketexplorer/.prettierrc.cjs diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-bucketexplorer/babel.config.json b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-bucketexplorer/babel.config.json deleted file mode 100644 index 91fa88dbe0..0000000000 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-bucketexplorer/babel.config.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "presets": ["@vue/cli-plugin-babel/preset"], - "plugins": [ - [ - "babel-plugin-istanbul", - { - "extension": [".js", ".vue"] - } - ] - ] -} diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-bucketexplorer/package.json b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-bucketexplorer/package.json index 6b9b2862e9..555b518481 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-bucketexplorer/package.json +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-bucketexplorer/package.json @@ -2,13 +2,13 @@ "name": "@openc3/cosmos-tool-bucketexplorer", "version": "5.21.0-beta0", "private": true, + "type": "module", "scripts": { - "serve": "vue-cli-service serve", - "build": "vue-cli-service build --no-module", - "test:unit": "vue-cli-service test:unit", - "lint": "vue-cli-service lint", - "serve:standalone": "vue-cli-service serve --mode standalone", - "test:components": "vue-cli-service test:components" + "dev": "vite", + "serve": "vite preview", + "build": "vite build", + "lint": "eslint src", + "serve:standalone": "vite preview --mode standalone" }, "dependencies": { "@astrouxds/astro-web-components": "7.24.0", @@ -18,35 +18,22 @@ "lodash": "4.17.21", "single-spa-vue": "3.0.0", "sprintf-js": "1.1.3", - "systemjs-webpack-interop": "2.3.7", "vue": "3.5.4", "vue-router": "4.4.4", "vuetify": "3.7.1", "vuex": "4.1.0" }, "devDependencies": { - "@babel/eslint-parser": "7.25.9", - "@vue/babel-preset-app": "5.0.8", - "@vue/cli": "5.0.8", - "@vue/cli-plugin-babel": "5.0.8", - "@vue/cli-plugin-eslint": "5.0.8", - "@vue/cli-plugin-router": "5.0.8", - "@vue/cli-plugin-vuex": "5.0.8", - "@vue/cli-service": "5.0.8", - "@vue/compiler-sfc": "3.5.4", + "@vitejs/plugin-vue": "5.1.5", "@vue/eslint-config-prettier": "9.0.0", "@vue/test-utils": "2.4.6", - "babel-loader": "9.2.1", - "babel-plugin-istanbul": "7.0.0", "eslint": "8.56.0", "eslint-config-prettier": "9.1.0", "eslint-plugin-prettier": "5.2.1", "eslint-plugin-vue": "9.30.0", "prettier": "3.3.3", "sass": "1.80.4", - "sass-loader": "16.0.2", - "vue-cli-plugin-single-spa": "3.3.0", - "vue-cli-plugin-vuetify": "2.5.8", - "webpack": "5.95.0" + "vite": "5.4.11", + "vite-plugin-single-spa": "0.4.0" } } diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-bucketexplorer/plugin.txt b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-bucketexplorer/plugin.txt index 642070d69b..b51d192dd4 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-bucketexplorer/plugin.txt +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-bucketexplorer/plugin.txt @@ -1,5 +1,5 @@ TOOL bucketexplorer "Bucket Explorer" - INLINE_URL js/app.js + INLINE_URL main.js ICON mdi-pail POSITION 13 CATEGORY Utilities diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-bucketexplorer/src/main.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-bucketexplorer/src/main.js index 8f23e9de3f..8c71d720fa 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-bucketexplorer/src/main.js +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-bucketexplorer/src/main.js @@ -1,4 +1,3 @@ -import 'systemjs-webpack-interop/auto-public-path/2' import { createApp, h } from 'vue' import singleSpaVue from 'single-spa-vue' diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-bucketexplorer/vite.config.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-bucketexplorer/vite.config.js new file mode 100644 index 0000000000..030dd4442e --- /dev/null +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-bucketexplorer/vite.config.js @@ -0,0 +1,36 @@ +import { resolve } from 'path' +import { defineConfig } from 'vite' +import { vitePluginSingleSpa } from 'vite-plugin-single-spa' +import vue from '@vitejs/plugin-vue' + +const DEFAULT_EXTENSIONS = ['.mjs', '.js', '.ts', '.jsx', '.tsx', '.json'] + +export default defineConfig({ + base: '/tools/bucketexplorer', + build: { + outDir: 'tools/bucketexplorer', + emptyOutDir: true, + rollupOptions: { + output: { + format: 'system', + }, + }, + }, + plugins: [ + vue(), + vitePluginSingleSpa({ + type: 'mife', // micro front-end + serverPort: 2923, + spaEntryPoints: 'src/main.js', + }), + ], + resolve: { + alias: { + '@': resolve(__dirname, './src'), + }, + extensions: [...DEFAULT_EXTENSIONS, '.vue'], // not recommended but saves us from having to change every SFC import + }, + optimizeDeps: { + entries: [], // https://github.com/vituum/vituum/issues/25#issuecomment-1690080284 + } +}) diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-bucketexplorer/vue.config.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-bucketexplorer/vue.config.js deleted file mode 100644 index b215ae7009..0000000000 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-bucketexplorer/vue.config.js +++ /dev/null @@ -1,46 +0,0 @@ -module.exports = { - publicPath: '/tools/bucketexplorer', - outputDir: 'tools/bucketexplorer', - filenameHashing: false, - transpileDependencies: ['vuetify'], - devServer: { - port: 2923, - headers: { - 'Access-Control-Allow-Origin': '*', - }, - client: { - webSocketURL: { - hostname: 'localhost', - pathname: '/tools/bucketexplorer', - port: 2923, - }, - }, - }, - configureWebpack: { - output: { - libraryTarget: 'system', - }, - }, - chainWebpack(config) { - config.module - .rule('js') - .use('babel-loader') - .tap((options) => { - return { - rootMode: 'upward', - } - }) - config.module - .rule('vue') - .use('vue-loader') - .tap((options) => { - return { - prettify: false, - compilerOptions: { - isCustomElement: (tag) => tag.startsWith('rux-'), - }, - } - }) - config.externals(['vue', 'vuetify', 'vuex', 'vue-router']) - }, -} diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-dataviewer/.eslintrc.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdsender/.eslintrc.cjs similarity index 93% rename from openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-dataviewer/.eslintrc.js rename to openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdsender/.eslintrc.cjs index c3a051f432..3e278f14fe 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-dataviewer/.eslintrc.js +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdsender/.eslintrc.cjs @@ -27,9 +27,6 @@ module.exports = { ], }, parser: 'vue-eslint-parser', - parserOptions: { - parser: '@babel/eslint-parser', - }, overrides: [ { files: [ diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdsender/.prettierrc.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdsender/.prettierrc.cjs similarity index 100% rename from openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdsender/.prettierrc.js rename to openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdsender/.prettierrc.cjs diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdsender/babel.config.json b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdsender/babel.config.json deleted file mode 100644 index 91fa88dbe0..0000000000 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdsender/babel.config.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "presets": ["@vue/cli-plugin-babel/preset"], - "plugins": [ - [ - "babel-plugin-istanbul", - { - "extension": [".js", ".vue"] - } - ] - ] -} diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdsender/package.json b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdsender/package.json index 9dacec47ea..e63c42136f 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdsender/package.json +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdsender/package.json @@ -2,13 +2,13 @@ "name": "@openc3/cosmos-tool-cmdsender", "version": "5.21.0-beta0", "private": true, + "type": "module", "scripts": { - "serve": "vue-cli-service serve", - "build": "vue-cli-service build --no-module", - "test:unit": "vue-cli-service test:unit", - "lint": "vue-cli-service lint", - "serve:standalone": "vue-cli-service serve --mode standalone", - "test:components": "vue-cli-service test:components" + "dev": "vite", + "serve": "vite preview", + "build": "vite build", + "lint": "eslint src", + "serve:standalone": "vite preview --mode standalone" }, "dependencies": { "@astrouxds/astro-web-components": "7.24.0", @@ -17,36 +17,23 @@ "date-fns": "4.1.0", "single-spa-vue": "3.0.0", "sprintf-js": "1.1.3", - "systemjs-webpack-interop": "2.3.7", "vue": "3.5.4", "vue-router": "4.4.4", "vuetify": "3.7.1", "vuex": "4.1.0" }, "devDependencies": { - "@babel/eslint-parser": "7.25.9", "@rushstack/eslint-patch": "1.10.4", - "@vue/babel-preset-app": "5.0.8", - "@vue/cli": "5.0.8", - "@vue/cli-plugin-babel": "5.0.8", - "@vue/cli-plugin-eslint": "5.0.8", - "@vue/cli-plugin-router": "5.0.8", - "@vue/cli-plugin-vuex": "5.0.8", - "@vue/cli-service": "5.0.8", - "@vue/compiler-sfc": "3.5.4", + "@vitejs/plugin-vue": "5.1.5", "@vue/eslint-config-prettier": "9.0.0", "@vue/test-utils": "2.4.6", - "babel-loader": "9.2.1", - "babel-plugin-istanbul": "7.0.0", "eslint": "8.56.0", "eslint-config-prettier": "9.1.0", "eslint-plugin-prettier": "5.2.1", "eslint-plugin-vue": "9.30.0", "prettier": "3.3.3", "sass": "1.80.4", - "sass-loader": "16.0.2", - "vue-cli-plugin-single-spa": "3.3.0", - "vue-cli-plugin-vuetify": "2.5.8", - "webpack": "5.95.0" + "vite": "5.4.11", + "vite-plugin-single-spa": "0.4.0" } } diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdsender/plugin.txt b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdsender/plugin.txt index 6838ae255c..b68f44562c 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdsender/plugin.txt +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdsender/plugin.txt @@ -1,4 +1,4 @@ TOOL cmdsender "Command Sender" - INLINE_URL js/app.js + INLINE_URL main.js ICON astro:antenna-transmit POSITION 4 diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdsender/src/main.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdsender/src/main.js index 8f23e9de3f..8c71d720fa 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdsender/src/main.js +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdsender/src/main.js @@ -1,4 +1,3 @@ -import 'systemjs-webpack-interop/auto-public-path/2' import { createApp, h } from 'vue' import singleSpaVue from 'single-spa-vue' diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdsender/vite.config.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdsender/vite.config.js new file mode 100644 index 0000000000..9091a9876f --- /dev/null +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdsender/vite.config.js @@ -0,0 +1,36 @@ +import { resolve } from 'path' +import { defineConfig } from 'vite' +import { vitePluginSingleSpa } from 'vite-plugin-single-spa' +import vue from '@vitejs/plugin-vue' + +const DEFAULT_EXTENSIONS = ['.mjs', '.js', '.ts', '.jsx', '.tsx', '.json'] + +export default defineConfig({ + base: '/tools/cmdsender', + build: { + outDir: 'tools/cmdsender', + emptyOutDir: true, + rollupOptions: { + output: { + format: 'system', + }, + }, + }, + plugins: [ + vue(), + vitePluginSingleSpa({ + type: 'mife', // micro front-end + serverPort: 2913, + spaEntryPoints: 'src/main.js', + }), + ], + resolve: { + alias: { + '@': resolve(__dirname, './src'), + }, + extensions: [...DEFAULT_EXTENSIONS, '.vue'], // not recommended but saves us from having to change every SFC import + }, + optimizeDeps: { + entries: [], // https://github.com/vituum/vituum/issues/25#issuecomment-1690080284 + } +}) diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdsender/vue.config.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdsender/vue.config.js deleted file mode 100644 index 4ec8f8c628..0000000000 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdsender/vue.config.js +++ /dev/null @@ -1,46 +0,0 @@ -module.exports = { - publicPath: '/tools/cmdsender', - outputDir: 'tools/cmdsender', - filenameHashing: false, - transpileDependencies: ['vuetify'], - devServer: { - port: 2913, - headers: { - 'Access-Control-Allow-Origin': '*', - }, - client: { - webSocketURL: { - hostname: 'localhost', - pathname: '/tools/cmdsender', - port: 2913, - }, - }, - }, - configureWebpack: { - output: { - libraryTarget: 'system', - }, - }, - chainWebpack: (config) => { - config.module - .rule('js') - .use('babel-loader') - .tap((options) => { - return { - rootMode: 'upward', - } - }) - config.module - .rule('vue') - .use('vue-loader') - .tap((options) => { - return { - prettify: false, - compilerOptions: { - isCustomElement: (tag) => tag.startsWith('rux-'), - }, - } - }) - config.externals(['vue', 'vuetify', 'vuex', 'vue-router']) - }, -} diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-dataextractor/.eslintrc.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-dataextractor/.eslintrc.cjs similarity index 93% rename from openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-dataextractor/.eslintrc.js rename to openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-dataextractor/.eslintrc.cjs index c3a051f432..3e278f14fe 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-dataextractor/.eslintrc.js +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-dataextractor/.eslintrc.cjs @@ -27,9 +27,6 @@ module.exports = { ], }, parser: 'vue-eslint-parser', - parserOptions: { - parser: '@babel/eslint-parser', - }, overrides: [ { files: [ diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-dataextractor/.prettierrc.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-dataextractor/.prettierrc.cjs similarity index 100% rename from openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-dataextractor/.prettierrc.js rename to openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-dataextractor/.prettierrc.cjs diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-dataextractor/babel.config.json b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-dataextractor/babel.config.json deleted file mode 100644 index 91fa88dbe0..0000000000 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-dataextractor/babel.config.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "presets": ["@vue/cli-plugin-babel/preset"], - "plugins": [ - [ - "babel-plugin-istanbul", - { - "extension": [".js", ".vue"] - } - ] - ] -} diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-dataextractor/package.json b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-dataextractor/package.json index 76eb263c00..b0c5273e4e 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-dataextractor/package.json +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-dataextractor/package.json @@ -2,13 +2,13 @@ "name": "@openc3/cosmos-tool-dataextractor", "version": "5.21.0-beta0", "private": true, + "type": "module", "scripts": { - "serve": "vue-cli-service serve", - "build": "vue-cli-service build --no-module", - "test:unit": "vue-cli-service test:unit", - "lint": "vue-cli-service lint", - "serve:standalone": "vue-cli-service serve --mode standalone", - "test:components": "vue-cli-service test:components" + "dev": "vite", + "serve": "vite preview", + "build": "vite build", + "lint": "eslint src", + "serve:standalone": "vite preview --mode standalone" }, "dependencies": { "@astrouxds/astro-web-components": "7.24.0", @@ -17,35 +17,22 @@ "date-fns": "4.1.0", "single-spa-vue": "3.0.0", "sprintf-js": "1.1.3", - "systemjs-webpack-interop": "2.3.7", "vue": "3.5.4", "vue-router": "4.4.4", "vuetify": "3.7.1", "vuex": "4.1.0" }, "devDependencies": { - "@babel/eslint-parser": "7.25.9", - "@vue/babel-preset-app": "5.0.8", - "@vue/cli": "5.0.8", - "@vue/cli-plugin-babel": "5.0.8", - "@vue/cli-plugin-eslint": "5.0.8", - "@vue/cli-plugin-router": "5.0.8", - "@vue/cli-plugin-vuex": "5.0.8", - "@vue/cli-service": "5.0.8", - "@vue/compiler-sfc": "3.5.4", + "@vitejs/plugin-vue": "5.1.5", "@vue/eslint-config-prettier": "9.0.0", "@vue/test-utils": "2.4.6", - "babel-loader": "9.2.1", - "babel-plugin-istanbul": "7.0.0", "eslint": "8.56.0", "eslint-config-prettier": "9.1.0", "eslint-plugin-prettier": "5.2.1", "eslint-plugin-vue": "9.30.0", "prettier": "3.3.3", "sass": "1.80.4", - "sass-loader": "16.0.2", - "vue-cli-plugin-single-spa": "3.3.0", - "vue-cli-plugin-vuetify": "2.5.8", - "webpack": "5.95.0" + "vite": "5.4.11", + "vite-plugin-single-spa": "0.4.0" } } diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-dataextractor/plugin.txt b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-dataextractor/plugin.txt index fd432db5b1..1ddc928440 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-dataextractor/plugin.txt +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-dataextractor/plugin.txt @@ -1,4 +1,4 @@ TOOL dataextractor "Data Extractor" - INLINE_URL js/app.js + INLINE_URL main.js ICON mdi-archive-arrow-down POSITION 9 diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-dataextractor/src/main.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-dataextractor/src/main.js index 8f23e9de3f..8c71d720fa 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-dataextractor/src/main.js +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-dataextractor/src/main.js @@ -1,4 +1,3 @@ -import 'systemjs-webpack-interop/auto-public-path/2' import { createApp, h } from 'vue' import singleSpaVue from 'single-spa-vue' diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-dataextractor/vite.config.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-dataextractor/vite.config.js new file mode 100644 index 0000000000..2f5f1f4c8a --- /dev/null +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-dataextractor/vite.config.js @@ -0,0 +1,36 @@ +import { resolve } from 'path' +import { defineConfig } from 'vite' +import { vitePluginSingleSpa } from 'vite-plugin-single-spa' +import vue from '@vitejs/plugin-vue' + +const DEFAULT_EXTENSIONS = ['.mjs', '.js', '.ts', '.jsx', '.tsx', '.json'] + +export default defineConfig({ + base: '/tools/dataextractor', + build: { + outDir: 'tools/dataextractor', + emptyOutDir: true, + rollupOptions: { + output: { + format: 'system', + }, + }, + }, + plugins: [ + vue(), + vitePluginSingleSpa({ + type: 'mife', // micro front-end + serverPort: 2918, + spaEntryPoints: 'src/main.js', + }), + ], + resolve: { + alias: { + '@': resolve(__dirname, './src'), + }, + extensions: [...DEFAULT_EXTENSIONS, '.vue'], // not recommended but saves us from having to change every SFC import + }, + optimizeDeps: { + entries: [], // https://github.com/vituum/vituum/issues/25#issuecomment-1690080284 + } +}) diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-dataextractor/vue.config.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-dataextractor/vue.config.js deleted file mode 100644 index 252292653d..0000000000 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-dataextractor/vue.config.js +++ /dev/null @@ -1,46 +0,0 @@ -module.exports = { - publicPath: '/tools/dataextractor', - outputDir: 'tools/dataextractor', - filenameHashing: false, - transpileDependencies: ['vuetify'], - devServer: { - port: 2918, - headers: { - 'Access-Control-Allow-Origin': '*', - }, - client: { - webSocketURL: { - hostname: 'localhost', - pathname: '/tools/dataextractor', - port: 2918, - }, - }, - }, - configureWebpack: { - output: { - libraryTarget: 'system', - }, - }, - chainWebpack(config) { - config.module - .rule('js') - .use('babel-loader') - .tap((options) => { - return { - rootMode: 'upward', - } - }) - config.module - .rule('vue') - .use('vue-loader') - .tap((options) => { - return { - prettify: false, - compilerOptions: { - isCustomElement: (tag) => tag.startsWith('rux-'), - }, - } - }) - config.externals(['vue', 'vuetify', 'vuex', 'vue-router']) - }, -} diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdsender/.eslintrc.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-dataviewer/.eslintrc.cjs similarity index 93% rename from openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdsender/.eslintrc.js rename to openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-dataviewer/.eslintrc.cjs index c3a051f432..3e278f14fe 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdsender/.eslintrc.js +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-dataviewer/.eslintrc.cjs @@ -27,9 +27,6 @@ module.exports = { ], }, parser: 'vue-eslint-parser', - parserOptions: { - parser: '@babel/eslint-parser', - }, overrides: [ { files: [ diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-dataviewer/.prettierrc.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-dataviewer/.prettierrc.cjs similarity index 100% rename from openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-dataviewer/.prettierrc.js rename to openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-dataviewer/.prettierrc.cjs diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-dataviewer/babel.config.json b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-dataviewer/babel.config.json deleted file mode 100644 index 91fa88dbe0..0000000000 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-dataviewer/babel.config.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "presets": ["@vue/cli-plugin-babel/preset"], - "plugins": [ - [ - "babel-plugin-istanbul", - { - "extension": [".js", ".vue"] - } - ] - ] -} diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-dataviewer/package.json b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-dataviewer/package.json index 0ef84fbd18..c83c338dca 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-dataviewer/package.json +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-dataviewer/package.json @@ -2,13 +2,13 @@ "name": "@openc3/cosmos-tool-dataviewer", "version": "5.21.0-beta0", "private": true, + "type": "module", "scripts": { - "serve": "vue-cli-service serve", - "build": "vue-cli-service build --no-module", - "test:unit": "vue-cli-service test:unit", - "lint": "vue-cli-service lint", - "serve:standalone": "vue-cli-service serve --mode standalone", - "test:components": "vue-cli-service test:components" + "dev": "vite", + "serve": "vite preview", + "build": "vite build", + "lint": "eslint src", + "serve:standalone": "vite preview --mode standalone" }, "dependencies": { "@astrouxds/astro-web-components": "7.24.0", @@ -18,35 +18,22 @@ "lodash": "4.17.21", "single-spa-vue": "3.0.0", "sprintf-js": "1.1.3", - "systemjs-webpack-interop": "2.3.7", "vue": "3.5.4", "vue-router": "4.4.4", "vuetify": "3.7.1", "vuex": "4.1.0" }, "devDependencies": { - "@babel/eslint-parser": "7.25.9", - "@vue/babel-preset-app": "5.0.8", - "@vue/cli": "5.0.8", - "@vue/cli-plugin-babel": "5.0.8", - "@vue/cli-plugin-eslint": "5.0.8", - "@vue/cli-plugin-router": "5.0.8", - "@vue/cli-plugin-vuex": "5.0.8", - "@vue/cli-service": "5.0.8", - "@vue/compiler-sfc": "3.5.4", + "@vitejs/plugin-vue": "5.1.5", "@vue/eslint-config-prettier": "9.0.0", "@vue/test-utils": "2.4.6", - "babel-loader": "9.2.1", - "babel-plugin-istanbul": "7.0.0", "eslint": "8.56.0", "eslint-config-prettier": "9.1.0", "eslint-plugin-prettier": "5.2.1", "eslint-plugin-vue": "9.30.0", "prettier": "3.3.3", "sass": "1.80.4", - "sass-loader": "16.0.2", - "vue-cli-plugin-single-spa": "3.3.0", - "vue-cli-plugin-vuetify": "2.5.8", - "webpack": "5.95.0" + "vite": "5.4.11", + "vite-plugin-single-spa": "0.4.0" } } diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-dataviewer/plugin.txt b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-dataviewer/plugin.txt index 9b60d586ae..65af334939 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-dataviewer/plugin.txt +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-dataviewer/plugin.txt @@ -1,4 +1,4 @@ TOOL dataviewer "Data Viewer" - INLINE_URL js/app.js + INLINE_URL main.js ICON mdi-hexadecimal POSITION 10 diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-dataviewer/src/main.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-dataviewer/src/main.js index 8f23e9de3f..8c71d720fa 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-dataviewer/src/main.js +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-dataviewer/src/main.js @@ -1,4 +1,3 @@ -import 'systemjs-webpack-interop/auto-public-path/2' import { createApp, h } from 'vue' import singleSpaVue from 'single-spa-vue' diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-dataviewer/vite.config.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-dataviewer/vite.config.js new file mode 100644 index 0000000000..8f95504b43 --- /dev/null +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-dataviewer/vite.config.js @@ -0,0 +1,36 @@ +import { resolve } from 'path' +import { defineConfig } from 'vite' +import { vitePluginSingleSpa } from 'vite-plugin-single-spa' +import vue from '@vitejs/plugin-vue' + +const DEFAULT_EXTENSIONS = ['.mjs', '.js', '.ts', '.jsx', '.tsx', '.json'] + +export default defineConfig({ + base: '/tools/dataviewer', + build: { + outDir: 'tools/dataviewer', + emptyOutDir: true, + rollupOptions: { + output: { + format: 'system', + }, + }, + }, + plugins: [ + vue(), + vitePluginSingleSpa({ + type: 'mife', // micro front-end + serverPort: 2919, + spaEntryPoints: 'src/main.js', + }), + ], + resolve: { + alias: { + '@': resolve(__dirname, './src'), + }, + extensions: [...DEFAULT_EXTENSIONS, '.vue'], // not recommended but saves us from having to change every SFC import + }, + optimizeDeps: { + entries: [], // https://github.com/vituum/vituum/issues/25#issuecomment-1690080284 + } +}) diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-dataviewer/vue.config.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-dataviewer/vue.config.js deleted file mode 100644 index 6d5249bef4..0000000000 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-dataviewer/vue.config.js +++ /dev/null @@ -1,46 +0,0 @@ -module.exports = { - publicPath: '/tools/dataviewer', - outputDir: 'tools/dataviewer', - filenameHashing: false, - transpileDependencies: ['vuetify'], - devServer: { - port: 2919, - headers: { - 'Access-Control-Allow-Origin': '*', - }, - client: { - webSocketURL: { - hostname: 'localhost', - pathname: '/tools/dataviewer', - port: 2919, - }, - }, - }, - configureWebpack: { - output: { - libraryTarget: 'system', - }, - }, - chainWebpack(config) { - config.module - .rule('js') - .use('babel-loader') - .tap((options) => { - return { - rootMode: 'upward', - } - }) - config.module - .rule('vue') - .use('vue-loader') - .tap((options) => { - return { - prettify: false, - compilerOptions: { - isCustomElement: (tag) => tag.startsWith('rux-'), - }, - } - }) - config.externals(['vue', 'vuetify', 'vuex', 'vue-router']) - }, -} diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-handbooks/.eslintrc.cjs b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-handbooks/.eslintrc.cjs new file mode 100644 index 0000000000..3e278f14fe --- /dev/null +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-handbooks/.eslintrc.cjs @@ -0,0 +1,41 @@ +module.exports = { + root: true, + env: { + node: true, + }, + extends: [ + 'plugin:vue/vue3-essential', + 'plugin:prettier/recommended', + '@vue/prettier', + ], + plugins: ['prettier'], + rules: { + 'no-console': process.env.NODE_ENV === 'production' ? 'error' : 'off', + 'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off', + 'prettier/prettier': [ + 'warn', + { + endOfLine: 'auto', + }, + ], + 'vue/multi-word-component-names': 'off', + 'vue/valid-v-slot': [ + 'error', + { + allowModifiers: true, + }, + ], + }, + parser: 'vue-eslint-parser', + overrides: [ + { + files: [ + '**/__tests__/*.{j,t}s?(x)', + '**/tests/unit/**/*.spec.{j,t}s?(x)', + ], + env: { + jest: true, + }, + }, + ], +} diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-handbooks/.eslintrc.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-handbooks/.eslintrc.js deleted file mode 100644 index c3a051f432..0000000000 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-handbooks/.eslintrc.js +++ /dev/null @@ -1,44 +0,0 @@ -module.exports = { - root: true, - env: { - node: true, - }, - extends: [ - 'plugin:vue/vue3-essential', - 'plugin:prettier/recommended', - '@vue/prettier', - ], - plugins: ['prettier'], - rules: { - 'no-console': process.env.NODE_ENV === 'production' ? 'error' : 'off', - 'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off', - 'prettier/prettier': [ - 'warn', - { - endOfLine: 'auto', - }, - ], - 'vue/multi-word-component-names': 'off', - 'vue/valid-v-slot': [ - 'error', - { - allowModifiers: true, - }, - ], - }, - parser: 'vue-eslint-parser', - parserOptions: { - parser: '@babel/eslint-parser', - }, - overrides: [ - { - files: [ - '**/__tests__/*.{j,t}s?(x)', - '**/tests/unit/**/*.spec.{j,t}s?(x)', - ], - env: { - jest: true, - }, - }, - ], -} diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-handbooks/.prettierrc.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-handbooks/.prettierrc.cjs similarity index 100% rename from openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-handbooks/.prettierrc.js rename to openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-handbooks/.prettierrc.cjs diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-handbooks/babel.config.json b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-handbooks/babel.config.json deleted file mode 100644 index 91fa88dbe0..0000000000 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-handbooks/babel.config.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "presets": ["@vue/cli-plugin-babel/preset"], - "plugins": [ - [ - "babel-plugin-istanbul", - { - "extension": [".js", ".vue"] - } - ] - ] -} diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-handbooks/package.json b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-handbooks/package.json index 42979f028a..0e59ea1889 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-handbooks/package.json +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-handbooks/package.json @@ -2,13 +2,13 @@ "name": "@openc3/cosmos-tool-handbooks", "version": "5.21.0-beta0", "private": true, + "type": "module", "scripts": { - "serve": "vue-cli-service serve", - "build": "vue-cli-service build --no-module", - "test:unit": "vue-cli-service test:unit", - "lint": "vue-cli-service lint", - "serve:standalone": "vue-cli-service serve --mode standalone", - "test:components": "vue-cli-service test:components" + "dev": "vite", + "serve": "vite preview", + "build": "vite build", + "lint": "eslint src", + "serve:standalone": "vite preview --mode standalone" }, "dependencies": { "@astrouxds/astro-web-components": "7.24.0", @@ -18,35 +18,22 @@ "lodash": "4.17.21", "single-spa-vue": "3.0.0", "sprintf-js": "1.1.3", - "systemjs-webpack-interop": "2.3.7", "vue": "3.5.4", "vue-router": "4.4.4", "vuetify": "3.7.1", "vuex": "4.1.0" }, "devDependencies": { - "@babel/eslint-parser": "7.25.9", - "@vue/babel-preset-app": "5.0.8", - "@vue/cli": "5.0.8", - "@vue/cli-plugin-babel": "5.0.8", - "@vue/cli-plugin-eslint": "5.0.8", - "@vue/cli-plugin-router": "5.0.8", - "@vue/cli-plugin-vuex": "5.0.8", - "@vue/cli-service": "5.0.8", - "@vue/compiler-sfc": "3.5.4", + "@vitejs/plugin-vue": "5.1.5", "@vue/eslint-config-prettier": "9.0.0", "@vue/test-utils": "2.4.6", - "babel-loader": "9.2.1", - "babel-plugin-istanbul": "7.0.0", "eslint": "8.56.0", "eslint-config-prettier": "9.1.0", "eslint-plugin-prettier": "5.2.1", "eslint-plugin-vue": "9.30.0", "prettier": "3.3.3", "sass": "1.80.4", - "sass-loader": "16.0.2", - "vue-cli-plugin-single-spa": "3.3.0", - "vue-cli-plugin-vuetify": "2.5.8", - "webpack": "5.95.0" + "vite": "5.4.11", + "vite-plugin-single-spa": "0.4.0" } } diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-handbooks/plugin.txt b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-handbooks/plugin.txt index aea2b2c54b..54907e1590 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-handbooks/plugin.txt +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-handbooks/plugin.txt @@ -1,5 +1,5 @@ TOOL handbooks "Handbooks" - INLINE_URL js/app.js + INLINE_URL main.js ICON mdi-file-document-multiple POSITION 15 CATEGORY Utilities diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-handbooks/src/main.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-handbooks/src/main.js index 8f23e9de3f..8c71d720fa 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-handbooks/src/main.js +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-handbooks/src/main.js @@ -1,4 +1,3 @@ -import 'systemjs-webpack-interop/auto-public-path/2' import { createApp, h } from 'vue' import singleSpaVue from 'single-spa-vue' diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-handbooks/vite.config.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-handbooks/vite.config.js new file mode 100644 index 0000000000..5f7db9e167 --- /dev/null +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-handbooks/vite.config.js @@ -0,0 +1,36 @@ +import { resolve } from 'path' +import { defineConfig } from 'vite' +import { vitePluginSingleSpa } from 'vite-plugin-single-spa' +import vue from '@vitejs/plugin-vue' + +const DEFAULT_EXTENSIONS = ['.mjs', '.js', '.ts', '.jsx', '.tsx', '.json'] + +export default defineConfig({ + base: '/tools/handbooks', + build: { + outDir: 'tools/handbooks', + emptyOutDir: true, + rollupOptions: { + output: { + format: 'system', + }, + }, + }, + plugins: [ + vue(), + vitePluginSingleSpa({ + type: 'mife', // micro front-end + serverPort: 2923, + spaEntryPoints: 'src/main.js', + }), + ], + resolve: { + alias: { + '@': resolve(__dirname, './src'), + }, + extensions: [...DEFAULT_EXTENSIONS, '.vue'], // not recommended but saves us from having to change every SFC import + }, + optimizeDeps: { + entries: [], // https://github.com/vituum/vituum/issues/25#issuecomment-1690080284 + } +}) diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-handbooks/vue.config.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-handbooks/vue.config.js deleted file mode 100644 index 1c6124aee3..0000000000 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-handbooks/vue.config.js +++ /dev/null @@ -1,46 +0,0 @@ -module.exports = { - publicPath: '/tools/handbooks', - outputDir: 'tools/handbooks', - filenameHashing: false, - transpileDependencies: ['vuetify'], - devServer: { - port: 2923, - headers: { - 'Access-Control-Allow-Origin': '*', - }, - client: { - webSocketURL: { - hostname: 'localhost', - pathname: '/tools/handbooks', - port: 2923, - }, - }, - }, - configureWebpack: { - output: { - libraryTarget: 'system', - }, - }, - chainWebpack(config) { - config.module - .rule('js') - .use('babel-loader') - .tap((options) => { - return { - rootMode: 'upward', - } - }) - config.module - .rule('vue') - .use('vue-loader') - .tap((options) => { - return { - prettify: false, - compilerOptions: { - isCustomElement: (tag) => tag.startsWith('rux-'), - }, - } - }) - config.externals(['vue', 'vuetify', 'vuex', 'vue-router']) - }, -} diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-iframe/.eslintrc.cjs b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-iframe/.eslintrc.cjs new file mode 100644 index 0000000000..3e278f14fe --- /dev/null +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-iframe/.eslintrc.cjs @@ -0,0 +1,41 @@ +module.exports = { + root: true, + env: { + node: true, + }, + extends: [ + 'plugin:vue/vue3-essential', + 'plugin:prettier/recommended', + '@vue/prettier', + ], + plugins: ['prettier'], + rules: { + 'no-console': process.env.NODE_ENV === 'production' ? 'error' : 'off', + 'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off', + 'prettier/prettier': [ + 'warn', + { + endOfLine: 'auto', + }, + ], + 'vue/multi-word-component-names': 'off', + 'vue/valid-v-slot': [ + 'error', + { + allowModifiers: true, + }, + ], + }, + parser: 'vue-eslint-parser', + overrides: [ + { + files: [ + '**/__tests__/*.{j,t}s?(x)', + '**/tests/unit/**/*.spec.{j,t}s?(x)', + ], + env: { + jest: true, + }, + }, + ], +} diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-iframe/.eslintrc.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-iframe/.eslintrc.js deleted file mode 100644 index c3a051f432..0000000000 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-iframe/.eslintrc.js +++ /dev/null @@ -1,44 +0,0 @@ -module.exports = { - root: true, - env: { - node: true, - }, - extends: [ - 'plugin:vue/vue3-essential', - 'plugin:prettier/recommended', - '@vue/prettier', - ], - plugins: ['prettier'], - rules: { - 'no-console': process.env.NODE_ENV === 'production' ? 'error' : 'off', - 'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off', - 'prettier/prettier': [ - 'warn', - { - endOfLine: 'auto', - }, - ], - 'vue/multi-word-component-names': 'off', - 'vue/valid-v-slot': [ - 'error', - { - allowModifiers: true, - }, - ], - }, - parser: 'vue-eslint-parser', - parserOptions: { - parser: '@babel/eslint-parser', - }, - overrides: [ - { - files: [ - '**/__tests__/*.{j,t}s?(x)', - '**/tests/unit/**/*.spec.{j,t}s?(x)', - ], - env: { - jest: true, - }, - }, - ], -} diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-iframe/.prettierrc.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-iframe/.prettierrc.cjs similarity index 100% rename from openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-iframe/.prettierrc.js rename to openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-iframe/.prettierrc.cjs diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-iframe/babel.config.json b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-iframe/babel.config.json deleted file mode 100644 index 91fa88dbe0..0000000000 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-iframe/babel.config.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "presets": ["@vue/cli-plugin-babel/preset"], - "plugins": [ - [ - "babel-plugin-istanbul", - { - "extension": [".js", ".vue"] - } - ] - ] -} diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-iframe/package.json b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-iframe/package.json index a38ee6ee39..fef60516d0 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-iframe/package.json +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-iframe/package.json @@ -2,13 +2,13 @@ "name": "@openc3/cosmos-tool-iframe", "version": "5.21.0-beta0", "private": true, + "type": "module", "scripts": { - "serve": "vue-cli-service serve", - "build": "vue-cli-service build --no-module", - "test:unit": "vue-cli-service test:unit", - "lint": "vue-cli-service lint", - "serve:standalone": "vue-cli-service serve --mode standalone", - "test:components": "vue-cli-service test:components" + "dev": "vite", + "serve": "vite preview", + "build": "vite build", + "lint": "eslint src", + "serve:standalone": "vite preview --mode standalone" }, "dependencies": { "@astrouxds/astro-web-components": "7.24.0", @@ -18,35 +18,22 @@ "lodash": "4.17.21", "single-spa-vue": "3.0.0", "sprintf-js": "1.1.3", - "systemjs-webpack-interop": "2.3.7", "vue": "3.5.4", "vue-router": "4.4.4", "vuetify": "3.7.1", "vuex": "4.1.0" }, "devDependencies": { - "@babel/eslint-parser": "7.25.9", - "@vue/babel-preset-app": "5.0.8", - "@vue/cli": "5.0.8", - "@vue/cli-plugin-babel": "5.0.8", - "@vue/cli-plugin-eslint": "5.0.8", - "@vue/cli-plugin-router": "5.0.8", - "@vue/cli-plugin-vuex": "5.0.8", - "@vue/cli-service": "5.0.8", - "@vue/compiler-sfc": "3.5.4", + "@vitejs/plugin-vue": "5.1.5", "@vue/eslint-config-prettier": "9.0.0", "@vue/test-utils": "2.4.6", - "babel-loader": "9.2.1", - "babel-plugin-istanbul": "7.0.0", "eslint": "8.56.0", "eslint-config-prettier": "9.1.0", "eslint-plugin-prettier": "5.2.1", "eslint-plugin-vue": "9.30.0", "prettier": "3.3.3", "sass": "1.80.4", - "sass-loader": "16.0.2", - "vue-cli-plugin-single-spa": "3.3.0", - "vue-cli-plugin-vuetify": "2.5.8", - "webpack": "5.95.0" + "vite": "5.4.11", + "vite-plugin-single-spa": "0.4.0" } } diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-iframe/plugin.txt b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-iframe/plugin.txt index c655650736..bdc3758beb 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-iframe/plugin.txt +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-iframe/plugin.txt @@ -1,4 +1,4 @@ TOOL iframe "Iframe" - INLINE_URL js/app.js + INLINE_URL main.js SHOWN false POSITION 50 diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-iframe/src/main.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-iframe/src/main.js index 8f23e9de3f..8c71d720fa 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-iframe/src/main.js +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-iframe/src/main.js @@ -1,4 +1,3 @@ -import 'systemjs-webpack-interop/auto-public-path/2' import { createApp, h } from 'vue' import singleSpaVue from 'single-spa-vue' diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-iframe/vite.config.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-iframe/vite.config.js new file mode 100644 index 0000000000..780bde586d --- /dev/null +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-iframe/vite.config.js @@ -0,0 +1,36 @@ +import { resolve } from 'path' +import { defineConfig } from 'vite' +import { vitePluginSingleSpa } from 'vite-plugin-single-spa' +import vue from '@vitejs/plugin-vue' + +const DEFAULT_EXTENSIONS = ['.mjs', '.js', '.ts', '.jsx', '.tsx', '.json'] + +export default defineConfig({ + base: '/tools/iframe', + build: { + outDir: 'tools/iframe', + emptyOutDir: true, + rollupOptions: { + output: { + format: 'system', + }, + }, + }, + plugins: [ + vue(), + vitePluginSingleSpa({ + type: 'mife', // micro front-end + serverPort: 2915, + spaEntryPoints: 'src/main.js', + }), + ], + resolve: { + alias: { + '@': resolve(__dirname, './src'), + }, + extensions: [...DEFAULT_EXTENSIONS, '.vue'], // not recommended but saves us from having to change every SFC import + }, + optimizeDeps: { + entries: [], // https://github.com/vituum/vituum/issues/25#issuecomment-1690080284 + } +}) diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-iframe/vue.config.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-iframe/vue.config.js deleted file mode 100644 index bfa0c6d7f8..0000000000 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-iframe/vue.config.js +++ /dev/null @@ -1,46 +0,0 @@ -module.exports = { - publicPath: '/tools/iframe', - outputDir: 'tools/iframe', - filenameHashing: false, - transpileDependencies: ['vuetify'], - devServer: { - port: 2915, - headers: { - 'Access-Control-Allow-Origin': '*', - }, - client: { - webSocketURL: { - hostname: 'localhost', - pathname: '/tools/iframe', - port: 2915, - }, - }, - }, - configureWebpack: { - output: { - libraryTarget: 'system', - }, - }, - chainWebpack(config) { - config.module - .rule('js') - .use('babel-loader') - .tap((options) => { - return { - rootMode: 'upward', - } - }) - config.module - .rule('vue') - .use('vue-loader') - .tap((options) => { - return { - prettify: false, - compilerOptions: { - isCustomElement: (tag) => tag.startsWith('rux-'), - }, - } - }) - config.externals(['vue', 'vuetify', 'vuex', 'vue-router']) - }, -} diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-limitsmonitor/.eslintrc.cjs b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-limitsmonitor/.eslintrc.cjs new file mode 100644 index 0000000000..3e278f14fe --- /dev/null +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-limitsmonitor/.eslintrc.cjs @@ -0,0 +1,41 @@ +module.exports = { + root: true, + env: { + node: true, + }, + extends: [ + 'plugin:vue/vue3-essential', + 'plugin:prettier/recommended', + '@vue/prettier', + ], + plugins: ['prettier'], + rules: { + 'no-console': process.env.NODE_ENV === 'production' ? 'error' : 'off', + 'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off', + 'prettier/prettier': [ + 'warn', + { + endOfLine: 'auto', + }, + ], + 'vue/multi-word-component-names': 'off', + 'vue/valid-v-slot': [ + 'error', + { + allowModifiers: true, + }, + ], + }, + parser: 'vue-eslint-parser', + overrides: [ + { + files: [ + '**/__tests__/*.{j,t}s?(x)', + '**/tests/unit/**/*.spec.{j,t}s?(x)', + ], + env: { + jest: true, + }, + }, + ], +} diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-limitsmonitor/.eslintrc.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-limitsmonitor/.eslintrc.js deleted file mode 100644 index c3a051f432..0000000000 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-limitsmonitor/.eslintrc.js +++ /dev/null @@ -1,44 +0,0 @@ -module.exports = { - root: true, - env: { - node: true, - }, - extends: [ - 'plugin:vue/vue3-essential', - 'plugin:prettier/recommended', - '@vue/prettier', - ], - plugins: ['prettier'], - rules: { - 'no-console': process.env.NODE_ENV === 'production' ? 'error' : 'off', - 'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off', - 'prettier/prettier': [ - 'warn', - { - endOfLine: 'auto', - }, - ], - 'vue/multi-word-component-names': 'off', - 'vue/valid-v-slot': [ - 'error', - { - allowModifiers: true, - }, - ], - }, - parser: 'vue-eslint-parser', - parserOptions: { - parser: '@babel/eslint-parser', - }, - overrides: [ - { - files: [ - '**/__tests__/*.{j,t}s?(x)', - '**/tests/unit/**/*.spec.{j,t}s?(x)', - ], - env: { - jest: true, - }, - }, - ], -} diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-limitsmonitor/.prettierrc.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-limitsmonitor/.prettierrc.cjs similarity index 100% rename from openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-limitsmonitor/.prettierrc.js rename to openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-limitsmonitor/.prettierrc.cjs diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-limitsmonitor/babel.config.json b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-limitsmonitor/babel.config.json deleted file mode 100644 index 91fa88dbe0..0000000000 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-limitsmonitor/babel.config.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "presets": ["@vue/cli-plugin-babel/preset"], - "plugins": [ - [ - "babel-plugin-istanbul", - { - "extension": [".js", ".vue"] - } - ] - ] -} diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-limitsmonitor/package.json b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-limitsmonitor/package.json index f326c59363..5a4f90c271 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-limitsmonitor/package.json +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-limitsmonitor/package.json @@ -2,13 +2,13 @@ "name": "@openc3/cosmos-tool-limitsmonitor", "version": "5.21.0-beta0", "private": true, + "type": "module", "scripts": { - "serve": "vue-cli-service serve", - "build": "vue-cli-service build --no-module", - "test:unit": "vue-cli-service test:unit", - "lint": "vue-cli-service lint", - "serve:standalone": "vue-cli-service serve --mode standalone", - "test:components": "vue-cli-service test:components" + "dev": "vite", + "serve": "vite preview", + "build": "vite build", + "lint": "eslint src", + "serve:standalone": "vite preview --mode standalone" }, "dependencies": { "@astrouxds/astro-web-components": "7.24.0", @@ -18,35 +18,22 @@ "lodash": "4.17.21", "single-spa-vue": "3.0.0", "sprintf-js": "1.1.3", - "systemjs-webpack-interop": "2.3.7", "vue": "3.5.4", "vue-router": "4.4.4", "vuetify": "3.7.1", "vuex": "4.1.0" }, "devDependencies": { - "@babel/eslint-parser": "7.25.9", - "@vue/babel-preset-app": "5.0.8", - "@vue/cli": "5.0.8", - "@vue/cli-plugin-babel": "5.0.8", - "@vue/cli-plugin-eslint": "5.0.8", - "@vue/cli-plugin-router": "5.0.8", - "@vue/cli-plugin-vuex": "5.0.8", - "@vue/cli-service": "5.0.8", - "@vue/compiler-sfc": "3.5.4", + "@vitejs/plugin-vue": "5.1.5", "@vue/eslint-config-prettier": "9.0.0", "@vue/test-utils": "2.4.6", - "babel-loader": "9.2.1", - "babel-plugin-istanbul": "7.0.0", "eslint": "8.56.0", "eslint-config-prettier": "9.1.0", "eslint-plugin-prettier": "5.2.1", "eslint-plugin-vue": "9.30.0", "prettier": "3.3.3", "sass": "1.80.4", - "sass-loader": "16.0.2", - "vue-cli-plugin-single-spa": "3.3.0", - "vue-cli-plugin-vuetify": "2.5.8", - "webpack": "5.95.0" + "vite": "5.4.11", + "vite-plugin-single-spa": "0.4.0" } } diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-limitsmonitor/plugin.txt b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-limitsmonitor/plugin.txt index 3bdd66ccfb..2ea58afe7d 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-limitsmonitor/plugin.txt +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-limitsmonitor/plugin.txt @@ -1,4 +1,4 @@ TOOL limitsmonitor "Limits Monitor" - INLINE_URL js/app.js + INLINE_URL main.js ICON astro:warning POSITION 3 diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-limitsmonitor/src/main.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-limitsmonitor/src/main.js index 8f23e9de3f..8c71d720fa 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-limitsmonitor/src/main.js +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-limitsmonitor/src/main.js @@ -1,4 +1,3 @@ -import 'systemjs-webpack-interop/auto-public-path/2' import { createApp, h } from 'vue' import singleSpaVue from 'single-spa-vue' diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-limitsmonitor/vite.config.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-limitsmonitor/vite.config.js new file mode 100644 index 0000000000..0f19c880e2 --- /dev/null +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-limitsmonitor/vite.config.js @@ -0,0 +1,36 @@ +import { resolve } from 'path' +import { defineConfig } from 'vite' +import { vitePluginSingleSpa } from 'vite-plugin-single-spa' +import vue from '@vitejs/plugin-vue' + +const DEFAULT_EXTENSIONS = ['.mjs', '.js', '.ts', '.jsx', '.tsx', '.json'] + +export default defineConfig({ + base: '/tools/limitsmonitor', + build: { + outDir: 'tools/limitsmonitor', + emptyOutDir: true, + rollupOptions: { + output: { + format: 'system', + }, + }, + }, + plugins: [ + vue(), + vitePluginSingleSpa({ + type: 'mife', // micro front-end + serverPort: 2912, + spaEntryPoints: 'src/main.js', + }), + ], + resolve: { + alias: { + '@': resolve(__dirname, './src'), + }, + extensions: [...DEFAULT_EXTENSIONS, '.vue'], // not recommended but saves us from having to change every SFC import + }, + optimizeDeps: { + entries: [], // https://github.com/vituum/vituum/issues/25#issuecomment-1690080284 + } +}) diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-limitsmonitor/vue.config.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-limitsmonitor/vue.config.js deleted file mode 100644 index 572b87cd1e..0000000000 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-limitsmonitor/vue.config.js +++ /dev/null @@ -1,46 +0,0 @@ -module.exports = { - publicPath: '/tools/limitsmonitor', - outputDir: 'tools/limitsmonitor', - filenameHashing: false, - transpileDependencies: ['vuetify'], - devServer: { - port: 2912, - headers: { - 'Access-Control-Allow-Origin': '*', - }, - client: { - webSocketURL: { - hostname: 'localhost', - pathname: '/tools/limitsmonitor', - port: 2912, - }, - }, - }, - configureWebpack: { - output: { - libraryTarget: 'system', - }, - }, - chainWebpack(config) { - config.module - .rule('js') - .use('babel-loader') - .tap((options) => { - return { - rootMode: 'upward', - } - }) - config.module - .rule('vue') - .use('vue-loader') - .tap((options) => { - return { - prettify: false, - compilerOptions: { - isCustomElement: (tag) => tag.startsWith('rux-'), - }, - } - }) - config.externals(['vue', 'vuetify', 'vuex', 'vue-router']) - }, -} diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-packetviewer/.eslintrc.cjs b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-packetviewer/.eslintrc.cjs new file mode 100644 index 0000000000..3e278f14fe --- /dev/null +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-packetviewer/.eslintrc.cjs @@ -0,0 +1,41 @@ +module.exports = { + root: true, + env: { + node: true, + }, + extends: [ + 'plugin:vue/vue3-essential', + 'plugin:prettier/recommended', + '@vue/prettier', + ], + plugins: ['prettier'], + rules: { + 'no-console': process.env.NODE_ENV === 'production' ? 'error' : 'off', + 'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off', + 'prettier/prettier': [ + 'warn', + { + endOfLine: 'auto', + }, + ], + 'vue/multi-word-component-names': 'off', + 'vue/valid-v-slot': [ + 'error', + { + allowModifiers: true, + }, + ], + }, + parser: 'vue-eslint-parser', + overrides: [ + { + files: [ + '**/__tests__/*.{j,t}s?(x)', + '**/tests/unit/**/*.spec.{j,t}s?(x)', + ], + env: { + jest: true, + }, + }, + ], +} diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-packetviewer/.eslintrc.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-packetviewer/.eslintrc.js deleted file mode 100644 index c3a051f432..0000000000 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-packetviewer/.eslintrc.js +++ /dev/null @@ -1,44 +0,0 @@ -module.exports = { - root: true, - env: { - node: true, - }, - extends: [ - 'plugin:vue/vue3-essential', - 'plugin:prettier/recommended', - '@vue/prettier', - ], - plugins: ['prettier'], - rules: { - 'no-console': process.env.NODE_ENV === 'production' ? 'error' : 'off', - 'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off', - 'prettier/prettier': [ - 'warn', - { - endOfLine: 'auto', - }, - ], - 'vue/multi-word-component-names': 'off', - 'vue/valid-v-slot': [ - 'error', - { - allowModifiers: true, - }, - ], - }, - parser: 'vue-eslint-parser', - parserOptions: { - parser: '@babel/eslint-parser', - }, - overrides: [ - { - files: [ - '**/__tests__/*.{j,t}s?(x)', - '**/tests/unit/**/*.spec.{j,t}s?(x)', - ], - env: { - jest: true, - }, - }, - ], -} diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-packetviewer/.prettierrc.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-packetviewer/.prettierrc.cjs similarity index 100% rename from openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-packetviewer/.prettierrc.js rename to openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-packetviewer/.prettierrc.cjs diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-packetviewer/babel.config.json b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-packetviewer/babel.config.json deleted file mode 100644 index 91fa88dbe0..0000000000 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-packetviewer/babel.config.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "presets": ["@vue/cli-plugin-babel/preset"], - "plugins": [ - [ - "babel-plugin-istanbul", - { - "extension": [".js", ".vue"] - } - ] - ] -} diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-packetviewer/package.json b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-packetviewer/package.json index af29be9f02..8cdd6cf343 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-packetviewer/package.json +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-packetviewer/package.json @@ -2,13 +2,13 @@ "name": "@openc3/cosmos-tool-packetviewer", "version": "5.21.0-beta0", "private": true, + "type": "module", "scripts": { - "serve": "vue-cli-service serve", - "build": "vue-cli-service build --no-module", - "test:unit": "vue-cli-service test:unit", - "lint": "vue-cli-service lint", - "serve:standalone": "vue-cli-service serve --mode standalone", - "test:components": "vue-cli-service test:components" + "dev": "vite", + "serve": "vite preview", + "build": "vite build", + "lint": "eslint src", + "serve:standalone": "vite preview --mode standalone" }, "dependencies": { "@astrouxds/astro-web-components": "7.24.0", @@ -18,36 +18,22 @@ "lodash": "4.17.21", "single-spa-vue": "3.0.0", "sprintf-js": "1.1.3", - "systemjs-webpack-interop": "2.3.7", "vue": "3.5.4", "vue-router": "4.4.4", "vuetify": "3.7.1", "vuex": "4.1.0" }, "devDependencies": { - "@babel/eslint-parser": "7.25.9", - "@vue/babel-preset-app": "5.0.8", - "@vue/cli": "5.0.8", - "@vue/cli-plugin-babel": "5.0.8", - "@vue/cli-plugin-eslint": "5.0.8", - "@vue/cli-plugin-router": "5.0.8", - "@vue/cli-plugin-vuex": "5.0.8", - "@vue/cli-service": "5.0.8", - "@vue/compiler-sfc": "3.5.4", + "@vitejs/plugin-vue": "5.1.5", "@vue/eslint-config-prettier": "9.0.0", "@vue/test-utils": "2.4.6", - "babel-loader": "9.2.1", - "babel-plugin-istanbul": "7.0.0", "eslint": "8.56.0", "eslint-config-prettier": "9.1.0", "eslint-plugin-prettier": "5.2.1", "eslint-plugin-vue": "9.30.0", "prettier": "3.3.3", "sass": "1.80.4", - "sass-loader": "16.0.2", - "vue-cli-plugin-single-spa": "3.3.0", - "vue-cli-plugin-vuetify": "2.5.8", - "vue-eslint-parser": "9.4.3", - "webpack": "5.95.0" + "vite": "5.4.11", + "vite-plugin-single-spa": "0.4.0" } } diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-packetviewer/plugin.txt b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-packetviewer/plugin.txt index 7feb83a0a1..d003fc12ce 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-packetviewer/plugin.txt +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-packetviewer/plugin.txt @@ -1,4 +1,4 @@ TOOL packetviewer "Packet Viewer" - INLINE_URL js/app.js + INLINE_URL main.js ICON mdi-format-list-bulleted POSITION 6 diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-packetviewer/src/main.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-packetviewer/src/main.js index 8f23e9de3f..8c71d720fa 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-packetviewer/src/main.js +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-packetviewer/src/main.js @@ -1,4 +1,3 @@ -import 'systemjs-webpack-interop/auto-public-path/2' import { createApp, h } from 'vue' import singleSpaVue from 'single-spa-vue' diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-packetviewer/vite.config.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-packetviewer/vite.config.js new file mode 100644 index 0000000000..c9ce5b9490 --- /dev/null +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-packetviewer/vite.config.js @@ -0,0 +1,36 @@ +import { resolve } from 'path' +import { defineConfig } from 'vite' +import { vitePluginSingleSpa } from 'vite-plugin-single-spa' +import vue from '@vitejs/plugin-vue' + +const DEFAULT_EXTENSIONS = ['.mjs', '.js', '.ts', '.jsx', '.tsx', '.json'] + +export default defineConfig({ + base: '/tools/packetviewer', + build: { + outDir: 'tools/packetviewer', + emptyOutDir: true, + rollupOptions: { + output: { + format: 'system', + }, + }, + }, + plugins: [ + vue(), + vitePluginSingleSpa({ + type: 'mife', // micro front-end + serverPort: 2915, + spaEntryPoints: 'src/main.js', + }), + ], + resolve: { + alias: { + '@': resolve(__dirname, './src'), + }, + extensions: [...DEFAULT_EXTENSIONS, '.vue'], // not recommended but saves us from having to change every SFC import + }, + optimizeDeps: { + entries: [], // https://github.com/vituum/vituum/issues/25#issuecomment-1690080284 + } +}) diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-packetviewer/vue.config.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-packetviewer/vue.config.js deleted file mode 100644 index f3eeebb00c..0000000000 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-packetviewer/vue.config.js +++ /dev/null @@ -1,46 +0,0 @@ -module.exports = { - publicPath: '/tools/packetviewer', - outputDir: 'tools/packetviewer', - filenameHashing: false, - transpileDependencies: ['vuetify'], - devServer: { - port: 2915, - headers: { - 'Access-Control-Allow-Origin': '*', - }, - client: { - webSocketURL: { - hostname: 'localhost', - pathname: '/tools/packetviewer', - port: 2915, - }, - }, - }, - configureWebpack: { - output: { - libraryTarget: 'system', - }, - }, - chainWebpack(config) { - config.module - .rule('js') - .use('babel-loader') - .tap((options) => { - return { - rootMode: 'upward', - } - }) - config.module - .rule('vue') - .use('vue-loader') - .tap((options) => { - return { - prettify: false, - compilerOptions: { - isCustomElement: (tag) => tag.startsWith('rux-'), - }, - } - }) - config.externals(['vue', 'vuetify', 'vuex', 'vue-router']) - }, -} diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-scriptrunner/.eslintrc.cjs b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-scriptrunner/.eslintrc.cjs new file mode 100644 index 0000000000..3e278f14fe --- /dev/null +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-scriptrunner/.eslintrc.cjs @@ -0,0 +1,41 @@ +module.exports = { + root: true, + env: { + node: true, + }, + extends: [ + 'plugin:vue/vue3-essential', + 'plugin:prettier/recommended', + '@vue/prettier', + ], + plugins: ['prettier'], + rules: { + 'no-console': process.env.NODE_ENV === 'production' ? 'error' : 'off', + 'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off', + 'prettier/prettier': [ + 'warn', + { + endOfLine: 'auto', + }, + ], + 'vue/multi-word-component-names': 'off', + 'vue/valid-v-slot': [ + 'error', + { + allowModifiers: true, + }, + ], + }, + parser: 'vue-eslint-parser', + overrides: [ + { + files: [ + '**/__tests__/*.{j,t}s?(x)', + '**/tests/unit/**/*.spec.{j,t}s?(x)', + ], + env: { + jest: true, + }, + }, + ], +} diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-scriptrunner/.eslintrc.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-scriptrunner/.eslintrc.js deleted file mode 100644 index c3a051f432..0000000000 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-scriptrunner/.eslintrc.js +++ /dev/null @@ -1,44 +0,0 @@ -module.exports = { - root: true, - env: { - node: true, - }, - extends: [ - 'plugin:vue/vue3-essential', - 'plugin:prettier/recommended', - '@vue/prettier', - ], - plugins: ['prettier'], - rules: { - 'no-console': process.env.NODE_ENV === 'production' ? 'error' : 'off', - 'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off', - 'prettier/prettier': [ - 'warn', - { - endOfLine: 'auto', - }, - ], - 'vue/multi-word-component-names': 'off', - 'vue/valid-v-slot': [ - 'error', - { - allowModifiers: true, - }, - ], - }, - parser: 'vue-eslint-parser', - parserOptions: { - parser: '@babel/eslint-parser', - }, - overrides: [ - { - files: [ - '**/__tests__/*.{j,t}s?(x)', - '**/tests/unit/**/*.spec.{j,t}s?(x)', - ], - env: { - jest: true, - }, - }, - ], -} diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-scriptrunner/.prettierrc.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-scriptrunner/.prettierrc.cjs similarity index 100% rename from openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-scriptrunner/.prettierrc.js rename to openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-scriptrunner/.prettierrc.cjs diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-scriptrunner/babel.config.json b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-scriptrunner/babel.config.json deleted file mode 100644 index 91fa88dbe0..0000000000 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-scriptrunner/babel.config.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "presets": ["@vue/cli-plugin-babel/preset"], - "plugins": [ - [ - "babel-plugin-istanbul", - { - "extension": [".js", ".vue"] - } - ] - ] -} diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-scriptrunner/package.json b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-scriptrunner/package.json index e4e4cddc60..66cede190f 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-scriptrunner/package.json +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-scriptrunner/package.json @@ -2,13 +2,13 @@ "name": "@openc3/cosmos-tool-scriptrunner", "version": "5.21.0-beta0", "private": true, + "type": "module", "scripts": { - "serve": "vue-cli-service serve", - "build": "vue-cli-service build --no-module", - "test:unit": "vue-cli-service test:unit", - "lint": "vue-cli-service lint", - "serve:standalone": "vue-cli-service serve --mode standalone", - "test:components": "vue-cli-service test:components" + "dev": "vite", + "serve": "vite preview", + "build": "vite build", + "lint": "eslint src", + "serve:standalone": "vite preview --mode standalone" }, "dependencies": { "@astrouxds/astro-web-components": "7.24.0", @@ -19,7 +19,6 @@ "lodash": "4.17.21", "single-spa-vue": "3.0.0", "sprintf-js": "1.1.3", - "systemjs-webpack-interop": "2.3.7", "splitpanes": "3.1.5", "vue": "3.5.4", "vue-router": "4.4.4", @@ -27,28 +26,16 @@ "vuex": "4.1.0" }, "devDependencies": { - "@babel/eslint-parser": "7.25.9", - "@vue/babel-preset-app": "5.0.8", - "@vue/cli": "5.0.8", - "@vue/cli-plugin-babel": "5.0.8", - "@vue/cli-plugin-eslint": "5.0.8", - "@vue/cli-plugin-router": "5.0.8", - "@vue/cli-plugin-vuex": "5.0.8", - "@vue/cli-service": "5.0.8", - "@vue/compiler-sfc": "3.5.4", + "@vitejs/plugin-vue": "5.1.5", "@vue/eslint-config-prettier": "9.0.0", "@vue/test-utils": "2.4.6", - "babel-loader": "9.2.1", - "babel-plugin-istanbul": "7.0.0", "eslint": "8.56.0", "eslint-config-prettier": "9.1.0", "eslint-plugin-prettier": "5.2.1", "eslint-plugin-vue": "9.30.0", "prettier": "3.3.3", "sass": "1.80.4", - "sass-loader": "16.0.2", - "vue-cli-plugin-single-spa": "3.3.0", - "vue-cli-plugin-vuetify": "2.5.8", - "webpack": "5.95.0" + "vite": "5.4.11", + "vite-plugin-single-spa": "0.4.0" } } diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-scriptrunner/plugin.txt b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-scriptrunner/plugin.txt index 693d729b0b..f9299de8f6 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-scriptrunner/plugin.txt +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-scriptrunner/plugin.txt @@ -1,4 +1,4 @@ TOOL scriptrunner "Script Runner" - INLINE_URL js/app.js + INLINE_URL main.js ICON mdi-run-fast POSITION 5 diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-scriptrunner/src/main.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-scriptrunner/src/main.js index 8f23e9de3f..8c71d720fa 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-scriptrunner/src/main.js +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-scriptrunner/src/main.js @@ -1,4 +1,3 @@ -import 'systemjs-webpack-interop/auto-public-path/2' import { createApp, h } from 'vue' import singleSpaVue from 'single-spa-vue' diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-scriptrunner/vite.config.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-scriptrunner/vite.config.js new file mode 100644 index 0000000000..e96d7fbede --- /dev/null +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-scriptrunner/vite.config.js @@ -0,0 +1,36 @@ +import { resolve } from 'path' +import { defineConfig } from 'vite' +import { vitePluginSingleSpa } from 'vite-plugin-single-spa' +import vue from '@vitejs/plugin-vue' + +const DEFAULT_EXTENSIONS = ['.mjs', '.js', '.ts', '.jsx', '.tsx', '.json'] + +export default defineConfig({ + base: '/tools/scriptrunner', + build: { + outDir: 'tools/scriptrunner', + emptyOutDir: true, + rollupOptions: { + output: { + format: 'system', + }, + }, + }, + plugins: [ + vue(), + vitePluginSingleSpa({ + type: 'mife', // micro front-end + serverPort: 2914, + spaEntryPoints: 'src/main.js', + }), + ], + resolve: { + alias: { + '@': resolve(__dirname, './src'), + }, + extensions: [...DEFAULT_EXTENSIONS, '.vue'], // not recommended but saves us from having to change every SFC import + }, + optimizeDeps: { + entries: [], // https://github.com/vituum/vituum/issues/25#issuecomment-1690080284 + } +}) diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-scriptrunner/vue.config.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-scriptrunner/vue.config.js deleted file mode 100644 index cd29c34438..0000000000 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-scriptrunner/vue.config.js +++ /dev/null @@ -1,46 +0,0 @@ -module.exports = { - publicPath: '/tools/scriptrunner', - outputDir: 'tools/scriptrunner', - filenameHashing: false, - transpileDependencies: ['vuetify'], - devServer: { - port: 2914, - headers: { - 'Access-Control-Allow-Origin': '*', - }, - client: { - webSocketURL: { - hostname: 'localhost', - pathname: '/tools/scriptrunner', - port: 2914, - }, - }, - }, - configureWebpack: { - output: { - libraryTarget: 'system', - }, - }, - chainWebpack(config) { - config.module - .rule('js') - .use('babel-loader') - .tap((options) => { - return { - rootMode: 'upward', - } - }) - config.module - .rule('vue') - .use('vue-loader') - .tap((options) => { - return { - prettify: false, - compilerOptions: { - isCustomElement: (tag) => tag.startsWith('rux-'), - }, - } - }) - config.externals(['vue', 'vuetify', 'vuex', 'vue-router']) - }, -} diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tablemanager/.eslintrc.cjs b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tablemanager/.eslintrc.cjs new file mode 100644 index 0000000000..3e278f14fe --- /dev/null +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tablemanager/.eslintrc.cjs @@ -0,0 +1,41 @@ +module.exports = { + root: true, + env: { + node: true, + }, + extends: [ + 'plugin:vue/vue3-essential', + 'plugin:prettier/recommended', + '@vue/prettier', + ], + plugins: ['prettier'], + rules: { + 'no-console': process.env.NODE_ENV === 'production' ? 'error' : 'off', + 'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off', + 'prettier/prettier': [ + 'warn', + { + endOfLine: 'auto', + }, + ], + 'vue/multi-word-component-names': 'off', + 'vue/valid-v-slot': [ + 'error', + { + allowModifiers: true, + }, + ], + }, + parser: 'vue-eslint-parser', + overrides: [ + { + files: [ + '**/__tests__/*.{j,t}s?(x)', + '**/tests/unit/**/*.spec.{j,t}s?(x)', + ], + env: { + jest: true, + }, + }, + ], +} diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tablemanager/.eslintrc.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tablemanager/.eslintrc.js deleted file mode 100644 index c3a051f432..0000000000 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tablemanager/.eslintrc.js +++ /dev/null @@ -1,44 +0,0 @@ -module.exports = { - root: true, - env: { - node: true, - }, - extends: [ - 'plugin:vue/vue3-essential', - 'plugin:prettier/recommended', - '@vue/prettier', - ], - plugins: ['prettier'], - rules: { - 'no-console': process.env.NODE_ENV === 'production' ? 'error' : 'off', - 'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off', - 'prettier/prettier': [ - 'warn', - { - endOfLine: 'auto', - }, - ], - 'vue/multi-word-component-names': 'off', - 'vue/valid-v-slot': [ - 'error', - { - allowModifiers: true, - }, - ], - }, - parser: 'vue-eslint-parser', - parserOptions: { - parser: '@babel/eslint-parser', - }, - overrides: [ - { - files: [ - '**/__tests__/*.{j,t}s?(x)', - '**/tests/unit/**/*.spec.{j,t}s?(x)', - ], - env: { - jest: true, - }, - }, - ], -} diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tablemanager/.prettierrc.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tablemanager/.prettierrc.cjs similarity index 100% rename from openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tablemanager/.prettierrc.js rename to openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tablemanager/.prettierrc.cjs diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tablemanager/babel.config.json b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tablemanager/babel.config.json deleted file mode 100644 index 91fa88dbe0..0000000000 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tablemanager/babel.config.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "presets": ["@vue/cli-plugin-babel/preset"], - "plugins": [ - [ - "babel-plugin-istanbul", - { - "extension": [".js", ".vue"] - } - ] - ] -} diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tablemanager/package.json b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tablemanager/package.json index 43bd810fa5..7705c501c7 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tablemanager/package.json +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tablemanager/package.json @@ -2,13 +2,13 @@ "name": "@openc3/cosmos-tool-tablemanager", "version": "5.21.0-beta0", "private": true, + "type": "module", "scripts": { - "serve": "vue-cli-service serve", - "build": "vue-cli-service build --no-module", - "test:unit": "vue-cli-service test:unit", - "lint": "vue-cli-service lint", - "serve:standalone": "vue-cli-service serve --mode standalone", - "test:components": "vue-cli-service test:components" + "dev": "vite", + "serve": "vite preview", + "build": "vite build", + "lint": "eslint src", + "serve:standalone": "vite preview --mode standalone" }, "dependencies": { "@astrouxds/astro-web-components": "7.24.0", @@ -18,35 +18,22 @@ "lodash": "4.17.21", "single-spa-vue": "3.0.0", "sprintf-js": "1.1.3", - "systemjs-webpack-interop": "2.3.7", "vue": "3.5.4", "vue-router": "4.4.4", "vuetify": "3.7.1", "vuex": "4.1.0" }, "devDependencies": { - "@babel/eslint-parser": "7.25.9", - "@vue/babel-preset-app": "5.0.8", - "@vue/cli": "5.0.8", - "@vue/cli-plugin-babel": "5.0.8", - "@vue/cli-plugin-eslint": "5.0.8", - "@vue/cli-plugin-router": "5.0.8", - "@vue/cli-plugin-vuex": "5.0.8", - "@vue/cli-service": "5.0.8", - "@vue/compiler-sfc": "3.5.4", + "@vitejs/plugin-vue": "5.1.5", "@vue/eslint-config-prettier": "9.0.0", "@vue/test-utils": "2.4.6", - "babel-loader": "9.2.1", - "babel-plugin-istanbul": "7.0.0", "eslint": "8.56.0", "eslint-config-prettier": "9.1.0", "eslint-plugin-prettier": "5.2.1", "eslint-plugin-vue": "9.30.0", "prettier": "3.3.3", "sass": "1.80.4", - "sass-loader": "16.0.2", - "vue-cli-plugin-single-spa": "3.3.0", - "vue-cli-plugin-vuetify": "2.5.8", - "webpack": "5.95.0" + "vite": "5.4.11", + "vite-plugin-single-spa": "0.4.0" } } diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tablemanager/plugin.txt b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tablemanager/plugin.txt index 73327997a7..ef51dc7070 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tablemanager/plugin.txt +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tablemanager/plugin.txt @@ -1,5 +1,5 @@ TOOL tablemanager "Table Manager" - INLINE_URL js/app.js + INLINE_URL main.js ICON mdi-table-furniture POSITION 14 CATEGORY Utilities diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tablemanager/src/main.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tablemanager/src/main.js index 8f23e9de3f..8c71d720fa 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tablemanager/src/main.js +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tablemanager/src/main.js @@ -1,4 +1,3 @@ -import 'systemjs-webpack-interop/auto-public-path/2' import { createApp, h } from 'vue' import singleSpaVue from 'single-spa-vue' diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tablemanager/vite.config.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tablemanager/vite.config.js new file mode 100644 index 0000000000..1ce4e41f50 --- /dev/null +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tablemanager/vite.config.js @@ -0,0 +1,36 @@ +import { resolve } from 'path' +import { defineConfig } from 'vite' +import { vitePluginSingleSpa } from 'vite-plugin-single-spa' +import vue from '@vitejs/plugin-vue' + +const DEFAULT_EXTENSIONS = ['.mjs', '.js', '.ts', '.jsx', '.tsx', '.json'] + +export default defineConfig({ + base: '/tools/tablemanager', + build: { + outDir: 'tools/tablemanager', + emptyOutDir: true, + rollupOptions: { + output: { + format: 'system', + }, + }, + }, + plugins: [ + vue(), + vitePluginSingleSpa({ + type: 'mife', // micro front-end + serverPort: 2916, + spaEntryPoints: 'src/main.js', + }), + ], + resolve: { + alias: { + '@': resolve(__dirname, './src'), + }, + extensions: [...DEFAULT_EXTENSIONS, '.vue'], // not recommended but saves us from having to change every SFC import + }, + optimizeDeps: { + entries: [], // https://github.com/vituum/vituum/issues/25#issuecomment-1690080284 + } +}) diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tablemanager/vue.config.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tablemanager/vue.config.js deleted file mode 100644 index 82728ba3ff..0000000000 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tablemanager/vue.config.js +++ /dev/null @@ -1,46 +0,0 @@ -module.exports = { - publicPath: '/tools/tablemanager', - outputDir: 'tools/tablemanager', - filenameHashing: false, - transpileDependencies: ['vuetify'], - devServer: { - port: 2916, - headers: { - 'Access-Control-Allow-Origin': '*', - }, - client: { - webSocketURL: { - hostname: 'localhost', - pathname: '/tools/tablemanager', - port: 2916, - }, - }, - }, - configureWebpack: { - output: { - libraryTarget: 'system', - }, - }, - chainWebpack(config) { - config.module - .rule('js') - .use('babel-loader') - .tap((options) => { - return { - rootMode: 'upward', - } - }) - config.module - .rule('vue') - .use('vue-loader') - .tap((options) => { - return { - prettify: false, - compilerOptions: { - isCustomElement: (tag) => tag.startsWith('rux-'), - }, - } - }) - config.externals(['vue', 'vuetify', 'vuex', 'vue-router']) - }, -} diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tlmgrapher/.eslintrc.cjs b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tlmgrapher/.eslintrc.cjs new file mode 100644 index 0000000000..3e278f14fe --- /dev/null +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tlmgrapher/.eslintrc.cjs @@ -0,0 +1,41 @@ +module.exports = { + root: true, + env: { + node: true, + }, + extends: [ + 'plugin:vue/vue3-essential', + 'plugin:prettier/recommended', + '@vue/prettier', + ], + plugins: ['prettier'], + rules: { + 'no-console': process.env.NODE_ENV === 'production' ? 'error' : 'off', + 'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off', + 'prettier/prettier': [ + 'warn', + { + endOfLine: 'auto', + }, + ], + 'vue/multi-word-component-names': 'off', + 'vue/valid-v-slot': [ + 'error', + { + allowModifiers: true, + }, + ], + }, + parser: 'vue-eslint-parser', + overrides: [ + { + files: [ + '**/__tests__/*.{j,t}s?(x)', + '**/tests/unit/**/*.spec.{j,t}s?(x)', + ], + env: { + jest: true, + }, + }, + ], +} diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tlmgrapher/.eslintrc.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tlmgrapher/.eslintrc.js deleted file mode 100644 index c3a051f432..0000000000 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tlmgrapher/.eslintrc.js +++ /dev/null @@ -1,44 +0,0 @@ -module.exports = { - root: true, - env: { - node: true, - }, - extends: [ - 'plugin:vue/vue3-essential', - 'plugin:prettier/recommended', - '@vue/prettier', - ], - plugins: ['prettier'], - rules: { - 'no-console': process.env.NODE_ENV === 'production' ? 'error' : 'off', - 'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off', - 'prettier/prettier': [ - 'warn', - { - endOfLine: 'auto', - }, - ], - 'vue/multi-word-component-names': 'off', - 'vue/valid-v-slot': [ - 'error', - { - allowModifiers: true, - }, - ], - }, - parser: 'vue-eslint-parser', - parserOptions: { - parser: '@babel/eslint-parser', - }, - overrides: [ - { - files: [ - '**/__tests__/*.{j,t}s?(x)', - '**/tests/unit/**/*.spec.{j,t}s?(x)', - ], - env: { - jest: true, - }, - }, - ], -} diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tlmgrapher/.prettierrc.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tlmgrapher/.prettierrc.cjs similarity index 100% rename from openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tlmgrapher/.prettierrc.js rename to openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tlmgrapher/.prettierrc.cjs diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tlmgrapher/babel.config.json b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tlmgrapher/babel.config.json deleted file mode 100644 index 91fa88dbe0..0000000000 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tlmgrapher/babel.config.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "presets": ["@vue/cli-plugin-babel/preset"], - "plugins": [ - [ - "babel-plugin-istanbul", - { - "extension": [".js", ".vue"] - } - ] - ] -} diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tlmgrapher/package.json b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tlmgrapher/package.json index faf4f23c80..23f46c17a0 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tlmgrapher/package.json +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tlmgrapher/package.json @@ -2,13 +2,13 @@ "name": "@openc3/cosmos-tool-tlmgrapher", "version": "5.21.0-beta0", "private": true, + "type": "module", "scripts": { - "serve": "vue-cli-service serve", - "build": "vue-cli-service build --no-module", - "test:unit": "vue-cli-service test:unit", - "lint": "vue-cli-service lint", - "serve:standalone": "vue-cli-service serve --mode standalone", - "test:components": "vue-cli-service test:components" + "dev": "vite", + "serve": "vite preview", + "build": "vite build", + "lint": "eslint src", + "serve:standalone": "vite preview --mode standalone" }, "dependencies": { "@astrouxds/astro-web-components": "7.24.0", @@ -20,35 +20,22 @@ "muuri": "0.9.5", "single-spa-vue": "3.0.0", "sprintf-js": "1.1.3", - "systemjs-webpack-interop": "2.3.7", "vue": "3.5.4", "vue-router": "4.4.4", "vuetify": "3.7.1", "vuex": "4.1.0" }, "devDependencies": { - "@babel/eslint-parser": "7.25.9", - "@vue/babel-preset-app": "5.0.8", - "@vue/cli": "5.0.8", - "@vue/cli-plugin-babel": "5.0.8", - "@vue/cli-plugin-eslint": "5.0.8", - "@vue/cli-plugin-router": "5.0.8", - "@vue/cli-plugin-vuex": "5.0.8", - "@vue/cli-service": "5.0.8", - "@vue/compiler-sfc": "3.5.4", + "@vitejs/plugin-vue": "5.1.5", "@vue/eslint-config-prettier": "9.0.0", "@vue/test-utils": "2.4.6", - "babel-loader": "9.2.1", - "babel-plugin-istanbul": "7.0.0", "eslint": "8.56.0", "eslint-config-prettier": "9.1.0", "eslint-plugin-prettier": "5.2.1", "eslint-plugin-vue": "9.30.0", "prettier": "3.3.3", "sass": "1.80.4", - "sass-loader": "16.0.2", - "vue-cli-plugin-single-spa": "3.3.0", - "vue-cli-plugin-vuetify": "2.5.8", - "webpack": "5.95.0" + "vite": "5.4.11", + "vite-plugin-single-spa": "0.4.0" } } diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tlmgrapher/plugin.txt b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tlmgrapher/plugin.txt index a5c4afb52e..fd18e740aa 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tlmgrapher/plugin.txt +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tlmgrapher/plugin.txt @@ -1,4 +1,4 @@ TOOL tlmgrapher "Telemetry Grapher" - INLINE_URL js/app.js + INLINE_URL main.js ICON mdi-chart-line POSITION 8 diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tlmgrapher/src/main.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tlmgrapher/src/main.js index 8f23e9de3f..8c71d720fa 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tlmgrapher/src/main.js +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tlmgrapher/src/main.js @@ -1,4 +1,3 @@ -import 'systemjs-webpack-interop/auto-public-path/2' import { createApp, h } from 'vue' import singleSpaVue from 'single-spa-vue' diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tlmgrapher/vite.config.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tlmgrapher/vite.config.js new file mode 100644 index 0000000000..bba554ee6d --- /dev/null +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tlmgrapher/vite.config.js @@ -0,0 +1,36 @@ +import { resolve } from 'path' +import { defineConfig } from 'vite' +import { vitePluginSingleSpa } from 'vite-plugin-single-spa' +import vue from '@vitejs/plugin-vue' + +const DEFAULT_EXTENSIONS = ['.mjs', '.js', '.ts', '.jsx', '.tsx', '.json'] + +export default defineConfig({ + base: '/tools/tlmgrapher', + build: { + outDir: 'tools/tlmgrapher', + emptyOutDir: true, + rollupOptions: { + output: { + format: 'system', + }, + }, + }, + plugins: [ + vue(), + vitePluginSingleSpa({ + type: 'mife', // micro front-end + serverPort: 2917, + spaEntryPoints: 'src/main.js', + }), + ], + resolve: { + alias: { + '@': resolve(__dirname, './src'), + }, + extensions: [...DEFAULT_EXTENSIONS, '.vue'], // not recommended but saves us from having to change every SFC import + }, + optimizeDeps: { + entries: [], // https://github.com/vituum/vituum/issues/25#issuecomment-1690080284 + } +}) diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tlmgrapher/vue.config.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tlmgrapher/vue.config.js deleted file mode 100644 index ab66ac13d0..0000000000 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tlmgrapher/vue.config.js +++ /dev/null @@ -1,46 +0,0 @@ -module.exports = { - publicPath: '/tools/tlmgrapher', - outputDir: 'tools/tlmgrapher', - filenameHashing: false, - transpileDependencies: ['uplot', 'vuetify'], - devServer: { - port: 2917, - headers: { - 'Access-Control-Allow-Origin': '*', - }, - client: { - webSocketURL: { - hostname: 'localhost', - pathname: '/tools/tlmgrapher', - port: 2917, - }, - }, - }, - configureWebpack: { - output: { - libraryTarget: 'system', - }, - }, - chainWebpack(config) { - config.module - .rule('js') - .use('babel-loader') - .tap((options) => { - return { - rootMode: 'upward', - } - }) - config.module - .rule('vue') - .use('vue-loader') - .tap((options) => { - return { - prettify: false, - compilerOptions: { - isCustomElement: (tag) => tag.startsWith('rux-'), - }, - } - }) - config.externals(['vue', 'vuetify', 'vuex', 'vue-router']) - }, -} diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tlmviewer/.eslintrc.cjs b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tlmviewer/.eslintrc.cjs new file mode 100644 index 0000000000..3e278f14fe --- /dev/null +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tlmviewer/.eslintrc.cjs @@ -0,0 +1,41 @@ +module.exports = { + root: true, + env: { + node: true, + }, + extends: [ + 'plugin:vue/vue3-essential', + 'plugin:prettier/recommended', + '@vue/prettier', + ], + plugins: ['prettier'], + rules: { + 'no-console': process.env.NODE_ENV === 'production' ? 'error' : 'off', + 'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off', + 'prettier/prettier': [ + 'warn', + { + endOfLine: 'auto', + }, + ], + 'vue/multi-word-component-names': 'off', + 'vue/valid-v-slot': [ + 'error', + { + allowModifiers: true, + }, + ], + }, + parser: 'vue-eslint-parser', + overrides: [ + { + files: [ + '**/__tests__/*.{j,t}s?(x)', + '**/tests/unit/**/*.spec.{j,t}s?(x)', + ], + env: { + jest: true, + }, + }, + ], +} diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tlmviewer/.eslintrc.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tlmviewer/.eslintrc.js deleted file mode 100644 index c3a051f432..0000000000 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tlmviewer/.eslintrc.js +++ /dev/null @@ -1,44 +0,0 @@ -module.exports = { - root: true, - env: { - node: true, - }, - extends: [ - 'plugin:vue/vue3-essential', - 'plugin:prettier/recommended', - '@vue/prettier', - ], - plugins: ['prettier'], - rules: { - 'no-console': process.env.NODE_ENV === 'production' ? 'error' : 'off', - 'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off', - 'prettier/prettier': [ - 'warn', - { - endOfLine: 'auto', - }, - ], - 'vue/multi-word-component-names': 'off', - 'vue/valid-v-slot': [ - 'error', - { - allowModifiers: true, - }, - ], - }, - parser: 'vue-eslint-parser', - parserOptions: { - parser: '@babel/eslint-parser', - }, - overrides: [ - { - files: [ - '**/__tests__/*.{j,t}s?(x)', - '**/tests/unit/**/*.spec.{j,t}s?(x)', - ], - env: { - jest: true, - }, - }, - ], -} diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tlmviewer/.prettierrc.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tlmviewer/.prettierrc.cjs similarity index 100% rename from openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tlmviewer/.prettierrc.js rename to openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tlmviewer/.prettierrc.cjs diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tlmviewer/babel.config.json b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tlmviewer/babel.config.json deleted file mode 100644 index 91fa88dbe0..0000000000 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tlmviewer/babel.config.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "presets": ["@vue/cli-plugin-babel/preset"], - "plugins": [ - [ - "babel-plugin-istanbul", - { - "extension": [".js", ".vue"] - } - ] - ] -} diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tlmviewer/package.json b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tlmviewer/package.json index aa3d832d1e..4570d879d0 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tlmviewer/package.json +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tlmviewer/package.json @@ -2,13 +2,13 @@ "name": "@openc3/cosmos-tool-tlmviewer", "version": "5.21.0-beta0", "private": true, + "type": "module", "scripts": { - "serve": "vue-cli-service serve", - "build": "vue-cli-service build --no-module", - "test:unit": "vue-cli-service test:unit", - "lint": "vue-cli-service lint", - "serve:standalone": "vue-cli-service serve --mode standalone", - "test:components": "vue-cli-service test:components" + "dev": "vite", + "serve": "vite preview", + "build": "vite build", + "lint": "eslint src", + "serve:standalone": "vite preview --mode standalone" }, "dependencies": { "@astrouxds/astro-web-components": "7.24.0", @@ -21,35 +21,22 @@ "muuri": "0.9.5", "single-spa-vue": "3.0.0", "sprintf-js": "1.1.3", - "systemjs-webpack-interop": "2.3.7", "vue": "3.5.4", "vue-router": "4.4.4", "vuetify": "3.7.1", "vuex": "4.1.0" }, "devDependencies": { - "@babel/eslint-parser": "7.25.9", - "@vue/babel-preset-app": "5.0.8", - "@vue/cli": "5.0.8", - "@vue/cli-plugin-babel": "5.0.8", - "@vue/cli-plugin-eslint": "5.0.8", - "@vue/cli-plugin-router": "5.0.8", - "@vue/cli-plugin-vuex": "5.0.8", - "@vue/cli-service": "5.0.8", - "@vue/compiler-sfc": "3.5.4", + "@vitejs/plugin-vue": "5.1.5", "@vue/eslint-config-prettier": "9.0.0", "@vue/test-utils": "2.4.6", - "babel-loader": "9.2.1", - "babel-plugin-istanbul": "7.0.0", "eslint": "8.56.0", "eslint-config-prettier": "9.1.0", "eslint-plugin-prettier": "5.2.1", "eslint-plugin-vue": "9.30.0", "prettier": "3.3.3", "sass": "1.80.4", - "sass-loader": "16.0.2", - "vue-cli-plugin-single-spa": "3.3.0", - "vue-cli-plugin-vuetify": "2.5.8", - "webpack": "5.95.0" + "vite": "5.4.11", + "vite-plugin-single-spa": "0.4.0" } } diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tlmviewer/plugin.txt b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tlmviewer/plugin.txt index e0a06d6440..537f49b5dc 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tlmviewer/plugin.txt +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tlmviewer/plugin.txt @@ -1,4 +1,4 @@ TOOL tlmviewer "Telemetry Viewer" - INLINE_URL js/app.js + INLINE_URL main.js ICON mdi-monitor-dashboard POSITION 7 diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tlmviewer/src/main.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tlmviewer/src/main.js index 8f23e9de3f..8c71d720fa 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tlmviewer/src/main.js +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tlmviewer/src/main.js @@ -1,4 +1,3 @@ -import 'systemjs-webpack-interop/auto-public-path/2' import { createApp, h } from 'vue' import singleSpaVue from 'single-spa-vue' diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tlmviewer/vite.config.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tlmviewer/vite.config.js new file mode 100644 index 0000000000..4dfdd6ce5c --- /dev/null +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tlmviewer/vite.config.js @@ -0,0 +1,36 @@ +import { resolve } from 'path' +import { defineConfig } from 'vite' +import { vitePluginSingleSpa } from 'vite-plugin-single-spa' +import vue from '@vitejs/plugin-vue' + +const DEFAULT_EXTENSIONS = ['.mjs', '.js', '.ts', '.jsx', '.tsx', '.json'] + +export default defineConfig({ + base: '/tools/tlmviewer', + build: { + outDir: 'tools/tlmviewer', + emptyOutDir: true, + rollupOptions: { + output: { + format: 'system', + }, + }, + }, + plugins: [ + vue(), + vitePluginSingleSpa({ + type: 'mife', // micro front-end + serverPort: 2920, + spaEntryPoints: 'src/main.js', + }), + ], + resolve: { + alias: { + '@': resolve(__dirname, './src'), + }, + extensions: [...DEFAULT_EXTENSIONS, '.vue'], // not recommended but saves us from having to change every SFC import + }, + optimizeDeps: { + entries: [], // https://github.com/vituum/vituum/issues/25#issuecomment-1690080284 + } +}) diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tlmviewer/vue.config.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tlmviewer/vue.config.js deleted file mode 100644 index 050dc64e2d..0000000000 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tlmviewer/vue.config.js +++ /dev/null @@ -1,46 +0,0 @@ -module.exports = { - publicPath: '/tools/tlmviewer', - outputDir: 'tools/tlmviewer', - filenameHashing: false, - transpileDependencies: ['uplot', 'vuetify'], - devServer: { - port: 2920, - headers: { - 'Access-Control-Allow-Origin': '*', - }, - client: { - webSocketURL: { - hostname: 'localhost', - pathname: '/tools/tlmviewer', - port: 2920, - }, - }, - }, - configureWebpack: { - output: { - libraryTarget: 'system', - }, - }, - chainWebpack(config) { - config.module - .rule('js') - .use('babel-loader') - .tap((options) => { - return { - rootMode: 'upward', - } - }) - config.module - .rule('vue') - .use('vue-loader') - .tap((options) => { - return { - prettify: false, - compilerOptions: { - isCustomElement: (tag) => tag.startsWith('rux-'), - }, - } - }) - config.externals(['vue', 'vuetify', 'vuex', 'vue-router']) - }, -} From f57e0a2db9a3f616be2fdfd4e4234037cc8d0bbd Mon Sep 17 00:00:00 2001 From: Ryan Pratt Date: Fri, 15 Nov 2024 14:24:32 -0700 Subject: [PATCH 04/27] migrate admin to vite --- .../openc3-tool-base/index-allow-http.html | 5 +- .../plugins/openc3-tool-base/index.html | 5 +- .../plugins/openc3-tool-base/package.json | 4 +- .../plugins/openc3-tool-base/vite.config.js | 4 +- .../openc3-cosmos-ace-diff/package.json | 1 + .../{.eslintrc.js => .eslintrc.cjs} | 3 -- .../{.prettierrc.js => .prettierrc.cjs} | 0 .../babel.config.json | 11 ----- .../openc3-cosmos-tool-admin/package.json | 33 ++++--------- .../openc3-cosmos-tool-admin/plugin.txt | 4 +- .../openc3-cosmos-tool-admin/src/main.js | 1 - .../openc3-cosmos-tool-admin/vite.config.js | 36 +++++++++++++++ .../openc3-cosmos-tool-admin/vue.config.js | 46 ------------------- .../vite.config.js | 4 +- .../vite.config.js | 4 +- .../vite.config.js | 2 +- .../vite.config.js | 4 +- .../vite.config.js | 4 +- .../vite.config.js | 4 +- .../openc3-cosmos-tool-iframe/vite.config.js | 4 +- .../vite.config.js | 4 +- .../vite.config.js | 4 +- .../vite.config.js | 4 +- .../vite.config.js | 4 +- .../vite.config.js | 4 +- .../vite.config.js | 4 +- .../src/tools/admin/PluginDialog.vue | 2 +- 27 files changed, 82 insertions(+), 123 deletions(-) rename openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-admin/{.eslintrc.js => .eslintrc.cjs} (93%) rename openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-admin/{.prettierrc.js => .prettierrc.cjs} (100%) delete mode 100644 openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-admin/babel.config.json create mode 100644 openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-admin/vite.config.js delete mode 100644 openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-admin/vue.config.js diff --git a/openc3-cosmos-init/plugins/openc3-tool-base/index-allow-http.html b/openc3-cosmos-init/plugins/openc3-tool-base/index-allow-http.html index bc2e6c8489..36d10fae04 100644 --- a/openc3-cosmos-init/plugins/openc3-tool-base/index-allow-http.html +++ b/openc3-cosmos-init/plugins/openc3-tool-base/index-allow-http.html @@ -47,7 +47,8 @@ "vue": "/js/vue-3.5.4.min.js", "vuetify": "/js/vuetify-3.7.1.min.js", "vue-router": "/js/vue-router-4.4.4.min.js", - "vuex": "/js/vuex-4.1.0.min.js" + "vuex": "/js/vuex-4.1.0.min.js", + "openc3-tool-base": "/openc3-tool-base.js" } } @@ -88,8 +89,6 @@ System.set(System.resolve('vue'), window.Vue) System.set(System.resolve('vue-router'), window.VueRouter) return System.import('vuetify') - }).then(function () { - // System.import('openc3-tool-base') }) })() diff --git a/openc3-cosmos-init/plugins/openc3-tool-base/index.html b/openc3-cosmos-init/plugins/openc3-tool-base/index.html index dcef22a11d..7794335b39 100644 --- a/openc3-cosmos-init/plugins/openc3-tool-base/index.html +++ b/openc3-cosmos-init/plugins/openc3-tool-base/index.html @@ -47,7 +47,8 @@ "vue": "/js/vue-3.5.4.min.js", "vuetify": "/js/vuetify-3.7.1.min.js", "vue-router": "/js/vue-router-4.4.4.min.js", - "vuex": "/js/vuex-4.1.0.min.js" + "vuex": "/js/vuex-4.1.0.min.js", + "openc3-tool-base": "/openc3-tool-base.js" } } @@ -88,8 +89,6 @@ System.set(System.resolve('vue'), window.Vue) System.set(System.resolve('vue-router'), window.VueRouter) return System.import('vuetify') - }).then(function () { - // System.import('openc3-tool-base') }) })() diff --git a/openc3-cosmos-init/plugins/openc3-tool-base/package.json b/openc3-cosmos-init/plugins/openc3-tool-base/package.json index 048b3ce2c1..b9302dca2b 100644 --- a/openc3-cosmos-init/plugins/openc3-tool-base/package.json +++ b/openc3-cosmos-init/plugins/openc3-tool-base/package.json @@ -3,8 +3,8 @@ "version": "5.21.0-beta0", "type": "module", "scripts": { - "dev": "vite --port 2910", - "serve": "vite preview --port 2910", + "dev": "vite", + "serve": "vite preview", "lint": "eslint src --ext js", "format": "prettier --write \"./**\"", "build": "vite build" diff --git a/openc3-cosmos-init/plugins/openc3-tool-base/vite.config.js b/openc3-cosmos-init/plugins/openc3-tool-base/vite.config.js index 00e5dc478e..5024490289 100644 --- a/openc3-cosmos-init/plugins/openc3-tool-base/vite.config.js +++ b/openc3-cosmos-init/plugins/openc3-tool-base/vite.config.js @@ -12,8 +12,8 @@ export default defineConfig({ copyPublicDir: true, }, rollupOptions: { - input: "src/openc3-tool-base.js", - format: "system", + input: 'src/openc3-tool-base.js', + format: 'systemjs', preserveEntrySignatures: true, }, plugins: [ diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-ace-diff/package.json b/openc3-cosmos-init/plugins/packages/openc3-cosmos-ace-diff/package.json index 7852cc4162..87b8b04e54 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-ace-diff/package.json +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-ace-diff/package.json @@ -20,6 +20,7 @@ "devDependencies": { "@babel/core": "^7.26.0", "@babel/plugin-proposal-class-properties": "7.18.6", + "@babel/plugin-syntax-dynamic-import": "7.8.3", "@babel/plugin-transform-runtime": "7.25.9", "@babel/preset-env": "^7.26.0", "@babel/runtime": "7.26.0", diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-admin/.eslintrc.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-admin/.eslintrc.cjs similarity index 93% rename from openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-admin/.eslintrc.js rename to openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-admin/.eslintrc.cjs index c3a051f432..3e278f14fe 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-admin/.eslintrc.js +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-admin/.eslintrc.cjs @@ -27,9 +27,6 @@ module.exports = { ], }, parser: 'vue-eslint-parser', - parserOptions: { - parser: '@babel/eslint-parser', - }, overrides: [ { files: [ diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-admin/.prettierrc.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-admin/.prettierrc.cjs similarity index 100% rename from openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-admin/.prettierrc.js rename to openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-admin/.prettierrc.cjs diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-admin/babel.config.json b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-admin/babel.config.json deleted file mode 100644 index 91fa88dbe0..0000000000 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-admin/babel.config.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "presets": ["@vue/cli-plugin-babel/preset"], - "plugins": [ - [ - "babel-plugin-istanbul", - { - "extension": [".js", ".vue"] - } - ] - ] -} diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-admin/package.json b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-admin/package.json index 063bcb9ba4..1f8facd34b 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-admin/package.json +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-admin/package.json @@ -2,51 +2,36 @@ "name": "@openc3/cosmos-tool-admin", "version": "5.21.0-beta0", "private": true, + "type": "module", "scripts": { - "serve": "vue-cli-service serve", - "build": "vue-cli-service build --no-module", - "test:unit": "vue-cli-service test:unit", - "lint": "vue-cli-service lint", - "serve:standalone": "vue-cli-service serve --mode standalone", - "test:components": "vue-cli-service test:components" + "dev": "vite", + "serve": "vite preview", + "build": "vite build", + "lint": "eslint src", + "serve:standalone": "vite preview --mode standalone" }, "dependencies": { "@astrouxds/astro-web-components": "7.24.0", "@openc3/ace-diff": "5.21.0-beta0", "@openc3/tool-common": "5.21.0-beta0", "ace-builds": "1.36.3", - "portal-vue": "2.1.7", "single-spa-vue": "3.0.0", - "systemjs-webpack-interop": "2.3.7", "vue": "3.5.4", "vue-router": "4.4.4", "vuetify": "3.7.1", "vuex": "4.1.0" }, "devDependencies": { - "@babel/eslint-parser": "7.25.9", - "@vue/babel-preset-app": "5.0.8", - "@vue/cli": "5.0.8", - "@vue/cli-plugin-babel": "5.0.8", - "@vue/cli-plugin-eslint": "5.0.8", - "@vue/cli-plugin-router": "5.0.8", - "@vue/cli-plugin-vuex": "5.0.8", - "@vue/cli-service": "5.0.8", - "@vue/compiler-sfc": "3.5.4", + "@vitejs/plugin-vue": "5.1.5", "@vue/eslint-config-prettier": "9.0.0", "@vue/test-utils": "2.4.6", - "babel-loader": "9.2.1", - "babel-plugin-istanbul": "7.0.0", "eslint": "8.56.0", "eslint-config-prettier": "9.1.0", "eslint-plugin-prettier": "5.2.1", "eslint-plugin-vue": "9.30.0", - "html-webpack-plugin": "5.6.3", "prettier": "3.3.3", "sass": "1.80.4", - "sass-loader": "16.0.2", - "vue-cli-plugin-single-spa": "3.3.0", - "vue-cli-plugin-vuetify": "2.5.8", - "webpack": "5.95.0" + "vite": "5.4.11", + "vite-plugin-single-spa": "0.4.0" } } diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-admin/plugin.txt b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-admin/plugin.txt index c25f0f6ce1..3f93b74637 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-admin/plugin.txt +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-admin/plugin.txt @@ -1,4 +1,4 @@ TOOL admin Admin - INLINE_URL js/app.js + INLINE_URL main.js CATEGORY Admin - POSITION 1 # Special position at top that doesn't change \ No newline at end of file + POSITION 1 # Special position at top that doesn't change diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-admin/src/main.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-admin/src/main.js index 8f23e9de3f..8c71d720fa 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-admin/src/main.js +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-admin/src/main.js @@ -1,4 +1,3 @@ -import 'systemjs-webpack-interop/auto-public-path/2' import { createApp, h } from 'vue' import singleSpaVue from 'single-spa-vue' diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-admin/vite.config.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-admin/vite.config.js new file mode 100644 index 0000000000..cf5f3d6441 --- /dev/null +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-admin/vite.config.js @@ -0,0 +1,36 @@ +import { resolve } from 'path' +import { defineConfig } from 'vite' +import { vitePluginSingleSpa } from 'vite-plugin-single-spa' +import vue from '@vitejs/plugin-vue' + +const DEFAULT_EXTENSIONS = ['.mjs', '.js', '.ts', '.jsx', '.tsx', '.json'] + +export default defineConfig({ + base: '/tools/admin', + build: { + outDir: 'tools/admin', + emptyOutDir: true, + rollupOptions: { + output: { + format: 'systemjs', + }, + }, + }, + plugins: [ + vue(), + vitePluginSingleSpa({ + type: 'mife', // micro front-end + serverPort: 2930, + spaEntryPoints: 'src/main.js', + }), + ], + resolve: { + alias: { + '@': resolve(__dirname, './src'), + }, + extensions: [...DEFAULT_EXTENSIONS, '.vue'], // not recommended but saves us from having to change every SFC import + }, + optimizeDeps: { + entries: [], // https://github.com/vituum/vituum/issues/25#issuecomment-1690080284 + }, +}) diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-admin/vue.config.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-admin/vue.config.js deleted file mode 100644 index 2d5df1da20..0000000000 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-admin/vue.config.js +++ /dev/null @@ -1,46 +0,0 @@ -module.exports = { - publicPath: '/tools/admin', - outputDir: 'tools/admin', - filenameHashing: false, - transpileDependencies: ['vuetify'], - devServer: { - port: 2930, - headers: { - 'Access-Control-Allow-Origin': '*', - }, - client: { - webSocketURL: { - hostname: 'localhost', - pathname: '/tools/admin', - port: 2930, - }, - }, - }, - configureWebpack: { - output: { - libraryTarget: 'system', - }, - }, - chainWebpack(config) { - config.module - .rule('js') - .use('babel-loader') - .tap((options) => { - return { - rootMode: 'upward', - } - }) - config.module - .rule('vue') - .use('vue-loader') - .tap((options) => { - return { - prettify: false, - compilerOptions: { - isCustomElement: (tag) => tag.startsWith('rux-'), - }, - } - }) - config.externals(['vue', 'vuetify', 'vuex', 'vue-router']) - }, -} diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-bucketexplorer/vite.config.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-bucketexplorer/vite.config.js index 030dd4442e..54d277ef1f 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-bucketexplorer/vite.config.js +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-bucketexplorer/vite.config.js @@ -12,7 +12,7 @@ export default defineConfig({ emptyOutDir: true, rollupOptions: { output: { - format: 'system', + format: 'systemjs', }, }, }, @@ -32,5 +32,5 @@ export default defineConfig({ }, optimizeDeps: { entries: [], // https://github.com/vituum/vituum/issues/25#issuecomment-1690080284 - } + }, }) diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdsender/vite.config.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdsender/vite.config.js index 9091a9876f..64b7ba937f 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdsender/vite.config.js +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdsender/vite.config.js @@ -12,7 +12,7 @@ export default defineConfig({ emptyOutDir: true, rollupOptions: { output: { - format: 'system', + format: 'systemjs', }, }, }, @@ -32,5 +32,5 @@ export default defineConfig({ }, optimizeDeps: { entries: [], // https://github.com/vituum/vituum/issues/25#issuecomment-1690080284 - } + }, }) diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdtlmserver/vite.config.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdtlmserver/vite.config.js index 6405d46f5e..f97fba73dc 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdtlmserver/vite.config.js +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdtlmserver/vite.config.js @@ -12,7 +12,7 @@ export default defineConfig({ emptyOutDir: true, rollupOptions: { output: { - format: 'system', + format: 'systemjs', }, }, }, diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-dataextractor/vite.config.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-dataextractor/vite.config.js index 2f5f1f4c8a..e84d3c3eb3 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-dataextractor/vite.config.js +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-dataextractor/vite.config.js @@ -12,7 +12,7 @@ export default defineConfig({ emptyOutDir: true, rollupOptions: { output: { - format: 'system', + format: 'systemjs', }, }, }, @@ -32,5 +32,5 @@ export default defineConfig({ }, optimizeDeps: { entries: [], // https://github.com/vituum/vituum/issues/25#issuecomment-1690080284 - } + }, }) diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-dataviewer/vite.config.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-dataviewer/vite.config.js index 8f95504b43..f1e6085056 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-dataviewer/vite.config.js +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-dataviewer/vite.config.js @@ -12,7 +12,7 @@ export default defineConfig({ emptyOutDir: true, rollupOptions: { output: { - format: 'system', + format: 'systemjs', }, }, }, @@ -32,5 +32,5 @@ export default defineConfig({ }, optimizeDeps: { entries: [], // https://github.com/vituum/vituum/issues/25#issuecomment-1690080284 - } + }, }) diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-handbooks/vite.config.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-handbooks/vite.config.js index 5f7db9e167..afa2b79df2 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-handbooks/vite.config.js +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-handbooks/vite.config.js @@ -12,7 +12,7 @@ export default defineConfig({ emptyOutDir: true, rollupOptions: { output: { - format: 'system', + format: 'systemjs', }, }, }, @@ -32,5 +32,5 @@ export default defineConfig({ }, optimizeDeps: { entries: [], // https://github.com/vituum/vituum/issues/25#issuecomment-1690080284 - } + }, }) diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-iframe/vite.config.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-iframe/vite.config.js index 780bde586d..761cf35892 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-iframe/vite.config.js +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-iframe/vite.config.js @@ -12,7 +12,7 @@ export default defineConfig({ emptyOutDir: true, rollupOptions: { output: { - format: 'system', + format: 'systemjs', }, }, }, @@ -32,5 +32,5 @@ export default defineConfig({ }, optimizeDeps: { entries: [], // https://github.com/vituum/vituum/issues/25#issuecomment-1690080284 - } + }, }) diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-limitsmonitor/vite.config.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-limitsmonitor/vite.config.js index 0f19c880e2..dddc6e5b70 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-limitsmonitor/vite.config.js +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-limitsmonitor/vite.config.js @@ -12,7 +12,7 @@ export default defineConfig({ emptyOutDir: true, rollupOptions: { output: { - format: 'system', + format: 'systemjs', }, }, }, @@ -32,5 +32,5 @@ export default defineConfig({ }, optimizeDeps: { entries: [], // https://github.com/vituum/vituum/issues/25#issuecomment-1690080284 - } + }, }) diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-packetviewer/vite.config.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-packetviewer/vite.config.js index c9ce5b9490..a82a5a1dd6 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-packetviewer/vite.config.js +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-packetviewer/vite.config.js @@ -12,7 +12,7 @@ export default defineConfig({ emptyOutDir: true, rollupOptions: { output: { - format: 'system', + format: 'systemjs', }, }, }, @@ -32,5 +32,5 @@ export default defineConfig({ }, optimizeDeps: { entries: [], // https://github.com/vituum/vituum/issues/25#issuecomment-1690080284 - } + }, }) diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-scriptrunner/vite.config.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-scriptrunner/vite.config.js index e96d7fbede..6918844c43 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-scriptrunner/vite.config.js +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-scriptrunner/vite.config.js @@ -12,7 +12,7 @@ export default defineConfig({ emptyOutDir: true, rollupOptions: { output: { - format: 'system', + format: 'systemjs', }, }, }, @@ -32,5 +32,5 @@ export default defineConfig({ }, optimizeDeps: { entries: [], // https://github.com/vituum/vituum/issues/25#issuecomment-1690080284 - } + }, }) diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tablemanager/vite.config.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tablemanager/vite.config.js index 1ce4e41f50..1b1f0e8c90 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tablemanager/vite.config.js +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tablemanager/vite.config.js @@ -12,7 +12,7 @@ export default defineConfig({ emptyOutDir: true, rollupOptions: { output: { - format: 'system', + format: 'systemjs', }, }, }, @@ -32,5 +32,5 @@ export default defineConfig({ }, optimizeDeps: { entries: [], // https://github.com/vituum/vituum/issues/25#issuecomment-1690080284 - } + }, }) diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tlmgrapher/vite.config.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tlmgrapher/vite.config.js index bba554ee6d..870600ec84 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tlmgrapher/vite.config.js +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tlmgrapher/vite.config.js @@ -12,7 +12,7 @@ export default defineConfig({ emptyOutDir: true, rollupOptions: { output: { - format: 'system', + format: 'systemjs', }, }, }, @@ -32,5 +32,5 @@ export default defineConfig({ }, optimizeDeps: { entries: [], // https://github.com/vituum/vituum/issues/25#issuecomment-1690080284 - } + }, }) diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tlmviewer/vite.config.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tlmviewer/vite.config.js index 4dfdd6ce5c..889a1f2e2f 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tlmviewer/vite.config.js +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tlmviewer/vite.config.js @@ -12,7 +12,7 @@ export default defineConfig({ emptyOutDir: true, rollupOptions: { output: { - format: 'system', + format: 'systemjs', }, }, }, @@ -32,5 +32,5 @@ export default defineConfig({ }, optimizeDeps: { entries: [], // https://github.com/vituum/vituum/issues/25#issuecomment-1690080284 - } + }, }) diff --git a/openc3-cosmos-init/plugins/packages/openc3-tool-common/src/tools/admin/PluginDialog.vue b/openc3-cosmos-init/plugins/packages/openc3-tool-common/src/tools/admin/PluginDialog.vue index 9973367f78..0e462f5f96 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-tool-common/src/tools/admin/PluginDialog.vue +++ b/openc3-cosmos-init/plugins/packages/openc3-tool-common/src/tools/admin/PluginDialog.vue @@ -118,7 +118,7 @@ import 'ace-builds/src-min-noconflict/mode-ruby' import 'ace-builds/src-min-noconflict/theme-twilight' import 'ace-builds/src-min-noconflict/ext-language_tools' import 'ace-builds/src-min-noconflict/ext-searchbox' -import AceDiff from '@openc3/ace-diff' +import * as AceDiff from '@openc3/ace-diff' import '@openc3/ace-diff/dist/ace-diff.min.css' import '@openc3/ace-diff/dist/ace-diff-dark.min.css' import { toRaw } from 'vue' From 9b399f65842536a709e10bae7c667f6b16200613 Mon Sep 17 00:00:00 2001 From: Ryan Pratt Date: Mon, 18 Nov 2024 18:38:36 -0700 Subject: [PATCH 05/27] fix graph styles and widgets --- .../src/components/Graph.vue | 2 +- .../components/widgets/WidgetComponents.js | 22 ++++++------------- 2 files changed, 8 insertions(+), 16 deletions(-) diff --git a/openc3-cosmos-init/plugins/packages/openc3-tool-common/src/components/Graph.vue b/openc3-cosmos-init/plugins/packages/openc3-tool-common/src/components/Graph.vue index cb2019e110..44ef125a7f 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-tool-common/src/components/Graph.vue +++ b/openc3-cosmos-init/plugins/packages/openc3-tool-common/src/components/Graph.vue @@ -323,7 +323,7 @@ import bs from 'binary-search' import Cable from '../services/cable.js' import TimeFilters from '@openc3/tool-common/src/tools/base/util/timeFilters.js' -require('uplot/dist/uPlot.min.css') +import 'uplot/dist/uPlot.min.css' export default { components: { diff --git a/openc3-cosmos-init/plugins/packages/openc3-tool-common/src/components/widgets/WidgetComponents.js b/openc3-cosmos-init/plugins/packages/openc3-tool-common/src/components/widgets/WidgetComponents.js index 1549e41a94..4a5b6c74e6 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-tool-common/src/components/widgets/WidgetComponents.js +++ b/openc3-cosmos-init/plugins/packages/openc3-tool-common/src/components/widgets/WidgetComponents.js @@ -20,17 +20,8 @@ import { defineAsyncComponent } from 'vue' import upperFirst from 'lodash/upperFirst' import camelCase from 'lodash/camelCase' -// Globally register all XxxWidget.vue components -const requireComponent = require.context( - // The relative path of the components folder - '@openc3/tool-common/src/components/widgets', - // Whether or not to look in subfolders - false, - // The regular expression used to match base component filenames - /[A-Z][a-z]+Widget\.vue$/, -) -const components = {} -requireComponent.keys().map((filename) => { +const componentImports = import.meta.glob('./*Widget.vue') +const components = Object.entries(componentImports).reduce((acc, [filename, importFunction]) => { filename = filename.split('/').pop() // trims off the leading './' // Get PascalCase name of component const componentName = upperFirst( @@ -39,10 +30,11 @@ requireComponent.keys().map((filename) => { ), ) // Register component locally - components[componentName] = defineAsyncComponent( - () => import(`@openc3/tool-common/src/components/widgets/${filename}`), - ) -}) + return { + ...acc, + [componentName]: defineAsyncComponent(importFunction), + } +}, {}) export default { components, From 5be3a76c2b8ca80839e0eaf2a4c6a04a435922d4 Mon Sep 17 00:00:00 2001 From: Ryan Pratt Date: Mon, 18 Nov 2024 20:02:22 -0700 Subject: [PATCH 06/27] partial work migrating demo to vite --- .../{.eslintrc.js => .eslintrc.cjs} | 3 - .../{.prettierrc.js => .prettierrc.cjs} | 0 .../openc3-cosmos-demo/babel.config.json | 11 ---- .../packages/openc3-cosmos-demo/package.json | 23 +++---- .../vite-BigWidget.config.js | 65 +++++++++++++++++++ .../vite-DataviewerquaternionWidget.config.js | 32 +++++++++ .../vite-DataviewertimeWidget.config.js | 32 +++++++++ .../vite-HelloworldWidget.config.js | 32 +++++++++ .../packages/openc3-cosmos-demo/vue.config.js | 28 -------- 9 files changed, 170 insertions(+), 56 deletions(-) rename openc3-cosmos-init/plugins/packages/openc3-cosmos-demo/{.eslintrc.js => .eslintrc.cjs} (93%) rename openc3-cosmos-init/plugins/packages/openc3-cosmos-demo/{.prettierrc.js => .prettierrc.cjs} (100%) delete mode 100644 openc3-cosmos-init/plugins/packages/openc3-cosmos-demo/babel.config.json create mode 100644 openc3-cosmos-init/plugins/packages/openc3-cosmos-demo/vite-BigWidget.config.js create mode 100644 openc3-cosmos-init/plugins/packages/openc3-cosmos-demo/vite-DataviewerquaternionWidget.config.js create mode 100644 openc3-cosmos-init/plugins/packages/openc3-cosmos-demo/vite-DataviewertimeWidget.config.js create mode 100644 openc3-cosmos-init/plugins/packages/openc3-cosmos-demo/vite-HelloworldWidget.config.js delete mode 100644 openc3-cosmos-init/plugins/packages/openc3-cosmos-demo/vue.config.js diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-demo/.eslintrc.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-demo/.eslintrc.cjs similarity index 93% rename from openc3-cosmos-init/plugins/packages/openc3-cosmos-demo/.eslintrc.js rename to openc3-cosmos-init/plugins/packages/openc3-cosmos-demo/.eslintrc.cjs index c3a051f432..3e278f14fe 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-demo/.eslintrc.js +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-demo/.eslintrc.cjs @@ -27,9 +27,6 @@ module.exports = { ], }, parser: 'vue-eslint-parser', - parserOptions: { - parser: '@babel/eslint-parser', - }, overrides: [ { files: [ diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-demo/.prettierrc.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-demo/.prettierrc.cjs similarity index 100% rename from openc3-cosmos-init/plugins/packages/openc3-cosmos-demo/.prettierrc.js rename to openc3-cosmos-init/plugins/packages/openc3-cosmos-demo/.prettierrc.cjs diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-demo/babel.config.json b/openc3-cosmos-init/plugins/packages/openc3-cosmos-demo/babel.config.json deleted file mode 100644 index 91fa88dbe0..0000000000 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-demo/babel.config.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "presets": ["@vue/cli-plugin-babel/preset"], - "plugins": [ - [ - "babel-plugin-istanbul", - { - "extension": [".js", ".vue"] - } - ] - ] -} diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-demo/package.json b/openc3-cosmos-init/plugins/packages/openc3-cosmos-demo/package.json index b0f25343be..163481cb42 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-demo/package.json +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-demo/package.json @@ -2,35 +2,30 @@ "name": "widgets_src", "version": "5.21.0-beta0", "private": true, + "type": "module", "scripts": { - "build": "vue-cli-service build --target lib --dest tools/widgets/HelloworldWidget --formats umd-min src/HelloworldWidget.vue --name HelloworldWidget && vue-cli-service build --target lib --dest tools/widgets/BigWidget --formats umd-min src/BigWidget.vue --name BigWidget && vue-cli-service build --target lib --dest tools/widgets/DataviewertimeWidget --formats umd-min src/DataviewertimeWidget.vue --name DataviewertimeWidget && vue-cli-service build --target lib --dest tools/widgets/DataviewerquaternionWidget --formats umd-min src/DataviewerquaternionWidget.vue --name DataviewerquaternionWidget" + "build": "vite build -c vite-HelloworldWidget.config.js && vite build -c vite-BigWidget.config.js && vite build -c vite-DataviewerquaternionWidget.config.js && vite build -c vite-DataviewertimeWidget.config.js" }, "dependencies": { "@astrouxds/astro-web-components": "7.24.0", - "@openc3/tool-common": "5.21.0-beta0", + "@openc3/tool-common": "5.21.0-beta0" + }, + "peerDependencies": { "vue": "3.5.4", "vuetify": "3.7.1" }, "devDependencies": { - "@babel/eslint-parser": "7.25.9", + "@originjs/vite-plugin-federation": "1.3.6", "@rushstack/eslint-patch": "1.10.4", - "@vue/babel-preset-app": "5.0.8", - "@vue/cli": "5.0.8", - "@vue/cli-plugin-babel": "5.0.8", - "@vue/cli-plugin-eslint": "5.0.8", - "@vue/cli-service": "5.0.8", - "@vue/compiler-sfc": "3.5.4", + "@vitejs/plugin-vue": "5.1.5", "@vue/eslint-config-prettier": "9.0.0", - "babel-loader": "9.2.1", - "babel-plugin-istanbul": "7.0.0", "eslint": "8.56.0", "eslint-config-prettier": "9.1.0", "eslint-plugin-prettier": "5.2.1", "eslint-plugin-vue": "9.30.0", "prettier": "3.3.3", "sass": "1.80.4", - "sass-loader": "16.0.2", - "vue-cli-plugin-vuetify": "2.5.8", - "webpack": "5.95.0" + "vite": "5.4.11", + "vite-plugin-style-inject": "0.0.1" } } diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-demo/vite-BigWidget.config.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-demo/vite-BigWidget.config.js new file mode 100644 index 0000000000..c8a7a42d34 --- /dev/null +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-demo/vite-BigWidget.config.js @@ -0,0 +1,65 @@ +import { defineConfig } from 'vite' +import federation from '@originjs/vite-plugin-federation' +import VitePluginStyleInject from 'vite-plugin-style-inject' +import vue from '@vitejs/plugin-vue' + +const DEFAULT_EXTENSIONS = ['.mjs', '.js', '.ts', '.jsx', '.tsx', '.json'] + +export default defineConfig({ + build: { + outDir: 'tools/widgets/BigWidget', + emptyOutDir: true, + sourcemap: true, + /* + lib: { + entry: './src/BigWidget.vue', + name: 'BigWidget', + fileName: (format, entryName) => `${entryName}.${format}.min.js`, + formats: ['umd'], + }, + */ + rollupOptions: { + input: ['./src/BigWidget.vue'], + output: { + entryFileNames: 'BigWidget.umd.min.js', + format: 'umd', + /* + globals: { + vue: 'Vue', + vuetify: 'Vuetify', + }, + */ + }, + // external: ['vue', 'vuetify'], + }, + }, + plugins: [ + vue(), + /* + federation({ + name: 'BigWidget', + filename: 'BigWidget.umd.min.js', + exposes: { + './BigWidget': './src/BigWidget.vue', + }, + }), + */ + VitePluginStyleInject(), + ], + resolve: { + extensions: [...DEFAULT_EXTENSIONS, '.vue'], // not recommended but saves us from having to change every SFC import + // dedupe: ['vue'], + /* + alias: { + vue: 'window.Vue', + vuetify: 'window.Vuetify', + }, + */ + }, + /* + optimizeDeps: { + entries: [], + // exclude: ['vue', 'vuetify'], + }, + */ +}) diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-demo/vite-DataviewerquaternionWidget.config.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-demo/vite-DataviewerquaternionWidget.config.js new file mode 100644 index 0000000000..a2b21bef27 --- /dev/null +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-demo/vite-DataviewerquaternionWidget.config.js @@ -0,0 +1,32 @@ +import { defineConfig } from 'vite' +import VitePluginStyleInject from 'vite-plugin-style-inject' +import vue from '@vitejs/plugin-vue' + +const DEFAULT_EXTENSIONS = ['.mjs', '.js', '.ts', '.jsx', '.tsx', '.json'] + +export default defineConfig({ + build: { + outDir: 'tools/widgets/DataviewerquaternionWidget', + emptyOutDir: true, + sourcemap: true, + lib: { + entry: './src/DataviewerquaternionWidget.vue', + name: 'DataviewerquaternionWidget', + fileName: (format, entryName) => `${entryName}.${format}.min.js`, + formats: ['umd'], + }, + rollupOptions: { + output: { + globals: { + vue: 'Vue', + vuetify: 'Vuetify', + }, + }, + external: ['vue', 'vuetify'], + }, + }, + plugins: [vue(), VitePluginStyleInject()], + resolve: { + extensions: [...DEFAULT_EXTENSIONS, '.vue'], // not recommended but saves us from having to change every SFC import + }, +}) diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-demo/vite-DataviewertimeWidget.config.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-demo/vite-DataviewertimeWidget.config.js new file mode 100644 index 0000000000..52ad9412b7 --- /dev/null +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-demo/vite-DataviewertimeWidget.config.js @@ -0,0 +1,32 @@ +import { defineConfig } from 'vite' +import VitePluginStyleInject from 'vite-plugin-style-inject' +import vue from '@vitejs/plugin-vue' + +const DEFAULT_EXTENSIONS = ['.mjs', '.js', '.ts', '.jsx', '.tsx', '.json'] + +export default defineConfig({ + build: { + outDir: 'tools/widgets/DataviewertimeWidget', + emptyOutDir: true, + sourcemap: true, + lib: { + entry: './src/DataviewertimeWidget.vue', + name: 'DataviewertimeWidget', + fileName: (format, entryName) => `${entryName}.${format}.min.js`, + formats: ['umd'], + }, + rollupOptions: { + output: { + globals: { + vue: 'Vue', + vuetify: 'Vuetify', + }, + }, + external: ['vue', 'vuetify'], + }, + }, + plugins: [vue(), VitePluginStyleInject()], + resolve: { + extensions: [...DEFAULT_EXTENSIONS, '.vue'], // not recommended but saves us from having to change every SFC import + }, +}) diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-demo/vite-HelloworldWidget.config.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-demo/vite-HelloworldWidget.config.js new file mode 100644 index 0000000000..4e4ac4ccac --- /dev/null +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-demo/vite-HelloworldWidget.config.js @@ -0,0 +1,32 @@ +import { defineConfig } from 'vite' +import VitePluginStyleInject from 'vite-plugin-style-inject' +import vue from '@vitejs/plugin-vue' + +const DEFAULT_EXTENSIONS = ['.mjs', '.js', '.ts', '.jsx', '.tsx', '.json'] + +export default defineConfig({ + build: { + outDir: 'tools/widgets/HelloworldWidget', + emptyOutDir: true, + sourcemap: true, + lib: { + entry: './src/HelloworldWidget.vue', + name: 'HelloworldWidget', + fileName: (format, entryName) => `${entryName}.${format}.min.js`, + formats: ['umd'], + }, + rollupOptions: { + output: { + globals: { + vue: 'Vue', + vuetify: 'Vuetify', + }, + }, + external: ['vue', 'vuetify'], + }, + }, + plugins: [vue(), VitePluginStyleInject()], + resolve: { + extensions: [...DEFAULT_EXTENSIONS, '.vue'], // not recommended but saves us from having to change every SFC import + }, +}) diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-demo/vue.config.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-demo/vue.config.js deleted file mode 100644 index f49bf2decc..0000000000 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-demo/vue.config.js +++ /dev/null @@ -1,28 +0,0 @@ -const path = require('path') - -module.exports = { - css: { - extract: false, - }, - filenameHashing: false, - transpileDependencies: ['vuetify'], - chainWebpack(config) { - config.module - .rule('js') - .use('babel-loader') - .tap((options) => { - return { - rootMode: 'upward', - } - }) - config.module - .rule('vue') - .use('vue-loader') - .tap((options) => { - return { - prettify: false, - } - }) - config.externals(['vue', 'vuetify', 'vuex', 'vue-router']) - }, -} From 9ca65137735a780ddecd97a32d52dba103507842 Mon Sep 17 00:00:00 2001 From: Ryan Pratt Date: Tue, 19 Nov 2024 13:23:15 -0700 Subject: [PATCH 07/27] partial work --- .../packages/openc3-cosmos-demo/package.json | 1 - .../openc3-cosmos-demo/vite-BigWidget.config.js | 13 ++++--------- 2 files changed, 4 insertions(+), 10 deletions(-) diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-demo/package.json b/openc3-cosmos-init/plugins/packages/openc3-cosmos-demo/package.json index 163481cb42..2db91d26ef 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-demo/package.json +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-demo/package.json @@ -15,7 +15,6 @@ "vuetify": "3.7.1" }, "devDependencies": { - "@originjs/vite-plugin-federation": "1.3.6", "@rushstack/eslint-patch": "1.10.4", "@vitejs/plugin-vue": "5.1.5", "@vue/eslint-config-prettier": "9.0.0", diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-demo/vite-BigWidget.config.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-demo/vite-BigWidget.config.js index c8a7a42d34..9f998a72ce 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-demo/vite-BigWidget.config.js +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-demo/vite-BigWidget.config.js @@ -1,5 +1,4 @@ import { defineConfig } from 'vite' -import federation from '@originjs/vite-plugin-federation' import VitePluginStyleInject from 'vite-plugin-style-inject' import vue from '@vitejs/plugin-vue' @@ -10,27 +9,23 @@ export default defineConfig({ outDir: 'tools/widgets/BigWidget', emptyOutDir: true, sourcemap: true, - /* lib: { entry: './src/BigWidget.vue', name: 'BigWidget', fileName: (format, entryName) => `${entryName}.${format}.min.js`, formats: ['umd'], }, - */ rollupOptions: { - input: ['./src/BigWidget.vue'], + // input: ['./src/BigWidget.vue'], output: { - entryFileNames: 'BigWidget.umd.min.js', - format: 'umd', - /* + // entryFileNames: 'BigWidget.umd.min.js', + // format: 'umd', globals: { vue: 'Vue', vuetify: 'Vuetify', }, - */ }, - // external: ['vue', 'vuetify'], + external: ['vue', 'vuetify'], }, }, plugins: [ From 63dc5a1bcaf92488c2d1e427ba8ef57b404cdb01 Mon Sep 17 00:00:00 2001 From: Ryan Pratt Date: Wed, 20 Nov 2024 10:07:50 -0700 Subject: [PATCH 08/27] change from base to base_url --- .../plugins/packages/openc3-cosmos-tool-admin/vite.config.js | 4 +++- .../packages/openc3-cosmos-tool-bucketexplorer/vite.config.js | 4 +++- .../packages/openc3-cosmos-tool-cmdsender/vite.config.js | 4 +++- .../packages/openc3-cosmos-tool-cmdtlmserver/vite.config.js | 4 +++- .../packages/openc3-cosmos-tool-dataextractor/vite.config.js | 4 +++- .../packages/openc3-cosmos-tool-dataviewer/vite.config.js | 4 +++- .../packages/openc3-cosmos-tool-handbooks/vite.config.js | 4 +++- .../plugins/packages/openc3-cosmos-tool-iframe/vite.config.js | 4 +++- .../packages/openc3-cosmos-tool-limitsmonitor/vite.config.js | 4 +++- .../packages/openc3-cosmos-tool-packetviewer/vite.config.js | 4 +++- .../packages/openc3-cosmos-tool-scriptrunner/vite.config.js | 4 +++- .../packages/openc3-cosmos-tool-tablemanager/vite.config.js | 4 +++- .../packages/openc3-cosmos-tool-tlmgrapher/vite.config.js | 4 +++- .../packages/openc3-cosmos-tool-tlmviewer/vite.config.js | 4 +++- .../packages/openc3-tool-common/src/utils/routeUtils.js | 2 +- 15 files changed, 43 insertions(+), 15 deletions(-) diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-admin/vite.config.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-admin/vite.config.js index cf5f3d6441..90441cf203 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-admin/vite.config.js +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-admin/vite.config.js @@ -6,7 +6,6 @@ import vue from '@vitejs/plugin-vue' const DEFAULT_EXTENSIONS = ['.mjs', '.js', '.ts', '.jsx', '.tsx', '.json'] export default defineConfig({ - base: '/tools/admin', build: { outDir: 'tools/admin', emptyOutDir: true, @@ -30,6 +29,9 @@ export default defineConfig({ }, extensions: [...DEFAULT_EXTENSIONS, '.vue'], // not recommended but saves us from having to change every SFC import }, + define: { + __BASE_URL__: JSON.stringify('/tools/admin'), + }, optimizeDeps: { entries: [], // https://github.com/vituum/vituum/issues/25#issuecomment-1690080284 }, diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-bucketexplorer/vite.config.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-bucketexplorer/vite.config.js index 54d277ef1f..a7e1e99f2b 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-bucketexplorer/vite.config.js +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-bucketexplorer/vite.config.js @@ -6,7 +6,6 @@ import vue from '@vitejs/plugin-vue' const DEFAULT_EXTENSIONS = ['.mjs', '.js', '.ts', '.jsx', '.tsx', '.json'] export default defineConfig({ - base: '/tools/bucketexplorer', build: { outDir: 'tools/bucketexplorer', emptyOutDir: true, @@ -30,6 +29,9 @@ export default defineConfig({ }, extensions: [...DEFAULT_EXTENSIONS, '.vue'], // not recommended but saves us from having to change every SFC import }, + define: { + __BASE_URL__: JSON.stringify('/tools/bucketexplorer'), + }, optimizeDeps: { entries: [], // https://github.com/vituum/vituum/issues/25#issuecomment-1690080284 }, diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdsender/vite.config.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdsender/vite.config.js index 64b7ba937f..34fbb13fa3 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdsender/vite.config.js +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdsender/vite.config.js @@ -6,7 +6,6 @@ import vue from '@vitejs/plugin-vue' const DEFAULT_EXTENSIONS = ['.mjs', '.js', '.ts', '.jsx', '.tsx', '.json'] export default defineConfig({ - base: '/tools/cmdsender', build: { outDir: 'tools/cmdsender', emptyOutDir: true, @@ -30,6 +29,9 @@ export default defineConfig({ }, extensions: [...DEFAULT_EXTENSIONS, '.vue'], // not recommended but saves us from having to change every SFC import }, + define: { + __BASE_URL__: JSON.stringify('/tools/cmdsender'), + }, optimizeDeps: { entries: [], // https://github.com/vituum/vituum/issues/25#issuecomment-1690080284 }, diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdtlmserver/vite.config.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdtlmserver/vite.config.js index f97fba73dc..6f547697ca 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdtlmserver/vite.config.js +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdtlmserver/vite.config.js @@ -6,7 +6,6 @@ import vue from '@vitejs/plugin-vue' const DEFAULT_EXTENSIONS = ['.mjs', '.js', '.ts', '.jsx', '.tsx', '.json'] export default defineConfig({ - base: '/tools/cmdtlmserver', build: { outDir: 'tools/cmdtlmserver', emptyOutDir: true, @@ -30,6 +29,9 @@ export default defineConfig({ }, extensions: [...DEFAULT_EXTENSIONS, '.vue'], // not recommended but saves us from having to change every SFC import }, + define: { + __BASE_URL__: JSON.stringify('/tools/cmdtlmserver'), + }, optimizeDeps: { entries: [], // https://github.com/vituum/vituum/issues/25#issuecomment-1690080284 }, diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-dataextractor/vite.config.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-dataextractor/vite.config.js index e84d3c3eb3..8c3edf397c 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-dataextractor/vite.config.js +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-dataextractor/vite.config.js @@ -6,7 +6,6 @@ import vue from '@vitejs/plugin-vue' const DEFAULT_EXTENSIONS = ['.mjs', '.js', '.ts', '.jsx', '.tsx', '.json'] export default defineConfig({ - base: '/tools/dataextractor', build: { outDir: 'tools/dataextractor', emptyOutDir: true, @@ -30,6 +29,9 @@ export default defineConfig({ }, extensions: [...DEFAULT_EXTENSIONS, '.vue'], // not recommended but saves us from having to change every SFC import }, + define: { + __BASE_URL__: JSON.stringify('/tools/dataextractor'), + }, optimizeDeps: { entries: [], // https://github.com/vituum/vituum/issues/25#issuecomment-1690080284 }, diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-dataviewer/vite.config.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-dataviewer/vite.config.js index f1e6085056..4035b6742e 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-dataviewer/vite.config.js +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-dataviewer/vite.config.js @@ -6,7 +6,6 @@ import vue from '@vitejs/plugin-vue' const DEFAULT_EXTENSIONS = ['.mjs', '.js', '.ts', '.jsx', '.tsx', '.json'] export default defineConfig({ - base: '/tools/dataviewer', build: { outDir: 'tools/dataviewer', emptyOutDir: true, @@ -30,6 +29,9 @@ export default defineConfig({ }, extensions: [...DEFAULT_EXTENSIONS, '.vue'], // not recommended but saves us from having to change every SFC import }, + define: { + __BASE_URL__: JSON.stringify('/tools/dataviewer'), + }, optimizeDeps: { entries: [], // https://github.com/vituum/vituum/issues/25#issuecomment-1690080284 }, diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-handbooks/vite.config.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-handbooks/vite.config.js index afa2b79df2..b0ccab395f 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-handbooks/vite.config.js +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-handbooks/vite.config.js @@ -6,7 +6,6 @@ import vue from '@vitejs/plugin-vue' const DEFAULT_EXTENSIONS = ['.mjs', '.js', '.ts', '.jsx', '.tsx', '.json'] export default defineConfig({ - base: '/tools/handbooks', build: { outDir: 'tools/handbooks', emptyOutDir: true, @@ -30,6 +29,9 @@ export default defineConfig({ }, extensions: [...DEFAULT_EXTENSIONS, '.vue'], // not recommended but saves us from having to change every SFC import }, + define: { + __BASE_URL__: JSON.stringify('/tools/handbooks'), + }, optimizeDeps: { entries: [], // https://github.com/vituum/vituum/issues/25#issuecomment-1690080284 }, diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-iframe/vite.config.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-iframe/vite.config.js index 761cf35892..35d3d65bf5 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-iframe/vite.config.js +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-iframe/vite.config.js @@ -6,7 +6,6 @@ import vue from '@vitejs/plugin-vue' const DEFAULT_EXTENSIONS = ['.mjs', '.js', '.ts', '.jsx', '.tsx', '.json'] export default defineConfig({ - base: '/tools/iframe', build: { outDir: 'tools/iframe', emptyOutDir: true, @@ -30,6 +29,9 @@ export default defineConfig({ }, extensions: [...DEFAULT_EXTENSIONS, '.vue'], // not recommended but saves us from having to change every SFC import }, + define: { + __BASE_URL__: JSON.stringify('/tools/iframe'), + }, optimizeDeps: { entries: [], // https://github.com/vituum/vituum/issues/25#issuecomment-1690080284 }, diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-limitsmonitor/vite.config.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-limitsmonitor/vite.config.js index dddc6e5b70..9f153121ab 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-limitsmonitor/vite.config.js +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-limitsmonitor/vite.config.js @@ -6,7 +6,6 @@ import vue from '@vitejs/plugin-vue' const DEFAULT_EXTENSIONS = ['.mjs', '.js', '.ts', '.jsx', '.tsx', '.json'] export default defineConfig({ - base: '/tools/limitsmonitor', build: { outDir: 'tools/limitsmonitor', emptyOutDir: true, @@ -30,6 +29,9 @@ export default defineConfig({ }, extensions: [...DEFAULT_EXTENSIONS, '.vue'], // not recommended but saves us from having to change every SFC import }, + define: { + __BASE_URL__: JSON.stringify('/tools/limitsmonitor'), + }, optimizeDeps: { entries: [], // https://github.com/vituum/vituum/issues/25#issuecomment-1690080284 }, diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-packetviewer/vite.config.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-packetviewer/vite.config.js index a82a5a1dd6..4a764309d2 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-packetviewer/vite.config.js +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-packetviewer/vite.config.js @@ -6,7 +6,6 @@ import vue from '@vitejs/plugin-vue' const DEFAULT_EXTENSIONS = ['.mjs', '.js', '.ts', '.jsx', '.tsx', '.json'] export default defineConfig({ - base: '/tools/packetviewer', build: { outDir: 'tools/packetviewer', emptyOutDir: true, @@ -30,6 +29,9 @@ export default defineConfig({ }, extensions: [...DEFAULT_EXTENSIONS, '.vue'], // not recommended but saves us from having to change every SFC import }, + define: { + __BASE_URL__: JSON.stringify('/tools/packetviewer'), + }, optimizeDeps: { entries: [], // https://github.com/vituum/vituum/issues/25#issuecomment-1690080284 }, diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-scriptrunner/vite.config.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-scriptrunner/vite.config.js index 6918844c43..c86cb1960c 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-scriptrunner/vite.config.js +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-scriptrunner/vite.config.js @@ -6,7 +6,6 @@ import vue from '@vitejs/plugin-vue' const DEFAULT_EXTENSIONS = ['.mjs', '.js', '.ts', '.jsx', '.tsx', '.json'] export default defineConfig({ - base: '/tools/scriptrunner', build: { outDir: 'tools/scriptrunner', emptyOutDir: true, @@ -30,6 +29,9 @@ export default defineConfig({ }, extensions: [...DEFAULT_EXTENSIONS, '.vue'], // not recommended but saves us from having to change every SFC import }, + define: { + __BASE_URL__: JSON.stringify('/tools/scriptrunner'), + }, optimizeDeps: { entries: [], // https://github.com/vituum/vituum/issues/25#issuecomment-1690080284 }, diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tablemanager/vite.config.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tablemanager/vite.config.js index 1b1f0e8c90..e022e2700e 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tablemanager/vite.config.js +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tablemanager/vite.config.js @@ -6,7 +6,6 @@ import vue from '@vitejs/plugin-vue' const DEFAULT_EXTENSIONS = ['.mjs', '.js', '.ts', '.jsx', '.tsx', '.json'] export default defineConfig({ - base: '/tools/tablemanager', build: { outDir: 'tools/tablemanager', emptyOutDir: true, @@ -30,6 +29,9 @@ export default defineConfig({ }, extensions: [...DEFAULT_EXTENSIONS, '.vue'], // not recommended but saves us from having to change every SFC import }, + define: { + __BASE_URL__: JSON.stringify('/tools/tablemanager'), + }, optimizeDeps: { entries: [], // https://github.com/vituum/vituum/issues/25#issuecomment-1690080284 }, diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tlmgrapher/vite.config.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tlmgrapher/vite.config.js index 870600ec84..12ae8302e7 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tlmgrapher/vite.config.js +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tlmgrapher/vite.config.js @@ -6,7 +6,6 @@ import vue from '@vitejs/plugin-vue' const DEFAULT_EXTENSIONS = ['.mjs', '.js', '.ts', '.jsx', '.tsx', '.json'] export default defineConfig({ - base: '/tools/tlmgrapher', build: { outDir: 'tools/tlmgrapher', emptyOutDir: true, @@ -30,6 +29,9 @@ export default defineConfig({ }, extensions: [...DEFAULT_EXTENSIONS, '.vue'], // not recommended but saves us from having to change every SFC import }, + define: { + __BASE_URL__: JSON.stringify('/tools/tlmgrapher'), + }, optimizeDeps: { entries: [], // https://github.com/vituum/vituum/issues/25#issuecomment-1690080284 }, diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tlmviewer/vite.config.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tlmviewer/vite.config.js index 889a1f2e2f..f1ce8814c9 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tlmviewer/vite.config.js +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tlmviewer/vite.config.js @@ -6,7 +6,6 @@ import vue from '@vitejs/plugin-vue' const DEFAULT_EXTENSIONS = ['.mjs', '.js', '.ts', '.jsx', '.tsx', '.json'] export default defineConfig({ - base: '/tools/tlmviewer', build: { outDir: 'tools/tlmviewer', emptyOutDir: true, @@ -30,6 +29,9 @@ export default defineConfig({ }, extensions: [...DEFAULT_EXTENSIONS, '.vue'], // not recommended but saves us from having to change every SFC import }, + define: { + __BASE_URL__: JSON.stringify('/tools/tlmviewer'), + }, optimizeDeps: { entries: [], // https://github.com/vituum/vituum/issues/25#issuecomment-1690080284 }, diff --git a/openc3-cosmos-init/plugins/packages/openc3-tool-common/src/utils/routeUtils.js b/openc3-cosmos-init/plugins/packages/openc3-tool-common/src/utils/routeUtils.js index 912dc5ca1b..578be28619 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-tool-common/src/utils/routeUtils.js +++ b/openc3-cosmos-init/plugins/packages/openc3-tool-common/src/utils/routeUtils.js @@ -18,7 +18,7 @@ const prependBasePath = function (route) { if (!route.name !== 'NotFound') { - route.path = `${import.meta.env.BASE_URL}/${route.path.replace(/^\//, '')}` + route.path = `${__BASE_URL__}/${route.path.replace(/^\//, '')}` } route.children?.forEach(prependBasePath) } From 7a22ffaca09d78162137afd002086b79c82c0182 Mon Sep 17 00:00:00 2001 From: Ryan Pratt Date: Wed, 20 Nov 2024 12:09:48 -0700 Subject: [PATCH 09/27] Add dev server plugin This is a workaround so that `yarn serve` works like how it did in COSMOS 5. Eventually, we should try to figure out why the vite dev server isn't working how it's supposed to --- .../openc3-cosmos-tool-admin/package.json | 3 +- .../openc3-cosmos-tool-admin/vite.config.js | 58 ++++++++++--------- .../package.json | 3 +- .../vite.config.js | 58 ++++++++++--------- .../openc3-cosmos-tool-cmdsender/package.json | 3 +- .../vite.config.js | 58 ++++++++++--------- .../package.json | 3 +- .../vite.config.js | 58 ++++++++++--------- .../package.json | 3 +- .../vite.config.js | 58 ++++++++++--------- .../package.json | 3 +- .../vite.config.js | 58 ++++++++++--------- .../openc3-cosmos-tool-handbooks/package.json | 3 +- .../vite.config.js | 58 ++++++++++--------- .../openc3-cosmos-tool-iframe/package.json | 3 +- .../openc3-cosmos-tool-iframe/vite.config.js | 58 ++++++++++--------- .../package.json | 3 +- .../vite.config.js | 58 ++++++++++--------- .../package.json | 3 +- .../vite.config.js | 58 ++++++++++--------- .../package.json | 3 +- .../vite.config.js | 58 ++++++++++--------- .../package.json | 3 +- .../vite.config.js | 58 ++++++++++--------- .../package.json | 3 +- .../vite.config.js | 58 ++++++++++--------- .../openc3-cosmos-tool-tlmviewer/package.json | 3 +- .../vite.config.js | 58 ++++++++++--------- .../viteDevServerPlugin.mjs | 44 ++++++++++++++ 29 files changed, 492 insertions(+), 406 deletions(-) create mode 100644 openc3-cosmos-init/plugins/packages/openc3-tool-common/viteDevServerPlugin.mjs diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-admin/package.json b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-admin/package.json index 1f8facd34b..4721bae5c1 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-admin/package.json +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-admin/package.json @@ -4,8 +4,7 @@ "private": true, "type": "module", "scripts": { - "dev": "vite", - "serve": "vite preview", + "serve": "vite build --watch --mode dev-server", "build": "vite build", "lint": "eslint src", "serve:standalone": "vite preview --mode standalone" diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-admin/vite.config.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-admin/vite.config.js index 90441cf203..f8b7d4be3f 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-admin/vite.config.js +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-admin/vite.config.js @@ -2,37 +2,41 @@ import { resolve } from 'path' import { defineConfig } from 'vite' import { vitePluginSingleSpa } from 'vite-plugin-single-spa' import vue from '@vitejs/plugin-vue' +import { devServerPlugin } from '@openc3/tool-common/viteDevServerPlugin' const DEFAULT_EXTENSIONS = ['.mjs', '.js', '.ts', '.jsx', '.tsx', '.json'] -export default defineConfig({ - build: { - outDir: 'tools/admin', - emptyOutDir: true, - rollupOptions: { - output: { - format: 'systemjs', +export default defineConfig((options) => { + return { + build: { + outDir: 'tools/admin', + emptyOutDir: true, + rollupOptions: { + output: { + format: 'systemjs', + }, }, }, - }, - plugins: [ - vue(), - vitePluginSingleSpa({ - type: 'mife', // micro front-end - serverPort: 2930, - spaEntryPoints: 'src/main.js', - }), - ], - resolve: { - alias: { - '@': resolve(__dirname, './src'), + plugins: [ + vue(), + vitePluginSingleSpa({ + type: 'mife', // micro front-end + serverPort: 2930, + spaEntryPoints: 'src/main.js', + }), + devServerPlugin(options), + ], + resolve: { + alias: { + '@': resolve(__dirname, './src'), + }, + extensions: [...DEFAULT_EXTENSIONS, '.vue'], // not recommended but saves us from having to change every SFC import + }, + define: { + __BASE_URL__: JSON.stringify('/tools/admin'), + }, + optimizeDeps: { + entries: [], // https://github.com/vituum/vituum/issues/25#issuecomment-1690080284 }, - extensions: [...DEFAULT_EXTENSIONS, '.vue'], // not recommended but saves us from having to change every SFC import - }, - define: { - __BASE_URL__: JSON.stringify('/tools/admin'), - }, - optimizeDeps: { - entries: [], // https://github.com/vituum/vituum/issues/25#issuecomment-1690080284 - }, + } }) diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-bucketexplorer/package.json b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-bucketexplorer/package.json index 555b518481..0c1b6a11ad 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-bucketexplorer/package.json +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-bucketexplorer/package.json @@ -4,8 +4,7 @@ "private": true, "type": "module", "scripts": { - "dev": "vite", - "serve": "vite preview", + "serve": "vite build --watch --mode dev-server", "build": "vite build", "lint": "eslint src", "serve:standalone": "vite preview --mode standalone" diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-bucketexplorer/vite.config.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-bucketexplorer/vite.config.js index a7e1e99f2b..0996c03961 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-bucketexplorer/vite.config.js +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-bucketexplorer/vite.config.js @@ -2,37 +2,41 @@ import { resolve } from 'path' import { defineConfig } from 'vite' import { vitePluginSingleSpa } from 'vite-plugin-single-spa' import vue from '@vitejs/plugin-vue' +import { devServerPlugin } from '@openc3/tool-common/viteDevServerPlugin' const DEFAULT_EXTENSIONS = ['.mjs', '.js', '.ts', '.jsx', '.tsx', '.json'] -export default defineConfig({ - build: { - outDir: 'tools/bucketexplorer', - emptyOutDir: true, - rollupOptions: { - output: { - format: 'systemjs', +export default defineConfig((options) => { + return { + build: { + outDir: 'tools/bucketexplorer', + emptyOutDir: true, + rollupOptions: { + output: { + format: 'systemjs', + }, }, }, - }, - plugins: [ - vue(), - vitePluginSingleSpa({ - type: 'mife', // micro front-end - serverPort: 2923, - spaEntryPoints: 'src/main.js', - }), - ], - resolve: { - alias: { - '@': resolve(__dirname, './src'), + plugins: [ + vue(), + vitePluginSingleSpa({ + type: 'mife', // micro front-end + serverPort: 2923, + spaEntryPoints: 'src/main.js', + }), + devServerPlugin(options), + ], + resolve: { + alias: { + '@': resolve(__dirname, './src'), + }, + extensions: [...DEFAULT_EXTENSIONS, '.vue'], // not recommended but saves us from having to change every SFC import + }, + define: { + __BASE_URL__: JSON.stringify('/tools/bucketexplorer'), + }, + optimizeDeps: { + entries: [], // https://github.com/vituum/vituum/issues/25#issuecomment-1690080284 }, - extensions: [...DEFAULT_EXTENSIONS, '.vue'], // not recommended but saves us from having to change every SFC import - }, - define: { - __BASE_URL__: JSON.stringify('/tools/bucketexplorer'), - }, - optimizeDeps: { - entries: [], // https://github.com/vituum/vituum/issues/25#issuecomment-1690080284 - }, + } }) diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdsender/package.json b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdsender/package.json index e63c42136f..7fb590a020 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdsender/package.json +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdsender/package.json @@ -4,8 +4,7 @@ "private": true, "type": "module", "scripts": { - "dev": "vite", - "serve": "vite preview", + "serve": "vite build --watch --mode dev-server", "build": "vite build", "lint": "eslint src", "serve:standalone": "vite preview --mode standalone" diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdsender/vite.config.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdsender/vite.config.js index 34fbb13fa3..1001d1c54c 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdsender/vite.config.js +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdsender/vite.config.js @@ -2,37 +2,41 @@ import { resolve } from 'path' import { defineConfig } from 'vite' import { vitePluginSingleSpa } from 'vite-plugin-single-spa' import vue from '@vitejs/plugin-vue' +import { devServerPlugin } from '@openc3/tool-common/viteDevServerPlugin' const DEFAULT_EXTENSIONS = ['.mjs', '.js', '.ts', '.jsx', '.tsx', '.json'] -export default defineConfig({ - build: { - outDir: 'tools/cmdsender', - emptyOutDir: true, - rollupOptions: { - output: { - format: 'systemjs', +export default defineConfig((options) => { + return { + build: { + outDir: 'tools/cmdsender', + emptyOutDir: true, + rollupOptions: { + output: { + format: 'systemjs', + }, }, }, - }, - plugins: [ - vue(), - vitePluginSingleSpa({ - type: 'mife', // micro front-end - serverPort: 2913, - spaEntryPoints: 'src/main.js', - }), - ], - resolve: { - alias: { - '@': resolve(__dirname, './src'), + plugins: [ + vue(), + vitePluginSingleSpa({ + type: 'mife', // micro front-end + serverPort: 2913, + spaEntryPoints: 'src/main.js', + }), + devServerPlugin(options), + ], + resolve: { + alias: { + '@': resolve(__dirname, './src'), + }, + extensions: [...DEFAULT_EXTENSIONS, '.vue'], // not recommended but saves us from having to change every SFC import + }, + define: { + __BASE_URL__: JSON.stringify('/tools/cmdsender'), + }, + optimizeDeps: { + entries: [], // https://github.com/vituum/vituum/issues/25#issuecomment-1690080284 }, - extensions: [...DEFAULT_EXTENSIONS, '.vue'], // not recommended but saves us from having to change every SFC import - }, - define: { - __BASE_URL__: JSON.stringify('/tools/cmdsender'), - }, - optimizeDeps: { - entries: [], // https://github.com/vituum/vituum/issues/25#issuecomment-1690080284 - }, + } }) diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdtlmserver/package.json b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdtlmserver/package.json index 54d5d951de..7d0982517e 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdtlmserver/package.json +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdtlmserver/package.json @@ -4,8 +4,7 @@ "private": true, "type": "module", "scripts": { - "dev": "vite", - "serve": "vite preview", + "serve": "vite build --watch --mode dev-server", "build": "vite build", "lint": "eslint src", "serve:standalone": "vite preview --mode standalone" diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdtlmserver/vite.config.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdtlmserver/vite.config.js index 6f547697ca..1199fbd3cd 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdtlmserver/vite.config.js +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdtlmserver/vite.config.js @@ -2,37 +2,41 @@ import { resolve } from 'path' import { defineConfig } from 'vite' import { vitePluginSingleSpa } from 'vite-plugin-single-spa' import vue from '@vitejs/plugin-vue' +import { devServerPlugin } from '@openc3/tool-common/viteDevServerPlugin' const DEFAULT_EXTENSIONS = ['.mjs', '.js', '.ts', '.jsx', '.tsx', '.json'] -export default defineConfig({ - build: { - outDir: 'tools/cmdtlmserver', - emptyOutDir: true, - rollupOptions: { - output: { - format: 'systemjs', +export default defineConfig((options) => { + return { + build: { + outDir: 'tools/cmdtlmserver', + emptyOutDir: true, + rollupOptions: { + output: { + format: 'systemjs', + }, }, }, - }, - plugins: [ - vue(), - vitePluginSingleSpa({ - type: 'mife', // micro front-end - serverPort: 2911, - spaEntryPoints: 'src/main.js', - }), - ], - resolve: { - alias: { - '@': resolve(__dirname, './src'), + plugins: [ + vue(), + vitePluginSingleSpa({ + type: 'mife', // micro front-end + serverPort: 2911, + spaEntryPoints: 'src/main.js', + }), + devServerPlugin(options), + ], + resolve: { + alias: { + '@': resolve(__dirname, '../src'), + }, + extensions: [...DEFAULT_EXTENSIONS, '.vue'], // not recommended but saves us from having to change every SFC import + }, + define: { + __BASE_URL__: JSON.stringify('/tools/cmdtlmserver'), + }, + optimizeDeps: { + entries: [], // https://github.com/vituum/vituum/issues/25#issuecomment-1690080284 }, - extensions: [...DEFAULT_EXTENSIONS, '.vue'], // not recommended but saves us from having to change every SFC import - }, - define: { - __BASE_URL__: JSON.stringify('/tools/cmdtlmserver'), - }, - optimizeDeps: { - entries: [], // https://github.com/vituum/vituum/issues/25#issuecomment-1690080284 - }, + } }) diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-dataextractor/package.json b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-dataextractor/package.json index b0c5273e4e..1e7b8f25da 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-dataextractor/package.json +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-dataextractor/package.json @@ -4,8 +4,7 @@ "private": true, "type": "module", "scripts": { - "dev": "vite", - "serve": "vite preview", + "serve": "vite build --watch --mode dev-server", "build": "vite build", "lint": "eslint src", "serve:standalone": "vite preview --mode standalone" diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-dataextractor/vite.config.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-dataextractor/vite.config.js index 8c3edf397c..f597d63ba7 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-dataextractor/vite.config.js +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-dataextractor/vite.config.js @@ -2,37 +2,41 @@ import { resolve } from 'path' import { defineConfig } from 'vite' import { vitePluginSingleSpa } from 'vite-plugin-single-spa' import vue from '@vitejs/plugin-vue' +import { devServerPlugin } from '@openc3/tool-common/viteDevServerPlugin' const DEFAULT_EXTENSIONS = ['.mjs', '.js', '.ts', '.jsx', '.tsx', '.json'] -export default defineConfig({ - build: { - outDir: 'tools/dataextractor', - emptyOutDir: true, - rollupOptions: { - output: { - format: 'systemjs', +export default defineConfig((options) => { + return { + build: { + outDir: 'tools/dataextractor', + emptyOutDir: true, + rollupOptions: { + output: { + format: 'systemjs', + }, }, }, - }, - plugins: [ - vue(), - vitePluginSingleSpa({ - type: 'mife', // micro front-end - serverPort: 2918, - spaEntryPoints: 'src/main.js', - }), - ], - resolve: { - alias: { - '@': resolve(__dirname, './src'), + plugins: [ + vue(), + vitePluginSingleSpa({ + type: 'mife', // micro front-end + serverPort: 2918, + spaEntryPoints: 'src/main.js', + }), + devServerPlugin(options), + ], + resolve: { + alias: { + '@': resolve(__dirname, './src'), + }, + extensions: [...DEFAULT_EXTENSIONS, '.vue'], // not recommended but saves us from having to change every SFC import + }, + define: { + __BASE_URL__: JSON.stringify('/tools/dataextractor'), + }, + optimizeDeps: { + entries: [], // https://github.com/vituum/vituum/issues/25#issuecomment-1690080284 }, - extensions: [...DEFAULT_EXTENSIONS, '.vue'], // not recommended but saves us from having to change every SFC import - }, - define: { - __BASE_URL__: JSON.stringify('/tools/dataextractor'), - }, - optimizeDeps: { - entries: [], // https://github.com/vituum/vituum/issues/25#issuecomment-1690080284 - }, + } }) diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-dataviewer/package.json b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-dataviewer/package.json index c83c338dca..f15f3ce048 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-dataviewer/package.json +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-dataviewer/package.json @@ -4,8 +4,7 @@ "private": true, "type": "module", "scripts": { - "dev": "vite", - "serve": "vite preview", + "serve": "vite build --watch --mode dev-server", "build": "vite build", "lint": "eslint src", "serve:standalone": "vite preview --mode standalone" diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-dataviewer/vite.config.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-dataviewer/vite.config.js index 4035b6742e..764faaf480 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-dataviewer/vite.config.js +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-dataviewer/vite.config.js @@ -2,37 +2,41 @@ import { resolve } from 'path' import { defineConfig } from 'vite' import { vitePluginSingleSpa } from 'vite-plugin-single-spa' import vue from '@vitejs/plugin-vue' +import { devServerPlugin } from '@openc3/tool-common/viteDevServerPlugin' const DEFAULT_EXTENSIONS = ['.mjs', '.js', '.ts', '.jsx', '.tsx', '.json'] -export default defineConfig({ - build: { - outDir: 'tools/dataviewer', - emptyOutDir: true, - rollupOptions: { - output: { - format: 'systemjs', +export default defineConfig((options) => { + return { + build: { + outDir: 'tools/dataviewer', + emptyOutDir: true, + rollupOptions: { + output: { + format: 'systemjs', + }, }, }, - }, - plugins: [ - vue(), - vitePluginSingleSpa({ - type: 'mife', // micro front-end - serverPort: 2919, - spaEntryPoints: 'src/main.js', - }), - ], - resolve: { - alias: { - '@': resolve(__dirname, './src'), + plugins: [ + vue(), + vitePluginSingleSpa({ + type: 'mife', // micro front-end + serverPort: 2919, + spaEntryPoints: 'src/main.js', + }), + devServerPlugin(options), + ], + resolve: { + alias: { + '@': resolve(__dirname, './src'), + }, + extensions: [...DEFAULT_EXTENSIONS, '.vue'], // not recommended but saves us from having to change every SFC import + }, + define: { + __BASE_URL__: JSON.stringify('/tools/dataviewer'), + }, + optimizeDeps: { + entries: [], // https://github.com/vituum/vituum/issues/25#issuecomment-1690080284 }, - extensions: [...DEFAULT_EXTENSIONS, '.vue'], // not recommended but saves us from having to change every SFC import - }, - define: { - __BASE_URL__: JSON.stringify('/tools/dataviewer'), - }, - optimizeDeps: { - entries: [], // https://github.com/vituum/vituum/issues/25#issuecomment-1690080284 - }, + } }) diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-handbooks/package.json b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-handbooks/package.json index 0e59ea1889..625b701c29 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-handbooks/package.json +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-handbooks/package.json @@ -4,8 +4,7 @@ "private": true, "type": "module", "scripts": { - "dev": "vite", - "serve": "vite preview", + "serve": "vite build --watch --mode dev-server", "build": "vite build", "lint": "eslint src", "serve:standalone": "vite preview --mode standalone" diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-handbooks/vite.config.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-handbooks/vite.config.js index b0ccab395f..c4cc5a8e5a 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-handbooks/vite.config.js +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-handbooks/vite.config.js @@ -2,37 +2,41 @@ import { resolve } from 'path' import { defineConfig } from 'vite' import { vitePluginSingleSpa } from 'vite-plugin-single-spa' import vue from '@vitejs/plugin-vue' +import { devServerPlugin } from '@openc3/tool-common/viteDevServerPlugin' const DEFAULT_EXTENSIONS = ['.mjs', '.js', '.ts', '.jsx', '.tsx', '.json'] -export default defineConfig({ - build: { - outDir: 'tools/handbooks', - emptyOutDir: true, - rollupOptions: { - output: { - format: 'systemjs', +export default defineConfig((options) => { + return { + build: { + outDir: 'tools/handbooks', + emptyOutDir: true, + rollupOptions: { + output: { + format: 'systemjs', + }, }, }, - }, - plugins: [ - vue(), - vitePluginSingleSpa({ - type: 'mife', // micro front-end - serverPort: 2923, - spaEntryPoints: 'src/main.js', - }), - ], - resolve: { - alias: { - '@': resolve(__dirname, './src'), + plugins: [ + vue(), + vitePluginSingleSpa({ + type: 'mife', // micro front-end + serverPort: 2923, + spaEntryPoints: 'src/main.js', + }), + devServerPlugin(options), + ], + resolve: { + alias: { + '@': resolve(__dirname, './src'), + }, + extensions: [...DEFAULT_EXTENSIONS, '.vue'], // not recommended but saves us from having to change every SFC import + }, + define: { + __BASE_URL__: JSON.stringify('/tools/handbooks'), + }, + optimizeDeps: { + entries: [], // https://github.com/vituum/vituum/issues/25#issuecomment-1690080284 }, - extensions: [...DEFAULT_EXTENSIONS, '.vue'], // not recommended but saves us from having to change every SFC import - }, - define: { - __BASE_URL__: JSON.stringify('/tools/handbooks'), - }, - optimizeDeps: { - entries: [], // https://github.com/vituum/vituum/issues/25#issuecomment-1690080284 - }, + } }) diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-iframe/package.json b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-iframe/package.json index fef60516d0..185ca0547f 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-iframe/package.json +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-iframe/package.json @@ -4,8 +4,7 @@ "private": true, "type": "module", "scripts": { - "dev": "vite", - "serve": "vite preview", + "serve": "vite build --watch --mode dev-server", "build": "vite build", "lint": "eslint src", "serve:standalone": "vite preview --mode standalone" diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-iframe/vite.config.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-iframe/vite.config.js index 35d3d65bf5..1cfadad280 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-iframe/vite.config.js +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-iframe/vite.config.js @@ -2,37 +2,41 @@ import { resolve } from 'path' import { defineConfig } from 'vite' import { vitePluginSingleSpa } from 'vite-plugin-single-spa' import vue from '@vitejs/plugin-vue' +import { devServerPlugin } from '@openc3/tool-common/viteDevServerPlugin' const DEFAULT_EXTENSIONS = ['.mjs', '.js', '.ts', '.jsx', '.tsx', '.json'] -export default defineConfig({ - build: { - outDir: 'tools/iframe', - emptyOutDir: true, - rollupOptions: { - output: { - format: 'systemjs', +export default defineConfig((options) => { + return { + build: { + outDir: 'tools/iframe', + emptyOutDir: true, + rollupOptions: { + output: { + format: 'systemjs', + }, }, }, - }, - plugins: [ - vue(), - vitePluginSingleSpa({ - type: 'mife', // micro front-end - serverPort: 2915, - spaEntryPoints: 'src/main.js', - }), - ], - resolve: { - alias: { - '@': resolve(__dirname, './src'), + plugins: [ + vue(), + vitePluginSingleSpa({ + type: 'mife', // micro front-end + serverPort: 2915, + spaEntryPoints: 'src/main.js', + }), + devServerPlugin(options), + ], + resolve: { + alias: { + '@': resolve(__dirname, './src'), + }, + extensions: [...DEFAULT_EXTENSIONS, '.vue'], // not recommended but saves us from having to change every SFC import + }, + define: { + __BASE_URL__: JSON.stringify('/tools/iframe'), + }, + optimizeDeps: { + entries: [], // https://github.com/vituum/vituum/issues/25#issuecomment-1690080284 }, - extensions: [...DEFAULT_EXTENSIONS, '.vue'], // not recommended but saves us from having to change every SFC import - }, - define: { - __BASE_URL__: JSON.stringify('/tools/iframe'), - }, - optimizeDeps: { - entries: [], // https://github.com/vituum/vituum/issues/25#issuecomment-1690080284 - }, + } }) diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-limitsmonitor/package.json b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-limitsmonitor/package.json index 5a4f90c271..12b113071c 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-limitsmonitor/package.json +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-limitsmonitor/package.json @@ -4,8 +4,7 @@ "private": true, "type": "module", "scripts": { - "dev": "vite", - "serve": "vite preview", + "serve": "vite build --watch --mode dev-server", "build": "vite build", "lint": "eslint src", "serve:standalone": "vite preview --mode standalone" diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-limitsmonitor/vite.config.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-limitsmonitor/vite.config.js index 9f153121ab..125deefdf6 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-limitsmonitor/vite.config.js +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-limitsmonitor/vite.config.js @@ -2,37 +2,41 @@ import { resolve } from 'path' import { defineConfig } from 'vite' import { vitePluginSingleSpa } from 'vite-plugin-single-spa' import vue from '@vitejs/plugin-vue' +import { devServerPlugin } from '@openc3/tool-common/viteDevServerPlugin' const DEFAULT_EXTENSIONS = ['.mjs', '.js', '.ts', '.jsx', '.tsx', '.json'] -export default defineConfig({ - build: { - outDir: 'tools/limitsmonitor', - emptyOutDir: true, - rollupOptions: { - output: { - format: 'systemjs', +export default defineConfig((options) => { + return { + build: { + outDir: 'tools/limitsmonitor', + emptyOutDir: true, + rollupOptions: { + output: { + format: 'systemjs', + }, }, }, - }, - plugins: [ - vue(), - vitePluginSingleSpa({ - type: 'mife', // micro front-end - serverPort: 2912, - spaEntryPoints: 'src/main.js', - }), - ], - resolve: { - alias: { - '@': resolve(__dirname, './src'), + plugins: [ + vue(), + vitePluginSingleSpa({ + type: 'mife', // micro front-end + serverPort: 2912, + spaEntryPoints: 'src/main.js', + }), + devServerPlugin(options), + ], + resolve: { + alias: { + '@': resolve(__dirname, './src'), + }, + extensions: [...DEFAULT_EXTENSIONS, '.vue'], // not recommended but saves us from having to change every SFC import + }, + define: { + __BASE_URL__: JSON.stringify('/tools/limitsmonitor'), + }, + optimizeDeps: { + entries: [], // https://github.com/vituum/vituum/issues/25#issuecomment-1690080284 }, - extensions: [...DEFAULT_EXTENSIONS, '.vue'], // not recommended but saves us from having to change every SFC import - }, - define: { - __BASE_URL__: JSON.stringify('/tools/limitsmonitor'), - }, - optimizeDeps: { - entries: [], // https://github.com/vituum/vituum/issues/25#issuecomment-1690080284 - }, + } }) diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-packetviewer/package.json b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-packetviewer/package.json index 8cdd6cf343..18c799e018 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-packetviewer/package.json +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-packetviewer/package.json @@ -4,8 +4,7 @@ "private": true, "type": "module", "scripts": { - "dev": "vite", - "serve": "vite preview", + "serve": "vite build --watch --mode dev-server", "build": "vite build", "lint": "eslint src", "serve:standalone": "vite preview --mode standalone" diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-packetviewer/vite.config.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-packetviewer/vite.config.js index 4a764309d2..540bcdd4e0 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-packetviewer/vite.config.js +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-packetviewer/vite.config.js @@ -2,37 +2,41 @@ import { resolve } from 'path' import { defineConfig } from 'vite' import { vitePluginSingleSpa } from 'vite-plugin-single-spa' import vue from '@vitejs/plugin-vue' +import { devServerPlugin } from '@openc3/tool-common/viteDevServerPlugin' const DEFAULT_EXTENSIONS = ['.mjs', '.js', '.ts', '.jsx', '.tsx', '.json'] -export default defineConfig({ - build: { - outDir: 'tools/packetviewer', - emptyOutDir: true, - rollupOptions: { - output: { - format: 'systemjs', +export default defineConfig((options) => { + return { + build: { + outDir: 'tools/packetviewer', + emptyOutDir: true, + rollupOptions: { + output: { + format: 'systemjs', + }, }, }, - }, - plugins: [ - vue(), - vitePluginSingleSpa({ - type: 'mife', // micro front-end - serverPort: 2915, - spaEntryPoints: 'src/main.js', - }), - ], - resolve: { - alias: { - '@': resolve(__dirname, './src'), + plugins: [ + vue(), + vitePluginSingleSpa({ + type: 'mife', // micro front-end + serverPort: 2915, + spaEntryPoints: 'src/main.js', + }), + devServerPlugin(options), + ], + resolve: { + alias: { + '@': resolve(__dirname, './src'), + }, + extensions: [...DEFAULT_EXTENSIONS, '.vue'], // not recommended but saves us from having to change every SFC import + }, + define: { + __BASE_URL__: JSON.stringify('/tools/packetviewer'), + }, + optimizeDeps: { + entries: [], // https://github.com/vituum/vituum/issues/25#issuecomment-1690080284 }, - extensions: [...DEFAULT_EXTENSIONS, '.vue'], // not recommended but saves us from having to change every SFC import - }, - define: { - __BASE_URL__: JSON.stringify('/tools/packetviewer'), - }, - optimizeDeps: { - entries: [], // https://github.com/vituum/vituum/issues/25#issuecomment-1690080284 - }, + } }) diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-scriptrunner/package.json b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-scriptrunner/package.json index 66cede190f..dd68f92c53 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-scriptrunner/package.json +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-scriptrunner/package.json @@ -4,8 +4,7 @@ "private": true, "type": "module", "scripts": { - "dev": "vite", - "serve": "vite preview", + "serve": "vite build --watch --mode dev-server", "build": "vite build", "lint": "eslint src", "serve:standalone": "vite preview --mode standalone" diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-scriptrunner/vite.config.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-scriptrunner/vite.config.js index c86cb1960c..1255ba1ccd 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-scriptrunner/vite.config.js +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-scriptrunner/vite.config.js @@ -2,37 +2,41 @@ import { resolve } from 'path' import { defineConfig } from 'vite' import { vitePluginSingleSpa } from 'vite-plugin-single-spa' import vue from '@vitejs/plugin-vue' +import { devServerPlugin } from '@openc3/tool-common/viteDevServerPlugin' const DEFAULT_EXTENSIONS = ['.mjs', '.js', '.ts', '.jsx', '.tsx', '.json'] -export default defineConfig({ - build: { - outDir: 'tools/scriptrunner', - emptyOutDir: true, - rollupOptions: { - output: { - format: 'systemjs', +export default defineConfig((options) => { + return { + build: { + outDir: 'tools/scriptrunner', + emptyOutDir: true, + rollupOptions: { + output: { + format: 'systemjs', + }, }, }, - }, - plugins: [ - vue(), - vitePluginSingleSpa({ - type: 'mife', // micro front-end - serverPort: 2914, - spaEntryPoints: 'src/main.js', - }), - ], - resolve: { - alias: { - '@': resolve(__dirname, './src'), + plugins: [ + vue(), + vitePluginSingleSpa({ + type: 'mife', // micro front-end + serverPort: 2914, + spaEntryPoints: 'src/main.js', + }), + devServerPlugin(options), + ], + resolve: { + alias: { + '@': resolve(__dirname, './src'), + }, + extensions: [...DEFAULT_EXTENSIONS, '.vue'], // not recommended but saves us from having to change every SFC import + }, + define: { + __BASE_URL__: JSON.stringify('/tools/scriptrunner'), + }, + optimizeDeps: { + entries: [], // https://github.com/vituum/vituum/issues/25#issuecomment-1690080284 }, - extensions: [...DEFAULT_EXTENSIONS, '.vue'], // not recommended but saves us from having to change every SFC import - }, - define: { - __BASE_URL__: JSON.stringify('/tools/scriptrunner'), - }, - optimizeDeps: { - entries: [], // https://github.com/vituum/vituum/issues/25#issuecomment-1690080284 - }, + } }) diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tablemanager/package.json b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tablemanager/package.json index 7705c501c7..6faf6e3eca 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tablemanager/package.json +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tablemanager/package.json @@ -4,8 +4,7 @@ "private": true, "type": "module", "scripts": { - "dev": "vite", - "serve": "vite preview", + "serve": "vite build --watch --mode dev-server", "build": "vite build", "lint": "eslint src", "serve:standalone": "vite preview --mode standalone" diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tablemanager/vite.config.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tablemanager/vite.config.js index e022e2700e..dc0f548c12 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tablemanager/vite.config.js +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tablemanager/vite.config.js @@ -2,37 +2,41 @@ import { resolve } from 'path' import { defineConfig } from 'vite' import { vitePluginSingleSpa } from 'vite-plugin-single-spa' import vue from '@vitejs/plugin-vue' +import { devServerPlugin } from '@openc3/tool-common/viteDevServerPlugin' const DEFAULT_EXTENSIONS = ['.mjs', '.js', '.ts', '.jsx', '.tsx', '.json'] -export default defineConfig({ - build: { - outDir: 'tools/tablemanager', - emptyOutDir: true, - rollupOptions: { - output: { - format: 'systemjs', +export default defineConfig((options) => { + return { + build: { + outDir: 'tools/tablemanager', + emptyOutDir: true, + rollupOptions: { + output: { + format: 'systemjs', + }, }, }, - }, - plugins: [ - vue(), - vitePluginSingleSpa({ - type: 'mife', // micro front-end - serverPort: 2916, - spaEntryPoints: 'src/main.js', - }), - ], - resolve: { - alias: { - '@': resolve(__dirname, './src'), + plugins: [ + vue(), + vitePluginSingleSpa({ + type: 'mife', // micro front-end + serverPort: 2916, + spaEntryPoints: 'src/main.js', + }), + devServerPlugin(options), + ], + resolve: { + alias: { + '@': resolve(__dirname, './src'), + }, + extensions: [...DEFAULT_EXTENSIONS, '.vue'], // not recommended but saves us from having to change every SFC import + }, + define: { + __BASE_URL__: JSON.stringify('/tools/tablemanager'), + }, + optimizeDeps: { + entries: [], // https://github.com/vituum/vituum/issues/25#issuecomment-1690080284 }, - extensions: [...DEFAULT_EXTENSIONS, '.vue'], // not recommended but saves us from having to change every SFC import - }, - define: { - __BASE_URL__: JSON.stringify('/tools/tablemanager'), - }, - optimizeDeps: { - entries: [], // https://github.com/vituum/vituum/issues/25#issuecomment-1690080284 - }, + } }) diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tlmgrapher/package.json b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tlmgrapher/package.json index 23f46c17a0..b1358296f5 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tlmgrapher/package.json +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tlmgrapher/package.json @@ -4,8 +4,7 @@ "private": true, "type": "module", "scripts": { - "dev": "vite", - "serve": "vite preview", + "serve": "vite build --watch --mode dev-server", "build": "vite build", "lint": "eslint src", "serve:standalone": "vite preview --mode standalone" diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tlmgrapher/vite.config.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tlmgrapher/vite.config.js index 12ae8302e7..025b363c6d 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tlmgrapher/vite.config.js +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tlmgrapher/vite.config.js @@ -2,37 +2,41 @@ import { resolve } from 'path' import { defineConfig } from 'vite' import { vitePluginSingleSpa } from 'vite-plugin-single-spa' import vue from '@vitejs/plugin-vue' +import { devServerPlugin } from '@openc3/tool-common/viteDevServerPlugin' const DEFAULT_EXTENSIONS = ['.mjs', '.js', '.ts', '.jsx', '.tsx', '.json'] -export default defineConfig({ - build: { - outDir: 'tools/tlmgrapher', - emptyOutDir: true, - rollupOptions: { - output: { - format: 'systemjs', +export default defineConfig((options) => { + return { + build: { + outDir: 'tools/tlmgrapher', + emptyOutDir: true, + rollupOptions: { + output: { + format: 'systemjs', + }, }, }, - }, - plugins: [ - vue(), - vitePluginSingleSpa({ - type: 'mife', // micro front-end - serverPort: 2917, - spaEntryPoints: 'src/main.js', - }), - ], - resolve: { - alias: { - '@': resolve(__dirname, './src'), + plugins: [ + vue(), + vitePluginSingleSpa({ + type: 'mife', // micro front-end + serverPort: 2917, + spaEntryPoints: 'src/main.js', + }), + devServerPlugin(options), + ], + resolve: { + alias: { + '@': resolve(__dirname, './src'), + }, + extensions: [...DEFAULT_EXTENSIONS, '.vue'], // not recommended but saves us from having to change every SFC import + }, + define: { + __BASE_URL__: JSON.stringify('/tools/tlmgrapher'), + }, + optimizeDeps: { + entries: [], // https://github.com/vituum/vituum/issues/25#issuecomment-1690080284 }, - extensions: [...DEFAULT_EXTENSIONS, '.vue'], // not recommended but saves us from having to change every SFC import - }, - define: { - __BASE_URL__: JSON.stringify('/tools/tlmgrapher'), - }, - optimizeDeps: { - entries: [], // https://github.com/vituum/vituum/issues/25#issuecomment-1690080284 - }, + } }) diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tlmviewer/package.json b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tlmviewer/package.json index 4570d879d0..8e8b6c0b39 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tlmviewer/package.json +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tlmviewer/package.json @@ -4,8 +4,7 @@ "private": true, "type": "module", "scripts": { - "dev": "vite", - "serve": "vite preview", + "serve": "vite build --watch --mode dev-server", "build": "vite build", "lint": "eslint src", "serve:standalone": "vite preview --mode standalone" diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tlmviewer/vite.config.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tlmviewer/vite.config.js index f1ce8814c9..0b98a7a7e9 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tlmviewer/vite.config.js +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tlmviewer/vite.config.js @@ -2,37 +2,41 @@ import { resolve } from 'path' import { defineConfig } from 'vite' import { vitePluginSingleSpa } from 'vite-plugin-single-spa' import vue from '@vitejs/plugin-vue' +import { devServerPlugin } from '@openc3/tool-common/viteDevServerPlugin' const DEFAULT_EXTENSIONS = ['.mjs', '.js', '.ts', '.jsx', '.tsx', '.json'] -export default defineConfig({ - build: { - outDir: 'tools/tlmviewer', - emptyOutDir: true, - rollupOptions: { - output: { - format: 'systemjs', +export default defineConfig((options) => { + return { + build: { + outDir: 'tools/tlmviewer', + emptyOutDir: true, + rollupOptions: { + output: { + format: 'systemjs', + }, }, }, - }, - plugins: [ - vue(), - vitePluginSingleSpa({ - type: 'mife', // micro front-end - serverPort: 2920, - spaEntryPoints: 'src/main.js', - }), - ], - resolve: { - alias: { - '@': resolve(__dirname, './src'), + plugins: [ + vue(), + vitePluginSingleSpa({ + type: 'mife', // micro front-end + serverPort: 2920, + spaEntryPoints: 'src/main.js', + }), + devServerPlugin(options), + ], + resolve: { + alias: { + '@': resolve(__dirname, './src'), + }, + extensions: [...DEFAULT_EXTENSIONS, '.vue'], // not recommended but saves us from having to change every SFC import + }, + define: { + __BASE_URL__: JSON.stringify('/tools/tlmviewer'), + }, + optimizeDeps: { + entries: [], // https://github.com/vituum/vituum/issues/25#issuecomment-1690080284 }, - extensions: [...DEFAULT_EXTENSIONS, '.vue'], // not recommended but saves us from having to change every SFC import - }, - define: { - __BASE_URL__: JSON.stringify('/tools/tlmviewer'), - }, - optimizeDeps: { - entries: [], // https://github.com/vituum/vituum/issues/25#issuecomment-1690080284 - }, + } }) diff --git a/openc3-cosmos-init/plugins/packages/openc3-tool-common/viteDevServerPlugin.mjs b/openc3-cosmos-init/plugins/packages/openc3-tool-common/viteDevServerPlugin.mjs new file mode 100644 index 0000000000..6c4d1fcc15 --- /dev/null +++ b/openc3-cosmos-init/plugins/packages/openc3-tool-common/viteDevServerPlugin.mjs @@ -0,0 +1,44 @@ +/* +# Copyright 2024, OpenC3, Inc. +# All Rights Reserved. +# +# This program is free software; you can modify and/or redistribute it +# under the terms of the GNU Affero General Public License +# as published by the Free Software Foundation; version 3 with +# attribution addendums as found in the LICENSE.txt +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# This file may also be used under the terms of a commercial license +# if purchased from OpenC3, Inc. +*/ + +import { spawn } from 'child_process' + +let devServerPid +export const devServerPlugin = ({ mode }) => ({ + /* Hacky workaround since I can't get the vite dev server working correctly in our project. + * The `vite` command is serving files from `outDir`, but somehow it doesn't refresh when those files are changed. + * This simple plugin just listens for a couple vite hooks and spawns a new instance of vite to serve the new files. + */ + name: 'dev-reload', + buildEnd() { + // Called after Rollup finishes, but before files are written + if (mode !== 'dev-server') { + return + } + devServerPid && process.kill(devServerPid) + devServerPid = null + }, + closeBundle() { + // Called after build output files are written + if (mode !== 'dev-server') { + return + } + const v = spawn('vite') + devServerPid = v.pid + }, +}) From 88d8ca53a6a897f417c34288b3af5274e14c71b3 Mon Sep 17 00:00:00 2001 From: Ryan Melton Date: Sun, 24 Nov 2024 19:08:03 -0700 Subject: [PATCH 10/27] Vite with working externals --- examples/external_script.py | 59 +++++++++++++++++++ examples/external_script.rb | 10 ++-- .../plugins/openc3-tool-base/package.json | 3 +- .../plugins/openc3-tool-base/vite.config.js | 5 -- .../vite-BigWidget.config.js | 31 ---------- .../vite-DataviewerquaternionWidget.config.js | 6 -- .../vite-DataviewertimeWidget.config.js | 6 -- .../vite-HelloworldWidget.config.js | 6 -- .../openc3-cosmos-tool-admin/package.json | 3 +- .../openc3-cosmos-tool-admin/vite.config.js | 18 +++--- .../package.json | 3 +- .../vite.config.js | 18 +++--- .../openc3-cosmos-tool-cmdsender/package.json | 3 +- .../vite.config.js | 18 +++--- .../package.json | 3 +- .../vite.config.js | 18 +++--- .../package.json | 3 +- .../vite.config.js | 18 +++--- .../package.json | 3 +- .../vite.config.js | 18 +++--- .../openc3-cosmos-tool-handbooks/package.json | 3 +- .../vite.config.js | 18 +++--- .../openc3-cosmos-tool-iframe/package.json | 3 +- .../openc3-cosmos-tool-iframe/vite.config.js | 18 +++--- .../package.json | 3 +- .../vite.config.js | 18 +++--- .../package.json | 3 +- .../vite.config.js | 18 +++--- .../package.json | 3 +- .../vite.config.js | 18 +++--- .../package.json | 3 +- .../vite.config.js | 18 +++--- .../package.json | 3 +- .../vite.config.js | 18 +++--- .../openc3-cosmos-tool-tlmviewer/package.json | 3 +- .../vite.config.js | 18 +++--- 36 files changed, 191 insertions(+), 229 deletions(-) create mode 100644 examples/external_script.py diff --git a/examples/external_script.py b/examples/external_script.py new file mode 100644 index 0000000000..d16c9a88eb --- /dev/null +++ b/examples/external_script.py @@ -0,0 +1,59 @@ +# Copyright 2024 OpenC3, Inc. +# All Rights Reserved. +# +# This program is free software; you can modify and/or redistribute it +# under the terms of the GNU Affero General Public License +# as published by the Free Software Foundation; version 3 with +# attribution addendums as found in the LICENSE.txt +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# This file may also be used under the terms of a commercial license +# if purchased from OpenC3, Inc. + +import os + +os.environ["OPENC3_API_SCHEMA"] = "http" +os.environ["OPENC3_API_HOSTNAME"] = "127.0.0.1" +os.environ["OPENC3_API_PORT"] = "2900" +os.environ["OPENC3_SCRIPT_API_SCHEMA"] = "http" +os.environ["OPENC3_SCRIPT_API_HOSTNAME"] = "127.0.0.1" +os.environ["OPENC3_SCRIPT_API_PORT"] = "2900" +# os.environ["OPENC3_API_USER"] = "admin" # Only set for Enterprise +os.environ["OPENC3_API_PASSWORD"] = "password" +os.environ["OPENC3_NO_STORE"] = "1" +# os.environ["OPENC3_KEYCLOAK_REALM"] = "openc3" # Only set for Enterprise +# os.environ["OPENC3_KEYCLOAK_URL"] = "http://127.0.0.1:2900/auth" # Only set for Enterprise + +from openc3.utilities.string import formatted +from openc3.script import * + +print(get_target_names()) + +print(tlm("INST ADCS POSX")) + +print(cmd("INST ABORT")) + +put_target_file("INST/test.txt", "this is a string test") +file = get_target_file("INST/test.txt") +print(file.read()) +file.close() +delete_target_file("INST/test.txt") + +with tempfile.NamedTemporaryFile(mode="w+t", suffix=".txt") as save_file: + save_file.write("this is a Io test") + save_file.seek(0) + put_target_file("INST/test.txt", save_file) +file = get_target_file("INST/test.txt") +print(file.read()) +file.close() +delete_target_file("INST/test.txt") + +put_target_file("INST/test.bin", "\x00\x01\x02\x03\xFF\xEE\xDD\xCC".encode()) +file = get_target_file("INST/test.bin") +print(formatted(file.read())) +file.close() +delete_target_file("INST/test.bin") diff --git a/examples/external_script.rb b/examples/external_script.rb index 71be7b6ab8..446a088e00 100644 --- a/examples/external_script.rb +++ b/examples/external_script.rb @@ -1,6 +1,6 @@ # encoding: ascii-8bit -# Copyright 2022 Ball Aerospace & Technologies Corp. +# Copyright 2024 OpenC3, Inc. # All Rights Reserved. # # This program is free software; you can modify and/or redistribute it @@ -12,10 +12,6 @@ # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. - -# Modified by OpenC3, Inc. -# All changes Copyright 2022, OpenC3, Inc. -# All Rights Reserved # # This file may also be used under the terms of a commercial license # if purchased from OpenC3, Inc. @@ -26,8 +22,12 @@ ENV['OPENC3_SCRIPT_API_SCHEMA'] ||= 'http' ENV['OPENC3_SCRIPT_API_HOSTNAME'] ||= '127.0.0.1' ENV['OPENC3_SCRIPT_API_PORT'] ||= '2900' +# ENV['OPENC3_API_USER'] ||= 'admin' # Only set for Enterprise ENV['OPENC3_API_PASSWORD'] ||= 'password' ENV['OPENC3_NO_STORE'] ||= '1' +# ENV['OPENC3_KEYCLOAK_REALM'] ||= 'openc3' # Only set for Enterprise +# ENV['OPENC3_KEYCLOAK_URL'] ||= 'http://127.0.0.1:2900/auth' # Only set for Enterprise + require 'openc3' require 'openc3/script' diff --git a/openc3-cosmos-init/plugins/openc3-tool-base/package.json b/openc3-cosmos-init/plugins/openc3-tool-base/package.json index b9302dca2b..20d78eae6a 100644 --- a/openc3-cosmos-init/plugins/openc3-tool-base/package.json +++ b/openc3-cosmos-init/plugins/openc3-tool-base/package.json @@ -33,7 +33,6 @@ "serve": "14.2.4", "vite": "5.4.11", "vite-plugin-ejs": "1.7.0", - "vite-plugin-html": "3.2.2", - "vite-plugin-single-spa": "0.4.0" + "vite-plugin-html": "3.2.2" } } diff --git a/openc3-cosmos-init/plugins/openc3-tool-base/vite.config.js b/openc3-cosmos-init/plugins/openc3-tool-base/vite.config.js index 5024490289..9d5113be0f 100644 --- a/openc3-cosmos-init/plugins/openc3-tool-base/vite.config.js +++ b/openc3-cosmos-init/plugins/openc3-tool-base/vite.config.js @@ -1,6 +1,5 @@ import { defineConfig } from 'vite' import { createHtmlPlugin } from 'vite-plugin-html' -import { vitePluginSingleSpa } from 'vite-plugin-single-spa' import vue from '@vitejs/plugin-vue' const DEFAULT_EXTENSIONS = ['.mjs', '.js', '.ts', '.jsx', '.tsx', '.json'] @@ -18,10 +17,6 @@ export default defineConfig({ }, plugins: [ vue(), - vitePluginSingleSpa({ - type: 'root', - imo: () => 'public/js/import-map-overrides-3.1.1.min.js', - }), createHtmlPlugin({ template: 'index.html', }), diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-demo/vite-BigWidget.config.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-demo/vite-BigWidget.config.js index 9f998a72ce..84c69be003 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-demo/vite-BigWidget.config.js +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-demo/vite-BigWidget.config.js @@ -16,45 +16,14 @@ export default defineConfig({ formats: ['umd'], }, rollupOptions: { - // input: ['./src/BigWidget.vue'], - output: { - // entryFileNames: 'BigWidget.umd.min.js', - // format: 'umd', - globals: { - vue: 'Vue', - vuetify: 'Vuetify', - }, - }, external: ['vue', 'vuetify'], }, }, plugins: [ vue(), - /* - federation({ - name: 'BigWidget', - filename: 'BigWidget.umd.min.js', - exposes: { - './BigWidget': './src/BigWidget.vue', - }, - }), - */ VitePluginStyleInject(), ], resolve: { extensions: [...DEFAULT_EXTENSIONS, '.vue'], // not recommended but saves us from having to change every SFC import - // dedupe: ['vue'], - /* - alias: { - vue: 'window.Vue', - vuetify: 'window.Vuetify', - }, - */ - }, - /* - optimizeDeps: { - entries: [], - // exclude: ['vue', 'vuetify'], }, - */ }) diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-demo/vite-DataviewerquaternionWidget.config.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-demo/vite-DataviewerquaternionWidget.config.js index a2b21bef27..1dfc299a0a 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-demo/vite-DataviewerquaternionWidget.config.js +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-demo/vite-DataviewerquaternionWidget.config.js @@ -16,12 +16,6 @@ export default defineConfig({ formats: ['umd'], }, rollupOptions: { - output: { - globals: { - vue: 'Vue', - vuetify: 'Vuetify', - }, - }, external: ['vue', 'vuetify'], }, }, diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-demo/vite-DataviewertimeWidget.config.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-demo/vite-DataviewertimeWidget.config.js index 52ad9412b7..6f62273bfb 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-demo/vite-DataviewertimeWidget.config.js +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-demo/vite-DataviewertimeWidget.config.js @@ -16,12 +16,6 @@ export default defineConfig({ formats: ['umd'], }, rollupOptions: { - output: { - globals: { - vue: 'Vue', - vuetify: 'Vuetify', - }, - }, external: ['vue', 'vuetify'], }, }, diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-demo/vite-HelloworldWidget.config.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-demo/vite-HelloworldWidget.config.js index 4e4ac4ccac..87c4c4415c 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-demo/vite-HelloworldWidget.config.js +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-demo/vite-HelloworldWidget.config.js @@ -16,12 +16,6 @@ export default defineConfig({ formats: ['umd'], }, rollupOptions: { - output: { - globals: { - vue: 'Vue', - vuetify: 'Vuetify', - }, - }, external: ['vue', 'vuetify'], }, }, diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-admin/package.json b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-admin/package.json index 4721bae5c1..070066a22d 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-admin/package.json +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-admin/package.json @@ -30,7 +30,6 @@ "eslint-plugin-vue": "9.30.0", "prettier": "3.3.3", "sass": "1.80.4", - "vite": "5.4.11", - "vite-plugin-single-spa": "0.4.0" + "vite": "5.4.11" } } diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-admin/vite.config.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-admin/vite.config.js index f8b7d4be3f..851db67d23 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-admin/vite.config.js +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-admin/vite.config.js @@ -1,6 +1,5 @@ import { resolve } from 'path' import { defineConfig } from 'vite' -import { vitePluginSingleSpa } from 'vite-plugin-single-spa' import vue from '@vitejs/plugin-vue' import { devServerPlugin } from '@openc3/tool-common/viteDevServerPlugin' @@ -12,20 +11,19 @@ export default defineConfig((options) => { outDir: 'tools/admin', emptyOutDir: true, rollupOptions: { + input: 'src/main.js', output: { format: 'systemjs', + entryFileNames: `[name].js`, }, + external: ['vue', 'vuex', 'vue-router', 'vuetify'], + preserveEntrySignatures: 'strict', }, }, - plugins: [ - vue(), - vitePluginSingleSpa({ - type: 'mife', // micro front-end - serverPort: 2930, - spaEntryPoints: 'src/main.js', - }), - devServerPlugin(options), - ], + server: { + port: 2930, + }, + plugins: [vue(), devServerPlugin(options)], resolve: { alias: { '@': resolve(__dirname, './src'), diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-bucketexplorer/package.json b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-bucketexplorer/package.json index 0c1b6a11ad..afb32fd1a9 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-bucketexplorer/package.json +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-bucketexplorer/package.json @@ -32,7 +32,6 @@ "eslint-plugin-vue": "9.30.0", "prettier": "3.3.3", "sass": "1.80.4", - "vite": "5.4.11", - "vite-plugin-single-spa": "0.4.0" + "vite": "5.4.11" } } diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-bucketexplorer/vite.config.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-bucketexplorer/vite.config.js index 0996c03961..cce15dc4e6 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-bucketexplorer/vite.config.js +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-bucketexplorer/vite.config.js @@ -1,6 +1,5 @@ import { resolve } from 'path' import { defineConfig } from 'vite' -import { vitePluginSingleSpa } from 'vite-plugin-single-spa' import vue from '@vitejs/plugin-vue' import { devServerPlugin } from '@openc3/tool-common/viteDevServerPlugin' @@ -12,20 +11,19 @@ export default defineConfig((options) => { outDir: 'tools/bucketexplorer', emptyOutDir: true, rollupOptions: { + input: 'src/main.js', output: { format: 'systemjs', + entryFileNames: `[name].js`, }, + external: ['vue', 'vuex', 'vue-router', 'vuetify'], + preserveEntrySignatures: 'strict', }, }, - plugins: [ - vue(), - vitePluginSingleSpa({ - type: 'mife', // micro front-end - serverPort: 2923, - spaEntryPoints: 'src/main.js', - }), - devServerPlugin(options), - ], + server: { + port: 2923, + }, + plugins: [vue(), devServerPlugin(options)], resolve: { alias: { '@': resolve(__dirname, './src'), diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdsender/package.json b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdsender/package.json index 7fb590a020..be5998b1c4 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdsender/package.json +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdsender/package.json @@ -32,7 +32,6 @@ "eslint-plugin-vue": "9.30.0", "prettier": "3.3.3", "sass": "1.80.4", - "vite": "5.4.11", - "vite-plugin-single-spa": "0.4.0" + "vite": "5.4.11" } } diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdsender/vite.config.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdsender/vite.config.js index 1001d1c54c..13e3f5194d 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdsender/vite.config.js +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdsender/vite.config.js @@ -1,6 +1,5 @@ import { resolve } from 'path' import { defineConfig } from 'vite' -import { vitePluginSingleSpa } from 'vite-plugin-single-spa' import vue from '@vitejs/plugin-vue' import { devServerPlugin } from '@openc3/tool-common/viteDevServerPlugin' @@ -12,20 +11,19 @@ export default defineConfig((options) => { outDir: 'tools/cmdsender', emptyOutDir: true, rollupOptions: { + input: 'src/main.js', output: { format: 'systemjs', + entryFileNames: `[name].js`, }, + external: ['vue', 'vuex', 'vue-router', 'vuetify'], + preserveEntrySignatures: 'strict', }, }, - plugins: [ - vue(), - vitePluginSingleSpa({ - type: 'mife', // micro front-end - serverPort: 2913, - spaEntryPoints: 'src/main.js', - }), - devServerPlugin(options), - ], + server: { + port: 2913, + }, + plugins: [vue(), devServerPlugin(options)], resolve: { alias: { '@': resolve(__dirname, './src'), diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdtlmserver/package.json b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdtlmserver/package.json index 7d0982517e..8f7de38ca4 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdtlmserver/package.json +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdtlmserver/package.json @@ -31,7 +31,6 @@ "eslint-plugin-vue": "9.30.0", "prettier": "3.3.3", "sass": "1.80.4", - "vite": "5.4.11", - "vite-plugin-single-spa": "0.4.0" + "vite": "5.4.11" } } diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdtlmserver/vite.config.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdtlmserver/vite.config.js index 1199fbd3cd..f4f4f80041 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdtlmserver/vite.config.js +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdtlmserver/vite.config.js @@ -1,6 +1,5 @@ import { resolve } from 'path' import { defineConfig } from 'vite' -import { vitePluginSingleSpa } from 'vite-plugin-single-spa' import vue from '@vitejs/plugin-vue' import { devServerPlugin } from '@openc3/tool-common/viteDevServerPlugin' @@ -12,20 +11,19 @@ export default defineConfig((options) => { outDir: 'tools/cmdtlmserver', emptyOutDir: true, rollupOptions: { + input: 'src/main.js', output: { format: 'systemjs', + entryFileNames: `[name].js`, }, + external: ['vue', 'vuex', 'vue-router', 'vuetify'], + preserveEntrySignatures: 'strict', }, }, - plugins: [ - vue(), - vitePluginSingleSpa({ - type: 'mife', // micro front-end - serverPort: 2911, - spaEntryPoints: 'src/main.js', - }), - devServerPlugin(options), - ], + server: { + port: 2911, + }, + plugins: [vue(), devServerPlugin(options)], resolve: { alias: { '@': resolve(__dirname, '../src'), diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-dataextractor/package.json b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-dataextractor/package.json index 1e7b8f25da..0b1be65a23 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-dataextractor/package.json +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-dataextractor/package.json @@ -31,7 +31,6 @@ "eslint-plugin-vue": "9.30.0", "prettier": "3.3.3", "sass": "1.80.4", - "vite": "5.4.11", - "vite-plugin-single-spa": "0.4.0" + "vite": "5.4.11" } } diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-dataextractor/vite.config.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-dataextractor/vite.config.js index f597d63ba7..7687f7bd74 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-dataextractor/vite.config.js +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-dataextractor/vite.config.js @@ -1,6 +1,5 @@ import { resolve } from 'path' import { defineConfig } from 'vite' -import { vitePluginSingleSpa } from 'vite-plugin-single-spa' import vue from '@vitejs/plugin-vue' import { devServerPlugin } from '@openc3/tool-common/viteDevServerPlugin' @@ -12,20 +11,19 @@ export default defineConfig((options) => { outDir: 'tools/dataextractor', emptyOutDir: true, rollupOptions: { + input: 'src/main.js', output: { format: 'systemjs', + entryFileNames: `[name].js`, }, + external: ['vue', 'vuex', 'vue-router', 'vuetify'], + preserveEntrySignatures: 'strict', }, }, - plugins: [ - vue(), - vitePluginSingleSpa({ - type: 'mife', // micro front-end - serverPort: 2918, - spaEntryPoints: 'src/main.js', - }), - devServerPlugin(options), - ], + server: { + port: 2918, + }, + plugins: [vue(), devServerPlugin(options)], resolve: { alias: { '@': resolve(__dirname, './src'), diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-dataviewer/package.json b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-dataviewer/package.json index f15f3ce048..650f026bf9 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-dataviewer/package.json +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-dataviewer/package.json @@ -32,7 +32,6 @@ "eslint-plugin-vue": "9.30.0", "prettier": "3.3.3", "sass": "1.80.4", - "vite": "5.4.11", - "vite-plugin-single-spa": "0.4.0" + "vite": "5.4.11" } } diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-dataviewer/vite.config.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-dataviewer/vite.config.js index 764faaf480..b3ea507374 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-dataviewer/vite.config.js +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-dataviewer/vite.config.js @@ -1,6 +1,5 @@ import { resolve } from 'path' import { defineConfig } from 'vite' -import { vitePluginSingleSpa } from 'vite-plugin-single-spa' import vue from '@vitejs/plugin-vue' import { devServerPlugin } from '@openc3/tool-common/viteDevServerPlugin' @@ -12,20 +11,19 @@ export default defineConfig((options) => { outDir: 'tools/dataviewer', emptyOutDir: true, rollupOptions: { + input: 'src/main.js', output: { format: 'systemjs', + entryFileNames: `[name].js`, }, + external: ['vue', 'vuex', 'vue-router', 'vuetify'], + preserveEntrySignatures: 'strict', }, }, - plugins: [ - vue(), - vitePluginSingleSpa({ - type: 'mife', // micro front-end - serverPort: 2919, - spaEntryPoints: 'src/main.js', - }), - devServerPlugin(options), - ], + server: { + port: 2919, + }, + plugins: [vue(), devServerPlugin(options)], resolve: { alias: { '@': resolve(__dirname, './src'), diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-handbooks/package.json b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-handbooks/package.json index 625b701c29..d7c885e2e9 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-handbooks/package.json +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-handbooks/package.json @@ -32,7 +32,6 @@ "eslint-plugin-vue": "9.30.0", "prettier": "3.3.3", "sass": "1.80.4", - "vite": "5.4.11", - "vite-plugin-single-spa": "0.4.0" + "vite": "5.4.11" } } diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-handbooks/vite.config.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-handbooks/vite.config.js index c4cc5a8e5a..4048291a63 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-handbooks/vite.config.js +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-handbooks/vite.config.js @@ -1,6 +1,5 @@ import { resolve } from 'path' import { defineConfig } from 'vite' -import { vitePluginSingleSpa } from 'vite-plugin-single-spa' import vue from '@vitejs/plugin-vue' import { devServerPlugin } from '@openc3/tool-common/viteDevServerPlugin' @@ -12,20 +11,19 @@ export default defineConfig((options) => { outDir: 'tools/handbooks', emptyOutDir: true, rollupOptions: { + input: 'src/main.js', output: { format: 'systemjs', + entryFileNames: `[name].js`, }, + external: ['vue', 'vuex', 'vue-router', 'vuetify'], + preserveEntrySignatures: 'strict', }, }, - plugins: [ - vue(), - vitePluginSingleSpa({ - type: 'mife', // micro front-end - serverPort: 2923, - spaEntryPoints: 'src/main.js', - }), - devServerPlugin(options), - ], + server: { + port: 2923, + }, + plugins: [vue(), devServerPlugin(options)], resolve: { alias: { '@': resolve(__dirname, './src'), diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-iframe/package.json b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-iframe/package.json index 185ca0547f..d1f990ba4e 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-iframe/package.json +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-iframe/package.json @@ -32,7 +32,6 @@ "eslint-plugin-vue": "9.30.0", "prettier": "3.3.3", "sass": "1.80.4", - "vite": "5.4.11", - "vite-plugin-single-spa": "0.4.0" + "vite": "5.4.11" } } diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-iframe/vite.config.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-iframe/vite.config.js index 1cfadad280..94df8389c0 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-iframe/vite.config.js +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-iframe/vite.config.js @@ -1,6 +1,5 @@ import { resolve } from 'path' import { defineConfig } from 'vite' -import { vitePluginSingleSpa } from 'vite-plugin-single-spa' import vue from '@vitejs/plugin-vue' import { devServerPlugin } from '@openc3/tool-common/viteDevServerPlugin' @@ -12,20 +11,19 @@ export default defineConfig((options) => { outDir: 'tools/iframe', emptyOutDir: true, rollupOptions: { + input: 'src/main.js', output: { format: 'systemjs', + entryFileNames: `[name].js`, }, + external: ['vue', 'vuex', 'vue-router', 'vuetify'], + preserveEntrySignatures: 'strict', }, }, - plugins: [ - vue(), - vitePluginSingleSpa({ - type: 'mife', // micro front-end - serverPort: 2915, - spaEntryPoints: 'src/main.js', - }), - devServerPlugin(options), - ], + server: { + port: 2915, + }, + plugins: [vue(), devServerPlugin(options)], resolve: { alias: { '@': resolve(__dirname, './src'), diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-limitsmonitor/package.json b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-limitsmonitor/package.json index 12b113071c..a15d391c0d 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-limitsmonitor/package.json +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-limitsmonitor/package.json @@ -32,7 +32,6 @@ "eslint-plugin-vue": "9.30.0", "prettier": "3.3.3", "sass": "1.80.4", - "vite": "5.4.11", - "vite-plugin-single-spa": "0.4.0" + "vite": "5.4.11" } } diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-limitsmonitor/vite.config.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-limitsmonitor/vite.config.js index 125deefdf6..905bbf5ec9 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-limitsmonitor/vite.config.js +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-limitsmonitor/vite.config.js @@ -1,6 +1,5 @@ import { resolve } from 'path' import { defineConfig } from 'vite' -import { vitePluginSingleSpa } from 'vite-plugin-single-spa' import vue from '@vitejs/plugin-vue' import { devServerPlugin } from '@openc3/tool-common/viteDevServerPlugin' @@ -12,20 +11,19 @@ export default defineConfig((options) => { outDir: 'tools/limitsmonitor', emptyOutDir: true, rollupOptions: { + input: 'src/main.js', output: { format: 'systemjs', + entryFileNames: `[name].js`, }, + external: ['vue', 'vuex', 'vue-router', 'vuetify'], + preserveEntrySignatures: 'strict', }, }, - plugins: [ - vue(), - vitePluginSingleSpa({ - type: 'mife', // micro front-end - serverPort: 2912, - spaEntryPoints: 'src/main.js', - }), - devServerPlugin(options), - ], + server: { + port: 2912, + }, + plugins: [vue(), devServerPlugin(options)], resolve: { alias: { '@': resolve(__dirname, './src'), diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-packetviewer/package.json b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-packetviewer/package.json index 18c799e018..99b55ca592 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-packetviewer/package.json +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-packetviewer/package.json @@ -32,7 +32,6 @@ "eslint-plugin-vue": "9.30.0", "prettier": "3.3.3", "sass": "1.80.4", - "vite": "5.4.11", - "vite-plugin-single-spa": "0.4.0" + "vite": "5.4.11" } } diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-packetviewer/vite.config.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-packetviewer/vite.config.js index 540bcdd4e0..1452740d6c 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-packetviewer/vite.config.js +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-packetviewer/vite.config.js @@ -1,6 +1,5 @@ import { resolve } from 'path' import { defineConfig } from 'vite' -import { vitePluginSingleSpa } from 'vite-plugin-single-spa' import vue from '@vitejs/plugin-vue' import { devServerPlugin } from '@openc3/tool-common/viteDevServerPlugin' @@ -12,20 +11,19 @@ export default defineConfig((options) => { outDir: 'tools/packetviewer', emptyOutDir: true, rollupOptions: { + input: 'src/main.js', output: { format: 'systemjs', + entryFileNames: `[name].js`, }, + external: ['vue', 'vuex', 'vue-router', 'vuetify'], + preserveEntrySignatures: 'strict', }, }, - plugins: [ - vue(), - vitePluginSingleSpa({ - type: 'mife', // micro front-end - serverPort: 2915, - spaEntryPoints: 'src/main.js', - }), - devServerPlugin(options), - ], + server: { + port: 2915, + }, + plugins: [vue(), devServerPlugin(options)], resolve: { alias: { '@': resolve(__dirname, './src'), diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-scriptrunner/package.json b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-scriptrunner/package.json index dd68f92c53..f6f4781213 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-scriptrunner/package.json +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-scriptrunner/package.json @@ -34,7 +34,6 @@ "eslint-plugin-vue": "9.30.0", "prettier": "3.3.3", "sass": "1.80.4", - "vite": "5.4.11", - "vite-plugin-single-spa": "0.4.0" + "vite": "5.4.11" } } diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-scriptrunner/vite.config.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-scriptrunner/vite.config.js index 1255ba1ccd..63f4f13ba1 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-scriptrunner/vite.config.js +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-scriptrunner/vite.config.js @@ -1,6 +1,5 @@ import { resolve } from 'path' import { defineConfig } from 'vite' -import { vitePluginSingleSpa } from 'vite-plugin-single-spa' import vue from '@vitejs/plugin-vue' import { devServerPlugin } from '@openc3/tool-common/viteDevServerPlugin' @@ -12,20 +11,19 @@ export default defineConfig((options) => { outDir: 'tools/scriptrunner', emptyOutDir: true, rollupOptions: { + input: 'src/main.js', output: { format: 'systemjs', + entryFileNames: `[name].js`, }, + external: ['vue', 'vuex', 'vue-router', 'vuetify'], + preserveEntrySignatures: 'strict', }, }, - plugins: [ - vue(), - vitePluginSingleSpa({ - type: 'mife', // micro front-end - serverPort: 2914, - spaEntryPoints: 'src/main.js', - }), - devServerPlugin(options), - ], + server: { + port: 2914, + }, + plugins: [vue(), devServerPlugin(options)], resolve: { alias: { '@': resolve(__dirname, './src'), diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tablemanager/package.json b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tablemanager/package.json index 6faf6e3eca..1e20ae9e96 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tablemanager/package.json +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tablemanager/package.json @@ -32,7 +32,6 @@ "eslint-plugin-vue": "9.30.0", "prettier": "3.3.3", "sass": "1.80.4", - "vite": "5.4.11", - "vite-plugin-single-spa": "0.4.0" + "vite": "5.4.11" } } diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tablemanager/vite.config.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tablemanager/vite.config.js index dc0f548c12..b937cff999 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tablemanager/vite.config.js +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tablemanager/vite.config.js @@ -1,6 +1,5 @@ import { resolve } from 'path' import { defineConfig } from 'vite' -import { vitePluginSingleSpa } from 'vite-plugin-single-spa' import vue from '@vitejs/plugin-vue' import { devServerPlugin } from '@openc3/tool-common/viteDevServerPlugin' @@ -12,20 +11,19 @@ export default defineConfig((options) => { outDir: 'tools/tablemanager', emptyOutDir: true, rollupOptions: { + input: 'src/main.js', output: { format: 'systemjs', + entryFileNames: `[name].js`, }, + external: ['vue', 'vuex', 'vue-router', 'vuetify'], + preserveEntrySignatures: 'strict', }, }, - plugins: [ - vue(), - vitePluginSingleSpa({ - type: 'mife', // micro front-end - serverPort: 2916, - spaEntryPoints: 'src/main.js', - }), - devServerPlugin(options), - ], + server: { + port: 2916, + }, + plugins: [vue(), devServerPlugin(options)], resolve: { alias: { '@': resolve(__dirname, './src'), diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tlmgrapher/package.json b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tlmgrapher/package.json index b1358296f5..3787708156 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tlmgrapher/package.json +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tlmgrapher/package.json @@ -34,7 +34,6 @@ "eslint-plugin-vue": "9.30.0", "prettier": "3.3.3", "sass": "1.80.4", - "vite": "5.4.11", - "vite-plugin-single-spa": "0.4.0" + "vite": "5.4.11" } } diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tlmgrapher/vite.config.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tlmgrapher/vite.config.js index 025b363c6d..3f7b230311 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tlmgrapher/vite.config.js +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tlmgrapher/vite.config.js @@ -1,6 +1,5 @@ import { resolve } from 'path' import { defineConfig } from 'vite' -import { vitePluginSingleSpa } from 'vite-plugin-single-spa' import vue from '@vitejs/plugin-vue' import { devServerPlugin } from '@openc3/tool-common/viteDevServerPlugin' @@ -12,20 +11,19 @@ export default defineConfig((options) => { outDir: 'tools/tlmgrapher', emptyOutDir: true, rollupOptions: { + input: 'src/main.js', output: { format: 'systemjs', + entryFileNames: `[name].js`, }, + external: ['vue', 'vuex', 'vue-router', 'vuetify'], + preserveEntrySignatures: 'strict', }, }, - plugins: [ - vue(), - vitePluginSingleSpa({ - type: 'mife', // micro front-end - serverPort: 2917, - spaEntryPoints: 'src/main.js', - }), - devServerPlugin(options), - ], + server: { + port: 2917, + }, + plugins: [vue(), devServerPlugin(options)], resolve: { alias: { '@': resolve(__dirname, './src'), diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tlmviewer/package.json b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tlmviewer/package.json index 8e8b6c0b39..0cc07a8c3c 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tlmviewer/package.json +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tlmviewer/package.json @@ -35,7 +35,6 @@ "eslint-plugin-vue": "9.30.0", "prettier": "3.3.3", "sass": "1.80.4", - "vite": "5.4.11", - "vite-plugin-single-spa": "0.4.0" + "vite": "5.4.11" } } diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tlmviewer/vite.config.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tlmviewer/vite.config.js index 0b98a7a7e9..2d9d5ce09c 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tlmviewer/vite.config.js +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tlmviewer/vite.config.js @@ -1,6 +1,5 @@ import { resolve } from 'path' import { defineConfig } from 'vite' -import { vitePluginSingleSpa } from 'vite-plugin-single-spa' import vue from '@vitejs/plugin-vue' import { devServerPlugin } from '@openc3/tool-common/viteDevServerPlugin' @@ -12,20 +11,19 @@ export default defineConfig((options) => { outDir: 'tools/tlmviewer', emptyOutDir: true, rollupOptions: { + input: 'src/main.js', output: { format: 'systemjs', + entryFileNames: `[name].js`, }, + external: ['vue', 'vuex', 'vue-router', 'vuetify'], + preserveEntrySignatures: 'strict', }, }, - plugins: [ - vue(), - vitePluginSingleSpa({ - type: 'mife', // micro front-end - serverPort: 2920, - spaEntryPoints: 'src/main.js', - }), - devServerPlugin(options), - ], + server: { + port: 2920, + }, + plugins: [vue(), devServerPlugin(options)], resolve: { alias: { '@': resolve(__dirname, './src'), From 19ba7806214ca438d37af04ce64a87d2a9012d93 Mon Sep 17 00:00:00 2001 From: Ryan Melton Date: Sun, 24 Nov 2024 21:06:13 -0700 Subject: [PATCH 11/27] Single import map --- .../app/controllers/tools_controller.rb | 18 ++- .../openc3-tool-base/index-allow-http.html | 136 +++++++----------- .../plugins/openc3-tool-base/index.html | 136 +++++++----------- .../plugins/openc3-tool-base/plugin.txt | 8 +- openc3/data/config/tool.yaml | 12 ++ openc3/lib/openc3/models/tool_model.rb | 10 +- 6 files changed, 145 insertions(+), 175 deletions(-) diff --git a/openc3-cosmos-cmd-tlm-api/app/controllers/tools_controller.rb b/openc3-cosmos-cmd-tlm-api/app/controllers/tools_controller.rb index 993e0d71df..d46e7d8f3e 100644 --- a/openc3-cosmos-cmd-tlm-api/app/controllers/tools_controller.rb +++ b/openc3-cosmos-cmd-tlm-api/app/controllers/tools_controller.rb @@ -45,16 +45,20 @@ def position end def importmap - result = "" + result = Hash.new + result["imports"] = Hash.new + tools = @model_class.all_scopes inline_tools = {} tools.each do |key, tool| - inline_tools[key] = tool if tool['inline_url'] and tool['window'] == 'INLINE' - end - result = Hash.new - result["imports"] = Hash.new - inline_tools.each do |key, tool| - result["imports"]["@openc3/tool-#{tool['folder_name']}"] = "/tools/#{tool['folder_name']}/#{tool['inline_url']}" + if tool['import_map_items'] + tool['import_map_items'].each do |item_key, item| + result["imports"][item_key] = item + end + end + if tool['inline_url'] and tool['window'] == 'INLINE' + result["imports"]["@openc3/tool-#{tool['folder_name']}"] = "/tools/#{tool['folder_name']}/#{tool['inline_url']}" + end end render json: result end diff --git a/openc3-cosmos-init/plugins/openc3-tool-base/index-allow-http.html b/openc3-cosmos-init/plugins/openc3-tool-base/index-allow-http.html index 36d10fae04..75e391fb91 100644 --- a/openc3-cosmos-init/plugins/openc3-tool-base/index-allow-http.html +++ b/openc3-cosmos-init/plugins/openc3-tool-base/index-allow-http.html @@ -1,96 +1,66 @@ - - - - - OpenC3 - - - - - - - - + + + + + OpenC3 - + + + + + + - - - - - - - - - - - - - - - - - - - - + + + + + + + + + - - - - - + + + + + + + +
+ + + - -
- - - - + \ No newline at end of file diff --git a/openc3-cosmos-init/plugins/openc3-tool-base/index.html b/openc3-cosmos-init/plugins/openc3-tool-base/index.html index 7794335b39..e446093947 100644 --- a/openc3-cosmos-init/plugins/openc3-tool-base/index.html +++ b/openc3-cosmos-init/plugins/openc3-tool-base/index.html @@ -1,96 +1,66 @@ - - - - - OpenC3 - - - - - - - - + + + + + OpenC3 - + + + + + + - - - - - - - - - - - - - - - - - - - - + + + + + + + + + - - - - - + + + + + + + +
+ + + - -
- - - - + \ No newline at end of file diff --git a/openc3-cosmos-init/plugins/openc3-tool-base/plugin.txt b/openc3-cosmos-init/plugins/openc3-tool-base/plugin.txt index f00346bc58..3d87fcf912 100644 --- a/openc3-cosmos-init/plugins/openc3-tool-base/plugin.txt +++ b/openc3-cosmos-init/plugins/openc3-tool-base/plugin.txt @@ -1,3 +1,9 @@ TOOL base Base SHOWN false - POSITION 0 # Fixed as Base is not displayed \ No newline at end of file + POSITION 0 # Fixed as Base is not displayed + IMPORT_MAP_ITEM "single-spa" "/js/single-spa-5.9.5.min.js" + IMPORT_MAP_ITEM "vue" "/js/vue-3.5.4.min.js" + IMPORT_MAP_ITEM "vuetify" "/js/vuetify-3.7.1.min.js" + IMPORT_MAP_ITEM "vue-router" "/js/vue-router-4.4.4.min.js" + IMPORT_MAP_ITEM "vuex" "/js/vuex-4.1.0.min.js" + IMPORT_MAP_ITEM "openc3-tool-base" "/openc3-tool-base.js" \ No newline at end of file diff --git a/openc3/data/config/tool.yaml b/openc3/data/config/tool.yaml index 00524fb2cd..88675f85ba 100644 --- a/openc3/data/config/tool.yaml +++ b/openc3/data/config/tool.yaml @@ -82,3 +82,15 @@ TOOL: required: false description: Regex to match against filenames. If match, then no ERB processing values: .+ + IMPORT_MAP_ITEM: + summary: Add an item to the import map + since: 6.0.0 + parameters: + - name: key + required: true + description: Import Map Key + values: .+ + - name: value + required: true + description: Import Map Value + values: .+ diff --git a/openc3/lib/openc3/models/tool_model.rb b/openc3/lib/openc3/models/tool_model.rb index c84d373976..a0d388f643 100644 --- a/openc3/lib/openc3/models/tool_model.rb +++ b/openc3/lib/openc3/models/tool_model.rb @@ -40,6 +40,7 @@ class ToolModel < Model attr_accessor :position attr_accessor :needs_dependencies attr_accessor :disable_erb + attr_accessor :import_map_items # NOTE: The following three class methods are used by the ModelController # and are reimplemented to enable various Model class methods to work @@ -137,6 +138,7 @@ def initialize( plugin: nil, needs_dependencies: false, disable_erb: nil, + import_map_items: nil, scope: ) super("#{scope}__#{PRIMARY_KEY}", name: name, plugin: plugin, updated_at: updated_at, scope: scope) @@ -155,6 +157,7 @@ def initialize( end @needs_dependencies = needs_dependencies @disable_erb = disable_erb + @import_map_items = import_map_items end def create(update: false, force: false, queued: false) @@ -198,7 +201,8 @@ def as_json(*a) 'updated_at' => @updated_at, 'plugin' => @plugin, 'needs_dependencies' => @needs_dependencies, - 'disable_erb' => @disable_erb + 'disable_erb' => @disable_erb, + 'import_map_items' => @import_map_items, } end @@ -232,6 +236,10 @@ def handle_config(parser, keyword, parameters) if parameters @disable_erb.concat(parameters) end + when 'IMPORT_MAP_ITEM' + parser.verify_num_parameters(2, 2, "IMPORT_MAP_ITEM ") + @import_map_items ||= [] + @import_map_items << [parameters[0], parameters[1]] else raise ConfigParser::Error.new(parser, "Unknown keyword and parameters for Tool: #{keyword} #{parameters.join(" ")}") end From f3891208afd740b3439c1b2dcb0df4547a4968ba Mon Sep 17 00:00:00 2001 From: Ryan Pratt Date: Mon, 25 Nov 2024 15:28:54 -0700 Subject: [PATCH 12/27] Fix module syntax for notify plugin --- .../src/plugins/notify/index.js | 39 ++++++++++++------- 1 file changed, 25 insertions(+), 14 deletions(-) diff --git a/openc3-cosmos-init/plugins/packages/openc3-tool-common/src/plugins/notify/index.js b/openc3-cosmos-init/plugins/packages/openc3-tool-common/src/plugins/notify/index.js index 5cd5c43127..5dab399c71 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-tool-common/src/plugins/notify/index.js +++ b/openc3-cosmos-init/plugins/packages/openc3-tool-common/src/plugins/notify/index.js @@ -44,7 +44,7 @@ class Notify { * This gets called each time `open()` is invoked by an app in COSMOS. * It puts the element into the DOM that allows toasts to be shown. */ - mount = function () { + mount() { if (this.mounted) return const app = createApp(Toast) @@ -56,7 +56,7 @@ class Notify { this.mounted = true } - open = function ({ + open({ method, title, body, @@ -82,7 +82,7 @@ class Notify { this[method]({ title, body, message, level, duration, type }) } - toast = function ({ title, body, message, level, duration, type }) { + toast({ title, body, message, level, duration, type }) { this.$root.toast( { title, @@ -95,7 +95,7 @@ class Notify { ) } - critical = function ({ + critical({ title, body, message, @@ -116,10 +116,14 @@ class Notify { saveToHistory, }) } - FATAL = this.critical - ERROR = this.critical + FATAL(options) { + this.critical(options) + } + ERROR(options) { + this.critical(options) + } - serious = function ({ + serious({ title, body, message, @@ -140,7 +144,7 @@ class Notify { saveToHistory, }) } - caution = function ({ + caution({ title, body, message, @@ -161,9 +165,11 @@ class Notify { saveToHistory, }) } - WARN = this.caution + WARN(options) { + this.caution(options) + } - normal = function ({ + normal({ title, body, message, @@ -184,10 +190,14 @@ class Notify { saveToHistory, }) } - INFO = this.normal - DEBUG = this.normal + INFO(options) { + this.normal(options) + } + DEBUG(options) { + this.normal(options) + } - standby = function ({ + standby({ title, body, message, @@ -208,7 +218,8 @@ class Notify { saveToHistory, }) } - off = function ({ + + off({ title, body, message, From 95b1e1b1f5833e942aeb56bf832fecfd7b1d66e9 Mon Sep 17 00:00:00 2001 From: Ryan Pratt Date: Mon, 25 Nov 2024 15:50:16 -0700 Subject: [PATCH 13/27] Include index-allow-http.html in build --- .../plugins/openc3-tool-base/package.json | 3 +-- .../plugins/openc3-tool-base/vite.config.js | 21 ++++++------------- .../vite-BigWidget.config.js | 5 +---- .../vite.config.js | 2 +- 4 files changed, 9 insertions(+), 22 deletions(-) diff --git a/openc3-cosmos-init/plugins/openc3-tool-base/package.json b/openc3-cosmos-init/plugins/openc3-tool-base/package.json index 20d78eae6a..d579743eab 100644 --- a/openc3-cosmos-init/plugins/openc3-tool-base/package.json +++ b/openc3-cosmos-init/plugins/openc3-tool-base/package.json @@ -32,7 +32,6 @@ "sass": "1.80.4", "serve": "14.2.4", "vite": "5.4.11", - "vite-plugin-ejs": "1.7.0", - "vite-plugin-html": "3.2.2" + "vite-plugin-ejs": "1.7.0" } } diff --git a/openc3-cosmos-init/plugins/openc3-tool-base/vite.config.js b/openc3-cosmos-init/plugins/openc3-tool-base/vite.config.js index 9d5113be0f..91b44bd94d 100644 --- a/openc3-cosmos-init/plugins/openc3-tool-base/vite.config.js +++ b/openc3-cosmos-init/plugins/openc3-tool-base/vite.config.js @@ -1,5 +1,4 @@ import { defineConfig } from 'vite' -import { createHtmlPlugin } from 'vite-plugin-html' import vue from '@vitejs/plugin-vue' const DEFAULT_EXTENSIONS = ['.mjs', '.js', '.ts', '.jsx', '.tsx', '.json'] @@ -9,21 +8,13 @@ export default defineConfig({ outDir: 'tools/base', emptyOutDir: true, copyPublicDir: true, + rollupOptions: { + input: ['index.html', 'index-allow-http.html'], + format: 'systemjs', + preserveEntrySignatures: true, + }, }, - rollupOptions: { - input: 'src/openc3-tool-base.js', - format: 'systemjs', - preserveEntrySignatures: true, - }, - plugins: [ - vue(), - createHtmlPlugin({ - template: 'index.html', - }), - createHtmlPlugin({ - template: 'index-allow-http.html', - }), - ], + plugins: [vue()], resolve: { extensions: [...DEFAULT_EXTENSIONS, '.vue'], // not recommended but saves us from having to change every SFC import }, diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-demo/vite-BigWidget.config.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-demo/vite-BigWidget.config.js index 84c69be003..36d8b9d570 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-demo/vite-BigWidget.config.js +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-demo/vite-BigWidget.config.js @@ -19,10 +19,7 @@ export default defineConfig({ external: ['vue', 'vuetify'], }, }, - plugins: [ - vue(), - VitePluginStyleInject(), - ], + plugins: [vue(), VitePluginStyleInject()], resolve: { extensions: [...DEFAULT_EXTENSIONS, '.vue'], // not recommended but saves us from having to change every SFC import }, diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdtlmserver/vite.config.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdtlmserver/vite.config.js index f4f4f80041..7c2a137dbe 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdtlmserver/vite.config.js +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdtlmserver/vite.config.js @@ -26,7 +26,7 @@ export default defineConfig((options) => { plugins: [vue(), devServerPlugin(options)], resolve: { alias: { - '@': resolve(__dirname, '../src'), + '@': resolve(__dirname, './src'), }, extensions: [...DEFAULT_EXTENSIONS, '.vue'], // not recommended but saves us from having to change every SFC import }, From 8cd2e4f66f40524df577ab5f0fcdc66fbb56c3c6 Mon Sep 17 00:00:00 2001 From: Ryan Pratt Date: Mon, 25 Nov 2024 15:55:53 -0700 Subject: [PATCH 14/27] Fix rux component warnings --- .../packages/openc3-cosmos-tool-admin/vite.config.js | 11 ++++++++++- .../openc3-cosmos-tool-bucketexplorer/vite.config.js | 11 ++++++++++- .../openc3-cosmos-tool-cmdsender/vite.config.js | 11 ++++++++++- .../openc3-cosmos-tool-cmdtlmserver/vite.config.js | 11 ++++++++++- .../openc3-cosmos-tool-dataextractor/vite.config.js | 11 ++++++++++- .../openc3-cosmos-tool-dataviewer/vite.config.js | 11 ++++++++++- .../openc3-cosmos-tool-handbooks/vite.config.js | 11 ++++++++++- .../packages/openc3-cosmos-tool-iframe/vite.config.js | 11 ++++++++++- .../openc3-cosmos-tool-limitsmonitor/vite.config.js | 11 ++++++++++- .../openc3-cosmos-tool-packetviewer/vite.config.js | 11 ++++++++++- .../openc3-cosmos-tool-scriptrunner/vite.config.js | 11 ++++++++++- .../openc3-cosmos-tool-tablemanager/vite.config.js | 11 ++++++++++- .../openc3-cosmos-tool-tlmgrapher/vite.config.js | 11 ++++++++++- .../openc3-cosmos-tool-tlmviewer/vite.config.js | 11 ++++++++++- 14 files changed, 140 insertions(+), 14 deletions(-) diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-admin/vite.config.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-admin/vite.config.js index 851db67d23..1e8ded44e6 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-admin/vite.config.js +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-admin/vite.config.js @@ -23,7 +23,16 @@ export default defineConfig((options) => { server: { port: 2930, }, - plugins: [vue(), devServerPlugin(options)], + plugins: [ + vue({ + template: { + compilerOptions: { + isCustomElement: (tag) => tag.startsWith('rux-'), + }, + }, + }), + devServerPlugin(options), + ], resolve: { alias: { '@': resolve(__dirname, './src'), diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-bucketexplorer/vite.config.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-bucketexplorer/vite.config.js index cce15dc4e6..4ef1223bf2 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-bucketexplorer/vite.config.js +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-bucketexplorer/vite.config.js @@ -23,7 +23,16 @@ export default defineConfig((options) => { server: { port: 2923, }, - plugins: [vue(), devServerPlugin(options)], + plugins: [ + vue({ + template: { + compilerOptions: { + isCustomElement: (tag) => tag.startsWith('rux-'), + }, + }, + }), + devServerPlugin(options), + ], resolve: { alias: { '@': resolve(__dirname, './src'), diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdsender/vite.config.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdsender/vite.config.js index 13e3f5194d..0fcc5625a6 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdsender/vite.config.js +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdsender/vite.config.js @@ -23,7 +23,16 @@ export default defineConfig((options) => { server: { port: 2913, }, - plugins: [vue(), devServerPlugin(options)], + plugins: [ + vue({ + template: { + compilerOptions: { + isCustomElement: (tag) => tag.startsWith('rux-'), + }, + }, + }), + devServerPlugin(options), + ], resolve: { alias: { '@': resolve(__dirname, './src'), diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdtlmserver/vite.config.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdtlmserver/vite.config.js index 7c2a137dbe..e3af875c4c 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdtlmserver/vite.config.js +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdtlmserver/vite.config.js @@ -23,7 +23,16 @@ export default defineConfig((options) => { server: { port: 2911, }, - plugins: [vue(), devServerPlugin(options)], + plugins: [ + vue({ + template: { + compilerOptions: { + isCustomElement: (tag) => tag.startsWith('rux-'), + }, + }, + }), + devServerPlugin(options), + ], resolve: { alias: { '@': resolve(__dirname, './src'), diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-dataextractor/vite.config.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-dataextractor/vite.config.js index 7687f7bd74..aecf31117a 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-dataextractor/vite.config.js +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-dataextractor/vite.config.js @@ -23,7 +23,16 @@ export default defineConfig((options) => { server: { port: 2918, }, - plugins: [vue(), devServerPlugin(options)], + plugins: [ + vue({ + template: { + compilerOptions: { + isCustomElement: (tag) => tag.startsWith('rux-'), + }, + }, + }), + devServerPlugin(options), + ], resolve: { alias: { '@': resolve(__dirname, './src'), diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-dataviewer/vite.config.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-dataviewer/vite.config.js index b3ea507374..a3bd52ba92 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-dataviewer/vite.config.js +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-dataviewer/vite.config.js @@ -23,7 +23,16 @@ export default defineConfig((options) => { server: { port: 2919, }, - plugins: [vue(), devServerPlugin(options)], + plugins: [ + vue({ + template: { + compilerOptions: { + isCustomElement: (tag) => tag.startsWith('rux-'), + }, + }, + }), + devServerPlugin(options), + ], resolve: { alias: { '@': resolve(__dirname, './src'), diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-handbooks/vite.config.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-handbooks/vite.config.js index 4048291a63..5cc4293a3f 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-handbooks/vite.config.js +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-handbooks/vite.config.js @@ -23,7 +23,16 @@ export default defineConfig((options) => { server: { port: 2923, }, - plugins: [vue(), devServerPlugin(options)], + plugins: [ + vue({ + template: { + compilerOptions: { + isCustomElement: (tag) => tag.startsWith('rux-'), + }, + }, + }), + devServerPlugin(options), + ], resolve: { alias: { '@': resolve(__dirname, './src'), diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-iframe/vite.config.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-iframe/vite.config.js index 94df8389c0..709dbfc98a 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-iframe/vite.config.js +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-iframe/vite.config.js @@ -23,7 +23,16 @@ export default defineConfig((options) => { server: { port: 2915, }, - plugins: [vue(), devServerPlugin(options)], + plugins: [ + vue({ + template: { + compilerOptions: { + isCustomElement: (tag) => tag.startsWith('rux-'), + }, + }, + }), + devServerPlugin(options), + ], resolve: { alias: { '@': resolve(__dirname, './src'), diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-limitsmonitor/vite.config.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-limitsmonitor/vite.config.js index 905bbf5ec9..dd4b40fa2c 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-limitsmonitor/vite.config.js +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-limitsmonitor/vite.config.js @@ -23,7 +23,16 @@ export default defineConfig((options) => { server: { port: 2912, }, - plugins: [vue(), devServerPlugin(options)], + plugins: [ + vue({ + template: { + compilerOptions: { + isCustomElement: (tag) => tag.startsWith('rux-'), + }, + }, + }), + devServerPlugin(options), + ], resolve: { alias: { '@': resolve(__dirname, './src'), diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-packetviewer/vite.config.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-packetviewer/vite.config.js index 1452740d6c..35cf7290bd 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-packetviewer/vite.config.js +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-packetviewer/vite.config.js @@ -23,7 +23,16 @@ export default defineConfig((options) => { server: { port: 2915, }, - plugins: [vue(), devServerPlugin(options)], + plugins: [ + vue({ + template: { + compilerOptions: { + isCustomElement: (tag) => tag.startsWith('rux-'), + }, + }, + }), + devServerPlugin(options), + ], resolve: { alias: { '@': resolve(__dirname, './src'), diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-scriptrunner/vite.config.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-scriptrunner/vite.config.js index 63f4f13ba1..75c5bd4fa2 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-scriptrunner/vite.config.js +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-scriptrunner/vite.config.js @@ -23,7 +23,16 @@ export default defineConfig((options) => { server: { port: 2914, }, - plugins: [vue(), devServerPlugin(options)], + plugins: [ + vue({ + template: { + compilerOptions: { + isCustomElement: (tag) => tag.startsWith('rux-'), + }, + }, + }), + devServerPlugin(options), + ], resolve: { alias: { '@': resolve(__dirname, './src'), diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tablemanager/vite.config.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tablemanager/vite.config.js index b937cff999..18b44380b8 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tablemanager/vite.config.js +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tablemanager/vite.config.js @@ -23,7 +23,16 @@ export default defineConfig((options) => { server: { port: 2916, }, - plugins: [vue(), devServerPlugin(options)], + plugins: [ + vue({ + template: { + compilerOptions: { + isCustomElement: (tag) => tag.startsWith('rux-'), + }, + }, + }), + devServerPlugin(options), + ], resolve: { alias: { '@': resolve(__dirname, './src'), diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tlmgrapher/vite.config.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tlmgrapher/vite.config.js index 3f7b230311..1943c4f296 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tlmgrapher/vite.config.js +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tlmgrapher/vite.config.js @@ -23,7 +23,16 @@ export default defineConfig((options) => { server: { port: 2917, }, - plugins: [vue(), devServerPlugin(options)], + plugins: [ + vue({ + template: { + compilerOptions: { + isCustomElement: (tag) => tag.startsWith('rux-'), + }, + }, + }), + devServerPlugin(options), + ], resolve: { alias: { '@': resolve(__dirname, './src'), diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tlmviewer/vite.config.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tlmviewer/vite.config.js index 2d9d5ce09c..384a41c843 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tlmviewer/vite.config.js +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tlmviewer/vite.config.js @@ -23,7 +23,16 @@ export default defineConfig((options) => { server: { port: 2920, }, - plugins: [vue(), devServerPlugin(options)], + plugins: [ + vue({ + template: { + compilerOptions: { + isCustomElement: (tag) => tag.startsWith('rux-'), + }, + }, + }), + devServerPlugin(options), + ], resolve: { alias: { '@': resolve(__dirname, './src'), From 1a603776c345d0e0349c74fe27bf2dc4670d47f8 Mon Sep 17 00:00:00 2001 From: Ryan Pratt Date: Mon, 25 Nov 2024 16:10:27 -0700 Subject: [PATCH 15/27] Remove regenerator-runtime This was effectively a polyfil for async js code. I removed it from index.html a little bit ago but forgot to remove it everywhere else --- openc3-cosmos-init/plugins/openc3-tool-base/package.json | 1 - .../public/js/regenerator-runtime-0.14.1.min.js | 8 -------- scripts/release/package_audit.rb | 2 +- scripts/release/package_audit_lib.rb | 2 -- 4 files changed, 1 insertion(+), 12 deletions(-) delete mode 100644 openc3-cosmos-init/plugins/openc3-tool-base/public/js/regenerator-runtime-0.14.1.min.js diff --git a/openc3-cosmos-init/plugins/openc3-tool-base/package.json b/openc3-cosmos-init/plugins/openc3-tool-base/package.json index d579743eab..ea956331aa 100644 --- a/openc3-cosmos-init/plugins/openc3-tool-base/package.json +++ b/openc3-cosmos-init/plugins/openc3-tool-base/package.json @@ -15,7 +15,6 @@ "axios": "1.7.7", "date-fns": "4.1.0", "import-map-overrides": "3.1.1", - "regenerator-runtime": "0.14.1", "systemjs": "6.15.1", "vue": "3.5.4", "vue-router": "4.4.4", diff --git a/openc3-cosmos-init/plugins/openc3-tool-base/public/js/regenerator-runtime-0.14.1.min.js b/openc3-cosmos-init/plugins/openc3-tool-base/public/js/regenerator-runtime-0.14.1.min.js deleted file mode 100644 index 20b4c91077..0000000000 --- a/openc3-cosmos-init/plugins/openc3-tool-base/public/js/regenerator-runtime-0.14.1.min.js +++ /dev/null @@ -1,8 +0,0 @@ -/** - * Minified by jsDelivr using Terser v5.19.2. - * Original file: /npm/regenerator-runtime@0.14.1/runtime.js - * - * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files - */ -var runtime=function(t){"use strict";var r,e=Object.prototype,n=e.hasOwnProperty,o=Object.defineProperty||function(t,r,e){t[r]=e.value},i="function"==typeof Symbol?Symbol:{},a=i.iterator||"@@iterator",c=i.asyncIterator||"@@asyncIterator",u=i.toStringTag||"@@toStringTag";function h(t,r,e){return Object.defineProperty(t,r,{value:e,enumerable:!0,configurable:!0,writable:!0}),t[r]}try{h({},"")}catch(t){h=function(t,r,e){return t[r]=e}}function l(t,r,e,n){var i=r&&r.prototype instanceof d?r:d,a=Object.create(i.prototype),c=new T(n||[]);return o(a,"_invoke",{value:O(t,e,c)}),a}function f(t,r,e){try{return{type:"normal",arg:t.call(r,e)}}catch(t){return{type:"throw",arg:t}}}t.wrap=l;var s="suspendedStart",p="suspendedYield",y="executing",v="completed",g={};function d(){}function m(){}function w(){}var b={};h(b,a,(function(){return this}));var L=Object.getPrototypeOf,x=L&&L(L(P([])));x&&x!==e&&n.call(x,a)&&(b=x);var E=w.prototype=d.prototype=Object.create(b);function j(t){["next","throw","return"].forEach((function(r){h(t,r,(function(t){return this._invoke(r,t)}))}))}function _(t,r){function e(o,i,a,c){var u=f(t[o],t,i);if("throw"!==u.type){var h=u.arg,l=h.value;return l&&"object"==typeof l&&n.call(l,"__await")?r.resolve(l.__await).then((function(t){e("next",t,a,c)}),(function(t){e("throw",t,a,c)})):r.resolve(l).then((function(t){h.value=t,a(h)}),(function(t){return e("throw",t,a,c)}))}c(u.arg)}var i;o(this,"_invoke",{value:function(t,n){function o(){return new r((function(r,o){e(t,n,r,o)}))}return i=i?i.then(o,o):o()}})}function O(t,e,n){var o=s;return function(i,a){if(o===y)throw new Error("Generator is already running");if(o===v){if("throw"===i)throw a;return{value:r,done:!0}}for(n.method=i,n.arg=a;;){var c=n.delegate;if(c){var u=k(c,n);if(u){if(u===g)continue;return u}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(o===s)throw o=v,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);o=y;var h=f(t,e,n);if("normal"===h.type){if(o=n.done?v:p,h.arg===g)continue;return{value:h.arg,done:n.done}}"throw"===h.type&&(o=v,n.method="throw",n.arg=h.arg)}}}function k(t,e){var n=e.method,o=t.iterator[n];if(o===r)return e.delegate=null,"throw"===n&&t.iterator.return&&(e.method="return",e.arg=r,k(t,e),"throw"===e.method)||"return"!==n&&(e.method="throw",e.arg=new TypeError("The iterator does not provide a '"+n+"' method")),g;var i=f(o,t.iterator,e.arg);if("throw"===i.type)return e.method="throw",e.arg=i.arg,e.delegate=null,g;var a=i.arg;return a?a.done?(e[t.resultName]=a.value,e.next=t.nextLoc,"return"!==e.method&&(e.method="next",e.arg=r),e.delegate=null,g):a:(e.method="throw",e.arg=new TypeError("iterator result is not an object"),e.delegate=null,g)}function G(t){var r={tryLoc:t[0]};1 in t&&(r.catchLoc=t[1]),2 in t&&(r.finallyLoc=t[2],r.afterLoc=t[3]),this.tryEntries.push(r)}function N(t){var r=t.completion||{};r.type="normal",delete r.arg,t.completion=r}function T(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(G,this),this.reset(!0)}function P(t){if(null!=t){var e=t[a];if(e)return e.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var o=-1,i=function e(){for(;++o=0;--i){var a=this.tryEntries[i],c=a.completion;if("root"===a.tryLoc)return o("end");if(a.tryLoc<=this.prev){var u=n.call(a,"catchLoc"),h=n.call(a,"finallyLoc");if(u&&h){if(this.prev=0;--e){var o=this.tryEntries[e];if(o.tryLoc<=this.prev&&n.call(o,"finallyLoc")&&this.prev=0;--r){var e=this.tryEntries[r];if(e.finallyLoc===t)return this.complete(e.completion,e.afterLoc),N(e),g}},catch:function(t){for(var r=this.tryEntries.length-1;r>=0;--r){var e=this.tryEntries[r];if(e.tryLoc===t){var n=e.completion;if("throw"===n.type){var o=n.arg;N(e)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(t,e,n){return this.delegate={iterator:P(t),resultName:e,nextLoc:n},"next"===this.method&&(this.arg=r),g}},t}("object"==typeof module?module.exports:{});try{regeneratorRuntime=runtime}catch(t){"object"==typeof globalThis?globalThis.regeneratorRuntime=runtime:Function("r","regeneratorRuntime = r")(runtime)} -//# sourceMappingURL=/sm/96e98265f60553d21bfd818d570dcf09b5fb2fe39b7b5691df927b69e3126335.map \ No newline at end of file diff --git a/scripts/release/package_audit.rb b/scripts/release/package_audit.rb index 5d329c7c2e..a9db947924 100644 --- a/scripts/release/package_audit.rb +++ b/scripts/release/package_audit.rb @@ -74,7 +74,7 @@ check_container_version(client, containers, 'traefik') check_minio(client, containers) check_container_version(client, containers, 'redis') -base_pkgs = %w(import-map-overrides regenerator-runtime single-spa systemjs vue vue-router vuetify vuex) +base_pkgs = %w(import-map-overrides single-spa systemjs vue vue-router vuetify vuex) check_tool_base('openc3-cosmos-init/plugins/openc3-tool-base', base_pkgs) puts "\n*** If you update a container version re-run to ensure there aren't additional updates! ***\n\n" diff --git a/scripts/release/package_audit_lib.rb b/scripts/release/package_audit_lib.rb index e80d1445b9..cdc36cdd1d 100644 --- a/scripts/release/package_audit_lib.rb +++ b/scripts/release/package_audit_lib.rb @@ -431,8 +431,6 @@ def check_tool_base(path, base_pkgs) FileUtils.rm(Dir["public/css/vuetify-*"][0]) # Delete the existing vuetify css `curl https://cdnjs.cloudflare.com/ajax/libs/#{package}/#{latest}/#{package}.min.css --output public/css/#{package}-#{latest}.min.css` `curl https://cdnjs.cloudflare.com/ajax/libs/#{package}/#{latest}/#{package}.min.js --output public/js/#{package}-#{latest}.min.js` - when 'regenerator-runtime' - `curl https://cdn.jsdelivr.net/npm/#{package}@#{latest}/runtime.min.js --output public/js/#{package}-#{latest}.min.js` when 'import-map-overrides' `curl https://cdn.jsdelivr.net/npm/#{package}@#{latest}/dist/import-map-overrides.js --output public/js/#{package}-#{latest}.min.js` `curl https://cdn.jsdelivr.net/npm/#{package}@#{latest}/dist/import-map-overrides.js.map --output public/js/#{package}-#{latest}.min.js.map` From b96a7f8c60885b28bafd3ce0767bdb3b5847120c Mon Sep 17 00:00:00 2001 From: Ryan Melton Date: Mon, 25 Nov 2024 19:20:51 -0700 Subject: [PATCH 16/27] Add single-spa to externals. Add index to public. Adjust index contents. Make main.js default --- .../openc3-tool-base/index-allow-http.html | 66 ------------------- .../plugins/openc3-tool-base/index.html | 66 ------------------- .../plugins/openc3-tool-base/package.json | 4 +- .../plugins/openc3-tool-base/plugin.txt | 8 +-- .../openc3-tool-base/src/openc3-tool-base.js | 27 -------- .../plugins/openc3-tool-base/vite.config.js | 25 +++---- .../openc3-cosmos-tool-admin/vite.config.js | 2 +- .../vite.config.js | 2 +- .../vite.config.js | 2 +- .../vite.config.js | 2 +- .../vite.config.js | 2 +- .../vite.config.js | 2 +- .../vite.config.js | 2 +- .../openc3-cosmos-tool-iframe/vite.config.js | 2 +- .../vite.config.js | 2 +- .../vite.config.js | 2 +- .../vite.config.js | 2 +- .../vite.config.js | 2 +- .../vite.config.js | 2 +- .../vite.config.js | 2 +- openc3/lib/openc3/models/tool_model.rb | 2 +- openc3/lib/openc3/utilities/cli_generator.rb | 1 - 22 files changed, 29 insertions(+), 198 deletions(-) delete mode 100644 openc3-cosmos-init/plugins/openc3-tool-base/index-allow-http.html delete mode 100644 openc3-cosmos-init/plugins/openc3-tool-base/index.html delete mode 100644 openc3-cosmos-init/plugins/openc3-tool-base/src/openc3-tool-base.js diff --git a/openc3-cosmos-init/plugins/openc3-tool-base/index-allow-http.html b/openc3-cosmos-init/plugins/openc3-tool-base/index-allow-http.html deleted file mode 100644 index 75e391fb91..0000000000 --- a/openc3-cosmos-init/plugins/openc3-tool-base/index-allow-http.html +++ /dev/null @@ -1,66 +0,0 @@ - - - - - - - - OpenC3 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - \ No newline at end of file diff --git a/openc3-cosmos-init/plugins/openc3-tool-base/index.html b/openc3-cosmos-init/plugins/openc3-tool-base/index.html deleted file mode 100644 index e446093947..0000000000 --- a/openc3-cosmos-init/plugins/openc3-tool-base/index.html +++ /dev/null @@ -1,66 +0,0 @@ - - - - - - - - OpenC3 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - \ No newline at end of file diff --git a/openc3-cosmos-init/plugins/openc3-tool-base/package.json b/openc3-cosmos-init/plugins/openc3-tool-base/package.json index 20d78eae6a..08be795892 100644 --- a/openc3-cosmos-init/plugins/openc3-tool-base/package.json +++ b/openc3-cosmos-init/plugins/openc3-tool-base/package.json @@ -16,7 +16,9 @@ "date-fns": "4.1.0", "import-map-overrides": "3.1.1", "regenerator-runtime": "0.14.1", - "systemjs": "6.15.1", + "systemjs": "6.15.1" + }, + "peerDependencies": { "vue": "3.5.4", "vue-router": "4.4.4", "vuetify": "3.7.1", diff --git a/openc3-cosmos-init/plugins/openc3-tool-base/plugin.txt b/openc3-cosmos-init/plugins/openc3-tool-base/plugin.txt index 3d87fcf912..f00346bc58 100644 --- a/openc3-cosmos-init/plugins/openc3-tool-base/plugin.txt +++ b/openc3-cosmos-init/plugins/openc3-tool-base/plugin.txt @@ -1,9 +1,3 @@ TOOL base Base SHOWN false - POSITION 0 # Fixed as Base is not displayed - IMPORT_MAP_ITEM "single-spa" "/js/single-spa-5.9.5.min.js" - IMPORT_MAP_ITEM "vue" "/js/vue-3.5.4.min.js" - IMPORT_MAP_ITEM "vuetify" "/js/vuetify-3.7.1.min.js" - IMPORT_MAP_ITEM "vue-router" "/js/vue-router-4.4.4.min.js" - IMPORT_MAP_ITEM "vuex" "/js/vuex-4.1.0.min.js" - IMPORT_MAP_ITEM "openc3-tool-base" "/openc3-tool-base.js" \ No newline at end of file + POSITION 0 # Fixed as Base is not displayed \ No newline at end of file diff --git a/openc3-cosmos-init/plugins/openc3-tool-base/src/openc3-tool-base.js b/openc3-cosmos-init/plugins/openc3-tool-base/src/openc3-tool-base.js deleted file mode 100644 index d64c6e2b88..0000000000 --- a/openc3-cosmos-init/plugins/openc3-tool-base/src/openc3-tool-base.js +++ /dev/null @@ -1,27 +0,0 @@ -import { createApp } from 'vue' -import { defineCustomElements } from '@astrouxds/astro-web-components/loader' - -import App from './App.vue' -import vuetify from './plugins/vuetify' -import router from './router' -import store from '../../packages/openc3-tool-common/src/plugins/store' -import '../../packages/openc3-tool-common/src/assets/stylesheets/layout/layout.scss' -import Notify from '../../packages/openc3-tool-common/src/plugins/notify' - -defineCustomElements() - -const app = createApp(App) - -app.use(store) -app.use(router) -app.use(vuetify) -app.use(Notify, { store }) - -const options = OpenC3Auth.getInitOptions() -OpenC3Auth.init(options).then(() => { - // Set the scope variable that will be used for the life of this page load - // It is always default in standard edition - window.openc3Scope = 'DEFAULT' - - app.mount('#openc3-main') -}) diff --git a/openc3-cosmos-init/plugins/openc3-tool-base/vite.config.js b/openc3-cosmos-init/plugins/openc3-tool-base/vite.config.js index 9d5113be0f..ccd87cda48 100644 --- a/openc3-cosmos-init/plugins/openc3-tool-base/vite.config.js +++ b/openc3-cosmos-init/plugins/openc3-tool-base/vite.config.js @@ -8,22 +8,17 @@ export default defineConfig({ build: { outDir: 'tools/base', emptyOutDir: true, - copyPublicDir: true, + rollupOptions: { + input: 'src/main.js', + output: { + format: 'systemjs', + entryFileNames: `[name].js`, + }, + external: ['single-spa', 'vue', 'vuex', 'vue-router', 'vuetify'], + preserveEntrySignatures: 'strict', + }, }, - rollupOptions: { - input: 'src/openc3-tool-base.js', - format: 'systemjs', - preserveEntrySignatures: true, - }, - plugins: [ - vue(), - createHtmlPlugin({ - template: 'index.html', - }), - createHtmlPlugin({ - template: 'index-allow-http.html', - }), - ], + plugins: [vue()], resolve: { extensions: [...DEFAULT_EXTENSIONS, '.vue'], // not recommended but saves us from having to change every SFC import }, diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-admin/vite.config.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-admin/vite.config.js index 851db67d23..eac52c5593 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-admin/vite.config.js +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-admin/vite.config.js @@ -16,7 +16,7 @@ export default defineConfig((options) => { format: 'systemjs', entryFileNames: `[name].js`, }, - external: ['vue', 'vuex', 'vue-router', 'vuetify'], + external: ['single-spa', 'vue', 'vuex', 'vue-router', 'vuetify'], preserveEntrySignatures: 'strict', }, }, diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-bucketexplorer/vite.config.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-bucketexplorer/vite.config.js index cce15dc4e6..73ed7c11c8 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-bucketexplorer/vite.config.js +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-bucketexplorer/vite.config.js @@ -16,7 +16,7 @@ export default defineConfig((options) => { format: 'systemjs', entryFileNames: `[name].js`, }, - external: ['vue', 'vuex', 'vue-router', 'vuetify'], + external: ['single-spa', 'vue', 'vuex', 'vue-router', 'vuetify'], preserveEntrySignatures: 'strict', }, }, diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdsender/vite.config.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdsender/vite.config.js index 13e3f5194d..87fbc2a799 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdsender/vite.config.js +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdsender/vite.config.js @@ -16,7 +16,7 @@ export default defineConfig((options) => { format: 'systemjs', entryFileNames: `[name].js`, }, - external: ['vue', 'vuex', 'vue-router', 'vuetify'], + external: ['single-spa', 'vue', 'vuex', 'vue-router', 'vuetify'], preserveEntrySignatures: 'strict', }, }, diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdtlmserver/vite.config.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdtlmserver/vite.config.js index f4f4f80041..4d4d6c9683 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdtlmserver/vite.config.js +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdtlmserver/vite.config.js @@ -16,7 +16,7 @@ export default defineConfig((options) => { format: 'systemjs', entryFileNames: `[name].js`, }, - external: ['vue', 'vuex', 'vue-router', 'vuetify'], + external: ['single-spa', 'vue', 'vuex', 'vue-router', 'vuetify'], preserveEntrySignatures: 'strict', }, }, diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-dataextractor/vite.config.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-dataextractor/vite.config.js index 7687f7bd74..3f80f0368c 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-dataextractor/vite.config.js +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-dataextractor/vite.config.js @@ -16,7 +16,7 @@ export default defineConfig((options) => { format: 'systemjs', entryFileNames: `[name].js`, }, - external: ['vue', 'vuex', 'vue-router', 'vuetify'], + external: ['single-spa', 'vue', 'vuex', 'vue-router', 'vuetify'], preserveEntrySignatures: 'strict', }, }, diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-dataviewer/vite.config.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-dataviewer/vite.config.js index b3ea507374..93fd711b22 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-dataviewer/vite.config.js +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-dataviewer/vite.config.js @@ -16,7 +16,7 @@ export default defineConfig((options) => { format: 'systemjs', entryFileNames: `[name].js`, }, - external: ['vue', 'vuex', 'vue-router', 'vuetify'], + external: ['single-spa', 'vue', 'vuex', 'vue-router', 'vuetify'], preserveEntrySignatures: 'strict', }, }, diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-handbooks/vite.config.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-handbooks/vite.config.js index 4048291a63..2c85fc3a27 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-handbooks/vite.config.js +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-handbooks/vite.config.js @@ -16,7 +16,7 @@ export default defineConfig((options) => { format: 'systemjs', entryFileNames: `[name].js`, }, - external: ['vue', 'vuex', 'vue-router', 'vuetify'], + external: ['single-spa', 'vue', 'vuex', 'vue-router', 'vuetify'], preserveEntrySignatures: 'strict', }, }, diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-iframe/vite.config.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-iframe/vite.config.js index 94df8389c0..d1f8f3c06f 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-iframe/vite.config.js +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-iframe/vite.config.js @@ -16,7 +16,7 @@ export default defineConfig((options) => { format: 'systemjs', entryFileNames: `[name].js`, }, - external: ['vue', 'vuex', 'vue-router', 'vuetify'], + external: ['single-spa', 'vue', 'vuex', 'vue-router', 'vuetify'], preserveEntrySignatures: 'strict', }, }, diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-limitsmonitor/vite.config.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-limitsmonitor/vite.config.js index 905bbf5ec9..92f8dac8fc 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-limitsmonitor/vite.config.js +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-limitsmonitor/vite.config.js @@ -16,7 +16,7 @@ export default defineConfig((options) => { format: 'systemjs', entryFileNames: `[name].js`, }, - external: ['vue', 'vuex', 'vue-router', 'vuetify'], + external: ['single-spa', 'vue', 'vuex', 'vue-router', 'vuetify'], preserveEntrySignatures: 'strict', }, }, diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-packetviewer/vite.config.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-packetviewer/vite.config.js index 1452740d6c..a19b73ace9 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-packetviewer/vite.config.js +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-packetviewer/vite.config.js @@ -16,7 +16,7 @@ export default defineConfig((options) => { format: 'systemjs', entryFileNames: `[name].js`, }, - external: ['vue', 'vuex', 'vue-router', 'vuetify'], + external: ['single-spa', 'vue', 'vuex', 'vue-router', 'vuetify'], preserveEntrySignatures: 'strict', }, }, diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-scriptrunner/vite.config.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-scriptrunner/vite.config.js index 63f4f13ba1..4d588ba667 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-scriptrunner/vite.config.js +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-scriptrunner/vite.config.js @@ -16,7 +16,7 @@ export default defineConfig((options) => { format: 'systemjs', entryFileNames: `[name].js`, }, - external: ['vue', 'vuex', 'vue-router', 'vuetify'], + external: ['single-spa', 'vue', 'vuex', 'vue-router', 'vuetify'], preserveEntrySignatures: 'strict', }, }, diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tablemanager/vite.config.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tablemanager/vite.config.js index b937cff999..59620ee962 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tablemanager/vite.config.js +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tablemanager/vite.config.js @@ -16,7 +16,7 @@ export default defineConfig((options) => { format: 'systemjs', entryFileNames: `[name].js`, }, - external: ['vue', 'vuex', 'vue-router', 'vuetify'], + external: ['single-spa', 'vue', 'vuex', 'vue-router', 'vuetify'], preserveEntrySignatures: 'strict', }, }, diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tlmgrapher/vite.config.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tlmgrapher/vite.config.js index 3f7b230311..43c91881ae 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tlmgrapher/vite.config.js +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tlmgrapher/vite.config.js @@ -16,7 +16,7 @@ export default defineConfig((options) => { format: 'systemjs', entryFileNames: `[name].js`, }, - external: ['vue', 'vuex', 'vue-router', 'vuetify'], + external: ['single-spa', 'vue', 'vuex', 'vue-router', 'vuetify'], preserveEntrySignatures: 'strict', }, }, diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tlmviewer/vite.config.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tlmviewer/vite.config.js index 2d9d5ce09c..69d611e33f 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tlmviewer/vite.config.js +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tlmviewer/vite.config.js @@ -16,7 +16,7 @@ export default defineConfig((options) => { format: 'systemjs', entryFileNames: `[name].js`, }, - external: ['vue', 'vuex', 'vue-router', 'vuetify'], + external: ['single-spa', 'vue', 'vuex', 'vue-router', 'vuetify'], preserveEntrySignatures: 'strict', }, }, diff --git a/openc3/lib/openc3/models/tool_model.rb b/openc3/lib/openc3/models/tool_model.rb index a0d388f643..924de7aa4d 100644 --- a/openc3/lib/openc3/models/tool_model.rb +++ b/openc3/lib/openc3/models/tool_model.rb @@ -152,7 +152,7 @@ def initialize( @position = position if @shown and @window == 'INLINE' - @inline_url = 'js/app.js' unless @inline_url + @inline_url = 'main.js' unless @inline_url @url = "/tools/#{folder_name}" unless @url end @needs_dependencies = needs_dependencies diff --git a/openc3/lib/openc3/utilities/cli_generator.rb b/openc3/lib/openc3/utilities/cli_generator.rb index efc33014ee..fd50e30911 100644 --- a/openc3/lib/openc3/utilities/cli_generator.rb +++ b/openc3/lib/openc3/utilities/cli_generator.rb @@ -281,7 +281,6 @@ def self.generate_tool(args) # Add this tool to plugin.txt js_file = 'main.js' - js_file = 'js/app.js' if tool_type == 'tool_vue' File.open("plugin.txt", 'a') do |file| file.puts <<~DOC From f545a6caa5093cbce09e05bf2526cdfa522e3ea3 Mon Sep 17 00:00:00 2001 From: Ryan Melton Date: Mon, 25 Nov 2024 21:42:08 -0700 Subject: [PATCH 17/27] Fix hash use on chunks and assets --- openc3-cosmos-init/plugins/openc3-tool-base/vite.config.js | 5 ++++- .../plugins/packages/openc3-cosmos-tool-admin/vite.config.js | 5 ++++- .../openc3-cosmos-tool-bucketexplorer/vite.config.js | 5 ++++- .../packages/openc3-cosmos-tool-cmdsender/vite.config.js | 5 ++++- .../packages/openc3-cosmos-tool-cmdtlmserver/vite.config.js | 5 ++++- .../packages/openc3-cosmos-tool-dataextractor/vite.config.js | 5 ++++- .../packages/openc3-cosmos-tool-dataviewer/vite.config.js | 5 ++++- .../packages/openc3-cosmos-tool-handbooks/vite.config.js | 5 ++++- .../packages/openc3-cosmos-tool-iframe/vite.config.js | 5 ++++- .../packages/openc3-cosmos-tool-limitsmonitor/vite.config.js | 5 ++++- .../packages/openc3-cosmos-tool-packetviewer/vite.config.js | 5 ++++- .../packages/openc3-cosmos-tool-scriptrunner/vite.config.js | 5 ++++- .../packages/openc3-cosmos-tool-tablemanager/vite.config.js | 5 ++++- .../packages/openc3-cosmos-tool-tlmgrapher/vite.config.js | 5 ++++- .../packages/openc3-cosmos-tool-tlmviewer/vite.config.js | 5 ++++- openc3/lib/openc3/utilities/bucket_utilities.rb | 2 +- 16 files changed, 61 insertions(+), 16 deletions(-) diff --git a/openc3-cosmos-init/plugins/openc3-tool-base/vite.config.js b/openc3-cosmos-init/plugins/openc3-tool-base/vite.config.js index 1c3ccf4e57..7b44fb73b5 100644 --- a/openc3-cosmos-init/plugins/openc3-tool-base/vite.config.js +++ b/openc3-cosmos-init/plugins/openc3-tool-base/vite.config.js @@ -14,7 +14,10 @@ export default defineConfig((options) => { input: 'src/main.js', output: { format: 'systemjs', - entryFileNames: `[name].js`, + hashCharacters: 'hex', + entryFileNames: '[name].js', + chunkFileNames: '[name]-[hash:20].js', + assetFileNames: 'assets/[name]-[hash][extname]' }, external: ['single-spa', 'vue', 'vuex', 'vue-router', 'vuetify'], preserveEntrySignatures: 'strict', diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-admin/vite.config.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-admin/vite.config.js index cd888a4bf0..634175a2ae 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-admin/vite.config.js +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-admin/vite.config.js @@ -14,7 +14,10 @@ export default defineConfig((options) => { input: 'src/main.js', output: { format: 'systemjs', - entryFileNames: `[name].js`, + hashCharacters: 'hex', + entryFileNames: '[name].js', + chunkFileNames: '[name]-[hash:20].js', + assetFileNames: 'assets/[name]-[hash][extname]', }, external: ['single-spa', 'vue', 'vuex', 'vue-router', 'vuetify'], preserveEntrySignatures: 'strict', diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-bucketexplorer/vite.config.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-bucketexplorer/vite.config.js index 91914a7ab8..627c833648 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-bucketexplorer/vite.config.js +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-bucketexplorer/vite.config.js @@ -14,7 +14,10 @@ export default defineConfig((options) => { input: 'src/main.js', output: { format: 'systemjs', - entryFileNames: `[name].js`, + hashCharacters: 'hex', + entryFileNames: '[name].js', + chunkFileNames: '[name]-[hash:20].js', + assetFileNames: 'assets/[name]-[hash][extname]', }, external: ['single-spa', 'vue', 'vuex', 'vue-router', 'vuetify'], preserveEntrySignatures: 'strict', diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdsender/vite.config.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdsender/vite.config.js index 698bd7457d..039f32c5e5 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdsender/vite.config.js +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdsender/vite.config.js @@ -14,7 +14,10 @@ export default defineConfig((options) => { input: 'src/main.js', output: { format: 'systemjs', - entryFileNames: `[name].js`, + hashCharacters: 'hex', + entryFileNames: '[name].js', + chunkFileNames: '[name]-[hash:20].js', + assetFileNames: 'assets/[name]-[hash][extname]', }, external: ['single-spa', 'vue', 'vuex', 'vue-router', 'vuetify'], preserveEntrySignatures: 'strict', diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdtlmserver/vite.config.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdtlmserver/vite.config.js index 7673bbf7b0..4a7e60105a 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdtlmserver/vite.config.js +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdtlmserver/vite.config.js @@ -14,7 +14,10 @@ export default defineConfig((options) => { input: 'src/main.js', output: { format: 'systemjs', - entryFileNames: `[name].js`, + hashCharacters: 'hex', + entryFileNames: '[name].js', + chunkFileNames: '[name]-[hash:20].js', + assetFileNames: 'assets/[name]-[hash][extname]', }, external: ['single-spa', 'vue', 'vuex', 'vue-router', 'vuetify'], preserveEntrySignatures: 'strict', diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-dataextractor/vite.config.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-dataextractor/vite.config.js index 460cddb7f1..aa74462313 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-dataextractor/vite.config.js +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-dataextractor/vite.config.js @@ -14,7 +14,10 @@ export default defineConfig((options) => { input: 'src/main.js', output: { format: 'systemjs', - entryFileNames: `[name].js`, + hashCharacters: 'hex', + entryFileNames: '[name].js', + chunkFileNames: '[name]-[hash:20].js', + assetFileNames: 'assets/[name]-[hash][extname]', }, external: ['single-spa', 'vue', 'vuex', 'vue-router', 'vuetify'], preserveEntrySignatures: 'strict', diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-dataviewer/vite.config.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-dataviewer/vite.config.js index d05b306e6e..c0ba2530d8 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-dataviewer/vite.config.js +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-dataviewer/vite.config.js @@ -14,7 +14,10 @@ export default defineConfig((options) => { input: 'src/main.js', output: { format: 'systemjs', - entryFileNames: `[name].js`, + hashCharacters: 'hex', + entryFileNames: '[name].js', + chunkFileNames: '[name]-[hash:20].js', + assetFileNames: 'assets/[name]-[hash][extname]', }, external: ['single-spa', 'vue', 'vuex', 'vue-router', 'vuetify'], preserveEntrySignatures: 'strict', diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-handbooks/vite.config.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-handbooks/vite.config.js index 31de361879..f3a189ea51 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-handbooks/vite.config.js +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-handbooks/vite.config.js @@ -14,7 +14,10 @@ export default defineConfig((options) => { input: 'src/main.js', output: { format: 'systemjs', - entryFileNames: `[name].js`, + hashCharacters: 'hex', + entryFileNames: '[name].js', + chunkFileNames: '[name]-[hash:20].js', + assetFileNames: 'assets/[name]-[hash][extname]', }, external: ['single-spa', 'vue', 'vuex', 'vue-router', 'vuetify'], preserveEntrySignatures: 'strict', diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-iframe/vite.config.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-iframe/vite.config.js index 89162db004..0addd8d810 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-iframe/vite.config.js +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-iframe/vite.config.js @@ -14,7 +14,10 @@ export default defineConfig((options) => { input: 'src/main.js', output: { format: 'systemjs', - entryFileNames: `[name].js`, + hashCharacters: 'hex', + entryFileNames: '[name].js', + chunkFileNames: '[name]-[hash:20].js', + assetFileNames: 'assets/[name]-[hash][extname]', }, external: ['single-spa', 'vue', 'vuex', 'vue-router', 'vuetify'], preserveEntrySignatures: 'strict', diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-limitsmonitor/vite.config.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-limitsmonitor/vite.config.js index 9c571464cc..7448846feb 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-limitsmonitor/vite.config.js +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-limitsmonitor/vite.config.js @@ -14,7 +14,10 @@ export default defineConfig((options) => { input: 'src/main.js', output: { format: 'systemjs', - entryFileNames: `[name].js`, + hashCharacters: 'hex', + entryFileNames: '[name].js', + chunkFileNames: '[name]-[hash:20].js', + assetFileNames: 'assets/[name]-[hash][extname]', }, external: ['single-spa', 'vue', 'vuex', 'vue-router', 'vuetify'], preserveEntrySignatures: 'strict', diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-packetviewer/vite.config.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-packetviewer/vite.config.js index 75c1eea4ef..3b8991970d 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-packetviewer/vite.config.js +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-packetviewer/vite.config.js @@ -14,7 +14,10 @@ export default defineConfig((options) => { input: 'src/main.js', output: { format: 'systemjs', - entryFileNames: `[name].js`, + hashCharacters: 'hex', + entryFileNames: '[name].js', + chunkFileNames: '[name]-[hash:20].js', + assetFileNames: 'assets/[name]-[hash][extname]', }, external: ['single-spa', 'vue', 'vuex', 'vue-router', 'vuetify'], preserveEntrySignatures: 'strict', diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-scriptrunner/vite.config.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-scriptrunner/vite.config.js index 6531e9e51f..f0af7b24ea 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-scriptrunner/vite.config.js +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-scriptrunner/vite.config.js @@ -14,7 +14,10 @@ export default defineConfig((options) => { input: 'src/main.js', output: { format: 'systemjs', - entryFileNames: `[name].js`, + hashCharacters: 'hex', + entryFileNames: '[name].js', + chunkFileNames: '[name]-[hash:20].js', + assetFileNames: 'assets/[name]-[hash][extname]', }, external: ['single-spa', 'vue', 'vuex', 'vue-router', 'vuetify'], preserveEntrySignatures: 'strict', diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tablemanager/vite.config.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tablemanager/vite.config.js index e9d1a57a38..81edae9a59 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tablemanager/vite.config.js +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tablemanager/vite.config.js @@ -14,7 +14,10 @@ export default defineConfig((options) => { input: 'src/main.js', output: { format: 'systemjs', - entryFileNames: `[name].js`, + hashCharacters: 'hex', + entryFileNames: '[name].js', + chunkFileNames: '[name]-[hash:20].js', + assetFileNames: 'assets/[name]-[hash][extname]', }, external: ['single-spa', 'vue', 'vuex', 'vue-router', 'vuetify'], preserveEntrySignatures: 'strict', diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tlmgrapher/vite.config.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tlmgrapher/vite.config.js index ec7df0ce2c..79ba4b5322 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tlmgrapher/vite.config.js +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tlmgrapher/vite.config.js @@ -14,7 +14,10 @@ export default defineConfig((options) => { input: 'src/main.js', output: { format: 'systemjs', - entryFileNames: `[name].js`, + hashCharacters: 'hex', + entryFileNames: '[name].js', + chunkFileNames: '[name]-[hash:20].js', + assetFileNames: 'assets/[name]-[hash][extname]', }, external: ['single-spa', 'vue', 'vuex', 'vue-router', 'vuetify'], preserveEntrySignatures: 'strict', diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tlmviewer/vite.config.js b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tlmviewer/vite.config.js index b379031771..edd118242f 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tlmviewer/vite.config.js +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tlmviewer/vite.config.js @@ -14,7 +14,10 @@ export default defineConfig((options) => { input: 'src/main.js', output: { format: 'systemjs', - entryFileNames: `[name].js`, + hashCharacters: 'hex', + entryFileNames: '[name].js', + chunkFileNames: '[name]-[hash:20].js', + assetFileNames: 'assets/[name]-[hash][extname]', }, external: ['single-spa', 'vue', 'vuex', 'vue-router', 'vuetify'], preserveEntrySignatures: 'strict', diff --git a/openc3/lib/openc3/utilities/bucket_utilities.rb b/openc3/lib/openc3/utilities/bucket_utilities.rb index c1e77f0a6a..aa7ff251da 100644 --- a/openc3/lib/openc3/utilities/bucket_utilities.rb +++ b/openc3/lib/openc3/utilities/bucket_utilities.rb @@ -123,7 +123,7 @@ def self.move_log_file_to_bucket(filename, bucket_key, metadata: {}) def self.get_cache_control(filename) # Allow caching for files that have a filename versioning strategy has_version_number = /(-|_|\.)\d+(-|_|\.)\d+(-|_|\.)\d+\./.match(filename) - has_content_hash = /\.[a-f0-9]{20}\./.match(filename) + has_content_hash = /[\.-][a-f0-9]{20}\./.match(filename) return nil if has_version_number or has_content_hash return 'no-store' end From 703b7055b0526275d17d4d850bb2bd9761b51022 Mon Sep 17 00:00:00 2001 From: Ryan Melton Date: Mon, 25 Nov 2024 22:27:12 -0700 Subject: [PATCH 18/27] Move openc3-tool-base into packages like everything else --- .../centos7/openc3_install_openc3.sh | 2 +- openc3-cosmos-init/Dockerfile | 14 +++++----- .../plugins/docker-package-install.sh | 25 ------------------ .../openc3-tool-base/.browserslistrc | 0 .../openc3-tool-base/.eslintrc.cjs | 0 .../openc3-tool-base/.gitignore | 0 .../{ => packages}/openc3-tool-base/.nycrc | 0 .../openc3-tool-base/.prettierrc.js | 0 .../openc3-tool-base/LICENSE.txt | 0 .../{ => packages}/openc3-tool-base/README.md | 0 .../{ => packages}/openc3-tool-base/Rakefile | 0 .../openc3-tool-base/jsconfig.json | 0 .../openc3-tool-base/openc3-tool-base.gemspec | 0 .../openc3-tool-base/package.json | 1 + .../openc3-tool-base/plugin.txt | 0 .../css/materialdesignicons-7.4.47.min.css | 0 .../public/css/materialdesignicons.css.map | 0 .../openc3-tool-base/public/css/roboto.css | 0 .../public/css/vuetify-3.7.1.min.css | 0 .../openc3-tool-base/public/favicon-16x16.png | Bin .../openc3-tool-base/public/favicon-32x32.png | Bin .../openc3-tool-base/public/favicon.ico | Bin .../fonts/materialdesignicons-webfont.eot | Bin .../fonts/materialdesignicons-webfont.ttf | Bin .../fonts/materialdesignicons-webfont.woff | Bin .../fonts/materialdesignicons-webfont.woff2 | Bin .../roboto/KFOkCnqEu92Fr1MmgVxEIzIFKw.woff2 | Bin .../roboto/KFOkCnqEu92Fr1MmgVxFIzIFKw.woff2 | Bin .../roboto/KFOkCnqEu92Fr1MmgVxGIzIFKw.woff2 | Bin .../roboto/KFOkCnqEu92Fr1MmgVxHIzIFKw.woff2 | Bin .../roboto/KFOkCnqEu92Fr1MmgVxIIzI.woff2 | Bin .../roboto/KFOkCnqEu92Fr1MmgVxLIzIFKw.woff2 | Bin .../roboto/KFOkCnqEu92Fr1MmgVxMIzIFKw.woff2 | Bin .../roboto/KFOlCnqEu92Fr1MmEU9fABc4EsA.woff2 | Bin .../roboto/KFOlCnqEu92Fr1MmEU9fBBc4.woff2 | Bin .../roboto/KFOlCnqEu92Fr1MmEU9fBxc4EsA.woff2 | Bin .../roboto/KFOlCnqEu92Fr1MmEU9fCBc4EsA.woff2 | Bin .../roboto/KFOlCnqEu92Fr1MmEU9fCRc4EsA.woff2 | Bin .../roboto/KFOlCnqEu92Fr1MmEU9fChc4EsA.woff2 | Bin .../roboto/KFOlCnqEu92Fr1MmEU9fCxc4EsA.woff2 | Bin .../roboto/KFOlCnqEu92Fr1MmSU5fABc4EsA.woff2 | Bin .../roboto/KFOlCnqEu92Fr1MmSU5fBBc4.woff2 | Bin .../roboto/KFOlCnqEu92Fr1MmSU5fBxc4EsA.woff2 | Bin .../roboto/KFOlCnqEu92Fr1MmSU5fCBc4EsA.woff2 | Bin .../roboto/KFOlCnqEu92Fr1MmSU5fCRc4EsA.woff2 | Bin .../roboto/KFOlCnqEu92Fr1MmSU5fChc4EsA.woff2 | Bin .../roboto/KFOlCnqEu92Fr1MmSU5fCxc4EsA.woff2 | Bin .../roboto/KFOlCnqEu92Fr1MmWUlfABc4EsA.woff2 | Bin .../roboto/KFOlCnqEu92Fr1MmWUlfBBc4.woff2 | Bin .../roboto/KFOlCnqEu92Fr1MmWUlfBxc4EsA.woff2 | Bin .../roboto/KFOlCnqEu92Fr1MmWUlfCBc4EsA.woff2 | Bin .../roboto/KFOlCnqEu92Fr1MmWUlfCRc4EsA.woff2 | Bin .../roboto/KFOlCnqEu92Fr1MmWUlfChc4EsA.woff2 | Bin .../roboto/KFOlCnqEu92Fr1MmWUlfCxc4EsA.woff2 | Bin .../roboto/KFOlCnqEu92Fr1MmYUtfABc4EsA.woff2 | Bin .../roboto/KFOlCnqEu92Fr1MmYUtfBBc4.woff2 | Bin .../roboto/KFOlCnqEu92Fr1MmYUtfBxc4EsA.woff2 | Bin .../roboto/KFOlCnqEu92Fr1MmYUtfCBc4EsA.woff2 | Bin .../roboto/KFOlCnqEu92Fr1MmYUtfCRc4EsA.woff2 | Bin .../roboto/KFOlCnqEu92Fr1MmYUtfChc4EsA.woff2 | Bin .../roboto/KFOlCnqEu92Fr1MmYUtfCxc4EsA.woff2 | Bin .../roboto/KFOmCnqEu92Fr1Mu4WxKOzY.woff2 | Bin .../fonts/roboto/KFOmCnqEu92Fr1Mu4mxK.woff2 | Bin .../roboto/KFOmCnqEu92Fr1Mu5mxKOzY.woff2 | Bin .../roboto/KFOmCnqEu92Fr1Mu72xKOzY.woff2 | Bin .../roboto/KFOmCnqEu92Fr1Mu7GxKOzY.woff2 | Bin .../roboto/KFOmCnqEu92Fr1Mu7WxKOzY.woff2 | Bin .../roboto/KFOmCnqEu92Fr1Mu7mxKOzY.woff2 | Bin .../public/icons/status-dark.png | Bin .../public/icons/status-light.png | Bin .../public/img/astro-logo-small-dark.svg | 0 .../public/img/astro-logo-small-light.svg | 0 .../public/img/ground_error.gif | Bin .../public/img/ground_off.gif | Bin .../openc3-tool-base/public/img/ground_on.gif | Bin .../openc3-tool-base/public/img/icons.svg | 0 .../openc3-tool-base/public/img/logo.png | Bin .../openc3-tool-base/public/img/satellite.gif | Bin .../public/index-allow-http.html | 0 .../openc3-tool-base/public/index.html | 0 .../openc3-tool-base/public/js/amd.min.js | 0 .../openc3-tool-base/public/js/amd.min.js.map | 0 .../openc3-tool-base/public/js/auth.js | 0 .../js/import-map-overrides-3.1.1.min.js | 0 .../js/import-map-overrides-3.1.1.min.js.map | 0 .../public/js/named-register.min.js | 0 .../public/js/named-register.min.js.map | 0 .../public/js/single-spa-5.9.5.min.js | 0 .../public/js/single-spa-5.9.5.min.js.map | 0 .../public/js/systemjs-6.15.1.min.js | 0 .../public/js/vue-3.5.4.min.js | 0 .../public/js/vue-router-4.4.4.min.js | 0 .../public/js/vuetify-3.7.1.min.js | 0 .../public/js/vuex-4.1.0.min.js | 0 .../openc3-tool-base/src/App.vue | 8 +++--- .../openc3-tool-base/src/main.js | 6 ++--- .../openc3-tool-base/src/plugins/vuetify.js | 4 +-- .../openc3-tool-base/src/router.js | 4 +-- .../openc3-tool-base/vite.config.js | 3 +-- scripts/release/openc3_set_versions.rb | 2 +- scripts/release/package_audit.rb | 5 ++-- 101 files changed, 24 insertions(+), 50 deletions(-) delete mode 100755 openc3-cosmos-init/plugins/docker-package-install.sh rename openc3-cosmos-init/plugins/{ => packages}/openc3-tool-base/.browserslistrc (100%) rename openc3-cosmos-init/plugins/{ => packages}/openc3-tool-base/.eslintrc.cjs (100%) rename openc3-cosmos-init/plugins/{ => packages}/openc3-tool-base/.gitignore (100%) rename openc3-cosmos-init/plugins/{ => packages}/openc3-tool-base/.nycrc (100%) rename openc3-cosmos-init/plugins/{ => packages}/openc3-tool-base/.prettierrc.js (100%) rename openc3-cosmos-init/plugins/{ => packages}/openc3-tool-base/LICENSE.txt (100%) rename openc3-cosmos-init/plugins/{ => packages}/openc3-tool-base/README.md (100%) rename openc3-cosmos-init/plugins/{ => packages}/openc3-tool-base/Rakefile (100%) rename openc3-cosmos-init/plugins/{ => packages}/openc3-tool-base/jsconfig.json (100%) rename openc3-cosmos-init/plugins/{ => packages}/openc3-tool-base/openc3-tool-base.gemspec (100%) rename openc3-cosmos-init/plugins/{ => packages}/openc3-tool-base/package.json (95%) rename openc3-cosmos-init/plugins/{ => packages}/openc3-tool-base/plugin.txt (100%) rename openc3-cosmos-init/plugins/{ => packages}/openc3-tool-base/public/css/materialdesignicons-7.4.47.min.css (100%) rename openc3-cosmos-init/plugins/{ => packages}/openc3-tool-base/public/css/materialdesignicons.css.map (100%) rename openc3-cosmos-init/plugins/{ => packages}/openc3-tool-base/public/css/roboto.css (100%) rename openc3-cosmos-init/plugins/{ => packages}/openc3-tool-base/public/css/vuetify-3.7.1.min.css (100%) rename openc3-cosmos-init/plugins/{ => packages}/openc3-tool-base/public/favicon-16x16.png (100%) rename openc3-cosmos-init/plugins/{ => packages}/openc3-tool-base/public/favicon-32x32.png (100%) rename openc3-cosmos-init/plugins/{ => packages}/openc3-tool-base/public/favicon.ico (100%) rename openc3-cosmos-init/plugins/{ => packages}/openc3-tool-base/public/fonts/materialdesignicons-webfont.eot (100%) rename openc3-cosmos-init/plugins/{ => packages}/openc3-tool-base/public/fonts/materialdesignicons-webfont.ttf (100%) rename openc3-cosmos-init/plugins/{ => packages}/openc3-tool-base/public/fonts/materialdesignicons-webfont.woff (100%) rename openc3-cosmos-init/plugins/{ => packages}/openc3-tool-base/public/fonts/materialdesignicons-webfont.woff2 (100%) rename openc3-cosmos-init/plugins/{ => packages}/openc3-tool-base/public/fonts/roboto/KFOkCnqEu92Fr1MmgVxEIzIFKw.woff2 (100%) rename openc3-cosmos-init/plugins/{ => packages}/openc3-tool-base/public/fonts/roboto/KFOkCnqEu92Fr1MmgVxFIzIFKw.woff2 (100%) rename openc3-cosmos-init/plugins/{ => packages}/openc3-tool-base/public/fonts/roboto/KFOkCnqEu92Fr1MmgVxGIzIFKw.woff2 (100%) rename openc3-cosmos-init/plugins/{ => packages}/openc3-tool-base/public/fonts/roboto/KFOkCnqEu92Fr1MmgVxHIzIFKw.woff2 (100%) rename openc3-cosmos-init/plugins/{ => packages}/openc3-tool-base/public/fonts/roboto/KFOkCnqEu92Fr1MmgVxIIzI.woff2 (100%) rename openc3-cosmos-init/plugins/{ => packages}/openc3-tool-base/public/fonts/roboto/KFOkCnqEu92Fr1MmgVxLIzIFKw.woff2 (100%) rename openc3-cosmos-init/plugins/{ => packages}/openc3-tool-base/public/fonts/roboto/KFOkCnqEu92Fr1MmgVxMIzIFKw.woff2 (100%) rename openc3-cosmos-init/plugins/{ => packages}/openc3-tool-base/public/fonts/roboto/KFOlCnqEu92Fr1MmEU9fABc4EsA.woff2 (100%) rename openc3-cosmos-init/plugins/{ => packages}/openc3-tool-base/public/fonts/roboto/KFOlCnqEu92Fr1MmEU9fBBc4.woff2 (100%) rename openc3-cosmos-init/plugins/{ => packages}/openc3-tool-base/public/fonts/roboto/KFOlCnqEu92Fr1MmEU9fBxc4EsA.woff2 (100%) rename openc3-cosmos-init/plugins/{ => packages}/openc3-tool-base/public/fonts/roboto/KFOlCnqEu92Fr1MmEU9fCBc4EsA.woff2 (100%) rename openc3-cosmos-init/plugins/{ => packages}/openc3-tool-base/public/fonts/roboto/KFOlCnqEu92Fr1MmEU9fCRc4EsA.woff2 (100%) rename openc3-cosmos-init/plugins/{ => packages}/openc3-tool-base/public/fonts/roboto/KFOlCnqEu92Fr1MmEU9fChc4EsA.woff2 (100%) rename openc3-cosmos-init/plugins/{ => packages}/openc3-tool-base/public/fonts/roboto/KFOlCnqEu92Fr1MmEU9fCxc4EsA.woff2 (100%) rename openc3-cosmos-init/plugins/{ => packages}/openc3-tool-base/public/fonts/roboto/KFOlCnqEu92Fr1MmSU5fABc4EsA.woff2 (100%) rename openc3-cosmos-init/plugins/{ => packages}/openc3-tool-base/public/fonts/roboto/KFOlCnqEu92Fr1MmSU5fBBc4.woff2 (100%) rename openc3-cosmos-init/plugins/{ => packages}/openc3-tool-base/public/fonts/roboto/KFOlCnqEu92Fr1MmSU5fBxc4EsA.woff2 (100%) rename openc3-cosmos-init/plugins/{ => packages}/openc3-tool-base/public/fonts/roboto/KFOlCnqEu92Fr1MmSU5fCBc4EsA.woff2 (100%) rename openc3-cosmos-init/plugins/{ => packages}/openc3-tool-base/public/fonts/roboto/KFOlCnqEu92Fr1MmSU5fCRc4EsA.woff2 (100%) rename openc3-cosmos-init/plugins/{ => packages}/openc3-tool-base/public/fonts/roboto/KFOlCnqEu92Fr1MmSU5fChc4EsA.woff2 (100%) rename openc3-cosmos-init/plugins/{ => packages}/openc3-tool-base/public/fonts/roboto/KFOlCnqEu92Fr1MmSU5fCxc4EsA.woff2 (100%) rename openc3-cosmos-init/plugins/{ => packages}/openc3-tool-base/public/fonts/roboto/KFOlCnqEu92Fr1MmWUlfABc4EsA.woff2 (100%) rename openc3-cosmos-init/plugins/{ => packages}/openc3-tool-base/public/fonts/roboto/KFOlCnqEu92Fr1MmWUlfBBc4.woff2 (100%) rename openc3-cosmos-init/plugins/{ => packages}/openc3-tool-base/public/fonts/roboto/KFOlCnqEu92Fr1MmWUlfBxc4EsA.woff2 (100%) rename openc3-cosmos-init/plugins/{ => packages}/openc3-tool-base/public/fonts/roboto/KFOlCnqEu92Fr1MmWUlfCBc4EsA.woff2 (100%) rename openc3-cosmos-init/plugins/{ => packages}/openc3-tool-base/public/fonts/roboto/KFOlCnqEu92Fr1MmWUlfCRc4EsA.woff2 (100%) rename openc3-cosmos-init/plugins/{ => packages}/openc3-tool-base/public/fonts/roboto/KFOlCnqEu92Fr1MmWUlfChc4EsA.woff2 (100%) rename openc3-cosmos-init/plugins/{ => packages}/openc3-tool-base/public/fonts/roboto/KFOlCnqEu92Fr1MmWUlfCxc4EsA.woff2 (100%) rename openc3-cosmos-init/plugins/{ => packages}/openc3-tool-base/public/fonts/roboto/KFOlCnqEu92Fr1MmYUtfABc4EsA.woff2 (100%) rename openc3-cosmos-init/plugins/{ => packages}/openc3-tool-base/public/fonts/roboto/KFOlCnqEu92Fr1MmYUtfBBc4.woff2 (100%) rename openc3-cosmos-init/plugins/{ => packages}/openc3-tool-base/public/fonts/roboto/KFOlCnqEu92Fr1MmYUtfBxc4EsA.woff2 (100%) rename openc3-cosmos-init/plugins/{ => packages}/openc3-tool-base/public/fonts/roboto/KFOlCnqEu92Fr1MmYUtfCBc4EsA.woff2 (100%) rename openc3-cosmos-init/plugins/{ => packages}/openc3-tool-base/public/fonts/roboto/KFOlCnqEu92Fr1MmYUtfCRc4EsA.woff2 (100%) rename openc3-cosmos-init/plugins/{ => packages}/openc3-tool-base/public/fonts/roboto/KFOlCnqEu92Fr1MmYUtfChc4EsA.woff2 (100%) rename openc3-cosmos-init/plugins/{ => packages}/openc3-tool-base/public/fonts/roboto/KFOlCnqEu92Fr1MmYUtfCxc4EsA.woff2 (100%) rename openc3-cosmos-init/plugins/{ => packages}/openc3-tool-base/public/fonts/roboto/KFOmCnqEu92Fr1Mu4WxKOzY.woff2 (100%) rename openc3-cosmos-init/plugins/{ => packages}/openc3-tool-base/public/fonts/roboto/KFOmCnqEu92Fr1Mu4mxK.woff2 (100%) rename openc3-cosmos-init/plugins/{ => packages}/openc3-tool-base/public/fonts/roboto/KFOmCnqEu92Fr1Mu5mxKOzY.woff2 (100%) rename openc3-cosmos-init/plugins/{ => packages}/openc3-tool-base/public/fonts/roboto/KFOmCnqEu92Fr1Mu72xKOzY.woff2 (100%) rename openc3-cosmos-init/plugins/{ => packages}/openc3-tool-base/public/fonts/roboto/KFOmCnqEu92Fr1Mu7GxKOzY.woff2 (100%) rename openc3-cosmos-init/plugins/{ => packages}/openc3-tool-base/public/fonts/roboto/KFOmCnqEu92Fr1Mu7WxKOzY.woff2 (100%) rename openc3-cosmos-init/plugins/{ => packages}/openc3-tool-base/public/fonts/roboto/KFOmCnqEu92Fr1Mu7mxKOzY.woff2 (100%) rename openc3-cosmos-init/plugins/{ => packages}/openc3-tool-base/public/icons/status-dark.png (100%) rename openc3-cosmos-init/plugins/{ => packages}/openc3-tool-base/public/icons/status-light.png (100%) rename openc3-cosmos-init/plugins/{ => packages}/openc3-tool-base/public/img/astro-logo-small-dark.svg (100%) rename openc3-cosmos-init/plugins/{ => packages}/openc3-tool-base/public/img/astro-logo-small-light.svg (100%) rename openc3-cosmos-init/plugins/{ => packages}/openc3-tool-base/public/img/ground_error.gif (100%) rename openc3-cosmos-init/plugins/{ => packages}/openc3-tool-base/public/img/ground_off.gif (100%) rename openc3-cosmos-init/plugins/{ => packages}/openc3-tool-base/public/img/ground_on.gif (100%) rename openc3-cosmos-init/plugins/{ => packages}/openc3-tool-base/public/img/icons.svg (100%) rename openc3-cosmos-init/plugins/{ => packages}/openc3-tool-base/public/img/logo.png (100%) rename openc3-cosmos-init/plugins/{ => packages}/openc3-tool-base/public/img/satellite.gif (100%) rename openc3-cosmos-init/plugins/{ => packages}/openc3-tool-base/public/index-allow-http.html (100%) rename openc3-cosmos-init/plugins/{ => packages}/openc3-tool-base/public/index.html (100%) rename openc3-cosmos-init/plugins/{ => packages}/openc3-tool-base/public/js/amd.min.js (100%) rename openc3-cosmos-init/plugins/{ => packages}/openc3-tool-base/public/js/amd.min.js.map (100%) rename openc3-cosmos-init/plugins/{ => packages}/openc3-tool-base/public/js/auth.js (100%) rename openc3-cosmos-init/plugins/{ => packages}/openc3-tool-base/public/js/import-map-overrides-3.1.1.min.js (100%) rename openc3-cosmos-init/plugins/{ => packages}/openc3-tool-base/public/js/import-map-overrides-3.1.1.min.js.map (100%) rename openc3-cosmos-init/plugins/{ => packages}/openc3-tool-base/public/js/named-register.min.js (100%) rename openc3-cosmos-init/plugins/{ => packages}/openc3-tool-base/public/js/named-register.min.js.map (100%) rename openc3-cosmos-init/plugins/{ => packages}/openc3-tool-base/public/js/single-spa-5.9.5.min.js (100%) rename openc3-cosmos-init/plugins/{ => packages}/openc3-tool-base/public/js/single-spa-5.9.5.min.js.map (100%) rename openc3-cosmos-init/plugins/{ => packages}/openc3-tool-base/public/js/systemjs-6.15.1.min.js (100%) rename openc3-cosmos-init/plugins/{ => packages}/openc3-tool-base/public/js/vue-3.5.4.min.js (100%) rename openc3-cosmos-init/plugins/{ => packages}/openc3-tool-base/public/js/vue-router-4.4.4.min.js (100%) rename openc3-cosmos-init/plugins/{ => packages}/openc3-tool-base/public/js/vuetify-3.7.1.min.js (100%) rename openc3-cosmos-init/plugins/{ => packages}/openc3-tool-base/public/js/vuex-4.1.0.min.js (100%) rename openc3-cosmos-init/plugins/{ => packages}/openc3-tool-base/src/App.vue (81%) rename openc3-cosmos-init/plugins/{ => packages}/openc3-tool-base/src/main.js (74%) rename openc3-cosmos-init/plugins/{ => packages}/openc3-tool-base/src/plugins/vuetify.js (86%) rename openc3-cosmos-init/plugins/{ => packages}/openc3-tool-base/src/router.js (90%) rename openc3-cosmos-init/plugins/{ => packages}/openc3-tool-base/vite.config.js (94%) diff --git a/examples/hostinstall/centos7/openc3_install_openc3.sh b/examples/hostinstall/centos7/openc3_install_openc3.sh index 8a9fa73034..342c981b25 100755 --- a/examples/hostinstall/centos7/openc3_install_openc3.sh +++ b/examples/hostinstall/centos7/openc3_install_openc3.sh @@ -52,7 +52,7 @@ GEMS="$SCRIPT_DIR/../../../openc3-cosmos-init/plugins/gems/" OPENC3_RELEASE_VERSION=5.21.0-beta0 mkdir -p ${GEMS} -cd ${PLUGINS}openc3-tool-base && yarn install && yarn run build && rake build VERSION=${OPENC3_RELEASE_VERSION} && mv *.gem ${GEMS} +cd ${PLUGINS}packages/openc3-tool-base && yarn run build && rake build VERSION=${OPENC3_RELEASE_VERSION} && mv *.gem ${GEMS} cd ${PLUGINS}packages/openc3-cosmos-tool-admin && yarn run build && rake build VERSION=${OPENC3_RELEASE_VERSION} && mv *.gem ${GEMS} cd ${PLUGINS}packages/openc3-cosmos-tool-cmdsender && yarn run build && rake build VERSION=${OPENC3_RELEASE_VERSION} && mv *.gem ${GEMS} cd ${PLUGINS}packages/openc3-cosmos-tool-cmdtlmserver && yarn run build && rake build VERSION=${OPENC3_RELEASE_VERSION} && mv *.gem ${GEMS} diff --git a/openc3-cosmos-init/Dockerfile b/openc3-cosmos-init/Dockerfile index 1f0573c1d9..fed293edb4 100644 --- a/openc3-cosmos-init/Dockerfile +++ b/openc3-cosmos-init/Dockerfile @@ -14,7 +14,7 @@ WORKDIR /openc3/plugins/ USER root COPY ./plugins/*.json ./ -COPY ./plugins/openc3-tool-base/*.json openc3-tool-base/ +COPY ./plugins/packages/openc3-tool-base/*.json packages/openc3-tool-base/ COPY ./plugins/packages/openc3-cosmos-tool-admin/*.json packages/openc3-cosmos-tool-admin/ COPY ./plugins/packages/openc3-cosmos-tool-bucketexplorer/*.json packages/openc3-cosmos-tool-bucketexplorer/ COPY ./plugins/packages/openc3-cosmos-tool-cmdsender/*.json packages/openc3-cosmos-tool-cmdsender/ @@ -36,14 +36,15 @@ COPY ./plugins/packages/openc3-cosmos-demo/*.json packages/openc3-cosmos-demo/ ARG NPM_URL=https://registry.npmjs.org RUN yarn config set registry $NPM_URL && yarn --network-timeout 600000 -COPY ./plugins/docker-package-build.sh ./plugins/docker-package-install.sh ./plugins/.eslintrc.cjs ./plugins/.nycrc ./ -RUN chmod +x ./docker-package-build.sh ./docker-package-install.sh -COPY ./plugins/openc3-tool-base/ openc3-tool-base/ -RUN ["/openc3/plugins/docker-package-install.sh", "openc3-tool-base"] +COPY ./plugins/docker-package-build.sh ./plugins/.eslintrc.cjs ./plugins/.nycrc ./ +RUN chmod +x ./docker-package-build.sh +COPY ./plugins/packages/openc3-tool-base/ packages/openc3-tool-base/ +RUN ["/openc3/plugins/docker-package-build.sh", "openc3-tool-base"] -# Build admin tool FROM openc3-frontend-tmp AS openc3-tmp1 RUN cd packages/openc3-cosmos-ace-diff && yarn build + +# Build admin tool COPY ./plugins/packages/openc3-cosmos-tool-admin/ packages/openc3-cosmos-tool-admin/ RUN ["/openc3/plugins/docker-package-build.sh", "openc3-cosmos-tool-admin"] @@ -125,7 +126,6 @@ COPY --from=openc3-tmp4 --chown=${IMAGE_USER}:${IMAGE_GROUP} /openc3/plugins/gem COPY --from=openc3-tmp5 --chown=${IMAGE_USER}:${IMAGE_GROUP} /openc3/plugins/gems/* /openc3/plugins/gems/ COPY --from=openc3-frontend-tmp --chown=${IMAGE_USER}:${IMAGE_GROUP} /openc3/plugins/packages/openc3-tool-common/ /openc3/plugins/packages/openc3-tool-common/ COPY --from=openc3-frontend-tmp --chown=${IMAGE_USER}:${IMAGE_GROUP} /openc3/plugins/yarn.lock /openc3/plugins/yarn.lock -COPY --from=openc3-frontend-tmp --chown=${IMAGE_USER}:${IMAGE_GROUP} /openc3/plugins/openc3-tool-base/yarn.lock /openc3/plugins/yarn-tool-base.lock COPY --chown=${IMAGE_USER}:${IMAGE_GROUP} ./init.sh /openc3/ COPY --from=minio-mc /bin/mc /bin/mc diff --git a/openc3-cosmos-init/plugins/docker-package-install.sh b/openc3-cosmos-init/plugins/docker-package-install.sh deleted file mode 100755 index 25b925b32b..0000000000 --- a/openc3-cosmos-init/plugins/docker-package-install.sh +++ /dev/null @@ -1,25 +0,0 @@ -#!/bin/sh -set -e - -PLUGINS="/openc3/plugins" -GEMS="/openc3/plugins/gems/" -PACKAGES="packages" -OPENC3_RELEASE_VERSION=5.21.0-beta0 - -mkdir -p ${GEMS} - -echo "<<< packageInstall $1" -cd ${PLUGINS}/${1}/ -echo "--- packageInstall $1 yarn install" -yarn install -echo "=== packageInstall $1 yarn install complete" -echo "--- packageInstall $1 yarn build" -yarn run build -echo "=== packageInstall $1 yarn run build complete" -echo "--- packageInstall $1 rake build" -rake build VERSION=${OPENC3_RELEASE_VERSION} -echo "=== packageInstall $1 rake build complete" -ls *.gem -echo "--- packageInstall $1 mv gem file" -mv ${1}-*.gem ${GEMS} -echo "=== packageInstall $1 mv gem complete" \ No newline at end of file diff --git a/openc3-cosmos-init/plugins/openc3-tool-base/.browserslistrc b/openc3-cosmos-init/plugins/packages/openc3-tool-base/.browserslistrc similarity index 100% rename from openc3-cosmos-init/plugins/openc3-tool-base/.browserslistrc rename to openc3-cosmos-init/plugins/packages/openc3-tool-base/.browserslistrc diff --git a/openc3-cosmos-init/plugins/openc3-tool-base/.eslintrc.cjs b/openc3-cosmos-init/plugins/packages/openc3-tool-base/.eslintrc.cjs similarity index 100% rename from openc3-cosmos-init/plugins/openc3-tool-base/.eslintrc.cjs rename to openc3-cosmos-init/plugins/packages/openc3-tool-base/.eslintrc.cjs diff --git a/openc3-cosmos-init/plugins/openc3-tool-base/.gitignore b/openc3-cosmos-init/plugins/packages/openc3-tool-base/.gitignore similarity index 100% rename from openc3-cosmos-init/plugins/openc3-tool-base/.gitignore rename to openc3-cosmos-init/plugins/packages/openc3-tool-base/.gitignore diff --git a/openc3-cosmos-init/plugins/openc3-tool-base/.nycrc b/openc3-cosmos-init/plugins/packages/openc3-tool-base/.nycrc similarity index 100% rename from openc3-cosmos-init/plugins/openc3-tool-base/.nycrc rename to openc3-cosmos-init/plugins/packages/openc3-tool-base/.nycrc diff --git a/openc3-cosmos-init/plugins/openc3-tool-base/.prettierrc.js b/openc3-cosmos-init/plugins/packages/openc3-tool-base/.prettierrc.js similarity index 100% rename from openc3-cosmos-init/plugins/openc3-tool-base/.prettierrc.js rename to openc3-cosmos-init/plugins/packages/openc3-tool-base/.prettierrc.js diff --git a/openc3-cosmos-init/plugins/openc3-tool-base/LICENSE.txt b/openc3-cosmos-init/plugins/packages/openc3-tool-base/LICENSE.txt similarity index 100% rename from openc3-cosmos-init/plugins/openc3-tool-base/LICENSE.txt rename to openc3-cosmos-init/plugins/packages/openc3-tool-base/LICENSE.txt diff --git a/openc3-cosmos-init/plugins/openc3-tool-base/README.md b/openc3-cosmos-init/plugins/packages/openc3-tool-base/README.md similarity index 100% rename from openc3-cosmos-init/plugins/openc3-tool-base/README.md rename to openc3-cosmos-init/plugins/packages/openc3-tool-base/README.md diff --git a/openc3-cosmos-init/plugins/openc3-tool-base/Rakefile b/openc3-cosmos-init/plugins/packages/openc3-tool-base/Rakefile similarity index 100% rename from openc3-cosmos-init/plugins/openc3-tool-base/Rakefile rename to openc3-cosmos-init/plugins/packages/openc3-tool-base/Rakefile diff --git a/openc3-cosmos-init/plugins/openc3-tool-base/jsconfig.json b/openc3-cosmos-init/plugins/packages/openc3-tool-base/jsconfig.json similarity index 100% rename from openc3-cosmos-init/plugins/openc3-tool-base/jsconfig.json rename to openc3-cosmos-init/plugins/packages/openc3-tool-base/jsconfig.json diff --git a/openc3-cosmos-init/plugins/openc3-tool-base/openc3-tool-base.gemspec b/openc3-cosmos-init/plugins/packages/openc3-tool-base/openc3-tool-base.gemspec similarity index 100% rename from openc3-cosmos-init/plugins/openc3-tool-base/openc3-tool-base.gemspec rename to openc3-cosmos-init/plugins/packages/openc3-tool-base/openc3-tool-base.gemspec diff --git a/openc3-cosmos-init/plugins/openc3-tool-base/package.json b/openc3-cosmos-init/plugins/packages/openc3-tool-base/package.json similarity index 95% rename from openc3-cosmos-init/plugins/openc3-tool-base/package.json rename to openc3-cosmos-init/plugins/packages/openc3-tool-base/package.json index be1d24c3df..0bbaafa0b3 100644 --- a/openc3-cosmos-init/plugins/openc3-tool-base/package.json +++ b/openc3-cosmos-init/plugins/packages/openc3-tool-base/package.json @@ -10,6 +10,7 @@ "build": "vite build" }, "dependencies": { + "@openc3/tool-common": "5.21.0-beta0", "@astrouxds/astro-web-components": "7.24.0", "@rails/actioncable": "7.1.3-4", "axios": "1.7.7", diff --git a/openc3-cosmos-init/plugins/openc3-tool-base/plugin.txt b/openc3-cosmos-init/plugins/packages/openc3-tool-base/plugin.txt similarity index 100% rename from openc3-cosmos-init/plugins/openc3-tool-base/plugin.txt rename to openc3-cosmos-init/plugins/packages/openc3-tool-base/plugin.txt diff --git a/openc3-cosmos-init/plugins/openc3-tool-base/public/css/materialdesignicons-7.4.47.min.css b/openc3-cosmos-init/plugins/packages/openc3-tool-base/public/css/materialdesignicons-7.4.47.min.css similarity index 100% rename from openc3-cosmos-init/plugins/openc3-tool-base/public/css/materialdesignicons-7.4.47.min.css rename to openc3-cosmos-init/plugins/packages/openc3-tool-base/public/css/materialdesignicons-7.4.47.min.css diff --git a/openc3-cosmos-init/plugins/openc3-tool-base/public/css/materialdesignicons.css.map b/openc3-cosmos-init/plugins/packages/openc3-tool-base/public/css/materialdesignicons.css.map similarity index 100% rename from openc3-cosmos-init/plugins/openc3-tool-base/public/css/materialdesignicons.css.map rename to openc3-cosmos-init/plugins/packages/openc3-tool-base/public/css/materialdesignicons.css.map diff --git a/openc3-cosmos-init/plugins/openc3-tool-base/public/css/roboto.css b/openc3-cosmos-init/plugins/packages/openc3-tool-base/public/css/roboto.css similarity index 100% rename from openc3-cosmos-init/plugins/openc3-tool-base/public/css/roboto.css rename to openc3-cosmos-init/plugins/packages/openc3-tool-base/public/css/roboto.css diff --git a/openc3-cosmos-init/plugins/openc3-tool-base/public/css/vuetify-3.7.1.min.css b/openc3-cosmos-init/plugins/packages/openc3-tool-base/public/css/vuetify-3.7.1.min.css similarity index 100% rename from openc3-cosmos-init/plugins/openc3-tool-base/public/css/vuetify-3.7.1.min.css rename to openc3-cosmos-init/plugins/packages/openc3-tool-base/public/css/vuetify-3.7.1.min.css diff --git a/openc3-cosmos-init/plugins/openc3-tool-base/public/favicon-16x16.png b/openc3-cosmos-init/plugins/packages/openc3-tool-base/public/favicon-16x16.png similarity index 100% rename from openc3-cosmos-init/plugins/openc3-tool-base/public/favicon-16x16.png rename to openc3-cosmos-init/plugins/packages/openc3-tool-base/public/favicon-16x16.png diff --git a/openc3-cosmos-init/plugins/openc3-tool-base/public/favicon-32x32.png b/openc3-cosmos-init/plugins/packages/openc3-tool-base/public/favicon-32x32.png similarity index 100% rename from openc3-cosmos-init/plugins/openc3-tool-base/public/favicon-32x32.png rename to openc3-cosmos-init/plugins/packages/openc3-tool-base/public/favicon-32x32.png diff --git a/openc3-cosmos-init/plugins/openc3-tool-base/public/favicon.ico b/openc3-cosmos-init/plugins/packages/openc3-tool-base/public/favicon.ico similarity index 100% rename from openc3-cosmos-init/plugins/openc3-tool-base/public/favicon.ico rename to openc3-cosmos-init/plugins/packages/openc3-tool-base/public/favicon.ico diff --git a/openc3-cosmos-init/plugins/openc3-tool-base/public/fonts/materialdesignicons-webfont.eot b/openc3-cosmos-init/plugins/packages/openc3-tool-base/public/fonts/materialdesignicons-webfont.eot similarity index 100% rename from openc3-cosmos-init/plugins/openc3-tool-base/public/fonts/materialdesignicons-webfont.eot rename to openc3-cosmos-init/plugins/packages/openc3-tool-base/public/fonts/materialdesignicons-webfont.eot diff --git a/openc3-cosmos-init/plugins/openc3-tool-base/public/fonts/materialdesignicons-webfont.ttf b/openc3-cosmos-init/plugins/packages/openc3-tool-base/public/fonts/materialdesignicons-webfont.ttf similarity index 100% rename from openc3-cosmos-init/plugins/openc3-tool-base/public/fonts/materialdesignicons-webfont.ttf rename to openc3-cosmos-init/plugins/packages/openc3-tool-base/public/fonts/materialdesignicons-webfont.ttf diff --git a/openc3-cosmos-init/plugins/openc3-tool-base/public/fonts/materialdesignicons-webfont.woff b/openc3-cosmos-init/plugins/packages/openc3-tool-base/public/fonts/materialdesignicons-webfont.woff similarity index 100% rename from openc3-cosmos-init/plugins/openc3-tool-base/public/fonts/materialdesignicons-webfont.woff rename to openc3-cosmos-init/plugins/packages/openc3-tool-base/public/fonts/materialdesignicons-webfont.woff diff --git a/openc3-cosmos-init/plugins/openc3-tool-base/public/fonts/materialdesignicons-webfont.woff2 b/openc3-cosmos-init/plugins/packages/openc3-tool-base/public/fonts/materialdesignicons-webfont.woff2 similarity index 100% rename from openc3-cosmos-init/plugins/openc3-tool-base/public/fonts/materialdesignicons-webfont.woff2 rename to openc3-cosmos-init/plugins/packages/openc3-tool-base/public/fonts/materialdesignicons-webfont.woff2 diff --git a/openc3-cosmos-init/plugins/openc3-tool-base/public/fonts/roboto/KFOkCnqEu92Fr1MmgVxEIzIFKw.woff2 b/openc3-cosmos-init/plugins/packages/openc3-tool-base/public/fonts/roboto/KFOkCnqEu92Fr1MmgVxEIzIFKw.woff2 similarity index 100% rename from openc3-cosmos-init/plugins/openc3-tool-base/public/fonts/roboto/KFOkCnqEu92Fr1MmgVxEIzIFKw.woff2 rename to openc3-cosmos-init/plugins/packages/openc3-tool-base/public/fonts/roboto/KFOkCnqEu92Fr1MmgVxEIzIFKw.woff2 diff --git a/openc3-cosmos-init/plugins/openc3-tool-base/public/fonts/roboto/KFOkCnqEu92Fr1MmgVxFIzIFKw.woff2 b/openc3-cosmos-init/plugins/packages/openc3-tool-base/public/fonts/roboto/KFOkCnqEu92Fr1MmgVxFIzIFKw.woff2 similarity index 100% rename from openc3-cosmos-init/plugins/openc3-tool-base/public/fonts/roboto/KFOkCnqEu92Fr1MmgVxFIzIFKw.woff2 rename to openc3-cosmos-init/plugins/packages/openc3-tool-base/public/fonts/roboto/KFOkCnqEu92Fr1MmgVxFIzIFKw.woff2 diff --git a/openc3-cosmos-init/plugins/openc3-tool-base/public/fonts/roboto/KFOkCnqEu92Fr1MmgVxGIzIFKw.woff2 b/openc3-cosmos-init/plugins/packages/openc3-tool-base/public/fonts/roboto/KFOkCnqEu92Fr1MmgVxGIzIFKw.woff2 similarity index 100% rename from openc3-cosmos-init/plugins/openc3-tool-base/public/fonts/roboto/KFOkCnqEu92Fr1MmgVxGIzIFKw.woff2 rename to openc3-cosmos-init/plugins/packages/openc3-tool-base/public/fonts/roboto/KFOkCnqEu92Fr1MmgVxGIzIFKw.woff2 diff --git a/openc3-cosmos-init/plugins/openc3-tool-base/public/fonts/roboto/KFOkCnqEu92Fr1MmgVxHIzIFKw.woff2 b/openc3-cosmos-init/plugins/packages/openc3-tool-base/public/fonts/roboto/KFOkCnqEu92Fr1MmgVxHIzIFKw.woff2 similarity index 100% rename from openc3-cosmos-init/plugins/openc3-tool-base/public/fonts/roboto/KFOkCnqEu92Fr1MmgVxHIzIFKw.woff2 rename to openc3-cosmos-init/plugins/packages/openc3-tool-base/public/fonts/roboto/KFOkCnqEu92Fr1MmgVxHIzIFKw.woff2 diff --git a/openc3-cosmos-init/plugins/openc3-tool-base/public/fonts/roboto/KFOkCnqEu92Fr1MmgVxIIzI.woff2 b/openc3-cosmos-init/plugins/packages/openc3-tool-base/public/fonts/roboto/KFOkCnqEu92Fr1MmgVxIIzI.woff2 similarity index 100% rename from openc3-cosmos-init/plugins/openc3-tool-base/public/fonts/roboto/KFOkCnqEu92Fr1MmgVxIIzI.woff2 rename to openc3-cosmos-init/plugins/packages/openc3-tool-base/public/fonts/roboto/KFOkCnqEu92Fr1MmgVxIIzI.woff2 diff --git a/openc3-cosmos-init/plugins/openc3-tool-base/public/fonts/roboto/KFOkCnqEu92Fr1MmgVxLIzIFKw.woff2 b/openc3-cosmos-init/plugins/packages/openc3-tool-base/public/fonts/roboto/KFOkCnqEu92Fr1MmgVxLIzIFKw.woff2 similarity index 100% rename from openc3-cosmos-init/plugins/openc3-tool-base/public/fonts/roboto/KFOkCnqEu92Fr1MmgVxLIzIFKw.woff2 rename to openc3-cosmos-init/plugins/packages/openc3-tool-base/public/fonts/roboto/KFOkCnqEu92Fr1MmgVxLIzIFKw.woff2 diff --git a/openc3-cosmos-init/plugins/openc3-tool-base/public/fonts/roboto/KFOkCnqEu92Fr1MmgVxMIzIFKw.woff2 b/openc3-cosmos-init/plugins/packages/openc3-tool-base/public/fonts/roboto/KFOkCnqEu92Fr1MmgVxMIzIFKw.woff2 similarity index 100% rename from openc3-cosmos-init/plugins/openc3-tool-base/public/fonts/roboto/KFOkCnqEu92Fr1MmgVxMIzIFKw.woff2 rename to openc3-cosmos-init/plugins/packages/openc3-tool-base/public/fonts/roboto/KFOkCnqEu92Fr1MmgVxMIzIFKw.woff2 diff --git a/openc3-cosmos-init/plugins/openc3-tool-base/public/fonts/roboto/KFOlCnqEu92Fr1MmEU9fABc4EsA.woff2 b/openc3-cosmos-init/plugins/packages/openc3-tool-base/public/fonts/roboto/KFOlCnqEu92Fr1MmEU9fABc4EsA.woff2 similarity index 100% rename from openc3-cosmos-init/plugins/openc3-tool-base/public/fonts/roboto/KFOlCnqEu92Fr1MmEU9fABc4EsA.woff2 rename to openc3-cosmos-init/plugins/packages/openc3-tool-base/public/fonts/roboto/KFOlCnqEu92Fr1MmEU9fABc4EsA.woff2 diff --git a/openc3-cosmos-init/plugins/openc3-tool-base/public/fonts/roboto/KFOlCnqEu92Fr1MmEU9fBBc4.woff2 b/openc3-cosmos-init/plugins/packages/openc3-tool-base/public/fonts/roboto/KFOlCnqEu92Fr1MmEU9fBBc4.woff2 similarity index 100% rename from openc3-cosmos-init/plugins/openc3-tool-base/public/fonts/roboto/KFOlCnqEu92Fr1MmEU9fBBc4.woff2 rename to openc3-cosmos-init/plugins/packages/openc3-tool-base/public/fonts/roboto/KFOlCnqEu92Fr1MmEU9fBBc4.woff2 diff --git a/openc3-cosmos-init/plugins/openc3-tool-base/public/fonts/roboto/KFOlCnqEu92Fr1MmEU9fBxc4EsA.woff2 b/openc3-cosmos-init/plugins/packages/openc3-tool-base/public/fonts/roboto/KFOlCnqEu92Fr1MmEU9fBxc4EsA.woff2 similarity index 100% rename from openc3-cosmos-init/plugins/openc3-tool-base/public/fonts/roboto/KFOlCnqEu92Fr1MmEU9fBxc4EsA.woff2 rename to openc3-cosmos-init/plugins/packages/openc3-tool-base/public/fonts/roboto/KFOlCnqEu92Fr1MmEU9fBxc4EsA.woff2 diff --git a/openc3-cosmos-init/plugins/openc3-tool-base/public/fonts/roboto/KFOlCnqEu92Fr1MmEU9fCBc4EsA.woff2 b/openc3-cosmos-init/plugins/packages/openc3-tool-base/public/fonts/roboto/KFOlCnqEu92Fr1MmEU9fCBc4EsA.woff2 similarity index 100% rename from openc3-cosmos-init/plugins/openc3-tool-base/public/fonts/roboto/KFOlCnqEu92Fr1MmEU9fCBc4EsA.woff2 rename to openc3-cosmos-init/plugins/packages/openc3-tool-base/public/fonts/roboto/KFOlCnqEu92Fr1MmEU9fCBc4EsA.woff2 diff --git a/openc3-cosmos-init/plugins/openc3-tool-base/public/fonts/roboto/KFOlCnqEu92Fr1MmEU9fCRc4EsA.woff2 b/openc3-cosmos-init/plugins/packages/openc3-tool-base/public/fonts/roboto/KFOlCnqEu92Fr1MmEU9fCRc4EsA.woff2 similarity index 100% rename from openc3-cosmos-init/plugins/openc3-tool-base/public/fonts/roboto/KFOlCnqEu92Fr1MmEU9fCRc4EsA.woff2 rename to openc3-cosmos-init/plugins/packages/openc3-tool-base/public/fonts/roboto/KFOlCnqEu92Fr1MmEU9fCRc4EsA.woff2 diff --git a/openc3-cosmos-init/plugins/openc3-tool-base/public/fonts/roboto/KFOlCnqEu92Fr1MmEU9fChc4EsA.woff2 b/openc3-cosmos-init/plugins/packages/openc3-tool-base/public/fonts/roboto/KFOlCnqEu92Fr1MmEU9fChc4EsA.woff2 similarity index 100% rename from openc3-cosmos-init/plugins/openc3-tool-base/public/fonts/roboto/KFOlCnqEu92Fr1MmEU9fChc4EsA.woff2 rename to openc3-cosmos-init/plugins/packages/openc3-tool-base/public/fonts/roboto/KFOlCnqEu92Fr1MmEU9fChc4EsA.woff2 diff --git a/openc3-cosmos-init/plugins/openc3-tool-base/public/fonts/roboto/KFOlCnqEu92Fr1MmEU9fCxc4EsA.woff2 b/openc3-cosmos-init/plugins/packages/openc3-tool-base/public/fonts/roboto/KFOlCnqEu92Fr1MmEU9fCxc4EsA.woff2 similarity index 100% rename from openc3-cosmos-init/plugins/openc3-tool-base/public/fonts/roboto/KFOlCnqEu92Fr1MmEU9fCxc4EsA.woff2 rename to openc3-cosmos-init/plugins/packages/openc3-tool-base/public/fonts/roboto/KFOlCnqEu92Fr1MmEU9fCxc4EsA.woff2 diff --git a/openc3-cosmos-init/plugins/openc3-tool-base/public/fonts/roboto/KFOlCnqEu92Fr1MmSU5fABc4EsA.woff2 b/openc3-cosmos-init/plugins/packages/openc3-tool-base/public/fonts/roboto/KFOlCnqEu92Fr1MmSU5fABc4EsA.woff2 similarity index 100% rename from openc3-cosmos-init/plugins/openc3-tool-base/public/fonts/roboto/KFOlCnqEu92Fr1MmSU5fABc4EsA.woff2 rename to openc3-cosmos-init/plugins/packages/openc3-tool-base/public/fonts/roboto/KFOlCnqEu92Fr1MmSU5fABc4EsA.woff2 diff --git a/openc3-cosmos-init/plugins/openc3-tool-base/public/fonts/roboto/KFOlCnqEu92Fr1MmSU5fBBc4.woff2 b/openc3-cosmos-init/plugins/packages/openc3-tool-base/public/fonts/roboto/KFOlCnqEu92Fr1MmSU5fBBc4.woff2 similarity index 100% rename from openc3-cosmos-init/plugins/openc3-tool-base/public/fonts/roboto/KFOlCnqEu92Fr1MmSU5fBBc4.woff2 rename to openc3-cosmos-init/plugins/packages/openc3-tool-base/public/fonts/roboto/KFOlCnqEu92Fr1MmSU5fBBc4.woff2 diff --git a/openc3-cosmos-init/plugins/openc3-tool-base/public/fonts/roboto/KFOlCnqEu92Fr1MmSU5fBxc4EsA.woff2 b/openc3-cosmos-init/plugins/packages/openc3-tool-base/public/fonts/roboto/KFOlCnqEu92Fr1MmSU5fBxc4EsA.woff2 similarity index 100% rename from openc3-cosmos-init/plugins/openc3-tool-base/public/fonts/roboto/KFOlCnqEu92Fr1MmSU5fBxc4EsA.woff2 rename to openc3-cosmos-init/plugins/packages/openc3-tool-base/public/fonts/roboto/KFOlCnqEu92Fr1MmSU5fBxc4EsA.woff2 diff --git a/openc3-cosmos-init/plugins/openc3-tool-base/public/fonts/roboto/KFOlCnqEu92Fr1MmSU5fCBc4EsA.woff2 b/openc3-cosmos-init/plugins/packages/openc3-tool-base/public/fonts/roboto/KFOlCnqEu92Fr1MmSU5fCBc4EsA.woff2 similarity index 100% rename from openc3-cosmos-init/plugins/openc3-tool-base/public/fonts/roboto/KFOlCnqEu92Fr1MmSU5fCBc4EsA.woff2 rename to openc3-cosmos-init/plugins/packages/openc3-tool-base/public/fonts/roboto/KFOlCnqEu92Fr1MmSU5fCBc4EsA.woff2 diff --git a/openc3-cosmos-init/plugins/openc3-tool-base/public/fonts/roboto/KFOlCnqEu92Fr1MmSU5fCRc4EsA.woff2 b/openc3-cosmos-init/plugins/packages/openc3-tool-base/public/fonts/roboto/KFOlCnqEu92Fr1MmSU5fCRc4EsA.woff2 similarity index 100% rename from openc3-cosmos-init/plugins/openc3-tool-base/public/fonts/roboto/KFOlCnqEu92Fr1MmSU5fCRc4EsA.woff2 rename to openc3-cosmos-init/plugins/packages/openc3-tool-base/public/fonts/roboto/KFOlCnqEu92Fr1MmSU5fCRc4EsA.woff2 diff --git a/openc3-cosmos-init/plugins/openc3-tool-base/public/fonts/roboto/KFOlCnqEu92Fr1MmSU5fChc4EsA.woff2 b/openc3-cosmos-init/plugins/packages/openc3-tool-base/public/fonts/roboto/KFOlCnqEu92Fr1MmSU5fChc4EsA.woff2 similarity index 100% rename from openc3-cosmos-init/plugins/openc3-tool-base/public/fonts/roboto/KFOlCnqEu92Fr1MmSU5fChc4EsA.woff2 rename to openc3-cosmos-init/plugins/packages/openc3-tool-base/public/fonts/roboto/KFOlCnqEu92Fr1MmSU5fChc4EsA.woff2 diff --git a/openc3-cosmos-init/plugins/openc3-tool-base/public/fonts/roboto/KFOlCnqEu92Fr1MmSU5fCxc4EsA.woff2 b/openc3-cosmos-init/plugins/packages/openc3-tool-base/public/fonts/roboto/KFOlCnqEu92Fr1MmSU5fCxc4EsA.woff2 similarity index 100% rename from openc3-cosmos-init/plugins/openc3-tool-base/public/fonts/roboto/KFOlCnqEu92Fr1MmSU5fCxc4EsA.woff2 rename to openc3-cosmos-init/plugins/packages/openc3-tool-base/public/fonts/roboto/KFOlCnqEu92Fr1MmSU5fCxc4EsA.woff2 diff --git a/openc3-cosmos-init/plugins/openc3-tool-base/public/fonts/roboto/KFOlCnqEu92Fr1MmWUlfABc4EsA.woff2 b/openc3-cosmos-init/plugins/packages/openc3-tool-base/public/fonts/roboto/KFOlCnqEu92Fr1MmWUlfABc4EsA.woff2 similarity index 100% rename from openc3-cosmos-init/plugins/openc3-tool-base/public/fonts/roboto/KFOlCnqEu92Fr1MmWUlfABc4EsA.woff2 rename to openc3-cosmos-init/plugins/packages/openc3-tool-base/public/fonts/roboto/KFOlCnqEu92Fr1MmWUlfABc4EsA.woff2 diff --git a/openc3-cosmos-init/plugins/openc3-tool-base/public/fonts/roboto/KFOlCnqEu92Fr1MmWUlfBBc4.woff2 b/openc3-cosmos-init/plugins/packages/openc3-tool-base/public/fonts/roboto/KFOlCnqEu92Fr1MmWUlfBBc4.woff2 similarity index 100% rename from openc3-cosmos-init/plugins/openc3-tool-base/public/fonts/roboto/KFOlCnqEu92Fr1MmWUlfBBc4.woff2 rename to openc3-cosmos-init/plugins/packages/openc3-tool-base/public/fonts/roboto/KFOlCnqEu92Fr1MmWUlfBBc4.woff2 diff --git a/openc3-cosmos-init/plugins/openc3-tool-base/public/fonts/roboto/KFOlCnqEu92Fr1MmWUlfBxc4EsA.woff2 b/openc3-cosmos-init/plugins/packages/openc3-tool-base/public/fonts/roboto/KFOlCnqEu92Fr1MmWUlfBxc4EsA.woff2 similarity index 100% rename from openc3-cosmos-init/plugins/openc3-tool-base/public/fonts/roboto/KFOlCnqEu92Fr1MmWUlfBxc4EsA.woff2 rename to openc3-cosmos-init/plugins/packages/openc3-tool-base/public/fonts/roboto/KFOlCnqEu92Fr1MmWUlfBxc4EsA.woff2 diff --git a/openc3-cosmos-init/plugins/openc3-tool-base/public/fonts/roboto/KFOlCnqEu92Fr1MmWUlfCBc4EsA.woff2 b/openc3-cosmos-init/plugins/packages/openc3-tool-base/public/fonts/roboto/KFOlCnqEu92Fr1MmWUlfCBc4EsA.woff2 similarity index 100% rename from openc3-cosmos-init/plugins/openc3-tool-base/public/fonts/roboto/KFOlCnqEu92Fr1MmWUlfCBc4EsA.woff2 rename to openc3-cosmos-init/plugins/packages/openc3-tool-base/public/fonts/roboto/KFOlCnqEu92Fr1MmWUlfCBc4EsA.woff2 diff --git a/openc3-cosmos-init/plugins/openc3-tool-base/public/fonts/roboto/KFOlCnqEu92Fr1MmWUlfCRc4EsA.woff2 b/openc3-cosmos-init/plugins/packages/openc3-tool-base/public/fonts/roboto/KFOlCnqEu92Fr1MmWUlfCRc4EsA.woff2 similarity index 100% rename from openc3-cosmos-init/plugins/openc3-tool-base/public/fonts/roboto/KFOlCnqEu92Fr1MmWUlfCRc4EsA.woff2 rename to openc3-cosmos-init/plugins/packages/openc3-tool-base/public/fonts/roboto/KFOlCnqEu92Fr1MmWUlfCRc4EsA.woff2 diff --git a/openc3-cosmos-init/plugins/openc3-tool-base/public/fonts/roboto/KFOlCnqEu92Fr1MmWUlfChc4EsA.woff2 b/openc3-cosmos-init/plugins/packages/openc3-tool-base/public/fonts/roboto/KFOlCnqEu92Fr1MmWUlfChc4EsA.woff2 similarity index 100% rename from openc3-cosmos-init/plugins/openc3-tool-base/public/fonts/roboto/KFOlCnqEu92Fr1MmWUlfChc4EsA.woff2 rename to openc3-cosmos-init/plugins/packages/openc3-tool-base/public/fonts/roboto/KFOlCnqEu92Fr1MmWUlfChc4EsA.woff2 diff --git a/openc3-cosmos-init/plugins/openc3-tool-base/public/fonts/roboto/KFOlCnqEu92Fr1MmWUlfCxc4EsA.woff2 b/openc3-cosmos-init/plugins/packages/openc3-tool-base/public/fonts/roboto/KFOlCnqEu92Fr1MmWUlfCxc4EsA.woff2 similarity index 100% rename from openc3-cosmos-init/plugins/openc3-tool-base/public/fonts/roboto/KFOlCnqEu92Fr1MmWUlfCxc4EsA.woff2 rename to openc3-cosmos-init/plugins/packages/openc3-tool-base/public/fonts/roboto/KFOlCnqEu92Fr1MmWUlfCxc4EsA.woff2 diff --git a/openc3-cosmos-init/plugins/openc3-tool-base/public/fonts/roboto/KFOlCnqEu92Fr1MmYUtfABc4EsA.woff2 b/openc3-cosmos-init/plugins/packages/openc3-tool-base/public/fonts/roboto/KFOlCnqEu92Fr1MmYUtfABc4EsA.woff2 similarity index 100% rename from openc3-cosmos-init/plugins/openc3-tool-base/public/fonts/roboto/KFOlCnqEu92Fr1MmYUtfABc4EsA.woff2 rename to openc3-cosmos-init/plugins/packages/openc3-tool-base/public/fonts/roboto/KFOlCnqEu92Fr1MmYUtfABc4EsA.woff2 diff --git a/openc3-cosmos-init/plugins/openc3-tool-base/public/fonts/roboto/KFOlCnqEu92Fr1MmYUtfBBc4.woff2 b/openc3-cosmos-init/plugins/packages/openc3-tool-base/public/fonts/roboto/KFOlCnqEu92Fr1MmYUtfBBc4.woff2 similarity index 100% rename from openc3-cosmos-init/plugins/openc3-tool-base/public/fonts/roboto/KFOlCnqEu92Fr1MmYUtfBBc4.woff2 rename to openc3-cosmos-init/plugins/packages/openc3-tool-base/public/fonts/roboto/KFOlCnqEu92Fr1MmYUtfBBc4.woff2 diff --git a/openc3-cosmos-init/plugins/openc3-tool-base/public/fonts/roboto/KFOlCnqEu92Fr1MmYUtfBxc4EsA.woff2 b/openc3-cosmos-init/plugins/packages/openc3-tool-base/public/fonts/roboto/KFOlCnqEu92Fr1MmYUtfBxc4EsA.woff2 similarity index 100% rename from openc3-cosmos-init/plugins/openc3-tool-base/public/fonts/roboto/KFOlCnqEu92Fr1MmYUtfBxc4EsA.woff2 rename to openc3-cosmos-init/plugins/packages/openc3-tool-base/public/fonts/roboto/KFOlCnqEu92Fr1MmYUtfBxc4EsA.woff2 diff --git a/openc3-cosmos-init/plugins/openc3-tool-base/public/fonts/roboto/KFOlCnqEu92Fr1MmYUtfCBc4EsA.woff2 b/openc3-cosmos-init/plugins/packages/openc3-tool-base/public/fonts/roboto/KFOlCnqEu92Fr1MmYUtfCBc4EsA.woff2 similarity index 100% rename from openc3-cosmos-init/plugins/openc3-tool-base/public/fonts/roboto/KFOlCnqEu92Fr1MmYUtfCBc4EsA.woff2 rename to openc3-cosmos-init/plugins/packages/openc3-tool-base/public/fonts/roboto/KFOlCnqEu92Fr1MmYUtfCBc4EsA.woff2 diff --git a/openc3-cosmos-init/plugins/openc3-tool-base/public/fonts/roboto/KFOlCnqEu92Fr1MmYUtfCRc4EsA.woff2 b/openc3-cosmos-init/plugins/packages/openc3-tool-base/public/fonts/roboto/KFOlCnqEu92Fr1MmYUtfCRc4EsA.woff2 similarity index 100% rename from openc3-cosmos-init/plugins/openc3-tool-base/public/fonts/roboto/KFOlCnqEu92Fr1MmYUtfCRc4EsA.woff2 rename to openc3-cosmos-init/plugins/packages/openc3-tool-base/public/fonts/roboto/KFOlCnqEu92Fr1MmYUtfCRc4EsA.woff2 diff --git a/openc3-cosmos-init/plugins/openc3-tool-base/public/fonts/roboto/KFOlCnqEu92Fr1MmYUtfChc4EsA.woff2 b/openc3-cosmos-init/plugins/packages/openc3-tool-base/public/fonts/roboto/KFOlCnqEu92Fr1MmYUtfChc4EsA.woff2 similarity index 100% rename from openc3-cosmos-init/plugins/openc3-tool-base/public/fonts/roboto/KFOlCnqEu92Fr1MmYUtfChc4EsA.woff2 rename to openc3-cosmos-init/plugins/packages/openc3-tool-base/public/fonts/roboto/KFOlCnqEu92Fr1MmYUtfChc4EsA.woff2 diff --git a/openc3-cosmos-init/plugins/openc3-tool-base/public/fonts/roboto/KFOlCnqEu92Fr1MmYUtfCxc4EsA.woff2 b/openc3-cosmos-init/plugins/packages/openc3-tool-base/public/fonts/roboto/KFOlCnqEu92Fr1MmYUtfCxc4EsA.woff2 similarity index 100% rename from openc3-cosmos-init/plugins/openc3-tool-base/public/fonts/roboto/KFOlCnqEu92Fr1MmYUtfCxc4EsA.woff2 rename to openc3-cosmos-init/plugins/packages/openc3-tool-base/public/fonts/roboto/KFOlCnqEu92Fr1MmYUtfCxc4EsA.woff2 diff --git a/openc3-cosmos-init/plugins/openc3-tool-base/public/fonts/roboto/KFOmCnqEu92Fr1Mu4WxKOzY.woff2 b/openc3-cosmos-init/plugins/packages/openc3-tool-base/public/fonts/roboto/KFOmCnqEu92Fr1Mu4WxKOzY.woff2 similarity index 100% rename from openc3-cosmos-init/plugins/openc3-tool-base/public/fonts/roboto/KFOmCnqEu92Fr1Mu4WxKOzY.woff2 rename to openc3-cosmos-init/plugins/packages/openc3-tool-base/public/fonts/roboto/KFOmCnqEu92Fr1Mu4WxKOzY.woff2 diff --git a/openc3-cosmos-init/plugins/openc3-tool-base/public/fonts/roboto/KFOmCnqEu92Fr1Mu4mxK.woff2 b/openc3-cosmos-init/plugins/packages/openc3-tool-base/public/fonts/roboto/KFOmCnqEu92Fr1Mu4mxK.woff2 similarity index 100% rename from openc3-cosmos-init/plugins/openc3-tool-base/public/fonts/roboto/KFOmCnqEu92Fr1Mu4mxK.woff2 rename to openc3-cosmos-init/plugins/packages/openc3-tool-base/public/fonts/roboto/KFOmCnqEu92Fr1Mu4mxK.woff2 diff --git a/openc3-cosmos-init/plugins/openc3-tool-base/public/fonts/roboto/KFOmCnqEu92Fr1Mu5mxKOzY.woff2 b/openc3-cosmos-init/plugins/packages/openc3-tool-base/public/fonts/roboto/KFOmCnqEu92Fr1Mu5mxKOzY.woff2 similarity index 100% rename from openc3-cosmos-init/plugins/openc3-tool-base/public/fonts/roboto/KFOmCnqEu92Fr1Mu5mxKOzY.woff2 rename to openc3-cosmos-init/plugins/packages/openc3-tool-base/public/fonts/roboto/KFOmCnqEu92Fr1Mu5mxKOzY.woff2 diff --git a/openc3-cosmos-init/plugins/openc3-tool-base/public/fonts/roboto/KFOmCnqEu92Fr1Mu72xKOzY.woff2 b/openc3-cosmos-init/plugins/packages/openc3-tool-base/public/fonts/roboto/KFOmCnqEu92Fr1Mu72xKOzY.woff2 similarity index 100% rename from openc3-cosmos-init/plugins/openc3-tool-base/public/fonts/roboto/KFOmCnqEu92Fr1Mu72xKOzY.woff2 rename to openc3-cosmos-init/plugins/packages/openc3-tool-base/public/fonts/roboto/KFOmCnqEu92Fr1Mu72xKOzY.woff2 diff --git a/openc3-cosmos-init/plugins/openc3-tool-base/public/fonts/roboto/KFOmCnqEu92Fr1Mu7GxKOzY.woff2 b/openc3-cosmos-init/plugins/packages/openc3-tool-base/public/fonts/roboto/KFOmCnqEu92Fr1Mu7GxKOzY.woff2 similarity index 100% rename from openc3-cosmos-init/plugins/openc3-tool-base/public/fonts/roboto/KFOmCnqEu92Fr1Mu7GxKOzY.woff2 rename to openc3-cosmos-init/plugins/packages/openc3-tool-base/public/fonts/roboto/KFOmCnqEu92Fr1Mu7GxKOzY.woff2 diff --git a/openc3-cosmos-init/plugins/openc3-tool-base/public/fonts/roboto/KFOmCnqEu92Fr1Mu7WxKOzY.woff2 b/openc3-cosmos-init/plugins/packages/openc3-tool-base/public/fonts/roboto/KFOmCnqEu92Fr1Mu7WxKOzY.woff2 similarity index 100% rename from openc3-cosmos-init/plugins/openc3-tool-base/public/fonts/roboto/KFOmCnqEu92Fr1Mu7WxKOzY.woff2 rename to openc3-cosmos-init/plugins/packages/openc3-tool-base/public/fonts/roboto/KFOmCnqEu92Fr1Mu7WxKOzY.woff2 diff --git a/openc3-cosmos-init/plugins/openc3-tool-base/public/fonts/roboto/KFOmCnqEu92Fr1Mu7mxKOzY.woff2 b/openc3-cosmos-init/plugins/packages/openc3-tool-base/public/fonts/roboto/KFOmCnqEu92Fr1Mu7mxKOzY.woff2 similarity index 100% rename from openc3-cosmos-init/plugins/openc3-tool-base/public/fonts/roboto/KFOmCnqEu92Fr1Mu7mxKOzY.woff2 rename to openc3-cosmos-init/plugins/packages/openc3-tool-base/public/fonts/roboto/KFOmCnqEu92Fr1Mu7mxKOzY.woff2 diff --git a/openc3-cosmos-init/plugins/openc3-tool-base/public/icons/status-dark.png b/openc3-cosmos-init/plugins/packages/openc3-tool-base/public/icons/status-dark.png similarity index 100% rename from openc3-cosmos-init/plugins/openc3-tool-base/public/icons/status-dark.png rename to openc3-cosmos-init/plugins/packages/openc3-tool-base/public/icons/status-dark.png diff --git a/openc3-cosmos-init/plugins/openc3-tool-base/public/icons/status-light.png b/openc3-cosmos-init/plugins/packages/openc3-tool-base/public/icons/status-light.png similarity index 100% rename from openc3-cosmos-init/plugins/openc3-tool-base/public/icons/status-light.png rename to openc3-cosmos-init/plugins/packages/openc3-tool-base/public/icons/status-light.png diff --git a/openc3-cosmos-init/plugins/openc3-tool-base/public/img/astro-logo-small-dark.svg b/openc3-cosmos-init/plugins/packages/openc3-tool-base/public/img/astro-logo-small-dark.svg similarity index 100% rename from openc3-cosmos-init/plugins/openc3-tool-base/public/img/astro-logo-small-dark.svg rename to openc3-cosmos-init/plugins/packages/openc3-tool-base/public/img/astro-logo-small-dark.svg diff --git a/openc3-cosmos-init/plugins/openc3-tool-base/public/img/astro-logo-small-light.svg b/openc3-cosmos-init/plugins/packages/openc3-tool-base/public/img/astro-logo-small-light.svg similarity index 100% rename from openc3-cosmos-init/plugins/openc3-tool-base/public/img/astro-logo-small-light.svg rename to openc3-cosmos-init/plugins/packages/openc3-tool-base/public/img/astro-logo-small-light.svg diff --git a/openc3-cosmos-init/plugins/openc3-tool-base/public/img/ground_error.gif b/openc3-cosmos-init/plugins/packages/openc3-tool-base/public/img/ground_error.gif similarity index 100% rename from openc3-cosmos-init/plugins/openc3-tool-base/public/img/ground_error.gif rename to openc3-cosmos-init/plugins/packages/openc3-tool-base/public/img/ground_error.gif diff --git a/openc3-cosmos-init/plugins/openc3-tool-base/public/img/ground_off.gif b/openc3-cosmos-init/plugins/packages/openc3-tool-base/public/img/ground_off.gif similarity index 100% rename from openc3-cosmos-init/plugins/openc3-tool-base/public/img/ground_off.gif rename to openc3-cosmos-init/plugins/packages/openc3-tool-base/public/img/ground_off.gif diff --git a/openc3-cosmos-init/plugins/openc3-tool-base/public/img/ground_on.gif b/openc3-cosmos-init/plugins/packages/openc3-tool-base/public/img/ground_on.gif similarity index 100% rename from openc3-cosmos-init/plugins/openc3-tool-base/public/img/ground_on.gif rename to openc3-cosmos-init/plugins/packages/openc3-tool-base/public/img/ground_on.gif diff --git a/openc3-cosmos-init/plugins/openc3-tool-base/public/img/icons.svg b/openc3-cosmos-init/plugins/packages/openc3-tool-base/public/img/icons.svg similarity index 100% rename from openc3-cosmos-init/plugins/openc3-tool-base/public/img/icons.svg rename to openc3-cosmos-init/plugins/packages/openc3-tool-base/public/img/icons.svg diff --git a/openc3-cosmos-init/plugins/openc3-tool-base/public/img/logo.png b/openc3-cosmos-init/plugins/packages/openc3-tool-base/public/img/logo.png similarity index 100% rename from openc3-cosmos-init/plugins/openc3-tool-base/public/img/logo.png rename to openc3-cosmos-init/plugins/packages/openc3-tool-base/public/img/logo.png diff --git a/openc3-cosmos-init/plugins/openc3-tool-base/public/img/satellite.gif b/openc3-cosmos-init/plugins/packages/openc3-tool-base/public/img/satellite.gif similarity index 100% rename from openc3-cosmos-init/plugins/openc3-tool-base/public/img/satellite.gif rename to openc3-cosmos-init/plugins/packages/openc3-tool-base/public/img/satellite.gif diff --git a/openc3-cosmos-init/plugins/openc3-tool-base/public/index-allow-http.html b/openc3-cosmos-init/plugins/packages/openc3-tool-base/public/index-allow-http.html similarity index 100% rename from openc3-cosmos-init/plugins/openc3-tool-base/public/index-allow-http.html rename to openc3-cosmos-init/plugins/packages/openc3-tool-base/public/index-allow-http.html diff --git a/openc3-cosmos-init/plugins/openc3-tool-base/public/index.html b/openc3-cosmos-init/plugins/packages/openc3-tool-base/public/index.html similarity index 100% rename from openc3-cosmos-init/plugins/openc3-tool-base/public/index.html rename to openc3-cosmos-init/plugins/packages/openc3-tool-base/public/index.html diff --git a/openc3-cosmos-init/plugins/openc3-tool-base/public/js/amd.min.js b/openc3-cosmos-init/plugins/packages/openc3-tool-base/public/js/amd.min.js similarity index 100% rename from openc3-cosmos-init/plugins/openc3-tool-base/public/js/amd.min.js rename to openc3-cosmos-init/plugins/packages/openc3-tool-base/public/js/amd.min.js diff --git a/openc3-cosmos-init/plugins/openc3-tool-base/public/js/amd.min.js.map b/openc3-cosmos-init/plugins/packages/openc3-tool-base/public/js/amd.min.js.map similarity index 100% rename from openc3-cosmos-init/plugins/openc3-tool-base/public/js/amd.min.js.map rename to openc3-cosmos-init/plugins/packages/openc3-tool-base/public/js/amd.min.js.map diff --git a/openc3-cosmos-init/plugins/openc3-tool-base/public/js/auth.js b/openc3-cosmos-init/plugins/packages/openc3-tool-base/public/js/auth.js similarity index 100% rename from openc3-cosmos-init/plugins/openc3-tool-base/public/js/auth.js rename to openc3-cosmos-init/plugins/packages/openc3-tool-base/public/js/auth.js diff --git a/openc3-cosmos-init/plugins/openc3-tool-base/public/js/import-map-overrides-3.1.1.min.js b/openc3-cosmos-init/plugins/packages/openc3-tool-base/public/js/import-map-overrides-3.1.1.min.js similarity index 100% rename from openc3-cosmos-init/plugins/openc3-tool-base/public/js/import-map-overrides-3.1.1.min.js rename to openc3-cosmos-init/plugins/packages/openc3-tool-base/public/js/import-map-overrides-3.1.1.min.js diff --git a/openc3-cosmos-init/plugins/openc3-tool-base/public/js/import-map-overrides-3.1.1.min.js.map b/openc3-cosmos-init/plugins/packages/openc3-tool-base/public/js/import-map-overrides-3.1.1.min.js.map similarity index 100% rename from openc3-cosmos-init/plugins/openc3-tool-base/public/js/import-map-overrides-3.1.1.min.js.map rename to openc3-cosmos-init/plugins/packages/openc3-tool-base/public/js/import-map-overrides-3.1.1.min.js.map diff --git a/openc3-cosmos-init/plugins/openc3-tool-base/public/js/named-register.min.js b/openc3-cosmos-init/plugins/packages/openc3-tool-base/public/js/named-register.min.js similarity index 100% rename from openc3-cosmos-init/plugins/openc3-tool-base/public/js/named-register.min.js rename to openc3-cosmos-init/plugins/packages/openc3-tool-base/public/js/named-register.min.js diff --git a/openc3-cosmos-init/plugins/openc3-tool-base/public/js/named-register.min.js.map b/openc3-cosmos-init/plugins/packages/openc3-tool-base/public/js/named-register.min.js.map similarity index 100% rename from openc3-cosmos-init/plugins/openc3-tool-base/public/js/named-register.min.js.map rename to openc3-cosmos-init/plugins/packages/openc3-tool-base/public/js/named-register.min.js.map diff --git a/openc3-cosmos-init/plugins/openc3-tool-base/public/js/single-spa-5.9.5.min.js b/openc3-cosmos-init/plugins/packages/openc3-tool-base/public/js/single-spa-5.9.5.min.js similarity index 100% rename from openc3-cosmos-init/plugins/openc3-tool-base/public/js/single-spa-5.9.5.min.js rename to openc3-cosmos-init/plugins/packages/openc3-tool-base/public/js/single-spa-5.9.5.min.js diff --git a/openc3-cosmos-init/plugins/openc3-tool-base/public/js/single-spa-5.9.5.min.js.map b/openc3-cosmos-init/plugins/packages/openc3-tool-base/public/js/single-spa-5.9.5.min.js.map similarity index 100% rename from openc3-cosmos-init/plugins/openc3-tool-base/public/js/single-spa-5.9.5.min.js.map rename to openc3-cosmos-init/plugins/packages/openc3-tool-base/public/js/single-spa-5.9.5.min.js.map diff --git a/openc3-cosmos-init/plugins/openc3-tool-base/public/js/systemjs-6.15.1.min.js b/openc3-cosmos-init/plugins/packages/openc3-tool-base/public/js/systemjs-6.15.1.min.js similarity index 100% rename from openc3-cosmos-init/plugins/openc3-tool-base/public/js/systemjs-6.15.1.min.js rename to openc3-cosmos-init/plugins/packages/openc3-tool-base/public/js/systemjs-6.15.1.min.js diff --git a/openc3-cosmos-init/plugins/openc3-tool-base/public/js/vue-3.5.4.min.js b/openc3-cosmos-init/plugins/packages/openc3-tool-base/public/js/vue-3.5.4.min.js similarity index 100% rename from openc3-cosmos-init/plugins/openc3-tool-base/public/js/vue-3.5.4.min.js rename to openc3-cosmos-init/plugins/packages/openc3-tool-base/public/js/vue-3.5.4.min.js diff --git a/openc3-cosmos-init/plugins/openc3-tool-base/public/js/vue-router-4.4.4.min.js b/openc3-cosmos-init/plugins/packages/openc3-tool-base/public/js/vue-router-4.4.4.min.js similarity index 100% rename from openc3-cosmos-init/plugins/openc3-tool-base/public/js/vue-router-4.4.4.min.js rename to openc3-cosmos-init/plugins/packages/openc3-tool-base/public/js/vue-router-4.4.4.min.js diff --git a/openc3-cosmos-init/plugins/openc3-tool-base/public/js/vuetify-3.7.1.min.js b/openc3-cosmos-init/plugins/packages/openc3-tool-base/public/js/vuetify-3.7.1.min.js similarity index 100% rename from openc3-cosmos-init/plugins/openc3-tool-base/public/js/vuetify-3.7.1.min.js rename to openc3-cosmos-init/plugins/packages/openc3-tool-base/public/js/vuetify-3.7.1.min.js diff --git a/openc3-cosmos-init/plugins/openc3-tool-base/public/js/vuex-4.1.0.min.js b/openc3-cosmos-init/plugins/packages/openc3-tool-base/public/js/vuex-4.1.0.min.js similarity index 100% rename from openc3-cosmos-init/plugins/openc3-tool-base/public/js/vuex-4.1.0.min.js rename to openc3-cosmos-init/plugins/packages/openc3-tool-base/public/js/vuex-4.1.0.min.js diff --git a/openc3-cosmos-init/plugins/openc3-tool-base/src/App.vue b/openc3-cosmos-init/plugins/packages/openc3-tool-base/src/App.vue similarity index 81% rename from openc3-cosmos-init/plugins/openc3-tool-base/src/App.vue rename to openc3-cosmos-init/plugins/packages/openc3-tool-base/src/App.vue index 93dcd342c0..0386b11f4b 100644 --- a/openc3-cosmos-init/plugins/openc3-tool-base/src/App.vue +++ b/openc3-cosmos-init/plugins/packages/openc3-tool-base/src/App.vue @@ -37,10 +37,10 @@ diff --git a/openc3-cosmos-init/plugins/packages/openc3-tool-base/public/index.html b/openc3-cosmos-init/plugins/packages/openc3-tool-base/public/index.html index bdc2aa6a1a..4164e91a9f 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-tool-base/public/index.html +++ b/openc3-cosmos-init/plugins/packages/openc3-tool-base/public/index.html @@ -10,6 +10,7 @@ + @@ -55,7 +56,7 @@ - + diff --git a/openc3-cosmos-init/plugins/packages/openc3-tool-common/public/index.html b/openc3-cosmos-init/plugins/packages/openc3-tool-common/public/index.html deleted file mode 100644 index 9265418234..0000000000 --- a/openc3-cosmos-init/plugins/packages/openc3-tool-common/public/index.html +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - - - - <%= htmlWebpackPlugin.options.title %> - - - - - - - -
- - - - diff --git a/openc3-cosmos-init/plugins/packages/openc3-tool-common/src/assets/stylesheets/layout/_overrides.scss b/openc3-cosmos-init/plugins/packages/openc3-tool-common/src/assets/stylesheets/layout/_overrides.scss index b56d807f7b..3e0e68556a 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-tool-common/src/assets/stylesheets/layout/_overrides.scss +++ b/openc3-cosmos-init/plugins/packages/openc3-tool-common/src/assets/stylesheets/layout/_overrides.scss @@ -1,5 +1,5 @@ // This is for global overrides only. If it's contained to a component put it there. -// Also use the variables created by vueify and astro like var(--v-primary-darken2) +// Also use the variables created by vuetify and astro like var(--v-primary-darken2) // or var(--color-background-base-default) rather than something absolute. // See vuetify.js and https://www.astrouxds.com/design-tokens/system/ for the colors // and note the variations are: base, lighten[1-5], and darken[1-4] From d379d5bbbffbd796b5ee20ad70d929fec92ef0eb Mon Sep 17 00:00:00 2001 From: Ryan Melton Date: Wed, 27 Nov 2024 22:47:43 -0700 Subject: [PATCH 21/27] fix vue warnings. Switch to production vue by default --- .../packages/openc3-cosmos-demo/package.json | 2 +- .../openc3-cosmos-tool-admin/package.json | 2 +- .../package.json | 2 +- .../openc3-cosmos-tool-cmdsender/package.json | 2 +- .../package.json | 2 +- .../package.json | 2 +- .../package.json | 2 +- .../openc3-cosmos-tool-handbooks/package.json | 2 +- .../openc3-cosmos-tool-iframe/package.json | 2 +- .../package.json | 2 +- .../package.json | 2 +- .../package.json | 2 +- .../package.json | 2 +- .../package.json | 2 +- .../openc3-cosmos-tool-tlmviewer/package.json | 2 +- .../src/tools/TlmViewer/TlmViewer.vue | 1 + .../packages/openc3-tool-base/package.json | 3 +- .../public/index-allow-http.html | 12 +- .../openc3-tool-base/public/index.html | 12 +- .../public/js/vue-3.5.4.min.js | 25 - .../public/js/vue.global-3.5.13.js | 18096 ++++++++++++++++ .../public/js/vue.global.prod-3.5.13.js | 9 + .../packages/openc3-tool-common/package.json | 2 +- .../src/components/widgets/DateWidget.vue | 2 +- .../src/components/widgets/LedWidget.vue | 2 +- .../components/widgets/LimitsbarWidget.vue | 1 - .../components/widgets/LinegraphWidget.vue | 2 +- .../src/components/widgets/RollupWidget.vue | 2 + .../src/components/widgets/TimeWidget.vue | 2 +- 29 files changed, 18141 insertions(+), 60 deletions(-) delete mode 100644 openc3-cosmos-init/plugins/packages/openc3-tool-base/public/js/vue-3.5.4.min.js create mode 100644 openc3-cosmos-init/plugins/packages/openc3-tool-base/public/js/vue.global-3.5.13.js create mode 100644 openc3-cosmos-init/plugins/packages/openc3-tool-base/public/js/vue.global.prod-3.5.13.js diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-demo/package.json b/openc3-cosmos-init/plugins/packages/openc3-cosmos-demo/package.json index 8a2b511795..9c3a9ec18b 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-demo/package.json +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-demo/package.json @@ -22,6 +22,6 @@ "sass": "1.80.4", "vite": "5.4.11", "vite-plugin-style-inject": "0.0.1", - "vue": "3.5.4" + "vue": "3.5.13" } } diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-admin/package.json b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-admin/package.json index c38da79edf..3feb537689 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-admin/package.json +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-admin/package.json @@ -27,6 +27,6 @@ "prettier": "3.3.3", "sass": "1.80.4", "vite": "5.4.11", - "vue": "3.5.4" + "vue": "3.5.13" } } diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-bucketexplorer/package.json b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-bucketexplorer/package.json index 3c204eead9..f6b3b94e2d 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-bucketexplorer/package.json +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-bucketexplorer/package.json @@ -29,6 +29,6 @@ "prettier": "3.3.3", "sass": "1.80.4", "vite": "5.4.11", - "vue": "3.5.4" + "vue": "3.5.13" } } diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdsender/package.json b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdsender/package.json index 90ccd1f09a..42cfdf3b58 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdsender/package.json +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdsender/package.json @@ -29,6 +29,6 @@ "prettier": "3.3.3", "sass": "1.80.4", "vite": "5.4.11", - "vue": "3.5.4" + "vue": "3.5.13" } } diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdtlmserver/package.json b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdtlmserver/package.json index 098eda7ffe..c49240619c 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdtlmserver/package.json +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdtlmserver/package.json @@ -28,6 +28,6 @@ "prettier": "3.3.3", "sass": "1.80.4", "vite": "5.4.11", - "vue": "3.5.4" + "vue": "3.5.13" } } diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-dataextractor/package.json b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-dataextractor/package.json index c2ed207bbc..31f239113c 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-dataextractor/package.json +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-dataextractor/package.json @@ -28,6 +28,6 @@ "prettier": "3.3.3", "sass": "1.80.4", "vite": "5.4.11", - "vue": "3.5.4" + "vue": "3.5.13" } } diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-dataviewer/package.json b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-dataviewer/package.json index fe0f746b8e..6c7075d7d9 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-dataviewer/package.json +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-dataviewer/package.json @@ -29,6 +29,6 @@ "prettier": "3.3.3", "sass": "1.80.4", "vite": "5.4.11", - "vue": "3.5.4" + "vue": "3.5.13" } } diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-handbooks/package.json b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-handbooks/package.json index 53a6847a21..090bebfb8f 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-handbooks/package.json +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-handbooks/package.json @@ -29,6 +29,6 @@ "prettier": "3.3.3", "sass": "1.80.4", "vite": "5.4.11", - "vue": "3.5.4" + "vue": "3.5.13" } } diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-iframe/package.json b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-iframe/package.json index 737e1fa595..e0a8c4c284 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-iframe/package.json +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-iframe/package.json @@ -29,6 +29,6 @@ "prettier": "3.3.3", "sass": "1.80.4", "vite": "5.4.11", - "vue": "3.5.4" + "vue": "3.5.13" } } diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-limitsmonitor/package.json b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-limitsmonitor/package.json index 0d0383084b..467b45fd8f 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-limitsmonitor/package.json +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-limitsmonitor/package.json @@ -29,6 +29,6 @@ "prettier": "3.3.3", "sass": "1.80.4", "vite": "5.4.11", - "vue": "3.5.4" + "vue": "3.5.13" } } diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-packetviewer/package.json b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-packetviewer/package.json index 7ab35cb6ef..4c790f08a9 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-packetviewer/package.json +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-packetviewer/package.json @@ -29,6 +29,6 @@ "prettier": "3.3.3", "sass": "1.80.4", "vite": "5.4.11", - "vue": "3.5.4" + "vue": "3.5.13" } } diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-scriptrunner/package.json b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-scriptrunner/package.json index 69d14e6e7e..2ecfdb68b3 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-scriptrunner/package.json +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-scriptrunner/package.json @@ -31,6 +31,6 @@ "prettier": "3.3.3", "sass": "1.80.4", "vite": "5.4.11", - "vue": "3.5.4" + "vue": "3.5.13" } } diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tablemanager/package.json b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tablemanager/package.json index 2049145aed..17de752ca7 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tablemanager/package.json +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tablemanager/package.json @@ -29,6 +29,6 @@ "prettier": "3.3.3", "sass": "1.80.4", "vite": "5.4.11", - "vue": "3.5.4" + "vue": "3.5.13" } } diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tlmgrapher/package.json b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tlmgrapher/package.json index 2172743847..d64b9c97c2 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tlmgrapher/package.json +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tlmgrapher/package.json @@ -31,6 +31,6 @@ "prettier": "3.3.3", "sass": "1.80.4", "vite": "5.4.11", - "vue": "3.5.4" + "vue": "3.5.13" } } diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tlmviewer/package.json b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tlmviewer/package.json index 90207804fe..baa8c9b05f 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tlmviewer/package.json +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tlmviewer/package.json @@ -32,6 +32,6 @@ "prettier": "3.3.3", "sass": "1.80.4", "vite": "5.4.11", - "vue": "3.5.4" + "vue": "3.5.13" } } diff --git a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tlmviewer/src/tools/TlmViewer/TlmViewer.vue b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tlmviewer/src/tools/TlmViewer/TlmViewer.vue index 2ab2acafd0..1a80fc5eea 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tlmviewer/src/tools/TlmViewer/TlmViewer.vue +++ b/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-tlmviewer/src/tools/TlmViewer/TlmViewer.vue @@ -161,6 +161,7 @@ export default { newScreenDialog: false, grid: null, api: null, + timeZone: null, // deliberately null so we know when it is set keywords: [], menus: [ { diff --git a/openc3-cosmos-init/plugins/packages/openc3-tool-base/package.json b/openc3-cosmos-init/plugins/packages/openc3-tool-base/package.json index 7d305d6227..eac96fadd1 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-tool-base/package.json +++ b/openc3-cosmos-init/plugins/packages/openc3-tool-base/package.json @@ -24,12 +24,11 @@ "@babel/plugin-transform-modules-systemjs": "7.25.9", "@types/systemjs": "6.15.1", "@vitejs/plugin-vue": "5.1.5", - "@vue/compiler-sfc": "3.5.4", "eslint": "8.56.0", "prettier": "3.3.3", "sass": "1.80.4", "serve": "14.2.4", "vite": "5.4.11", - "vue": "3.5.4" + "vue": "3.5.13" } } diff --git a/openc3-cosmos-init/plugins/packages/openc3-tool-base/public/index-allow-http.html b/openc3-cosmos-init/plugins/packages/openc3-tool-base/public/index-allow-http.html index 21823d4046..3494baf3bd 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-tool-base/public/index-allow-http.html +++ b/openc3-cosmos-init/plugins/packages/openc3-tool-base/public/index-allow-http.html @@ -45,7 +45,7 @@ { "imports": { "single-spa": "/js/single-spa-5.9.5.min.js", - "vue": "/js/vue-3.5.4.min.js", + "vue": "/js/vue.global.prod-3.5.13.js", "vuetify": "/js/vuetify-labs-3.7.4.js", "vue-router": "/js/vue-router-4.4.4.min.js", "vuex": "/js/vuex-4.1.0.min.js" @@ -55,7 +55,7 @@ - + @@ -81,15 +81,15 @@ Promise.all([ System.import('single-spa'), System.import('vue'), - System.import('vue-router'), - System.import('vuex'), ]).then(function (modules) { System.set(System.resolve('vue'), window.Vue) - System.set(System.resolve('vue-router'), window.VueRouter) - System.set(System.resolve('vuex'), window.Vuex) Promise.all([ + System.import('vue-router'), + System.import('vuex'), System.import('vuetify') ]).then(function (modules) { + System.set(System.resolve('vue-router'), window.VueRouter) + System.set(System.resolve('vuex'), window.Vuex) System.import('@openc3/tool-base') }) }) diff --git a/openc3-cosmos-init/plugins/packages/openc3-tool-base/public/index.html b/openc3-cosmos-init/plugins/packages/openc3-tool-base/public/index.html index 4164e91a9f..77b0be64af 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-tool-base/public/index.html +++ b/openc3-cosmos-init/plugins/packages/openc3-tool-base/public/index.html @@ -45,7 +45,7 @@ { "imports": { "single-spa": "/js/single-spa-5.9.5.min.js", - "vue": "/js/vue-3.5.4.min.js", + "vue": "/js/vue.global.prod-3.5.13.js", "vuetify": "/js/vuetify-labs-3.7.4.js", "vue-router": "/js/vue-router-4.4.4.min.js", "vuex": "/js/vuex-4.1.0.min.js" @@ -55,7 +55,7 @@ - + @@ -81,15 +81,15 @@ Promise.all([ System.import('single-spa'), System.import('vue'), - System.import('vue-router'), - System.import('vuex'), ]).then(function (modules) { System.set(System.resolve('vue'), window.Vue) - System.set(System.resolve('vue-router'), window.VueRouter) - System.set(System.resolve('vuex'), window.Vuex) Promise.all([ + System.import('vue-router'), + System.import('vuex'), System.import('vuetify') ]).then(function (modules) { + System.set(System.resolve('vue-router'), window.VueRouter) + System.set(System.resolve('vuex'), window.Vuex) System.import('@openc3/tool-base') }) }) diff --git a/openc3-cosmos-init/plugins/packages/openc3-tool-base/public/js/vue-3.5.4.min.js b/openc3-cosmos-init/plugins/packages/openc3-tool-base/public/js/vue-3.5.4.min.js deleted file mode 100644 index 3577dfdb5e..0000000000 --- a/openc3-cosmos-init/plugins/packages/openc3-tool-base/public/js/vue-3.5.4.min.js +++ /dev/null @@ -1,25 +0,0 @@ -var Vue=function(e){"use strict";function t(e){const t=Object.create(null);for(const n of e.split(","))t[n]=1;return e=>e in t}const I=Object.freeze({}),D=Object.freeze([]),te=()=>{},n=()=>!1,G=e=>111===e.charCodeAt(0)&&110===e.charCodeAt(1)&&(122e.startsWith("onUpdate:"),O=Object.assign,V=(e,t)=>{t=e.indexOf(t);-1o.call(e,t),ue=Array.isArray,d=e=>"[object Map]"===b(e),u=e=>"[object Set]"===b(e),m=e=>"[object Date]"===b(e),ne=e=>"function"==typeof e,de=e=>"string"==typeof e,pe=e=>"symbol"==typeof e,re=e=>null!==e&&"object"==typeof e,ae=e=>(re(e)||ne(e))&&ne(e.then)&&ne(e.catch),y=Object.prototype.toString,b=e=>y.call(e),S=e=>b(e).slice(8,-1),_=e=>"[object Object]"===b(e),x=e=>de(e)&&"NaN"!==e&&"-"!==e[0]&&""+parseInt(e,10)===e,le=t(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),Y=t("bind,cloak,else-if,else,for,html,if,model,on,once,pre,show,slot,text,memo");var w=t=>{const n=Object.create(null);return e=>{return n[e]||(n[e]=t(e))}};const k=/-(\w)/g,R=w(e=>e.replace(k,(e,t)=>t?t.toUpperCase():"")),C=/\B([A-Z])/g,M=w(e=>e.replace(C,"-$1").toLowerCase()),T=w(e=>e.charAt(0).toUpperCase()+e.slice(1)),ce=w(e=>{return e?"on"+T(e):""}),j=(e,t)=>!Object.is(e,t),he=(t,...n)=>{for(let e=0;e{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:r,value:n})},me=e=>{var t=parseFloat(e);return isNaN(t)?e:t},U=e=>{var t=de(e)?Number(e):NaN;return isNaN(t)?e:t};let B;const ve=()=>B=B||("undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{}),ge={[1]:"TEXT",2:"CLASS",4:"STYLE",8:"PROPS",16:"FULL_PROPS",32:"NEED_HYDRATION",64:"STABLE_FRAGMENT",128:"KEYED_FRAGMENT",256:"UNKEYED_FRAGMENT",512:"NEED_PATCH",1024:"DYNAMIC_SLOTS",2048:"DEV_ROOT_FRAGMENT","-1":"HOISTED","-2":"BAIL"},H={[1]:"STABLE",2:"DYNAMIC",3:"FORWARDED"};const X=t("Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt,console,Error,Symbol"),Q=2;function Z(t){if(ue(t)){const o={};for(let e=0;e{if(e){const t=e.split(ye);1?@[\\\]^`{|}~]/g;function Re(e){return e.replace(Oe,e=>"\\"+e)}function Me(e,t){if(e===t)return!0;let n=m(e),r=m(t);if(n||r)return!(!n||!r)&&e.getTime()===t.getTime();if(n=pe(e),r=pe(t),n||r)return e===t;if(n=ue(e),r=ue(t),n||r)return!(!n||!r)&&function(t,n){if(t.length!==n.length)return!1;let r=!0;for(let e=0;r&&eMe(e,t))}const $e=e=>!(!e||!0!==e.__v_isRef),Fe=e=>de(e)?e:null==e?"":ue(e)||re(e)&&(e.toString===y||!ne(e.toString))?$e(e)?Fe(e.value):JSON.stringify(e,De,2):String(e),De=(e,t)=>$e(t)?De(e,t.value):d(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((e,[t,n],r)=>(e[Le(t,r)+" =>"]=n,e),{})}:u(t)?{[`Set(${t.size})`]:[...t.values()].map(e=>Le(e))}:pe(t)?Le(t):!re(t)||ue(t)||_(t)?t:String(t),Le=(e,t="")=>{var n;return pe(e)?`Symbol(${null!=(n=e.description)?n:t})`:e};function Ve(e,...t){console.warn("[Vue warn] "+e,...t)}let A;class je{constructor(e=!1){this.detached=e,this._active=!0,this.effects=[],this.cleanups=[],this._isPaused=!1,this.parent=A,!e&&A&&(this.index=(A.scopes||(A.scopes=[])).push(this)-1)}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let e,t;if(this.scopes)for(e=0,t=this.scopes.length;e{e&&e.trigger({target:t,type:n,key:r,newValue:o,oldValue:s,oldTarget:i})};if(ze(),"clear"===n)e.forEach(c);else{var a=ue(t),l=a&&x(r);if(a&&"length"===r){const u=Number(o);e.forEach((e,t)=>{("length"===t||t===ct||!pe(t)&&t>=u)&&c(e)})}else switch(void 0!==r&&c(e.get(r)),l&&c(e.get(ct)),n){case"add":a?l&&c(e.get("length")):(c(e.get(at)),d(t)&&c(e.get(lt)));break;case"delete":a||(c(e.get(at)),d(t)&&c(e.get(lt)));break;case"set":d(t)&&c(e.get(at))}}Ke()}else ot++}function dt(e){const t=g(e);return t===e?t:(h(t,"iterate",ct),N(e)?t:t.map(hn))}function pt(e){return h(e=g(e),"iterate",ct),e}const ht={__proto__:null,[Symbol.iterator](){return ft(this,Symbol.iterator,hn)},concat(...e){return dt(this).concat(...e.map(e=>ue(e)?dt(e):e))},entries(){return ft(this,"entries",e=>(e[1]=hn(e[1]),e))},every(e,t){return vt(this,"every",e,t,void 0,arguments)},filter(e,t){return vt(this,"filter",e,t,e=>e.map(hn),arguments)},find(e,t){return vt(this,"find",e,t,hn,arguments)},findIndex(e,t){return vt(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return vt(this,"findLast",e,t,hn,arguments)},findLastIndex(e,t){return vt(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return vt(this,"forEach",e,t,void 0,arguments)},includes(...e){return yt(this,"includes",e)},indexOf(...e){return yt(this,"indexOf",e)},join(e){return dt(this).join(e)},lastIndexOf(...e){return yt(this,"lastIndexOf",e)},map(e,t){return vt(this,"map",e,t,void 0,arguments)},pop(){return bt(this,"pop")},push(...e){return bt(this,"push",e)},reduce(e,...t){return gt(this,"reduce",e,t)},reduceRight(e,...t){return gt(this,"reduceRight",e,t)},shift(){return bt(this,"shift")},some(e,t){return vt(this,"some",e,t,void 0,arguments)},splice(...e){return bt(this,"splice",e)},toReversed(){return dt(this).toReversed()},toSorted(e){return dt(this).toSorted(e)},toSpliced(...e){return dt(this).toSpliced(...e)},unshift(...e){return bt(this,"unshift",e)},values(){return ft(this,"values",hn)}};function ft(e,t,n){const r=pt(e),o=r[t]();return r===e||N(e)||(o._next=o.next,o.next=()=>{const e=o._next();return e.value&&(e.value=n(e.value)),e}),o}const mt=Array.prototype;function vt(n,e,r,t,o,s){var i=pt(n),a=i!==n&&!N(n);const l=i[e];if(l!==mt[e])return e=l.apply(n,s),a?hn(e):e;let c=r;i!==n&&(a?c=function(e,t){return r.call(this,hn(e),t,n)}:2"arguments"!==e&&"caller"!==e).map(e=>Symbol[e]).filter(pe));function xt(e){pe(e)||(e=String(e));const t=g(this);return h(t,"has",e),t.hasOwnProperty(e)}class wt{constructor(e=!1,t=!1){this._isReadonly=e,this._isShallow=t}get(e,t,n){var r=this._isReadonly,o=this._isShallow;if("__v_isReactive"===t)return!r;if("__v_isReadonly"===t)return r;if("__v_isShallow"===t)return o;if("__v_raw"===t)return n===(r?o?nn:tn:o?en:Zt).get(e)||Object.getPrototypeOf(e)===Object.getPrototypeOf(n)?e:void 0;var s=ue(e);if(!r){let e;if(s&&(e=ht[t]))return e;if("hasOwnProperty"===t)return xt}n=Reflect.get(e,t,J(e)?e:n);return(pe(t)?_t.has(t):St(t))?n:(r||h(e,"get",t),o?n:J(n)?s&&x(t)?n:n.value:re(n)?(r?sn:rn)(n):n)}}class kt extends wt{constructor(e=!1){super(!1,e)}set(e,t,n,r){let o=e[t];if(!this._isShallow){var s=un(o);if(N(n)||un(n)||(o=g(o),n=g(n)),!ue(e)&&J(o)&&!J(n))return!s&&(o.value=n,!0)}var s=ue(e)&&x(t)?Number(t)e,Ot=e=>Reflect.getPrototypeOf(e);function Rt(e,t,n=!1,r=!1){var o=g(e=e.__v_raw),s=g(t);n||(j(t,s)&&h(o,"get",t),h(o,"get",s));const i=Ot(o)["has"],a=r?It:n?fn:hn;return i.call(o,t)?a(e.get(t)):i.call(o,s)?a(e.get(s)):void(e!==o&&e.get(t))}function Mt(e,t=!1){const n=this.__v_raw;var r=g(n),o=g(e);return t||(j(e,o)&&h(r,"has",e),h(r,"has",o)),e===o?n.has(e):n.has(e)||n.has(o)}function Pt(e,t=!1){return e=e.__v_raw,t||h(g(e),"iterate",at),Reflect.get(e,"size",e)}function $t(e,t=!1){t||N(e)||un(e)||(e=g(e));const n=g(this),r=Ot(n);return r.has.call(n,e)||(n.add(e),ut(n,"add",e,e)),this}function Ft(e,t,n=!1){n||N(t)||un(t)||(t=g(t));const r=g(this),{has:o,get:s}=Ot(r);let i=o.call(r,e);i?Qt(r,o,e):(e=g(e),i=o.call(r,e));n=s.call(r,e);return r.set(e,t),i?j(t,n)&&ut(r,"set",e,t,n):ut(r,"add",e,t),this}function Dt(e){const t=g(this),{has:n,get:r}=Ot(t);let o=n.call(t,e);o?Qt(t,n,e):(e=g(e),o=n.call(t,e));var s=r?r.call(t,e):void 0,i=t.delete(e);return o&&ut(t,"delete",e,void 0,s),i}function Lt(){const e=g(this);var t=0!==e.size,n=new(d(e)?Map:Set)(e),r=e.clear();return t&&ut(e,"clear",void 0,void 0,n),r}function Vt(i,a){return function(n,r){const o=this,e=o.__v_raw;var t=g(e);const s=a?It:i?fn:hn;return i||h(t,"iterate",at),e.forEach((e,t)=>n.call(r,s(e),s(t),o))}}function jt(a,l,c){return function(...e){const t=this.__v_raw;var n=g(t),r=d(n);const o="entries"===a||a===Symbol.iterator&&r;r="keys"===a&&r;const s=t[a](...e),i=c?It:l?fn:hn;return l||h(n,"iterate",r?lt:at),{next(){var{value:e,done:t}=s.next();return t?{value:e,done:t}:{value:o?[i(e[0]),i(e[1])]:i(e),done:t}},[Symbol.iterator](){return this}}}}function Ut(t){return function(...e){e=e[0]?`on key "${e[0]}" `:"";return Ve(T(t)+` operation ${e}failed: target is readonly.`,g(this)),"delete"!==t&&("clear"===t?void 0:this)}}function Bt(){const t={get(e){return Rt(this,e)},get size(){return Pt(this)},has:Mt,add:$t,set:Ft,delete:Dt,clear:Lt,forEach:Vt(!1,!1)},n={get(e){return Rt(this,e,!1,!0)},get size(){return Pt(this)},has:Mt,add(e){return $t.call(this,e,!0)},set(e,t){return Ft.call(this,e,t,!0)},delete:Dt,clear:Lt,forEach:Vt(!1,!0)},r={get(e){return Rt(this,e,!0)},get size(){return Pt(this,!0)},has(e){return Mt.call(this,e,!0)},add:Ut("add"),set:Ut("set"),delete:Ut("delete"),clear:Ut("clear"),forEach:Vt(!0,!1)},o={get(e){return Rt(this,e,!0,!0)},get size(){return Pt(this,!0)},has(e){return Mt.call(this,e,!0)},add:Ut("add"),set:Ut("set"),delete:Ut("delete"),clear:Ut("clear"),forEach:Vt(!0,!0)},e=["keys","values","entries",Symbol.iterator];return e.forEach(e=>{t[e]=jt(e,!1,!1),r[e]=jt(e,!0,!1),n[e]=jt(e,!1,!0),o[e]=jt(e,!0,!0)}),[t,r,n,o]}const[Ht,qt,Wt,zt]=Bt();function Kt(r,e){const o=e?r?zt:Wt:r?qt:Ht;return(e,t,n)=>"__v_isReactive"===t?!r:"__v_isReadonly"===t?r:"__v_raw"===t?e:Reflect.get(E(o,t)&&t in e?o:e,t,n)}const Jt={get:Kt(!1,!1)},Gt={get:Kt(!1,!0)},Yt={get:Kt(!0,!1)},Xt={get:Kt(!0,!0)};function Qt(e,t,n){var r=g(n);r!==n&&t.call(e,r)&&Ve(`Reactive ${n=S(e)} contains both the raw and reactive versions of the same object${"Map"===n?" as keys":""}, which can lead to inconsistencies. Avoid differentiating between the raw and reactive versions of an object and only use the reactive version if possible.`)}const Zt=new WeakMap,en=new WeakMap,tn=new WeakMap,nn=new WeakMap;function rn(e){return un(e)?e:ln(e,!1,Tt,Jt,Zt)}function on(e){return ln(e,!1,At,Gt,en)}function sn(e){return ln(e,!0,Et,Yt,tn)}function an(e){return ln(e,!0,Nt,Xt,nn)}function ln(e,t,n,r,o){if(!re(e))return Ve(`value cannot be made ${t?"readonly":"reactive"}: `+String(e)),e;if(e.__v_raw&&(!t||!e.__v_isReactive))return e;t=o.get(e);if(t)return t;t=function(e){if(e.__v_skip||!Object.isExtensible(e))return 0;switch(S(e)){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}(e);if(0===t)return e;t=new Proxy(e,2===t?r:n);return o.set(e,t),t}function cn(e){return un(e)?cn(e.__v_raw):!(!e||!e.__v_isReactive)}function un(e){return!(!e||!e.__v_isReadonly)}function N(e){return!(!e||!e.__v_isShallow)}function dn(e){return!!e&&!!e.__v_raw}function g(e){var t=e&&e.__v_raw;return t?g(t):e}function pn(e){return!E(e,"__v_skip")&&Object.isExtensible(e)&&fe(e,"__v_skip",!0),e}const hn=e=>re(e)?rn(e):e,fn=e=>re(e)?sn(e):e;function J(e){return!!e&&!0===e.__v_isRef}function mn(e){return gn(e,!1)}function vn(e){return gn(e,!0)}function gn(e,t){return J(e)?e:new yn(e,t)}class yn{constructor(e,t){this.dep=new st,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=t?e:g(e),this._value=t?e:hn(e),this.__v_isShallow=t}get value(){return this.dep.track({target:this,type:"get",key:"value"}),this._value}set value(e){var t=this._rawValue,n=this.__v_isShallow||N(e)||un(e);e=n?e:g(e),j(e,t)&&(this._rawValue=e,this._value=n?e:hn(e),this.dep.trigger({target:this,type:"set",key:"value",newValue:e,oldValue:t}))}}function bn(e){return J(e)?e.value:e}const Sn={get:(e,t,n)=>"__v_raw"===t?e:bn(Reflect.get(e,t,n)),set:(e,t,n,r)=>{const o=e[t];return J(o)&&!J(n)?(o.value=n,!0):Reflect.set(e,t,n,r)}};function _n(e){return cn(e)?e:new Proxy(e,Sn)}class xn{constructor(e){this.__v_isRef=!0,this._value=void 0;const t=this.dep=new st;var{get:e,set:n}=e(t.track.bind(t),t.trigger.bind(t));this._get=e,this._set=n}get value(){return this._value=this._get()}set value(e){this._set(e)}}function wn(e){return new xn(e)}class kn{constructor(e,t,n){this._object=e,this._key=t,this._defaultValue=n,this.__v_isRef=!0,this._value=void 0}get value(){var e=this._object[this._key];return this._value=void 0===e?this._defaultValue:e}set value(e){this._object[this._key]=e}get dep(){return e=g(this._object),t=this._key,null==(e=it.get(e))?void 0:e.get(t);var e,t}}class Cn{constructor(e){this._getter=e,this.__v_isRef=!0,this.__v_isReadonly=!0,this._value=void 0}get value(){return this._value=this._getter()}}function Tn(e,t,n){var r=e[t];return J(r)?r:new kn(e,t,n)}class En{constructor(e,t,n){this.fn=e,this.setter=t,this._value=void 0,this.dep=new st(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=ot-1,(this.effect=this).__v_isReadonly=!t,this.isSSR=n}notify(){this.flags|=16,s!==this&&this.dep.notify()}get value(){const e=this.dep.track({target:this,type:"get",key:"value"});return Xe(this),e&&(e.version=this.dep.version),this._value}set value(e){this.setter?this.setter(e):Ve("Write operation failed: computed value is readonly")}}const An={},Nn=new WeakMap;let In=void 0;function On(t,e=!1,n=In){if(n){let e=Nn.get(n);e||Nn.set(n,e=[]),e.push(t)}else e||Ve("onWatcherCleanup() was called when there was no active watcher to associate with.")}function Rn(t,n=1/0,r){if(n<=0||!re(t)||t.__v_skip)return t;if((r=r||new Set).has(t))return t;if(r.add(t),n--,J(t))Rn(t.value,n,r);else if(ue(t))for(let e=0;e{Rn(e,n,r)});else if(_(t)){for(const e in t)Rn(t[e],n,r);for(const o of Object.getOwnPropertySymbols(t))Object.prototype.propertyIsEnumerable.call(t,o)&&Rn(t[o],n,r)}return t}const Mn=[];function Pn(e){Mn.push(e)}function $n(){Mn.pop()}let Fn=!1;function oe(e,...t){if(!Fn){Fn=!0,tt();const r=Mn.length?Mn[Mn.length-1].component:null;var n=r&&r.appContext.config.warnHandler;const o=function(){let e=Mn[Mn.length-1];if(!e)return[];const t=[];for(;e;){const r=t[0];r&&r.vnode===e?r.recurseCount++:t.push({vnode:e,recurseCount:0});var n=e.component&&e.component.parent;e=n&&n.vnode}return t}();if(n)Vn(n,r,11,[e+t.map(e=>{var t;return null!=(t=null==(t=e.toString)?void 0:t.call(e))?t:JSON.stringify(e)}).join(""),r&&r.proxy,o.map(({vnode:e})=>`at <${da(r,e.type)}>`).join("\n"),o]);else{const s=["[Vue warn]: "+e,...t];o.length&&s.push(` -`,...function(e){const r=[];return e.forEach((e,t)=>{var n;r.push(...0===t?[]:[` -`],...({vnode:t,recurseCount:e}=[e][0],e=0{n.push(...function e(t,n,r){return de(n)?(n=JSON.stringify(n),r?n:[t+"="+n]):"number"==typeof n||"boolean"==typeof n||null==n?r?n:[t+"="+n]:J(n)?(n=e(t,g(n.value),!0),r?n:[t+"=Ref<",n,">"]):ne(n)?[t+"=fn"+(n.name?`<${n.name}>`:"")]:(n=g(n),r?n:[t+"=",n])}(e,t[e]))}),3{Un(e,n,r)}),e}if(ue(t)){const s=[];for(let e=0;e=or(n)?qn.push(e):qn.splice(function(e){let t=Bn?Wn+1:0,n=qn.length;for(;t>>1,o=qn[r],s=or(o);sor(e)-or(t));if(zn.length=0,Kn)Kn.push(...t);else{for(Kn=t,e=e||new Map,Jn=0;Jnnull==e.id?2&e.flags?-1:1/0:e.id;function sr(e){Hn=!1,Bn=!0,e=e||new Map;var t;try{for(Wn=0;WnXn?(Un(`Maximum recursive updates exceeded${(n=(n=t.i)&&ua(n.type))?` in component <${n}>`:""}. This means you have a reactive effect that is mutating its own dependencies and thus recursively triggering itself. Possible sources include component template, render function, updated hook or watcher source function.`,null,10),!0):(e.set(t,r+1),!1)}let ar=!1;const lr=new Map,cr=(ve().__VUE_HMR_RUNTIME__={createRecord:hr(ur),rerender:hr(function(e,t){const n=cr.get(e);n&&(n.initialDef.render=t,[...n.instances].forEach(e=>{t&&(e.render=t,dr(e.type).render=t),e.renderCache=[],ar=!0,e.update(),ar=!1}))}),reload:hr(function(e,n){var r=cr.get(e);if(r){n=dr(n),pr(r.initialDef,n);var o=[...r.instances];for(let t=0;t{i.parent.update(),e.delete(i)}):i.appContext.reload?i.appContext.reload():"undefined"!=typeof window?window.location.reload():console.warn("[HMR] Root or manually mounted instance modified. Full reload required."),i.root.ce&&i!==i.root&&i.root.ce._removeChildStyle(s)}tr(()=>{lr.clear()})}})},new Map);function ur(e,t){return!cr.has(e)&&(cr.set(e,{initialDef:dr(t),instances:new Set}),!0)}function dr(e){return pa(e)?e.__vccOpts:e}function pr(e,t){O(e,t);for(const n in e)"__file"===n||n in t||delete e[n]}function hr(n){return(e,t)=>{try{return n(e,t)}catch(e){console.error(e),console.warn("[HMR] Something went wrong during Vue component hot-reload. Full reload required.")}}}let fr,mr=[],vr=!1;function gr(e,...t){fr?fr.emit(e,...t):vr||mr.push({event:e,args:t})}function yr(e,t){if(fr=e)fr.enabled=!0,mr.forEach(({event:e,args:t})=>fr.emit(e,...t)),mr=[];else if("undefined"==typeof window||!window.HTMLElement||null!=(e=null==(e=window.navigator)?void 0:e.userAgent)&&e.includes("jsdom"))vr=!0,mr=[];else{const n=t.__VUE_DEVTOOLS_HOOK_REPLAY__=t.__VUE_DEVTOOLS_HOOK_REPLAY__||[];n.push(e=>{yr(e,t)}),setTimeout(()=>{fr||(t.__VUE_DEVTOOLS_HOOK_REPLAY__=null,vr=!0,mr=[])},3e3)}}const br=wr("component:added"),Sr=wr("component:updated"),_r=wr("component:removed"),xr=e=>{fr&&"function"==typeof fr.cleanupBuffer&&!fr.cleanupBuffer(e)&&_r(e)};function wr(t){return e=>{gr(t,e.appContext.app,e.uid,e.parent?e.parent.uid:void 0,e)}}const kr=Tr("perf:start"),Cr=Tr("perf:end");function Tr(r){return(e,t,n)=>{gr(r,e.appContext.app,e.uid,e,t,n)}}let f=null,Er=null;function Ar(e){var t=f;return f=e,Er=e&&e.type.__scopeId||null,t}function Nr(r,o=f,e){if(!o)return r;if(r._n)return r;const s=(...e)=>{s._d&&ki(-1);var t=Ar(o);let n;try{n=r(...e)}finally{Ar(t),s._d&&ki(1)}return Sr(o),n};return s._n=!0,s._c=!0,s._d=!0,s}function Ir(e){Y(e)&&oe("Do not use built-in directive ids as custom directive id: "+e)}function Or(t,n,r,o){var s=t.dirs,i=n&&n.dirs;for(let e=0;ee.__isTeleport,Pr=e=>e&&(e.disabled||""===e.disabled),$r=e=>"undefined"!=typeof SVGElement&&e instanceof SVGElement,Fr=e=>"function"==typeof MathMLElement&&e instanceof MathMLElement,Dr=(e,t)=>{var n=e&&e.to;return de(n)?t?((t=t(n))||Pr(e)||oe(`Failed to locate Teleport target with selector "${n}". Note the target element must exist before the component is mounted - i.e. the target cannot be rendered by the component itself, and ideally should be outside of the entire Vue component tree.`),t):(oe("Current renderer does not support string target for Teleports. (missing querySelector renderer option)"),null):(n||Pr(e)||oe("Invalid Teleport target: "+n),n)};function Lr(e,t,n,{o:{insert:r},m:o},s=2){0===s&&r(e.targetAnchor,t,n);var{el:e,anchor:i,shapeFlag:a,children:l,props:c}=e,s=2===s;if(s&&r(e,t,n),(!s||Pr(c))&&16&a)for(let e=0;e{16&y&&u(b,e,t,o,s,i,a,l)};_=()=>{var e=n.target=Dr(n.props,f),t=jr(e,n,m,h);e?("svg"!==i&&$r(e)?i="svg":"mathml"!==i&&Fr(e)&&(i="mathml"),g||(T(e,t),Vr(n))):g||oe("Invalid Teleport target on mount:",e,`(${typeof e})`)};g&&(T(t,x),Vr(n)),(r=n.props)&&(r.defer||""===r.defer)?P(_,s):_()}else{n.el=e.el,n.targetStart=e.targetStart;var x=n.anchor=e.anchor,r=n.target=e.target,_=n.targetAnchor=e.targetAnchor,w=Pr(e.props),k=w?t:r,C=w?x:_;"svg"===i||$r(r)?i="svg":"mathml"!==i&&!Fr(r)||(i="mathml"),S?(p(e.dynamicChildren,S,k,o,s,i,a),Hs(e,n,!0)):l||d(e,n,k,C,o,s,i,a,!1),g?w?n.props&&e.props&&n.props.to!==e.props.to&&(n.props.to=e.props.to):Lr(n,t,x,c,1):(n.props&&n.props.to)!==(e.props&&e.props.to)?(k=n.target=Dr(n.props,f))?Lr(n,k,null,c,0):oe("Invalid Teleport target on update:",r,`(${typeof r})`):w&&Lr(n,r,_,c,1),Vr(n)}},remove(e,t,n,{um:r,o:{remove:o}},s){var{shapeFlag:e,children:i,anchor:a,targetStart:l,targetAnchor:c,target:u,props:d}=e;if(u&&(o(l),o(c)),s&&o(a),16&e){var p=s||!Pr(d);for(let e=0;e{e.isMounted=!0}),Oo(()=>{e.isUnmounting=!0}),e}var qr=[Function,Array],qr={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:qr,onEnter:qr,onAfterEnter:qr,onEnterCancelled:qr,onBeforeLeave:qr,onLeave:qr,onAfterLeave:qr,onLeaveCancelled:qr,onBeforeAppear:qr,onAppear:qr,onAfterAppear:qr,onAppearCancelled:qr};const Wr=e=>{e=e.subTree;return e.component?Wr(e.component):e};function zr(t){let n=t[0];if(1 can only be used on a single element or component. Use for lists.");break}n=r,e=!0}}return n}const Kr={name:"BaseTransition",props:qr,setup(l,{slots:o}){const c=qi(),u=Hr();return()=>{var e=o.default&&Zr(o.default(),!0);if(e&&e.length){var e=zr(e),t=g(l),n=t["mode"];if(n&&"in-out"!==n&&"out-in"!==n&&"default"!==n&&oe("invalid mode: "+n),u.isLeaving)return Yr(e);var r=Xr(e);if(!r)return Yr(e);let o=Gr(r,t,u,c,e=>o=e);r.type!==ie&&Qr(r,o);var s=c.subTree;const i=s&&Xr(s);if(i&&i.type!==ie&&!Ai(r,i)&&Wr(c).type!==ie){const a=Gr(i,t,u,c);if(Qr(i,a),"out-in"===n&&r.type!==ie)return u.isLeaving=!0,a.afterLeave=()=>{u.isLeaving=!1,8&c.job.flags||c.update(),delete a.afterLeave},Yr(e);"in-out"===n&&r.type!==ie&&(a.delayLeave=(e,t,n)=>{const r=Jr(u,i);r[String(i.key)]=i,e[Ur]=()=>{t(),e[Ur]=void 0,delete o.delayedLeave},o.delayedLeave=n})}return e}}}};function Jr(e,t){const n=e["leavingVNodes"];let r=n.get(t.type);return r||(r=Object.create(null),n.set(t.type,r)),r}function Gr(s,t,i,n,r){const{appear:a,mode:e,persisted:o=!1,onBeforeEnter:l,onEnter:c,onAfterEnter:u,onEnterCancelled:d,onBeforeLeave:p,onLeave:h,onAfterLeave:f,onLeaveCancelled:m,onBeforeAppear:v,onAppear:g,onAfterAppear:y,onAppearCancelled:b}=t,S=String(s.key),_=Jr(i,s),x=(e,t)=>{e&&jn(e,n,9,t)},w=(e,t)=>{const n=t[1];x(e,t),ue(e)?e.every(e=>e.length<=1)&&n():e.length<=1&&n()},k={mode:e,persisted:o,beforeEnter(e){let t=l;if(!i.isMounted){if(!a)return;t=v||l}e[Ur]&&e[Ur](!0);const n=_[S];n&&Ai(s,n)&&n.el[Ur]&&n.el[Ur](),x(t,[e])},enter(t){let e=c,n=u,r=d;if(!i.isMounted){if(!a)return;e=g||c,n=y||u,r=b||d}let o=!1;var s=t[Br]=e=>{o||(o=!0,e?x(r,[t]):x(n,[t]),k.delayedLeave&&k.delayedLeave(),t[Br]=void 0)};e?w(e,[t,s]):s()},leave(t,n){const r=String(s.key);if(t[Br]&&t[Br](!0),i.isUnmounting)return n();x(p,[t]);let o=!1;var e=t[Ur]=e=>{o||(o=!0,n(),e?x(m,[t]):x(f,[t]),t[Ur]=void 0,_[r]===s&&delete _[r])};_[r]=s,h?w(h,[t,e]):e()},clone(e){e=Gr(e,t,i,n,r);return r&&r(e),e}};return k}function Yr(e){if(go(e))return(e=Pi(e)).children=null,e}function Xr(e){if(!go(e))return Mr(e.type)&&e.children?zr(e.children):e;if(e.component)return e.component.subTree;const{shapeFlag:t,children:n}=e;return n?16&t?n[0]:32&t&&ne(n.default)?n.default():void 0:void 0}function Qr(e,t){6&e.shapeFlag&&e.component?(e.transition=t,Qr(e.component.subTree,t)):128&e.shapeFlag?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function Zr(t,n=!1,r){let o=[],s=0;for(let e=0;eO({name:e.name},t,{setup:e}))():e}function to(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}const no=new WeakSet;function ro(t,n,r,o,s=!1){if(ue(t))t.forEach((e,t)=>ro(e,n&&(ue(n)?n[t]:n),r,o,s));else if(!mo(o)||s){const i=4&o.shapeFlag?aa(o.component):o.el,a=s?null:i,{i:l,r:c}=t;if(l){const u=n&&n.r,d=l.refs===I?l.refs={}:l.refs,p=l.setupState,h=g(p),f=p===I?()=>!1:e=>!no.has(h[e])&&E(h,e);if(null!=u&&u!==c&&(de(u)?(d[u]=null,f(u)&&(p[u]=null)):J(u)&&(u.value=null)),ne(c))Vn(c,l,12,[a,d]);else{const m=de(c),v=J(c);var e;m||v?(e=()=>{if(t.f){const e=m?(f(c)?p:d)[c]:c.value;s?ue(e)&&V(e,i):ue(e)?e.includes(i)||e.push(i):m?(d[c]=[i],f(c)&&(p[c]=d[c])):(c.value=[i],t.k&&(d[t.k]=c.value))}else m?(d[c]=a,f(c)&&(p[c]=a)):v?(c.value=a,t.k&&(d[t.k]=a)):oe("Invalid template ref type:",c,`(${typeof c})`)},a?(e.id=-1,P(e,r)):e()):oe("Invalid template ref type:",c,`(${typeof c})`)}}else oe("Missing ref owner context. ref cannot be used on hoisted vnodes. A vnode with ref must be created inside the render function.")}}let oo=!1;const so=()=>{oo||(console.error("Hydration completed but contains mismatches."),oo=!0)},io=e=>{var t;if(1===e.nodeType)return(t=e).namespaceURI.includes("svg")&&"foreignObject"!==t.tagName?"svg":e.namespaceURI.includes("MathML")?"mathml":void 0},ao=e=>8===e.nodeType;function lo(v){const{mt:g,p,o:{patchProp:y,createText:b,nextSibling:S,parentNode:_,remove:x,insert:w,createComment:a}}=v;const k=(t,n,e,r,o,s=!1)=>{s=s||!!n.dynamicChildren;const i=ao(t)&&"["===t.data;var a=()=>A(t,n,e,r,o,i),{type:l,ref:c,shapeFlag:u,patchFlag:d}=n;let p=t.nodeType,h=(n.el=t,fe(t,"__vnode",n,!0),fe(t,"__vueParentComponent",e,!0),-2===d&&(s=!1,n.dynamicChildren=null),null);switch(l){case gi:h=3!==p?""===n.children?(w(n.el=b(""),_(t),t),t):a():(t.data!==n.children&&(oe("Hydration text mismatch in",t.parentNode,` - - rendered on server: ${JSON.stringify(t.data)} - - expected on client: `+JSON.stringify(n.children)),so(),t.data=n.children),S(t));break;case ie:O(t)?(h=S(t),I(n.el=t.content.firstChild,t,e)):h=8!==p||i?a():S(t);break;case yi:if(i&&(t=S(t),p=t.nodeType),1===p||3===p){h=t;var f=!n.children.length;for(let e=0;e{a=a||!!r.dynamicChildren;const{type:e,props:l,shapeFlag:c,dirs:u,transition:d}=r;var p,h="input"===e||"option"===e;{u&&Or(r,null,o,"created");let e=!1;if(O(n)&&(e=Bs(s,d)&&o&&o.vnode.props&&o.vnode.props.appear,p=n.content.firstChild,e&&d.beforeEnter(p),I(p,n,o),r.el=n=p),16&c&&(!l||!l.innerHTML&&!l.textContent)){let e=T(n.firstChild,r,n,o,s,i,a),t=!1;for(;e;){fo(n,1)||(t||(oe("Hydration children mismatch on",n,` -Server rendered element contains more child nodes than client vdom.`),t=!0),so());var f=e;e=e.nextSibling,x(f)}}else 8&c&&n.textContent!==r.children&&(fo(n,0)||(oe("Hydration text content mismatch on",n,` - - rendered on server: ${n.textContent} - - expected on client: `+r.children),so()),n.textContent=r.children);if(l){var m=n.tagName.includes("-");for(const v in l)u&&u.some(e=>e.dir.created)||!function(e,t,n,r,o){let s,i,a,l;if("class"===t)a=e.getAttribute("class"),l=_e(n),!function(e,t){if(e.size!==t.size)return;for(const n of e)if(!t.has(n))return;return 1}(co(a||""),co(l))&&(s=2,i="class");else if("style"===t){a=e.getAttribute("style")||"",l=de(n)?n:function(e){let t="";if(!e||de(e))return t;for(const o in e){var n,r=e[o];!de(r)&&"number"!=typeof r||(n=o.startsWith("--")?o:M(o),t+=n+`:${r};`)}return t}(Z(n));var c=uo(a);const p=uo(l);if(r.dirs)for(var{dir:u,value:d}of r.dirs)"show"!==u.name||d||p.set("display","none");o&&!function e(t,n,r){const o=t.subTree;if(t.getCssVars&&(n===o||o&&o.type===se&&o.children.includes(n))){const s=t.getCssVars();for(const i in s)r.set("--"+Re(i),String(s[i]))}n===o&&t.parent&&e(t.parent,t.vnode,r)}(o,r,p),!function(e,t){if(e.size!==t.size)return;for(var[n,r]of e)if(r!==t.get(n))return;return 1}(c,p)&&(s=3,i="style")}else(e instanceof SVGElement&&Ie(t)||e instanceof HTMLElement&&(Ee(t)||Ne(t)))&&(l=Ee(t)?(a=e.hasAttribute(t),Ae(n)):null==n?(a=e.hasAttribute(t),!1):(a=e.hasAttribute(t)?e.getAttribute(t):"value"===t&&"TEXTAREA"===e.tagName&&e.value,!!function(e){if(null!=e)return"string"==(e=typeof e)||"number"==e||"boolean"==e}(n)&&String(n)),a!==l&&(s=4,i=t));if(null==s||fo(e,s))return;{o=e=>!1===e?"(not rendered)":i+`="${e}"`,r=`Hydration ${ho[s]} mismatch on`,c=` - - rendered on server: ${o(a)} - - expected on client: ${o(l)} - Note: this mismatch is check-only. The DOM will not be rectified in production due to performance overhead. - You should fix the source of the mismatch.`;return oe(r,e,c),1}}(n,v,l[v],r,o)||so(),(h&&(v.endsWith("value")||"indeterminate"===v)||G(v)&&!le(v)||"."===v[0]||m)&&y(n,v,null,l[v],void 0,o)}let t;(t=l&&l.onVnodeBeforeMount)&&Ui(t,o,r),u&&Or(r,null,o,"beforeMount"),((t=l&&l.onVnodeMounted)||u||e)&&mi(()=>{t&&Ui(t,o,r),e&&d.enter(n),u&&Or(r,null,o,"mounted")},s)}return n.nextSibling},T=(t,e,n,r,o,s,i)=>{i=i||!!e.dynamicChildren;const a=e.children;var l=a.length;let c=!1;for(let e=0;e{var i=t["slotScopeIds"],i=(i&&(o=o?o.concat(i):i),_(e)),e=T(S(e),t,i,n,r,o,s);return e&&ao(e)&&"]"===e.data?S(t.anchor=e):(so(),w(t.anchor=a("]"),i,e),e)},A=(e,t,n,r,o,s)=>{if(fo(e.parentElement,1)||(oe(`Hydration node mismatch: -- rendered on server:`,e,3===e.nodeType?"(text)":ao(e)&&"["===e.data?"(start of fragment)":"",` -- expected on client:`,t.type),so()),t.el=null,s)for(var i=N(e);;){var a=S(e);if(!a||a===i)break;x(a)}var s=S(e),l=_(e);return x(e),p(null,t,l,s,n,r,io(l),o),s},N=(e,t="[",n="]")=>{let r=0;for(;e;)if((e=S(e))&&ao(e)&&(e.data===t&&r++,e.data===n)){if(0===r)return S(e);r--}return e},I=(e,t,n)=>{const r=t.parentNode;r&&r.replaceChild(e,t);let o=n;for(;o;)o.vnode.el===t&&(o.vnode.el=o.subTree.el=e),o=o.parent},O=e=>1===e.nodeType&&"template"===e.tagName.toLowerCase();return[(e,t)=>{if(!t.hasChildNodes())return oe("Attempting to hydrate existing markup but container is empty. Performing full mount instead."),p(null,e,t),rr(),void(t._vnode=e);k(t.firstChild,e,null,null,null),rr(),t._vnode=e},k]}function co(e){return new Set(e.trim().split(/\s+/))}function uo(e){const n=new Map;for(const r of e.split(";")){let[e,t]=r.split(":");e=e.trim(),t=t&&t.trim(),e&&t&&n.set(e,t)}return n}const po="data-allow-mismatch",ho={[0]:"text",1:"children",2:"class",3:"style",4:"attribute"};function fo(e,t){if(0===t||1===t)for(;e&&!e.hasAttribute(po);)e=e.parentElement;const n=e&&e.getAttribute(po);if(null!=n){if(""===n)return 1;{const r=n.split(",");return 0===t&&r.includes("children")?1:n.split(",").includes(ho[t])}}}const mo=e=>!!e.type.__asyncLoader;function vo(e,t){var{ref:n,props:r,children:o,ce:s}=t.vnode;const i=$(e,r,o);return i.ref=n,i.ce=s,delete t.vnode.ce,i}const go=e=>e.type.__isKeepAlive;var yo={name:"KeepAlive",__isKeepAlive:!0,props:{include:[String,RegExp,Array],exclude:[String,RegExp,Array],max:[String,Number]},setup(a,{slots:l}){const r=qi(),e=r.ctx,c=new Map,u=new Set;let d=null;r.__v_cache=c;const i=r.suspense,{p,m:h,um:t,o:{createElement:n}}=e["renderer"],o=n("div");function s(e){wo(e),t(e,r,i,!0)}function f(n){c.forEach((e,t)=>{e=ua(e.type);e&&!n(e)&&m(t)})}function m(e){var t=c.get(e);!t||d&&Ai(t,d)?d&&wo(d):s(t),c.delete(e),u.delete(e)}e.activate=(t,e,n,r,o)=>{const s=t.component;h(t,e,n,0,i),p(s.vnode,t,e,n,s,i,r,t.slotScopeIds,o),P(()=>{s.isDeactivated=!1,s.a&&he(s.a);var e=t.props&&t.props.onVnodeMounted;e&&Ui(e,s.parent,t)},i),br(s)},e.deactivate=t=>{const n=t.component;qs(n.m),qs(n.a),h(t,o,null,1,i),P(()=>{n.da&&he(n.da);var e=t.props&&t.props.onVnodeUnmounted;e&&Ui(e,n.parent,t),n.isDeactivated=!0},i),br(n)},Ks(()=>[a.include,a.exclude],([t,n])=>{t&&f(e=>bo(t,e)),n&&f(e=>!bo(n,e))},{flush:"post",deep:!0});let v=null;var g=()=>{null!=v&&(li(r.subTree.type)?P(()=>{c.set(v,ko(r.subTree))},r.subTree.suspense):c.set(v,ko(r.subTree)))};return Ao(g),Io(g),Oo(()=>{c.forEach(e=>{var{subTree:t,suspense:n}=r,t=ko(t);if(e.type===t.type&&e.key===t.key)return wo(t),void((t=t.component.da)&&P(t,n));s(e)})}),()=>{if(v=null,!l.default)return d=null;var e=l.default();const t=e[0];if(1parseInt(i,10)&&m(u.values().next().value)),n.shapeFlag|=256,d=n,li(t.type)?t:n}}};function bo(e,t){return ue(e)?e.some(e=>bo(e,t)):de(e)?e.split(",").includes(t):(n=e,"[object RegExp]"===b(n)&&(e.lastIndex=0,e.test(t)));var n}function So(e,t){xo(e,"a",t)}function _o(e,t){xo(e,"da",t)}function xo(t,n,r=F){var o=t.__wdc||(t.__wdc=()=>{let e=r;for(;e;){if(e.isDeactivated)return;e=e.parent}return t()});if(Co(n,o,r),r){let e=r.parent;for(;e&&e.parent;)go(e.parent.vnode)&&!function(e,t,n,r){const o=Co(t,e,r,!0);Ro(()=>{V(r[t],o)},n)}(o,n,r,e),e=e.parent}}function wo(e){e.shapeFlag&=-257,e.shapeFlag&=-513}function ko(e){return 128&e.shapeFlag?e.ssContent:e}function Co(n,r,o=F,e=!1){if(o){const s=o[n]||(o[n]=[]);var t=r.__weh||(r.__weh=(...e)=>{tt();const t=Ki(o);e=jn(r,o,n,e);return t(),nt(),e});return e?s.unshift(t):s.push(t),t}oe(ce(Ln[n].replace(/ hook$/,""))+" is called when there is no active component instance to be associated with. Lifecycle injection APIs can only be used during execution of setup(). If you are using async setup(), make sure to register lifecycle hooks before the first await statement.")}var To=n=>(t,e=F)=>{Qi&&"sp"!==n||Co(n,(...e)=>t(...e),e)};const Eo=To("bm"),Ao=To("m"),No=To("bu"),Io=To("u"),Oo=To("bum"),Ro=To("um"),Mo=To("sp"),Po=To("rtg"),$o=To("rtc");function Fo(e,t=F){Co("ec",e,t)}const Do="components";const Lo=Symbol.for("v-ndc");function Vo(e,t,n=!0,r=!1){var o=f||F;if(o){var s=o.type;if(e===Do){var i=ua(s,!1);if(i&&(i===t||i===R(t)||i===T(R(t))))return s}i=jo(o[e]||s[e],t)||jo(o.appContext[e],t);return!i&&r?s:(n&&!i&&(o=e===Do?` -If this is a native custom element, make sure to exclude it from component resolution via compilerOptions.isCustomElement.`:"",oe(`Failed to resolve ${e.slice(0,-1)}: `+t+o)),i)}oe(`resolve${T(e.slice(0,-1))} can only be used in render() or setup().`)}function jo(e,t){return e&&(e[t]||e[R(t)]||e[T(R(t))])}const Uo=e=>e?Xi(e)?aa(e):Uo(e.parent):null,Bo=O(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>an(e.props),$attrs:e=>an(e.attrs),$slots:e=>an(e.slots),$refs:e=>an(e.refs),$parent:e=>Uo(e.parent),$root:e=>Uo(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>Zo(e),$forceUpdate:e=>e.f||(e.f=()=>{Zn(e.update)}),$nextTick:e=>e.n||(e.n=Qn.bind(e.proxy)),$watch:e=>function(e,t,n){const r=this.proxy,o=de(e)?e.includes(".")?Gs(r,e):()=>r[e]:e.bind(r,r);let s;ne(t)?s=t:(s=t.handler,n=t);const i=Ki(this),a=Js(o,s.bind(r),n);return i(),a}.bind(e)}),Ho=e=>"_"===e||"$"===e,qo=(e,t)=>e!==I&&!e.__isScriptSetup&&E(e,t),Wo={get({_:e},t){if("__v_skip"===t)return!0;const{ctx:n,setupState:r,data:o,props:s,accessCache:i,type:a,appContext:l}=e;if("__isVue"===t)return!0;if("$"!==t[0]){var c=i[t];if(void 0!==c)switch(c){case 1:return r[t];case 2:return o[t];case 4:return n[t];case 3:return s[t]}else{if(qo(r,t))return i[t]=1,r[t];if(o!==I&&E(o,t))return i[t]=2,o[t];if((c=e.propsOptions[0])&&E(c,t))return i[t]=3,s[t];if(n!==I&&E(n,t))return i[t]=4,n[t];Yo&&(i[t]=0)}}const u=Bo[t];let d,p;return u?("$attrs"===t?(h(e.attrs,"get",""),Zs()):"$slots"===t&&h(e,"get",t),u(e)):(d=a.__cssModules)&&(d=d[t])?d:n!==I&&E(n,t)?(i[t]=4,n[t]):(p=l.config.globalProperties,E(p,t)?p[t]:void(!f||de(t)&&0===t.indexOf("__v")||(o!==I&&Ho(t[0])&&E(o,t)?oe(`Property ${JSON.stringify(t)} must be accessed via $data because it starts with a reserved character ("$" or "_") and is not proxied on the render context.`):e===f&&oe(`Property ${JSON.stringify(t)} was accessed during render but is not defined on instance.`))))},set({_:e},t,n){const{data:r,setupState:o,ctx:s}=e;return qo(o,t)?(o[t]=n,!0):o.__isScriptSetup&&E(o,t)?(oe(`Cannot mutate