feat(frontend): build speed & chunk structure optimization (#690)
* feat(frontend): build speed & chunk structure optimization * fix: attempting to work around precommit inconsistent eslint config * chore(pre-commit config): ignore mocharc for eslint Co-authored-by: Gergő Jedlicska <gergo@jedlicska.com>
This commit is contained in:
committed by
GitHub
parent
728851700a
commit
e8869e210c
@@ -1 +0,0 @@
|
||||
!.mocharc.js
|
||||
+1
-1
@@ -20,7 +20,7 @@ const config = {
|
||||
'prefer-const': 'warn',
|
||||
'object-shorthand': 'warn'
|
||||
},
|
||||
ignorePatterns: ['node_modules', 'dist', 'public']
|
||||
ignorePatterns: ['node_modules', 'dist', 'public', 'events.json', '.mocharc.js']
|
||||
}
|
||||
|
||||
module.exports = config
|
||||
|
||||
+4
-1
@@ -23,4 +23,7 @@ packages/frontend/schema.graphql
|
||||
packages/server/reports*
|
||||
|
||||
**/venv/**
|
||||
**/start/
|
||||
**/start/
|
||||
|
||||
# Profiler output
|
||||
events.json
|
||||
@@ -5,6 +5,7 @@ repos:
|
||||
- id: eslint
|
||||
types: [file]
|
||||
files: \.[jt]s$|vue$ # *.js, *.ts and vue
|
||||
exclude: 'mocharc.js$'
|
||||
args:
|
||||
- '--max-warnings=0'
|
||||
additional_dependencies:
|
||||
|
||||
@@ -10,5 +10,8 @@ packages/viewer/example/speckleviewer.web.js
|
||||
package-lock.json
|
||||
yarn.lock
|
||||
|
||||
# Profiler output
|
||||
events.json
|
||||
|
||||
# Prettier doesn't understand the syntax inside the Yaml files, because of the brackets
|
||||
utils/helm/speckle-server/templates
|
||||
Generated
+3
@@ -13,6 +13,9 @@
|
||||
"lerna": "^3.22.1",
|
||||
"pre-commit": "^1.2.2",
|
||||
"prettier": "^2.5.1"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=14.0.0 <17.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@babel/code-frame": {
|
||||
|
||||
+1
-1
@@ -2,7 +2,7 @@
|
||||
"name": "root",
|
||||
"private": true,
|
||||
"engines": {
|
||||
"node": "^14.0.0"
|
||||
"node": ">=14.0.0 <17.0.0"
|
||||
},
|
||||
"scripts": {
|
||||
"lint": "eslint . --ext .js,.ts,.vue --max-warnings=0",
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
module.exports = {
|
||||
presets: ['@vue/cli-plugin-babel/preset'],
|
||||
ignore: ['../viewer/dist', '../objectloader/dist']
|
||||
ignore: ['../viewer/dist', '../objectloader/dist'],
|
||||
plugins: ['lodash']
|
||||
}
|
||||
|
||||
@@ -0,0 +1,36 @@
|
||||
/**
|
||||
* Dev builds use esbuild instead of babel for improved speed
|
||||
* @param {import('@vue/cli-service/lib/PluginAPI')} api
|
||||
**/
|
||||
function plugin(api) {
|
||||
const isProdBuild = process.env.NODE_ENV === 'production'
|
||||
const isDevBuild = !isProdBuild
|
||||
|
||||
if (!isDevBuild) return
|
||||
|
||||
api.chainWebpack((config) => {
|
||||
const target = 'es2019'
|
||||
const jsRule = config.module.rule('js').test(/\.m?jsx?$/)
|
||||
|
||||
// Delete babel related loaders
|
||||
jsRule.uses.delete('thread-loader').delete('babel-loader')
|
||||
|
||||
// Add caching config
|
||||
jsRule
|
||||
.use('cache-loader')
|
||||
.loader(require.resolve('cache-loader'))
|
||||
.options(
|
||||
api.genCacheConfig('js-esbuild-loader', {
|
||||
target,
|
||||
esbuildLoaderVersion: require('esbuild-loader/package.json').version
|
||||
})
|
||||
)
|
||||
|
||||
// Add new esbuild loader
|
||||
jsRule.use('esbuild-loader').loader('esbuild-loader').options({
|
||||
target
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
module.exports = plugin
|
||||
Generated
+42640
-38954
File diff suppressed because it is too large
Load Diff
@@ -3,11 +3,14 @@
|
||||
"version": "2.3.17-alpha.2889",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
"dev": "vue-cli-service serve",
|
||||
"serve": "vue-cli-service serve",
|
||||
"build": "vue-cli-service build",
|
||||
"build:setup": "vue-cli-service build",
|
||||
"serve:setup": "vue-cli-service serve",
|
||||
"dev": "vue-cli-service serve --mode development",
|
||||
"serve": "ws -p 8080 -d dist -r '/embed(.*) -> /embedApp.html' '/([a-zA-Z0-9-_/]*)(\\?.*)? -> /app.html' ",
|
||||
"build": "vue-cli-service build --mode production --silent",
|
||||
"build:dev": "vue-cli-service build --mode development --silent",
|
||||
"build:profile": "npm run build -- --profile",
|
||||
"build:dev:profile": "npm run build:dev -- --profile",
|
||||
"inspect": "vue-cli-service inspect --mode production",
|
||||
"inspect:dev": "vue-cli-service inspect --mode development",
|
||||
"lint": "eslint . --ext .js,.ts,.vue"
|
||||
},
|
||||
"engines": {
|
||||
@@ -49,17 +52,29 @@
|
||||
"@vue/cli-plugin-vuex": "~4.3.0",
|
||||
"@vue/cli-service": "~4.3.0",
|
||||
"babel-eslint": "^10.1.0",
|
||||
"babel-plugin-lodash": "^3.3.4",
|
||||
"duplicate-dependencies-webpack-plugin": "^1.0.2",
|
||||
"esbuild-loader": "^2.18.0",
|
||||
"eslint": "^8.11.0",
|
||||
"eslint-config-prettier": "^8.5.0",
|
||||
"eslint-loader": "^4.0.2",
|
||||
"eslint-plugin-vue": "^8.5.0",
|
||||
"graphql-tag": "^2.11.0",
|
||||
"local-web-server": "^5.2.0",
|
||||
"lodash-webpack-plugin": "^0.11.6",
|
||||
"prettier": "^2.5.1",
|
||||
"sass": "~1.32.6",
|
||||
"sass-loader": "^8.0.0",
|
||||
"speed-measure-webpack-plugin": "^1.5.0",
|
||||
"vue-cli-plugin-apollo": "~0.21.3",
|
||||
"vue-cli-plugin-vuetify": "^2.0.8",
|
||||
"vue-template-compiler": "^2.6.12",
|
||||
"vuetify-loader": "^1.6.0"
|
||||
"vuetify-loader": "^1.6.0",
|
||||
"webpack-bundle-analyzer": "^4.5.0"
|
||||
},
|
||||
"vuePlugins": {
|
||||
"service": [
|
||||
"./esbuildPlugin.js"
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
@@ -21,10 +21,6 @@
|
||||
href="https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@300;400;500&display=swap"
|
||||
rel="stylesheet"
|
||||
/>
|
||||
<link
|
||||
rel="stylesheet"
|
||||
href="https://cdn.jsdelivr.net/npm/@mdi/font@latest/css/materialdesignicons.min.css"
|
||||
/>
|
||||
<style type="text/css">
|
||||
body {
|
||||
background-color: #333333;
|
||||
|
||||
@@ -2,7 +2,10 @@ import Vue from 'vue'
|
||||
import App from './EmbedApp.vue'
|
||||
import vuetify from './embedVuetify'
|
||||
import router from './embedRouter'
|
||||
Vue.config.productionTip = false
|
||||
|
||||
// process.env.NODE_ENV is injected by Webpack
|
||||
// eslint-disable-next-line no-undef
|
||||
Vue.config.productionTip = process.env.NODE_ENV === 'development'
|
||||
|
||||
import VueMixpanel from 'vue-mixpanel'
|
||||
Vue.use(VueMixpanel, {
|
||||
|
||||
@@ -0,0 +1,179 @@
|
||||
/**
|
||||
* Lightweight MD5 implementation.
|
||||
* @see http://www.myersdaily.org/joseph/javascript/md5-text.html
|
||||
*/
|
||||
|
||||
function md5cycle(x, k) {
|
||||
let a = x[0],
|
||||
b = x[1],
|
||||
c = x[2],
|
||||
d = x[3]
|
||||
|
||||
a = ff(a, b, c, d, k[0], 7, -680876936)
|
||||
d = ff(d, a, b, c, k[1], 12, -389564586)
|
||||
c = ff(c, d, a, b, k[2], 17, 606105819)
|
||||
b = ff(b, c, d, a, k[3], 22, -1044525330)
|
||||
a = ff(a, b, c, d, k[4], 7, -176418897)
|
||||
d = ff(d, a, b, c, k[5], 12, 1200080426)
|
||||
c = ff(c, d, a, b, k[6], 17, -1473231341)
|
||||
b = ff(b, c, d, a, k[7], 22, -45705983)
|
||||
a = ff(a, b, c, d, k[8], 7, 1770035416)
|
||||
d = ff(d, a, b, c, k[9], 12, -1958414417)
|
||||
c = ff(c, d, a, b, k[10], 17, -42063)
|
||||
b = ff(b, c, d, a, k[11], 22, -1990404162)
|
||||
a = ff(a, b, c, d, k[12], 7, 1804603682)
|
||||
d = ff(d, a, b, c, k[13], 12, -40341101)
|
||||
c = ff(c, d, a, b, k[14], 17, -1502002290)
|
||||
b = ff(b, c, d, a, k[15], 22, 1236535329)
|
||||
|
||||
a = gg(a, b, c, d, k[1], 5, -165796510)
|
||||
d = gg(d, a, b, c, k[6], 9, -1069501632)
|
||||
c = gg(c, d, a, b, k[11], 14, 643717713)
|
||||
b = gg(b, c, d, a, k[0], 20, -373897302)
|
||||
a = gg(a, b, c, d, k[5], 5, -701558691)
|
||||
d = gg(d, a, b, c, k[10], 9, 38016083)
|
||||
c = gg(c, d, a, b, k[15], 14, -660478335)
|
||||
b = gg(b, c, d, a, k[4], 20, -405537848)
|
||||
a = gg(a, b, c, d, k[9], 5, 568446438)
|
||||
d = gg(d, a, b, c, k[14], 9, -1019803690)
|
||||
c = gg(c, d, a, b, k[3], 14, -187363961)
|
||||
b = gg(b, c, d, a, k[8], 20, 1163531501)
|
||||
a = gg(a, b, c, d, k[13], 5, -1444681467)
|
||||
d = gg(d, a, b, c, k[2], 9, -51403784)
|
||||
c = gg(c, d, a, b, k[7], 14, 1735328473)
|
||||
b = gg(b, c, d, a, k[12], 20, -1926607734)
|
||||
|
||||
a = hh(a, b, c, d, k[5], 4, -378558)
|
||||
d = hh(d, a, b, c, k[8], 11, -2022574463)
|
||||
c = hh(c, d, a, b, k[11], 16, 1839030562)
|
||||
b = hh(b, c, d, a, k[14], 23, -35309556)
|
||||
a = hh(a, b, c, d, k[1], 4, -1530992060)
|
||||
d = hh(d, a, b, c, k[4], 11, 1272893353)
|
||||
c = hh(c, d, a, b, k[7], 16, -155497632)
|
||||
b = hh(b, c, d, a, k[10], 23, -1094730640)
|
||||
a = hh(a, b, c, d, k[13], 4, 681279174)
|
||||
d = hh(d, a, b, c, k[0], 11, -358537222)
|
||||
c = hh(c, d, a, b, k[3], 16, -722521979)
|
||||
b = hh(b, c, d, a, k[6], 23, 76029189)
|
||||
a = hh(a, b, c, d, k[9], 4, -640364487)
|
||||
d = hh(d, a, b, c, k[12], 11, -421815835)
|
||||
c = hh(c, d, a, b, k[15], 16, 530742520)
|
||||
b = hh(b, c, d, a, k[2], 23, -995338651)
|
||||
|
||||
a = ii(a, b, c, d, k[0], 6, -198630844)
|
||||
d = ii(d, a, b, c, k[7], 10, 1126891415)
|
||||
c = ii(c, d, a, b, k[14], 15, -1416354905)
|
||||
b = ii(b, c, d, a, k[5], 21, -57434055)
|
||||
a = ii(a, b, c, d, k[12], 6, 1700485571)
|
||||
d = ii(d, a, b, c, k[3], 10, -1894986606)
|
||||
c = ii(c, d, a, b, k[10], 15, -1051523)
|
||||
b = ii(b, c, d, a, k[1], 21, -2054922799)
|
||||
a = ii(a, b, c, d, k[8], 6, 1873313359)
|
||||
d = ii(d, a, b, c, k[15], 10, -30611744)
|
||||
c = ii(c, d, a, b, k[6], 15, -1560198380)
|
||||
b = ii(b, c, d, a, k[13], 21, 1309151649)
|
||||
a = ii(a, b, c, d, k[4], 6, -145523070)
|
||||
d = ii(d, a, b, c, k[11], 10, -1120210379)
|
||||
c = ii(c, d, a, b, k[2], 15, 718787259)
|
||||
b = ii(b, c, d, a, k[9], 21, -343485551)
|
||||
|
||||
x[0] = add32(a, x[0])
|
||||
x[1] = add32(b, x[1])
|
||||
x[2] = add32(c, x[2])
|
||||
x[3] = add32(d, x[3])
|
||||
}
|
||||
|
||||
function cmn(q, a, b, x, s, t) {
|
||||
a = add32(add32(a, q), add32(x, t))
|
||||
return add32((a << s) | (a >>> (32 - s)), b)
|
||||
}
|
||||
|
||||
function ff(a, b, c, d, x, s, t) {
|
||||
return cmn((b & c) | (~b & d), a, b, x, s, t)
|
||||
}
|
||||
|
||||
function gg(a, b, c, d, x, s, t) {
|
||||
return cmn((b & d) | (c & ~d), a, b, x, s, t)
|
||||
}
|
||||
|
||||
function hh(a, b, c, d, x, s, t) {
|
||||
return cmn(b ^ c ^ d, a, b, x, s, t)
|
||||
}
|
||||
|
||||
function ii(a, b, c, d, x, s, t) {
|
||||
return cmn(c ^ (b | ~d), a, b, x, s, t)
|
||||
}
|
||||
|
||||
function md51(s) {
|
||||
const n = s.length,
|
||||
state = [1732584193, -271733879, -1732584194, 271733878]
|
||||
|
||||
let i
|
||||
for (i = 64; i <= s.length; i += 64) {
|
||||
md5cycle(state, md5blk(s.substring(i - 64, i)))
|
||||
}
|
||||
s = s.substring(i - 64)
|
||||
const tail = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
|
||||
for (i = 0; i < s.length; i++) tail[i >> 2] |= s.charCodeAt(i) << (i % 4 << 3)
|
||||
tail[i >> 2] |= 0x80 << (i % 4 << 3)
|
||||
if (i > 55) {
|
||||
md5cycle(state, tail)
|
||||
for (i = 0; i < 16; i++) tail[i] = 0
|
||||
}
|
||||
tail[14] = n * 8
|
||||
md5cycle(state, tail)
|
||||
return state
|
||||
}
|
||||
|
||||
function md5blk(s) {
|
||||
/* I figured global was faster. */
|
||||
const md5blks = []
|
||||
let i
|
||||
for (i = 0; i < 64; i += 4) {
|
||||
md5blks[i >> 2] =
|
||||
s.charCodeAt(i) +
|
||||
(s.charCodeAt(i + 1) << 8) +
|
||||
(s.charCodeAt(i + 2) << 16) +
|
||||
(s.charCodeAt(i + 3) << 24)
|
||||
}
|
||||
return md5blks
|
||||
}
|
||||
|
||||
const HEX_CHR = '0123456789abcdef'.split('')
|
||||
|
||||
function rhex(n) {
|
||||
let s = '',
|
||||
j = 0
|
||||
for (; j < 4; j++)
|
||||
s += HEX_CHR[(n >> (j * 8 + 4)) & 0x0f] + HEX_CHR[(n >> (j * 8)) & 0x0f]
|
||||
return s
|
||||
}
|
||||
|
||||
function hex(x) {
|
||||
for (let i = 0; i < x.length; i++) x[i] = rhex(x[i])
|
||||
return x.join('')
|
||||
}
|
||||
|
||||
let add32 = (a, b) => {
|
||||
return (a + b) & 0xffffffff
|
||||
}
|
||||
|
||||
/**
|
||||
* Generate an MD5 hash for an input string
|
||||
* @param {string} s input string
|
||||
* @returns {string} md5 hash
|
||||
*/
|
||||
function md5(s) {
|
||||
return hex(md51(s))
|
||||
}
|
||||
|
||||
if (md5('hello') !== '5d41402abc4b2a76b9719d911017c592') {
|
||||
add32 = (x, y) => {
|
||||
const lsw = (x & 0xffff) + (y & 0xffff),
|
||||
msw = (x >> 16) + (y >> 16) + (lsw >> 16)
|
||||
return (msw << 16) | (lsw & 0xffff)
|
||||
}
|
||||
}
|
||||
|
||||
export default md5
|
||||
export { md5 }
|
||||
@@ -0,0 +1,10 @@
|
||||
/**
|
||||
* Generate a random string of any length
|
||||
* @param {number} length
|
||||
* @returns
|
||||
*/
|
||||
export function randomString(length) {
|
||||
return Math.round(Math.pow(36, length + 1) - Math.random() * Math.pow(36, length))
|
||||
.toString(36)
|
||||
.slice(1)
|
||||
}
|
||||
@@ -1,8 +1,11 @@
|
||||
import Vue from 'vue'
|
||||
|
||||
// Event hub
|
||||
Vue.prototype.$eventHub = new Vue()
|
||||
|
||||
import App from '@/main/App.vue'
|
||||
import store from '@/main/store'
|
||||
import { LocalStorageKeys } from '@/helpers/mainConstants'
|
||||
|
||||
import { createProvider } from '@/vue-apollo'
|
||||
import {
|
||||
@@ -13,7 +16,9 @@ import {
|
||||
import router from '@/main/router/index'
|
||||
import vuetify from '@/plugins/vuetify'
|
||||
|
||||
Vue.config.productionTip = false
|
||||
// process.env.NODE_ENV is injected by Webpack
|
||||
// eslint-disable-next-line no-undef
|
||||
Vue.config.productionTip = process.env.NODE_ENV === 'development'
|
||||
|
||||
import PortalVue from 'portal-vue'
|
||||
Vue.use(PortalVue)
|
||||
@@ -44,18 +49,26 @@ Vue.use(VueMixpanel, {
|
||||
}
|
||||
})
|
||||
|
||||
// import UniqueId from 'vue-unique-id'
|
||||
// Vue.use(UniqueId)
|
||||
// Async HistogramSlider load
|
||||
Vue.component('HistogramSlider', async () => {
|
||||
await import(
|
||||
/* webpackChunkName: "vue-histogram-slider" */ 'vue-histogram-slider/dist/histogram-slider.css'
|
||||
)
|
||||
const component = await import(
|
||||
/* webpackChunkName: "vue-histogram-slider" */ 'vue-histogram-slider'
|
||||
)
|
||||
return component
|
||||
})
|
||||
|
||||
import HistogramSlider from 'vue-histogram-slider'
|
||||
import 'vue-histogram-slider/dist/histogram-slider.css'
|
||||
// Async ApexChart load
|
||||
Vue.component('ApexChart', async () => {
|
||||
const VueApexCharts = await import(
|
||||
/* webpackChunkName: "vue-apexcharts" */ 'vue-apexcharts'
|
||||
)
|
||||
Vue.use(VueApexCharts)
|
||||
|
||||
Vue.component(HistogramSlider.name, HistogramSlider)
|
||||
|
||||
import VueApexCharts from 'vue-apexcharts'
|
||||
Vue.use(VueApexCharts)
|
||||
|
||||
Vue.component('ApexChart', VueApexCharts)
|
||||
return VueApexCharts
|
||||
})
|
||||
|
||||
import { formatNumber } from '@/plugins/formatNumber'
|
||||
// Filter to turn any number into a nice string like '10k', '5.5m'
|
||||
@@ -100,9 +113,6 @@ if (AuthToken) {
|
||||
})
|
||||
}
|
||||
|
||||
import store from '@/main/store'
|
||||
import { LocalStorageKeys } from '@/helpers/mainConstants'
|
||||
|
||||
function initVue() {
|
||||
new Vue({
|
||||
router,
|
||||
|
||||
@@ -3,18 +3,16 @@
|
||||
<v-card-text class="text-h3 text-sm-h4 text-md-h3 primary--text">
|
||||
<span class="primary--text">
|
||||
<b>
|
||||
<a
|
||||
class="text-decoration-none"
|
||||
href="https://speckle.systems"
|
||||
target="_blank"
|
||||
<!-- display: inline -->
|
||||
<a class="text-decoration-none" href="https://speckle.systems" target="_blank"
|
||||
>Speckle</a
|
||||
>
|
||||
Speckle
|
||||
</a>
|
||||
</b>
|
||||
</span>
|
||||
<span class="font-weight-light">
|
||||
, empowering your design and construction data.
|
||||
</span>
|
||||
<!-- display: inline -->
|
||||
<span class="font-weight-light"
|
||||
>, empowering your design and construction data.</span
|
||||
>
|
||||
</v-card-text>
|
||||
<div>
|
||||
<v-card-text class="text-h6 font-weight-regular">
|
||||
|
||||
@@ -163,7 +163,7 @@
|
||||
</template>
|
||||
<script>
|
||||
import gql from 'graphql-tag'
|
||||
import debounce from 'lodash.debounce'
|
||||
import debounce from 'lodash/debounce'
|
||||
|
||||
export default {
|
||||
components: {
|
||||
|
||||
@@ -95,7 +95,7 @@
|
||||
|
||||
<script>
|
||||
import gql from 'graphql-tag'
|
||||
import crs from 'crypto-random-string'
|
||||
import { randomString } from '@/helpers/randomHelpers'
|
||||
import objectQuery from '@/graphql/objectSingle.gql'
|
||||
|
||||
export default {
|
||||
@@ -251,7 +251,7 @@ export default {
|
||||
arr.push({
|
||||
key,
|
||||
valid: true,
|
||||
id: crs({ length: 10 }),
|
||||
id: randomString(10),
|
||||
value: val,
|
||||
globals: this.nestedGlobals(val),
|
||||
type: 'object' //TODO: handle references
|
||||
@@ -260,7 +260,7 @@ export default {
|
||||
arr.push({
|
||||
key,
|
||||
valid: true,
|
||||
id: crs({ length: 10 }),
|
||||
id: randomString(10),
|
||||
value: val,
|
||||
globals: this.nestedGlobals(val),
|
||||
type: 'object'
|
||||
@@ -270,7 +270,7 @@ export default {
|
||||
arr.push({
|
||||
key,
|
||||
valid: true,
|
||||
id: crs({ length: 10 }),
|
||||
id: randomString(10),
|
||||
value: val,
|
||||
type: 'field'
|
||||
})
|
||||
|
||||
@@ -141,7 +141,7 @@
|
||||
</template>
|
||||
<script>
|
||||
import draggable from 'vuedraggable'
|
||||
import crs from 'crypto-random-string'
|
||||
import { randomString } from '@/helpers/randomHelpers'
|
||||
|
||||
export default {
|
||||
name: 'GlobalsEntry',
|
||||
@@ -243,11 +243,11 @@ export default {
|
||||
' ' +
|
||||
bimNouns[Math.floor(Math.random() * bimNouns.length)]
|
||||
const field = {
|
||||
key: `placeholder ${crs({ length: 6 })}`,
|
||||
key: `placeholder ${randomString(6)}`,
|
||||
type: 'field',
|
||||
value: randomPhrase,
|
||||
valid: true,
|
||||
id: crs({ length: 10 })
|
||||
id: randomString(10)
|
||||
}
|
||||
this.$emit('add-prop', { field, path: this.path })
|
||||
},
|
||||
@@ -262,10 +262,10 @@ export default {
|
||||
valid: entry.valid,
|
||||
globals: [
|
||||
{
|
||||
key: `placeholder ${crs({ length: 6 })}`,
|
||||
key: `placeholder ${randomString(6)}`,
|
||||
type: 'field',
|
||||
value: entry.value,
|
||||
id: crs({ length: 10 }),
|
||||
id: randomString(10),
|
||||
valid: true
|
||||
}
|
||||
]
|
||||
|
||||
@@ -164,7 +164,7 @@
|
||||
// TODO: Need to fix the viewer package build process to be able to properly reference THREE.js
|
||||
/* global THREE */
|
||||
import gql from 'graphql-tag'
|
||||
import debounce from 'lodash.debounce'
|
||||
import debounce from 'lodash/debounce'
|
||||
|
||||
import { getCamArray } from './viewerFrontendHelpers'
|
||||
export default {
|
||||
|
||||
@@ -142,7 +142,7 @@
|
||||
<script>
|
||||
// TODO: Need to fix the viewer package build process to be able to properly reference THREE.js
|
||||
/* global THREE */
|
||||
import debounce from 'lodash.debounce'
|
||||
import debounce from 'lodash/debounce'
|
||||
import gql from 'graphql-tag'
|
||||
|
||||
export default {
|
||||
|
||||
@@ -91,7 +91,7 @@
|
||||
/* global THREE */
|
||||
import gql from 'graphql-tag'
|
||||
import { v4 as uuid } from 'uuid'
|
||||
import debounce from 'lodash.debounce'
|
||||
import debounce from 'lodash/debounce'
|
||||
|
||||
export default {
|
||||
name: 'ViewerBubbles',
|
||||
|
||||
@@ -103,8 +103,8 @@
|
||||
|
||||
<script>
|
||||
import gql from 'graphql-tag'
|
||||
import crs from 'crypto-random-string'
|
||||
import AuthStrategies from '@/main/components/auth/AuthStrategies.vue'
|
||||
import { randomString } from '@/helpers/randomHelpers'
|
||||
import { isEmailValid } from '@/plugins/authHelpers'
|
||||
|
||||
export default {
|
||||
@@ -187,7 +187,7 @@ export default {
|
||||
else this.appId = appId
|
||||
|
||||
if (!challenge && this.appId === 'spklwebapp') {
|
||||
this.challenge = crs({ length: 10 })
|
||||
this.challenge = randomString(10)
|
||||
localStorage.setItem('appChallenge', this.challenge)
|
||||
} else if (challenge) {
|
||||
this.challenge = challenge
|
||||
|
||||
@@ -185,7 +185,7 @@
|
||||
<script>
|
||||
import gql from 'graphql-tag'
|
||||
import debounce from 'lodash/debounce'
|
||||
import crs from 'crypto-random-string'
|
||||
import { randomString } from '@/helpers/randomHelpers'
|
||||
|
||||
import AuthStrategies from '@/main/components/auth/AuthStrategies.vue'
|
||||
import { isEmailValid } from '@/plugins/authHelpers'
|
||||
@@ -284,7 +284,7 @@ export default {
|
||||
else this.appId = appId
|
||||
|
||||
if (!challenge && this.appId === 'spklwebapp') {
|
||||
this.challenge = crs({ length: 10 })
|
||||
this.challenge = randomString({ length: 10 })
|
||||
localStorage.setItem('appChallenge', this.challenge)
|
||||
} else if (challenge) {
|
||||
this.challenge = challenge
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { MainUserDataQuery } from '@/graphql/user'
|
||||
import { LocalStorageKeys } from '@/helpers/mainConstants'
|
||||
import crypto from 'crypto'
|
||||
import md5 from '@/helpers/md5'
|
||||
|
||||
const appId = 'spklwebapp'
|
||||
const appSecret = 'spklwebapp'
|
||||
@@ -41,13 +41,7 @@ export async function prefetchUserAndSetSuuid(apolloClient) {
|
||||
|
||||
if (data.user) {
|
||||
// eslint-disable-next-line camelcase
|
||||
const distinct_id =
|
||||
'@' +
|
||||
crypto
|
||||
.createHash('md5')
|
||||
.update(data.user.email.toLowerCase())
|
||||
.digest('hex')
|
||||
.toUpperCase()
|
||||
const distinct_id = '@' + md5(data.user.email.toLowerCase()).toUpperCase()
|
||||
|
||||
localStorage.setItem('suuid', data.user.suuid)
|
||||
localStorage.setItem('distinct_id', distinct_id)
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import Vue from 'vue'
|
||||
import crypto from 'crypto'
|
||||
import md5 from '@/helpers/md5'
|
||||
|
||||
let hasLocalStorage = typeof Storage !== 'undefined'
|
||||
|
||||
@@ -22,11 +22,7 @@ Vue.prototype.$mixpanelId = function () {
|
||||
}
|
||||
|
||||
Vue.prototype.$mixpanelServerId = function () {
|
||||
return crypto
|
||||
.createHash('md5')
|
||||
.update(window.location.hostname.toLowerCase())
|
||||
.digest('hex')
|
||||
.toUpperCase()
|
||||
return md5(window.location.hostname.toLowerCase()).toUpperCase()
|
||||
}
|
||||
|
||||
Vue.prototype.$loggedIn = function () {
|
||||
|
||||
@@ -1,7 +1,28 @@
|
||||
/* eslint-env node */
|
||||
module.exports = {
|
||||
configureWebpack: {
|
||||
devtool: 'eval-source-map'
|
||||
const webpack = require('webpack')
|
||||
const SpeedMeasurePlugin = require('speed-measure-webpack-plugin')
|
||||
const BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPlugin
|
||||
const LodashModuleReplacementPlugin = require('lodash-webpack-plugin')
|
||||
const { DuplicateReporterPlugin } = require('duplicate-dependencies-webpack-plugin')
|
||||
|
||||
const isProdBuild = process.env.NODE_ENV === 'production'
|
||||
const shouldEnableProfiling = (process.argv || []).includes('--profile')
|
||||
|
||||
/** @type {import('@vue/cli-service').ProjectOptions} */
|
||||
const config = {
|
||||
chainWebpack: (config) => {
|
||||
// Adding profiling plugins, if flag set
|
||||
if (shouldEnableProfiling) {
|
||||
config.plugin('webpack-profiling').use(webpack.debug.ProfilingPlugin)
|
||||
config.plugin('speed-measure').use(SpeedMeasurePlugin)
|
||||
config.plugin('bundle-analyzer').use(BundleAnalyzerPlugin)
|
||||
}
|
||||
|
||||
config.plugin('duplicate-detection').use(DuplicateReporterPlugin)
|
||||
config.plugin('lodash-optimization').use(LodashModuleReplacementPlugin)
|
||||
|
||||
// Setting source map according to build env
|
||||
config.devtool(isProdBuild ? false : 'eval-source-map')
|
||||
},
|
||||
productionSourceMap: false,
|
||||
pages: {
|
||||
@@ -27,6 +48,8 @@ module.exports = {
|
||||
{ from: /./, to: '/app.html' }
|
||||
]
|
||||
}
|
||||
},
|
||||
transpileDependencies: ['vuetify']
|
||||
// progress: false // Disables progress bar in dev server build
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = config
|
||||
|
||||
Generated
+335
@@ -14,6 +14,7 @@
|
||||
"regenerator-runtime": "^0.13.7"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@babel/cli": "7.15.7",
|
||||
"@babel/preset-env": "^7.16.11",
|
||||
"@rollup/plugin-babel": "^5.3.1",
|
||||
"@rollup/plugin-commonjs": "^21.0.3",
|
||||
@@ -42,6 +43,53 @@
|
||||
"node": ">=6.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@babel/cli": {
|
||||
"version": "7.15.7",
|
||||
"resolved": "https://registry.npmjs.org/@babel/cli/-/cli-7.15.7.tgz",
|
||||
"integrity": "sha512-YW5wOprO2LzMjoWZ5ZG6jfbY9JnkDxuHDwvnrThnuYtByorova/I0HNXJedrUfwuXFQfYOjcqDA4PU3qlZGZjg==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"commander": "^4.0.1",
|
||||
"convert-source-map": "^1.1.0",
|
||||
"fs-readdir-recursive": "^1.1.0",
|
||||
"glob": "^7.0.0",
|
||||
"make-dir": "^2.1.0",
|
||||
"slash": "^2.0.0",
|
||||
"source-map": "^0.5.0"
|
||||
},
|
||||
"bin": {
|
||||
"babel": "bin/babel.js",
|
||||
"babel-external-helpers": "bin/babel-external-helpers.js"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=6.9.0"
|
||||
},
|
||||
"optionalDependencies": {
|
||||
"@nicolo-ribaudo/chokidar-2": "2.1.8-no-fsevents.3",
|
||||
"chokidar": "^3.4.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@babel/core": "^7.0.0-0"
|
||||
}
|
||||
},
|
||||
"node_modules/@babel/cli/node_modules/commander": {
|
||||
"version": "4.1.1",
|
||||
"resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz",
|
||||
"integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==",
|
||||
"dev": true,
|
||||
"engines": {
|
||||
"node": ">= 6"
|
||||
}
|
||||
},
|
||||
"node_modules/@babel/cli/node_modules/slash": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz",
|
||||
"integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==",
|
||||
"dev": true,
|
||||
"engines": {
|
||||
"node": ">=6"
|
||||
}
|
||||
},
|
||||
"node_modules/@babel/code-frame": {
|
||||
"version": "7.16.7",
|
||||
"resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.7.tgz",
|
||||
@@ -1708,6 +1756,13 @@
|
||||
"@jridgewell/sourcemap-codec": "^1.4.10"
|
||||
}
|
||||
},
|
||||
"node_modules/@nicolo-ribaudo/chokidar-2": {
|
||||
"version": "2.1.8-no-fsevents.3",
|
||||
"resolved": "https://registry.npmjs.org/@nicolo-ribaudo/chokidar-2/-/chokidar-2-2.1.8-no-fsevents.3.tgz",
|
||||
"integrity": "sha512-s88O1aVtXftvp5bCPB7WnmXc5IwOZZ7YPuwNPt+GtOOXpPvad1LfbmjYv+qII7zP6RU2QGnqve27dnLycEnyEQ==",
|
||||
"dev": true,
|
||||
"optional": true
|
||||
},
|
||||
"node_modules/@nodelib/fs.scandir": {
|
||||
"version": "2.1.5",
|
||||
"resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
|
||||
@@ -1941,6 +1996,20 @@
|
||||
"url": "https://github.com/chalk/ansi-styles?sponsor=1"
|
||||
}
|
||||
},
|
||||
"node_modules/anymatch": {
|
||||
"version": "3.1.2",
|
||||
"resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz",
|
||||
"integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==",
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"dependencies": {
|
||||
"normalize-path": "^3.0.0",
|
||||
"picomatch": "^2.0.4"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 8"
|
||||
}
|
||||
},
|
||||
"node_modules/argparse": {
|
||||
"version": "2.0.1",
|
||||
"resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
|
||||
@@ -2031,6 +2100,16 @@
|
||||
"node": ">= 0.8"
|
||||
}
|
||||
},
|
||||
"node_modules/binary-extensions": {
|
||||
"version": "2.2.0",
|
||||
"resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz",
|
||||
"integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==",
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"engines": {
|
||||
"node": ">=8"
|
||||
}
|
||||
},
|
||||
"node_modules/brace-expansion": {
|
||||
"version": "1.1.11",
|
||||
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
|
||||
@@ -2152,6 +2231,47 @@
|
||||
"url": "https://github.com/chalk/chalk?sponsor=1"
|
||||
}
|
||||
},
|
||||
"node_modules/chokidar": {
|
||||
"version": "3.5.3",
|
||||
"resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz",
|
||||
"integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==",
|
||||
"dev": true,
|
||||
"funding": [
|
||||
{
|
||||
"type": "individual",
|
||||
"url": "https://paulmillr.com/funding/"
|
||||
}
|
||||
],
|
||||
"optional": true,
|
||||
"dependencies": {
|
||||
"anymatch": "~3.1.2",
|
||||
"braces": "~3.0.2",
|
||||
"glob-parent": "~5.1.2",
|
||||
"is-binary-path": "~2.1.0",
|
||||
"is-glob": "~4.0.1",
|
||||
"normalize-path": "~3.0.0",
|
||||
"readdirp": "~3.6.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 8.10.0"
|
||||
},
|
||||
"optionalDependencies": {
|
||||
"fsevents": "~2.3.2"
|
||||
}
|
||||
},
|
||||
"node_modules/chokidar/node_modules/glob-parent": {
|
||||
"version": "5.1.2",
|
||||
"resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
|
||||
"integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"dependencies": {
|
||||
"is-glob": "^4.0.1"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 6"
|
||||
}
|
||||
},
|
||||
"node_modules/clean-stack": {
|
||||
"version": "2.2.0",
|
||||
"resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz",
|
||||
@@ -2671,6 +2791,12 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"node_modules/fs-readdir-recursive": {
|
||||
"version": "1.1.0",
|
||||
"resolved": "https://registry.npmjs.org/fs-readdir-recursive/-/fs-readdir-recursive-1.1.0.tgz",
|
||||
"integrity": "sha512-GNanXlVr2pf02+sPN40XN8HG+ePaNcvM0q5mZBd668Obwb0yD5GiUbZOFgwn8kGMY6I3mdyDJzieUy3PTYyTRA==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/fs.realpath": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
|
||||
@@ -2963,6 +3089,19 @@
|
||||
"integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/is-binary-path": {
|
||||
"version": "2.1.0",
|
||||
"resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
|
||||
"integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"dependencies": {
|
||||
"binary-extensions": "^2.0.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=8"
|
||||
}
|
||||
},
|
||||
"node_modules/is-core-module": {
|
||||
"version": "2.8.1",
|
||||
"resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.1.tgz",
|
||||
@@ -3149,6 +3288,28 @@
|
||||
"sourcemap-codec": "^1.4.8"
|
||||
}
|
||||
},
|
||||
"node_modules/make-dir": {
|
||||
"version": "2.1.0",
|
||||
"resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz",
|
||||
"integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"pify": "^4.0.1",
|
||||
"semver": "^5.6.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=6"
|
||||
}
|
||||
},
|
||||
"node_modules/make-dir/node_modules/semver": {
|
||||
"version": "5.7.1",
|
||||
"resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
|
||||
"integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
|
||||
"dev": true,
|
||||
"bin": {
|
||||
"semver": "bin/semver"
|
||||
}
|
||||
},
|
||||
"node_modules/merge-stream": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz",
|
||||
@@ -3235,6 +3396,16 @@
|
||||
"resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.2.tgz",
|
||||
"integrity": "sha512-XxYDdcQ6eKqp/YjI+tb2C5WM2LgjnZrfYg4vgQt49EK268b6gYCHsBLrK2qvJo4FmCtqmKezb0WZFK4fkrZNsg=="
|
||||
},
|
||||
"node_modules/normalize-path": {
|
||||
"version": "3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
|
||||
"integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"engines": {
|
||||
"node": ">=0.10.0"
|
||||
}
|
||||
},
|
||||
"node_modules/object-inspect": {
|
||||
"version": "1.12.0",
|
||||
"resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.0.tgz",
|
||||
@@ -3380,6 +3551,15 @@
|
||||
"url": "https://github.com/sponsors/jonschlinkert"
|
||||
}
|
||||
},
|
||||
"node_modules/pify": {
|
||||
"version": "4.0.1",
|
||||
"resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz",
|
||||
"integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==",
|
||||
"dev": true,
|
||||
"engines": {
|
||||
"node": ">=6"
|
||||
}
|
||||
},
|
||||
"node_modules/portfinder": {
|
||||
"version": "1.0.28",
|
||||
"resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.28.tgz",
|
||||
@@ -3480,6 +3660,19 @@
|
||||
"safe-buffer": "^5.1.0"
|
||||
}
|
||||
},
|
||||
"node_modules/readdirp": {
|
||||
"version": "3.6.0",
|
||||
"resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
|
||||
"integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"dependencies": {
|
||||
"picomatch": "^2.2.1"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=8.10.0"
|
||||
}
|
||||
},
|
||||
"node_modules/regenerate": {
|
||||
"version": "1.4.2",
|
||||
"resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz",
|
||||
@@ -4060,6 +4253,37 @@
|
||||
"@jridgewell/trace-mapping": "^0.3.0"
|
||||
}
|
||||
},
|
||||
"@babel/cli": {
|
||||
"version": "7.15.7",
|
||||
"resolved": "https://registry.npmjs.org/@babel/cli/-/cli-7.15.7.tgz",
|
||||
"integrity": "sha512-YW5wOprO2LzMjoWZ5ZG6jfbY9JnkDxuHDwvnrThnuYtByorova/I0HNXJedrUfwuXFQfYOjcqDA4PU3qlZGZjg==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@nicolo-ribaudo/chokidar-2": "2.1.8-no-fsevents.3",
|
||||
"chokidar": "^3.4.0",
|
||||
"commander": "^4.0.1",
|
||||
"convert-source-map": "^1.1.0",
|
||||
"fs-readdir-recursive": "^1.1.0",
|
||||
"glob": "^7.0.0",
|
||||
"make-dir": "^2.1.0",
|
||||
"slash": "^2.0.0",
|
||||
"source-map": "^0.5.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"commander": {
|
||||
"version": "4.1.1",
|
||||
"resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz",
|
||||
"integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==",
|
||||
"dev": true
|
||||
},
|
||||
"slash": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz",
|
||||
"integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==",
|
||||
"dev": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"@babel/code-frame": {
|
||||
"version": "7.16.7",
|
||||
"resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.7.tgz",
|
||||
@@ -5230,6 +5454,13 @@
|
||||
"@jridgewell/sourcemap-codec": "^1.4.10"
|
||||
}
|
||||
},
|
||||
"@nicolo-ribaudo/chokidar-2": {
|
||||
"version": "2.1.8-no-fsevents.3",
|
||||
"resolved": "https://registry.npmjs.org/@nicolo-ribaudo/chokidar-2/-/chokidar-2-2.1.8-no-fsevents.3.tgz",
|
||||
"integrity": "sha512-s88O1aVtXftvp5bCPB7WnmXc5IwOZZ7YPuwNPt+GtOOXpPvad1LfbmjYv+qII7zP6RU2QGnqve27dnLycEnyEQ==",
|
||||
"dev": true,
|
||||
"optional": true
|
||||
},
|
||||
"@nodelib/fs.scandir": {
|
||||
"version": "2.1.5",
|
||||
"resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
|
||||
@@ -5401,6 +5632,17 @@
|
||||
"color-convert": "^2.0.1"
|
||||
}
|
||||
},
|
||||
"anymatch": {
|
||||
"version": "3.1.2",
|
||||
"resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz",
|
||||
"integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==",
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"normalize-path": "^3.0.0",
|
||||
"picomatch": "^2.0.4"
|
||||
}
|
||||
},
|
||||
"argparse": {
|
||||
"version": "2.0.1",
|
||||
"resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
|
||||
@@ -5476,6 +5718,13 @@
|
||||
"safe-buffer": "5.1.2"
|
||||
}
|
||||
},
|
||||
"binary-extensions": {
|
||||
"version": "2.2.0",
|
||||
"resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz",
|
||||
"integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==",
|
||||
"dev": true,
|
||||
"optional": true
|
||||
},
|
||||
"brace-expansion": {
|
||||
"version": "1.1.11",
|
||||
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
|
||||
@@ -5550,6 +5799,35 @@
|
||||
"supports-color": "^7.1.0"
|
||||
}
|
||||
},
|
||||
"chokidar": {
|
||||
"version": "3.5.3",
|
||||
"resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz",
|
||||
"integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==",
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"anymatch": "~3.1.2",
|
||||
"braces": "~3.0.2",
|
||||
"fsevents": "~2.3.2",
|
||||
"glob-parent": "~5.1.2",
|
||||
"is-binary-path": "~2.1.0",
|
||||
"is-glob": "~4.0.1",
|
||||
"normalize-path": "~3.0.0",
|
||||
"readdirp": "~3.6.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"glob-parent": {
|
||||
"version": "5.1.2",
|
||||
"resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
|
||||
"integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"is-glob": "^4.0.1"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"clean-stack": {
|
||||
"version": "2.2.0",
|
||||
"resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz",
|
||||
@@ -5943,6 +6221,12 @@
|
||||
"integrity": "sha512-MQDfihBQYMcyy5dhRDJUHcw7lb2Pv/TuE6xP1vyraLukNDHKbDxDNaOE3NbCAdKQApno+GPRyo1YAp89yCjK4w==",
|
||||
"dev": true
|
||||
},
|
||||
"fs-readdir-recursive": {
|
||||
"version": "1.1.0",
|
||||
"resolved": "https://registry.npmjs.org/fs-readdir-recursive/-/fs-readdir-recursive-1.1.0.tgz",
|
||||
"integrity": "sha512-GNanXlVr2pf02+sPN40XN8HG+ePaNcvM0q5mZBd668Obwb0yD5GiUbZOFgwn8kGMY6I3mdyDJzieUy3PTYyTRA==",
|
||||
"dev": true
|
||||
},
|
||||
"fs.realpath": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
|
||||
@@ -6159,6 +6443,16 @@
|
||||
"integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
|
||||
"dev": true
|
||||
},
|
||||
"is-binary-path": {
|
||||
"version": "2.1.0",
|
||||
"resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
|
||||
"integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"binary-extensions": "^2.0.0"
|
||||
}
|
||||
},
|
||||
"is-core-module": {
|
||||
"version": "2.8.1",
|
||||
"resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.1.tgz",
|
||||
@@ -6306,6 +6600,24 @@
|
||||
"sourcemap-codec": "^1.4.8"
|
||||
}
|
||||
},
|
||||
"make-dir": {
|
||||
"version": "2.1.0",
|
||||
"resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz",
|
||||
"integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"pify": "^4.0.1",
|
||||
"semver": "^5.6.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"semver": {
|
||||
"version": "5.7.1",
|
||||
"resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
|
||||
"integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
|
||||
"dev": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"merge-stream": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz",
|
||||
@@ -6374,6 +6686,13 @@
|
||||
"resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.2.tgz",
|
||||
"integrity": "sha512-XxYDdcQ6eKqp/YjI+tb2C5WM2LgjnZrfYg4vgQt49EK268b6gYCHsBLrK2qvJo4FmCtqmKezb0WZFK4fkrZNsg=="
|
||||
},
|
||||
"normalize-path": {
|
||||
"version": "3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
|
||||
"integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
|
||||
"dev": true,
|
||||
"optional": true
|
||||
},
|
||||
"object-inspect": {
|
||||
"version": "1.12.0",
|
||||
"resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.0.tgz",
|
||||
@@ -6480,6 +6799,12 @@
|
||||
"integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
|
||||
"dev": true
|
||||
},
|
||||
"pify": {
|
||||
"version": "4.0.1",
|
||||
"resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz",
|
||||
"integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==",
|
||||
"dev": true
|
||||
},
|
||||
"portfinder": {
|
||||
"version": "1.0.28",
|
||||
"resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.28.tgz",
|
||||
@@ -6544,6 +6869,16 @@
|
||||
"safe-buffer": "^5.1.0"
|
||||
}
|
||||
},
|
||||
"readdirp": {
|
||||
"version": "3.6.0",
|
||||
"resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
|
||||
"integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"requires": {
|
||||
"picomatch": "^2.2.1"
|
||||
}
|
||||
},
|
||||
"regenerate": {
|
||||
"version": "1.4.2",
|
||||
"resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz",
|
||||
|
||||
+1
-1
@@ -38,7 +38,7 @@
|
||||
"webpack-dev-server": "^4.6.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": "^14.0.0"
|
||||
"node": ">=14.0.0 <17.0.0"
|
||||
}
|
||||
},
|
||||
"../objectloader": {
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
"directory": "packages/preview-service"
|
||||
},
|
||||
"engines": {
|
||||
"node": "^14.0.0"
|
||||
"node": ">=14.0.0 <17.0.0"
|
||||
},
|
||||
"scripts": {
|
||||
"dev": "DEBUG='preview-service:*' nodemon --trace-deprecation ./bin/www",
|
||||
|
||||
Generated
+21438
-17896
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user