FranckFreiburger / vue3-sfc-loader

Single File Component loader for Vue2 and Vue3. Load .vue files directly from your HTML. No node.js environment, no build step.
MIT License
1.03k stars 116 forks source link

wip(build): use parallel build for vue2/vue3 #27

Closed Toilal closed 3 years ago

Toilal commented 3 years ago

I would be better, but it makes the TerserPlugin fail for some reason at the moment :(

ERROR in vue3-sfc-loader.js from Terser
Unexpected token: keyword (var) [vue3-sfc-loader.js:18,16]
    at js_error (/home/toilal/projects/vue-sfc-loader/node_modules/terser/dist/bundle.min.js:548:11)
    at croak (/home/toilal/projects/vue-sfc-loader/node_modules/terser/dist/bundle.min.js:1272:9)
    at token_error (/home/toilal/projects/vue-sfc-loader/node_modules/terser/dist/bundle.min.js:1280:9)
    at unexpected (/home/toilal/projects/vue-sfc-loader/node_modules/terser/dist/bundle.min.js:1286:9)
    at expr_atom (/home/toilal/projects/vue-sfc-loader/node_modules/terser/dist/bundle.min.js:2523:9)
    at maybe_unary (/home/toilal/projects/vue-sfc-loader/node_modules/terser/dist/bundle.min.js:3299:19)
    at expr_ops (/home/toilal/projects/vue-sfc-loader/node_modules/terser/dist/bundle.min.js:3350:24)
    at maybe_conditional (/home/toilal/projects/vue-sfc-loader/node_modules/terser/dist/bundle.min.js:3355:20)
    at maybe_assign (/home/toilal/projects/vue-sfc-loader/node_modules/terser/dist/bundle.min.js:3432:20)
    at expression (/home/toilal/projects/vue-sfc-loader/node_modules/terser/dist/bundle.min.js:3457:24)
Toilal commented 3 years ago

It works now.

FranckFreiburger commented 3 years ago

super! Cependant ce serait peut-être bien de pouvoir compiler de manière selective (env vueVersion), et de tout compiler par défaut.

Toilal commented 3 years ago

J'ai ajouté name dans les configurations, ce qui permet de selectionner le build avec --config-name vue2 et --config-name vue3.

FranckFreiburger commented 3 years ago

Sans --config-name ça fonction nickel, mais avec, ça passe pas :

yarn run build --config-name vue3

$ cross-env-shell webpack --mode=production --config ./build/webpack.config.js --progress --env targetsBrowsers=\"$npm_package_browserslist\" --config-name vue3
config {
  targetsBrowsers: '> 1%, last 2 versions, Firefox ESR, not dead, not ie 11',
  noPresetEnv: false,
  noCompress: false,
  genSourcemap: false,
  vueVersion: '2'
}
vue3:
  assets by status 0 bytes [cached] 1 asset

  ERROR in main
  Module not found: Error: Can't resolve './src' in 'C:\work\ext\vue3-sfc-loader'
  resolve './src' in 'C:\work\ext\vue3-sfc-loader'