vue
Advanced tools
Comparing version 2.7.14 to 3.0.0
141
package.json
{ | ||
"name": "vue", | ||
"version": "2.7.14", | ||
"packageManager": "pnpm@7.1.0", | ||
"description": "Reactive, component-oriented view layer for modern web interfaces.", | ||
"main": "dist/vue.runtime.common.js", | ||
"module": "dist/vue.runtime.esm.js", | ||
"unpkg": "dist/vue.js", | ||
"jsdelivr": "dist/vue.js", | ||
"typings": "types/index.d.ts", | ||
"version": "3.0.0", | ||
"description": "vue", | ||
"main": "index.js", | ||
"module": "dist/vue.runtime.esm-bundler.js", | ||
"types": "dist/vue.d.ts", | ||
"unpkg": "dist/vue.global.js", | ||
"jsdelivr": "dist/vue.global.js", | ||
"files": [ | ||
"src", | ||
"dist/*.js", | ||
"dist/*.mjs", | ||
"types/*.d.ts", | ||
"compiler-sfc", | ||
"packages/compiler-sfc" | ||
"index.js", | ||
"dist" | ||
], | ||
"exports": { | ||
".": { | ||
"import": { | ||
"node": "./dist/vue.runtime.mjs", | ||
"default": "./dist/vue.runtime.esm.js" | ||
}, | ||
"require": "./dist/vue.runtime.common.js", | ||
"types": "./types/index.d.ts" | ||
}, | ||
"./compiler-sfc": { | ||
"import": "./compiler-sfc/index.mjs", | ||
"require": "./compiler-sfc/index.js" | ||
}, | ||
"./dist/*": "./dist/*", | ||
"./types/*": "./types/*", | ||
"./package.json": "./package.json" | ||
}, | ||
"sideEffects": false, | ||
"gitHooks": { | ||
"pre-commit": "lint-staged", | ||
"commit-msg": "node scripts/verify-commit-msg.js" | ||
}, | ||
"lint-staged": { | ||
"*.js": [ | ||
"prettier --write" | ||
], | ||
"*.ts": [ | ||
"prettier --parser=typescript --write" | ||
"buildOptions": { | ||
"name": "Vue", | ||
"formats": [ | ||
"esm-bundler", | ||
"esm-bundler-runtime", | ||
"cjs", | ||
"global", | ||
"global-runtime", | ||
"esm-browser", | ||
"esm-browser-runtime" | ||
] | ||
@@ -51,3 +28,3 @@ }, | ||
"type": "git", | ||
"url": "git+https://github.com/vuejs/vue.git" | ||
"url": "git+https://github.com/vuejs/vue-next.git" | ||
}, | ||
@@ -60,75 +37,15 @@ "keywords": [ | ||
"bugs": { | ||
"url": "https://github.com/vuejs/vue/issues" | ||
"url": "https://github.com/vuejs/vue-next/issues" | ||
}, | ||
"homepage": "https://github.com/vuejs/vue#readme", | ||
"homepage": "https://github.com/vuejs/vue-next/tree/master/packages/vue#readme", | ||
"dependencies": { | ||
"@vue/compiler-sfc": "2.7.14", | ||
"csstype": "^3.1.0" | ||
"@vue/shared": "3.0.0", | ||
"@vue/compiler-dom": "3.0.0", | ||
"@vue/runtime-dom": "3.0.0" | ||
}, | ||
"devDependencies": { | ||
"@babel/parser": "^7.18.4", | ||
"@microsoft/api-extractor": "^7.25.0", | ||
"@rollup/plugin-alias": "^3.1.9", | ||
"@rollup/plugin-commonjs": "^22.0.0", | ||
"@rollup/plugin-node-resolve": "^13.3.0", | ||
"@rollup/plugin-replace": "^4.0.0", | ||
"@types/he": "^1.1.2", | ||
"@types/node": "^17.0.41", | ||
"chalk": "^4.1.2", | ||
"conventional-changelog-cli": "^2.2.2", | ||
"cross-spawn": "^7.0.3", | ||
"enquirer": "^2.3.6", | ||
"esbuild": "^0.14.43", | ||
"execa": "^4.1.0", | ||
"he": "^1.2.0", | ||
"jasmine-core": "^4.2.0", | ||
"jsdom": "^19.0.0", | ||
"karma": "^6.3.20", | ||
"karma-chrome-launcher": "^3.1.1", | ||
"karma-cli": "^2.0.0", | ||
"karma-esbuild": "^2.2.4", | ||
"karma-jasmine": "^5.0.1", | ||
"lint-staged": "^12.5.0", | ||
"lodash": "^4.17.21", | ||
"marked": "^4.0.16", | ||
"minimist": "^1.2.6", | ||
"postcss": "^8.4.14", | ||
"prettier": "^2.6.2", | ||
"puppeteer": "^14.3.0", | ||
"rimraf": "^3.0.2", | ||
"rollup": "^2.79.1", | ||
"rollup-plugin-typescript2": "^0.32.0", | ||
"semver": "^7.3.7", | ||
"shelljs": "^0.8.5", | ||
"terser": "^5.14.0", | ||
"todomvc-app-css": "^2.4.2", | ||
"ts-node": "^10.8.1", | ||
"tslib": "^2.4.0", | ||
"typescript": "^4.8.4", | ||
"vitest": "^0.12.10", | ||
"yorkie": "^2.0.0" | ||
}, | ||
"scripts": { | ||
"dev": "rollup -w -c scripts/config.js --environment TARGET:full-dev", | ||
"dev:cjs": "rollup -w -c scripts/config.js --environment TARGET:runtime-cjs-dev", | ||
"dev:esm": "rollup -w -c scripts/config.js --environment TARGET:runtime-esm", | ||
"dev:ssr": "rollup -w -c scripts/config.js --environment TARGET:server-renderer", | ||
"dev:compiler": "rollup -w -c scripts/config.js --environment TARGET:compiler ", | ||
"build": "node scripts/build.js", | ||
"build:ssr": "npm run build -- runtime-cjs,server-renderer", | ||
"build:types": "rimraf temp && tsc --declaration --emitDeclarationOnly --outDir temp && api-extractor run && api-extractor run -c packages/compiler-sfc/api-extractor.json", | ||
"test": "npm run ts-check && npm run test:types && npm run test:unit && npm run test:e2e && npm run test:ssr && npm run test:sfc", | ||
"test:unit": "vitest run test/unit", | ||
"test:ssr": "npm run build:ssr && vitest run server-renderer", | ||
"test:sfc": "vitest run compiler-sfc", | ||
"test:e2e": "npm run build -- full-prod,server-renderer-basic && vitest run test/e2e", | ||
"test:transition": "karma start test/transition/karma.conf.js", | ||
"test:types": "npm run build:types && tsc -p ./types/tsconfig.json", | ||
"format": "prettier --write --parser typescript \"(src|test|packages|types)/**/*.ts\"", | ||
"ts-check": "tsc -p tsconfig.json --noEmit", | ||
"ts-check:test": "tsc -p test/tsconfig.json --noEmit", | ||
"bench:ssr": "npm run build:ssr && node benchmarks/ssr/renderToString.js && node benchmarks/ssr/renderToStream.js", | ||
"release": "node scripts/release.js", | ||
"changelog": "conventional-changelog -p angular -i CHANGELOG.md -s" | ||
"lodash": "^4.17.15", | ||
"marked": "^0.7.0", | ||
"todomvc-app-css": "^2.3.0" | ||
} | ||
} | ||
} |
142
README.md
@@ -1,118 +0,54 @@ | ||
<p align="center"><a href="https://vuejs.org" target="_blank" rel="noopener noreferrer"><img width="100" src="https://vuejs.org/images/logo.png" alt="Vue logo"></a></p> | ||
# vue | ||
<p align="center"> | ||
<a href="https://circleci.com/gh/vuejs/vue/tree/dev"><img src="https://img.shields.io/circleci/project/github/vuejs/vue/dev.svg?sanitize=true" alt="Build Status"></a> | ||
<a href="https://codecov.io/github/vuejs/vue?branch=dev"><img src="https://img.shields.io/codecov/c/github/vuejs/vue/dev.svg?sanitize=true" alt="Coverage Status"></a> | ||
<a href="https://npmcharts.com/compare/vue?minimal=true"><img src="https://img.shields.io/npm/dm/vue.svg?sanitize=true" alt="Downloads"></a> | ||
<a href="https://www.npmjs.com/package/vue"><img src="https://img.shields.io/npm/v/vue.svg?sanitize=true" alt="Version"></a> | ||
<a href="https://www.npmjs.com/package/vue"><img src="https://img.shields.io/npm/l/vue.svg?sanitize=true" alt="License"></a> | ||
<a href="https://chat.vuejs.org/"><img src="https://img.shields.io/badge/chat-on%20discord-7289da.svg?sanitize=true" alt="Chat"></a> | ||
</p> | ||
## Which dist file to use? | ||
## This repo is for Vue 2 | ||
### From CDN or without a Bundler | ||
You are looking at the repository for Vue 2. The repo for Vue 3 is [vuejs/core](https://github.com/vuejs/core). | ||
- **`vue(.runtime).global(.prod).js`**: | ||
- For direct use via `<script src="...">` in the browser. Exposes the `Vue` global. | ||
- Note that global builds are not [UMD](https://github.com/umdjs/umd) builds. They are built as [IIFEs](https://developer.mozilla.org/en-US/docs/Glossary/IIFE) and is only meant for direct use via `<script src="...">`. | ||
- In-browser template compilation: | ||
- **`vue.global.js`** is the "full" build that includes both the compiler and the runtime so it supports compiling templates on the fly. | ||
- **`vue.runtime.global.js`** contains only the runtime and requires templates to be pre-compiled during a build step. | ||
- Inlines all Vue core internal packages - i.e. it's a single file with no dependencies on other files. This means you **must** import everything from this file and this file only to ensure you are getting the same instance of code. | ||
- Contains hard-coded prod/dev branches, and the prod build is pre-minified. Use the `*.prod.js` files for production. | ||
## Sponsors | ||
- **`vue(.runtime).esm-browser(.prod).js`**: | ||
- For usage via native ES modules imports (in browser via `<script type="module">`. | ||
- Shares the same runtime compilation, dependency inlining and hard-coded prod/dev behavior with the global build. | ||
Vue.js is an MIT-licensed open source project with its ongoing development made possible entirely by the support of these awesome [backers](https://github.com/vuejs/core/blob/main/BACKERS.md). If you'd like to join them, please consider [ sponsor Vue's development](https://vuejs.org/sponsor/). | ||
### With a Bundler | ||
<p align="center"> | ||
<h3 align="center">Special Sponsor</h3> | ||
</p> | ||
- **`vue(.runtime).esm-bundler.js`**: | ||
<p align="center"> | ||
<a target="_blank" href="https://github.com/appwrite/appwrite"> | ||
<img alt="special sponsor appwrite" src="https://sponsors.vuejs.org/images/appwrite.svg" width="300"> | ||
</a> | ||
</p> | ||
- For use with bundlers like `webpack`, `rollup` and `parcel`. | ||
- Leaves prod/dev branches with `process.env.NODE_ENV` guards (must be replaced by bundler) | ||
- Does not ship minified builds (to be done together with the rest of the code after bundling) | ||
- Imports dependencies (e.g. `@vue/runtime-core`, `@vue/runtime-compiler`) | ||
- Imported dependencies are also `esm-bundler` builds and will in turn import their dependencies (e.g. `@vue/runtime-core` imports `@vue/reactivity`) | ||
- This means you **can** install/import these deps individually without ending up with different instances of these dependencies, but you must make sure they all resolve to the same version. | ||
- In-browser template compilation: | ||
- **`vue.runtime.esm-bundler.js` (default)** is runtime only, and requires all templates to be pre-compiled. This is the default entry for bundlers (via `module` field in `package.json`) because when using a bundler templates are typically pre-compiled (e.g. in `*.vue` files). | ||
- **`vue.esm-bundler.js`**: includes the runtime compiler. Use this if you are using a bundler but still want runtime template compilation (e.g. in-DOM templates or templates via inline JavaScript strings). You will need to configure your bundler to alias `vue` to this file. | ||
<p align="center"> | ||
<a target="_blank" href="https://vuejs.org/sponsor/"> | ||
<img alt="sponsors" src="https://sponsors.vuejs.org/sponsors.svg?v2"> | ||
</a> | ||
</p> | ||
#### Bundler Build Feature Flags | ||
--- | ||
Starting with 3.0.0-rc.3, `esm-bundler` builds now exposes global feature flags that can be overwritten at compile time: | ||
## Introduction | ||
- `__VUE_OPTIONS_API__` (enable/disable Options API support, default: `true`) | ||
- `__VUE_PROD_DEVTOOLS__` (enable/disable devtools support in production, default: `false`) | ||
Vue (pronounced `/vjuː/`, like view) is a **progressive framework** for building user interfaces. It is designed from the ground up to be incrementally adoptable, and can easily scale between a library and a framework depending on different use cases. It consists of an approachable core library that focuses on the view layer only, and an ecosystem of supporting libraries that helps you tackle complexity in large Single-Page Applications. | ||
The build will work without configuring these flags, however it is **strongly recommended** to properly configure them in order to get proper tree-shaking in the final bundle. To configure these flags: | ||
#### Browser Compatibility | ||
- webpack: use [DefinePlugin](https://webpack.js.org/plugins/define-plugin/) | ||
- Rollup: use [@rollup/plugin-replace](https://github.com/rollup/plugins/tree/master/packages/replace) | ||
- Vite: configured by default, but can be overwritten using the [`define` option](https://github.com/vitejs/vite/blob/a4133c073e640b17276b2de6e91a6857bdf382e1/src/node/config.ts#L72-L76) | ||
Vue.js supports all browsers that are [ES5-compliant](https://kangax.github.io/compat-table/es5/) (IE8 and below are not supported). | ||
Note: the replacement value **must be boolean literals** and cannot be strings, otherwise the bundler/minifier will not be able to properly evaluate the conditions. | ||
## Ecosystem | ||
### For Server-Side Rendering | ||
| Project | Status | Description | | ||
| --------------------- | ------------------------------------------------------------ | ------------------------------------------------------- | | ||
| [vue-router] | [![vue-router-status]][vue-router-package] | Single-page application routing | | ||
| [vuex] | [![vuex-status]][vuex-package] | Large-scale state management | | ||
| [vue-cli] | [![vue-cli-status]][vue-cli-package] | Project scaffolding | | ||
| [vue-loader] | [![vue-loader-status]][vue-loader-package] | Single File Component (`*.vue` file) loader for webpack | | ||
| [vue-server-renderer] | [![vue-server-renderer-status]][vue-server-renderer-package] | Server-side rendering support | | ||
| [vue-class-component] | [![vue-class-component-status]][vue-class-component-package] | TypeScript decorator for a class-based API | | ||
| [vue-rx] | [![vue-rx-status]][vue-rx-package] | RxJS integration | | ||
| [vue-devtools] | [![vue-devtools-status]][vue-devtools-package] | Browser DevTools extension | | ||
[vue-router]: https://github.com/vuejs/vue-router | ||
[vuex]: https://github.com/vuejs/vuex | ||
[vue-cli]: https://github.com/vuejs/vue-cli | ||
[vue-loader]: https://github.com/vuejs/vue-loader | ||
[vue-server-renderer]: https://github.com/vuejs/vue/tree/dev/packages/vue-server-renderer | ||
[vue-class-component]: https://github.com/vuejs/vue-class-component | ||
[vue-rx]: https://github.com/vuejs/vue-rx | ||
[vue-devtools]: https://github.com/vuejs/vue-devtools | ||
[vue-router-status]: https://img.shields.io/npm/v/vue-router.svg | ||
[vuex-status]: https://img.shields.io/npm/v/vuex.svg | ||
[vue-cli-status]: https://img.shields.io/npm/v/@vue/cli.svg | ||
[vue-loader-status]: https://img.shields.io/npm/v/vue-loader.svg | ||
[vue-server-renderer-status]: https://img.shields.io/npm/v/vue-server-renderer.svg | ||
[vue-class-component-status]: https://img.shields.io/npm/v/vue-class-component.svg | ||
[vue-rx-status]: https://img.shields.io/npm/v/vue-rx.svg | ||
[vue-devtools-status]: https://img.shields.io/chrome-web-store/v/nhdogjmejiglipccpnnnanhbledajbpd.svg | ||
[vue-router-package]: https://npmjs.com/package/vue-router | ||
[vuex-package]: https://npmjs.com/package/vuex | ||
[vue-cli-package]: https://npmjs.com/package/@vue/cli | ||
[vue-loader-package]: https://npmjs.com/package/vue-loader | ||
[vue-server-renderer-package]: https://npmjs.com/package/vue-server-renderer | ||
[vue-class-component-package]: https://npmjs.com/package/vue-class-component | ||
[vue-rx-package]: https://npmjs.com/package/vue-rx | ||
[vue-devtools-package]: https://chrome.google.com/webstore/detail/vuejs-devtools/nhdogjmejiglipccpnnnanhbledajbpd | ||
## Documentation | ||
To check out [live examples](https://v2.vuejs.org/v2/examples/) and docs, visit [vuejs.org](https://v2.vuejs.org). | ||
## Questions | ||
For questions and support please use [the official forum](https://forum.vuejs.org) or [community chat](https://chat.vuejs.org/). The issue list of this repo is **exclusively** for bug reports and feature requests. | ||
## Issues | ||
Please make sure to read the [Issue Reporting Checklist](https://github.com/vuejs/vue/blob/dev/.github/CONTRIBUTING.md#issue-reporting-guidelines) before opening an issue. Issues not conforming to the guidelines may be closed immediately. | ||
## Changelog | ||
Detailed changes for each release are documented in the [release notes](https://github.com/vuejs/vue/releases). | ||
## Stay In Touch | ||
- [Twitter](https://twitter.com/vuejs) | ||
- [Blog](https://medium.com/the-vue-point) | ||
- [Job Board](https://vuejobs.com/?ref=vuejs) | ||
## Contribution | ||
Please make sure to read the [Contributing Guide](https://github.com/vuejs/vue/blob/dev/.github/CONTRIBUTING.md) before making a pull request. If you have a Vue-related project/component/tool, add it with a pull request to [this curated list](https://github.com/vuejs/awesome-vue)! | ||
Thank you to all the people who already contributed to Vue! | ||
<a href="https://github.com/vuejs/vue/graphs/contributors"><img src="https://opencollective.com/vuejs/contributors.svg?width=890" /></a> | ||
## License | ||
[MIT](https://opensource.org/licenses/MIT) | ||
Copyright (c) 2013-present, Yuxi (Evan) You | ||
- **`vue.cjs(.prod).js`**: | ||
- For use in Node.js server-side rendering via `require()`. | ||
- If you bundle your app with webpack with `target: 'node'` and properly externalize `vue`, this is the build that will be loaded. | ||
- The dev/prod files are pre-built, but the appropriate file is automatically required based on `process.env.NODE_ENV`. |
Uses eval
Supply chain riskPackage uses eval() which is a dangerous function. This prevents the code from running in certain environments and increases the risk that the code may contain exploits or malicious behavior.
Found 1 instance in 1 package
Deprecated
MaintenanceThe maintainer of the package marked it as deprecated. This could indicate that a single version should not be used, or that the package is no longer maintained and any new vulnerabilities will not be fixed.
Found 1 instance in 1 package
Uses eval
Supply chain riskPackage uses eval() which is a dangerous function. This prevents the code from running in certain environments and increases the risk that the code may contain exploits or malicious behavior.
Found 1 instance in 1 package
Debug access
Supply chain riskUses debug, reflection and dynamic code execution features.
Found 1 instance in 1 package
Dynamic require
Supply chain riskDynamic require can indicate the package is performing dangerous or unsafe dynamic code execution.
Found 1 instance in 1 package
Filesystem access
Supply chain riskAccesses the file system, and could potentially read sensitive data.
Found 1 instance in 1 package
3
0
7
3
2085931
3
16
45563
55
+ Added@vue/compiler-dom@3.0.0
+ Added@vue/runtime-dom@3.0.0
+ Added@vue/shared@3.0.0
+ Added@vue/compiler-core@3.0.0(transitive)
+ Added@vue/compiler-dom@3.0.0(transitive)
+ Added@vue/reactivity@3.0.0(transitive)
+ Added@vue/runtime-core@3.0.0(transitive)
+ Added@vue/runtime-dom@3.0.0(transitive)
+ Added@vue/shared@3.0.0(transitive)
+ Addedcsstype@2.6.21(transitive)
+ Addedestree-walker@2.0.2(transitive)
- Removed@vue/compiler-sfc@2.7.14
- Removedcsstype@^3.1.0
- Removed@vue/compiler-sfc@2.7.14(transitive)
- Removedcsstype@3.1.3(transitive)
- Removednanoid@3.3.7(transitive)
- Removedpicocolors@1.0.1(transitive)
- Removedpostcss@8.4.41(transitive)
- Removedsource-map-js@1.2.0(transitive)