From a4c08241ad9247ec253405c2f92f71c40451ab5f Mon Sep 17 00:00:00 2001 From: Patrik Oldsberg Date: Wed, 13 Sep 2023 15:47:01 +0200 Subject: [PATCH 1/2] switch to TypeScript 5.0 + 5.2 in create-app Signed-off-by: Patrik Oldsberg --- .changeset/cold-pillows-glow.md | 5 ++++ package.json | 2 +- .../templates/default-app/package.json.hbs | 2 +- .../src/actions/createTemplateAction.ts | 4 +-- yarn.lock | 26 +++---------------- 5 files changed, 12 insertions(+), 27 deletions(-) create mode 100644 .changeset/cold-pillows-glow.md diff --git a/.changeset/cold-pillows-glow.md b/.changeset/cold-pillows-glow.md new file mode 100644 index 0000000000..a3ff46327c --- /dev/null +++ b/.changeset/cold-pillows-glow.md @@ -0,0 +1,5 @@ +--- +'@backstage/create-app': patch +--- + +Switched the template to use TypeScript 5.2 by default. diff --git a/package.json b/package.json index c834f56720..fe1e7ebce5 100644 --- a/package.json +++ b/package.json @@ -82,7 +82,7 @@ "semver": "^7.5.3", "shx": "^0.3.2", "ts-node": "^10.4.0", - "typescript": "~4.9.0" + "typescript": "~5.0.0" }, "prettier": "@spotify/prettier-config", "lint-staged": { diff --git a/packages/create-app/templates/default-app/package.json.hbs b/packages/create-app/templates/default-app/package.json.hbs index a4fcb556ea..315d039187 100644 --- a/packages/create-app/templates/default-app/package.json.hbs +++ b/packages/create-app/templates/default-app/package.json.hbs @@ -36,7 +36,7 @@ "lerna": "^4.0.0", "node-gyp": "^9.0.0", "prettier": "^2.3.2", - "typescript": "~5.0.0" + "typescript": "~5.2.0" }, "resolutions": { "@types/react": "^17", diff --git a/plugins/scaffolder-node/src/actions/createTemplateAction.ts b/plugins/scaffolder-node/src/actions/createTemplateAction.ts index 38aba32778..4721df7de5 100644 --- a/plugins/scaffolder-node/src/actions/createTemplateAction.ts +++ b/plugins/scaffolder-node/src/actions/createTemplateAction.ts @@ -90,8 +90,8 @@ export const createTemplateAction = < ...action, schema: { ...action.schema, - input: inputSchema, - output: outputSchema, + input: inputSchema as TInputSchema, + output: outputSchema as TOutputSchema, }, }; }; diff --git a/yarn.lock b/yarn.lock index 704645ff70..816b507627 100644 --- a/yarn.lock +++ b/yarn.lock @@ -38858,7 +38858,7 @@ __metadata: semver: ^7.5.3 shx: ^0.3.2 ts-node: ^10.4.0 - typescript: ~4.9.0 + typescript: ~5.0.0 languageName: unknown linkType: soft @@ -41839,17 +41839,7 @@ __metadata: languageName: node linkType: hard -"typescript@npm:~4.9.0": - version: 4.9.5 - resolution: "typescript@npm:4.9.5" - bin: - tsc: bin/tsc - tsserver: bin/tsserver - checksum: ee000bc26848147ad423b581bd250075662a354d84f0e06eb76d3b892328d8d4440b7487b5a83e851b12b255f55d71835b008a66cbf8f255a11e4400159237db - languageName: node - linkType: hard - -"typescript@npm:~5.0.4": +"typescript@npm:~5.0.0, typescript@npm:~5.0.4": version: 5.0.4 resolution: "typescript@npm:5.0.4" bin: @@ -41869,17 +41859,7 @@ __metadata: languageName: node linkType: hard -"typescript@patch:typescript@~4.9.0#~builtin": - version: 4.9.5 - resolution: "typescript@patch:typescript@npm%3A4.9.5#~builtin::version=4.9.5&hash=a1c5e5" - bin: - tsc: bin/tsc - tsserver: bin/tsserver - checksum: 2eee5c37cad4390385db5db5a8e81470e42e8f1401b0358d7390095d6f681b410f2c4a0c496c6ff9ebd775423c7785cdace7bcdad76c7bee283df3d9718c0f20 - languageName: node - linkType: hard - -"typescript@patch:typescript@~5.0.4#~builtin": +"typescript@patch:typescript@~5.0.0#~builtin, typescript@patch:typescript@~5.0.4#~builtin": version: 5.0.4 resolution: "typescript@patch:typescript@npm%3A5.0.4#~builtin::version=5.0.4&hash=a1c5e5" bin: From 5d6a2a8e8a853bcd640d5f618fd84aa149c321bf Mon Sep 17 00:00:00 2001 From: Patrik Oldsberg Date: Sat, 16 Sep 2023 13:17:53 +0200 Subject: [PATCH 2/2] update API reports for ts 5.0 Signed-off-by: Patrik Oldsberg --- packages/frontend-plugin-api/api-report.md | 2 +- plugins/catalog-backend/alpha-api-report.md | 4 +--- plugins/permission-node/api-report.md | 13 ++++--------- plugins/playlist-backend/api-report.md | 5 +---- plugins/scaffolder-backend/alpha-api-report.md | 9 ++------- plugins/scaffolder-react/api-report.md | 2 +- 6 files changed, 10 insertions(+), 25 deletions(-) diff --git a/packages/frontend-plugin-api/api-report.md b/packages/frontend-plugin-api/api-report.md index abba3e7f2f..88a0dc1793 100644 --- a/packages/frontend-plugin-api/api-report.md +++ b/packages/frontend-plugin-api/api-report.md @@ -53,7 +53,7 @@ export const coreExtensionData: { reactElement: ConfigurableExtensionDataRef; routePath: ConfigurableExtensionDataRef; apiFactory: ConfigurableExtensionDataRef; - routeRef: ConfigurableExtensionDataRef, {}>; + routeRef: ConfigurableExtensionDataRef; navTarget: ConfigurableExtensionDataRef; }; diff --git a/plugins/catalog-backend/alpha-api-report.md b/plugins/catalog-backend/alpha-api-report.md index ff826508b2..1682d1cbae 100644 --- a/plugins/catalog-backend/alpha-api-report.md +++ b/plugins/catalog-backend/alpha-api-report.md @@ -80,9 +80,7 @@ export default catalogPlugin; // @alpha export const createCatalogConditionalDecision: ( permission: ResourcePermission<'catalog-entity'>, - conditions: PermissionCriteria< - PermissionCondition<'catalog-entity', PermissionRuleParams> - >, + conditions: PermissionCriteria>, ) => ConditionalPolicyDecision; // @alpha diff --git a/plugins/permission-node/api-report.md b/plugins/permission-node/api-report.md index 2a9a79377b..ea99d22fc5 100644 --- a/plugins/permission-node/api-report.md +++ b/plugins/permission-node/api-report.md @@ -75,17 +75,14 @@ export type ConditionTransformer = ( // @public export const createConditionAuthorizer: ( - rules: PermissionRule[], + rules: PermissionRule[], ) => (decision: PolicyDecision, resource: TResource | undefined) => boolean; // @public export const createConditionExports: < TResourceType extends string, TResource, - TRules extends Record< - string, - PermissionRule - >, + TRules extends Record>, >(options: { pluginId: string; resourceType: TResourceType; @@ -94,9 +91,7 @@ export const createConditionExports: < conditions: Conditions; createConditionalDecision: ( permission: ResourcePermission, - conditions: PermissionCriteria< - PermissionCondition - >, + conditions: PermissionCriteria>, ) => ConditionalPolicyDecision; }; @@ -111,7 +106,7 @@ export const createConditionFactory: < // @public export const createConditionTransformer: < TQuery, - TRules extends PermissionRule[], + TRules extends PermissionRule[], >( permissionRules: [...TRules], ) => ConditionTransformer; diff --git a/plugins/playlist-backend/api-report.md b/plugins/playlist-backend/api-report.md index 6b51f316c4..b755347205 100644 --- a/plugins/playlist-backend/api-report.md +++ b/plugins/playlist-backend/api-report.md @@ -15,7 +15,6 @@ import { PermissionCriteria } from '@backstage/plugin-permission-common'; import { PermissionEvaluator } from '@backstage/plugin-permission-common'; import { PermissionPolicy } from '@backstage/plugin-permission-node'; import { PermissionRule } from '@backstage/plugin-permission-node'; -import { PermissionRuleParams } from '@backstage/plugin-permission-common'; import { PlaylistMetadata } from '@backstage/plugin-playlist-common'; import { PluginDatabaseManager } from '@backstage/backend-common'; import { PluginEndpointDiscovery } from '@backstage/backend-common'; @@ -26,9 +25,7 @@ import { ResourcePermission } from '@backstage/plugin-permission-common'; // @public (undocumented) export const createPlaylistConditionalDecision: ( permission: ResourcePermission<'playlist-list'>, - conditions: PermissionCriteria< - PermissionCondition<'playlist-list', PermissionRuleParams> - >, + conditions: PermissionCriteria>, ) => ConditionalPolicyDecision; // @public (undocumented) diff --git a/plugins/scaffolder-backend/alpha-api-report.md b/plugins/scaffolder-backend/alpha-api-report.md index 2eb0187a94..e2add838a6 100644 --- a/plugins/scaffolder-backend/alpha-api-report.md +++ b/plugins/scaffolder-backend/alpha-api-report.md @@ -10,7 +10,6 @@ import { JsonObject } from '@backstage/types'; import { PermissionCondition } from '@backstage/plugin-permission-common'; import { PermissionCriteria } from '@backstage/plugin-permission-common'; import { PermissionRule } from '@backstage/plugin-permission-node'; -import { PermissionRuleParams } from '@backstage/plugin-permission-common'; import { ResourcePermission } from '@backstage/plugin-permission-common'; import { TemplateEntityStepV1beta3 } from '@backstage/plugin-scaffolder-common'; import { TemplateParametersV1beta3 } from '@backstage/plugin-scaffolder-common'; @@ -18,17 +17,13 @@ import { TemplateParametersV1beta3 } from '@backstage/plugin-scaffolder-common'; // @alpha (undocumented) export const createScaffolderActionConditionalDecision: ( permission: ResourcePermission<'scaffolder-action'>, - conditions: PermissionCriteria< - PermissionCondition<'scaffolder-action', PermissionRuleParams> - >, + conditions: PermissionCriteria>, ) => ConditionalPolicyDecision; // @alpha export const createScaffolderTemplateConditionalDecision: ( permission: ResourcePermission<'scaffolder-template'>, - conditions: PermissionCriteria< - PermissionCondition<'scaffolder-template', PermissionRuleParams> - >, + conditions: PermissionCriteria>, ) => ConditionalPolicyDecision; // @alpha diff --git a/plugins/scaffolder-react/api-report.md b/plugins/scaffolder-react/api-report.md index 23204695a4..da95e6746e 100644 --- a/plugins/scaffolder-react/api-report.md +++ b/plugins/scaffolder-react/api-report.md @@ -326,7 +326,7 @@ export type TemplateParameterSchema = { // @public export const useCustomFieldExtensions: < - TComponentDataType = FieldExtensionOptions, + TComponentDataType = FieldExtensionOptions, >( outlet: React.ReactNode, ) => TComponentDataType[];