From d6f983a47a5ba826d07e30a4b87790abd07f3bb6 Mon Sep 17 00:00:00 2001 From: Daniel Dyla Date: Fri, 18 Dec 2020 09:16:18 -0500 Subject: [PATCH] chore: speed up builds (#1748) --- .../node10/tsconfig.json | 18 +++ .../node12/tsconfig.json | 18 +++ .../node8/tsconfig.json | 18 +++ api/package.json | 11 +- api/packages/opentelemetry-api/tsconfig.json | 13 +- .../opentelemetry-context-base/package.json | 10 +- .../opentelemetry-context-base/tsconfig.json | 2 +- api/tsconfig.base.json | 25 ++++ api/tsconfig.docs.json | 15 +++ api/tsconfig.es5.json | 6 + api/tsconfig.json | 117 ++++++++++++++++++ 11 files changed, 233 insertions(+), 20 deletions(-) create mode 100644 api/backwards-compatability/node10/tsconfig.json create mode 100644 api/backwards-compatability/node12/tsconfig.json create mode 100644 api/backwards-compatability/node8/tsconfig.json create mode 100644 api/tsconfig.base.json create mode 100644 api/tsconfig.docs.json create mode 100644 api/tsconfig.es5.json create mode 100644 api/tsconfig.json diff --git a/api/backwards-compatability/node10/tsconfig.json b/api/backwards-compatability/node10/tsconfig.json new file mode 100644 index 00000000000..0e5977e0b9f --- /dev/null +++ b/api/backwards-compatability/node10/tsconfig.json @@ -0,0 +1,18 @@ +{ + "extends": "../../tsconfig.es5.json", + "compilerOptions": { + "rootDir": ".", + "outDir": "build" + }, + "include": [ + "index.ts" + ], + "references": [ + { + "path": "../../packages/opentelemetry-sdk-node" + }, + { + "path": "../../packages/opentelemetry-tracing" + } + ] +} diff --git a/api/backwards-compatability/node12/tsconfig.json b/api/backwards-compatability/node12/tsconfig.json new file mode 100644 index 00000000000..0e5977e0b9f --- /dev/null +++ b/api/backwards-compatability/node12/tsconfig.json @@ -0,0 +1,18 @@ +{ + "extends": "../../tsconfig.es5.json", + "compilerOptions": { + "rootDir": ".", + "outDir": "build" + }, + "include": [ + "index.ts" + ], + "references": [ + { + "path": "../../packages/opentelemetry-sdk-node" + }, + { + "path": "../../packages/opentelemetry-tracing" + } + ] +} diff --git a/api/backwards-compatability/node8/tsconfig.json b/api/backwards-compatability/node8/tsconfig.json new file mode 100644 index 00000000000..0e5977e0b9f --- /dev/null +++ b/api/backwards-compatability/node8/tsconfig.json @@ -0,0 +1,18 @@ +{ + "extends": "../../tsconfig.es5.json", + "compilerOptions": { + "rootDir": ".", + "outDir": "build" + }, + "include": [ + "index.ts" + ], + "references": [ + { + "path": "../../packages/opentelemetry-sdk-node" + }, + { + "path": "../../packages/opentelemetry-tracing" + } + ] +} diff --git a/api/package.json b/api/package.json index 62e48f134f0..f3e0d5e40f4 100644 --- a/api/package.json +++ b/api/package.json @@ -10,6 +10,8 @@ }, "repository": "open-telemetry/opentelemetry-js", "scripts": { + "compile": "tsc --build", + "clean": "tsc --build --clean", "test": "nyc ts-mocha -p tsconfig.json test/**/*.test.ts", "test:browser": "nyc karma start --single-run", "codecov": "nyc report --reporter=json && codecov -f coverage/*.json -p ../../", @@ -17,13 +19,10 @@ "build": "npm run compile", "lint": "eslint . --ext .ts", "lint:fix": "eslint . --ext .ts --fix", - "precompile": "tsc --version", - "version:update": "node ../../scripts/version-update.js", - "compile": "npm run version:update && tsc -p .", + "version": "node ../../scripts/version-update.js", "docs-test": "linkinator docs/out --silent --skip david-dm.org", - "docs": "typedoc --tsconfig tsconfig.json --exclude test/**/*.ts", - "prepare": "npm run compile", - "watch": "tsc -w" + "docs": "typedoc --tsconfig tsconfig.docs.json", + "watch": "tsc --build --watch" }, "keywords": [ "opentelemetry", diff --git a/api/packages/opentelemetry-api/tsconfig.json b/api/packages/opentelemetry-api/tsconfig.json index 79cc5cefac5..8223abee15b 100644 --- a/api/packages/opentelemetry-api/tsconfig.json +++ b/api/packages/opentelemetry-api/tsconfig.json @@ -1,5 +1,5 @@ { - "extends": "../tsconfig.es5", + "extends": "../../tsconfig.es5.json", "compilerOptions": { "rootDir": ".", "outDir": "build" @@ -8,10 +8,9 @@ "src/**/*.ts", "test/**/*.ts" ], - "typedocOptions": { - "name": "OpenTelemetry API for JavaScript", - "out": "docs/out", - "mode": "file", - "hideGenerator": true - } + "references": [ + { + "path": "../opentelemetry-context-base" + } + ] } diff --git a/api/packages/opentelemetry-context-base/package.json b/api/packages/opentelemetry-context-base/package.json index 85534bf2d7f..76cb1a6587d 100644 --- a/api/packages/opentelemetry-context-base/package.json +++ b/api/packages/opentelemetry-context-base/package.json @@ -6,17 +6,15 @@ "types": "build/src/index.d.ts", "repository": "open-telemetry/opentelemetry-js", "scripts": { + "compile": "tsc --build", + "clean": "tsc --build --clean", "test": "nyc ts-mocha -p tsconfig.json 'test/**/*.test.ts'", "tdd": "npm run test -- --watch-extensions ts --watch", "codecov": "nyc report --reporter=json && codecov -f coverage/*.json -p ../../", - "clean": "rimraf build/*", "lint": "eslint . --ext .ts", "lint:fix": "eslint . --ext .ts --fix", - "precompile": "tsc --version", - "version:update": "node ../../scripts/version-update.js", - "compile": "npm run version:update && tsc -p .", - "prepare": "npm run compile", - "watch": "tsc -w" + "version": "node ../../scripts/version-update.js", + "watch": "tsc --build --watch" }, "keywords": [ "opentelemetry", diff --git a/api/packages/opentelemetry-context-base/tsconfig.json b/api/packages/opentelemetry-context-base/tsconfig.json index ca8d7656bbb..b8d88215e40 100644 --- a/api/packages/opentelemetry-context-base/tsconfig.json +++ b/api/packages/opentelemetry-context-base/tsconfig.json @@ -1,5 +1,5 @@ { - "extends": "../tsconfig.es5", + "extends": "../../tsconfig.es5.json", "compilerOptions": { "rootDir": ".", "outDir": "build" diff --git a/api/tsconfig.base.json b/api/tsconfig.base.json new file mode 100644 index 00000000000..83c860a1689 --- /dev/null +++ b/api/tsconfig.base.json @@ -0,0 +1,25 @@ +{ + "compilerOptions": { + "allowUnreachableCode": false, + "allowUnusedLabels": false, + "composite": true, + "declaration": true, + "declarationMap": true, + "forceConsistentCasingInFileNames": true, + "module": "commonjs", + "noEmitOnError": true, + "noFallthroughCasesInSwitch": true, + "noImplicitReturns": true, + "noUnusedLocals": true, + "pretty": true, + "sourceMap": true, + "strict": true, + "strictNullChecks": true, + "target": "es2017", + "incremental": true, + "newLine": "LF" + }, + "exclude": [ + "node_modules" + ] +} diff --git a/api/tsconfig.docs.json b/api/tsconfig.docs.json new file mode 100644 index 00000000000..627fa3ff3e5 --- /dev/null +++ b/api/tsconfig.docs.json @@ -0,0 +1,15 @@ +{ + "compilerOptions": { + "rootDir": ".", + "outDir": "build" + }, + "include": [ + "src/**/*.ts" + ], + "typedocOptions": { + "name": "OpenTelemetry API for JavaScript", + "out": "docs/out", + "mode": "file", + "hideGenerator": true + } +} diff --git a/api/tsconfig.es5.json b/api/tsconfig.es5.json new file mode 100644 index 00000000000..3c83c51a2b0 --- /dev/null +++ b/api/tsconfig.es5.json @@ -0,0 +1,6 @@ +{ + "extends": "./tsconfig.base.json", + "compilerOptions": { + "target": "es5" + } +} diff --git a/api/tsconfig.json b/api/tsconfig.json new file mode 100644 index 00000000000..22efc769bce --- /dev/null +++ b/api/tsconfig.json @@ -0,0 +1,117 @@ +{ + "extends": "./tsconfig.base.json", + "files": [], + "references": [ + { + "path": "backwards-compatability/node10" + }, + { + "path": "backwards-compatability/node12" + }, + { + "path": "backwards-compatability/node8" + }, + { + "path": "packages/opentelemetry-api" + }, + { + "path": "packages/opentelemetry-context-async-hooks" + }, + { + "path": "packages/opentelemetry-context-base" + }, + { + "path": "packages/opentelemetry-context-zone-peer-dep" + }, + { + "path": "packages/opentelemetry-context-zone" + }, + { + "path": "packages/opentelemetry-core" + }, + { + "path": "packages/opentelemetry-exporter-collector-grpc" + }, + { + "path": "packages/opentelemetry-exporter-collector-proto" + }, + { + "path": "packages/opentelemetry-exporter-collector" + }, + { + "path": "packages/opentelemetry-exporter-jaeger" + }, + { + "path": "packages/opentelemetry-exporter-prometheus" + }, + { + "path": "packages/opentelemetry-exporter-zipkin" + }, + { + "path": "packages/opentelemetry-grpc-utils" + }, + { + "path": "packages/opentelemetry-instrumentation-http" + }, + { + "path": "packages/opentelemetry-instrumentation-xml-http-request" + }, + { + "path": "packages/opentelemetry-instrumentation" + }, + { + "path": "packages/opentelemetry-metrics" + }, + { + "path": "packages/opentelemetry-node" + }, + { + "path": "packages/opentelemetry-plugin-fetch" + }, + { + "path": "packages/opentelemetry-plugin-grpc-js" + }, + { + "path": "packages/opentelemetry-plugin-grpc" + }, + { + "path": "packages/opentelemetry-plugin-http" + }, + { + "path": "packages/opentelemetry-plugin-https" + }, + { + "path": "packages/opentelemetry-propagator-b3" + }, + { + "path": "packages/opentelemetry-resource-detector-aws" + }, + { + "path": "packages/opentelemetry-resource-detector-gcp" + }, + { + "path": "packages/opentelemetry-resources" + }, + { + "path": "packages/opentelemetry-sdk-node" + }, + { + "path": "packages/opentelemetry-semantic-conventions" + }, + { + "path": "packages/opentelemetry-shim-opentracing" + }, + { + "path": "packages/opentelemetry-tracing" + }, + { + "path": "packages/opentelemetry-web" + }, + { + "path": "packages/template" + }, + { + "path": "integration-tests/propagation-validation-server" + } + ] +}