diff --git a/examples/nextjs/package.json b/examples/nextjs/package.json index be6e7013..86b0e878 100644 --- a/examples/nextjs/package.json +++ b/examples/nextjs/package.json @@ -33,6 +33,7 @@ "postcss-import": "^14.1.0", "postcss-nested": "^5.0.6", "postcss-preset-env": "^7.7.2", + "tsconfig": "*", "webpack": "^5.74.0" } } diff --git a/examples/nextjs/tsconfig.json b/examples/nextjs/tsconfig.json index 8fe71c7d..a05302e8 100644 --- a/examples/nextjs/tsconfig.json +++ b/examples/nextjs/tsconfig.json @@ -1,22 +1,18 @@ { + "extends": "tsconfig/base.json", + "display": "ReactFlow - Examples", "compilerOptions": { - "target": "es5", - "lib": ["dom", "dom.iterable", "esnext"], "allowJs": true, - "skipLibCheck": true, - "strict": true, - "forceConsistentCasingInFileNames": true, - "noEmit": true, - "esModuleInterop": true, - "module": "esnext", - "moduleResolution": "node", - "resolveJsonModule": true, - "isolatedModules": true, - "jsx": "preserve", + "declaration": false, + "declarationMap": false, "incremental": true, - "baseUrl": "./", + "jsx": "preserve", + "lib": ["dom", "dom.iterable", "esnext"], + "module": "esnext", + "noEmit": true, + "resolveJsonModule": true, + "target": "es5", "types": ["cypress", "cypress-real-events"] }, - "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx"], - "exclude": ["node_modules"] + "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx"] } diff --git a/package.json b/package.json index 7d0a756e..19c25dd8 100644 --- a/package.json +++ b/package.json @@ -6,7 +6,8 @@ "license": "MIT", "workspaces": [ "packages/*", - "examples/*" + "examples/*", + "tooling/*" ], "private": true, "scripts": { @@ -52,6 +53,7 @@ "postcss-nested": "^5.0.6", "prettier": "^2.7.1", "start-server-and-test": "^1.14.0", + "tsconfig": "*", "typescript": "^4.7.4" }, "preconstruct": { diff --git a/packages/background/package.json b/packages/background/package.json index 62e9cc6d..a2d49122 100644 --- a/packages/background/package.json +++ b/packages/background/package.json @@ -31,6 +31,9 @@ "@reactflow/core": "workspace:*", "classcat": "^5.0.3" }, + "devDependencies": { + "tsconfig": "*" + }, "peerDependencies": { "react": ">=18", "react-dom": ">=18" diff --git a/packages/background/tsconfig.json b/packages/background/tsconfig.json new file mode 100644 index 00000000..916c335b --- /dev/null +++ b/packages/background/tsconfig.json @@ -0,0 +1,10 @@ +{ + "extends": "tsconfig/react.json", + "display": "@reactflow/background", + "compilerOptions": { + "composite": true + }, + "include": ["**/*.ts", "**/*.tsx"], + "exclude": ["**/node_modules", "dist/*"], + "references": [{ "path": "../core/tsconfig.json" }] +} diff --git a/packages/controls/package.json b/packages/controls/package.json index 83f2f776..1a30f27a 100644 --- a/packages/controls/package.json +++ b/packages/controls/package.json @@ -44,6 +44,7 @@ "postcss-cli": "^10.0.0", "postcss-combine-duplicated-selectors": "^10.0.3", "postcss-import": "^14.1.0", - "postcss-nested": "^5.0.6" + "postcss-nested": "^5.0.6", + "tsconfig": "*" } } diff --git a/packages/controls/tsconfig.json b/packages/controls/tsconfig.json new file mode 100644 index 00000000..916c335b --- /dev/null +++ b/packages/controls/tsconfig.json @@ -0,0 +1,10 @@ +{ + "extends": "tsconfig/react.json", + "display": "@reactflow/background", + "compilerOptions": { + "composite": true + }, + "include": ["**/*.ts", "**/*.tsx"], + "exclude": ["**/node_modules", "dist/*"], + "references": [{ "path": "../core/tsconfig.json" }] +} diff --git a/packages/core/package.json b/packages/core/package.json index 1a6736a3..78230891 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -49,6 +49,7 @@ "postcss-cli": "^10.0.0", "postcss-combine-duplicated-selectors": "^10.0.3", "postcss-import": "^14.1.0", - "postcss-nested": "^5.0.6" + "postcss-nested": "^5.0.6", + "tsconfig": "*" } } diff --git a/packages/core/tsconfig.json b/packages/core/tsconfig.json new file mode 100644 index 00000000..105241e2 --- /dev/null +++ b/packages/core/tsconfig.json @@ -0,0 +1,9 @@ +{ + "extends": "tsconfig/react.json", + "display": "@reactflow/core", + "compilerOptions": { + "composite": true + }, + "include": ["**/*.ts", "**/*.tsx"], + "exclude": ["**/node_modules", "dist/*"] +} diff --git a/packages/minimap/package.json b/packages/minimap/package.json index 6958a14b..9c3312fd 100644 --- a/packages/minimap/package.json +++ b/packages/minimap/package.json @@ -45,6 +45,7 @@ "postcss-cli": "^10.0.0", "postcss-combine-duplicated-selectors": "^10.0.3", "postcss-import": "^14.1.0", - "postcss-nested": "^5.0.6" + "postcss-nested": "^5.0.6", + "tsconfig": "*" } } diff --git a/packages/minimap/tsconfig.json b/packages/minimap/tsconfig.json new file mode 100644 index 00000000..e6fcf262 --- /dev/null +++ b/packages/minimap/tsconfig.json @@ -0,0 +1,10 @@ +{ + "extends": "tsconfig/react.json", + "display": "@reactflow/minimap", + "compilerOptions": { + "composite": true + }, + "include": ["**/*.ts", "**/*.tsx"], + "exclude": ["**/node_modules", "dist/*"], + "references": [{ "path": "../core/tsconfig.json" }] +} diff --git a/packages/reactflow/package.json b/packages/reactflow/package.json index 15291600..40bc25d9 100644 --- a/packages/reactflow/package.json +++ b/packages/reactflow/package.json @@ -43,6 +43,7 @@ "postcss-cli": "^10.0.0", "postcss-combine-duplicated-selectors": "^10.0.3", "postcss-import": "^14.1.0", - "postcss-nested": "^5.0.6" + "postcss-nested": "^5.0.6", + "tsconfig": "*" } } diff --git a/packages/reactflow/tsconfig.json b/packages/reactflow/tsconfig.json new file mode 100644 index 00000000..08c5d8bd --- /dev/null +++ b/packages/reactflow/tsconfig.json @@ -0,0 +1,12 @@ +{ + "extends": "tsconfig/react.json", + "display": "reactflow", + "include": ["**/*.ts", "**/*.tsx"], + "exclude": ["**/node_modules", "dist/*"], + "references": [ + { "path": "../background/tsconfig.json" }, + { "path": "../controls/tsconfig.json" }, + { "path": "../core/tsconfig.json" }, + { "path": "../minimap/tsconfig.json" } + ] +} diff --git a/tooling/tsconfig/base.json b/tooling/tsconfig/base.json new file mode 100644 index 00000000..ae8348e4 --- /dev/null +++ b/tooling/tsconfig/base.json @@ -0,0 +1,26 @@ +{ + "$schema": "https://json.schemastore.org/tsconfig", + "display": "Default", + "compilerOptions": { + "allowSyntheticDefaultImports": true, + "composite": false, + "declaration": true, + "declarationMap": true, + "esModuleInterop": true, + "forceConsistentCasingInFileNames": true, + "inlineSources": false, + "isolatedModules": true, + "moduleResolution": "node", + "noFallthroughCasesInSwitch": true, + "noImplicitAny": true, + "noImplicitReturns": false, + "noImplicitThis": true, + "noUnusedLocals": false, + "noUnusedParameters": false, + "preserveWatchOutput": true, + "skipLibCheck": true, + "strict": true, + "strictNullChecks": true + }, + "exclude": ["node_modules"] +} diff --git a/tooling/tsconfig/package.json b/tooling/tsconfig/package.json new file mode 100644 index 00000000..70219b6f --- /dev/null +++ b/tooling/tsconfig/package.json @@ -0,0 +1,6 @@ +{ + "name": "tsconfig", + "version": "0.0.0", + "private": true, + "license": "MIT" +} diff --git a/tooling/tsconfig/react.json b/tooling/tsconfig/react.json new file mode 100644 index 00000000..0d88f7f3 --- /dev/null +++ b/tooling/tsconfig/react.json @@ -0,0 +1,10 @@ +{ + "display": "ReactFlow Package", + "extends": "./base.json", + "compilerOptions": { + "jsx": "react-jsx", + "lib": ["dom", "esnext"], + "module": "esnext", + "target": "es6" + } +} diff --git a/tsconfig.json b/tsconfig.json index dda98e5d..b1bb8a82 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,26 +1,5 @@ { - "compilerOptions": { - "module": "esnext", - "target": "esnext", - "lib": ["dom", "esnext"], - "jsx": "react-jsx", - "moduleResolution": "node", - "declaration": true, - "strict": true, - "noImplicitAny": true, - "strictNullChecks": true, - "strictFunctionTypes": true, - "strictPropertyInitialization": true, - "noImplicitThis": true, - "alwaysStrict": true, - "noUnusedLocals": true, - "noUnusedParameters": true, - "noImplicitReturns": false, - "noFallthroughCasesInSwitch": true, - "allowSyntheticDefaultImports": true, - "esModuleInterop": true, - "isolatedModules": true - }, + "extends": "tsconfig/react.json", "include": ["packages"], "exclude": ["**/node_modules"] } diff --git a/yarn.lock b/yarn.lock index 838caa84..844e4eeb 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2315,6 +2315,7 @@ __metadata: "@babel/runtime": ^7.18.9 "@reactflow/core": "workspace:*" classcat: ^5.0.3 + tsconfig: "*" peerDependencies: react: ">=18" react-dom: ">=18" @@ -2334,6 +2335,7 @@ __metadata: postcss-combine-duplicated-selectors: ^10.0.3 postcss-import: ^14.1.0 postcss-nested: ^5.0.6 + tsconfig: "*" peerDependencies: react: ">=18" react-dom: ">=18" @@ -2357,6 +2359,7 @@ __metadata: postcss-combine-duplicated-selectors: ^10.0.3 postcss-import: ^14.1.0 postcss-nested: ^5.0.6 + tsconfig: "*" zustand: ^4.0.0 peerDependencies: react: ">=18" @@ -2377,6 +2380,7 @@ __metadata: postcss-combine-duplicated-selectors: ^10.0.3 postcss-import: ^14.1.0 postcss-nested: ^5.0.6 + tsconfig: "*" zustand: ^4.0.0 peerDependencies: react: ">=18" @@ -8497,6 +8501,7 @@ __metadata: react: ^18.2.0 react-dom: ^18.2.0 reactflow: "workspace:*" + tsconfig: "*" webpack: ^5.74.0 languageName: unknown linkType: soft @@ -8529,6 +8534,7 @@ __metadata: react: ^18.2.0 react-dom: ^18.2.0 start-server-and-test: ^1.14.0 + tsconfig: "*" typescript: ^4.7.4 languageName: unknown linkType: soft @@ -8548,6 +8554,7 @@ __metadata: postcss-combine-duplicated-selectors: ^10.0.3 postcss-import: ^14.1.0 postcss-nested: ^5.0.6 + tsconfig: "*" peerDependencies: react: ">=18" react-dom: ">=18" @@ -9563,6 +9570,12 @@ __metadata: languageName: node linkType: hard +"tsconfig@*, tsconfig@workspace:tooling/tsconfig": + version: 0.0.0-use.local + resolution: "tsconfig@workspace:tooling/tsconfig" + languageName: unknown + linkType: soft + "tslib@npm:^1.8.1": version: 1.14.1 resolution: "tslib@npm:1.14.1"