Use Rspack for faster builds
This commit is contained in:
parent
36b21e0260
commit
537dc46dc7
14 changed files with 1626 additions and 56 deletions
|
|
@ -5,7 +5,7 @@
|
||||||
"author": "uwap",
|
"author": "uwap",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"build": "npx spack",
|
"build": "npx rspack build",
|
||||||
"lint": "npx eslint src/",
|
"lint": "npx eslint src/",
|
||||||
"test": "jest --passWithNoTests",
|
"test": "jest --passWithNoTests",
|
||||||
"push": "yarn build && node ./upload.js"
|
"push": "yarn build && node ./upload.js"
|
||||||
|
|
@ -16,6 +16,8 @@
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@eslint/js": "^9.39.2",
|
"@eslint/js": "^9.39.2",
|
||||||
|
"@rspack/cli": "^1.7.0",
|
||||||
|
"@rspack/core": "^1.7.0",
|
||||||
"@stylistic/eslint-plugin": "^5.6.1",
|
"@stylistic/eslint-plugin": "^5.6.1",
|
||||||
"@swc/cli": "^0.7.9",
|
"@swc/cli": "^0.7.9",
|
||||||
"@swc/core": "^1.15.5",
|
"@swc/core": "^1.15.5",
|
||||||
|
|
|
||||||
29
rspack.config.ts
Normal file
29
rspack.config.ts
Normal file
|
|
@ -0,0 +1,29 @@
|
||||||
|
import { defineConfig } from "@rspack/cli";
|
||||||
|
|
||||||
|
export default defineConfig({
|
||||||
|
entry: {
|
||||||
|
screeps: __dirname + "/src/index.ts",
|
||||||
|
},
|
||||||
|
output: {
|
||||||
|
path: __dirname + "/dist",
|
||||||
|
},
|
||||||
|
target: "node10.13",
|
||||||
|
module: {
|
||||||
|
rules: [{
|
||||||
|
test: /\.ts$/,
|
||||||
|
exclude: [/node_modules/],
|
||||||
|
loader: "builtin:swc-loader",
|
||||||
|
options: {
|
||||||
|
jsc: {
|
||||||
|
parser: {
|
||||||
|
syntax: "typescript",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
type: "javascript/auto",
|
||||||
|
resolve: {
|
||||||
|
extensions: [".ts", ".js"],
|
||||||
|
},
|
||||||
|
}],
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
@ -1,12 +0,0 @@
|
||||||
const { config } = require('@swc/core/spack')
|
|
||||||
|
|
||||||
|
|
||||||
module.exports = config({
|
|
||||||
entry: {
|
|
||||||
'screeps': __dirname + '/src/index.ts',
|
|
||||||
},
|
|
||||||
output: {
|
|
||||||
path: __dirname + '/dist'
|
|
||||||
},
|
|
||||||
module: {},
|
|
||||||
});
|
|
||||||
|
|
@ -134,7 +134,7 @@ const createBuildSites = (room: Room) => {
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
export default profiler.registerFN(function RoomPlanner(room: Room) {
|
export default profiler.registerFN(function (room: Room) {
|
||||||
if (!room.controller?.my) {
|
if (!room.controller?.my) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
@ -468,4 +468,4 @@ export default profiler.registerFN(function RoomPlanner(room: Room) {
|
||||||
}
|
}
|
||||||
|
|
||||||
room.memory._planner = str;
|
room.memory._planner = str;
|
||||||
}) as (room: Room) => void;
|
}, "RoomPlanner") as (room: Room) => void;
|
||||||
|
|
|
||||||
|
|
@ -11,7 +11,7 @@ export const Build
|
||||||
});
|
});
|
||||||
|
|
||||||
export const runBuild = profiler.registerFN(
|
export const runBuild = profiler.registerFN(
|
||||||
function runBuild(creep: Creep): TaskStatus {
|
function (creep: Creep): TaskStatus {
|
||||||
const task = creep.task;
|
const task = creep.task;
|
||||||
if (task == null) {
|
if (task == null) {
|
||||||
return TaskStatus.DONE;
|
return TaskStatus.DONE;
|
||||||
|
|
@ -31,4 +31,4 @@ export const runBuild = profiler.registerFN(
|
||||||
creep.travelTo(task.targetPos);
|
creep.travelTo(task.targetPos);
|
||||||
}
|
}
|
||||||
return TaskStatus.IN_PROGRESS;
|
return TaskStatus.IN_PROGRESS;
|
||||||
}) as (creep: Creep) => TaskStatus;
|
}, "Tasks.Build.run") as (creep: Creep) => TaskStatus;
|
||||||
|
|
|
||||||
|
|
@ -28,7 +28,7 @@ export const Harvest
|
||||||
});
|
});
|
||||||
|
|
||||||
export const runHarvest = profiler.registerFN(
|
export const runHarvest = profiler.registerFN(
|
||||||
function runHarvest(creep: Creep): TaskStatus {
|
function (creep: Creep): TaskStatus {
|
||||||
const task = creep.task;
|
const task = creep.task;
|
||||||
if (task == null) {
|
if (task == null) {
|
||||||
return TaskStatus.DONE;
|
return TaskStatus.DONE;
|
||||||
|
|
@ -47,4 +47,4 @@ export const runHarvest = profiler.registerFN(
|
||||||
creep.travelTo(task.targetPos);
|
creep.travelTo(task.targetPos);
|
||||||
}
|
}
|
||||||
return TaskStatus.IN_PROGRESS;
|
return TaskStatus.IN_PROGRESS;
|
||||||
}) as (creep: Creep) => TaskStatus;
|
}, "Tasks.Harvest.run") as (creep: Creep) => TaskStatus;
|
||||||
|
|
|
||||||
|
|
@ -11,7 +11,7 @@ export const Pickup
|
||||||
});
|
});
|
||||||
|
|
||||||
export const runPickup = profiler.registerFN(
|
export const runPickup = profiler.registerFN(
|
||||||
function runPickup(creep: Creep): TaskStatus {
|
function (creep: Creep): TaskStatus {
|
||||||
const task = creep.task;
|
const task = creep.task;
|
||||||
if (task == null) {
|
if (task == null) {
|
||||||
return TaskStatus.DONE;
|
return TaskStatus.DONE;
|
||||||
|
|
@ -34,4 +34,4 @@ export const runPickup = profiler.registerFN(
|
||||||
return TaskStatus.IN_PROGRESS;
|
return TaskStatus.IN_PROGRESS;
|
||||||
}
|
}
|
||||||
return TaskStatus.DONE;
|
return TaskStatus.DONE;
|
||||||
}) as (creep: Creep) => TaskStatus;
|
}, "Tasks.Pickup.run") as (creep: Creep) => TaskStatus;
|
||||||
|
|
|
||||||
|
|
@ -11,7 +11,7 @@ export const Repair
|
||||||
});
|
});
|
||||||
|
|
||||||
export const runRepair = profiler.registerFN(
|
export const runRepair = profiler.registerFN(
|
||||||
function runRepair(creep: Creep): TaskStatus {
|
function (creep: Creep): TaskStatus {
|
||||||
const task = creep.task;
|
const task = creep.task;
|
||||||
if (task == null) {
|
if (task == null) {
|
||||||
return TaskStatus.DONE;
|
return TaskStatus.DONE;
|
||||||
|
|
@ -32,4 +32,4 @@ export const runRepair = profiler.registerFN(
|
||||||
return TaskStatus.IN_PROGRESS;
|
return TaskStatus.IN_PROGRESS;
|
||||||
}
|
}
|
||||||
return TaskStatus.DONE;
|
return TaskStatus.DONE;
|
||||||
}) as (creep: Creep) => TaskStatus;
|
}, "Tasks.Repair.run") as (creep: Creep) => TaskStatus;
|
||||||
|
|
|
||||||
|
|
@ -24,7 +24,7 @@ export const Transfer
|
||||||
});
|
});
|
||||||
|
|
||||||
export const runTransfer = profiler.registerFN(
|
export const runTransfer = profiler.registerFN(
|
||||||
function runTransfer(creep: Creep): TaskStatus {
|
function (creep: Creep): TaskStatus {
|
||||||
const task = creep.task;
|
const task = creep.task;
|
||||||
if (task == null) {
|
if (task == null) {
|
||||||
return TaskStatus.DONE;
|
return TaskStatus.DONE;
|
||||||
|
|
@ -40,4 +40,4 @@ export const runTransfer = profiler.registerFN(
|
||||||
return TaskStatus.IN_PROGRESS;
|
return TaskStatus.IN_PROGRESS;
|
||||||
}
|
}
|
||||||
return TaskStatus.DONE;
|
return TaskStatus.DONE;
|
||||||
}) as (creep: Creep) => TaskStatus;
|
}, "Tasks.Transfer.run") as (creep: Creep) => TaskStatus;
|
||||||
|
|
|
||||||
|
|
@ -11,7 +11,7 @@ export const Upgrade
|
||||||
});
|
});
|
||||||
|
|
||||||
export const runUpgrade = profiler.registerFN(
|
export const runUpgrade = profiler.registerFN(
|
||||||
function runUpgrade(creep: Creep): TaskStatus {
|
function (creep: Creep): TaskStatus {
|
||||||
const task = creep.task;
|
const task = creep.task;
|
||||||
if (task == null) {
|
if (task == null) {
|
||||||
return TaskStatus.DONE;
|
return TaskStatus.DONE;
|
||||||
|
|
@ -28,4 +28,4 @@ export const runUpgrade = profiler.registerFN(
|
||||||
creep.travelTo(task.targetPos);
|
creep.travelTo(task.targetPos);
|
||||||
}
|
}
|
||||||
return TaskStatus.IN_PROGRESS;
|
return TaskStatus.IN_PROGRESS;
|
||||||
}) as (creep: Creep) => TaskStatus;
|
}, "Tasks.Upgrade.run") as (creep: Creep) => TaskStatus;
|
||||||
|
|
|
||||||
|
|
@ -27,7 +27,7 @@ export const Withdraw
|
||||||
});
|
});
|
||||||
|
|
||||||
export const runWithdraw = profiler.registerFN(
|
export const runWithdraw = profiler.registerFN(
|
||||||
function runWithdraw(creep: Creep): TaskStatus {
|
function (creep: Creep): TaskStatus {
|
||||||
const task = creep.task;
|
const task = creep.task;
|
||||||
if (task == null) {
|
if (task == null) {
|
||||||
return TaskStatus.DONE;
|
return TaskStatus.DONE;
|
||||||
|
|
@ -57,4 +57,4 @@ export const runWithdraw = profiler.registerFN(
|
||||||
return TaskStatus.IN_PROGRESS;
|
return TaskStatus.IN_PROGRESS;
|
||||||
}
|
}
|
||||||
return TaskStatus.DONE;
|
return TaskStatus.DONE;
|
||||||
}) as (creep: Creep) => TaskStatus;
|
}, "Tasks.Withdraw.run") as (creep: Creep) => TaskStatus;
|
||||||
|
|
|
||||||
|
|
@ -35,7 +35,7 @@ const runTask = profiler.registerFN((creep: Creep): TaskStatus => {
|
||||||
default:
|
default:
|
||||||
return TaskStatus.DONE;
|
return TaskStatus.DONE;
|
||||||
}
|
}
|
||||||
}, "runTask") as (creep: Creep) => TaskStatus;
|
}, "Tasks.run") as (creep: Creep) => TaskStatus;
|
||||||
|
|
||||||
Creep.prototype.run = function (generator?: (creep: Creep) => TaskData | null) {
|
Creep.prototype.run = function (generator?: (creep: Creep) => TaskData | null) {
|
||||||
const status = runTask(this);
|
const status = runTask(this);
|
||||||
|
|
|
||||||
|
|
@ -10,7 +10,7 @@ export interface WorkerDefinition {
|
||||||
}
|
}
|
||||||
|
|
||||||
export const spawnWorkers = profiler.registerFN(
|
export const spawnWorkers = profiler.registerFN(
|
||||||
function spawnWorkers(spawn: StructureSpawn, workers: WorkerDefinition[]) {
|
function (spawn: StructureSpawn, workers: WorkerDefinition[]) {
|
||||||
for (const worker of workers) {
|
for (const worker of workers) {
|
||||||
for (let i = 0; i < worker.requiredCreeps(spawn.room); i++) {
|
for (let i = 0; i < worker.requiredCreeps(spawn.room); i++) {
|
||||||
const ret = spawn.spawnCreep(
|
const ret = spawn.spawnCreep(
|
||||||
|
|
@ -21,10 +21,11 @@ export const spawnWorkers = profiler.registerFN(
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}) as (spawn: StructureSpawn, workers: WorkerDefinition[]) => void;
|
}, "spawnWorkers") as
|
||||||
|
(spawn: StructureSpawn, workers: WorkerDefinition[]) => void;
|
||||||
|
|
||||||
export const runWorkers = profiler.registerFN(
|
export const runWorkers = profiler.registerFN(
|
||||||
function runWorkers(workers: WorkerDefinition[]) {
|
function (workers: WorkerDefinition[]) {
|
||||||
for (const worker of workers) {
|
for (const worker of workers) {
|
||||||
for (const creep of Object.values(Game.creeps)) {
|
for (const creep of Object.values(Game.creeps)) {
|
||||||
if (creep.spawning) {
|
if (creep.spawning) {
|
||||||
|
|
@ -41,4 +42,4 @@ export const runWorkers = profiler.registerFN(
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}) as (workers: WorkerDefinition[]) => void;
|
}, "runWorkers") as (workers: WorkerDefinition[]) => void;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue