From ccdf4ab3c6859897ee6d33145b1cb5a95fcd85e9 Mon Sep 17 00:00:00 2001 From: qun Date: Fri, 5 Jul 2024 09:37:44 +0000 Subject: [PATCH 1/8] feat: support deep references to internal api --- libraries/rush-sdk/package.json | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/libraries/rush-sdk/package.json b/libraries/rush-sdk/package.json index 655f83efa20..1bac90bdb60 100644 --- a/libraries/rush-sdk/package.json +++ b/libraries/rush-sdk/package.json @@ -11,8 +11,18 @@ "main": "lib-shim/index.js", "typings": "dist/rush-lib.d.ts", "exports": { - ".": "./lib-shim/index.js", - "./loader": "./lib-shim/loader.js" + ".": { + "types": "./dist/rush-lib.d.ts", + "default": "./lib-shim/index.js" + }, + "./loader": { + "types": "./dist/loader.d.ts", + "default": "./lib-shim/loader.js" + }, + "./*": { + "types": "./lib/*.d.ts", + "default": "./lib/*.js" + } }, "typesVersions": { "*": { From 7522cac40e4fb150ba784972af7bd78f715fa2d6 Mon Sep 17 00:00:00 2001 From: qun Date: Fri, 5 Jul 2024 09:43:08 +0000 Subject: [PATCH 2/8] rush change --- ...eep-reference-to-internal-api_2024-07-05-09-42.json | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 common/changes/@microsoft/rush/fix-deep-reference-to-internal-api_2024-07-05-09-42.json diff --git a/common/changes/@microsoft/rush/fix-deep-reference-to-internal-api_2024-07-05-09-42.json b/common/changes/@microsoft/rush/fix-deep-reference-to-internal-api_2024-07-05-09-42.json new file mode 100644 index 00000000000..d1749458c73 --- /dev/null +++ b/common/changes/@microsoft/rush/fix-deep-reference-to-internal-api_2024-07-05-09-42.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@microsoft/rush", + "comment": "Support deep references to internal Apis", + "type": "none" + } + ], + "packageName": "@microsoft/rush" +} \ No newline at end of file From 7e4a20732217dcf344d0909fdd9df7eb5c5b0d40 Mon Sep 17 00:00:00 2001 From: qun Date: Fri, 5 Jul 2024 16:53:50 +0000 Subject: [PATCH 3/8] update exports --- libraries/rush-sdk/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libraries/rush-sdk/package.json b/libraries/rush-sdk/package.json index 1bac90bdb60..b9e19dc1b1d 100644 --- a/libraries/rush-sdk/package.json +++ b/libraries/rush-sdk/package.json @@ -19,7 +19,7 @@ "types": "./dist/loader.d.ts", "default": "./lib-shim/loader.js" }, - "./*": { + "./lib/*": { "types": "./lib/*.d.ts", "default": "./lib/*.js" } From 9879d91c2ea8cc6c8c8ad2369d875669ea043382 Mon Sep 17 00:00:00 2001 From: qun Date: Fri, 5 Jul 2024 17:02:45 +0000 Subject: [PATCH 4/8] update exports --- libraries/rush-sdk/package.json | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/libraries/rush-sdk/package.json b/libraries/rush-sdk/package.json index b9e19dc1b1d..f8d54b71ff4 100644 --- a/libraries/rush-sdk/package.json +++ b/libraries/rush-sdk/package.json @@ -19,16 +19,13 @@ "types": "./dist/loader.d.ts", "default": "./lib-shim/loader.js" }, - "./lib/*": { - "types": "./lib/*.d.ts", - "default": "./lib/*.js" - } - }, - "typesVersions": { - "*": { - "loader": [ - "./dist/loader.d.ts" - ] + "./lib/api/*": { + "types": "./lib/api/*.d.ts", + "default": "./lib/api/*.js" + }, + "./lib/logic/*": { + "types": "./lib/logic/*.d.ts", + "default": "./lib/logic/*.js" } }, "scripts": { From 24e9485934bb6fa33600575a3f6377d7e41af0fe Mon Sep 17 00:00:00 2001 From: qun Date: Fri, 5 Jul 2024 17:11:42 +0000 Subject: [PATCH 5/8] update exports --- libraries/rush-sdk/package.json | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/libraries/rush-sdk/package.json b/libraries/rush-sdk/package.json index f8d54b71ff4..14262aabcc9 100644 --- a/libraries/rush-sdk/package.json +++ b/libraries/rush-sdk/package.json @@ -26,6 +26,18 @@ "./lib/logic/*": { "types": "./lib/logic/*.d.ts", "default": "./lib/logic/*.js" + }, + "./lib/utilities/*": { + "types": "./lib/utilities/*.d.ts", + "default": "./lib/utilities/*.js" + }, + "./lib/pluginFramework/*": { + "types": "./lib/pluginFramework/*.d.ts", + "default": "./lib/pluginFramework/*.js" + }, + "./lib/cli/*": { + "types": "./lib/cli/*.d.ts", + "default": "./lib/cli/*.js" } }, "scripts": { From c3c68f7036d7aac574de405206100a2e545a54fd Mon Sep 17 00:00:00 2001 From: qun Date: Fri, 5 Jul 2024 17:35:21 +0000 Subject: [PATCH 6/8] update exports --- libraries/rush-sdk/package.json | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/libraries/rush-sdk/package.json b/libraries/rush-sdk/package.json index 14262aabcc9..9819f79e790 100644 --- a/libraries/rush-sdk/package.json +++ b/libraries/rush-sdk/package.json @@ -40,6 +40,13 @@ "default": "./lib/cli/*.js" } }, + "typesVersions": { + "*": { + "loader": [ + "./dist/loader.d.ts" + ] + } + }, "scripts": { "build": "heft build --clean", "_phase:build": "heft run --only build -- --clean", From f8086487c6196b31aaa2537c5d3965da2882d9e1 Mon Sep 17 00:00:00 2001 From: qun Date: Fri, 5 Jul 2024 23:35:14 +0000 Subject: [PATCH 7/8] chore: update exports --- libraries/rush-sdk/package.json | 22 +++------------------- 1 file changed, 3 insertions(+), 19 deletions(-) diff --git a/libraries/rush-sdk/package.json b/libraries/rush-sdk/package.json index 9819f79e790..b9e19dc1b1d 100644 --- a/libraries/rush-sdk/package.json +++ b/libraries/rush-sdk/package.json @@ -19,25 +19,9 @@ "types": "./dist/loader.d.ts", "default": "./lib-shim/loader.js" }, - "./lib/api/*": { - "types": "./lib/api/*.d.ts", - "default": "./lib/api/*.js" - }, - "./lib/logic/*": { - "types": "./lib/logic/*.d.ts", - "default": "./lib/logic/*.js" - }, - "./lib/utilities/*": { - "types": "./lib/utilities/*.d.ts", - "default": "./lib/utilities/*.js" - }, - "./lib/pluginFramework/*": { - "types": "./lib/pluginFramework/*.d.ts", - "default": "./lib/pluginFramework/*.js" - }, - "./lib/cli/*": { - "types": "./lib/cli/*.d.ts", - "default": "./lib/cli/*.js" + "./lib/*": { + "types": "./lib/*.d.ts", + "default": "./lib/*.js" } }, "typesVersions": { From 933ef502b450bd49a07de2e35a429034b49546c2 Mon Sep 17 00:00:00 2001 From: Cheng Liu Date: Wed, 10 Jul 2024 16:31:36 -0700 Subject: [PATCH 8/8] feat: rush-sdk build test for runtime import issue --- .../rush-sdk-test/config/heft.json | 22 +++++++++++++++++++ .../rush-sdk-test/src/run-start.ts | 6 +++++ .../rush-sdk-test/src/start.ts | 2 +- 3 files changed, 29 insertions(+), 1 deletion(-) create mode 100644 build-tests-subspace/rush-sdk-test/config/heft.json create mode 100644 build-tests-subspace/rush-sdk-test/src/run-start.ts diff --git a/build-tests-subspace/rush-sdk-test/config/heft.json b/build-tests-subspace/rush-sdk-test/config/heft.json new file mode 100644 index 00000000000..f72878eb953 --- /dev/null +++ b/build-tests-subspace/rush-sdk-test/config/heft.json @@ -0,0 +1,22 @@ +{ + "$schema": "https://developer.microsoft.com/json-schemas/heft/v0/heft.schema.json", + + "extends": "local-node-rig/profiles/default/config/heft.json", + + "phasesByName": { + "build": { + "tasksByName": { + "run-start": { + "taskDependencies": ["typescript"], + "taskPlugin": { + "pluginPackage": "@rushstack/heft", + "pluginName": "run-script-plugin", + "options": { + "scriptPath": "./lib/run-start.js" + } + } + } + } + } + } +} diff --git a/build-tests-subspace/rush-sdk-test/src/run-start.ts b/build-tests-subspace/rush-sdk-test/src/run-start.ts new file mode 100644 index 00000000000..a5fcb483473 --- /dev/null +++ b/build-tests-subspace/rush-sdk-test/src/run-start.ts @@ -0,0 +1,6 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license. +// See LICENSE in the project root for license information. + +export async function runAsync(): Promise { + await import('./start.js'); +} diff --git a/build-tests-subspace/rush-sdk-test/src/start.ts b/build-tests-subspace/rush-sdk-test/src/start.ts index cee3014aa9a..ca5f9f7f4ee 100644 --- a/build-tests-subspace/rush-sdk-test/src/start.ts +++ b/build-tests-subspace/rush-sdk-test/src/start.ts @@ -7,7 +7,7 @@ console.log('rush-sdk-test loading Rush configuration...'); // Important: Since we're calling an internal API, we need to use the unbundled .d.ts files // instead of the normal .d.ts rollup -import { RushConfiguration } from '@rushstack/rush-sdk/lib/'; +import { RushConfiguration } from '@rushstack/rush-sdk/lib/index'; const config: RushConfiguration = RushConfiguration.loadFromDefaultLocation(); console.log(config.commonFolder);