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
This commit is contained in:
parent
b6b874d8f7
commit
6d9f303226
4 changed files with 65 additions and 64 deletions
|
|
@ -37,7 +37,8 @@ val licenseFile: RegularFile by rootProject.extra
|
|||
|
||||
@Suppress("UNCHECKED_CAST")
|
||||
val projectTokens: MapProperty<String, String> =
|
||||
rootProject.extra.get("projectTokens") as? MapProperty<String, String> ?: error("error getting projectTokens")
|
||||
rootProject.extra.get("projectTokens") as? MapProperty<String, String>
|
||||
?: error("error getting projectTokens")
|
||||
//val projectTokens: MapProperty<String, String> 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<Zip>().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<ServiceProvider>()
|
||||
|
||||
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<ServiceProvider>()
|
||||
//
|
||||
// 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)
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -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": []
|
||||
}
|
||||
|
|
@ -32,7 +32,8 @@
|
|||
"traceResolution": true,
|
||||
"noImplicitReturns": true,
|
||||
"noImplicitOverride": true,
|
||||
"noFallthroughCasesInSwitch": true
|
||||
"noFallthroughCasesInSwitch": true,
|
||||
"skipLibCheck": true
|
||||
},
|
||||
"tstl": {
|
||||
"luaTarget": "5.2",
|
||||
Loading…
Add table
Add a link
Reference in a new issue