diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 95edb91c8..dde27a8ee 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -24,6 +24,7 @@ jobs: node-version: ${{ matrix.node-version }} - run: npm ci - run: npm run test + - run: npm run test:types - run: npm run check-formatting - run: npm run lint - run: npm run build diff --git a/package.json b/package.json index 00153a688..c2d34c73d 100644 --- a/package.json +++ b/package.json @@ -22,6 +22,7 @@ "build:devtools-chrome": "node tools/devtools/build.mjs --browser=chrome --env=production", "build:devtools-firefox": "node tools/devtools/build.mjs --browser=firefox --env=production", "test": "npm run test -w packages/owl", + "test:types": "npm run test:types -w packages/owl", "test:doc-links": "vitest run --config tools/vitest.config.ts", "build:playground": "npm run build -w tools/playground", "build:site": "npm run build && npm run build:playground && node tools/site/assemble.mjs", diff --git a/packages/owl/build.mjs b/packages/owl/build.mjs index ffb1ca50c..c1588f645 100644 --- a/packages/owl/build.mjs +++ b/packages/owl/build.mjs @@ -72,7 +72,7 @@ async function buildCompiler() { function buildTypes() { mkdirSync("dist/types", { recursive: true }); execSync( - "npx dts-bundle-generator --project tsconfig.json -o dist/types/owl.d.ts src/index.ts --no-banner", + "npx dts-bundle-generator --project tsconfig.build.json -o dist/types/owl.d.ts src/index.ts --no-banner", { stdio: "inherit" } ); } diff --git a/packages/owl/package.json b/packages/owl/package.json index 5a6361816..e3b2d52b0 100644 --- a/packages/owl/package.json +++ b/packages/owl/package.json @@ -29,7 +29,8 @@ "build": "npm run build:bundle", "build:types": "node build.mjs types", "test": "vitest run", - "test:watch": "vitest" + "test:watch": "vitest", + "test:types": "tsc" }, "repository": { "type": "git", diff --git a/packages/owl/tests/helpers.ts b/packages/owl/tests/helpers.ts index e93f7d255..bba5deac0 100644 --- a/packages/owl/tests/helpers.ts +++ b/packages/owl/tests/helpers.ts @@ -277,9 +277,9 @@ expect.extend({ }, }); -export function nextAppError(app: any) { - let resolve: (value: any) => void; - const result = new Promise((res) => (resolve = res)); +export function nextAppError(app: any): Promise { + let resolve: (value: Error) => void; + const result = new Promise((res) => (resolve = res)); const original = app._handleError; app._handleError = (error: any) => { diff --git a/packages/owl/tsconfig.build.json b/packages/owl/tsconfig.build.json new file mode 100644 index 000000000..d826016af --- /dev/null +++ b/packages/owl/tsconfig.build.json @@ -0,0 +1,11 @@ +{ + "extends": "../../tsconfig.base.json", + "include": [ + "src/**/*.ts", + "src/*.ts" + ], + "compilerOptions": { + "outDir": "dist", + "declarationDir": "dist/types" + } +} diff --git a/packages/owl/tsconfig.json b/packages/owl/tsconfig.json index d826016af..f54f6ba90 100644 --- a/packages/owl/tsconfig.json +++ b/packages/owl/tsconfig.json @@ -2,10 +2,12 @@ "extends": "../../tsconfig.base.json", "include": [ "src/**/*.ts", - "src/*.ts" + "tests/**/*.ts" ], "compilerOptions": { - "outDir": "dist", - "declarationDir": "dist/types" + "noEmit": true, + "module": "ESNext", + "moduleResolution": "bundler", + "types": ["node", "vitest/globals"] } }