]> git.ipfire.org Git - thirdparty/vuejs/core.git/commitdiff
refactor(compiler-vapor): drop browser build
author三咲智子 Kevin Deng <sxzz@sxzz.moe>
Wed, 13 Nov 2024 00:21:16 +0000 (08:21 +0800)
committer三咲智子 Kevin Deng <sxzz@sxzz.moe>
Wed, 13 Nov 2024 00:38:38 +0000 (08:38 +0800)
package.json
packages/compiler-vapor/index.js [deleted file]
packages/compiler-vapor/package.json
packages/compiler-vapor/src/compile.ts
packages/compiler-vapor/src/errors.ts
packages/compiler-vapor/src/generators/expression.ts
packages/compiler-vapor/src/generators/utils.ts
packages/compiler-vapor/src/transforms/transformElement.ts
packages/compiler-vapor/src/transforms/vBind.ts
packages/compiler-vapor/src/transforms/vModel.ts
packages/compiler-vapor/src/utils.ts

index 9487fbdbd036e417e1c472670601deec22baa79e..d392d187e873afe54e7737490b59914af5ebc7fc 100644 (file)
@@ -9,7 +9,7 @@
     "build-dts": "tsc -p tsconfig.build.json --noCheck && rollup -c rollup.dts.config.js",
     "clean": "rimraf --glob packages/*/dist temp .eslintcache",
     "size": "run-s \"size-*\" && node scripts/usage-size.js",
-    "size-global": "node scripts/build.js vue vue-vapor runtime-dom runtime-vapor compiler-dom compiler-vapor -f global -p --size",
+    "size-global": "node scripts/build.js vue vue-vapor runtime-dom runtime-vapor compiler-dom -f global -p --size",
     "size-esm-runtime": "node scripts/build.js vue vue-vapor -f esm-bundler-runtime",
     "size-esm": "node scripts/build.js runtime-shared runtime-dom runtime-vapor runtime-core reactivity shared -f esm-bundler",
     "check": "tsc --incremental --noEmit",
diff --git a/packages/compiler-vapor/index.js b/packages/compiler-vapor/index.js
deleted file mode 100644 (file)
index 0838606..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-'use strict'
-
-if (process.env.NODE_ENV === 'production') {
-  module.exports = require('./dist/compiler-vapor.cjs.prod.js')
-} else {
-  module.exports = require('./dist/compiler-vapor.cjs.js')
-}
index 4c9270e178163cda3a50f8d550cda3d262acd724..d46a1ab7ef512071a9710a6ec0e07344dea1c0fd 100644 (file)
@@ -5,22 +5,28 @@
   "main": "index.js",
   "module": "dist/compiler-vapor.esm-bundler.js",
   "types": "dist/compiler-vapor.d.ts",
-  "unpkg": "dist/compiler-vapor.global.js",
-  "jsdelivr": "dist/compiler-vapor.global.js",
   "files": [
-    "index.js",
     "dist"
   ],
   "sideEffects": false,
