From 644abc7bada728df30a7df688d33c4814ede31fe Mon Sep 17 00:00:00 2001 From: Niklas Mischkulnig Date: Mon, 25 Feb 2019 19:38:44 +0100 Subject: [PATCH] For scope hoisting, Asset IDs cannot contain + or / (base64) (#2681) --- packages/core/parcel-bundler/src/assets/VueAsset.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/packages/core/parcel-bundler/src/assets/VueAsset.js b/packages/core/parcel-bundler/src/assets/VueAsset.js index 2214c08bc7d..ce9bb946794 100644 --- a/packages/core/parcel-bundler/src/assets/VueAsset.js +++ b/packages/core/parcel-bundler/src/assets/VueAsset.js @@ -2,6 +2,7 @@ const Asset = require('../Asset'); const localRequire = require('../utils/localRequire'); const md5 = require('../utils/md5'); const {minify} = require('terser'); +const t = require('@babel/types'); class VueAsset extends Asset { constructor(name, options) { @@ -72,10 +73,10 @@ class VueAsset extends Asset { // TODO: make it possible to process this code with the normal scope hoister if (this.options.scopeHoist) { - optsVar = `$${this.id}$export$default`; + optsVar = `$${t.toIdentifier(this.id)}$export$default`; if (!js.includes(optsVar)) { - optsVar = `$${this.id}$exports`; + optsVar = `$${t.toIdentifier(this.id)}$exports`; if (!js.includes(optsVar)) { supplemental += ` var ${optsVar} = {};