Closed
Description
Related #343
Currently, the structure of this repository is as follows:
Branch | Version | Vue | Jest |
---|---|---|---|
master | 4.x | 2.x | <27 |
next | 5.x(alpha) | 3.x | <27 |
In Jest 27, breaking changes have came. (#344, #348, #351)
To accommodate it, this package also requires breaking changes. (and need to increment semver)
But, vue-jest@4
cannot increment because of 5.x exists.
So we should split it to another package.
If you want to keep the package name different, I don't think it is necessary to divide the version by branch. (ex. CI/CD)
@lmiller1990
Could you tell us your thoughts on the items in the "Consideration" section?
Details
Package naming & Support version
Package | Ver. | Vue ver. | Jest ver. | Description |
---|---|---|---|---|
vue-jest |
4.x | 2.x | <27 | alias for vue2-jest@26 |
vue-jest |
5.x(alpha) | 3.x | <27 | deprecate (use vue3-jest@26 instead) |
vue-jest |
27.x | latest (=2.x now) | 27.x | alias for vue2-jest@27 now |
vue2-jest |
26.x | 2.x | 26.x | equals to vue-jest@4 |
vue3-jest |
26.x | 3.x | 26.x | equals to vue-jest@5 |
vue2-jest |
27.x | 2.x | 27.x | |
vue3-jest |
27.x | 3.x | 27.x |
Versioning
Like ts-jest, We DOES NOT use Semantic Versioning.
vue2-jest@xx.yy.zz
vue3-jest@xx.yy.zz
xx
: Equals supported Jest major versionyy
: Compliant with semVer major & patch version (ie included BREAKING CHANGE)zz
: Compliant with semVer patch version
It is recommended for users to pin version as below:
Repository Structures
.github/
e2e/
packages/
vue2-jest/
src/
test/
package.json
README.md
vue3-jest/
src/
test/
package.json
README.md
core/
src/
test/
package.json
.editorconfig
.eslintrc
.prettierignore
LICENSE
package.json
README.md
yarn.lock
Tasks
- Add missing dependencies in
/e2e
projects-
master
branch (fix(deps): add missing devDependencies in e2e/ projects (for 4.x) #356) -
next
branch (chore(deps): bump postcss from 7.0.27 to 7.0.36 #357)
-
- Setup monorepo in
master
branch (build: migrate to monorepo (for vue-jest@4) #360)- move vue-jest@4 library to
/packages/vue2-jest
- rename package to
vue2-jest
- move end-to-end tests to
/e2e/2.x
- move vue-jest@4 library to
- Setup monorepo in
next
branch (build: migrate to monorepo (for vue-jest@5) #361)- move vue-jest@5 library to
/packages/vue3-jest
- rename package to
vue3-jest
- move end-to-end tests to
/e2e/3.x
- move vue-jest@5 library to
- Merge
next
branch intomaster
(build: merge 'next' (Vue 3) branch into 'master' (Vue 2) for monorepo #363) - (Optional) Split duplicated code in another package (like
/packages/vue-jest-core
) - Create
vue-jest
package that wrapsvue2-jest@latest
- Add or update README
vue-jest
vue2-jest
vue3-jest
- root
- Release
vue2-jest
,vue3-jest
, andvue-jest-core
Consideration (Resolved)
Package name
-
vue2-jest
,vue-jest
-
vue2-jest
,vue3-jest
-
vue2-jest
,vue3-jest
,vue-jest
(alias ofvue3-jest
) - Other
Use semver or not
- Yes, we will release new packages as version 1.x. Major version does not match Jest version.
- No, like ts-jest, we will release new packages as version 27.x. Major version matches Jest version.
Deprecates vue-jest or not
- **Yes.
- No. use
vue-jest
as alias of latest Vue + Jest package (currentlyvue3-jest@latest
)