From d888a0a291e6915a770fb8fffeb8fd44c2865122 Mon Sep 17 00:00:00 2001 From: V Date: Tue, 23 May 2023 04:42:06 +0200 Subject: [PATCH] [skip ci] Fix plugin json generation --- scripts/generatePluginList.ts | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/scripts/generatePluginList.ts b/scripts/generatePluginList.ts index 8442e429..7c273de7 100644 --- a/scripts/generatePluginList.ts +++ b/scripts/generatePluginList.ts @@ -19,6 +19,7 @@ import { Dirent, readdirSync, readFileSync, writeFileSync } from "fs"; import { access, readFile } from "fs/promises"; import { join } from "path"; +import { isSatisfiesExpression } from "typescript"; import { BigIntLiteral, createSourceFile, Identifier, isArrayLiteralExpression, isCallExpression, isExportAssignment, isIdentifier, isObjectLiteralExpression, isPropertyAccessExpression, isPropertyAssignment, isStringLiteral, isVariableStatement, NamedDeclaration, NodeArray, ObjectLiteralExpression, ScriptTarget, StringLiteral, SyntaxKind } from "typescript"; interface Dev { @@ -66,9 +67,9 @@ function parseDevs() { const value = devsDeclaration.initializer.arguments[0]; - if (!isObjectLiteralExpression(value)) return; + if (!isSatisfiesExpression(value) || !isObjectLiteralExpression(value.expression)) throw new Error("Failed to parse devs: not an object literal"); - for (const prop of value.properties) { + for (const prop of value.expression.properties) { const name = (prop.name as Identifier).text; const value = isPropertyAssignment(prop) ? prop.initializer : prop;