diff --git a/.vscode/launch.json b/.vscode/launch.json index c046791af..dba0be7a1 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -4,70 +4,37 @@ { "type": "node", "request": "launch", - "name": "Jest Current File", - "program": "${workspaceFolder}/node_modules/.bin/jest", - "args": ["--testTimeout=100000", "--findRelatedTests", "${relativeFile}"], - "console": "integratedTerminal", - "internalConsoleOptions": "neverOpen", - "skipFiles": ["/**"] - }, - { - "type": "node", - "request": "launch", - "name": "Jest Watch Current File", + "name": "Jest - run only related tests for current file", "program": "${workspaceFolder}/node_modules/.bin/jest", "args": [ "--testTimeout=100000", - "--watch", "--findRelatedTests", - "${relativeFile}" + "--runInBand", + "--verbose", + "${relativeFile}", + "${input:additionalJestArgs}" ], "console": "integratedTerminal", "internalConsoleOptions": "neverOpen", "skipFiles": ["/**"] }, { - "name": "Run Jest Tests for Current Package", + "name": "Jest - run _all_ tests for current file's package", "type": "node", "request": "launch", "program": "${workspaceFolder}/node_modules/.bin/jest", - "args": ["--testTimeout=100000"], - "console": "integratedTerminal", - "internalConsoleOptions": "neverOpen", - "cwd": "${fileDirname}" - }, - { - "type": "node", - "name": "Jest All", - "request": "launch", - "args": [ - "--testTimeout=100000", - "-c", - "${workspaceFolder}/jest.config.js" - ], - "cwd": "${workspaceFolder}", - "console": "integratedTerminal", - "internalConsoleOptions": "neverOpen", - "program": "${workspaceFolder}/node_modules/jest/bin/jest", - "skipFiles": ["/**"] - }, - { - "type": "node", - "name": "Jest All: Browser", - "request": "launch", "args": [ "--testTimeout=100000", - "-c", - "${workspaceFolder}/packages/browser/jest.config.js" + "--runInBand", + "${input:additionalJestArgs}" ], - "cwd": "${workspaceFolder}", "console": "integratedTerminal", "internalConsoleOptions": "neverOpen", - "program": "${workspaceFolder}/node_modules/jest/bin/jest", - "skipFiles": ["/**"] + "skipFiles": ["/**"], + "cwd": "${fileDirname}" }, { - "name": "ts-node Current File", + "name": "ts-node - execute current .ts file/script", "type": "node", "request": "launch", "args": ["${relativeFile}"], @@ -75,5 +42,26 @@ "cwd": "${workspaceRoot}", "internalConsoleOptions": "openOnSessionStart" } + ], + "inputs": [ + { + "id": "additionalJestArgs", + "type": "pickString", + "description": "(Optional) Select additional Jest arguments", + "options": [ + { "label": "none", "value": "" }, + { "label": "", "value": "--watch" }, + { "label": "", "value": "--updateSnapshot" }, + { "label": "", "value": "--coverage" }, + { "label": "", "value": "--runInBand" } + ], + "default": "" + }, + { + "id": "packageName", + "type": "pickString", + "description": "Select a package to debug", + "options": ["@segment/analytics-", "package-b", "package-c"] + } ] } diff --git a/package.json b/package.json index 55e7f3f10..7f0cc1163 100644 --- a/package.json +++ b/package.json @@ -17,10 +17,11 @@ "test:check-dts": "yarn build && yarn ts-node meta-tests/check-dts.ts", "test:node-int": "turbo run --filter=node-integration-tests test", "lint": "yarn constraints && turbo run lint --continue", + "typecheck": "turbo run tsc --filter='./packages/**'", "build": "turbo run build --filter='./packages/**'", "watch": "turbo run watch --filter='./packages/**'", "dev": "yarn workspace @playground/next-playground run dev", - "prepush": "turbo run lint --filter='...[master...HEAD]'", + "prepush": "turbo run tsc --affected", "postinstall": "husky install", "changeset": "changeset", "update-versions-and-changelogs": "changeset version && yarn version-run-all && bash scripts/update-lockfile.sh", diff --git a/packages/browser/tsconfig.build.json b/packages/browser/tsconfig.build.json index ae2c8deae..2ce0b6877 100644 --- a/packages/browser/tsconfig.build.json +++ b/packages/browser/tsconfig.build.json @@ -3,6 +3,7 @@ "include": ["src"], "exclude": ["**/__tests__/**", "**/test-helpers/**", "**/tester/**"], "compilerOptions": { + "noEmit": false, "outDir": "./dist/pkg", "declarationDir": "./dist/types" } diff --git a/packages/consent/consent-tools/tsconfig.build.json b/packages/consent/consent-tools/tsconfig.build.json index b74e28ced..9dd151989 100644 --- a/packages/consent/consent-tools/tsconfig.build.json +++ b/packages/consent/consent-tools/tsconfig.build.json @@ -3,6 +3,7 @@ "include": ["src"], "exclude": ["**/__tests__/**"], "compilerOptions": { + "noEmit": false, "outDir": "./dist/esm", "declarationDir": "./dist/types" } diff --git a/packages/consent/consent-wrapper-onetrust/tsconfig.build.json b/packages/consent/consent-wrapper-onetrust/tsconfig.build.json index c11c2b9dd..6b091bfd8 100644 --- a/packages/consent/consent-wrapper-onetrust/tsconfig.build.json +++ b/packages/consent/consent-wrapper-onetrust/tsconfig.build.json @@ -3,6 +3,7 @@ "include": ["src"], "exclude": ["**/__tests__/**", "**/test-helpers/**"], "compilerOptions": { + "noEmit": false, "outDir": "./dist/esm", "declarationDir": "./dist/types" } diff --git a/packages/core/tsconfig.build.json b/packages/core/tsconfig.build.json index 830170446..59298244b 100644 --- a/packages/core/tsconfig.build.json +++ b/packages/core/tsconfig.build.json @@ -3,6 +3,7 @@ "include": ["src"], "exclude": ["**/__tests__/**", "**/*.test.*"], "compilerOptions": { + "noEmit": false, "outDir": "./dist/esm", "declarationDir": "./dist/types" } diff --git a/packages/generic-utils/tsconfig.build.json b/packages/generic-utils/tsconfig.build.json index 830170446..59298244b 100644 --- a/packages/generic-utils/tsconfig.build.json +++ b/packages/generic-utils/tsconfig.build.json @@ -3,6 +3,7 @@ "include": ["src"], "exclude": ["**/__tests__/**", "**/*.test.*"], "compilerOptions": { + "noEmit": false, "outDir": "./dist/esm", "declarationDir": "./dist/types" } diff --git a/packages/node/tsconfig.build.json b/packages/node/tsconfig.build.json index b74e28ced..9dd151989 100644 --- a/packages/node/tsconfig.build.json +++ b/packages/node/tsconfig.build.json @@ -3,6 +3,7 @@ "include": ["src"], "exclude": ["**/__tests__/**"], "compilerOptions": { + "noEmit": false, "outDir": "./dist/esm", "declarationDir": "./dist/types" } diff --git a/packages/page-tools/tsconfig.build.json b/packages/page-tools/tsconfig.build.json index 55432f7ad..8b6e17dc1 100644 --- a/packages/page-tools/tsconfig.build.json +++ b/packages/page-tools/tsconfig.build.json @@ -3,6 +3,7 @@ "include": ["src"], "exclude": ["**/__tests__/**"], "compilerOptions": { + "noEmit": false // Options tsup Ignores: // module: tsup always outputs ESM or CommonJS based on its --format option. // outDir: tsup uses its own --out-dir option to control output. diff --git a/packages/signals/signals-runtime/tsconfig.build.json b/packages/signals/signals-runtime/tsconfig.build.json index c11c2b9dd..6b091bfd8 100644 --- a/packages/signals/signals-runtime/tsconfig.build.json +++ b/packages/signals/signals-runtime/tsconfig.build.json @@ -3,6 +3,7 @@ "include": ["src"], "exclude": ["**/__tests__/**", "**/test-helpers/**"], "compilerOptions": { + "noEmit": false, "outDir": "./dist/esm", "declarationDir": "./dist/types" } diff --git a/packages/signals/signals/tsconfig.build.json b/packages/signals/signals/tsconfig.build.json index c11c2b9dd..6b091bfd8 100644 --- a/packages/signals/signals/tsconfig.build.json +++ b/packages/signals/signals/tsconfig.build.json @@ -3,6 +3,7 @@ "include": ["src"], "exclude": ["**/__tests__/**", "**/test-helpers/**"], "compilerOptions": { + "noEmit": false, "outDir": "./dist/esm", "declarationDir": "./dist/types" } diff --git a/packages/test-helpers/tsconfig.build.json b/packages/test-helpers/tsconfig.build.json index 830170446..59298244b 100644 --- a/packages/test-helpers/tsconfig.build.json +++ b/packages/test-helpers/tsconfig.build.json @@ -3,6 +3,7 @@ "include": ["src"], "exclude": ["**/__tests__/**", "**/*.test.*"], "compilerOptions": { + "noEmit": false, "outDir": "./dist/esm", "declarationDir": "./dist/types" } diff --git a/tsconfig.json b/tsconfig.json index 249c71204..4150021c2 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -9,7 +9,8 @@ "sourceMap": true, "declaration": true, "declarationMap": true, - "importHelpers": true + "importHelpers": true, + "noEmit": true }, "ts-node": { "transpileOnly": true, diff --git a/turbo.json b/turbo.json index 095bceb5b..959f99e86 100644 --- a/turbo.json +++ b/turbo.json @@ -47,7 +47,7 @@ ] }, "tsc": { - "cache": false + "dependsOn": ["^build:esm"] }, "assert-generated": { "cache": false