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",
|
||||
"license": "MIT",
|
||||
"scripts": {
|
||||
"build": "npx spack",
|
||||
"build": "npx rspack build",
|
||||
"lint": "npx eslint src/",
|
||||
"test": "jest --passWithNoTests",
|
||||
"push": "yarn build && node ./upload.js"
|
||||
|
|
@ -16,6 +16,8 @@
|
|||
},
|
||||
"devDependencies": {
|
||||
"@eslint/js": "^9.39.2",
|
||||
"@rspack/cli": "^1.7.0",
|
||||
"@rspack/core": "^1.7.0",
|
||||
"@stylistic/eslint-plugin": "^5.6.1",
|
||||
"@swc/cli": "^0.7.9",
|
||||
"@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) {
|
||||
return;
|
||||
}
|
||||
|
|
@ -468,4 +468,4 @@ export default profiler.registerFN(function RoomPlanner(room: Room) {
|
|||
}
|
||||
|
||||
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(
|
||||
function runBuild(creep: Creep): TaskStatus {
|
||||
function (creep: Creep): TaskStatus {
|
||||
const task = creep.task;
|
||||
if (task == null) {
|
||||
return TaskStatus.DONE;
|
||||
|
|
@ -31,4 +31,4 @@ export const runBuild = profiler.registerFN(
|
|||
creep.travelTo(task.targetPos);
|
||||
}
|
||||
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(
|
||||
function runHarvest(creep: Creep): TaskStatus {
|
||||
function (creep: Creep): TaskStatus {
|
||||
const task = creep.task;
|
||||
if (task == null) {
|
||||
return TaskStatus.DONE;
|
||||
|
|
@ -47,4 +47,4 @@ export const runHarvest = profiler.registerFN(
|
|||
creep.travelTo(task.targetPos);
|
||||
}
|
||||
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(
|
||||
function runPickup(creep: Creep): TaskStatus {
|
||||
function (creep: Creep): TaskStatus {
|
||||
const task = creep.task;
|
||||
if (task == null) {
|
||||
return TaskStatus.DONE;
|
||||
|
|
@ -34,4 +34,4 @@ export const runPickup = profiler.registerFN(
|
|||
return TaskStatus.IN_PROGRESS;
|
||||
}
|
||||
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(
|
||||
function runRepair(creep: Creep): TaskStatus {
|
||||
function (creep: Creep): TaskStatus {
|
||||
const task = creep.task;
|
||||
if (task == null) {
|
||||
return TaskStatus.DONE;
|
||||
|
|
@ -32,4 +32,4 @@ export const runRepair = profiler.registerFN(
|
|||
return TaskStatus.IN_PROGRESS;
|
||||
}
|
||||
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(
|
||||
function runTransfer(creep: Creep): TaskStatus {
|
||||
function (creep: Creep): TaskStatus {
|
||||
const task = creep.task;
|
||||
if (task == null) {
|
||||
return TaskStatus.DONE;
|
||||
|
|
@ -40,4 +40,4 @@ export const runTransfer = profiler.registerFN(
|
|||
return TaskStatus.IN_PROGRESS;
|
||||
}
|
||||
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(
|
||||
function runUpgrade(creep: Creep): TaskStatus {
|
||||
function (creep: Creep): TaskStatus {
|
||||
const task = creep.task;
|
||||
if (task == null) {
|
||||
return TaskStatus.DONE;
|
||||
|
|
@ -28,4 +28,4 @@ export const runUpgrade = profiler.registerFN(
|
|||
creep.travelTo(task.targetPos);
|
||||
}
|
||||
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(
|
||||
function runWithdraw(creep: Creep): TaskStatus {
|
||||
function (creep: Creep): TaskStatus {
|
||||
const task = creep.task;
|
||||
if (task == null) {
|
||||
return TaskStatus.DONE;
|
||||
|
|
@ -57,4 +57,4 @@ export const runWithdraw = profiler.registerFN(
|
|||
return TaskStatus.IN_PROGRESS;
|
||||
}
|
||||
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:
|
||||
return TaskStatus.DONE;
|
||||
}
|
||||
}, "runTask") as (creep: Creep) => TaskStatus;
|
||||
}, "Tasks.run") as (creep: Creep) => TaskStatus;
|
||||
|
||||
Creep.prototype.run = function (generator?: (creep: Creep) => TaskData | null) {
|
||||
const status = runTask(this);
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@ export interface WorkerDefinition {
|
|||
}
|
||||
|
||||
export const spawnWorkers = profiler.registerFN(
|
||||
function spawnWorkers(spawn: StructureSpawn, workers: WorkerDefinition[]) {
|
||||
function (spawn: StructureSpawn, workers: WorkerDefinition[]) {
|
||||
for (const worker of workers) {
|
||||
for (let i = 0; i < worker.requiredCreeps(spawn.room); i++) {
|
||||
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(
|
||||
function runWorkers(workers: WorkerDefinition[]) {
|
||||
function (workers: WorkerDefinition[]) {
|
||||
for (const worker of workers) {
|
||||
for (const creep of Object.values(Game.creeps)) {
|
||||
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