File tree Expand file tree Collapse file tree 5 files changed +48
-2
lines changed Expand file tree Collapse file tree 5 files changed +48
-2
lines changed Original file line number Diff line number Diff line change
1
+ {
2
+ "version-ci": {
3
+ "IN_VERSION_CI_SCRIPT": "true"
4
+ }
5
+ }
Original file line number Diff line number Diff line change 33
33
id : changesets
34
34
uses : changesets/action@v1
35
35
with :
36
+ # this expects you to have a npm script called version that runs some logic and then calls `changeset version`.
37
+ version : yarn version:ci
36
38
# This expects you to have a script called release which does a build for your packages and calls changeset publish
37
39
publish : yarn release
38
40
commit : " chore: release svelte-eslint-parser"
Original file line number Diff line number Diff line change 42
42
"release" : " changeset publish" ,
43
43
"test" : " yarn mocha \" tests/src/**/*.ts\" --reporter dot --timeout 60000" ,
44
44
"ts" : " node -r esbuild-register" ,
45
- "update-fixtures" : " yarn ts ./tools/update-fixtures.ts"
45
+ "update-fixtures" : " yarn ts ./tools/update-fixtures.ts" ,
46
+ "version:ci" : " env-cmd -e version-ci yarn build:meta && changeset version"
46
47
},
47
48
"peerDependencies" : {
48
49
"svelte" : " ^3.37.0"
73
74
"@typescript-eslint/parser" : " ~5.59.0" ,
74
75
"benchmark" : " ^2.1.4" ,
75
76
"chai" : " ^4.3.4" ,
77
+ "env-cmd" : " ^10.1.0" ,
76
78
"esbuild" : " ^0.17.0" ,
77
79
"esbuild-register" : " ^3.3.3" ,
78
80
"eslint" : " ^8.2.0" ,
Original file line number Diff line number Diff line change
1
+ import assembleReleasePlan from "@changesets/assemble-release-plan" ;
2
+ import readChangesets from "@changesets/read" ;
3
+ import { read } from "@changesets/config" ;
4
+ import { getPackages } from "@manypkg/get-packages" ;
5
+ import { readPreState } from "@changesets/pre" ;
6
+ import path from "path" ;
7
+
8
+ const root = path . resolve ( __dirname , "../.." ) ;
9
+
10
+ /** Get new version string from changesets */
11
+ export async function getNewVersion ( ) : Promise < string > {
12
+ const packages = await getPackages ( root ) ;
13
+ const preState = await readPreState ( root ) ;
14
+ const config = await read ( root , packages ) ;
15
+ const changesets = await readChangesets ( root ) ;
16
+
17
+ const releasePlan = assembleReleasePlan (
18
+ changesets ,
19
+ packages ,
20
+ config ,
21
+ preState
22
+ ) ;
23
+
24
+ return releasePlan . releases . find (
25
+ ( { name } ) => name === "svelte-eslint-parser"
26
+ ) ! . newVersion ;
27
+ }
Original file line number Diff line number Diff line change @@ -2,6 +2,7 @@ import fs from "fs";
2
2
import path from "path" ;
3
3
import { ESLint } from "eslint" ;
4
4
import { name , version } from "../package.json" ;
5
+ import { getNewVersion } from "./lib/changesets-util" ;
5
6
6
7
const META_PATH = path . resolve ( __dirname , "../src/meta.ts" ) ;
7
8
@@ -17,9 +18,18 @@ async function main() {
17
18
* in order to update its content execute "yarn build:meta"
18
19
*/
19
20
export const name = ${ JSON . stringify ( name ) } as const;
20
- export const version = ${ JSON . stringify ( version ) } as const;
21
+ export const version = ${ JSON . stringify ( await getVersion ( ) ) } as const;
21
22
` ,
22
23
{ filePath : META_PATH }
23
24
) ;
24
25
fs . writeFileSync ( META_PATH , result . output ! ) ;
25
26
}
27
+
28
+ /** Get version */
29
+ function getVersion ( ) {
30
+ // eslint-disable-next-line no-process-env -- ignore
31
+ if ( process . env . IN_VERSION_CI_SCRIPT ) {
32
+ return getNewVersion ( ) ;
33
+ }
34
+ return version ;
35
+ }
You can’t perform that action at this time.
0 commit comments