UNPKG

@storm-stack/core

Version:

A build toolkit and runtime used by Storm Software in TypeScript applications

1 lines 54 kB
{"version":3,"sources":["../../src/commands/init/entry/resolve.ts","../../src/commands/init/entry/index.ts","../../src/commands/init/install/node.ts","../../src/commands/init/install/shared.ts","../../src/commands/init/install/index.ts","../../src/commands/init/options/index.ts","../../src/commands/init/reflections/index.ts","../../src/commands/init/tsconfig/utilities.ts","../../src/commands/init/tsconfig/index.ts","../../src/commands/init/index.ts"],"names":["resolveEntry","options","entry","parsed","parseTypeDefinition","entryFile","file","replace","projectRoot","replaceAll","joinPaths","artifactsPath","hash","name","maxLength","initEntry","context","hooks","log","LogLevelLabel","TRACE","projectType","isSetString","input","Array","isArray","filter","Boolean","length","map","callHook","catch","error","ERROR","message","stack","Error","cause","getNodeDeps","packageDeps","unctx","getSharedDeps","unstorage","initInstall","platform","installs","Object","keys","reduce","ret","key","join","value","entries","installPackage","initOptions","packageJson","command","repository","url","description","projectJson","startsWith","split","tsconfig","esbuild","override","external","noExternal","target","format","environment","defaultEnvironmentName","initReflections","getTsconfigChanges","getParsedTypeScriptConfig","workspaceRoot","tsconfigRaw","tsconfigFilePath","getTsconfigFilePath","tsconfigJson","readJsonFile","compilerOptions","extendedTsconfig","loadTsConfig","reflection","experimentalDecorators","emitDecoratorMetadata","output","dts","dtsFilePath","dtsRelativePath","relativePath","findFilePath","findFileName","include","some","filePattern","isIncludeMatchFound","push","slice","lib","includes","toLowerCase","module","ts","ModuleKind","ESNext","ScriptTarget","ES2024","ES2023","ES2022","ES2021","moduleResolution","ModuleResolutionKind","Bundler","moduleDetection","ModuleDetectionKind","Force","allowSyntheticDefaultImports","noImplicitOverride","noUncheckedIndexedAccess","skipLibCheck","resolveJsonModule","isolatedModules","verbatimModuleSyntax","allowJs","esModuleInterop","declaration","jsx","JsxEmit","ReactJSX","types","type","initTsconfig","isPackageExists","originalTsconfigJson","json","writeFile","StormJSON","stringify","updateTsconfigJson","result","getObjectDiff","ignoreArrayOrder","showOnly","statuses","granularity","changes","getChanges","__name","difference","property","status","diff","field","previous","previousValue","current","currentValue","WARN","change","i","chalk","bold","whiteBright","titleCase","red","green","init","unimport","createUnimport","handlePreTransform","sourceFile","handlePostTransform","compiler","Compiler","onPreTransform","onPostTransform","vfs","__VFS_INIT__"],"mappings":"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","file":"chunk-T5XYNP42.cjs","sourcesContent":["/* -------------------------------------------------------------------\n\n ⚡ Storm Software - Storm Stack\n\n This code was released as part of the Storm Stack project. Storm Stack\n is maintained by Storm Software under the Apache-2.0 license, and is\n free for commercial and private use. For more information, please visit\n our licensing page at https://stormsoftware.com/licenses/projects/storm-stack.\n\n Website: https://stormsoftware.com\n Repository: https://github.com/storm-software/storm-stack\n Documentation: https://docs.stormsoftware.com/projects/storm-stack\n Contact: https://stormsoftware.com/contact\n\n SPDX-License-Identifier: Apache-2.0\n\n ------------------------------------------------------------------- */\n\nimport { parseTypeDefinition } from \"@stryke/convert/parse-type-definition\";\nimport { hash } from \"@stryke/hash/hash\";\nimport { joinPaths } from \"@stryke/path/join-paths\";\nimport type {\n TypeDefinition,\n TypeDefinitionParameter\n} from \"@stryke/types/configuration\";\nimport type { Context } from \"../../../types/context\";\n\nexport function resolveEntry(\n options: Context,\n entry: TypeDefinitionParameter\n): TypeDefinition {\n const parsed = parseTypeDefinition(entry)!;\n const entryFile = parsed.file\n .replace(options.options.projectRoot, \"\")\n .replaceAll(\"\\\\\", \"/\")\n .replaceAll(/^(?:\\.\\/)*/g, \"\");\n\n return {\n file: joinPaths(\n options.artifactsPath,\n `entry-${hash({ file: entryFile, name: parsed.name }, { maxLength: 24 }).replaceAll(\"-\", \"0\").replaceAll(\"_\", \"1\")}.ts`\n ),\n name: parsed.name\n };\n}\n","/* -------------------------------------------------------------------\n\n ⚡ Storm Software - Storm Stack\n\n This code was released as part of the Storm Stack project. Storm Stack\n is maintained by Storm Software under the Apache-2.0 license, and is\n free for commercial and private use. For more information, please visit\n our licensing page at https://stormsoftware.com/licenses/projects/storm-stack.\n\n Website: https://stormsoftware.com\n Repository: https://github.com/storm-software/storm-stack\n Documentation: https://docs.stormsoftware.com/projects/storm-stack\n Contact: https://stormsoftware.com/contact\n\n SPDX-License-Identifier: Apache-2.0\n\n ------------------------------------------------------------------- */\n\nimport { LogLevelLabel } from \"@storm-software/config-tools/types\";\nimport { parseTypeDefinition } from \"@stryke/convert/parse-type-definition\";\nimport { isSetString } from \"@stryke/type-checks/is-set-string\";\nimport type { EngineHooks } from \"../../../types/build\";\nimport { Context } from \"../../../types/context\";\nimport { resolveEntry } from \"./resolve\";\n\n/**\n * Initializes the entry points for the Storm Stack project.\n *\n * @param context - The resolved options\n * @param hooks - The engine hooks\n */\nexport async function initEntry(context: Context, hooks: EngineHooks) {\n context.log(\n LogLevelLabel.TRACE,\n `Initializing the entry points for the Storm Stack project.`\n );\n\n if (context.options.projectType === \"application\" && context.options.entry) {\n if (isSetString(context.options.entry)) {\n context.entry = [\n {\n ...resolveEntry(context, context.options.entry),\n input: parseTypeDefinition(context.options.entry)!\n }\n ];\n } else if (\n Array.isArray(context.options.entry) &&\n context.options.entry.filter(Boolean).length > 0\n ) {\n context.entry = context.options.entry\n .map(entry => ({\n ...resolveEntry(context, entry),\n input: parseTypeDefinition(entry)!\n }))\n .filter(Boolean);\n }\n }\n\n await hooks.callHook(\"init:entry\", context).catch((error: Error) => {\n context.log(\n LogLevelLabel.ERROR,\n `An error occurred while initializing the entry points for the Storm Stack project: ${error.message} \\n${error.stack ?? \"\"}`\n );\n\n throw new Error(\n \"An error occurred while initializing the entry points for the Storm Stack project\",\n { cause: error }\n );\n });\n}\n","/* -------------------------------------------------------------------\n\n ⚡ Storm Software - Storm Stack\n\n This code was released as part of the Storm Stack project. Storm Stack\n is maintained by Storm Software under the Apache-2.0 license, and is\n free for commercial and private use. For more information, please visit\n our licensing page at https://stormsoftware.com/licenses/projects/storm-stack.\n\n Website: https://stormsoftware.com\n Repository: https://github.com/storm-software/storm-stack\n Documentation: https://docs.stormsoftware.com/projects/storm-stack\n Contact: https://stormsoftware.com/contact\n\n SPDX-License-Identifier: Apache-2.0\n\n ------------------------------------------------------------------- */\n\nimport type { Context } from \"../../../types/context\";\n\n/**\n * Get the NodeJs dependencies for the project.\n *\n * @param context - The context object containing the options.\n * @returns An object containing the NodeJs dependencies and their types.\n */\nexport function getNodeDeps(\n context: Context\n): Record<string, \"dependency\" | \"devDependency\"> {\n context.packageDeps ??= {};\n context.packageDeps[\"@types/node\"] = \"devDependency\";\n\n if (context.options.projectType === \"application\") {\n context.packageDeps.unctx = \"dependency\";\n }\n\n return context.packageDeps;\n}\n","/* -------------------------------------------------------------------\n\n ⚡ Storm Software - Storm Stack\n\n This code was released as part of the Storm Stack project. Storm Stack\n is maintained by Storm Software under the Apache-2.0 license, and is\n free for commercial and private use. For more information, please visit\n our licensing page at https://stormsoftware.com/licenses/projects/storm-stack.\n\n Website: https://stormsoftware.com\n Repository: https://github.com/storm-software/storm-stack\n Documentation: https://docs.stormsoftware.com/projects/storm-stack\n Contact: https://stormsoftware.com/contact\n\n SPDX-License-Identifier: Apache-2.0\n\n ------------------------------------------------------------------- */\n\nimport type { Context } from \"../../../types/context\";\n\n/**\n * Get the shared dependencies for the project.\n *\n * @param context - The context object containing the options.\n * @returns An object containing the shared dependencies and their types.\n */\nexport function getSharedDeps(\n context: Context\n): Record<string, \"dependency\" | \"devDependency\"> {\n context.packageDeps ??= {};\n context.packageDeps[\"@storm-stack/types\"] = \"devDependency\";\n\n if (context.options.projectType === \"application\") {\n context.packageDeps.unstorage = \"dependency\";\n }\n\n return context.packageDeps;\n}\n","/* -------------------------------------------------------------------\n\n ⚡ Storm Software - Storm Stack\n\n This code was released as part of the Storm Stack project. Storm Stack\n is maintained by Storm Software under the Apache-2.0 license, and is\n free for commercial and private use. For more information, please visit\n our licensing page at https://stormsoftware.com/licenses/projects/storm-stack.\n\n Website: https://stormsoftware.com\n Repository: https://github.com/storm-software/storm-stack\n Documentation: https://docs.stormsoftware.com/projects/storm-stack\n Contact: https://stormsoftware.com/contact\n\n SPDX-License-Identifier: Apache-2.0\n\n ------------------------------------------------------------------- */\n\nimport { LogLevelLabel } from \"@storm-software/config-tools/types\";\nimport type { EngineHooks } from \"../../../types/build\";\nimport { Context } from \"../../../types/context\";\nimport { getNodeDeps } from \"./node\";\nimport { getSharedDeps } from \"./shared\";\nimport { installPackage } from \"./utilities\";\n\n/**\n * Install missing project dependencies.\n *\n * @param context - The build context.\n * @param hooks - The engine hooks.\n */\nexport async function initInstall(\n context: Context,\n hooks: EngineHooks\n): Promise<void> {\n context.log(\n LogLevelLabel.TRACE,\n `Checking and installing missing project dependencies.`\n );\n\n context.packageDeps = getSharedDeps(context);\n if (context.options.platform === \"node\") {\n const installs = getNodeDeps(context);\n context.packageDeps = Object.keys(installs).reduce((ret, key) => {\n if (installs[key] && ret[key] !== \"dependency\") {\n ret[key] = installs[key];\n }\n\n return ret;\n }, context.packageDeps);\n }\n\n await hooks.callHook(\"init:install\", context).catch((error: Error) => {\n context.log(\n LogLevelLabel.ERROR,\n `An error occured while installing project dependencies: ${error.message} \\n${error.stack ?? \"\"}`\n );\n\n throw new Error(\"An error occured while installing project dependencies\", {\n cause: error\n });\n });\n\n context.log(\n LogLevelLabel.TRACE,\n `The following packages must be installed as dependencies: \\n${Object.keys(\n context.packageDeps\n )\n .map(key => ` - ${key} (${context.packageDeps[key]})`)\n .join(\"\\n\")}`\n );\n\n for (const [key, value] of Object.entries(context.packageDeps)) {\n await installPackage(context, key, value === \"devDependency\");\n }\n}\n","/* -------------------------------------------------------------------\n\n ⚡ Storm Software - Storm Stack\n\n This code was released as part of the Storm Stack project. Storm Stack\n is maintained by Storm Software under the Apache-2.0 license, and is\n free for commercial and private use. For more information, please visit\n our licensing page at https://stormsoftware.com/licenses/projects/storm-stack.\n\n Website: https://stormsoftware.com\n Repository: https://github.com/storm-software/storm-stack\n Documentation: https://docs.stormsoftware.com/projects/storm-stack\n Contact: https://stormsoftware.com/contact\n\n SPDX-License-Identifier: Apache-2.0\n\n ------------------------------------------------------------------- */\n\nimport { LogLevelLabel } from \"@storm-software/config-tools/types\";\nimport { joinPaths } from \"@stryke/path/join-paths\";\nimport { defaultEnvironmentName } from \"../../../lib/config\";\nimport type { EngineHooks } from \"../../../types/build\";\nimport { Context } from \"../../../types/context\";\n\nexport async function initOptions(context: Context, hooks: EngineHooks) {\n context.log(\n LogLevelLabel.TRACE,\n `Initializing the processing options for the Storm Stack project.`\n );\n\n if (context.packageJson) {\n if (context.options.command === \"new\") {\n context.options.repository ??=\n typeof context.packageJson.repository === \"string\"\n ? context.packageJson.repository\n : context.packageJson.repository?.url;\n } else {\n if (context.packageJson?.name) {\n context.options.name ??= context.packageJson?.name;\n }\n\n context.options.description ??= context.packageJson?.description;\n context.options.repository ??=\n typeof context.packageJson?.repository === \"string\"\n ? context.packageJson.repository\n : context.packageJson?.repository?.url;\n }\n } else if (context.options.command !== \"new\") {\n throw new Error(\n `The package.json file is missing in the project root directory: ${context.options.projectRoot}. Please run the \"new\" command to create a new Storm Stack project.`\n );\n }\n\n if (context.projectJson) {\n context.options.projectType ??= context.projectJson.projectType;\n context.options.name ??= context.projectJson.name;\n\n if (\n context.options.name?.startsWith(\"@\") &&\n context.options.name.split(\"/\").filter(Boolean).length > 1\n ) {\n context.options.name = context.options.name\n .split(\"/\")\n .filter(Boolean)[1]!;\n }\n }\n\n context.options.tsconfig ??= joinPaths(\n context.options.projectRoot,\n \"tsconfig.json\"\n );\n\n context.options.esbuild.override ??= {};\n context.options.external ??= [];\n context.options.noExternal ??= [];\n\n context.options.esbuild.target ??= \"esnext\";\n context.options.esbuild.format ??= \"esm\";\n context.options.environment ??= defaultEnvironmentName(context.options);\n\n // context.options.babel.plugins.unshift([\n // BabelPluginStormStack,\n // null,\n // {\n // onPostTransform: handlePostTransform\n // }\n // ]);\n\n await hooks.callHook(\"init:options\", context).catch((error: Error) => {\n context.log(\n LogLevelLabel.ERROR,\n `An error occurred while initializing the options for the Storm Stack project: ${\n error.message\n } \\n${error.stack ?? \"\"}`\n );\n\n throw new Error(\n \"An error occurred while initializing the options for the Storm Stack project\",\n { cause: error }\n );\n });\n\n context.log(\n LogLevelLabel.TRACE,\n \"Initialized the processing options for the Storm Stack project.\"\n );\n}\n","/* -------------------------------------------------------------------\n\n ⚡ Storm Software - Storm Stack\n\n This code was released as part of the Storm Stack project. Storm Stack\n is maintained by Storm Software under the Apache-2.0 license, and is\n free for commercial and private use. For more information, please visit\n our licensing page at https://stormsoftware.com/licenses/projects/storm-stack.\n\n Website: https://stormsoftware.com\n Repository: https://github.com/storm-software/storm-stack\n Documentation: https://docs.stormsoftware.com/projects/storm-stack\n Contact: https://stormsoftware.com/contact\n\n SPDX-License-Identifier: Apache-2.0\n\n ------------------------------------------------------------------- */\n\nimport { LogLevelLabel } from \"@storm-software/config-tools/types\";\n\nimport type { EngineHooks } from \"../../../types/build\";\nimport { Context } from \"../../../types/context\";\n\nexport async function initReflections(context: Context, hooks: EngineHooks) {\n context.log(\n LogLevelLabel.TRACE,\n \"Initializing the reflections for the Storm Stack project.\"\n );\n\n await hooks.callHook(\"init:reflections\", context).catch((error: Error) => {\n context.log(\n LogLevelLabel.ERROR,\n `An error occurred while initializing the reflections for the Storm Stack project: ${\n error.message\n } \\n${error.stack ?? \"\"}`\n );\n\n throw new Error(\n \"An error occurred while initializing the reflections for the Storm Stack project\",\n { cause: error }\n );\n });\n\n context.log(\n LogLevelLabel.TRACE,\n \"Initialized the reflections for the Storm Stack project.\"\n );\n}\n","/* -------------------------------------------------------------------\n\n ⚡ Storm Software - Storm Stack\n\n This code was released as part of the Storm Stack project. Storm Stack\n is maintained by Storm Software under the Apache-2.0 license, and is\n free for commercial and private use. For more information, please visit\n our licensing page at https://stormsoftware.com/licenses/projects/storm-stack.\n\n Website: https://stormsoftware.com\n Repository: https://github.com/storm-software/storm-stack\n Documentation: https://docs.stormsoftware.com/projects/storm-stack\n Contact: https://stormsoftware.com/contact\n\n SPDX-License-Identifier: Apache-2.0\n\n ------------------------------------------------------------------- */\n\nimport { readJsonFile } from \"@stryke/fs/json\";\nimport { loadTsConfig } from \"@stryke/fs/tsconfig\";\nimport {\n findFileName,\n findFilePath,\n relativePath\n} from \"@stryke/path/file-path-fns\";\nimport { joinPaths } from \"@stryke/path/join-paths\";\nimport type { TsConfigJson } from \"@stryke/types/tsconfig\";\nimport ts from \"typescript\";\nimport {\n getParsedTypeScriptConfig,\n getTsconfigFilePath,\n isIncludeMatchFound\n} from \"../../../lib/typescript/tsconfig\";\nimport type { Context } from \"../../../types/context\";\n\nexport async function getTsconfigChanges(\n context: Context\n): Promise<TsConfigJson> {\n const tsconfig = getParsedTypeScriptConfig(\n context.options.workspaceRoot,\n context.options.projectRoot,\n context.options.tsconfig,\n context.options.tsconfigRaw\n );\n\n const tsconfigFilePath = getTsconfigFilePath(\n context.options.projectRoot,\n context.options.tsconfig\n );\n const tsconfigJson = await readJsonFile<TsConfigJson>(tsconfigFilePath);\n tsconfigJson.compilerOptions ??= {};\n\n const extendedTsconfig = await loadTsConfig(tsconfigFilePath);\n extendedTsconfig.compilerOptions ??= {};\n\n if (tsconfigJson.reflection !== true) {\n tsconfigJson.reflection = true;\n }\n\n if (tsconfig.options.experimentalDecorators !== true) {\n tsconfigJson.compilerOptions.experimentalDecorators = true;\n }\n\n if (tsconfig.options.emitDecoratorMetadata !== true) {\n tsconfigJson.compilerOptions.emitDecoratorMetadata = true;\n }\n\n if (context.options.output.dts) {\n const dtsFilePath = context.options.output.dts\n ? context.options.output.dts.startsWith(context.options.workspaceRoot)\n ? context.options.output.dts\n : joinPaths(context.options.workspaceRoot, context.options.output.dts)\n : joinPaths(\n context.options.workspaceRoot,\n context.options.projectRoot,\n \"storm.d.ts\"\n );\n const dtsRelativePath = joinPaths(\n relativePath(\n joinPaths(context.options.workspaceRoot, context.options.projectRoot),\n findFilePath(dtsFilePath)\n ),\n findFileName(dtsFilePath)\n );\n\n if (\n !tsconfigJson.include?.some(filePattern =>\n isIncludeMatchFound(filePattern, [\n dtsFilePath,\n dtsRelativePath,\n \"storm.d.ts\"\n ])\n )\n ) {\n tsconfigJson.include ??= [];\n tsconfigJson.include.push(\n dtsRelativePath.startsWith(\"./\")\n ? dtsRelativePath.slice(2)\n : dtsRelativePath\n );\n }\n }\n\n if (\n !tsconfig.options.lib?.some(lib =>\n [\n \"lib.esnext.d.ts\",\n \"lib.es2021.d.ts\",\n \"lib.es2022.d.ts\",\n \"lib.es2023.d.ts\"\n ].includes(lib.toLowerCase())\n )\n ) {\n tsconfigJson.compilerOptions.lib ??= [];\n tsconfigJson.compilerOptions.lib.push(\"esnext\");\n }\n\n if (tsconfig.options.module !== ts.ModuleKind.ESNext) {\n tsconfigJson.compilerOptions.module = \"ESNext\";\n }\n\n if (\n !tsconfig.options.target ||\n ![\n ts.ScriptTarget.ESNext,\n ts.ScriptTarget.ES2024,\n ts.ScriptTarget.ES2023,\n ts.ScriptTarget.ES2022,\n ts.ScriptTarget.ES2021\n ].includes(tsconfig.options.target)\n ) {\n tsconfigJson.compilerOptions.target = \"ESNext\";\n }\n\n if (tsconfig.options.moduleResolution !== ts.ModuleResolutionKind.Bundler) {\n tsconfigJson.compilerOptions.moduleResolution = \"Bundler\";\n }\n\n if (tsconfig.options.moduleDetection !== ts.ModuleDetectionKind.Force) {\n tsconfigJson.compilerOptions.moduleDetection = \"force\";\n }\n\n if (tsconfig.options.allowSyntheticDefaultImports !== true) {\n tsconfigJson.compilerOptions.allowSyntheticDefaultImports = true;\n }\n\n if (tsconfig.options.noImplicitOverride !== true) {\n tsconfigJson.compilerOptions.noImplicitOverride = true;\n }\n\n if (tsconfig.options.noUncheckedIndexedAccess !== true) {\n tsconfigJson.compilerOptions.noUncheckedIndexedAccess = true;\n }\n\n if (tsconfig.options.skipLibCheck !== true) {\n tsconfigJson.compilerOptions.skipLibCheck = true;\n }\n\n if (tsconfig.options.resolveJsonModule !== true) {\n tsconfigJson.compilerOptions.resolveJsonModule = true;\n }\n\n if (tsconfig.options.isolatedModules !== true) {\n tsconfigJson.compilerOptions.isolatedModules = true;\n }\n\n if (tsconfig.options.verbatimModuleSyntax !== false) {\n tsconfigJson.compilerOptions.verbatimModuleSyntax = false;\n }\n\n if (tsconfig.options.allowJs !== true) {\n tsconfigJson.compilerOptions.allowJs = true;\n }\n\n if (tsconfig.options.esModuleInterop !== true) {\n tsconfigJson.compilerOptions.esModuleInterop = true;\n }\n\n if (tsconfig.options.declaration !== true) {\n tsconfigJson.compilerOptions.declaration = true;\n }\n\n // Browser platform\n if (context.options.platform === \"browser\") {\n if (tsconfig.options.jsx !== ts.JsxEmit.ReactJSX) {\n tsconfigJson.compilerOptions.jsx = \"react-jsx\";\n }\n\n if (!tsconfig.options.lib?.some(lib => lib.toLowerCase() !== \"dom\")) {\n tsconfigJson.compilerOptions.lib ??= [];\n tsconfigJson.compilerOptions.lib.push(\"dom\");\n }\n\n if (\n !tsconfig.options.lib?.some(lib => lib.toLowerCase() !== \"dom.iterable\")\n ) {\n tsconfigJson.compilerOptions.lib ??= [];\n tsconfigJson.compilerOptions.lib.push(\"dom.iterable\");\n }\n } else if (context.options.platform === \"node\") {\n if (\n !tsconfig.options.types?.some(\n type =>\n type.toLowerCase() === \"node\" || type.toLowerCase() === \"@types/node\"\n )\n ) {\n tsconfigJson.compilerOptions.types ??= [];\n tsconfigJson.compilerOptions.types.push(\"node\");\n }\n }\n\n return tsconfigJson;\n}\n","/* -------------------------------------------------------------------\n\n ⚡ Storm Software - Storm Stack\n\n This code was released as part of the Storm Stack project. Storm Stack\n is maintained by Storm Software under the Apache-2.0 license, and is\n free for commercial and private use. For more information, please visit\n our licensing page at https://stormsoftware.com/licenses/projects/storm-stack.\n\n Website: https://stormsoftware.com\n Repository: https://github.com/storm-software/storm-stack\n Documentation: https://docs.stormsoftware.com/projects/storm-stack\n Contact: https://stormsoftware.com/contact\n\n SPDX-License-Identifier: Apache-2.0\n\n ------------------------------------------------------------------- */\n\nimport type { Diff, ObjectData } from \"@donedeal0/superdiff\";\nimport { getObjectDiff } from \"@donedeal0/superdiff\";\nimport { LogLevelLabel } from \"@storm-software/config-tools/types\";\nimport { readJsonFile } from \"@stryke/fs/json\";\nimport { isPackageExists } from \"@stryke/fs/package-fns\";\nimport { StormJSON } from \"@stryke/json/storm-json\";\nimport { titleCase } from \"@stryke/string-format/title-case\";\nimport { TsConfigJson } from \"@stryke/types/tsconfig\";\nimport chalk from \"chalk\";\nimport {\n getParsedTypeScriptConfig,\n getTsconfigFilePath\n} from \"../../../lib/typescript/tsconfig\";\nimport { writeFile } from \"../../../lib/utilities/write-file\";\nimport type { EngineHooks } from \"../../../types/build\";\nimport { Context } from \"../../../types/context\";\nimport { getTsconfigChanges } from \"./utilities\";\n\n/**\n * Initializes the TypeScript configuration.\n *\n * @param context - The build context.\n * @param hooks - The engine hooks.\n */\nexport async function initTsconfig(\n context: Context,\n hooks: EngineHooks\n): Promise<void> {\n context.log(\n LogLevelLabel.TRACE,\n \"Initializing TypeScript configuration for the Storm Stack project.\"\n );\n\n if (!isPackageExists(\"typescript\")) {\n throw new Error(\n 'The TypeScript package is not installed. Please install the package using the command: \"npm install typescript --save-dev\"'\n );\n }\n\n const originalTsconfigJson = await readJsonFile<NonNullable<ObjectData>>(\n context.options.tsconfig\n );\n\n const json = await getTsconfigChanges(context);\n\n // const artifactsIncludePath = joinPaths(\n // relativePath(\n // joinPaths(context.options.workspaceRoot, context.options.projectRoot),\n // context.artifactsPath\n // ),\n // \"**/*.ts\"\n // );\n // if (\n // !json.include ||\n // !isIncludeMatchFound(artifactsIncludePath, json.include)\n // ) {\n // json.include ??= [];\n // json.include.push(artifactsIncludePath);\n // }\n\n await writeFile(\n context.log,\n context.options.tsconfig,\n StormJSON.stringify(json)\n );\n\n context.tsconfig = getParsedTypeScriptConfig(\n context.options.workspaceRoot,\n context.options.projectRoot,\n context.options.tsconfig,\n context.options.tsconfigRaw\n );\n\n await hooks.callHook(\"init:tsconfig\", context).catch((error: Error) => {\n context.log(\n LogLevelLabel.ERROR,\n `An error occured while resolving the TypeScript options: ${error.message} \\n${error.stack ?? \"\"}`\n );\n\n throw new Error(\"An error occured while resolving the TypeScript options\", {\n cause: error\n });\n });\n\n const tsconfigFilePath = getTsconfigFilePath(\n context.options.projectRoot,\n context.options.tsconfig\n );\n const updateTsconfigJson = await readJsonFile<TsConfigJson>(tsconfigFilePath);\n if (\n updateTsconfigJson?.compilerOptions?.types &&\n Array.isArray(updateTsconfigJson.compilerOptions.types) &&\n !updateTsconfigJson.compilerOptions.types.length\n ) {\n // If the types array is empty, we can safely remove it\n delete updateTsconfigJson.compilerOptions.types;\n }\n\n const result = getObjectDiff(\n originalTsconfigJson,\n updateTsconfigJson as NonNullable<ObjectData>,\n {\n ignoreArrayOrder: true,\n showOnly: {\n statuses: [\"added\", \"deleted\", \"updated\"],\n granularity: \"deep\"\n }\n }\n );\n\n const changes = [] as {\n field: string;\n status: \"added\" | \"deleted\" | \"updated\";\n previous: string;\n current: string;\n }[];\n const getChanges = (difference: Diff, property?: string) => {\n if (\n difference.status === \"added\" ||\n difference.status === \"deleted\" ||\n difference.status === \"updated\"\n ) {\n if (difference.diff) {\n for (const diff of difference.diff) {\n getChanges(\n diff,\n property\n ? `${property}.${difference.property}`\n : difference.property\n );\n }\n } else {\n changes.push({\n field: property\n ? `${property}.${difference.property}`\n : difference.property,\n status: difference.status,\n previous:\n difference.status === \"added\"\n ? \"---\"\n : StormJSON.stringify(difference.previousValue),\n current:\n difference.status === \"deleted\"\n ? \"---\"\n : StormJSON.stringify(difference.currentValue)\n });\n }\n }\n };\n\n for (const diff of result.diff) {\n getChanges(diff);\n }\n\n if (changes.length > 0) {\n context.log(\n LogLevelLabel.WARN,\n `Updating the following configuration values in \"${tsconfigFilePath}\" file:\n\n ${changes\n .map(\n (change, i) => `${chalk.bold.whiteBright(\n `${i + 1}. ${titleCase(change.status)} the ${change.field} field: `\n )}\n ${chalk.red(` - Previous: ${change.previous} `)}\n ${chalk.green(` - Updated: ${change.current} `)}\n`\n )\n .join(\"\\n\")}\n `\n );\n }\n\n await writeFile(\n context.log,\n tsconfigFilePath,\n StormJSON.stringify(updateTsconfigJson)\n );\n\n context.tsconfig = getParsedTypeScriptConfig(\n context.options.workspaceRoot,\n context.options.projectRoot,\n context.options.tsconfig\n );\n if (!context.tsconfig) {\n throw new Error(\"Failed to parse the TypeScript configuration file.\");\n }\n}\n","/* -------------------------------------------------------------------\n\n ⚡ Storm Software - Storm Stack\n\n This code was released as part of the Storm Stack project. Storm Stack\n is maintained by Storm Software under the Apache-2.0 license, and is\n free for commercial and privat