Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
61 changes: 4 additions & 57 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,37 +13,12 @@ env:
VSCODE_VERSION: '1.103.0'

jobs:
lint:
runs-on: ubuntu-24.04-arm
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/setup-node-and-node-modules
with:
node-version: 22
- uses: actions/cache@v4
with:
path: |
node_modules/.cache/prettier/.prettier-cache
packages/*/dist
packages/*/tsconfig.build.tsbuildinfo
tsconfig.tsbuildinfo
key: lint-tools-${{ runner.arch }}-${{ runner.os }}-${{ github.sha }}
restore-keys: lint-tools-${{ runner.arch }}-${{ runner.os }}
- run: npm run lint
build:
runs-on: ubuntu-24.04-arm
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/setup-node-and-node-modules
with:
node-version: 22
- run: npm run build
test-vitest:
strategy:
fail-fast: false
matrix:
node: [20, 22]
os: [ubuntu-24.04-arm, macos-latest, windows-11-arm]
node: [22]
os: [macos-latest]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
Expand All @@ -59,33 +34,5 @@ jobs:
tsconfig.tsbuildinfo
key: test-vitest-tools-${{ runner.arch }}-${{ runner.os }}-node-${{ matrix.node }}-${{ github.sha }}
restore-keys: test-vitest-tools-${{ runner.arch }}-${{ runner.os }}-node-${{ matrix.node }}
- run: npm run test:vitest
test-vscode:
strategy:
fail-fast: false
matrix:
node: [20, 22]
os: [ubuntu-24.04-arm, macos-latest, windows-11-arm]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/setup-node-and-node-modules
with:
node-version: ${{ matrix.node }}
- uses: actions/cache@v4
with:
path: |
packages/*/dist
packages/*/tsconfig.build.tsbuildinfo
tsconfig.tsbuildinfo
key: test-vscode-tools-${{ runner.arch }}-${{ runner.os }}-node-${{ matrix.node }}-${{ github.sha }}
restore-keys: test-vscode-tools-${{ runner.arch }}-${{ runner.os }}-node-${{ matrix.node }}
- uses: actions/cache@v4
with:
path: .vscode-test
key: vscode-test-${{ runner.arch }}-${{ runner.os }}-vscode-${{ env.VSCODE_VERSION }}

- run: xvfb-run -a npm run test:vscode
if: runner.os == 'Linux'
- run: npm run test:vscode
if: runner.os != 'Linux'
- run: npm run build
- run: npm run test:vitest -- file-operation -t "updating file"
2 changes: 1 addition & 1 deletion .vscode/launch.json
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,7 @@
"--profile-temp",
"--skip-welcome",
"--folder-uri=${workspaceFolder}/examples/1-basic",
"${workspaceFolder}/examples/1-basic/src/a.tsx"
"${workspaceFolder}/examples/1-basic/index.ts"
],
"preLaunchTask": "npm: build - packages/vscode",
"env": {
Expand Down
4 changes: 4 additions & 0 deletions examples/1-basic/a.module.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
.a_1 {
}
.a-2 {
}
2 changes: 2 additions & 0 deletions examples/1-basic/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
import styles from './a.module.css';
styles.a_1;
11 changes: 0 additions & 11 deletions examples/1-basic/src/a.module.css

This file was deleted.

16 changes: 0 additions & 16 deletions examples/1-basic/src/a.tsx

This file was deleted.

2 changes: 0 additions & 2 deletions examples/1-basic/src/b.module.css

This file was deleted.

2 changes: 0 additions & 2 deletions examples/1-basic/src/c.module.css

This file was deleted.

18 changes: 2 additions & 16 deletions examples/1-basic/tsconfig.json
Original file line number Diff line number Diff line change
@@ -1,18 +1,4 @@
{
"extends": "../../tsconfig.base.json",
"compilerOptions": {
"target": "ES5", // Simplify tsserver.log
"lib": ["ES5"], // Simplify tsserver.log
"module": "Preserve",
"moduleResolution": "bundler",
"jsx": "react-jsx",

"noEmit": true,
"incremental": false,
"rootDirs": [".", "generated"],
"types": [] // Simplify tsserver.log
},
"cmkOptions": {
"enabled": true
}
"compilerOptions": {},
"cmkOptions": {}
}
16 changes: 0 additions & 16 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

25 changes: 16 additions & 9 deletions packages/ts-plugin/e2e-test/file-operation.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ test('adding file', async () => {
`);
});

test('updating file', async () => {
test('updating file', { repeats: 100 - 1 }, async () => {
const tsserver = launchTsserver();
const iff = await createIFF({
'index.ts': dedent`
Expand Down Expand Up @@ -115,15 +115,22 @@ test('updating file', async () => {
`);

// Update a.module.css to have a semantic error
await writeFile(
iff.paths['a.module.css'],
dedent`
.a_1 {}
.a-2 {}
`,
);
await tsserver.sendUpdateOpen({
openFiles: [{ file: iff.paths['a.module.css'] }],
changedFiles: [
{
fileName: iff.paths['a.module.css'],
textChanges: [
{
start: { line: 1, offset: 1 },
end: { line: 1, offset: 1 },
newText: dedent`
.a_1 {}
.a-2 {}
`,
},
],
},
],
});

// The diagnostics in a.module.css are updated
Expand Down
13 changes: 13 additions & 0 deletions scripts/test-vitest-updating-file.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
#!/bin/bash
failed=0
for i in $(seq 1 50); do
if npm run test:vitest -- file-operation.test.ts -t "updating file" > /dev/null 2>&1; then
echo "Attempt #$i: passed"
else
echo -e "\033[31mAttempt #$i: failed\033[0m"
failed=1
fi
done
if [ "$failed" -eq 1 ]; then
exit 1
fi
3 changes: 2 additions & 1 deletion vitest.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ export default defineConfig({
// On GitHub Actions, the Windows runner is slow and tests may fail with the default timeout.
// Therefore, we set the timeout to 10 seconds.
testTimeout: 10_000,
isolate: false,
projects: [
{
extends: true,
Expand All @@ -25,7 +26,7 @@ export default defineConfig({
test: {
name: 'e2e',
include: ['packages/*/e2e-test/**/*.test.ts'],
globalSetup: ['./scripts/vitest-e2e-test-setup.ts'],
// globalSetup: ['./scripts/vitest-e2e-test-setup.ts'],
},
},
],
Expand Down