diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 3db3def5..9d6eefd5 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -40,9 +40,14 @@ importers: spritesmith: ^3.4.0 tools/trim: dependencies: + '@types/node': 14.0.23 commander: 5.1.0 + devDependencies: + typescript: 3.9.7 specifiers: + '@types/node': ^14.0.23 commander: ^5.1.0 + typescript: ^3.9.7 tools/tupctime: dependencies: better-sqlite3: 7.0.1 diff --git a/tools/trim/image.js b/tools/trim/image.ts similarity index 74% rename from tools/trim/image.js rename to tools/trim/image.ts index 372634dd..edf8ae4d 100644 --- a/tools/trim/image.js +++ b/tools/trim/image.ts @@ -1,7 +1,7 @@ import cp from 'child_process'; -export function getDims(input) { +export function getDims(input : string) { const info = cp.execFileSync('convert', [input, '-format', "%w+%h+%@", 'info:'], {encoding:'utf8'}); @@ -21,13 +21,13 @@ export function getDims(input) { } } -export function crop(input, {width, height, left, top}, output) { +export function crop(input : string, {width, height, left, top} : {width : number, height: number, left: number, top: number}, output : string) { cp.execFileSync('convert', [input, '+repage', '-crop', `${width}x${height}+${left}+${top}`, output]); } // Trim, preserving displacement from center // Returns crop coords -export function losslessTrim(dims) { +export function losslessTrim(dims : {width : number, height: number, left: number, top: number, bottom: number, right: number}) { return { left: Math.min(dims.left, dims.right), width: dims.width + Math.abs(dims.left - dims.right), diff --git a/tools/trim/index.js b/tools/trim/index.ts similarity index 100% rename from tools/trim/index.js rename to tools/trim/index.ts diff --git a/tools/trim/package.json b/tools/trim/package.json index c47d6951..389f6bdf 100644 --- a/tools/trim/package.json +++ b/tools/trim/package.json @@ -1,6 +1,14 @@ { "dependencies": { + "@types/node": "^14.0.23", "commander": "^5.1.0" }, - "type": "module" + "type": "module", + "main": "./dist/index.js", + "scripts": { + "prepare": "tsc" + }, + "devDependencies": { + "typescript": "^3.9.7" + } } diff --git a/tools/trim/tsconfig.json b/tools/trim/tsconfig.json new file mode 100644 index 00000000..cded0362 --- /dev/null +++ b/tools/trim/tsconfig.json @@ -0,0 +1,7 @@ +{ + "extends": "../../tsconfig-base", + "compilerOptions": { + "outDir": "dist", + "allowJs": true + } +}