import { describe, expect, it } from 'vitest' import { vendorChunk } from './vendorChunks' describe('vendorChunk', () => { it.each([ ['/app/node_modules/prosemirror-state/dist/index.js', 'prosemirror'], ['/app/node_modules/prosemirror-view/dist/index.js', 'prosemirror'], ['/app/node_modules/@tiptap/core/dist/index.js', 'tiptap'], ['/app/node_modules/markdown-it/index.mjs', 'markdown'], ['/app/node_modules/vue/dist/vue.runtime.esm-bundler.js', 'vue'], ['/app/node_modules/@vue/runtime-core/dist/runtime-core.esm-bundler.js', 'vue'], ['/app/node_modules/vue-router/dist/vue-router.mjs', 'vue'], ['/app/node_modules/pinia/dist/pinia.mjs', 'vue'], ['/app/node_modules/reka-ui/dist/index.js', 'reka'], ['/app/node_modules/@vueuse/core/index.mjs', 'ui-utils'], ['/app/node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs', 'ui-utils'], ['C:\\app\\node_modules\\@tiptap\\core\\dist\\index.js', 'tiptap'], ])('puts %s in the %s chunk', (id, chunk) => { expect(vendorChunk(id)).toBe(chunk) }) it('leaves application code and unknown packages to the default splitting', () => { expect(vendorChunk('/app/src/views/EditorView.vue')).toBeUndefined() expect(vendorChunk('/app/node_modules/some-lib/index.js')).toBeUndefined() expect( vendorChunk('/app/node_modules/@nuxt/ui/dist/runtime/components/Button.vue'), ).toBeUndefined() }) it('does not match packages that merely start with a group name', () => { expect(vendorChunk('/app/node_modules/vue-demi/lib/index.mjs')).toBeUndefined() }) })