diff --git a/superset-frontend/packages/superset-core/tsconfig.json b/superset-frontend/packages/superset-core/tsconfig.json index 168df671bd3..ee13063231d 100644 --- a/superset-frontend/packages/superset-core/tsconfig.json +++ b/superset-frontend/packages/superset-core/tsconfig.json @@ -1,8 +1,15 @@ { "extends": "../../tsconfig.json", "compilerOptions": { + // Path Resolution: Override baseUrl to maintain correct path mappings from parent config + // (e.g., "@apache-superset/core" -> "./packages/superset-core/src") "baseUrl": "../..", - "outDir": "lib" + + // Directory Overrides: Parent config paths are relative to frontend root, + // but packages need paths relative to their own directory + "outDir": "lib", + "rootDir": "src", + "declarationDir": "lib" }, "include": ["src/**/*", "types/**/*"], "exclude": ["src/**/*.test.*", "src/**/*.stories.*"] diff --git a/superset-frontend/packages/superset-ui-chart-controls/tsconfig.json b/superset-frontend/packages/superset-ui-chart-controls/tsconfig.json index 03f6268db6a..8ef68586298 100644 --- a/superset-frontend/packages/superset-ui-chart-controls/tsconfig.json +++ b/superset-frontend/packages/superset-ui-chart-controls/tsconfig.json @@ -1,8 +1,15 @@ { "extends": "../../tsconfig.json", "compilerOptions": { + // Path Resolution: Override baseUrl to maintain correct path mappings from parent config + // (e.g., "@apache-superset/core" -> "./packages/superset-core/src") "baseUrl": "../..", - "outDir": "lib" + + // Directory Overrides: Parent config paths are relative to frontend root, + // but packages need paths relative to their own directory + "outDir": "lib", + "rootDir": "src", + "declarationDir": "lib" }, "include": ["src/**/*", "types/**/*"], "exclude": ["src/**/*.test.*", "src/**/*.stories.*"], diff --git a/superset-frontend/packages/superset-ui-core/tsconfig.json b/superset-frontend/packages/superset-ui-core/tsconfig.json index 89a862a072d..559e1008253 100644 --- a/superset-frontend/packages/superset-ui-core/tsconfig.json +++ b/superset-frontend/packages/superset-ui-core/tsconfig.json @@ -1,8 +1,15 @@ { "extends": "../../tsconfig.json", "compilerOptions": { + // Path Resolution: Override baseUrl to maintain correct path mappings from parent config + // (e.g., "@apache-superset/core" -> "./packages/superset-core/src") "baseUrl": "../..", - "outDir": "lib" + + // Directory Overrides: Parent config paths are relative to frontend root, + // but packages need paths relative to their own directory + "outDir": "lib", + "rootDir": "src", + "declarationDir": "lib" }, "include": ["src/**/*", "types/**/*"], "exclude": ["src/**/*.test.*", "src/**/*.stories.*"], diff --git a/superset-frontend/packages/superset-ui-switchboard/tsconfig.json b/superset-frontend/packages/superset-ui-switchboard/tsconfig.json index 168df671bd3..ee13063231d 100644 --- a/superset-frontend/packages/superset-ui-switchboard/tsconfig.json +++ b/superset-frontend/packages/superset-ui-switchboard/tsconfig.json @@ -1,8 +1,15 @@ { "extends": "../../tsconfig.json", "compilerOptions": { + // Path Resolution: Override baseUrl to maintain correct path mappings from parent config + // (e.g., "@apache-superset/core" -> "./packages/superset-core/src") "baseUrl": "../..", - "outDir": "lib" + + // Directory Overrides: Parent config paths are relative to frontend root, + // but packages need paths relative to their own directory + "outDir": "lib", + "rootDir": "src", + "declarationDir": "lib" }, "include": ["src/**/*", "types/**/*"], "exclude": ["src/**/*.test.*", "src/**/*.stories.*"] diff --git a/superset-frontend/plugins/legacy-plugin-chart-calendar/tsconfig.json b/superset-frontend/plugins/legacy-plugin-chart-calendar/tsconfig.json index dbb41676434..772a54433b3 100644 --- a/superset-frontend/plugins/legacy-plugin-chart-calendar/tsconfig.json +++ b/superset-frontend/plugins/legacy-plugin-chart-calendar/tsconfig.json @@ -1,8 +1,15 @@ { "extends": "../../tsconfig.json", "compilerOptions": { + // Path Resolution: Override baseUrl to maintain correct path mappings from parent config + // (e.g., "@apache-superset/core" -> "./packages/superset-core/src") "baseUrl": "../..", - "outDir": "lib" + + // Directory Overrides: Parent config paths are relative to frontend root, + // but packages need paths relative to their own directory + "outDir": "lib", + "rootDir": "src", + "declarationDir": "lib" }, "include": ["src/**/*.ts", "src/**/*.tsx", "types/**/*"], "exclude": [ diff --git a/superset-frontend/plugins/legacy-plugin-chart-chord/tsconfig.json b/superset-frontend/plugins/legacy-plugin-chart-chord/tsconfig.json index dbb41676434..772a54433b3 100644 --- a/superset-frontend/plugins/legacy-plugin-chart-chord/tsconfig.json +++ b/superset-frontend/plugins/legacy-plugin-chart-chord/tsconfig.json @@ -1,8 +1,15 @@ { "extends": "../../tsconfig.json", "compilerOptions": { + // Path Resolution: Override baseUrl to maintain correct path mappings from parent config + // (e.g., "@apache-superset/core" -> "./packages/superset-core/src") "baseUrl": "../..", - "outDir": "lib" + + // Directory Overrides: Parent config paths are relative to frontend root, + // but packages need paths relative to their own directory + "outDir": "lib", + "rootDir": "src", + "declarationDir": "lib" }, "include": ["src/**/*.ts", "src/**/*.tsx", "types/**/*"], "exclude": [ diff --git a/superset-frontend/plugins/legacy-plugin-chart-country-map/tsconfig.json b/superset-frontend/plugins/legacy-plugin-chart-country-map/tsconfig.json index dbb41676434..772a54433b3 100644 --- a/superset-frontend/plugins/legacy-plugin-chart-country-map/tsconfig.json +++ b/superset-frontend/plugins/legacy-plugin-chart-country-map/tsconfig.json @@ -1,8 +1,15 @@ { "extends": "../../tsconfig.json", "compilerOptions": { + // Path Resolution: Override baseUrl to maintain correct path mappings from parent config + // (e.g., "@apache-superset/core" -> "./packages/superset-core/src") "baseUrl": "../..", - "outDir": "lib" + + // Directory Overrides: Parent config paths are relative to frontend root, + // but packages need paths relative to their own directory + "outDir": "lib", + "rootDir": "src", + "declarationDir": "lib" }, "include": ["src/**/*.ts", "src/**/*.tsx", "types/**/*"], "exclude": [ diff --git a/superset-frontend/plugins/legacy-plugin-chart-horizon/tsconfig.json b/superset-frontend/plugins/legacy-plugin-chart-horizon/tsconfig.json index dbb41676434..772a54433b3 100644 --- a/superset-frontend/plugins/legacy-plugin-chart-horizon/tsconfig.json +++ b/superset-frontend/plugins/legacy-plugin-chart-horizon/tsconfig.json @@ -1,8 +1,15 @@ { "extends": "../../tsconfig.json", "compilerOptions": { + // Path Resolution: Override baseUrl to maintain correct path mappings from parent config + // (e.g., "@apache-superset/core" -> "./packages/superset-core/src") "baseUrl": "../..", - "outDir": "lib" + + // Directory Overrides: Parent config paths are relative to frontend root, + // but packages need paths relative to their own directory + "outDir": "lib", + "rootDir": "src", + "declarationDir": "lib" }, "include": ["src/**/*.ts", "src/**/*.tsx", "types/**/*"], "exclude": [ diff --git a/superset-frontend/plugins/legacy-plugin-chart-map-box/tsconfig.json b/superset-frontend/plugins/legacy-plugin-chart-map-box/tsconfig.json index dbb41676434..772a54433b3 100644 --- a/superset-frontend/plugins/legacy-plugin-chart-map-box/tsconfig.json +++ b/superset-frontend/plugins/legacy-plugin-chart-map-box/tsconfig.json @@ -1,8 +1,15 @@ { "extends": "../../tsconfig.json", "compilerOptions": { + // Path Resolution: Override baseUrl to maintain correct path mappings from parent config + // (e.g., "@apache-superset/core" -> "./packages/superset-core/src") "baseUrl": "../..", - "outDir": "lib" + + // Directory Overrides: Parent config paths are relative to frontend root, + // but packages need paths relative to their own directory + "outDir": "lib", + "rootDir": "src", + "declarationDir": "lib" }, "include": ["src/**/*.ts", "src/**/*.tsx", "types/**/*"], "exclude": [ diff --git a/superset-frontend/plugins/legacy-plugin-chart-paired-t-test/tsconfig.json b/superset-frontend/plugins/legacy-plugin-chart-paired-t-test/tsconfig.json index dbb41676434..772a54433b3 100644 --- a/superset-frontend/plugins/legacy-plugin-chart-paired-t-test/tsconfig.json +++ b/superset-frontend/plugins/legacy-plugin-chart-paired-t-test/tsconfig.json @@ -1,8 +1,15 @@ { "extends": "../../tsconfig.json", "compilerOptions": { + // Path Resolution: Override baseUrl to maintain correct path mappings from parent config + // (e.g., "@apache-superset/core" -> "./packages/superset-core/src") "baseUrl": "../..", - "outDir": "lib" + + // Directory Overrides: Parent config paths are relative to frontend root, + // but packages need paths relative to their own directory + "outDir": "lib", + "rootDir": "src", + "declarationDir": "lib" }, "include": ["src/**/*.ts", "src/**/*.tsx", "types/**/*"], "exclude": [ diff --git a/superset-frontend/plugins/legacy-plugin-chart-parallel-coordinates/tsconfig.json b/superset-frontend/plugins/legacy-plugin-chart-parallel-coordinates/tsconfig.json index dbb41676434..772a54433b3 100644 --- a/superset-frontend/plugins/legacy-plugin-chart-parallel-coordinates/tsconfig.json +++ b/superset-frontend/plugins/legacy-plugin-chart-parallel-coordinates/tsconfig.json @@ -1,8 +1,15 @@ { "extends": "../../tsconfig.json", "compilerOptions": { + // Path Resolution: Override baseUrl to maintain correct path mappings from parent config + // (e.g., "@apache-superset/core" -> "./packages/superset-core/src") "baseUrl": "../..", - "outDir": "lib" + + // Directory Overrides: Parent config paths are relative to frontend root, + // but packages need paths relative to their own directory + "outDir": "lib", + "rootDir": "src", + "declarationDir": "lib" }, "include": ["src/**/*.ts", "src/**/*.tsx", "types/**/*"], "exclude": [ diff --git a/superset-frontend/plugins/legacy-plugin-chart-partition/tsconfig.json b/superset-frontend/plugins/legacy-plugin-chart-partition/tsconfig.json index dbb41676434..772a54433b3 100644 --- a/superset-frontend/plugins/legacy-plugin-chart-partition/tsconfig.json +++ b/superset-frontend/plugins/legacy-plugin-chart-partition/tsconfig.json @@ -1,8 +1,15 @@ { "extends": "../../tsconfig.json", "compilerOptions": { + // Path Resolution: Override baseUrl to maintain correct path mappings from parent config + // (e.g., "@apache-superset/core" -> "./packages/superset-core/src") "baseUrl": "../..", - "outDir": "lib" + + // Directory Overrides: Parent config paths are relative to frontend root, + // but packages need paths relative to their own directory + "outDir": "lib", + "rootDir": "src", + "declarationDir": "lib" }, "include": ["src/**/*.ts", "src/**/*.tsx", "types/**/*"], "exclude": [ diff --git a/superset-frontend/plugins/legacy-plugin-chart-rose/tsconfig.json b/superset-frontend/plugins/legacy-plugin-chart-rose/tsconfig.json index dbb41676434..772a54433b3 100644 --- a/superset-frontend/plugins/legacy-plugin-chart-rose/tsconfig.json +++ b/superset-frontend/plugins/legacy-plugin-chart-rose/tsconfig.json @@ -1,8 +1,15 @@ { "extends": "../../tsconfig.json", "compilerOptions": { + // Path Resolution: Override baseUrl to maintain correct path mappings from parent config + // (e.g., "@apache-superset/core" -> "./packages/superset-core/src") "baseUrl": "../..", - "outDir": "lib" + + // Directory Overrides: Parent config paths are relative to frontend root, + // but packages need paths relative to their own directory + "outDir": "lib", + "rootDir": "src", + "declarationDir": "lib" }, "include": ["src/**/*.ts", "src/**/*.tsx", "types/**/*"], "exclude": [ diff --git a/superset-frontend/plugins/legacy-plugin-chart-world-map/tsconfig.json b/superset-frontend/plugins/legacy-plugin-chart-world-map/tsconfig.json index dbb41676434..772a54433b3 100644 --- a/superset-frontend/plugins/legacy-plugin-chart-world-map/tsconfig.json +++ b/superset-frontend/plugins/legacy-plugin-chart-world-map/tsconfig.json @@ -1,8 +1,15 @@ { "extends": "../../tsconfig.json", "compilerOptions": { + // Path Resolution: Override baseUrl to maintain correct path mappings from parent config + // (e.g., "@apache-superset/core" -> "./packages/superset-core/src") "baseUrl": "../..", - "outDir": "lib" + + // Directory Overrides: Parent config paths are relative to frontend root, + // but packages need paths relative to their own directory + "outDir": "lib", + "rootDir": "src", + "declarationDir": "lib" }, "include": ["src/**/*.ts", "src/**/*.tsx", "types/**/*"], "exclude": [ diff --git a/superset-frontend/plugins/legacy-preset-chart-deckgl/tsconfig.json b/superset-frontend/plugins/legacy-preset-chart-deckgl/tsconfig.json index d530f32823e..e73ca5d4f87 100644 --- a/superset-frontend/plugins/legacy-preset-chart-deckgl/tsconfig.json +++ b/superset-frontend/plugins/legacy-preset-chart-deckgl/tsconfig.json @@ -1,8 +1,15 @@ { "extends": "../../tsconfig.json", "compilerOptions": { + // Path Resolution: Override baseUrl to maintain correct path mappings from parent config + // (e.g., "@apache-superset/core" -> "./packages/superset-core/src") "baseUrl": "../..", - "outDir": "lib" + + // Directory Overrides: Parent config paths are relative to frontend root, + // but packages need paths relative to their own directory + "outDir": "lib", + "rootDir": "src", + "declarationDir": "lib" }, "include": ["src/**/*", "types/**/*"], "exclude": ["src/**/*.test.*", "src/**/*.stories.*"], diff --git a/superset-frontend/plugins/legacy-preset-chart-nvd3/tsconfig.json b/superset-frontend/plugins/legacy-preset-chart-nvd3/tsconfig.json index d530f32823e..e73ca5d4f87 100644 --- a/superset-frontend/plugins/legacy-preset-chart-nvd3/tsconfig.json +++ b/superset-frontend/plugins/legacy-preset-chart-nvd3/tsconfig.json @@ -1,8 +1,15 @@ { "extends": "../../tsconfig.json", "compilerOptions": { + // Path Resolution: Override baseUrl to maintain correct path mappings from parent config + // (e.g., "@apache-superset/core" -> "./packages/superset-core/src") "baseUrl": "../..", - "outDir": "lib" + + // Directory Overrides: Parent config paths are relative to frontend root, + // but packages need paths relative to their own directory + "outDir": "lib", + "rootDir": "src", + "declarationDir": "lib" }, "include": ["src/**/*", "types/**/*"], "exclude": ["src/**/*.test.*", "src/**/*.stories.*"], diff --git a/superset-frontend/plugins/plugin-chart-ag-grid-table/tsconfig.json b/superset-frontend/plugins/plugin-chart-ag-grid-table/tsconfig.json index dbb41676434..772a54433b3 100644 --- a/superset-frontend/plugins/plugin-chart-ag-grid-table/tsconfig.json +++ b/superset-frontend/plugins/plugin-chart-ag-grid-table/tsconfig.json @@ -1,8 +1,15 @@ { "extends": "../../tsconfig.json", "compilerOptions": { + // Path Resolution: Override baseUrl to maintain correct path mappings from parent config + // (e.g., "@apache-superset/core" -> "./packages/superset-core/src") "baseUrl": "../..", - "outDir": "lib" + + // Directory Overrides: Parent config paths are relative to frontend root, + // but packages need paths relative to their own directory + "outDir": "lib", + "rootDir": "src", + "declarationDir": "lib" }, "include": ["src/**/*.ts", "src/**/*.tsx", "types/**/*"], "exclude": [ diff --git a/superset-frontend/plugins/plugin-chart-cartodiagram/tsconfig.json b/superset-frontend/plugins/plugin-chart-cartodiagram/tsconfig.json index dbb41676434..772a54433b3 100644 --- a/superset-frontend/plugins/plugin-chart-cartodiagram/tsconfig.json +++ b/superset-frontend/plugins/plugin-chart-cartodiagram/tsconfig.json @@ -1,8 +1,15 @@ { "extends": "../../tsconfig.json", "compilerOptions": { + // Path Resolution: Override baseUrl to maintain correct path mappings from parent config + // (e.g., "@apache-superset/core" -> "./packages/superset-core/src") "baseUrl": "../..", - "outDir": "lib" + + // Directory Overrides: Parent config paths are relative to frontend root, + // but packages need paths relative to their own directory + "outDir": "lib", + "rootDir": "src", + "declarationDir": "lib" }, "include": ["src/**/*.ts", "src/**/*.tsx", "types/**/*"], "exclude": [ diff --git a/superset-frontend/plugins/plugin-chart-echarts/tsconfig.json b/superset-frontend/plugins/plugin-chart-echarts/tsconfig.json index dbb41676434..772a54433b3 100644 --- a/superset-frontend/plugins/plugin-chart-echarts/tsconfig.json +++ b/superset-frontend/plugins/plugin-chart-echarts/tsconfig.json @@ -1,8 +1,15 @@ { "extends": "../../tsconfig.json", "compilerOptions": { + // Path Resolution: Override baseUrl to maintain correct path mappings from parent config + // (e.g., "@apache-superset/core" -> "./packages/superset-core/src") "baseUrl": "../..", - "outDir": "lib" + + // Directory Overrides: Parent config paths are relative to frontend root, + // but packages need paths relative to their own directory + "outDir": "lib", + "rootDir": "src", + "declarationDir": "lib" }, "include": ["src/**/*.ts", "src/**/*.tsx", "types/**/*"], "exclude": [ diff --git a/superset-frontend/plugins/plugin-chart-handlebars/tsconfig.json b/superset-frontend/plugins/plugin-chart-handlebars/tsconfig.json index dbb41676434..772a54433b3 100644 --- a/superset-frontend/plugins/plugin-chart-handlebars/tsconfig.json +++ b/superset-frontend/plugins/plugin-chart-handlebars/tsconfig.json @@ -1,8 +1,15 @@ { "extends": "../../tsconfig.json", "compilerOptions": { + // Path Resolution: Override baseUrl to maintain correct path mappings from parent config + // (e.g., "@apache-superset/core" -> "./packages/superset-core/src") "baseUrl": "../..", - "outDir": "lib" + + // Directory Overrides: Parent config paths are relative to frontend root, + // but packages need paths relative to their own directory + "outDir": "lib", + "rootDir": "src", + "declarationDir": "lib" }, "include": ["src/**/*.ts", "src/**/*.tsx", "types/**/*"], "exclude": [ diff --git a/superset-frontend/plugins/plugin-chart-pivot-table/tsconfig.json b/superset-frontend/plugins/plugin-chart-pivot-table/tsconfig.json index d530f32823e..e73ca5d4f87 100644 --- a/superset-frontend/plugins/plugin-chart-pivot-table/tsconfig.json +++ b/superset-frontend/plugins/plugin-chart-pivot-table/tsconfig.json @@ -1,8 +1,15 @@ { "extends": "../../tsconfig.json", "compilerOptions": { + // Path Resolution: Override baseUrl to maintain correct path mappings from parent config + // (e.g., "@apache-superset/core" -> "./packages/superset-core/src") "baseUrl": "../..", - "outDir": "lib" + + // Directory Overrides: Parent config paths are relative to frontend root, + // but packages need paths relative to their own directory + "outDir": "lib", + "rootDir": "src", + "declarationDir": "lib" }, "include": ["src/**/*", "types/**/*"], "exclude": ["src/**/*.test.*", "src/**/*.stories.*"], diff --git a/superset-frontend/plugins/plugin-chart-table/tsconfig.json b/superset-frontend/plugins/plugin-chart-table/tsconfig.json index dbb41676434..772a54433b3 100644 --- a/superset-frontend/plugins/plugin-chart-table/tsconfig.json +++ b/superset-frontend/plugins/plugin-chart-table/tsconfig.json @@ -1,8 +1,15 @@ { "extends": "../../tsconfig.json", "compilerOptions": { + // Path Resolution: Override baseUrl to maintain correct path mappings from parent config + // (e.g., "@apache-superset/core" -> "./packages/superset-core/src") "baseUrl": "../..", - "outDir": "lib" + + // Directory Overrides: Parent config paths are relative to frontend root, + // but packages need paths relative to their own directory + "outDir": "lib", + "rootDir": "src", + "declarationDir": "lib" }, "include": ["src/**/*.ts", "src/**/*.tsx", "types/**/*"], "exclude": [ diff --git a/superset-frontend/plugins/plugin-chart-word-cloud/tsconfig.json b/superset-frontend/plugins/plugin-chart-word-cloud/tsconfig.json index dbb41676434..772a54433b3 100644 --- a/superset-frontend/plugins/plugin-chart-word-cloud/tsconfig.json +++ b/superset-frontend/plugins/plugin-chart-word-cloud/tsconfig.json @@ -1,8 +1,15 @@ { "extends": "../../tsconfig.json", "compilerOptions": { + // Path Resolution: Override baseUrl to maintain correct path mappings from parent config + // (e.g., "@apache-superset/core" -> "./packages/superset-core/src") "baseUrl": "../..", - "outDir": "lib" + + // Directory Overrides: Parent config paths are relative to frontend root, + // but packages need paths relative to their own directory + "outDir": "lib", + "rootDir": "src", + "declarationDir": "lib" }, "include": ["src/**/*.ts", "src/**/*.tsx", "types/**/*"], "exclude": [ diff --git a/superset-frontend/scripts/build.js b/superset-frontend/scripts/build.js index 2cabf466ecf..f03f8407c0b 100755 --- a/superset-frontend/scripts/build.js +++ b/superset-frontend/scripts/build.js @@ -50,12 +50,14 @@ function run(cmd, options) { function getPackages(packagePattern, tsOnly = false) { let pattern = packagePattern; if (pattern === '*' && !tsOnly) { - return `@superset-ui/!(${[...META_PACKAGES].join('|')})`; + return `{@superset-ui/!(${[...META_PACKAGES].join('|')}),@apache-superset/*}`; } if (!pattern.includes('*')) { pattern = `*${pattern}`; } - const packages = [ + + // Find packages in both @superset-ui and @apache-superset scopes + const supersetUiPackages = [ ...new Set( fastGlob .sync([ @@ -67,12 +69,44 @@ function getPackages(packagePattern, tsOnly = false) { .filter(x => !META_PACKAGES.has(x)), ), ]; - if (packages.length === 0) { + + const apachePackages = [ + ...new Set( + fastGlob + .sync([ + `./node_modules/@apache-superset/${pattern}/src/**/*.${ + tsOnly ? '{ts,tsx}' : '{ts,tsx,js,jsx}' + }`, + ]) + .map(x => x.split('/')[3]), + ), + ]; + + const allScopes = []; + if (supersetUiPackages.length > 0) { + allScopes.push( + `@superset-ui/${ + supersetUiPackages.length > 1 + ? `{${supersetUiPackages.join(',')}}` + : supersetUiPackages[0] + }`, + ); + } + if (apachePackages.length > 0) { + allScopes.push( + `@apache-superset/${ + apachePackages.length > 1 + ? `{${apachePackages.join(',')}}` + : apachePackages[0] + }`, + ); + } + + if (allScopes.length === 0) { throw new Error('No matching packages'); } - return `@superset-ui/${ - packages.length > 1 ? `{${packages.join(',')}}` : packages[0] - }`; + + return allScopes.length > 1 ? `{${allScopes.join(',')}}` : allScopes[0]; } let scope = getPackages(glob);