All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
- Fix missing .gitignore template files
- Fix file structure generated when npm package name has
@scope/
prefix
- NEW: Auto-generated typescript definitions! No more manually maintaining
.d.ts
files - NEW: Cli flags to auto-answer prompts. Opens the door for better integration into automated processes, easier bash aliases, etc.
- Update cli dependencies
- chalk 4.1.1
- ejs 3.1.6
- minimist 1.2.5
- prompts 2.4.1
- eslint 7.30.0
- eslint-plugin-import 2.23.4
- husky 4.3.8
- Update template dependencies
- @babel/core 7.14.6
- @babel/preset-env 7.14.7
- @babel/preset-typescript 7.14.5
- @rollup/plugin-alias 3.1.2
- @rollup/plugin-babel 5.3.0
- @rollup/plugin-commonjs 14.0.0
- @rollup/plugin-node-resolve 9.0.0
- @rollup/plugin-replace 2.4.2
- @vue/cli-plugin-babel 4.5.13
- @vue/cli-plugin-typescript 4.5.13
- @vue/cli-service 4.5.13
- @vue/compiler-sfc 3.0.11
- @zerollup/ts-transform-paths 1.7.18
- typescript 4.0.3
- postcss 8.2.10
- rollup 2.52.8
- vue 2.6.14
- vue-template-compiler 2.6.14
- NEW rimraf 3.0.2
- NEW rollup-plugin-typescript2 0.30.0
- NEW ttypescript 1.5.12
- Move commonjs plugin before babel, as per babel docs
- Import babel.config.js and merge with custom es build opts, avoiding duplication
- Includes example of optional chaining/nullish coalescing config
- Fixed plugin-order bug introduced by 4.0.3
- Fixed bug preventing imports from non-aliased paths (#80)
- Fix typos in README
- Remove optional chaining/nullish coalescing code from demo component
- Webpack 4 (used by vue-cli 4, and vue-cli 5 with cli-plugin-webpack-4) chokes on these, and babel/preset-env no longer transpiles them down. Best to not suggest them in demo components.
- Update README with note about babel/preset-env
- Vue 3 tree-shaking is still broken
- Vue 2 is not affected
- Removed beta tag
- BREAKING CHANGE: Drop support for node 10
- Update cli dependencies
- prompts 2.4.0
- eslint 7.17.0
- eslint-config-airbnb-base 14.2.1
- eslint-plugin-import 2.22.1
- husky 4.3.7
- Update template dependencies
- @babel/core 7.12.10
- @babel/preset-env 7.12.11
- @babel/preset-typescript 7.12.7
- @rollup/plugin-babel 5.2.2
- @rollup/plugin-commonjs 17.0.0
- @rollup/plugin-node-resolve 11.0.1
- @rollup/plugin-replace 2.3.4
- @vue/cli-plugin-babel 4.5.10
- @vue/cli-plugin-typescript 4.5.10
- @vue/cli-service 4.5.10
- @vue/compiler-sfc 3.0.5 (Vue 3)
- cross-env 7.0.3
- NEW postcss 8.2.3 (Vue 3, peer of rollup-plugin-postcss 4.0.0)
- rollup 2.36.1
- rollup-plugin-postcss 4.0.0
- rollup-plugin-vue 6.0.0 (Vue 3)
- vue 3.0.5 (Vue 3)
- Vue 3 tree-shaking is broken
- This is due to a known bug with @vue/compiler-sfc, used by rollup-plugin-vue
- Vue 2 is not affected
- Typescript type declarations don't conflict anymore (Vue 3)
- Fixed tree-shaking issues (Vue 2)
- package.json includes
"sideEffects": false
- Marked appropriate functions as
/*#__PURE__*/
- Upstream issues may still exist in vue-runtime-helpers, but current testing shows output should still be shakeable
- package.json includes
- Update template dependencies
- @babel/core 7.12.0
- @babel/preset-env 7.12.0
- @babel/preset-typescript 7.12.0
- @rollup/plugin-babel 5.2.1
- @vue/cli-plugin-babel 4.5.7
- @vue/cli-plugin-typescript 4.5.7
- @vue/cli-service 4.5.7
- @vue/compiler-sfc 3.0.0 (Vue 3)
- rollup 2.30.0
- rollup-plugin-postcss 3.1.8
- rollup-plugin-terser 7.0.2
- vue 3.0.0 (Vue 3)
- NEW: Vue 3 support! Select target version of Vue - components compiled for Vue 3 are not compatible with Vue 2
- Update cli dependencies
- chalk 4.1.0
- ejs 3.1.5
- eslint 7.7.0
- eslint-config-airbnb-base 14.2.0
- eslint-plugin-import 2.22.0
- Update templates depending on Vue version selected
- BREAKING CHANGE: Remove auto-install logic/output entirely
- Auto-install has become an anti-pattern, since Vue 3 will not allow registering components/libraries globally
- BREAKING CHANGE: Non-esm builds now attach named exports as properties of the default export
- Nodejs/browser usage is now registered via
Vue.use(globalVar)
instead ofVue.use(globalVar.default)
, with named exports still accessed asglobalVar.named1
,globalVar.named2
etc.
- Nodejs/browser usage is now registered via
- BREAKING CHANGE: Remove auto-install logic/output entirely
- Update template dependencies
- @babel/core 7.11.0
- @babel/preset-env 7.11.0
- @babel/preset-typescript 7.10.4
- @rollup/plugin-alias 3.1.1
- @rollup/plugin-babel 5.2.0
- @rollup/plugin-commonjs 14.0.0
- NEW @rollup/node-resolve 9.0.0
- @rollup/plugin-replace 2.3.3
- @vue/cli-plugin-babel 4.5.4
- @vue/cli-plugin-typescript 4.5.4
- @vue/cli-service 4.5.4
- @vue/compiler-sfc 3.0.0-rc.9 (Vue 3 only)
- rollup 2.26.5
- NEW rollup-plugin-postcss 3.1.6 (Vue 3 only)
- rollup-plugin-terser 7.0.0
- rollup-plugin-vue 5.1.9 (Vue 2) / 6.0.0-beta.10 (Vue 3)
- vue 2.6.12 (Vue 2) / 3.0.0-rc.9 (Vue 3)
- vue-template-compiler 2.6.12 (Vue 2 only)
- Fixes #41 - Update babel.config.js to fix dev mode via vue-cli-service
- Dev mode uses @vue/babel-preset-app
- Build mode uses @babel/preset-env and @babel/preset-typescript (if writing typescript)
- BREAKING CHANGE: Drop support for node 8
- Update template dependencies
- @babel/core 7.9.0
- @babel/preset-env 7.9.5
- @babel/preset-typescript 7.9.0
- @rollup/plugin-alias 2.2.0
- @rollup/plugin-commonjs 11.1.0
- @rollup/plugin-replace 2.3.2
- @vue/cli-plugin-babel 4.3.1
- @vue/cli-plugin-typescript 4.3.1
- @vue/cli-service 4.3.1
- cross-env 7.0.2
- minimist 1.2.5
- rollup 2.7.3
- rollup-plugin-babel 4.4.0
- rollup-plugin-terser 5.3.0
- rollup-plugin-vue 5.1.6
- typescript 3.8.3
- vue 2.6.11
- vue-template-compiler 2.6.11
- BREAKING CHANGE: Remove auto-install logic/output from esm output
- Renamed template files
src/serve-dev.{vue|js|ts}
todev/serve.{vue|js|ts}
- Removes need to explicitly ignore it from npm bundle
- Resolves bug #40 with yarn and package.json
files
array rules containing negate flag
- Removed babel plugin dependencies that are now in babel core
- REMOVED @babel/plugin-proposal-optional-chaining
- REMOVED @babel/plugin-proposal-nullish-coalescing-operator
- Changed order of rollup plugins (@rollup/plugin-commonjs) in templates to prevent failed build when using some babel features (optional chaining/nullish coalescing)
- Add
browser
field to package.json for bundlers which prefer it tomodule
field (eg. codesandbox - see discussion here) - Notify users of new releases
- NEW chalk 3.0.0
- NEW update-check 1.5.3
- Update template dependencies
- @rollup/plugin-commonjs 11.0.1
- Update template dependency
- rollup-plugin-vue 5.1.5 (breaking change from 5.1.2 has been resolved)
- Fix eslint errors in files created by vue-sfc-rollup
- Updated package.json with missing file
- Add ability to generate typescript-based components/libraries
- Generated components/libraries now both use
npm run serve
for rapid development (viavue-cli-service
) - Generate default
.browserslistrc
file - Replace buble with babel - seeing this more ecosystem-wide
- Allows optional chaining, nullish coalescing support, and other modern language features
- Allows better browser targeting via
.browserslistrc
file - Output isn't necessarily larger with proper configuration via
.browserslistrc
- Update template dependencies
- NEW @babel/core 7.7.7
- NEW @babel/plugin-proposal-nullish-coalescing-operator 7.7.4
- NEW @babel/plugin-proposal-optional-chaining 7.7.5
- NEW @babel/preset-env 7.7.7
- NEW @vue/cli-plugin-babel 4.1.0
- NEW @vue/cli-service 4.1.0
- NEW rollup-plugin-babel 4.3.3
- rollup 1.27.13
- rollup-plugin-terser 5.1.3
- Added new template dependencies for typescript-based projects
- @babel/preset-typescript 7.7.7
- @vue/cli-plugin-typescript 4.1.0
- typescript 3.7.3
- Cli development code refactor/cleanup
- Vue cli aliases '@' to './src' for imports, add capability to rollup config for feature parity
- Do not minify esm build - upstream bundlers should handle this
- Update template dependencies
- NEW @rollup/plugin-alias 2.2.0
- rollup 1.26.3
- rollup-plugin-buble > @rollup/plugin-buble 0.20.0
- rollup-plugin-replace > @rollup/plugin-replace 2.2.1
- New/updated tooling for cli development
- Avoid bug introduced in rollup-plugin-vue 5.1.2 - lock in use of v5.1.1 in generated package.json until issue is resolved.
- Rollup config updates in single/lib modes - 'external' missing from esm build config
- Update template dependencies
- cross-env 6.0.3
- rollup 1.26.1
- rollup-plugin-commonjs 10.1.0
- rollup-plugin-terser 5.1.2
- rollup-plugin-vue 5.1.1
- New/updated tooling for cli development
- Optimized SSR Builds (Single and Library)
- BREAKING CHANGE: Command renamed from sfc-rollup-init to sfc-init
- Replace 'umd' build with CommonJS 'ssr' build
- Browsers still get iife
- Modern bundlers get esm
- Node.JS/Legacy get ssr
- Any scenarios not covered above can transpile esm or raw .vue files directly
- Refactor template package.json to reflect umd -> ssr changes
- Update cli dependencies
- prompts 2.0.4
- eslint 5.16.0
- eslint-plugin-import 2.17.2
- Update template dependencies
- vue 2.6.10
- vue-template-compiler 2.6.10
- rollup 1.12.1
- rollup-plugin-vue 5.0.0
- rollup-plugin-commonjs 10.0.0
- rollup-plugin-replace 2.2.0
- Drop 'uglify-es' for 'terser' - uglify-es no longer maintained
- Refactor rollup configs with per-compile options
- Update template dependencies
- vue 2.6.8
- vue-template-compiler 2.6.8
- rollup 1.4.1
- rollup-plugin-vue 4.7.2
- rollup-plugin-commonjs 9.2.1
- Drop 'readline-sync' for 'prompts' - better UX, allow cli to be canceled
- Update template dependencies
- vue 2.5.22
- vue-template-compiler 2.5.21
- rollup 1.1.2
- rollup-plugin-vue 4.6.2
- *new* rollup-plugin-commonjs 9.2.0 (due to rollup-plugin-vue)
- export install function in lib mode. singe/lib modes can now be registered via both Vue.use() and Vue.component().
- avoid bug introduced in rollup-plugin-vue 4.4.0 - lock in use of v4.3.2 in generated package.json until issue is resolved.
- build process now runs in 'production' mode by default - smaller, more secure files
- Updated README.md with library mode usage
- npm processed template package.json files instead of just including them - renamed
- Removed unused .gitignore rules
- Library mode - ability to scaffold library of components
- Prompts for single/library mode
- Named exports of individual components in library mode
- BREAKING CHANGE: Don't export sfc install function, only ever used in autoinstall
- Rename some files to better indicate their purpose
- Switch to ejs for templating
- Implement eslint, consistent airbnb formatting
- Link to official entry on npm
- Add licensing information
- Updated repo url
- Removed beta tag
- Initial beta release