+  "exports": {
+    ".": {
+      "types": "./dist/compiler-vapor.d.ts",
+      "node": "./dist/compiler-vapor.cjs.js",
+      "module": "./dist/compiler-vapor.esm-browser.js",
+      "import": "./dist/compiler-vapor.esm-browser.js",
+      "require": "./dist/compiler-vapor.cjs.js"
+    },
+    "./*": "./*"
+  },
   "buildOptions": {
     "name": "VueCompilerVapor",
-    "compat": true,
     "formats": [
-      "esm-bundler",
-      "esm-browser",
       "cjs",
-      "global"
-    ]
+      "esm-browser"
+    ],
+    "prod": false,
+    "enableNonBrowserBranches": true
   },
   "repository": {
     "type": "git",
index f35a0607364c857f3052fbcbaa86cbc935512c8d..bc51e5c2c326cb50a51506982f7f725cb72cd390 100644 (file)
@@ -40,17 +40,7 @@ export function compile(
 ): VaporCodegenResult {
   const onError = options.onError || defaultOnError
   const isModuleMode = options.mode === 'module'
-  /* istanbul ignore if */
-  if (__BROWSER__) {
-    if (options.prefixIdentifiers === true) {
-      onError(createCompilerError(ErrorCodes.X_PREFIX_ID_NOT_SUPPORTED))
-    } else if (isModuleMode) {
-      onError(createCompilerError(ErrorCodes.X_MODULE_MODE_NOT_SUPPORTED))
-    }
-  }
-
-  const prefixIdentifiers =
-    !__BROWSER__ && (options.prefixIdentifiers === true || isModuleMode)
+  const prefixIdentifiers = options.prefixIdentifiers === true || isModuleMode
 
   if (options.scopeId && !isModuleMode) {
     onError(createCompilerError(ErrorCodes.X_SCOPE_ID_NOT_SUPPORTED))
@@ -63,7 +53,7 @@ export function compile(
   const [nodeTransforms, directiveTransforms] =
     getBaseTransformPreset(prefixIdentifiers)
 
-  if (!__BROWSER__ && options.isTS) {
+  if (options.isTS) {
     const { expressionPlugins } = options
     if (!expressionPlugins || !expressionPlugins.includes('typescript')) {
       resolvedOptions.expressionPlugins = [
index b1b1ad7ac3d4c12f4a2b63cd4c4fa6c6cb5d5134..3ccd32cba7ce7c157ab3d73873ff40ff24740a76 100644 (file)
@@ -15,7 +15,7 @@ export function createVaporCompilerError(
   return createCompilerError(
     code,
     loc,
-    __DEV__ || !__BROWSER__ ? VaporErrorMessages : undefined,
+    VaporErrorMessages,
   ) as VaporCompilerError
 }
 
index 4b5701246ee06eda414e5afbf322d6e37a3b5c65..7b298ef0fb74a5ac2d443b7c419713480e27b022 100644 (file)
@@ -28,7 +28,6 @@ export function genExpression(
   }
 
   if (
-    __BROWSER__ ||
     !prefixIdentifiers ||
     !node.content.trim() ||
     // there was a parsing error
index 579d507e86a0c6e3f9270817921aa8dc7a9543a6..9f3b8ad2ecbee46ea5c55e1a4f2331e61d754156 100644 (file)
@@ -102,7 +102,7 @@ export function codeFragmentToString(
   } = context
 
   let map: CodegenSourceMapGenerator | undefined
-  if (!__BROWSER__ && sourceMap) {
+  if (sourceMap) {
     // lazy require source-map implementation, only in non-browser builds
     map = new SourceMapGenerator() as unknown as CodegenSourceMapGenerator
     map.setSourceContent(filename, context.ir.source)
@@ -136,7 +136,7 @@ export function codeFragmentToString(
     let [code, newlineIndex = NewlineType.None, loc, name] = frag
     codegen += code
 
-    if (!__BROWSER__ && map) {
+    if (map) {
       if (loc) addMapping(loc.start, name)
       if (newlineIndex === NewlineType.Unknown) {
         // multiple newlines, full iteration
index 05bcb12dfe01eab34fca39f7def5e2d5751d5f69..7ccb64004cd0bf8e5d78c8f9126b92692d9d1aed 100644 (file)
@@ -74,21 +74,21 @@ function transformComponentElement(
 ) {
   let asset = true
 
-  if (!__BROWSER__) {
-    const fromSetup = resolveSetupReference(tag, context)
-    if (fromSetup) {
-      tag = fromSetup
+  const fromSetup = resolveSetupReference(tag, context)
+  if (fromSetup) {
+    tag = fromSetup
+    asset = false
+  }
+
+  const dotIndex = tag.indexOf('.')
+  if (dotIndex > 0) {
+    const ns = resolveSetupReference(tag.slice(0, dotIndex), context)
+    if (ns) {
+      tag = ns + tag.slice(dotIndex)
       asset = false
     }
-    const dotIndex = tag.indexOf('.')
-    if (dotIndex > 0) {
-      const ns = resolveSetupReference(tag.slice(0, dotIndex), context)
-      if (ns) {
-        tag = ns + tag.slice(dotIndex)
-        asset = false
-      }
-    }
   }
+
   if (asset) {
     context.component.add(tag)
   }
@@ -304,8 +304,7 @@ function transformProp(
   }
 
   if (!isBuiltInDirective(name)) {
-    const fromSetup =
-      !__BROWSER__ && resolveSetupReference(`v-${name}`, context)
+    const fromSetup = resolveSetupReference(`v-${name}`, context)
     if (fromSetup) {
       name = fromSetup
     } else {
index 02a41015b0df444606827b20d11e0cc7d4184ebf..dc56eb34b4e1466cddbf313bc2dfc7c94e2d20ee 100644 (file)
@@ -40,14 +40,9 @@ export const transformVBind: DirectiveTransform = (dir, node, context) => {
 
   if (!exp) exp = normalizeBindShorthand(arg, context)
   if (!exp.content.trim()) {
-    if (!__BROWSER__) {
-      // #10280 only error against empty expression in non-browser build
-      // because :foo in in-DOM templates will be parsed into :foo="" by the
-      // browser
-      context.options.onError(
-        createCompilerError(ErrorCodes.X_V_BIND_NO_EXPRESSION, loc),
-      )
-    }
+    context.options.onError(
+      createCompilerError(ErrorCodes.X_V_BIND_NO_EXPRESSION, loc),
+    )
     exp = createSimpleExpression('', true, loc)
   }
 
index e3bbe6e1c50cffaedf0076105525faa7c56b971a..0be18bf1aeb2f2bb2d068e6236ed448854849f50 100644 (file)
@@ -46,7 +46,6 @@ export const transformVModel: DirectiveTransform = (dir, node, context) => {
 
   const expString = exp.content
   const maybeRef =
-    !__BROWSER__ &&
     context.options.inline &&
     (bindingType === BindingTypes.SETUP_LET ||
       bindingType === BindingTypes.SETUP_REF ||
index b6310d4e9e4df6f016a5513f3003bf12e898ef39..a304e6a4a633352fee9730bfb8537c6b4a4b9b85 100644 (file)
@@ -60,7 +60,7 @@ export function resolveExpression(
 export function getLiteralExpressionValue(
   exp: SimpleExpressionNode,
 ): number | string | boolean | null {
-  if (!__BROWSER__ && exp.ast) {
+  if (exp.ast) {
     if (
       ['StringLiteral', 'NumericLiteral', 'BigIntLiteral'].includes(
         exp.ast.type,