From 6d9f3032262927c8cd902f34193834d92494b9f7 Mon Sep 17 00:00:00 2001 From: Adam <897017+aSemy@users.noreply.github.com> Date: Wed, 18 May 2022 19:36:40 +0200 Subject: [PATCH] mod: move npm root dir so node_modules isn't in the src dir, and fix the hack for the bug https://github.com/GlassBricks/typed-factorio/issues/13 --- modules/events-mod/build.gradle.kts | 114 +++++++++--------- .../main/typescript => }/package-lock.json | 0 .../{src/main/typescript => }/package.json | 12 +- .../{src/main/typescript => }/tsconfig.json | 3 +- 4 files changed, 65 insertions(+), 64 deletions(-) rename modules/events-mod/{src/main/typescript => }/package-lock.json (100%) rename modules/events-mod/{src/main/typescript => }/package.json (74%) rename modules/events-mod/{src/main/typescript => }/tsconfig.json (94%) diff --git a/modules/events-mod/build.gradle.kts b/modules/events-mod/build.gradle.kts index 866c6a2..ef92cbd 100644 --- a/modules/events-mod/build.gradle.kts +++ b/modules/events-mod/build.gradle.kts @@ -37,7 +37,8 @@ val licenseFile: RegularFile by rootProject.extra @Suppress("UNCHECKED_CAST") val projectTokens: MapProperty = - rootProject.extra.get("projectTokens") as? MapProperty ?: error("error getting projectTokens") + rootProject.extra.get("projectTokens") as? MapProperty + ?: error("error getting projectTokens") //val projectTokens: MapProperty by rootProject.extra val projectTokensX = projectTokens.apply { @@ -50,6 +51,7 @@ val projectTokensX = projectTokens.apply { val tsSrcDir: Directory = layout.projectDirectory.dir("src/main/typescript") + node { nodeProjectDir.set(layout.projectDirectory) } @@ -80,7 +82,7 @@ val installEventsTsSchema by tasks.registering(Sync::class) { group = project.name dependsOn(typescriptEventsSchema) - dependsOn(fixLink) +// dependsOn(fixLink) val outputDir = layout.projectDirectory.dir("src/main/typescript/generated/kafkatorio-schema") outputs.dir(outputDir) @@ -159,59 +161,59 @@ tasks.withType().configureEach { // } } -tasks.npmInstall { - nodeModulesOutputFilter { - exclude("**/typed-factorio/generated/classes.d.ts") - } -} +//tasks.npmInstall { +// nodeModulesOutputFilter { +// exclude("**/typed-factorio/generated/classes.d.ts") +// } +//} -interface ServiceProvider { - @get:Inject - val fs: FileSystemOperations -} - -val fixLink by tasks.registering { - dependsOn(tasks.npmInstall) - - - val badLink = """{@link https://lua-api.factorio.com/latest/Data-Lifecycle.html Data Lifecycle}""" - val goodLink = """https://lua-api.factorio.com/latest/Data-Lifecycle.html""" - - val typedFactorioDir = - layout.projectDirectory.dir("src/main/typescript/node_modules/typed-factorio") - val classesDTS = typedFactorioDir.file("generated/classes.d.ts") - - val services = project.objects.newInstance() - - inputs.file(classesDTS) - outputs.file(classesDTS) - - inputs.property("badLink", badLink) - inputs.property("goodLink", goodLink) - - doLast { - logger.lifecycle("fixing link ${classesDTS.asFile.canonicalPath}") - - services.fs.sync { - from(classesDTS) - into(temporaryDir) - filter { line -> - when { - line.contains(badLink) -> line.replace(badLink, goodLink) - else -> line - } - } - } - - services.fs.copy { - from(temporaryDir.resolve("classes.d.ts").canonicalPath) - into(classesDTS.asFile.parent) - duplicatesStrategy = DuplicatesStrategy.WARN - } - } -} - -tasks.assemble { dependsOn(fixLink) } +//interface ServiceProvider { +// @get:Inject +// val fs: FileSystemOperations +//} +// +//val fixLink by tasks.registering { +// dependsOn(tasks.npmInstall) +// +// +// val badLink = """{@link https://lua-api.factorio.com/latest/Data-Lifecycle.html Data Lifecycle}""" +// val goodLink = """https://lua-api.factorio.com/latest/Data-Lifecycle.html""" +// +// val typedFactorioDir = +// layout.projectDirectory.dir("src/main/typescript/node_modules/typed-factorio") +// val classesDTS = typedFactorioDir.file("generated/classes.d.ts") +// +// val services = project.objects.newInstance() +// +// inputs.file(classesDTS) +// outputs.file(classesDTS) +// +// inputs.property("badLink", badLink) +// inputs.property("goodLink", goodLink) +// +// doLast { +// logger.lifecycle("fixing link ${classesDTS.asFile.canonicalPath}") +// +// services.fs.sync { +// from(classesDTS) +// into(temporaryDir) +// filter { line -> +// when { +// line.contains(badLink) -> line.replace(badLink, goodLink) +// else -> line +// } +// } +// } +// +// services.fs.copy { +// from(temporaryDir.resolve("classes.d.ts").canonicalPath) +// into(classesDTS.asFile.parent) +// duplicatesStrategy = DuplicatesStrategy.WARN +// } +// } +//} +// +//tasks.assemble { dependsOn(fixLink) } //val downloadFactorioApiDocs by tasks.registering { @@ -253,9 +255,11 @@ val factorioModProvider by configurations.registering { val packageJsonName = providers.provider { "${rootProject.name}-${project.name}" } tasks.updatePackageJson { +// mustRunAfter(tasks.npmInstall) inputs.property("packageJsonName", packageJsonName) propertiesToCheck.put("name", packageJsonName) - packageJsonFile.set(layout.projectDirectory.file("src/main/typescript/package.json")) + val pjProvider = layout.projectDirectory.file(provider { "package.json" }) + packageJsonFile2.set(pjProvider) } diff --git a/modules/events-mod/src/main/typescript/package-lock.json b/modules/events-mod/package-lock.json similarity index 100% rename from modules/events-mod/src/main/typescript/package-lock.json rename to modules/events-mod/package-lock.json diff --git a/modules/events-mod/src/main/typescript/package.json b/modules/events-mod/package.json similarity index 74% rename from modules/events-mod/src/main/typescript/package.json rename to modules/events-mod/package.json index 861f812..be98670 100644 --- a/modules/events-mod/src/main/typescript/package.json +++ b/modules/events-mod/package.json @@ -9,8 +9,7 @@ "engines": { "node": "~14.19.1" }, - "devDependencies": { - }, + "devDependencies": {}, "dependencies": { "lua-types": "^2.11.0", "typescript-to-lua": "1.4.4", @@ -18,10 +17,7 @@ "typescript": "4.6.2" }, "license": "UNLICENSED", - "peerDependencies": { - }, - "optionalDependencies": { - }, - "bundledDependencies": [ - ] + "peerDependencies": {}, + "optionalDependencies": {}, + "bundledDependencies": [] } diff --git a/modules/events-mod/src/main/typescript/tsconfig.json b/modules/events-mod/tsconfig.json similarity index 94% rename from modules/events-mod/src/main/typescript/tsconfig.json rename to modules/events-mod/tsconfig.json index ae83187..7036839 100644 --- a/modules/events-mod/src/main/typescript/tsconfig.json +++ b/modules/events-mod/tsconfig.json @@ -32,7 +32,8 @@ "traceResolution": true, "noImplicitReturns": true, "noImplicitOverride": true, - "noFallthroughCasesInSwitch": true + "noFallthroughCasesInSwitch": true, + "skipLibCheck": true }, "tstl": { "luaTarget": "5.2",