11jest . setTimeout ( 30000 )
22
3+ const fs = require ( 'fs-extra' )
4+ const path = require ( 'path' )
35const { defaultPreset } = require ( '@vue/cli/lib/options' )
46const create = require ( '@vue/cli-test-utils/createTestProject' )
57
68let project
79
10+ async function readVendorFile ( ) {
11+ const files = await fs . readdir ( path . join ( project . dir , 'dist/js' ) )
12+ const filename = files . find ( f => / c h u n k - v e n d o r s \. [ ^ . ] + \. j s $ / . test ( f ) )
13+ return project . read ( `dist/js/${ filename } ` )
14+ }
15+
816beforeAll ( async ( ) => {
917 project = await create ( 'babel-transpile-deps' , defaultPreset )
1018
@@ -31,7 +39,7 @@ beforeAll(async () => {
3139
3240 let $mainjs = await project . read ( 'src/main.js' )
3341
34- $mainjs = `import test from 'external-dep'\n${ $mainjs } \nconsole.log(test() )`
42+ $mainjs = `import test from 'external-dep'\n${ $mainjs } \ntest( )`
3543
3644 await project . write (
3745 'src/main.js' ,
@@ -40,28 +48,15 @@ beforeAll(async () => {
4048} )
4149
4250test ( 'dep from node_modules should not been transpiled' , async ( ) => {
43- const { stdout } = await project . run ( 'vue-cli-service build' )
44-
45- let $vendorjs = stdout . match ( / ( j s \/ c h u n k - v e n d o r s \. [ ^ . ] + \. j s ) / ) [ 1 ]
46-
47- $vendorjs = `dist/${ $vendorjs } `
48- $vendorjs = await project . read ( $vendorjs )
49-
50- expect ( $vendorjs ) . toMatch ( '() => "__TEST__"' )
51+ await project . run ( 'vue-cli-service build' )
52+ expect ( await readVendorFile ( ) ) . toMatch ( '() => "__TEST__"' )
5153} )
5254
5355test ( 'dep from node_modules should been transpiled' , async ( ) => {
5456 await project . write (
5557 'vue.config.js' ,
5658 `module.exports = { transpileDependencies: ['external-dep'] }`
5759 )
58-
59- const { stdout } = await project . run ( 'vue-cli-service build' )
60-
61- let $vendorjs = stdout . match ( / ( j s \/ c h u n k - v e n d o r s \. [ ^ . ] + \. j s ) / ) [ 1 ]
62-
63- $vendorjs = `dist/${ $vendorjs } `
64- $vendorjs = await project . read ( $vendorjs )
65-
66- expect ( $vendorjs ) . toMatch ( 'return "__TEST__"' )
60+ await project . run ( 'vue-cli-service build' )
61+ expect ( await readVendorFile ( ) ) . toMatch ( 'return "__TEST__"' )
6762} )
0 commit comments