Skip to content

Commit 904da6c

Browse files
authored
Merge branch 'master' into auto-over-core
2 parents 0b1a301 + f579da9 commit 904da6c

21 files changed

+3954
-1448
lines changed

.github/workflows/ci-workflow.yml

Lines changed: 22 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,10 @@ jobs:
77
name: Check tsc, lint, and prettier
88
runs-on: ubuntu-latest
99
steps:
10-
- uses: actions/checkout@v1
10+
- uses: actions/checkout@v6
1111
- uses: actions/setup-node@v1
1212
with:
13-
node-version: '18.x'
13+
node-version: '22.x'
1414
- run: npm install
1515
- run: npm run lint
1616
- run: npm run prettier
@@ -22,12 +22,29 @@ jobs:
2222
strategy:
2323
matrix:
2424
os: [ubuntu-latest, windows-latest, macos-latest]
25-
node-version: [18, 20]
25+
node-version: [22]
2626

2727
steps:
28-
- uses: actions/checkout@v1
28+
- uses: actions/checkout@v6
2929
- name: Use Node.js ${{ matrix.node-version }}
30-
uses: actions/setup-node@v1
30+
uses: actions/setup-node@v6
31+
with:
32+
node-version: ${{ matrix.node-version }}
33+
- run: npm install
34+
- run: npm test
35+
env:
36+
CI: true
37+
testOtherNodeVersions:
38+
name: Test on node ${{ matrix.node-version }} and ubuntu-latest
39+
runs-on: ubuntu-latest
40+
strategy:
41+
matrix:
42+
node-version: [18, 20, 24]
43+
44+
steps:
45+
- uses: actions/checkout@v6
46+
- name: Use Node.js ${{ matrix.node-version }}
47+
uses: actions/setup-node@v6
3148
with:
3249
node-version: ${{ matrix.node-version }}
3350
- run: npm install

.nvmrc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
18
1+
22

.tool-versions

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
nodejs 18.20.8
1+
nodejs 22.21.1

DEPENDENCY-NOTES.md

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,12 @@
1-
As of 2025 Mar 28:
1+
As of 2025 Nov 21:
22

33
The `npm outdated` command reports some dependencies as outdated. They are not being updated at this time for the reasons given below:
4-
5-
- `@types/node`: Versions after 20.19.1 cause errors compiling transitive dependency `agent-base`.
6-
- `chalk`: major version 5 causes problems for jest. Keep updated to latest 4.x release.
4+
- `@types/node`: stay on v22 until we are ready to move to v24. Currently, Node 24 segfaults during tests on macos in GitHub Actions.
5+
- `chalk`: major version 5 is an esmodule.
6+
- `commander`: major version 14 requires Node 20 and higher. Wait until community has had sufficient time to move off Node 18.
7+
- `del-cli`: major version 7 requires Node 20 and higher. Wait until community has had sufficient time to move off Node 18.
78
- `html-minifier-terser` / `@types/html-minifier-terser`: major version 6 changes the functions we use to become async, which would require changing more or less the entirety of SUSHI's export functions to async.
9+
- `ini`: major version 6 requires Node 20 and higher. Wait until community has had sufficient time to move off Node 18.
810
- `junk`: major version 4 is an esmodule.
911
- `title-case`: major version 4 is an esmodule.
1012
- `yaml`: changes to `Document.toString()` behavior makes the comments in the config file produced by `sushi init` move around a bunch.

README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ For more information about the evolving FSH syntax see the [FHIR Shorthand Refer
2222

2323
## Installation for SUSHI Users
2424

25-
SUSHI requires [Node.js](https://nodejs.org/) to be installed on the user's system. Users should install Node.js 18. Although previous versions of Node.js may work, they are not officially supported.
25+
SUSHI requires [Node.js](https://nodejs.org/) to be installed on the user's system. Users should install Node.js 22, but SUSHI currently _supports_ Node.js 18 and 20 as well. Although Node.js versions > 22 and < 18 may work, they are not officially supported.
2626

2727
Once Node.js is installed, run the following command to install or update SUSHI:
2828

@@ -87,7 +87,7 @@ These sessions provide a technical overview of the codebase and summarize key co
8787

8888
## Installation for Developers
8989

90-
SUSHI is a [TypeScript](https://www.typescriptlang.org/) project. At a minimum, SUSHI requires [Node.js](https://nodejs.org/) to build, test, and run the CLI. Developers should install Node.js 18.
90+
SUSHI is a [TypeScript](https://www.typescriptlang.org/) project. At a minimum, SUSHI requires [Node.js](https://nodejs.org/) to build, test, and run the CLI. Developers should install Node.js 22.
9191

9292
Once Node.js is installed, run the following command from this project's root folder:
9393

@@ -184,7 +184,7 @@ For the best experience, developers should use [Visual Studio Code](https://code
184184

185185
# License
186186

187-
Copyright 2019-2024 Health Level Seven International
187+
Copyright 2019-2025 Health Level Seven International
188188

189189
Licensed under the Apache License, Version 2.0 (the "License");
190190
you may not use this file except in compliance with the License.

jest.config.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
const isCI = process.env.CI === 'true';
2+
13
module.exports = {
24
moduleFileExtensions: ['js', 'ts'],
35
transform: {
@@ -11,6 +13,7 @@ module.exports = {
1113
testMatch: ['**/test/**/*.test.(ts|js)'],
1214
testEnvironment: 'node',
1315
setupFilesAfterEnv: ['jest-extended/all'],
16+
collectCoverage: !isCI,
1417
coveragePathIgnorePatterns: ['<rootDir>/src/import/generated/'],
1518
preset: 'ts-jest'
1619
};

0 commit comments

Comments
 (0)