From 18d7e81a9892e718c3cd07b2366a60f2e09561ab Mon Sep 17 00:00:00 2001 From: Simon H <5968653+dummdidumm@users.noreply.github.com> Date: Wed, 8 Mar 2023 17:06:28 +0100 Subject: [PATCH] chore: replace deprecated property access in preparation for TS 5.0 (#9361) --- .changeset/stupid-goats-retire.md | 5 +++++ .../kit/src/core/sync/write_types/index.js | 5 ++++- packages/migrate/migrations/routes/utils.js | 4 ++-- .../src/lib/docs/server/index.js | 20 +++++++++++-------- 4 files changed, 23 insertions(+), 11 deletions(-) create mode 100644 .changeset/stupid-goats-retire.md diff --git a/.changeset/stupid-goats-retire.md b/.changeset/stupid-goats-retire.md new file mode 100644 index 000000000000..ff2c10d05d3f --- /dev/null +++ b/.changeset/stupid-goats-retire.md @@ -0,0 +1,5 @@ +--- +'@sveltejs/kit': patch +--- + +chore: replace deprecated property access in preparation for TS 5.0 diff --git a/packages/kit/src/core/sync/write_types/index.js b/packages/kit/src/core/sync/write_types/index.js index d4fd032dc6c9..0ae180492f12 100644 --- a/packages/kit/src/core/sync/write_types/index.js +++ b/packages/kit/src/core/sync/write_types/index.js @@ -592,7 +592,10 @@ export function tweak_types(content, is_server) { }); } - if (node.modifiers?.some((modifier) => modifier.kind === ts.SyntaxKind.ExportKeyword)) { + if ( + ts.canHaveModifiers(node) && + ts.getModifiers(node)?.some((modifier) => modifier.kind === ts.SyntaxKind.ExportKeyword) + ) { if (ts.isFunctionDeclaration(node) && node.name?.text && names.has(node.name?.text)) { exports.set(node.name.text, node.name.text); } diff --git a/packages/migrate/migrations/routes/utils.js b/packages/migrate/migrations/routes/utils.js index 28ca024be929..bca8fa894817 100644 --- a/packages/migrate/migrations/routes/utils.js +++ b/packages/migrate/migrations/routes/utils.js @@ -176,13 +176,13 @@ export function get_exports(node) { } else if ( ts.isFunctionDeclaration(statement) && statement.name && - statement.modifiers?.[0]?.kind === ts.SyntaxKind.ExportKeyword + ts.getModifiers(statement)?.[0]?.kind === ts.SyntaxKind.ExportKeyword ) { // export function x ... map.set(statement.name.text, statement.name.text); } else if ( ts.isVariableStatement(statement) && - statement.modifiers?.[0]?.kind === ts.SyntaxKind.ExportKeyword + ts.getModifiers(statement)?.[0]?.kind === ts.SyntaxKind.ExportKeyword ) { // export const x = ..., y = ... for (const declaration of statement.declarationList.declarations) { diff --git a/sites/kit.svelte.dev/src/lib/docs/server/index.js b/sites/kit.svelte.dev/src/lib/docs/server/index.js index 7723215573ef..20b4dff568f3 100644 --- a/sites/kit.svelte.dev/src/lib/docs/server/index.js +++ b/sites/kit.svelte.dev/src/lib/docs/server/index.js @@ -484,14 +484,18 @@ function convert_to_ts(js_code, indent = '', offset = '') { const [name, generics] = get_type_info(tag); if (ts.isFunctionDeclaration(node)) { - const is_export = node.modifiers?.some( - (modifier) => modifier.kind === ts.SyntaxKind.ExportKeyword - ) - ? 'export ' - : ''; - const is_async = node.modifiers?.some( - (modifier) => modifier.kind === ts.SyntaxKind.AsyncKeyword - ); + const is_export = + ts.canHaveModifiers(node) && + ts + .getModifiers(node) + ?.some((modifier) => modifier.kind === ts.SyntaxKind.ExportKeyword) + ? 'export ' + : ''; + const is_async = + ts.canHaveModifiers(node) && + ts + .getModifiers(node) + ?.some((modifier) => modifier.kind === ts.SyntaxKind.AsyncKeyword); code.overwrite( node.getStart(), node.name.getEnd(),