import assert from 'node:assert/strict'
|
import test from 'node:test'
|
|
import { createManualChunks } from '../build/manualChunks.js'
|
|
test('createManualChunks groups heavy dependencies into stable vendor chunks', () => {
|
assert.equal(createManualChunks('/repo/node_modules/echarts/core.js'), 'vendor-echarts')
|
assert.equal(
|
createManualChunks('/repo/node_modules/@wangeditor/editor-for-vue/dist/index.js'),
|
'vendor-editor'
|
)
|
assert.equal(createManualChunks('/repo/node_modules/highlight.js/lib/index.js'), 'vendor-editor')
|
assert.equal(createManualChunks('/repo/node_modules/xlsx/xlsx.mjs'), 'vendor-xlsx')
|
assert.equal(createManualChunks('/repo/node_modules/xgplayer/dist/index.min.js'), 'vendor-media')
|
assert.equal(
|
createManualChunks('/repo/node_modules/element-plus/es/index.mjs'),
|
'vendor-element-plus'
|
)
|
assert.equal(
|
createManualChunks('/repo/node_modules/@element-plus/icons-vue/dist/index.mjs'),
|
'vendor-element-plus'
|
)
|
assert.equal(createManualChunks('/repo/node_modules/vue-router/dist/index.mjs'), 'vendor-vue')
|
assert.equal(createManualChunks('/repo/node_modules/pinia/dist/pinia.mjs'), 'vendor-vue')
|
assert.equal(createManualChunks('/repo/node_modules/@vueuse/core/index.mjs'), 'vendor-vue')
|
assert.equal(createManualChunks('/repo/node_modules/@iconify/vue/dist/index.mjs'), 'vendor-utils')
|
assert.equal(
|
createManualChunks('/repo/node_modules/file-saver/dist/FileSaver.min.js'),
|
'vendor-utils'
|
)
|
assert.equal(createManualChunks('/repo/node_modules/axios/index.js'), 'vendor-utils')
|
})
|
|
test('createManualChunks leaves application modules untouched', () => {
|
assert.equal(createManualChunks('/repo/src/views/dashboard/index.vue'), undefined)
|
assert.equal(createManualChunks('\u0000plugin-vue:export-helper'), undefined)
|
})
|