A [live version](https://vue-next-template-explorer.netlify.com) of the template explorer is also available, which can be used for providing reproductions for compiler bugs. You can also pick the deployment for a specific commit from the [deploy logs](https://app.netlify.com/sites/vue-next-template-explorer/deploys).
-- `shared`: **Private.** Utilities shared across multiple packages (especially by both runtime and compiler packages). This package is private and not published. Instead, it is **inlined** into the package that imports it during build.
-
- - **Note:** if re-exporting a function from `@vue/shared` as a public API, it is necessary to re-define its type before exporting so that the final `d.ts` doesn't attempt to import `@vue/shared`, e.g.:
-
- ```ts
- import { foo } from '@vue/shared'
- export const publicFoo = foo as {
- /* re-define type */
- }
- ```
+- `shared`: Internal utilities shared across multiple packages (especially environment-agnostic utils used by both runtime and compiler packages).
- `vue`: The public facing "full build" which includes both the runtime AND the compiler.
"size": "node scripts/build.js vue runtime-dom size-check -p -f global",
"lint": "prettier --write --parser typescript \"packages/**/*.ts?(x)\"",
"test": "node scripts/build.js vue -f global -d && jest",
- "test-dts": "node scripts/build.js reactivity runtime-core runtime-dom -dt -f esm-bundler && tsd",
+ "test-dts": "node scripts/build.js shared reactivity runtime-core runtime-dom -dt -f esm-bundler && tsd",
"release": "node scripts/release.js",
"changelog": "conventional-changelog -p angular -i CHANGELOG.md -s",
"dev-compiler": "npm-run-all --parallel \"dev template-explorer\" serve",
},
"repository": {
"type": "git",
- "url": "git+https://github.com/vuejs/vue.git"
+ "url": "git+https://github.com/vuejs/vue-next.git"
},
"keywords": [
"vue"
"author": "Evan You",
"license": "MIT",
"bugs": {
- "url": "https://github.com/vuejs/vue/issues"
+ "url": "https://github.com/vuejs/vue-next/issues"
},
- "homepage": "https://github.com/vuejs/vue/tree/dev/packages/compiler-core#readme",
+ "homepage": "https://github.com/vuejs/vue-next/tree/master/packages/compiler-core#readme",
"dependencies": {
+ "@vue/shared": "3.0.0-alpha.7",
"@babel/parser": "^7.8.6",
"@babel/types": "^7.8.6",
"estree-walker": "^0.8.1",
} from './transforms/vSlot'
export { resolveComponentType, buildProps } from './transforms/transformElement'
export { processSlotOutlet } from './transforms/transformSlotOutlet'
-
-// utility, but need to rewrite typing to avoid dts relying on @vue/shared
-import { generateCodeFrame as _genCodeFrame } from '@vue/shared'
-const generateCodeFrame = _genCodeFrame as (
- source: string,
- start?: number,
- end?: number
-) => string
-export { generateCodeFrame }
+export { generateCodeFrame } from '@vue/shared'
},
"repository": {
"type": "git",
- "url": "git+https://github.com/vuejs/vue.git"
+ "url": "git+https://github.com/vuejs/vue-next.git"
},
"keywords": [
"vue"
"author": "Evan You",
"license": "MIT",
"bugs": {
- "url": "https://github.com/vuejs/vue/issues"
+ "url": "https://github.com/vuejs/vue-next/issues"
},
- "homepage": "https://github.com/vuejs/vue/tree/dev/packages/compiler-dom#readme",
+ "homepage": "https://github.com/vuejs/vue-next/tree/master/packages/compiler-dom#readme",
"dependencies": {
+ "@vue/shared": "3.0.0-alpha.7",
"@vue/compiler-core": "3.0.0-alpha.7"
}
}
},
"repository": {
"type": "git",
- "url": "git+https://github.com/vuejs/vue.git"
+ "url": "git+https://github.com/vuejs/vue-next.git"
},
"keywords": [
"vue"
"author": "Evan You",
"license": "MIT",
"bugs": {
- "url": "https://github.com/vuejs/vue/issues"
+ "url": "https://github.com/vuejs/vue-next/issues"
},
- "homepage": "https://github.com/vuejs/vue/tree/dev/packages/compiler-sfc#readme",
+ "homepage": "https://github.com/vuejs/vue-next/tree/master/packages/compiler-sfc#readme",
"peerDependencies": {
"vue": "3.0.0-alpha.7"
},
"dependencies": {
+ "@vue/shared": "3.0.0-alpha.7",
"@vue/compiler-core": "3.0.0-alpha.7",
"@vue/compiler-dom": "3.0.0-alpha.7",
"consolidate": "^0.15.1",
},
"repository": {
"type": "git",
- "url": "git+https://github.com/vuejs/vue.git"
+ "url": "git+https://github.com/vuejs/vue-next.git"
},
"keywords": [
"vue"
"author": "Evan You",
"license": "MIT",
"bugs": {
- "url": "https://github.com/vuejs/vue/issues"
+ "url": "https://github.com/vuejs/vue-next/issues"
},
- "homepage": "https://github.com/vuejs/vue/tree/dev/packages/compiler-ssr#readme",
+ "homepage": "https://github.com/vuejs/vue-next/tree/master/packages/compiler-ssr#readme",
"dependencies": {
+ "@vue/shared": "3.0.0-alpha.7",
"@vue/compiler-dom": "3.0.0-alpha.7"
}
}
"sideEffects": false,
"repository": {
"type": "git",
- "url": "git+https://github.com/vuejs/vue.git"
+ "url": "git+https://github.com/vuejs/vue-next.git"
},
"buildOptions": {
"name": "VueReactivity",
"author": "Evan You",
"license": "MIT",
"bugs": {
- "url": "https://github.com/vuejs/vue/issues"
+ "url": "https://github.com/vuejs/vue-next/issues"
},
- "homepage": "https://github.com/vuejs/vue/tree/dev/packages/reactivity#readme"
+ "homepage": "https://github.com/vuejs/vue-next/tree/master/packages/reactivity#readme",
+ "dependencies": {
+ "@vue/shared": "3.0.0-alpha.7"
+ }
}
"sideEffects": false,
"repository": {
"type": "git",
- "url": "git+https://github.com/vuejs/vue.git"
+ "url": "git+https://github.com/vuejs/vue-next.git"
},
"keywords": [
"vue"
"author": "Evan You",
"license": "MIT",
"bugs": {
- "url": "https://github.com/vuejs/vue/issues"
+ "url": "https://github.com/vuejs/vue-next/issues"
},
- "homepage": "https://github.com/vuejs/vue/tree/dev/packages/runtime-core#readme",
+ "homepage": "https://github.com/vuejs/vue-next/tree/master/packages/runtime-core#readme",
"dependencies": {
+ "@vue/shared": "3.0.0-alpha.7",
"@vue/reactivity": "3.0.0-alpha.7"
}
}
createCommentVNode,
createStaticVNode
} from './vnode'
-// Since @vue/shared is inlined into final builds,
-// when re-exporting from @vue/shared we need to avoid relying on their original
-// types so that the bundled d.ts does not attempt to import from it.
-import {
- toDisplayString as _toDisplayString,
- camelize as _camelize
-} from '@vue/shared'
-export const toDisplayString = _toDisplayString as (s: unknown) => string
-export const camelize = _camelize as (s: string) => string
+export { toDisplayString, camelize } from '@vue/shared'
// For integration with runtime compiler
export { registerRuntimeCompiler } from './component'
},
"repository": {
"type": "git",
- "url": "git+https://github.com/vuejs/vue.git"
+ "url": "git+https://github.com/vuejs/vue-next.git"
},
"keywords": [
"vue"
"author": "Evan You",
"license": "MIT",
"bugs": {
- "url": "https://github.com/vuejs/vue/issues"
+ "url": "https://github.com/vuejs/vue-next/issues"
},
- "homepage": "https://github.com/vuejs/vue/tree/dev/packages/runtime-dom#readme",
+ "homepage": "https://github.com/vuejs/vue-next/tree/master/packages/runtime-dom#readme",
"dependencies": {
+ "@vue/shared": "3.0.0-alpha.7",
"@vue/runtime-core": "3.0.0-alpha.7",
"csstype": "^2.6.8"
}
],
"repository": {
"type": "git",
- "url": "git+https://github.com/vuejs/vue.git"
+ "url": "git+https://github.com/vuejs/vue-next.git"
},
"buildOptions": {
"name": "VueRuntimeTest",
"author": "Evan You",
"license": "MIT",
"bugs": {
- "url": "https://github.com/vuejs/vue/issues"
+ "url": "https://github.com/vuejs/vue-next/issues"
},
- "homepage": "https://github.com/vuejs/vue/tree/dev/packages/runtime-test#readme",
+ "homepage": "https://github.com/vuejs/vue-next/tree/master/packages/runtime-test#readme",
"dependencies": {
+ "@vue/shared": "3.0.0-alpha.7",
"@vue/runtime-core": "3.0.0-alpha.7"
}
}
},
"repository": {
"type": "git",
- "url": "git+https://github.com/vuejs/vue.git"
+ "url": "git+https://github.com/vuejs/vue-next.git"
},
"keywords": [
"vue"
"author": "Evan You",
"license": "MIT",
"bugs": {
- "url": "https://github.com/vuejs/vue/issues"
+ "url": "https://github.com/vuejs/vue-next/issues"
},
- "homepage": "https://github.com/vuejs/vue/tree/dev/packages/server-renderer#readme",
+ "homepage": "https://github.com/vuejs/vue-next/tree/master/packages/server-renderer#readme",
"peerDependencies": {
"vue": "3.0.0-alpha.7"
},
"dependencies": {
+ "@vue/shared": "3.0.0-alpha.7",
"@vue/compiler-ssr": "3.0.0-alpha.7"
}
}
--- /dev/null
+{
+ "extends": "../../api-extractor.json",
+ "mainEntryPointFilePath": "./dist/packages/<unscopedPackageName>/src/index.d.ts",
+ "dtsRollup": {
+ "untrimmedFilePath": "./dist/<unscopedPackageName>.d.ts"
+ }
+}
--- /dev/null
+'use strict'
+
+if (process.env.NODE_ENV === 'production') {
+ module.exports = require('./dist/shared.cjs.prod.js')
+} else {
+ module.exports = require('./dist/shared.cjs.js')
+}
{
"name": "@vue/shared",
"version": "3.0.0-alpha.7",
- "private": true
+ "description": "internal utils shared across @vue packages",
+ "main": "index.js",
+ "module": "dist/shared.esm-bundler.js",
+ "types": "dist/shared.d.ts",
+ "files": [
+ "index.js",
+ "dist"
+ ],
+ "buildOptions": {
+ "formats": [
+ "esm-bundler",
+ "cjs"
+ ]
+ },
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/vuejs/vue-next.git"
+ },
+ "keywords": [
+ "vue"
+ ],
+ "author": "Evan You",
+ "license": "MIT",
+ "bugs": {
+ "url": "https://github.com/vuejs/vue-next/issues"
+ },
+ "homepage": "https://github.com/vuejs/vue-next/tree/master/packages/shared#readme"
}
},
"repository": {
"type": "git",
- "url": "git+https://github.com/vuejs/vue.git"
+ "url": "git+https://github.com/vuejs/vue-next.git"
},
"keywords": [
"vue"
"author": "Evan You",
"license": "MIT",
"bugs": {
- "url": "https://github.com/vuejs/vue/issues"
+ "url": "https://github.com/vuejs/vue-next/issues"
},
- "homepage": "https://github.com/vuejs/vue/tree/dev/packages/vue#readme",
+ "homepage": "https://github.com/vuejs/vue-next/tree/master/packages/vue#readme",
"dependencies": {
+ "@vue/shared": "3.0.0-alpha.7",
"@vue/compiler-dom": "3.0.0-alpha.7",
"@vue/runtime-dom": "3.0.0-alpha.7"
},
-import fs from 'fs'
import path from 'path'
import ts from 'rollup-plugin-typescript2'
import replace from '@rollup/plugin-replace'
const pkg = require(resolve(`package.json`))
const packageOptions = pkg.buildOptions || {}
-const knownExternals = fs.readdirSync(packagesDir).filter(p => {
- return p !== '@vue/shared'
-})
-
// ensure TS checks only once for each build
let hasTSChecked = false
format === 'esm-bundler-runtime' ? `src/runtime.ts` : `src/index.ts`
const external =
- isGlobalBuild || isRawESMBuild
- ? []
- : knownExternals.concat(Object.keys(pkg.dependencies || []))
+ isGlobalBuild || isRawESMBuild ? [] : Object.keys(pkg.dependencies || {})
const nodePlugins = packageOptions.enableNonBrowserBranches
? [