diff --git a/src/init-calendar.js b/src/init-calendar.js index 51cc96c82..6c603432e 100644 --- a/src/init-calendar.js +++ b/src/init-calendar.js @@ -23,6 +23,8 @@ import { subscribe } from '@nextcloud/event-bus' import { generateUrl } from '@nextcloud/router' +import './shared-init.js' + subscribe('calendar:handle-todo-click', ({ calendarId, taskId }) => { const deckAppPrefix = 'app-generated--deck--board-' if (calendarId.startsWith(deckAppPrefix)) { diff --git a/src/init-card-reference.js b/src/init-card-reference.js index 618a9065d..c700a71d0 100644 --- a/src/init-card-reference.js +++ b/src/init-card-reference.js @@ -26,6 +26,8 @@ import CardReferenceWidget from './views/CardReferenceWidget.vue' import { translate, translatePlural } from '@nextcloud/l10n' +import './shared-init.js' + Vue.prototype.t = translate Vue.prototype.n = translatePlural Vue.prototype.OC = window.OC diff --git a/src/init-collections.js b/src/init-collections.js index f26565ee4..a3f8ddd91 100644 --- a/src/init-collections.js +++ b/src/init-collections.js @@ -26,10 +26,7 @@ import './../css/collections.css' import FileSharingPicker from './views/FileSharingPicker.js' import { buildSelector } from './helpers/selector.js' -// eslint-disable-next-line -__webpack_nonce__ = btoa(OC.requestToken); -// eslint-disable-next-line -__webpack_public_path__ = OC.linkTo('deck', 'js/'); +import './shared-init.js' Vue.prototype.t = t Vue.prototype.n = n diff --git a/src/init-talk.js b/src/init-talk.js index 943cbe22b..7d798ad97 100644 --- a/src/init-talk.js +++ b/src/init-talk.js @@ -27,10 +27,7 @@ import CardCreateDialog from './CardCreateDialog.vue' import { buildSelector } from './helpers/selector.js' import './init-collections.js' -// eslint-disable-next-line -__webpack_nonce__ = btoa(OC.requestToken); -// eslint-disable-next-line -__webpack_public_path__ = OC.linkTo('deck', 'js/'); +import './shared-init.js' Vue.prototype.t = t Vue.prototype.n = n diff --git a/src/main.js b/src/main.js index 2d1a28132..29cb97126 100644 --- a/src/main.js +++ b/src/main.js @@ -25,22 +25,16 @@ import router from './router.js' import store from './store/main.js' import { sync } from 'vuex-router-sync' import { translate, translatePlural } from '@nextcloud/l10n' -import { generateFilePath } from '@nextcloud/router' import { showError } from '@nextcloud/dialogs' import { subscribe } from '@nextcloud/event-bus' import { Tooltip } from '@nextcloud/vue' import ClickOutside from 'vue-click-outside' +import './shared-init.js' import './models/index.js' // the server snap.js conflicts with vertical scrolling so we disable it document.body.setAttribute('data-snap-ignore', 'true') -// eslint-disable-next-line -__webpack_nonce__ = btoa(OC.requestToken) -if (!process.env.HOT) { - // eslint-disable-next-line - __webpack_public_path__ = generateFilePath('deck', '', 'js/') -} sync(store, router) Vue.prototype.t = translate diff --git a/src/shared-init.js b/src/shared-init.js new file mode 100644 index 000000000..9752aee3a --- /dev/null +++ b/src/shared-init.js @@ -0,0 +1,12 @@ +import { generateFilePath } from '@nextcloud/router' + +// eslint-disable-next-line +__webpack_nonce__ = btoa(OC.requestToken) + +if (!process.env.WEBPACK_SERVE) { + // eslint-disable-next-line + __webpack_public_path__ = generateFilePath('deck', '', 'js/') +} else { + // eslint-disable-next-line + __webpack_public_path__ = 'http://127.0.0.1:3000/' +} diff --git a/webpack.js b/webpack.js index e5fad1012..70721b7f3 100644 --- a/webpack.js +++ b/webpack.js @@ -1,11 +1,11 @@ const webpackConfig = require('@nextcloud/webpack-vue-config') +const webpack = require('webpack') const path = require('path') const ESLintPlugin = require('eslint-webpack-plugin') const StyleLintPlugin = require('stylelint-webpack-plugin') const buildMode = process.env.NODE_ENV -const isDev = buildMode === 'development' -const isDevServer = process.env.WEBPACK_DEV_SERVER; +const isDevServer = process.env.WEBPACK_SERVE webpackConfig.entry = { ...webpackConfig.entry, @@ -18,6 +18,11 @@ webpackConfig.entry = { if (isDevServer) { webpackConfig.output.publicPath = 'http://127.0.0.1:3000/' + webpackConfig.plugins.push( + new webpack.DefinePlugin({ + 'process.env.WEBPACK_SERVE': true, + }) + ) } else { webpackConfig.stats = { context: path.resolve(__dirname, 'src'),