@omnia/tooling-vue
Version:
Used to bundle and serve manifests web component that build on Vue framework.
79 lines (78 loc) • 3.97 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.omniaPlugin = void 0;
const middlewares_1 = require("../middlewares");
const hmr_1 = require("../hmr");
function omniaPlugin(options) {
const hosting = options.hosting;
const hmrPlugin = !hosting.hmr ? {} : (0, hmr_1.setupHmrPlugin)(options, {
alias: {
'@microsoft/signalr': '@microsoft/signalr/dist/webworker/signalr.js',
'splitpanes': 'splitpanes/dist/splitpanes.es.js',
'axios': 'axios/dist/axios.js',
'broadcast-channel': 'broadcast-channel/dist/esbrowser/index.js',
//'@vue/composition-api': '@vue/composition-api/dist/vue-composition-api.mjs',
'@vue/babel-helper-vue-jsx-merge-props': '@vue/babel-helper-vue-jsx-merge-props/dist/helper.js',
'vue-tsx-support': 'vue-tsx-support/dist/esm/index.js',
'vue-tsx-support/lib/vca': 'vue-tsx-support/dist/esm/vca.js',
'vue-tsx-support/lib/api': 'vue-tsx-support/dist/esm/api.js',
'csx': 'csx/lib.es2015/index.js',
'vue': 'vue/dist/vue.esm.js',
'vue-class-component': 'vue-class-component/dist/vue-class-component.esm.js',
'vue-property-decorator': 'vue-property-decorator/lib/vue-property-decorator.js',
'vue-virtual-scroller': 'vue-virtual-scroller/dist/vue-virtual-scroller.esm.js',
'typestyle': 'typestyle/lib.es2015/index.js',
'dayjs': 'dayjs/dayjs.min.js',
'tiptap': 'tiptap/dist/tiptap.esm.js',
'tiptap-utils': 'tiptap-utils/dist/utils.esm.js',
'tiptap-extensions': 'tiptap-extensions/dist/extensions.esm.js',
'tiptap-commands': 'tiptap-commands/dist/commands.esm.js',
'prosemirror-state': 'prosemirror-state/dist/index.js',
'prosemirror-collab': 'prosemirror-collab/dist/collab.js',
'prosemirror-model': 'prosemirror-model/dist/index.js',
'prosemirror-tables': 'prosemirror-tables/dist/index.js',
'prosemirror-utils': 'prosemirror-utils/dist/index.js',
'prosemirror-view': 'prosemirror-view/dist/index.js',
'prosemirror-history': 'prosemirror-history/dist/history.js',
'prosemirror-commands': 'prosemirror-commands/dist/commands.js',
'prosemirror-transform': 'prosemirror-transform/dist/index.js',
'prosemirror-dropcursor': 'prosemirror-dropcursor/dist/dropcursor.js',
'prosemirror-gapcursor': 'prosemirror-gapcursor/dist/index.js',
'prosemirror-keymap': 'prosemirror-keymap/dist/keymap.js',
'prosemirror-inputrules': 'prosemirror-inputrules/dist/index.js',
'prosemirror-schema-list': 'prosemirror-schema-list/dist/schema-list.js'
},
resolvers: [
(0, hmr_1.tsPathResolver)()
],
transformers: [
(0, hmr_1.vendorImportPath)([
{ from: 'vue-tsx-support/enable-check', ignore: true },
])
]
});
const omniaPlugin = {
name: 'OmniaPlugin',
configureServer(server) {
server.middlewares.use(async (req, res, next) => {
res.setHeader('Access-Control-Allow-Origin', req.headers['origin'] || '*');
res.setHeader('Access-Control-Allow-Credentials', 'true');
res.setHeader('Access-Control-Allow-Headers', '*');
next();
});
(0, middlewares_1.registerOmniaMiddleware)(server, hosting.hmr);
if (server.config.server.hmr) {
(0, middlewares_1.registerHmrMiddleware)(server);
}
else {
(0, middlewares_1.registerWebpackMiddleware)(server);
}
(0, middlewares_1.registerStaticFileMiddleware)(server);
}
};
return {
...omniaPlugin,
...hmrPlugin
};
}
exports.omniaPlugin = omniaPlugin;