|
48 | 48 |
|
49 | 49 | # Read existing version, reuse that, add a Git short hash |
50 | 50 | - name: Set build version to Git commit |
51 | | - run: node scripts/writeGitVersion.mjs $(git rev-parse --short HEAD) |
| 51 | + run: yarn tsx scripts/writeGitVersion.mts $(git rev-parse --short HEAD) |
52 | 52 |
|
53 | 53 | - name: Check updated version |
54 | 54 | run: jq .version package.json |
@@ -102,67 +102,16 @@ jobs: |
102 | 102 | - name: Run type tests with `moduleResolution Bundler` |
103 | 103 | run: rm -rf dist && yarn tsc -p . --moduleResolution Bundler --module ESNext --noEmit false --declaration --emitDeclarationOnly --outDir dist --target ESNext && rm -rf dist |
104 | 104 |
|
105 | | - test-type-portability: |
106 | | - name: Test Type Portability with TypeScript ${{ matrix.ts }} and Node.js ${{ matrix.node }} |
107 | | - needs: [build] |
108 | | - runs-on: ubuntu-latest |
109 | | - strategy: |
110 | | - fail-fast: false |
111 | | - matrix: |
112 | | - node: ['20.x'] |
113 | | - ts: ['5.0', '5.1', '5.2', '5.3', '5.4', '5.5', 'next'] |
114 | | - example: |
115 | | - [ |
116 | | - { name: 'bundler', moduleResolution: 'Bundler' }, |
117 | | - { name: 'nodenext-cjs', moduleResolution: 'NodeNext' }, |
118 | | - { name: 'nodenext-esm', moduleResolution: 'NodeNext' }, |
119 | | - ] |
120 | | - steps: |
121 | | - - name: Checkout repo |
122 | | - uses: actions/checkout@v4 |
123 | | - |
124 | | - - name: Use node ${{ matrix.node }} |
125 | | - uses: actions/setup-node@v4 |
126 | | - with: |
127 | | - node-version: ${{ matrix.node }} |
128 | | - cache: 'yarn' |
129 | | - |
130 | | - - name: Install deps |
131 | | - run: yarn install |
132 | | - |
133 | | - - uses: actions/download-artifact@v4 |
134 | | - with: |
135 | | - name: package |
136 | | - path: packages/toolkit |
137 | | - |
138 | | - - name: Install build artifact |
139 | | - run: yarn workspace @examples-type-portability/${{ matrix.example.name }} add $(pwd)/package.tgz |
140 | | - |
141 | | - - name: Install TypeScript ${{ matrix.ts }} |
142 | | - run: yarn workspace @examples-type-portability/${{ matrix.example.name }} add -D typescript@${{ matrix.ts }} |
143 | | - |
144 | | - - name: Test type portability with `moduleResolution ${{ matrix.example.moduleResolution }}` |
145 | | - run: yarn workspace @examples-type-portability/${{ matrix.example.name }} run test |
146 | | - |
147 | | - - name: Test type portability with `moduleResolution Node10` |
148 | | - run: yarn workspace @examples-type-portability/${{ matrix.example.name }} run test --module CommonJS --moduleResolution Node10 --preserveSymLinks --verbatimModuleSyntax false |
149 | | - |
150 | | - - name: Test type portability with `moduleResolution Node10` and `type module` in `package.json` |
151 | | - if: matrix.example.name == 'nodenext-esm' || matrix.example.name == 'bundler' |
152 | | - run: | |
153 | | - npm --workspace=@examples-type-portability/${{ matrix.example.name }} pkg set type=module |
154 | | - yarn workspace @examples-type-portability/${{ matrix.example.name }} run test --module ESNext --moduleResolution Node10 --preserveSymLinks --verbatimModuleSyntax false |
155 | | -
|
156 | 105 | test-types: |
157 | | - name: Test Types with TypeScript ${{ matrix.ts }} |
| 106 | + name: 'Test Types: TS ${{ matrix.ts }}' |
158 | 107 |
|
159 | 108 | needs: [build] |
160 | 109 | runs-on: ubuntu-latest |
161 | 110 | strategy: |
162 | 111 | fail-fast: false |
163 | 112 | matrix: |
164 | 113 | node: ['20.x'] |
165 | | - ts: ['4.7', '4.8', '4.9', '5.0', '5.1', '5.2', '5.3', '5.4'] |
| 114 | + ts: ['4.7', '4.8', '4.9', '5.0', '5.1', '5.2', '5.3', '5.4', '5.5'] |
166 | 115 | steps: |
167 | 116 | - name: Checkout repo |
168 | 117 | uses: actions/checkout@v4 |
@@ -301,3 +250,54 @@ jobs: |
301 | 250 |
|
302 | 251 | - name: Run are-the-types-wrong |
303 | 252 | run: yarn attw ./package.tgz --format table --ignore-rules false-cjs |
| 253 | + |
| 254 | + test-type-portability: |
| 255 | + name: 'Test Type Portability: TS ${{ matrix.ts }} + Node ${{ matrix.node }}' |
| 256 | + needs: [build] |
| 257 | + runs-on: ubuntu-latest |
| 258 | + strategy: |
| 259 | + fail-fast: false |
| 260 | + matrix: |
| 261 | + node: ['20.x'] |
| 262 | + ts: ['5.3', '5.4', '5.5', 'next'] |
| 263 | + example: |
| 264 | + [ |
| 265 | + { name: 'bundler', moduleResolution: 'Bundler' }, |
| 266 | + { name: 'nodenext-cjs', moduleResolution: 'NodeNext' }, |
| 267 | + { name: 'nodenext-esm', moduleResolution: 'NodeNext' }, |
| 268 | + ] |
| 269 | + steps: |
| 270 | + - name: Checkout repo |
| 271 | + uses: actions/checkout@v4 |
| 272 | + |
| 273 | + - name: Use node ${{ matrix.node }} |
| 274 | + uses: actions/setup-node@v4 |
| 275 | + with: |
| 276 | + node-version: ${{ matrix.node }} |
| 277 | + cache: 'yarn' |
| 278 | + |
| 279 | + - name: Install deps |
| 280 | + run: yarn install |
| 281 | + |
| 282 | + - uses: actions/download-artifact@v4 |
| 283 | + with: |
| 284 | + name: package |
| 285 | + path: packages/toolkit |
| 286 | + |
| 287 | + - name: Install build artifact |
| 288 | + run: yarn workspace @examples-type-portability/${{ matrix.example.name }} add $(pwd)/package.tgz |
| 289 | + |
| 290 | + - name: Install TypeScript ${{ matrix.ts }} |
| 291 | + run: yarn workspace @examples-type-portability/${{ matrix.example.name }} add -D typescript@${{ matrix.ts }} |
| 292 | + |
| 293 | + - name: Test type portability with `moduleResolution ${{ matrix.example.moduleResolution }}` |
| 294 | + run: yarn workspace @examples-type-portability/${{ matrix.example.name }} run test |
| 295 | + |
| 296 | + - name: Test type portability with `moduleResolution Node10` |
| 297 | + run: yarn workspace @examples-type-portability/${{ matrix.example.name }} run test --module CommonJS --moduleResolution Node10 --preserveSymLinks --verbatimModuleSyntax false |
| 298 | + |
| 299 | + - name: Test type portability with `moduleResolution Node10` and `type module` in `package.json` |
| 300 | + if: matrix.example.name == 'nodenext-esm' || matrix.example.name == 'bundler' |
| 301 | + run: | |
| 302 | + npm --workspace=@examples-type-portability/${{ matrix.example.name }} pkg set type=module |
| 303 | + yarn workspace @examples-type-portability/${{ matrix.example.name }} run test --module ESNext --moduleResolution Node10 --preserveSymLinks --verbatimModuleSyntax false |
0 commit comments