diff --git a/.eslintrc.js b/.eslintrc.js index e8f875b4bd27..d2af656d9adf 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -1,3 +1,6 @@ +// Note: All paths are relative to the directory in which eslint is being run, rather than the directory where this file +// lives + module.exports = { root: true, env: { @@ -7,20 +10,18 @@ module.exports = { ecmaVersion: 2018, }, extends: ['@sentry-internal/sdk'], - ignorePatterns: [ - 'coverage/**', - 'build/**', - 'dist/**', - 'esm/**', - 'examples/**', - 'scripts/**', - 'test/manual/**', - ], + ignorePatterns: ['coverage/**', 'build/**', 'dist/**', 'esm/**', 'examples/**', 'scripts/**', 'test/manual/**'], overrides: [ { files: ['*.ts', '*.tsx', '*.d.ts'], parserOptions: { - project: './tsconfig.json', + project: ['tsconfig.json'], + }, + }, + { + files: ['test/**/*.ts', 'test/**/*.tsx'], + parserOptions: { + project: ['tsconfig.test.json'], }, }, { diff --git a/packages/angular/package.json b/packages/angular/package.json index d86fc56146e3..42167e8e2195 100644 --- a/packages/angular/package.json +++ b/packages/angular/package.json @@ -37,13 +37,15 @@ "typescript": "3.7.5" }, "scripts": { - "build": "run-p build:es5 build:esm", + "build": "run-p build:cjs build:esm", + "build:cjs": "tsc -p tsconfig.cjs.json", "build:dev": "run-s build", - "build:es5": "tsc -p tsconfig.build.json", + "build:es5": "yarn build:cjs # *** backwards compatibility - remove in v7 ***", "build:esm": "tsc -p tsconfig.esm.json", - "build:watch": "run-p build:es5:watch build:esm:watch", + "build:watch": "run-p build:cjs:watch build:esm:watch", + "build:cjs:watch": "tsc -p tsconfig.cjs.json -w --preserveWatchOutput", "build:dev:watch": "run-s build:watch", - "build:es5:watch": "tsc -p tsconfig.build.json -w --preserveWatchOutput", + "build:es5:watch": "yarn build:cjs:watch # *** backwards compatibility - remove in v7 ***", "build:esm:watch": "tsc -p tsconfig.esm.json -w --preserveWatchOutput", "circularDepCheck": "madge --circular src/index.ts", "clean": "rimraf dist esm build coverage", diff --git a/packages/angular/tsconfig.build.json b/packages/angular/tsconfig.build.json deleted file mode 100644 index c9a3c50c9199..000000000000 --- a/packages/angular/tsconfig.build.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "extends": "../../tsconfig.json", - "compilerOptions": { - "baseUrl": ".", - "outDir": "dist", - "experimentalDecorators": true - }, - "include": ["src/**/*"] -} diff --git a/packages/angular/tsconfig.cjs.json b/packages/angular/tsconfig.cjs.json new file mode 100644 index 000000000000..abd80f77e1ff --- /dev/null +++ b/packages/angular/tsconfig.cjs.json @@ -0,0 +1,8 @@ +{ + "extends": "./tsconfig.json", + + "compilerOptions": { + "module": "commonjs", + "outDir": "dist" + } +} diff --git a/packages/angular/tsconfig.esm.json b/packages/angular/tsconfig.esm.json index 033f59ab0a8d..b6ee3fa615c0 100644 --- a/packages/angular/tsconfig.esm.json +++ b/packages/angular/tsconfig.esm.json @@ -1,9 +1,8 @@ { - "extends": "../../tsconfig.esm.json", + "extends": "./tsconfig.json", + "compilerOptions": { - "baseUrl": ".", - "outDir": "esm", - "experimentalDecorators": true - }, - "include": ["src/**/*"] + "module": "es6", + "outDir": "esm" + } } diff --git a/packages/angular/tsconfig.json b/packages/angular/tsconfig.json index b38e47c761a5..ed785543d690 100644 --- a/packages/angular/tsconfig.json +++ b/packages/angular/tsconfig.json @@ -1,8 +1,10 @@ { - "extends": "./tsconfig.build.json", - "include": ["src/**/*.ts"], - "exclude": ["dist"], + "extends": "../../tsconfig.json", + + "include": ["src/**/*"], + "compilerOptions": { - "rootDir": "." + // package-specific options + "experimentalDecorators": true } } diff --git a/packages/angular/tsconfig.test.json b/packages/angular/tsconfig.test.json new file mode 100644 index 000000000000..af7e36ec0eda --- /dev/null +++ b/packages/angular/tsconfig.test.json @@ -0,0 +1,12 @@ +{ + "extends": "./tsconfig.json", + + "include": ["test/**/*"], + + "compilerOptions": { + // should include all types from `./tsconfig.json` plus types for all test frameworks used + "types": ["jest"] + + // other package-specific, test-specific options + } +} diff --git a/packages/browser/package.json b/packages/browser/package.json index 27c0f8f25723..689de78cf462 100644 --- a/packages/browser/package.json +++ b/packages/browser/package.json @@ -54,15 +54,17 @@ "webpack": "^4.30.0" }, "scripts": { - "build": "run-s build:es5 build:esm build:bundle", + "build": "run-p build:cjs build:esm build:bundle", "build:bundle": "rollup --config", - "build:dev": "run-s build:es5 build:esm", - "build:es5": "tsc -p tsconfig.build.json", + "build:cjs": "tsc -p tsconfig.cjs.json", + "build:dev": "run-p build:cjs build:esm", + "build:es5": "yarn build:cjs # *** backwards compatibility - remove in v7 ***", "build:esm": "tsc -p tsconfig.esm.json", - "build:watch": "run-p build:es5:watch build:esm:watch build:bundle:watch", + "build:watch": "run-p build:cjs:watch build:esm:watch build:bundle:watch", "build:bundle:watch": "rollup --config --watch", - "build:dev:watch": "run-p build:es5:watch build:esm:watch", - "build:es5:watch": "tsc -p tsconfig.build.json -w --preserveWatchOutput", + "build:cjs:watch": "tsc -p tsconfig.cjs.json -w --preserveWatchOutput", + "build:es5:watch": "yarn build:cjs:watch # *** backwards compatibility - remove in v7 ***", + "build:dev:watch": "run-p build:cjs:watch build:esm:watch", "build:esm:watch": "tsc -p tsconfig.esm.json -w --preserveWatchOutput", "circularDepCheck": "madge --circular src/index.ts", "clean": "rimraf dist esm build coverage .rpt2_cache", diff --git a/packages/browser/rollup.config.js b/packages/browser/rollup.config.js index 426dc49c233f..4de85f669aab 100644 --- a/packages/browser/rollup.config.js +++ b/packages/browser/rollup.config.js @@ -37,13 +37,13 @@ const paths = { const plugins = [ typescript({ - tsconfig: 'tsconfig.build.json', + tsconfig: 'tsconfig.esm.json', tsconfigOverride: { compilerOptions: { declaration: false, declarationMap: false, - module: 'ES2015', paths, + baseUrl: '.', }, }, include: ['*.ts+(|x)', '**/*.ts+(|x)', '../**/*.ts+(|x)'], @@ -103,13 +103,13 @@ export default [ }, plugins: [ typescript({ - tsconfig: 'tsconfig.build.json', + tsconfig: 'tsconfig.esm.json', tsconfigOverride: { compilerOptions: { declaration: false, declarationMap: false, - module: 'ES2015', paths, + baseUrl: '.', target: 'es6', }, }, @@ -126,13 +126,13 @@ export default [ }, plugins: [ typescript({ - tsconfig: 'tsconfig.build.json', + tsconfig: 'tsconfig.esm.json', tsconfigOverride: { compilerOptions: { declaration: false, declarationMap: false, - module: 'ES2015', paths, + baseUrl: '.', target: 'es6', }, }, diff --git a/packages/browser/tsconfig.build.json b/packages/browser/tsconfig.build.json deleted file mode 100644 index a263a085c70a..000000000000 --- a/packages/browser/tsconfig.build.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "extends": "../../tsconfig.json", - "compilerOptions": { - "baseUrl": ".", - "outDir": "dist" - }, - "include": ["src/**/*"] -} diff --git a/packages/browser/tsconfig.cjs.json b/packages/browser/tsconfig.cjs.json new file mode 100644 index 000000000000..abd80f77e1ff --- /dev/null +++ b/packages/browser/tsconfig.cjs.json @@ -0,0 +1,8 @@ +{ + "extends": "./tsconfig.json", + + "compilerOptions": { + "module": "commonjs", + "outDir": "dist" + } +} diff --git a/packages/browser/tsconfig.esm.json b/packages/browser/tsconfig.esm.json index 33a3842217d4..b6ee3fa615c0 100644 --- a/packages/browser/tsconfig.esm.json +++ b/packages/browser/tsconfig.esm.json @@ -1,8 +1,8 @@ { - "extends": "../../tsconfig.esm.json", + "extends": "./tsconfig.json", + "compilerOptions": { - "baseUrl": ".", + "module": "es6", "outDir": "esm" - }, - "include": ["src/**/*"] + } } diff --git a/packages/browser/tsconfig.json b/packages/browser/tsconfig.json index a53a9d679770..bf45a09f2d71 100644 --- a/packages/browser/tsconfig.json +++ b/packages/browser/tsconfig.json @@ -1,9 +1,9 @@ { - "extends": "./tsconfig.build.json", - "include": ["src/**/*", "test/**/*"], - "exclude": ["dist"], + "extends": "../../tsconfig.json", + + "include": ["src/**/*"], + "compilerOptions": { - "rootDir": ".", - "types": ["node", "mocha", "chai", "sinon", "jest"] + // package-specific options } } diff --git a/packages/browser/tsconfig.test.json b/packages/browser/tsconfig.test.json new file mode 100644 index 000000000000..03bd27bbfdda --- /dev/null +++ b/packages/browser/tsconfig.test.json @@ -0,0 +1,12 @@ +{ + "extends": "./tsconfig.json", + + "include": ["test/**/*"], + + "compilerOptions": { + // should include all types from `./tsconfig.json` plus types for all test frameworks used + "types": ["node", "mocha", "chai", "sinon", "jest"] + + // other package-specific, test-specific options + } +} diff --git a/packages/core/package.json b/packages/core/package.json index 0f59b7508797..8210fc8c6b58 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -30,13 +30,15 @@ "typescript": "3.7.5" }, "scripts": { - "build": "run-p build:es5 build:esm", + "build": "run-p build:cjs build:esm", + "build:cjs": "tsc -p tsconfig.cjs.json", "build:dev": "run-s build", - "build:es5": "tsc -p tsconfig.build.json", + "build:es5": "yarn build:cjs # *** backwards compatibility - remove in v7 ***", "build:esm": "tsc -p tsconfig.esm.json", - "build:watch": "run-p build:es5:watch build:esm:watch", + "build:watch": "run-p build:cjs:watch build:esm:watch", + "build:cjs:watch": "tsc -p tsconfig.cjs.json -w --preserveWatchOutput", "build:dev:watch": "run-s build:watch", - "build:es5:watch": "tsc -p tsconfig.build.json -w --preserveWatchOutput", + "build:es5:watch": "yarn build:cjs:watch # *** backwards compatibility - remove in v7 ***", "build:esm:watch": "tsc -p tsconfig.esm.json -w --preserveWatchOutput", "circularDepCheck": "madge --circular src/index.ts", "clean": "rimraf dist esm coverage", diff --git a/packages/core/tsconfig.build.json b/packages/core/tsconfig.build.json deleted file mode 100644 index a263a085c70a..000000000000 --- a/packages/core/tsconfig.build.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "extends": "../../tsconfig.json", - "compilerOptions": { - "baseUrl": ".", - "outDir": "dist" - }, - "include": ["src/**/*"] -} diff --git a/packages/core/tsconfig.cjs.json b/packages/core/tsconfig.cjs.json new file mode 100644 index 000000000000..abd80f77e1ff --- /dev/null +++ b/packages/core/tsconfig.cjs.json @@ -0,0 +1,8 @@ +{ + "extends": "./tsconfig.json", + + "compilerOptions": { + "module": "commonjs", + "outDir": "dist" + } +} diff --git a/packages/core/tsconfig.esm.json b/packages/core/tsconfig.esm.json index 33a3842217d4..b6ee3fa615c0 100644 --- a/packages/core/tsconfig.esm.json +++ b/packages/core/tsconfig.esm.json @@ -1,8 +1,8 @@ { - "extends": "../../tsconfig.esm.json", + "extends": "./tsconfig.json", + "compilerOptions": { - "baseUrl": ".", + "module": "es6", "outDir": "esm" - }, - "include": ["src/**/*"] + } } diff --git a/packages/core/tsconfig.json b/packages/core/tsconfig.json index 55b38e135ae2..bf45a09f2d71 100644 --- a/packages/core/tsconfig.json +++ b/packages/core/tsconfig.json @@ -1,9 +1,9 @@ { - "extends": "./tsconfig.build.json", - "include": ["src/**/*.ts", "test/**/*.ts"], - "exclude": ["dist"], + "extends": "../../tsconfig.json", + + "include": ["src/**/*"], + "compilerOptions": { - "rootDir": ".", - "types": ["node", "jest"] + // package-specific options } } diff --git a/packages/core/tsconfig.test.json b/packages/core/tsconfig.test.json new file mode 100644 index 000000000000..87f6afa06b86 --- /dev/null +++ b/packages/core/tsconfig.test.json @@ -0,0 +1,12 @@ +{ + "extends": "./tsconfig.json", + + "include": ["test/**/*"], + + "compilerOptions": { + // should include all types from `./tsconfig.json` plus types for all test frameworks used + "types": ["node", "jest"] + + // other package-specific, test-specific options + } +} diff --git a/packages/gatsby/package.json b/packages/gatsby/package.json index 1e2dcb9dbcdf..918cf7d8549f 100644 --- a/packages/gatsby/package.json +++ b/packages/gatsby/package.json @@ -44,13 +44,15 @@ "typescript": "3.7.5" }, "scripts": { - "build": "run-p build:es5 build:esm", + "build": "run-p build:cjs build:esm", + "build:cjs": "tsc -p tsconfig.cjs.json", "build:dev": "run-s build", - "build:es5": "tsc -p tsconfig.build.json", + "build:es5": "yarn build:cjs # *** backwards compatibility - remove in v7 ***", "build:esm": "tsc -p tsconfig.esm.json", - "build:watch": "run-p build:es5:watch build:esm:watch", + "build:watch": "run-p build:cjs:watch build:esm:watch", + "build:cjs:watch": "tsc -p tsconfig.cjs.json -w --preserveWatchOutput", "build:dev:watch": "run-s build:watch", - "build:es5:watch": "tsc -p tsconfig.build.json -w --preserveWatchOutput", + "build:es5:watch": "yarn build:cjs:watch # *** backwards compatibility - remove in v7 ***", "build:esm:watch": "tsc -p tsconfig.esm.json -w --preserveWatchOutput", "circularDepCheck": "madge --circular src/index.ts", "clean": "rimraf dist esm build coverage", diff --git a/packages/gatsby/tsconfig.build.json b/packages/gatsby/tsconfig.build.json deleted file mode 100644 index 2be251436f7f..000000000000 --- a/packages/gatsby/tsconfig.build.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "extends": "../../tsconfig.json", - "compilerOptions": { - "esModuleInterop": true, - "baseUrl": ".", - "outDir": "dist", - "jsx": "react" - }, - "include": ["src/**/*"] -} diff --git a/packages/gatsby/tsconfig.cjs.json b/packages/gatsby/tsconfig.cjs.json new file mode 100644 index 000000000000..abd80f77e1ff --- /dev/null +++ b/packages/gatsby/tsconfig.cjs.json @@ -0,0 +1,8 @@ +{ + "extends": "./tsconfig.json", + + "compilerOptions": { + "module": "commonjs", + "outDir": "dist" + } +} diff --git a/packages/gatsby/tsconfig.esm.json b/packages/gatsby/tsconfig.esm.json index 1dbb51f174fe..b6ee3fa615c0 100644 --- a/packages/gatsby/tsconfig.esm.json +++ b/packages/gatsby/tsconfig.esm.json @@ -1,10 +1,8 @@ { - "extends": "../../tsconfig.esm.json", + "extends": "./tsconfig.json", + "compilerOptions": { - "esModuleInterop": true, - "baseUrl": ".", - "outDir": "esm", - "jsx": "react" - }, - "include": ["src/**/*"] + "module": "es6", + "outDir": "esm" + } } diff --git a/packages/gatsby/tsconfig.json b/packages/gatsby/tsconfig.json index 51f69374fb5b..f074f990a911 100644 --- a/packages/gatsby/tsconfig.json +++ b/packages/gatsby/tsconfig.json @@ -1,9 +1,11 @@ { - "extends": "./tsconfig.build.json", - "include": ["src/**/*.ts", "test/**/*.ts", "test/integration.test.tsx", "src/**/*.tsx", "test/**/*.tsx"], - "exclude": ["dist"], + "extends": "../../tsconfig.json", + + "include": ["src/**/*"], + "compilerOptions": { - "rootDir": ".", - "types": ["node", "jest"] + // package-specific options + "esModuleInterop": true, + "jsx": "react" } } diff --git a/packages/gatsby/tsconfig.test.json b/packages/gatsby/tsconfig.test.json new file mode 100644 index 000000000000..87f6afa06b86 --- /dev/null +++ b/packages/gatsby/tsconfig.test.json @@ -0,0 +1,12 @@ +{ + "extends": "./tsconfig.json", + + "include": ["test/**/*"], + + "compilerOptions": { + // should include all types from `./tsconfig.json` plus types for all test frameworks used + "types": ["node", "jest"] + + // other package-specific, test-specific options + } +} diff --git a/packages/hub/package.json b/packages/hub/package.json index 142c397a91dd..cbccdcf208a3 100644 --- a/packages/hub/package.json +++ b/packages/hub/package.json @@ -28,13 +28,15 @@ "typescript": "3.7.5" }, "scripts": { - "build": "run-p build:es5 build:esm", + "build": "run-p build:cjs build:esm", + "build:cjs": "tsc -p tsconfig.cjs.json", "build:dev": "run-s build", - "build:es5": "tsc -p tsconfig.build.json", + "build:es5": "yarn build:cjs # *** backwards compatibility - remove in v7 ***", "build:esm": "tsc -p tsconfig.esm.json", - "build:watch": "run-p build:es5:watch build:esm:watch", + "build:watch": "run-p build:cjs:watch build:esm:watch", + "build:cjs:watch": "tsc -p tsconfig.cjs.json -w --preserveWatchOutput", "build:dev:watch": "run-s build:watch", - "build:es5:watch": "tsc -p tsconfig.build.json -w --preserveWatchOutput", + "build:es5:watch": "yarn build:cjs:watch # *** backwards compatibility - remove in v7 ***", "build:esm:watch": "tsc -p tsconfig.esm.json -w --preserveWatchOutput", "circularDepCheck": "madge --circular src/index.ts", "clean": "rimraf dist esm coverage", diff --git a/packages/hub/tsconfig.build.json b/packages/hub/tsconfig.build.json deleted file mode 100644 index c0816d87b819..000000000000 --- a/packages/hub/tsconfig.build.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "extends": "../../tsconfig.json", - "compilerOptions": { - "baseUrl": ".", - "outDir": "dist", - "rootDir": "src" - }, - "include": ["src/**/*.ts"] -} diff --git a/packages/hub/tsconfig.cjs.json b/packages/hub/tsconfig.cjs.json new file mode 100644 index 000000000000..abd80f77e1ff --- /dev/null +++ b/packages/hub/tsconfig.cjs.json @@ -0,0 +1,8 @@ +{ + "extends": "./tsconfig.json", + + "compilerOptions": { + "module": "commonjs", + "outDir": "dist" + } +} diff --git a/packages/hub/tsconfig.esm.json b/packages/hub/tsconfig.esm.json index 33a3842217d4..b6ee3fa615c0 100644 --- a/packages/hub/tsconfig.esm.json +++ b/packages/hub/tsconfig.esm.json @@ -1,8 +1,8 @@ { - "extends": "../../tsconfig.esm.json", + "extends": "./tsconfig.json", + "compilerOptions": { - "baseUrl": ".", + "module": "es6", "outDir": "esm" - }, - "include": ["src/**/*"] + } } diff --git a/packages/hub/tsconfig.json b/packages/hub/tsconfig.json index 7e01ba4e464b..bf45a09f2d71 100644 --- a/packages/hub/tsconfig.json +++ b/packages/hub/tsconfig.json @@ -1,9 +1,9 @@ { - "extends": "./tsconfig.build.json", - "include": ["src/**/*.ts", "test/**/*.ts"], - "exclude": ["dist"], + "extends": "../../tsconfig.json", + + "include": ["src/**/*"], + "compilerOptions": { - "rootDir": ".", - "types": ["jest"] + // package-specific options } } diff --git a/packages/hub/tsconfig.test.json b/packages/hub/tsconfig.test.json new file mode 100644 index 000000000000..af7e36ec0eda --- /dev/null +++ b/packages/hub/tsconfig.test.json @@ -0,0 +1,12 @@ +{ + "extends": "./tsconfig.json", + + "include": ["test/**/*"], + + "compilerOptions": { + // should include all types from `./tsconfig.json` plus types for all test frameworks used + "types": ["jest"] + + // other package-specific, test-specific options + } +} diff --git a/packages/integrations/package.json b/packages/integrations/package.json index 15aa67d886e5..e1a3bcf12a14 100644 --- a/packages/integrations/package.json +++ b/packages/integrations/package.json @@ -35,14 +35,16 @@ "typescript": "3.7.5" }, "scripts": { - "build": "run-p build:es5 build:esm build:bundle", + "build": "run-p build:cjs build:esm build:bundle", "build:bundle": "rollup --config", - "build:dev": "run-s build:es5 build:esm", - "build:es5": "tsc -p tsconfig.build.json", + "build:cjs": "tsc -p tsconfig.cjs.json", + "build:dev": "run-s build:cjs build:esm", + "build:es5": "yarn build:cjs # *** backwards compatibility - remove in v7 ***", "build:esm": "tsc -p tsconfig.esm.json", - "build:watch": "run-p build:es5:watch build:esm:watch", - "build:dev:watch": "run-p build:es5:watch build:esm:watch", - "build:es5:watch": "tsc -p tsconfig.build.json -w --preserveWatchOutput", + "build:watch": "run-p build:cjs:watch build:esm:watch", + "build:cjs:watch": "tsc -p tsconfig.cjs.json -w --preserveWatchOutput", + "build:dev:watch": "run-s build:watch", + "build:es5:watch": "yarn build:cjs:watch # *** backwards compatibility - remove in v7 ***", "build:esm:watch": "tsc -p tsconfig.esm.json -w --preserveWatchOutput", "circularDepCheck": "madge --circular src/index.ts", "clean": "rimraf dist esm build coverage .rpt2_cache", diff --git a/packages/integrations/rollup.config.js b/packages/integrations/rollup.config.js index f05c4cd04d44..39f5aefe7f84 100644 --- a/packages/integrations/rollup.config.js +++ b/packages/integrations/rollup.config.js @@ -18,11 +18,11 @@ const terserInstance = terser({ const plugins = [ typescript({ - tsconfig: 'tsconfig.build.json', + tsconfig: 'tsconfig.esm.json', tsconfigOverride: { compilerOptions: { declaration: false, - module: 'ES2015', + declarationMap: false, paths: { '@sentry/utils': ['../utils/src'], '@sentry/core': ['../core/src'], @@ -30,6 +30,7 @@ const plugins = [ '@sentry/types': ['../types/src'], '@sentry/minimal': ['../minimal/src'], }, + baseUrl: '.', }, }, include: ['*.ts+(|x)', '**/*.ts+(|x)', '../**/*.ts+(|x)'], diff --git a/packages/integrations/tsconfig.build.json b/packages/integrations/tsconfig.build.json deleted file mode 100644 index 731fc26a5330..000000000000 --- a/packages/integrations/tsconfig.build.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "extends": "../../tsconfig.json", - "compilerOptions": { - "declarationMap": false, - "esModuleInterop": true, - "baseUrl": ".", - "outDir": "dist", - "types": ["node"] - }, - "include": ["src/**/*.ts"] -} diff --git a/packages/integrations/tsconfig.cjs.json b/packages/integrations/tsconfig.cjs.json new file mode 100644 index 000000000000..abd80f77e1ff --- /dev/null +++ b/packages/integrations/tsconfig.cjs.json @@ -0,0 +1,8 @@ +{ + "extends": "./tsconfig.json", + + "compilerOptions": { + "module": "commonjs", + "outDir": "dist" + } +} diff --git a/packages/integrations/tsconfig.esm.json b/packages/integrations/tsconfig.esm.json index c43cb7564d49..b6ee3fa615c0 100644 --- a/packages/integrations/tsconfig.esm.json +++ b/packages/integrations/tsconfig.esm.json @@ -1,11 +1,8 @@ { - "extends": "../../tsconfig.esm.json", + "extends": "./tsconfig.json", + "compilerOptions": { - "declarationMap": false, - "esModuleInterop": true, - "baseUrl": ".", - "outDir": "esm", - "types": ["node"] - }, - "include": ["src/**/*"] + "module": "es6", + "outDir": "esm" + } } diff --git a/packages/integrations/tsconfig.json b/packages/integrations/tsconfig.json index 6564f8267130..e5ec1017893d 100644 --- a/packages/integrations/tsconfig.json +++ b/packages/integrations/tsconfig.json @@ -1,10 +1,10 @@ { - "extends": "./tsconfig.build.json", - "include": ["src/**/*.ts", "test/**/*.ts"], - "exclude": ["dist"], + "extends": "../../tsconfig.json", + + "include": ["src/**/*"], + "compilerOptions": { - "declarationMap": false, - "rootDir": ".", - "types": ["node", "jest"] + // package-specific options + "esModuleInterop": true, } } diff --git a/packages/integrations/tsconfig.test.json b/packages/integrations/tsconfig.test.json new file mode 100644 index 000000000000..af7e36ec0eda --- /dev/null +++ b/packages/integrations/tsconfig.test.json @@ -0,0 +1,12 @@ +{ + "extends": "./tsconfig.json", + + "include": ["test/**/*"], + + "compilerOptions": { + // should include all types from `./tsconfig.json` plus types for all test frameworks used + "types": ["jest"] + + // other package-specific, test-specific options + } +} diff --git a/packages/minimal/package.json b/packages/minimal/package.json index c76f1fac21e0..8e4e9132980e 100644 --- a/packages/minimal/package.json +++ b/packages/minimal/package.json @@ -28,13 +28,15 @@ "typescript": "3.7.5" }, "scripts": { - "build": "run-p build:es5 build:esm", + "build": "run-p build:cjs build:esm", + "build:cjs": "tsc -p tsconfig.cjs.json", "build:dev": "run-s build", - "build:es5": "tsc -p tsconfig.build.json", + "build:es5": "yarn build:cjs # *** backwards compatibility - remove in v7 ***", "build:esm": "tsc -p tsconfig.esm.json", - "build:watch": "run-p build:es5:watch build:esm:watch", + "build:watch": "run-p build:cjs:watch build:esm:watch", + "build:cjs:watch": "tsc -p tsconfig.cjs.json -w --preserveWatchOutput", "build:dev:watch": "run-s build:watch", - "build:es5:watch": "tsc -p tsconfig.build.json -w --preserveWatchOutput", + "build:es5:watch": "yarn build:cjs:watch # *** backwards compatibility - remove in v7 ***", "build:esm:watch": "tsc -p tsconfig.esm.json -w --preserveWatchOutput", "circularDepCheck": "madge --circular src/index.ts", "clean": "rimraf dist esm coverage", diff --git a/packages/minimal/tsconfig.build.json b/packages/minimal/tsconfig.build.json deleted file mode 100644 index c0816d87b819..000000000000 --- a/packages/minimal/tsconfig.build.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "extends": "../../tsconfig.json", - "compilerOptions": { - "baseUrl": ".", - "outDir": "dist", - "rootDir": "src" - }, - "include": ["src/**/*.ts"] -} diff --git a/packages/minimal/tsconfig.cjs.json b/packages/minimal/tsconfig.cjs.json new file mode 100644 index 000000000000..abd80f77e1ff --- /dev/null +++ b/packages/minimal/tsconfig.cjs.json @@ -0,0 +1,8 @@ +{ + "extends": "./tsconfig.json", + + "compilerOptions": { + "module": "commonjs", + "outDir": "dist" + } +} diff --git a/packages/minimal/tsconfig.esm.json b/packages/minimal/tsconfig.esm.json index 33a3842217d4..b6ee3fa615c0 100644 --- a/packages/minimal/tsconfig.esm.json +++ b/packages/minimal/tsconfig.esm.json @@ -1,8 +1,8 @@ { - "extends": "../../tsconfig.esm.json", + "extends": "./tsconfig.json", + "compilerOptions": { - "baseUrl": ".", + "module": "es6", "outDir": "esm" - }, - "include": ["src/**/*"] + } } diff --git a/packages/minimal/tsconfig.json b/packages/minimal/tsconfig.json index 55b38e135ae2..bf45a09f2d71 100644 --- a/packages/minimal/tsconfig.json +++ b/packages/minimal/tsconfig.json @@ -1,9 +1,9 @@ { - "extends": "./tsconfig.build.json", - "include": ["src/**/*.ts", "test/**/*.ts"], - "exclude": ["dist"], + "extends": "../../tsconfig.json", + + "include": ["src/**/*"], + "compilerOptions": { - "rootDir": ".", - "types": ["node", "jest"] + // package-specific options } } diff --git a/packages/minimal/tsconfig.test.json b/packages/minimal/tsconfig.test.json new file mode 100644 index 000000000000..87f6afa06b86 --- /dev/null +++ b/packages/minimal/tsconfig.test.json @@ -0,0 +1,12 @@ +{ + "extends": "./tsconfig.json", + + "include": ["test/**/*"], + + "compilerOptions": { + // should include all types from `./tsconfig.json` plus types for all test frameworks used + "types": ["node", "jest"] + + // other package-specific, test-specific options + } +} diff --git a/packages/nextjs/package.json b/packages/nextjs/package.json index 1d4f9b9a0d07..0200d326edd0 100644 --- a/packages/nextjs/package.json +++ b/packages/nextjs/package.json @@ -39,14 +39,16 @@ "webpack": ">= 4.0.0" }, "scripts": { - "build": "run-p build:esm build:es5", + "build": "run-p build:cjs build:esm", + "build:cjs": "tsc -p tsconfig.cjs.json", "build:dev": "run-s build", + "build:es5": "yarn build:cjs # *** backwards compatibility - remove in v7 ***", "build:esm": "tsc -p tsconfig.esm.json", - "build:es5": "tsc -p tsconfig.build.json", - "build:watch": "run-p build:esm:watch build:es5:watch", + "build:watch": "run-p build:cjs:watch build:esm:watch", + "build:cjs:watch": "tsc -p tsconfig.cjs.json -w --preserveWatchOutput", "build:dev:watch": "run-s build:watch", + "build:es5:watch": "yarn build:cjs:watch # *** backwards compatibility - remove in v7 ***", "build:esm:watch": "tsc -p tsconfig.esm.json -w --preserveWatchOutput", - "build:es5:watch": "tsc -p tsconfig.build.json -w --preserveWatchOutput", "circularDepCheck": "madge --circular src/index.client.ts && madge --circular src/index.server.ts", "clean": "rimraf dist esm coverage *.js *.js.map *.d.ts", "fix": "run-s fix:eslint fix:prettier", diff --git a/packages/nextjs/tsconfig.build.json b/packages/nextjs/tsconfig.build.json deleted file mode 100644 index 1a2d4792e8a7..000000000000 --- a/packages/nextjs/tsconfig.build.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "extends": "../../tsconfig.json", - "compilerOptions": { - "baseUrl": ".", - "outDir": "dist", - }, - "include": ["src/**/*.ts"] -} diff --git a/packages/nextjs/tsconfig.cjs.json b/packages/nextjs/tsconfig.cjs.json new file mode 100644 index 000000000000..abd80f77e1ff --- /dev/null +++ b/packages/nextjs/tsconfig.cjs.json @@ -0,0 +1,8 @@ +{ + "extends": "./tsconfig.json", + + "compilerOptions": { + "module": "commonjs", + "outDir": "dist" + } +} diff --git a/packages/nextjs/tsconfig.esm.json b/packages/nextjs/tsconfig.esm.json index 33a3842217d4..b6ee3fa615c0 100644 --- a/packages/nextjs/tsconfig.esm.json +++ b/packages/nextjs/tsconfig.esm.json @@ -1,8 +1,8 @@ { - "extends": "../../tsconfig.esm.json", + "extends": "./tsconfig.json", + "compilerOptions": { - "baseUrl": ".", + "module": "es6", "outDir": "esm" - }, - "include": ["src/**/*"] + } } diff --git a/packages/nextjs/tsconfig.json b/packages/nextjs/tsconfig.json index 55b38e135ae2..bf45a09f2d71 100644 --- a/packages/nextjs/tsconfig.json +++ b/packages/nextjs/tsconfig.json @@ -1,9 +1,9 @@ { - "extends": "./tsconfig.build.json", - "include": ["src/**/*.ts", "test/**/*.ts"], - "exclude": ["dist"], + "extends": "../../tsconfig.json", + + "include": ["src/**/*"], + "compilerOptions": { - "rootDir": ".", - "types": ["node", "jest"] + // package-specific options } } diff --git a/packages/nextjs/tsconfig.test.json b/packages/nextjs/tsconfig.test.json new file mode 100644 index 000000000000..87f6afa06b86 --- /dev/null +++ b/packages/nextjs/tsconfig.test.json @@ -0,0 +1,12 @@ +{ + "extends": "./tsconfig.json", + + "include": ["test/**/*"], + + "compilerOptions": { + // should include all types from `./tsconfig.json` plus types for all test frameworks used + "types": ["node", "jest"] + + // other package-specific, test-specific options + } +} diff --git a/packages/node/package.json b/packages/node/package.json index 201ce9341378..dcf7b3e6c996 100644 --- a/packages/node/package.json +++ b/packages/node/package.json @@ -41,13 +41,15 @@ "typescript": "3.7.5" }, "scripts": { - "build": "run-p build:es5 build:esm", + "build": "run-p build:cjs build:esm", + "build:cjs": "tsc -p tsconfig.cjs.json", "build:dev": "run-s build", - "build:es5": "tsc -p tsconfig.build.json", + "build:es5": "yarn build:cjs # *** backwards compatibility - remove in v7 ***", "build:esm": "tsc -p tsconfig.esm.json", - "build:watch": "run-p build:es5:watch build:esm:watch", + "build:watch": "run-p build:cjs:watch build:esm:watch", + "build:cjs:watch": "tsc -p tsconfig.cjs.json -w --preserveWatchOutput", "build:dev:watch": "run-s build:watch", - "build:es5:watch": "tsc -p tsconfig.build.json -w --preserveWatchOutput", + "build:es5:watch": "yarn build:cjs:watch # *** backwards compatibility - remove in v7 ***", "build:esm:watch": "tsc -p tsconfig.esm.json -w --preserveWatchOutput", "circularDepCheck": "madge --circular src/index.ts", "clean": "rimraf dist esm coverage", diff --git a/packages/node/tsconfig.build.json b/packages/node/tsconfig.build.json deleted file mode 100644 index a263a085c70a..000000000000 --- a/packages/node/tsconfig.build.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "extends": "../../tsconfig.json", - "compilerOptions": { - "baseUrl": ".", - "outDir": "dist" - }, - "include": ["src/**/*"] -} diff --git a/packages/node/tsconfig.cjs.json b/packages/node/tsconfig.cjs.json new file mode 100644 index 000000000000..abd80f77e1ff --- /dev/null +++ b/packages/node/tsconfig.cjs.json @@ -0,0 +1,8 @@ +{ + "extends": "./tsconfig.json", + + "compilerOptions": { + "module": "commonjs", + "outDir": "dist" + } +} diff --git a/packages/node/tsconfig.esm.json b/packages/node/tsconfig.esm.json index 33a3842217d4..b6ee3fa615c0 100644 --- a/packages/node/tsconfig.esm.json +++ b/packages/node/tsconfig.esm.json @@ -1,8 +1,8 @@ { - "extends": "../../tsconfig.esm.json", + "extends": "./tsconfig.json", + "compilerOptions": { - "baseUrl": ".", + "module": "es6", "outDir": "esm" - }, - "include": ["src/**/*"] + } } diff --git a/packages/node/tsconfig.json b/packages/node/tsconfig.json index 55b38e135ae2..bf45a09f2d71 100644 --- a/packages/node/tsconfig.json +++ b/packages/node/tsconfig.json @@ -1,9 +1,9 @@ { - "extends": "./tsconfig.build.json", - "include": ["src/**/*.ts", "test/**/*.ts"], - "exclude": ["dist"], + "extends": "../../tsconfig.json", + + "include": ["src/**/*"], + "compilerOptions": { - "rootDir": ".", - "types": ["node", "jest"] + // package-specific options } } diff --git a/packages/node/tsconfig.test.json b/packages/node/tsconfig.test.json new file mode 100644 index 000000000000..87f6afa06b86 --- /dev/null +++ b/packages/node/tsconfig.test.json @@ -0,0 +1,12 @@ +{ + "extends": "./tsconfig.json", + + "include": ["test/**/*"], + + "compilerOptions": { + // should include all types from `./tsconfig.json` plus types for all test frameworks used + "types": ["node", "jest"] + + // other package-specific, test-specific options + } +} diff --git a/packages/react/package.json b/packages/react/package.json index 863b3f9d61b1..d25790942d4d 100644 --- a/packages/react/package.json +++ b/packages/react/package.json @@ -56,13 +56,15 @@ "typescript": "3.7.5" }, "scripts": { - "build": "run-p build:es5 build:esm", + "build": "run-p build:cjs build:esm", + "build:cjs": "tsc -p tsconfig.cjs.json", "build:dev": "run-s build", - "build:es5": "tsc -p tsconfig.build.json", + "build:es5": "yarn build:cjs # *** backwards compatibility - remove in v7 ***", "build:esm": "tsc -p tsconfig.esm.json", - "build:watch": "run-p build:es5:watch build:esm:watch", + "build:watch": "run-p build:cjs:watch build:esm:watch", + "build:cjs:watch": "tsc -p tsconfig.cjs.json -w --preserveWatchOutput", "build:dev:watch": "run-s build:watch", - "build:es5:watch": "tsc -p tsconfig.build.json -w --preserveWatchOutput", + "build:es5:watch": "yarn build:cjs:watch # *** backwards compatibility - remove in v7 ***", "build:esm:watch": "tsc -p tsconfig.esm.json -w --preserveWatchOutput", "circularDepCheck": "madge --circular src/index.ts", "clean": "rimraf dist esm build coverage", diff --git a/packages/react/tsconfig.build.json b/packages/react/tsconfig.build.json deleted file mode 100644 index 2be251436f7f..000000000000 --- a/packages/react/tsconfig.build.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "extends": "../../tsconfig.json", - "compilerOptions": { - "esModuleInterop": true, - "baseUrl": ".", - "outDir": "dist", - "jsx": "react" - }, - "include": ["src/**/*"] -} diff --git a/packages/react/tsconfig.cjs.json b/packages/react/tsconfig.cjs.json new file mode 100644 index 000000000000..abd80f77e1ff --- /dev/null +++ b/packages/react/tsconfig.cjs.json @@ -0,0 +1,8 @@ +{ + "extends": "./tsconfig.json", + + "compilerOptions": { + "module": "commonjs", + "outDir": "dist" + } +} diff --git a/packages/react/tsconfig.esm.json b/packages/react/tsconfig.esm.json index 1dbb51f174fe..b6ee3fa615c0 100644 --- a/packages/react/tsconfig.esm.json +++ b/packages/react/tsconfig.esm.json @@ -1,10 +1,8 @@ { - "extends": "../../tsconfig.esm.json", + "extends": "./tsconfig.json", + "compilerOptions": { - "esModuleInterop": true, - "baseUrl": ".", - "outDir": "esm", - "jsx": "react" - }, - "include": ["src/**/*"] + "module": "es6", + "outDir": "esm" + } } diff --git a/packages/react/tsconfig.json b/packages/react/tsconfig.json index d627bc66b496..f074f990a911 100644 --- a/packages/react/tsconfig.json +++ b/packages/react/tsconfig.json @@ -1,9 +1,11 @@ { - "extends": "./tsconfig.build.json", - "include": ["src/**/*.ts", "test/**/*.ts", "src/**/*.tsx", "test/**/*.tsx"], - "exclude": ["dist"], + "extends": "../../tsconfig.json", + + "include": ["src/**/*"], + "compilerOptions": { - "rootDir": ".", - "types": ["jest"] + // package-specific options + "esModuleInterop": true, + "jsx": "react" } } diff --git a/packages/react/tsconfig.test.json b/packages/react/tsconfig.test.json new file mode 100644 index 000000000000..af7e36ec0eda --- /dev/null +++ b/packages/react/tsconfig.test.json @@ -0,0 +1,12 @@ +{ + "extends": "./tsconfig.json", + + "include": ["test/**/*"], + + "compilerOptions": { + // should include all types from `./tsconfig.json` plus types for all test frameworks used + "types": ["jest"] + + // other package-specific, test-specific options + } +} diff --git a/packages/serverless/package.json b/packages/serverless/package.json index 35f33fe88676..db409e39be5d 100644 --- a/packages/serverless/package.json +++ b/packages/serverless/package.json @@ -45,15 +45,16 @@ "typescript": "3.7.5" }, "scripts": { - "build": "run-s build:es build:awslambda-layer", + "build": "run-p build:cjs build:esm build:awslambda-layer", "build:awslambda-layer": "node scripts/build-awslambda-layer.js", - "build:dev": "run-s build:es5 build:esm", - "build:es": "run-p build:es5 build:esm", - "build:es5": "tsc -p tsconfig.build.json", + "build:cjs": "tsc -p tsconfig.cjs.json", + "build:dev": "run-s build:cjs build:esm", + "build:es5": "yarn build:cjs # *** backwards compatibility - remove in v7 ***", "build:esm": "tsc -p tsconfig.esm.json", - "build:watch": "run-p build:es5:watch build:esm:watch", - "build:dev:watch": "run-p build:es5:watch build:esm:watch", - "build:es5:watch": "tsc -p tsconfig.build.json -w --preserveWatchOutput", + "build:watch": "run-p build:cjs:watch build:esm:watch", + "build:cjs:watch": "tsc -p tsconfig.cjs.json -w --preserveWatchOutput", + "build:dev:watch": "run-s build:watch", + "build:es5:watch": "yarn build:cjs:watch # *** backwards compatibility - remove in v7 ***", "build:esm:watch": "tsc -p tsconfig.esm.json -w --preserveWatchOutput", "circularDepCheck": "madge --circular src/index.ts", "clean": "rimraf dist esm build dist-awslambda-layer coverage", diff --git a/packages/serverless/tsconfig.cjs.json b/packages/serverless/tsconfig.cjs.json new file mode 100644 index 000000000000..abd80f77e1ff --- /dev/null +++ b/packages/serverless/tsconfig.cjs.json @@ -0,0 +1,8 @@ +{ + "extends": "./tsconfig.json", + + "compilerOptions": { + "module": "commonjs", + "outDir": "dist" + } +} diff --git a/packages/serverless/tsconfig.esm.json b/packages/serverless/tsconfig.esm.json index 8525c205e6c1..b6ee3fa615c0 100644 --- a/packages/serverless/tsconfig.esm.json +++ b/packages/serverless/tsconfig.esm.json @@ -1,9 +1,8 @@ { - "extends": "../../tsconfig.esm.json", - "include": ["src/**/*"], + "extends": "./tsconfig.json", + "compilerOptions": { - "baseUrl": ".", - "outDir": "esm", - "target": "ES2018" + "module": "es6", + "outDir": "esm" } } diff --git a/packages/serverless/tsconfig.json b/packages/serverless/tsconfig.json index 6d12e393a08d..7fccf7258ead 100644 --- a/packages/serverless/tsconfig.json +++ b/packages/serverless/tsconfig.json @@ -1,8 +1,10 @@ { - "extends": "./tsconfig.build.json", - "include": ["src/**/*.ts", "test/**/*.ts"], + "extends": "../../tsconfig.json", + + "include": ["src/**/*"], + "compilerOptions": { - "rootDir": ".", - "types": ["node", "jest"] + // package-specific options + "target": "ES2018", } } diff --git a/packages/serverless/tsconfig.test.json b/packages/serverless/tsconfig.test.json new file mode 100644 index 000000000000..87f6afa06b86 --- /dev/null +++ b/packages/serverless/tsconfig.test.json @@ -0,0 +1,12 @@ +{ + "extends": "./tsconfig.json", + + "include": ["test/**/*"], + + "compilerOptions": { + // should include all types from `./tsconfig.json` plus types for all test frameworks used + "types": ["node", "jest"] + + // other package-specific, test-specific options + } +} diff --git a/packages/tracing/package.json b/packages/tracing/package.json index c4ac9c22b613..5cd6bff8b573 100644 --- a/packages/tracing/package.json +++ b/packages/tracing/package.json @@ -40,15 +40,17 @@ "typescript": "3.7.5" }, "scripts": { - "build": "run-p build:es5 build:esm build:bundle", + "build": "run-p build:cjs build:esm build:bundle", "build:bundle": "rollup --config", - "build:dev": "run-s build:es5 build:esm", - "build:es5": "tsc -p tsconfig.build.json", + "build:cjs": "tsc -p tsconfig.cjs.json", + "build:dev": "run-s build:cjs build:esm", + "build:es5": "yarn build:cjs # *** backwards compatibility - remove in v7 ***", "build:esm": "tsc -p tsconfig.esm.json", - "build:watch": "run-p build:es5:watch build:esm:watch build:bundle:watch", + "build:watch": "run-p build:cjs:watch build:esm:watch build:bundle:watch", "build:bundle:watch": "rollup --config --watch", - "build:dev:watch": "run-p build:es5:watch build:esm:watch", - "build:es5:watch": "tsc -p tsconfig.build.json -w --preserveWatchOutput", + "build:cjs:watch": "tsc -p tsconfig.cjs.json -w --preserveWatchOutput", + "build:dev:watch": "run-s build:watch", + "build:es5:watch": "yarn build:cjs:watch # *** backwards compatibility - remove in v7 ***", "build:esm:watch": "tsc -p tsconfig.esm.json -w --preserveWatchOutput", "clean": "rimraf dist esm build coverage", "circularDepCheck": "madge --circular src/index.ts", diff --git a/packages/tracing/rollup.config.js b/packages/tracing/rollup.config.js index 018af07360ce..9c8e86ba1bdc 100644 --- a/packages/tracing/rollup.config.js +++ b/packages/tracing/rollup.config.js @@ -32,13 +32,13 @@ const paths = { const plugins = [ typescript({ - tsconfig: 'tsconfig.build.json', + tsconfig: 'tsconfig.esm.json', tsconfigOverride: { compilerOptions: { declaration: false, declarationMap: false, - module: 'ES2015', paths, + baseUrl: '.', }, }, include: ['*.ts+(|x)', '**/*.ts+(|x)', '../**/*.ts+(|x)'], diff --git a/packages/tracing/tsconfig.build.json b/packages/tracing/tsconfig.build.json deleted file mode 100644 index a263a085c70a..000000000000 --- a/packages/tracing/tsconfig.build.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "extends": "../../tsconfig.json", - "compilerOptions": { - "baseUrl": ".", - "outDir": "dist" - }, - "include": ["src/**/*"] -} diff --git a/packages/tracing/tsconfig.cjs.json b/packages/tracing/tsconfig.cjs.json new file mode 100644 index 000000000000..abd80f77e1ff --- /dev/null +++ b/packages/tracing/tsconfig.cjs.json @@ -0,0 +1,8 @@ +{ + "extends": "./tsconfig.json", + + "compilerOptions": { + "module": "commonjs", + "outDir": "dist" + } +} diff --git a/packages/tracing/tsconfig.esm.json b/packages/tracing/tsconfig.esm.json index 33a3842217d4..b6ee3fa615c0 100644 --- a/packages/tracing/tsconfig.esm.json +++ b/packages/tracing/tsconfig.esm.json @@ -1,8 +1,8 @@ { - "extends": "../../tsconfig.esm.json", + "extends": "./tsconfig.json", + "compilerOptions": { - "baseUrl": ".", + "module": "es6", "outDir": "esm" - }, - "include": ["src/**/*"] + } } diff --git a/packages/tracing/tsconfig.json b/packages/tracing/tsconfig.json index 55b38e135ae2..bf45a09f2d71 100644 --- a/packages/tracing/tsconfig.json +++ b/packages/tracing/tsconfig.json @@ -1,9 +1,9 @@ { - "extends": "./tsconfig.build.json", - "include": ["src/**/*.ts", "test/**/*.ts"], - "exclude": ["dist"], + "extends": "../../tsconfig.json", + + "include": ["src/**/*"], + "compilerOptions": { - "rootDir": ".", - "types": ["node", "jest"] + // package-specific options } } diff --git a/packages/tracing/tsconfig.test.json b/packages/tracing/tsconfig.test.json new file mode 100644 index 000000000000..87f6afa06b86 --- /dev/null +++ b/packages/tracing/tsconfig.test.json @@ -0,0 +1,12 @@ +{ + "extends": "./tsconfig.json", + + "include": ["test/**/*"], + + "compilerOptions": { + // should include all types from `./tsconfig.json` plus types for all test frameworks used + "types": ["node", "jest"] + + // other package-specific, test-specific options + } +} diff --git a/packages/types/package.json b/packages/types/package.json index 82b64ce2346a..2bff5d023f20 100644 --- a/packages/types/package.json +++ b/packages/types/package.json @@ -21,13 +21,15 @@ "typescript": "3.7.5" }, "scripts": { - "build": "run-p build:es5 build:esm", + "build": "run-p build:cjs build:esm", + "build:cjs": "tsc -p tsconfig.cjs.json", "build:dev": "run-s build", - "build:es5": "tsc -p tsconfig.build.json", + "build:es5": "yarn build:cjs # *** backwards compatibility - remove in v7 ***", "build:esm": "tsc -p tsconfig.esm.json", - "build:watch": "run-p build:es5:watch build:esm:watch", + "build:watch": "run-p build:cjs:watch build:esm:watch", + "build:cjs:watch": "tsc -p tsconfig.cjs.json -w --preserveWatchOutput", "build:dev:watch": "run-s build:watch", - "build:es5:watch": "tsc -p tsconfig.build.json -w --preserveWatchOutput", + "build:es5:watch": "yarn build:cjs:watch # *** backwards compatibility - remove in v7 ***", "build:esm:watch": "tsc -p tsconfig.esm.json -w --preserveWatchOutput", "link:yarn": "yarn link", "lint": "run-s lint:prettier lint:eslint", diff --git a/packages/types/tsconfig.build.json b/packages/types/tsconfig.build.json deleted file mode 100644 index c0816d87b819..000000000000 --- a/packages/types/tsconfig.build.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "extends": "../../tsconfig.json", - "compilerOptions": { - "baseUrl": ".", - "outDir": "dist", - "rootDir": "src" - }, - "include": ["src/**/*.ts"] -} diff --git a/packages/types/tsconfig.cjs.json b/packages/types/tsconfig.cjs.json new file mode 100644 index 000000000000..abd80f77e1ff --- /dev/null +++ b/packages/types/tsconfig.cjs.json @@ -0,0 +1,8 @@ +{ + "extends": "./tsconfig.json", + + "compilerOptions": { + "module": "commonjs", + "outDir": "dist" + } +} diff --git a/packages/types/tsconfig.esm.json b/packages/types/tsconfig.esm.json index 33a3842217d4..b6ee3fa615c0 100644 --- a/packages/types/tsconfig.esm.json +++ b/packages/types/tsconfig.esm.json @@ -1,8 +1,8 @@ { - "extends": "../../tsconfig.esm.json", + "extends": "./tsconfig.json", + "compilerOptions": { - "baseUrl": ".", + "module": "es6", "outDir": "esm" - }, - "include": ["src/**/*"] + } } diff --git a/packages/types/tsconfig.json b/packages/types/tsconfig.json index 5de1fb3c86cd..bf45a09f2d71 100644 --- a/packages/types/tsconfig.json +++ b/packages/types/tsconfig.json @@ -1,9 +1,9 @@ { - "extends": "./tsconfig.build.json", - "include": ["src/**/*.ts"], - "exclude": ["dist"], + "extends": "../../tsconfig.json", + + "include": ["src/**/*"], + "compilerOptions": { - "rootDir": ".", - "types": ["node"] + // package-specific options } } diff --git a/packages/typescript/README.md b/packages/typescript/README.md index 579646066185..e06503ddf511 100644 --- a/packages/typescript/README.md +++ b/packages/typescript/README.md @@ -56,3 +56,5 @@ Add the following config files to your project's root directory: } } ``` + +For an example of how to use this package in a monorepo, check out this package's own parent repo, https://github.com/getsentry/sentry-javascript. diff --git a/packages/typescript/tsconfig.json b/packages/typescript/tsconfig.json index 0c848a656746..81f933d6ba45 100644 --- a/packages/typescript/tsconfig.json +++ b/packages/typescript/tsconfig.json @@ -4,33 +4,33 @@ "declaration": true, "declarationMap": true, "downlevelIteration": true, - "inlineSources": true, "importHelpers": true, + "inlineSources": true, "lib": ["es6", "dom"], - "module": "commonjs", + // "module": "commonjs", // implied by "target" : "es5" "moduleResolution": "node", "noEmitHelpers": true, "noFallthroughCasesInSwitch": true, "noImplicitAny": true, "noImplicitReturns": true, - "noImplicitUseStrict": true, "noImplicitThis": true, + "noImplicitUseStrict": true, "noUnusedLocals": true, "noUnusedParameters": true, - "pretty": true, - "sourceMap": true, - "strict": true, - "target": "es5", - "strictBindCallApply": false, "plugins": [ { "name": "typescript-tslint-plugin", + "configFile": "./tslint.json", "alwaysShowRuleFailuresAsWarnings": false, "ignoreDefinitionFiles": true, - "configFile": "./tslint.json", - "suppressWhileTypeErrorsPresent": false, - "mockTypeScriptVersion": false + "mockTypeScriptVersion": false, + "suppressWhileTypeErrorsPresent": false } - ] + ], + "pretty": true, + "sourceMap": true, + "strict": true, + "strictBindCallApply": false, + "target": "es5" } } diff --git a/packages/typescript/tslint.json b/packages/typescript/tslint.json index cff8840729ba..a739adabaf6a 100644 --- a/packages/typescript/tslint.json +++ b/packages/typescript/tslint.json @@ -18,7 +18,7 @@ "ban-ts-ignore": false, "increment-decrement": false, "promise-function-async": false, - "ban-types": [true, ["async", "Use Promises instead, it add a lot to bundle size."]], + "ban-types": [true, ["async", "Use Promises instead, as async/await adds a lot to bundle size."]], // These are too strict in tslint:all "comment-format": [true, "check-space"], "completed-docs": [ @@ -77,7 +77,8 @@ "variable-name": [true, "check-format", "allow-leading-underscore", "ban-keywords"], "naming-convention": [ true, - // this config will apply to properties AND methods, if you only need it for properties, use "property" instead of "member" + // This config will apply to properties AND methods. If you only need it for properties, use "property" instead of + // "member". { "type": "member", "modifiers": "protected", "leadingUnderscore": "require" }, { "type": "member", "modifiers": "private", "leadingUnderscore": "require" } ], diff --git a/packages/utils/package.json b/packages/utils/package.json index 5e1084652221..737a396e4e23 100644 --- a/packages/utils/package.json +++ b/packages/utils/package.json @@ -30,13 +30,15 @@ "typescript": "3.7.5" }, "scripts": { - "build": "run-p build:es5 build:esm", + "build": "run-p build:cjs build:esm", + "build:cjs": "tsc -p tsconfig.cjs.json", "build:dev": "run-s build", - "build:es5": "tsc -p tsconfig.build.json", + "build:es5": "yarn build:cjs # *** backwards compatibility - remove in v7 ***", "build:esm": "tsc -p tsconfig.esm.json", - "build:watch": "run-p build:es5:watch build:esm:watch", + "build:watch": "run-p build:cjs:watch build:esm:watch", + "build:cjs:watch": "tsc -p tsconfig.cjs.json -w --preserveWatchOutput", "build:dev:watch": "run-s build:watch", - "build:es5:watch": "tsc -p tsconfig.build.json -w --preserveWatchOutput", + "build:es5:watch": "yarn build:cjs:watch # *** backwards compatibility - remove in v7 ***", "build:esm:watch": "tsc -p tsconfig.esm.json -w --preserveWatchOutput", "circularDepCheck": "madge --circular src/index.ts", "clean": "rimraf dist esm coverage *.js *.js.map *.d.ts", diff --git a/packages/utils/tsconfig.build.json b/packages/utils/tsconfig.build.json deleted file mode 100644 index c0816d87b819..000000000000 --- a/packages/utils/tsconfig.build.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "extends": "../../tsconfig.json", - "compilerOptions": { - "baseUrl": ".", - "outDir": "dist", - "rootDir": "src" - }, - "include": ["src/**/*.ts"] -} diff --git a/packages/utils/tsconfig.cjs.json b/packages/utils/tsconfig.cjs.json new file mode 100644 index 000000000000..abd80f77e1ff --- /dev/null +++ b/packages/utils/tsconfig.cjs.json @@ -0,0 +1,8 @@ +{ + "extends": "./tsconfig.json", + + "compilerOptions": { + "module": "commonjs", + "outDir": "dist" + } +} diff --git a/packages/utils/tsconfig.esm.json b/packages/utils/tsconfig.esm.json index 33a3842217d4..b6ee3fa615c0 100644 --- a/packages/utils/tsconfig.esm.json +++ b/packages/utils/tsconfig.esm.json @@ -1,8 +1,8 @@ { - "extends": "../../tsconfig.esm.json", + "extends": "./tsconfig.json", + "compilerOptions": { - "baseUrl": ".", + "module": "es6", "outDir": "esm" - }, - "include": ["src/**/*"] + } } diff --git a/packages/utils/tsconfig.json b/packages/utils/tsconfig.json index 55b38e135ae2..bf45a09f2d71 100644 --- a/packages/utils/tsconfig.json +++ b/packages/utils/tsconfig.json @@ -1,9 +1,9 @@ { - "extends": "./tsconfig.build.json", - "include": ["src/**/*.ts", "test/**/*.ts"], - "exclude": ["dist"], + "extends": "../../tsconfig.json", + + "include": ["src/**/*"], + "compilerOptions": { - "rootDir": ".", - "types": ["node", "jest"] + // package-specific options } } diff --git a/packages/utils/tsconfig.test.json b/packages/utils/tsconfig.test.json new file mode 100644 index 000000000000..87f6afa06b86 --- /dev/null +++ b/packages/utils/tsconfig.test.json @@ -0,0 +1,12 @@ +{ + "extends": "./tsconfig.json", + + "include": ["test/**/*"], + + "compilerOptions": { + // should include all types from `./tsconfig.json` plus types for all test frameworks used + "types": ["node", "jest"] + + // other package-specific, test-specific options + } +} diff --git a/packages/vue/package.json b/packages/vue/package.json index f8e4e89170ad..d0db55df6c73 100644 --- a/packages/vue/package.json +++ b/packages/vue/package.json @@ -42,15 +42,17 @@ "typescript": "3.7.5" }, "scripts": { - "build": "run-p build:es5 build:esm build:bundle", + "build": "run-p build:cjs build:esm build:bundle", "build:bundle": "rollup --config", - "build:dev": "run-s build:es5 build:esm", - "build:es5": "tsc -p tsconfig.build.json", + "build:cjs": "tsc -p tsconfig.cjs.json", + "build:dev": "run-s build:cjs build:esm", + "build:es5": "yarn build:cjs # *** backwards compatibility - remove in v7 ***", "build:esm": "tsc -p tsconfig.esm.json", - "build:watch": "run-p build:es5:watch build:esm:watch", + "build:watch": "run-p build:cjs:watch build:esm:watch", "build:bundle:watch": "rollup --config --watch", - "build:dev:watch": "run-p build:es5:watch build:esm:watch", - "build:es5:watch": "tsc -p tsconfig.build.json -w --preserveWatchOutput", + "build:cjs:watch": "tsc -p tsconfig.cjs.json -w --preserveWatchOutput", + "build:dev:watch": "run-s build:watch", + "build:es5:watch": "yarn build:cjs:watch # *** backwards compatibility - remove in v7 ***", "build:esm:watch": "tsc -p tsconfig.esm.json -w --preserveWatchOutput", "circularDepCheck": "madge --circular src/index.ts", "clean": "rimraf dist esm build coverage", diff --git a/packages/vue/rollup.config.js b/packages/vue/rollup.config.js index a704204fed4d..aeaba1e91899 100644 --- a/packages/vue/rollup.config.js +++ b/packages/vue/rollup.config.js @@ -32,13 +32,13 @@ const paths = { const plugins = [ typescript({ - tsconfig: 'tsconfig.build.json', + tsconfig: 'tsconfig.esm.json', tsconfigOverride: { compilerOptions: { declaration: false, declarationMap: false, - module: 'ES2015', paths, + baseUrl: '.', }, }, include: ['*.ts+(|x)', '**/*.ts+(|x)', '../**/*.ts+(|x)'], diff --git a/packages/vue/tsconfig.build.json b/packages/vue/tsconfig.build.json deleted file mode 100644 index f7609a2a50dd..000000000000 --- a/packages/vue/tsconfig.build.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "extends": "../../tsconfig.json", - "compilerOptions": { - "esModuleInterop": true, - "baseUrl": ".", - "outDir": "dist" - }, - "include": ["src/**/*"] -} diff --git a/packages/vue/tsconfig.cjs.json b/packages/vue/tsconfig.cjs.json new file mode 100644 index 000000000000..abd80f77e1ff --- /dev/null +++ b/packages/vue/tsconfig.cjs.json @@ -0,0 +1,8 @@ +{ + "extends": "./tsconfig.json", + + "compilerOptions": { + "module": "commonjs", + "outDir": "dist" + } +} diff --git a/packages/vue/tsconfig.esm.json b/packages/vue/tsconfig.esm.json index 96604642e942..b6ee3fa615c0 100644 --- a/packages/vue/tsconfig.esm.json +++ b/packages/vue/tsconfig.esm.json @@ -1,9 +1,8 @@ { - "extends": "../../tsconfig.esm.json", + "extends": "./tsconfig.json", + "compilerOptions": { - "esModuleInterop": true, - "baseUrl": ".", + "module": "es6", "outDir": "esm" - }, - "include": ["src/**/*"] + } } diff --git a/packages/vue/tsconfig.json b/packages/vue/tsconfig.json index d627bc66b496..e5ec1017893d 100644 --- a/packages/vue/tsconfig.json +++ b/packages/vue/tsconfig.json @@ -1,9 +1,10 @@ { - "extends": "./tsconfig.build.json", - "include": ["src/**/*.ts", "test/**/*.ts", "src/**/*.tsx", "test/**/*.tsx"], - "exclude": ["dist"], + "extends": "../../tsconfig.json", + + "include": ["src/**/*"], + "compilerOptions": { - "rootDir": ".", - "types": ["jest"] + // package-specific options + "esModuleInterop": true, } } diff --git a/packages/vue/tsconfig.test.json b/packages/vue/tsconfig.test.json new file mode 100644 index 000000000000..af7e36ec0eda --- /dev/null +++ b/packages/vue/tsconfig.test.json @@ -0,0 +1,12 @@ +{ + "extends": "./tsconfig.json", + + "include": ["test/**/*"], + + "compilerOptions": { + // should include all types from `./tsconfig.json` plus types for all test frameworks used + "types": ["jest"] + + // other package-specific, test-specific options + } +} diff --git a/packages/wasm/package.json b/packages/wasm/package.json index 1610869d5e58..af3914604beb 100644 --- a/packages/wasm/package.json +++ b/packages/wasm/package.json @@ -40,14 +40,16 @@ "typescript": "3.7.5" }, "scripts": { - "build": "run-p build:es5 build:esm build:bundle", + "build": "run-p build:cjs build:esm build:bundle", "build:bundle": "rollup --config", - "build:dev": "run-s build:es5 build:esm", - "build:es5": "tsc -p tsconfig.build.json", + "build:cjs": "tsc -p tsconfig.cjs.json", + "build:dev": "run-s build:cjs build:esm", + "build:es5": "yarn build:cjs # *** backwards compatibility - remove in v7 ***", "build:esm": "tsc -p tsconfig.esm.json", - "build:watch": "run-p build:es5:watch build:esm:watch", - "build:dev:watch": "run-p build:es5:watch build:esm:watch", - "build:es5:watch": "tsc -p tsconfig.build.json -w --preserveWatchOutput", + "build:watch": "run-p build:cjs:watch build:esm:watch", + "build:cjs:watch": "tsc -p tsconfig.cjs.json -w --preserveWatchOutput", + "build:dev:watch": "run-s build:watch", + "build:es5:watch": "yarn build:cjs:watch # *** backwards compatibility - remove in v7 ***", "build:esm:watch": "tsc -p tsconfig.esm.json -w --preserveWatchOutput", "circularDepCheck": "madge --circular src/index.ts", "clean": "rimraf dist esm coverage *.js.map *.d.ts", diff --git a/packages/wasm/rollup.config.js b/packages/wasm/rollup.config.js index 8ffee6e9832e..65141f785e8b 100644 --- a/packages/wasm/rollup.config.js +++ b/packages/wasm/rollup.config.js @@ -16,11 +16,11 @@ const terserInstance = terser({ const plugins = [ typescript({ - tsconfig: 'tsconfig.build.json', + tsconfig: 'tsconfig.esm.json', tsconfigOverride: { compilerOptions: { declaration: false, - module: 'ES2015', + declarationMap: false, paths: { '@sentry/utils': ['../utils/src'], '@sentry/core': ['../core/src'], @@ -28,6 +28,7 @@ const plugins = [ '@sentry/types': ['../types/src'], '@sentry/minimal': ['../minimal/src'], }, + baseUrl: '.', }, }, include: ['*.ts+(|x)', '**/*.ts+(|x)', '../**/*.ts+(|x)'], diff --git a/packages/wasm/tsconfig.build.json b/packages/wasm/tsconfig.build.json deleted file mode 100644 index 39e447d61f50..000000000000 --- a/packages/wasm/tsconfig.build.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "extends": "../../tsconfig.json", - "compilerOptions": { - "declarationMap": false, - "baseUrl": ".", - "outDir": "dist" - }, - "include": ["src/**/*.ts"] -} diff --git a/packages/wasm/tsconfig.cjs.json b/packages/wasm/tsconfig.cjs.json new file mode 100644 index 000000000000..abd80f77e1ff --- /dev/null +++ b/packages/wasm/tsconfig.cjs.json @@ -0,0 +1,8 @@ +{ + "extends": "./tsconfig.json", + + "compilerOptions": { + "module": "commonjs", + "outDir": "dist" + } +} diff --git a/packages/wasm/tsconfig.esm.json b/packages/wasm/tsconfig.esm.json index d6105091a40f..b6ee3fa615c0 100644 --- a/packages/wasm/tsconfig.esm.json +++ b/packages/wasm/tsconfig.esm.json @@ -1,9 +1,8 @@ { - "extends": "../../tsconfig.esm.json", + "extends": "./tsconfig.json", + "compilerOptions": { - "declarationMap": false, - "baseUrl": ".", + "module": "es6", "outDir": "esm" - }, - "include": ["src/**/*"] + } } diff --git a/packages/wasm/tsconfig.json b/packages/wasm/tsconfig.json index 498baaa4769b..e5ec1017893d 100644 --- a/packages/wasm/tsconfig.json +++ b/packages/wasm/tsconfig.json @@ -1,11 +1,10 @@ { - "extends": "./tsconfig.build.json", - "include": ["src/**/*.ts", "test/**/*.ts"], - "exclude": ["dist"], + "extends": "../../tsconfig.json", + + "include": ["src/**/*"], + "compilerOptions": { + // package-specific options "esModuleInterop": true, - "declarationMap": false, - "rootDir": ".", - "types": ["node", "jest", "jest-environment-puppeteer"] } } diff --git a/packages/wasm/tsconfig.test.json b/packages/wasm/tsconfig.test.json new file mode 100644 index 000000000000..5b7cf7060756 --- /dev/null +++ b/packages/wasm/tsconfig.test.json @@ -0,0 +1,12 @@ +{ + "extends": "./tsconfig.json", + + "include": ["test/**/*"], + + "compilerOptions": { + // should include all types from `./tsconfig.json` plus types for all test frameworks used + "types": ["node", "jest", "jest-environment-puppeteer"] + + // other package-specific, test-specific options + } +} diff --git a/tsconfig-templates/README.md b/tsconfig-templates/README.md new file mode 100644 index 000000000000..53eaa2d7d832 --- /dev/null +++ b/tsconfig-templates/README.md @@ -0,0 +1,5 @@ +# `tsconfig` Templates + +Every package should get its own copy of these four files. Package-specific options should go in `tsconfig.json` and +test-specific options in `tsconfig.test.json`. The `cjs` and `esm` files shouldn't need to be modified, and only exist +because tsconfigs don't support multiple inheritence. diff --git a/tsconfig-templates/tsconfig.cjs.json b/tsconfig-templates/tsconfig.cjs.json new file mode 100644 index 000000000000..abd80f77e1ff --- /dev/null +++ b/tsconfig-templates/tsconfig.cjs.json @@ -0,0 +1,8 @@ +{ + "extends": "./tsconfig.json", + + "compilerOptions": { + "module": "commonjs", + "outDir": "dist" + } +} diff --git a/tsconfig.esm.json b/tsconfig-templates/tsconfig.esm.json similarity index 60% rename from tsconfig.esm.json rename to tsconfig-templates/tsconfig.esm.json index 2d7d146b93ae..b6ee3fa615c0 100644 --- a/tsconfig.esm.json +++ b/tsconfig-templates/tsconfig.esm.json @@ -1,7 +1,8 @@ { "extends": "./tsconfig.json", + "compilerOptions": { - "target": "es5", - "module": "es6" + "module": "es6", + "outDir": "esm" } } diff --git a/packages/serverless/tsconfig.build.json b/tsconfig-templates/tsconfig.json similarity index 59% rename from packages/serverless/tsconfig.build.json rename to tsconfig-templates/tsconfig.json index b68ed0942a0d..bf45a09f2d71 100644 --- a/packages/serverless/tsconfig.build.json +++ b/tsconfig-templates/tsconfig.json @@ -1,9 +1,9 @@ { "extends": "../../tsconfig.json", + "include": ["src/**/*"], + "compilerOptions": { - "baseUrl": ".", - "outDir": "dist", - "target": "ES2018" + // package-specific options } } diff --git a/tsconfig-templates/tsconfig.test.json b/tsconfig-templates/tsconfig.test.json new file mode 100644 index 000000000000..af7e36ec0eda --- /dev/null +++ b/tsconfig-templates/tsconfig.test.json @@ -0,0 +1,12 @@ +{ + "extends": "./tsconfig.json", + + "include": ["test/**/*"], + + "compilerOptions": { + // should include all types from `./tsconfig.json` plus types for all test frameworks used + "types": ["jest"] + + // other package-specific, test-specific options + } +} diff --git a/tsconfig.json b/tsconfig.json index 5e72a5c81b5e..7dd191ead9ef 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,12 +1,9 @@ { "extends": "./packages/typescript/tsconfig.json", + "compilerOptions": { - "baseUrl": "packages", "allowSyntheticDefaultImports": true, "types": ["node"], - "paths": { - "@sentry/*": ["*/src"] - }, - "noErrorTruncation": true + "noErrorTruncation": true // move me up to @sentry/typescript } }