@haltcase/run 2.0.1 → 3.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli/bin.js +0 -1
- package/dist/cli/handler.js +5 -7
- package/dist/cli/main.js +5 -1
- package/dist/cli/parseOptions.js +0 -1
- package/dist/config.js +0 -1
- package/dist/index.js +0 -1
- package/dist/tasks/executeTask.js +2 -4
- package/dist/tasks/guards.d.ts +1 -1
- package/dist/tasks/guards.js +0 -1
- package/dist/tasks/task.d.ts +11 -4
- package/dist/tasks/task.js +33 -27
- package/dist/tasks/types.d.ts +9 -16
- package/dist/tasks/types.js +0 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/dist/util/getSchemaProperties.d.ts +2 -2
- package/dist/util/getSchemaProperties.js +30 -9
- package/dist/util/loadTaskFile.js +0 -1
- package/dist/util/resolveTaskFile.d.ts +1 -1
- package/dist/util/resolveTaskFile.js +0 -1
- package/dist/util/result.d.ts +5 -5
- package/dist/util/result.js +0 -1
- package/package.json +76 -78
- package/readme.md +63 -31
- package/dist/cli/bin.js.map +0 -1
- package/dist/cli/handler.js.map +0 -1
- package/dist/cli/handler.test.d.ts +0 -1
- package/dist/cli/handler.test.js +0 -23
- package/dist/cli/handler.test.js.map +0 -1
- package/dist/cli/main.js.map +0 -1
- package/dist/cli/parseOptions.js.map +0 -1
- package/dist/cli/parseOptions.test.d.ts +0 -1
- package/dist/cli/parseOptions.test.js +0 -43
- package/dist/cli/parseOptions.test.js.map +0 -1
- package/dist/config.js.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/tasks/executeTask.js.map +0 -1
- package/dist/tasks/guards.js.map +0 -1
- package/dist/tasks/task.js.map +0 -1
- package/dist/tasks/task.test.d.ts +0 -1
- package/dist/tasks/task.test.js +0 -124
- package/dist/tasks/task.test.js.map +0 -1
- package/dist/tasks/types.js.map +0 -1
- package/dist/util/getSchemaProperties.js.map +0 -1
- package/dist/util/getSchemaProperties.test.d.ts +0 -1
- package/dist/util/getSchemaProperties.test.js +0 -16
- package/dist/util/getSchemaProperties.test.js.map +0 -1
- package/dist/util/loadTaskFile.js.map +0 -1
- package/dist/util/resolveTaskFile.js.map +0 -1
- package/dist/util/result.js.map +0 -1
- package/dist/util/types.d.ts +0 -4
- package/dist/util/types.js +0 -2
- package/dist/util/types.js.map +0 -1
package/package.json
CHANGED
|
@@ -1,79 +1,77 @@
|
|
|
1
1
|
{
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
}
|
|
79
|
-
}
|
|
2
|
+
"name": "@haltcase/run",
|
|
3
|
+
"version": "3.0.1",
|
|
4
|
+
"description": "Flexible, function-based task runner where command line options are props",
|
|
5
|
+
"keywords": [
|
|
6
|
+
"task",
|
|
7
|
+
"runner",
|
|
8
|
+
"command",
|
|
9
|
+
"function",
|
|
10
|
+
"typescript",
|
|
11
|
+
"execa",
|
|
12
|
+
"arktype"
|
|
13
|
+
],
|
|
14
|
+
"homepage": "https://github.com/haltcase/run#readme",
|
|
15
|
+
"bugs": "https://github.com/haltcase/run/issues",
|
|
16
|
+
"repository": {
|
|
17
|
+
"type": "git",
|
|
18
|
+
"url": "https://github.com/haltcase/run.git"
|
|
19
|
+
},
|
|
20
|
+
"license": "MIT",
|
|
21
|
+
"author": "Bo Lingen <bo@haltcase.dev> (https://haltcase.dev)",
|
|
22
|
+
"type": "module",
|
|
23
|
+
"exports": {
|
|
24
|
+
".": "./dist/index.js"
|
|
25
|
+
},
|
|
26
|
+
"main": "./dist/index.js",
|
|
27
|
+
"types": "./dist/index.d.ts",
|
|
28
|
+
"bin": {
|
|
29
|
+
"hr": "./dist/cli/bin.js"
|
|
30
|
+
},
|
|
31
|
+
"files": [
|
|
32
|
+
"dist"
|
|
33
|
+
],
|
|
34
|
+
"lint-staged": {
|
|
35
|
+
"*.{js,jsx,ts,tsx,css,yml,yaml}": "pnpm prettier --write"
|
|
36
|
+
},
|
|
37
|
+
"prettier": "@haltcase/style/prettier",
|
|
38
|
+
"dependencies": {
|
|
39
|
+
"@favware/colorette-spinner": "^1.0.1",
|
|
40
|
+
"arktype": "^2.1.17",
|
|
41
|
+
"c12": "^3.0.3",
|
|
42
|
+
"cliui": "^9.0.1",
|
|
43
|
+
"colorette": "^2.0.20",
|
|
44
|
+
"execa": "^9.5.1"
|
|
45
|
+
},
|
|
46
|
+
"devDependencies": {
|
|
47
|
+
"@haltcase/style": "^7.3.1",
|
|
48
|
+
"@types/node": "^22.8.6",
|
|
49
|
+
"eslint": "^9.24.0",
|
|
50
|
+
"husky": "^9.1.7",
|
|
51
|
+
"lint-staged": "^15.5.1",
|
|
52
|
+
"prettier": "^3.5.3",
|
|
53
|
+
"tsx": "^4.19.3",
|
|
54
|
+
"typescript": "^5.8.3",
|
|
55
|
+
"vitest": "^3.1.1"
|
|
56
|
+
},
|
|
57
|
+
"engines": {
|
|
58
|
+
"node": ">=20"
|
|
59
|
+
},
|
|
60
|
+
"publishConfig": {
|
|
61
|
+
"access": "public"
|
|
62
|
+
},
|
|
63
|
+
"haltcase.run": {
|
|
64
|
+
"taskDirectory": "./scripts",
|
|
65
|
+
"quiet": true
|
|
66
|
+
},
|
|
67
|
+
"scripts": {
|
|
68
|
+
"build": "tsc -p tsconfig.build.json",
|
|
69
|
+
"build:watch": "tsc -p tsconfig.build.json --watch",
|
|
70
|
+
"eslint:check": "eslint src",
|
|
71
|
+
"format": "eslint --fix src && prettier src --write",
|
|
72
|
+
"hr": "tsx ./src/cli/bin.ts",
|
|
73
|
+
"prettier:check": "prettier --check src",
|
|
74
|
+
"test": "vitest",
|
|
75
|
+
"typescript:check": "tsc --noEmit && echo \"No errors reported by tsc.\""
|
|
76
|
+
}
|
|
77
|
+
}
|
package/readme.md
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
- ✅ Write task files in TypeScript or plain JavaScript
|
|
8
8
|
- ✅ [Execa] built in for shell command execution
|
|
9
9
|
- ✅ Tasks are "just functions" exported from your script files
|
|
10
|
-
- ✅ [
|
|
10
|
+
- ✅ Integrated [Arktype] schema support for stricter task execution
|
|
11
11
|
|
|
12
12
|
## Quick start
|
|
13
13
|
|
|
@@ -213,11 +213,13 @@ export const build = async ({ mode }, { $ }) => {
|
|
|
213
213
|
|
|
214
214
|
See [API](#api) for full API details.
|
|
215
215
|
|
|
216
|
-
### Task option validation using
|
|
216
|
+
### Task option validation using Arktype schemas
|
|
217
217
|
|
|
218
|
-
Using
|
|
219
|
-
your task's logic. If you transform the input
|
|
220
|
-
types will infer the output type.
|
|
218
|
+
Using `task.strict`, you can define an [Arktype] schema to move
|
|
219
|
+
validations out of your task's logic. If you transform the input (via [Morphs]),
|
|
220
|
+
your task function's TypeScript types will infer the output type of the morph and your task will receive the updated type.
|
|
221
|
+
|
|
222
|
+
See [`task.strict`](#taskstrict) for more.
|
|
221
223
|
|
|
222
224
|
## Configuration
|
|
223
225
|
|
|
@@ -290,11 +292,12 @@ pnpm hr greetings hello --name
|
|
|
290
292
|
|
|
291
293
|
If you want to pass a boolean value for an option, pass `true`/`false` and
|
|
292
294
|
parse it yourself or use [`task.strict`](#taskstrict), for example using the
|
|
293
|
-
|
|
295
|
+
Arktype schema: `type("string").pipe((value) => value === "true")`.
|
|
294
296
|
|
|
295
297
|
### `task`
|
|
296
298
|
|
|
297
|
-
`task` is a very light wrapper around a function that provides improved type
|
|
299
|
+
`task` is a very light wrapper around a function that provides improved type
|
|
300
|
+
inference.
|
|
298
301
|
|
|
299
302
|
```ts
|
|
300
303
|
task<TOptions>(fn: Task<T>): BrandedTask<T>
|
|
@@ -326,7 +329,7 @@ export const customOptions = task<CustomOptions>((options) => {
|
|
|
326
329
|
> Because all command line arguments are strings, you should only use `string`
|
|
327
330
|
> as the value type for options with this method. If you want to be stricter
|
|
328
331
|
> about value types by validating or transforming them, implement the parsing
|
|
329
|
-
> yourself or use [`task.strict`](#taskstrict) with
|
|
332
|
+
> yourself or use [`task.strict`](#taskstrict) with an [Arktype] schema.
|
|
330
333
|
|
|
331
334
|
### `Task`
|
|
332
335
|
|
|
@@ -344,20 +347,19 @@ line options and a [`utilities`](#taskutilities) object providing tools for shel
|
|
|
344
347
|
|
|
345
348
|
Properties:
|
|
346
349
|
|
|
347
|
-
- `$` –
|
|
350
|
+
- `$` – Run a command using Execa's [script mode][execascript].
|
|
348
351
|
- `command` – Run a command using [Execa] (e.g., shell command or script).
|
|
349
352
|
- `exec` – Same as `command`, but inherits the parent process' stdio streams by default.
|
|
350
353
|
|
|
351
354
|
### `task.strict`
|
|
352
355
|
|
|
353
|
-
Provide the shape for
|
|
354
|
-
the second. The task function will receive the safely parsed and
|
|
355
|
-
output of the
|
|
356
|
-
|
|
357
|
-
Note that you supply a plain object for the shape rather than a full Zod schema.
|
|
356
|
+
Provide the shape for an [Arktype] schema as the first argument and a task
|
|
357
|
+
function as the second. The task function will receive the safely parsed and
|
|
358
|
+
validated output of the Arktype schema, and its types will be inferred
|
|
359
|
+
automatically.
|
|
358
360
|
|
|
359
361
|
```ts
|
|
360
|
-
task.strict<TShape, TSchema?>(shape: TShape, fn: Task<
|
|
362
|
+
task.strict<TShape, TSchema?>(shape: TShape, fn: Task<TShape>): BrandedTaskStrict<TShape>
|
|
361
363
|
```
|
|
362
364
|
|
|
363
365
|
Usage:
|
|
@@ -366,16 +368,18 @@ Usage:
|
|
|
366
368
|
// scripts/strict-tasks.ts
|
|
367
369
|
|
|
368
370
|
import { task } from "@haltcase/run";
|
|
369
|
-
import { z } from "zod";
|
|
370
371
|
|
|
371
372
|
export const printCharacter = task.strict(
|
|
372
373
|
{
|
|
373
|
-
// positional/unnamed arguments
|
|
374
|
-
_:
|
|
375
|
-
// environment variables
|
|
376
|
-
env:
|
|
377
|
-
|
|
378
|
-
|
|
374
|
+
// positional/unnamed arguments (default type, can be omitted)
|
|
375
|
+
_: "string[]",
|
|
376
|
+
// environment variables (default type, can be omitted)
|
|
377
|
+
env: "Record<string, string | undefined>",
|
|
378
|
+
|
|
379
|
+
// a simple type
|
|
380
|
+
name: "string",
|
|
381
|
+
// an input → output morph (transform string to number)
|
|
382
|
+
armorClass: "string.numeric.parse"
|
|
379
383
|
},
|
|
380
384
|
async ({ name, armorClass }) => {
|
|
381
385
|
console.log(`🎲 ${name}\n🛡️ ${armorClass}`);
|
|
@@ -391,15 +395,16 @@ reference to Node's `process.env`. For instance:
|
|
|
391
395
|
// scripts/extra.ts
|
|
392
396
|
|
|
393
397
|
import { task } from "@haltcase/run";
|
|
394
|
-
import {
|
|
398
|
+
import { type } from "arktype";
|
|
395
399
|
|
|
396
400
|
export const fun = task.strict(
|
|
397
401
|
{
|
|
398
|
-
_:
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
402
|
+
_: type("string[]").pipe((values) => values.length),
|
|
403
|
+
env: {
|
|
404
|
+
// Arktype undeclared property handling (default is "ignore", aka passthrough)
|
|
405
|
+
"+": "delete",
|
|
406
|
+
SECRET_KEY: "string >= 8"
|
|
407
|
+
}
|
|
403
408
|
},
|
|
404
409
|
async ({ _, env }) => {
|
|
405
410
|
console.log(`Positionals count (_) = ${_}`);
|
|
@@ -410,16 +415,43 @@ export const fun = task.strict(
|
|
|
410
415
|
|
|
411
416
|
```shell
|
|
412
417
|
pnpm hr extra fun because there are more words
|
|
413
|
-
#
|
|
414
|
-
# → undefined
|
|
418
|
+
# Error: Environment variable 'SECRET_KEY': must be a string (was missing)
|
|
415
419
|
|
|
416
420
|
SECRET_KEY=abcdefgh pnpm hr extra fun because there are more words
|
|
417
421
|
# → 5
|
|
418
422
|
# → abcdefgh
|
|
419
423
|
```
|
|
420
424
|
|
|
425
|
+
If you already have an Arktype type, you can pass it to `task.strict`:
|
|
426
|
+
|
|
427
|
+
```ts
|
|
428
|
+
// scripts/extra.ts
|
|
429
|
+
|
|
430
|
+
import { task } from "@haltcase/run";
|
|
431
|
+
import { type } from "arktype";
|
|
432
|
+
|
|
433
|
+
const inputSchema = type({
|
|
434
|
+
_: type("string[]").pipe((values) => values.length),
|
|
435
|
+
env: {
|
|
436
|
+
// undeclared property handling (default is "ignore", aka passthrough)
|
|
437
|
+
"+": "delete",
|
|
438
|
+
SECRET_KEY: "string >= 8"
|
|
439
|
+
}
|
|
440
|
+
});
|
|
441
|
+
|
|
442
|
+
export const fun = task.strict(inputSchema, async ({ _, env }) => {
|
|
443
|
+
console.log(`Positionals count (_) = ${_}`);
|
|
444
|
+
console.log(`SECRET_KEY = ${env.SECRET_KEY}`);
|
|
445
|
+
|
|
446
|
+
// using "delete" for undeclared keys strips other properties:
|
|
447
|
+
console.log(Object.keys(env));
|
|
448
|
+
// ["SECRET_KEY"]
|
|
449
|
+
});
|
|
450
|
+
```
|
|
451
|
+
|
|
421
452
|
[execa]: https://github.com/sindresorhus/execa#readme
|
|
422
453
|
[execascript]: https://github.com/sindresorhus/execa/blob/main/docs/scripts.md
|
|
423
|
-
[
|
|
454
|
+
[arktype]: https://arktype.io/
|
|
455
|
+
[morphs]: https://arktype.io/docs/intro/morphs-and-more
|
|
424
456
|
[nodeparseargs]: https://nodejs.org/api/util.html#utilparseargsconfig
|
|
425
457
|
[c12]: https://github.com/unjs/c12?tab=readme-ov-file#-features
|
package/dist/cli/bin.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"bin.js","sourceRoot":"","sources":["../../src/cli/bin.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,MAAM,OAAO,GAAG,aAAa,EAAE,CAAC;AAEhC,KAAK,IAAI,CAAC;IACT,OAAO;CACP,CAAC,CAAC"}
|
package/dist/cli/handler.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"handler.js","sourceRoot":"","sources":["../../src/cli/handler.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
package/dist/cli/handler.test.js
DELETED
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { expect, test, vi } from "vitest";
|
|
2
|
-
import { createHandler } from "./handler.js";
|
|
3
|
-
const handler = createHandler();
|
|
4
|
-
const stdoutSpy = vi.spyOn(globalThis.process.stdout, "write");
|
|
5
|
-
const stderrSpy = vi.spyOn(globalThis.process.stderr, "write");
|
|
6
|
-
const exitSpy = vi.spyOn(globalThis.process, "exit");
|
|
7
|
-
test("handler: writes to stdout", () => {
|
|
8
|
-
const stdout = stdoutSpy.mockImplementationOnce(() => true);
|
|
9
|
-
const message = "Success";
|
|
10
|
-
handler.write(message);
|
|
11
|
-
expect(stdout).toHaveBeenCalledWith(`${message}\n`);
|
|
12
|
-
});
|
|
13
|
-
test("handler: writes to stderr and exits", () => {
|
|
14
|
-
const stderr = stderrSpy.mockImplementationOnce(() => true);
|
|
15
|
-
// @ts-expect-error we can't actually return never
|
|
16
|
-
const exit = exitSpy.mockImplementationOnce(() => {
|
|
17
|
-
// nothing
|
|
18
|
-
});
|
|
19
|
-
handler.failWith("Error message");
|
|
20
|
-
expect(stderr).toHaveBeenCalled();
|
|
21
|
-
expect(exit).toHaveBeenCalled();
|
|
22
|
-
});
|
|
23
|
-
//# sourceMappingURL=handler.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"handler.test.js","sourceRoot":"","sources":["../../src/cli/handler.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAE1C,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,MAAM,OAAO,GAAG,aAAa,EAAE,CAAC;AAEhC,MAAM,SAAS,GAAG,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAC/D,MAAM,SAAS,GAAG,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAC/D,MAAM,OAAO,GAAG,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;AAErD,IAAI,CAAC,2BAA2B,EAAE,GAAG,EAAE;IACtC,MAAM,MAAM,GAAG,SAAS,CAAC,sBAAsB,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;IAC5D,MAAM,OAAO,GAAG,SAAS,CAAC;IAC1B,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACvB,MAAM,CAAC,MAAM,CAAC,CAAC,oBAAoB,CAAC,GAAG,OAAO,IAAI,CAAC,CAAC;AACrD,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,qCAAqC,EAAE,GAAG,EAAE;IAChD,MAAM,MAAM,GAAG,SAAS,CAAC,sBAAsB,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;IAC5D,kDAAkD;IAClD,MAAM,IAAI,GAAG,OAAO,CAAC,sBAAsB,CAAC,GAAG,EAAE;QAChD,UAAU;IACX,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;IAElC,MAAM,CAAC,MAAM,CAAC,CAAC,gBAAgB,EAAE,CAAC;IAClC,MAAM,CAAC,IAAI,CAAC,CAAC,gBAAgB,EAAE,CAAC;AACjC,CAAC,CAAC,CAAC"}
|
package/dist/cli/main.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/cli/main.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAG3C,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAGtD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAE7D,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAoBjD,MAAM,CAAC,MAAM,IAAI,GAAG,KAAK,EAAE,KAAgB,EAAE,EAAE;IAC9C,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,YAAY,EAAE,CAAC;IAExC,MAAM,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACtC,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAEvC,IAAI,CAAC,aAAa,EAAE,CAAC;QACpB,KAAK,CAAC,OAAO,CAAC,KAAK,CAClB,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;YAClB,YAAY,EAAE,IAAI;YAClB,MAAM;SACN,CAAC,CACF,CAAC;QAEF,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,4BAA4B,CAAC,CAAC;IACtD,CAAC;IAED,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;IAElE,MAAM,OAAO,GAAG;QACf,GAAG,KAAK;QACR,MAAM;QACN,QAAQ,EAAE;YACT,GAAG,KAAK,CAAC,YAAY,CAAC;YACtB,IAAI,EAAE,YAAY;SAClB;QACD,QAAQ;KACc,CAAC;IAExB,MAAM,WAAW,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;IAE7C,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;QAChC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC;YACtB,4CAA4C,OAAO,CAAC,QAAQ,CAAC,IAAI,GAAG;YACpE,kEAAkE;YAClE,WAAW,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;SAC7C,CAAC,CAAC;IACJ,CAAC;IAED,MAAM,cAAc,GAAG,MAAM,YAAY,CAAC,OAAO,CAAC,CAAC;IAEnD,IAAI,CAAC,cAAc,CAAC,EAAE,EAAE,CAAC;QACxB,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IAC9C,CAAC;IAED,MAAM,eAAe,GAAG;QACvB,GAAG,OAAO;QACV,QAAQ,EAAE;YACT,GAAG,OAAO,CAAC,QAAQ;YACnB,IAAI,EAAE,cAAc,CAAC,KAAK;SAC1B;KAC6B,CAAC;IAEhC,IAAI,CAAC;QACJ,MAAM,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACpD,MAAM,WAAW,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QAE5C,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;YACnB,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC;gBAC7B,IAAI,EAAE,SAAS;aACf,CAAC,CAAC;QACJ,CAAC;IACF,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,wBAAwB,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACnE,CAAC;AACF,CAAC,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"parseOptions.js","sourceRoot":"","sources":["../../src/cli/parseOptions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAOtC,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;AAEnD;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,IAAc,EAAiB,EAAE;IAC7D,MAAM,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;QAC5B,IAAI;QACJ,gBAAgB,EAAE,IAAI;QACtB,MAAM,EAAE,KAAK;QACb,MAAM,EAAE,IAAI;KACZ,CAAC,CAAC;IAEH,MAAM,OAAO,GAAkB;QAC9B,CAAC,EAAE,EAAE;KACL,CAAC;IAEF,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;QACpD,oEAAoE;QACpE,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAE,CAAC;QAE7B,IAAI,KAAK,CAAC,IAAI,KAAK,mBAAmB,EAAE,CAAC;YACxC,SAAS;QACV,CAAC;QAED,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC7B,IAAI,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;gBACnC,MAAM,IAAI,KAAK,CACd,kBAAkB,KAAK,CAAC,IAAI,4BAA4B,CACxD,CAAC;YACH,CAAC;YAED,IAAI,KAAK,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;gBAC/B,oEAAoE;gBACpE,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,GAAG,CAAC,CAAE,CAAC;gBAEhC,IAAI,IAAI,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;oBAChC,MAAM,IAAI,KAAK,CAAC,6BAA6B,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;gBAC/D,CAAC;gBAED,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;gBACjC,KAAK,EAAE,CAAC;YACT,CAAC;iBAAM,CAAC;gBACP,MAAM,IAAI,KAAK,CACd,mBAAmB,KAAK,CAAC,OAAO,4BAA4B,CAC5D,CAAC;YACH,CAAC;QACF,CAAC;QAED,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;YACjC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC7B,CAAC;IACF,CAAC;IAED,OAAO,OAAO,CAAC;AAChB,CAAC,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
import { expect, test } from "vitest";
|
|
2
|
-
import { parseOptions } from "./parseOptions.js";
|
|
3
|
-
test("parseOptions: parses options as key/value and returns positionals", () => {
|
|
4
|
-
expect(parseOptions([
|
|
5
|
-
"--file",
|
|
6
|
-
"readme.md",
|
|
7
|
-
"--dryRun",
|
|
8
|
-
"true",
|
|
9
|
-
"you",
|
|
10
|
-
"spin",
|
|
11
|
-
"me",
|
|
12
|
-
"right",
|
|
13
|
-
"round"
|
|
14
|
-
])).toStrictEqual({
|
|
15
|
-
_: ["you", "spin", "me", "right", "round"],
|
|
16
|
-
file: "readme.md",
|
|
17
|
-
dryRun: "true"
|
|
18
|
-
});
|
|
19
|
-
});
|
|
20
|
-
test("parseOptions: expects all options to have values", () => {
|
|
21
|
-
expect(() => parseOptions(["--name"])).toThrow("Expected option --name to be followed by a value");
|
|
22
|
-
});
|
|
23
|
-
test("parseOptions: returns everything after terminator as positionals", () => {
|
|
24
|
-
expect(parseOptions(["--color", "blue", "--", "--name", "-aBcDeF"]))
|
|
25
|
-
.toMatchInlineSnapshot(`
|
|
26
|
-
{
|
|
27
|
-
"_": [
|
|
28
|
-
"--name",
|
|
29
|
-
"-aBcDeF",
|
|
30
|
-
],
|
|
31
|
-
"color": "blue",
|
|
32
|
-
}
|
|
33
|
-
`);
|
|
34
|
-
});
|
|
35
|
-
test("parseOptions: use of reserved option names throws error", () => {
|
|
36
|
-
expect(() => {
|
|
37
|
-
parseOptions(["--env", "development"]);
|
|
38
|
-
}).toThrow("Reserved name 'env' cannot be used as option");
|
|
39
|
-
expect(() => {
|
|
40
|
-
parseOptions(["--_", "development"]);
|
|
41
|
-
}).toThrow("Reserved name '_' cannot be used as option");
|
|
42
|
-
});
|
|
43
|
-
//# sourceMappingURL=parseOptions.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"parseOptions.test.js","sourceRoot":"","sources":["../../src/cli/parseOptions.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAEtC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,IAAI,CAAC,mEAAmE,EAAE,GAAG,EAAE;IAC9E,MAAM,CACL,YAAY,CAAC;QACZ,QAAQ;QACR,WAAW;QACX,UAAU;QACV,MAAM;QACN,KAAK;QACL,MAAM;QACN,IAAI;QACJ,OAAO;QACP,OAAO;KACP,CAAC,CACF,CAAC,aAAa,CAAC;QACf,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC;QAC1C,IAAI,EAAE,WAAW;QACjB,MAAM,EAAE,MAAM;KACd,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,kDAAkD,EAAE,GAAG,EAAE;IAC7D,MAAM,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAC7C,kDAAkD,CAClD,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,kEAAkE,EAAE,GAAG,EAAE;IAC7E,MAAM,CAAC,YAAY,CAAC,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC;SAClE,qBAAqB,CAAC;;;;;;;;EAQvB,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,yDAAyD,EAAE,GAAG,EAAE;IACpE,MAAM,CAAC,GAAG,EAAE;QACX,YAAY,CAAC,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC,OAAO,CAAC,8CAA8C,CAAC,CAAC;IAE3D,MAAM,CAAC,GAAG,EAAE;QACX,YAAY,CAAC,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC,OAAO,CAAC,4CAA4C,CAAC,CAAC;AAC1D,CAAC,CAAC,CAAC"}
|
package/dist/config.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AAEnC,OAAO,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AAmBjC,MAAM,CAAC,MAAM,YAAY,GAAG,KAAK,IAAI,EAAE;IACtC,MAAM,UAAU,GAAG,cAAc,CAAC;IAElC,OAAO,UAAU,CAAY;QAC5B,IAAI,EAAE,UAAU;QAChB,UAAU,EAAE,UAAU;QACtB,WAAW,EAAE,UAAU;QACvB,MAAM,EAAE,UAAU;QAElB,QAAQ,EAAE;YACT,aAAa,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC;YACrC,KAAK,EAAE,KAAK;SACZ;KACD,CAAC,CAAC;AACJ,CAAC,CAAC"}
|
package/dist/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"executeTask.js","sourceRoot":"","sources":["../../src/tasks/executeTask.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAMjC,MAAM,cAAc,GAAG,KAAK,CAAC;IAC5B,KAAK,EAAE,SAAS;IAChB,MAAM,EAAE,SAAS;IACjB,MAAM,EAAE,SAAS;CACjB,CAAiC,CAAC;AAEnC,MAAM,CAAC,MAAM,aAAa,GAAG;IAC5B,OAAO,EAAE,KAAK;IACd,CAAC;IACD,IAAI,EAAE,cAAc;CACI,CAAC;AAE1B,MAAM,CAAC,MAAM,WAAW,GAAG,KAAK,EAC/B,OAA4B,EAC5B,OAAsB,EACrB,EAAE;IACH,MAAM,YAAY,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACpE,MAAM,SAAS,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,KAAK,OAAO,CAAC,QAAQ,EAAE,CAAC;IAElE,IAAI,YAAY,IAAI,IAAI,EAAE,CAAC;QAC1B,OAAO,CAAC,OAAO,CAAC,KAAK,CACpB,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC;YACpB,QAAQ,EAAE,IAAI;YACd,GAAG,OAAO;SACV,CAAC,CACF,CAAC;QAEF,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;YACvB,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAC,CAAC;QACpD,CAAC;QAED,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC;YACxB,cAAc,OAAO,CAAC,QAAQ,CAAC,IAAI,sBAAsB,OAAO,CAAC,QAAQ,GAAG;YAC5E,gBAAgB,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;SACnE,CAAC,CAAC;IACJ,CAAC;IAED,IAAI,CAAC;QACJ,MAAM,sBAAsB,GAAG;YAC9B,GAAG,OAAO;YACV,GAAG,EAAE,OAAO,CAAC,GAAG;SAChB,CAAC;QAEF,MAAM,YAAY,CAAC,sBAAsB,EAAE,aAAa,CAAC,CAAC;IAC3D,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAEvE,IAAI,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAC;YAC3C,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC;gBACxB,qBAAqB,SAAS,EAAE;gBAChC,mBAAmB,OAAO,CAAC,QAAQ,qBAAqB;aACxD,CAAC,CAAC;QACJ,CAAC;QAED,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,qBAAqB,SAAS,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC;IACvE,CAAC;AACF,CAAC,CAAC"}
|
package/dist/tasks/guards.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"guards.js","sourceRoot":"","sources":["../../src/tasks/guards.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,IAAU,EAAuB,EAAE,CAChE,MAAM,IAAI,IAAI,CAAC;AAEhB,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,IAAU,EAA6B,EAAE,CAC5E,MAAM,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,YAAY,CAAC"}
|
package/dist/tasks/task.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"task.js","sourceRoot":"","sources":["../../src/tasks/task.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAChC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAYpD,MAAM,iBAAiB,GAAmB,CAAC,MAAM,EAAE,EAAE,CACpD,MAAM;KACJ,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;IACd,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAEnC,IAAI,KAAK,CAAC,IAAI,KAAK,mBAAmB,EAAE,CAAC;QACxC,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/D,OAAO,GAAG,GAAG,CAAC,sBAAsB,CAAC,KAAK,OAAO,EAAE,CAAC;IACrD,CAAC;IAED,IAAI,CAAC,YAAY,EAAE,CAAC;QACnB,OAAO,KAAK,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,IAAI,YAAY,KAAK,KAAK,EAAE,CAAC;QAC5B,MAAM,MAAM,GAAG,GAAG,CAAC,yBAAyB,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAC9D,OAAO,GAAG,MAAM,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC;IACtC,CAAC;IAED,MAAM,UAAU,GACf,YAAY,KAAK,GAAG,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,YAAY,EAAE,CAAC;IAE5D,0DAA0D;IAC1D,OAAO,GAAG,GAAG,CAAC,UAAU,CAAC,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC;AAC/C,CAAC,CAAC;KACD,IAAI,CAAC,IAAI,CAAC,CAAC;AAEd,MAAM,CAAC,MAAM,IAAI,GAAG,CAA0B,EAAW,EAAkB,EAAE;IAC3E,EAAqB,CAAC,IAAI,GAAG,MAAM,CAAC;IACrC,OAAO,EAAoB,CAAC;AAC7B,CAAC,CAAC;AAEF,IAAI,CAAC,MAAM,GAAG,CAMb,KAAa,EACb,EAA0B,EACG,EAAE;IAC/B,MAAM,iBAAiB,GAAG;QACzB,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE;QACrB,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE;KAC/B,CAAC;IAEF,MAAM,MAAM,GAAG,CAAC,CAAC,YAAY,CAAC;QAC7B,GAAG,iBAAiB;QACpB,GAAI,KAAyB;KAC7B,CAAC,CAAC;IAEH,MAAM,YAAY,GAA+B,CAAC,OAAO,EAAE,SAAS,EAAE,EAAE;QACvE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAE3D,IAAI,CAAC,OAAO,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CACd,YAAY,CAAC,KAAK,EAAE,EAAE,cAAc,EAAE,iBAAiB,EAAE,CAAC,CAAC,OAAO,EAClE;gBACC,KAAK,EAAE,KAAK;aACZ,CACD,CAAC;QACH,CAAC;QAED,OAAO,EAAE,CAAC,IAAwB,EAAE,SAAS,CAAC,CAAC;IAChD,CAAC,CAAC;IAEF,YAAY,CAAC,IAAI,GAAG,YAAY,CAAC;IACjC,YAAY,CAAC,MAAM,GAAG,MAA4B,CAAC;IAEnD,OAAO,YAAY,CAAC;AACrB,CAAC,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
package/dist/tasks/task.test.js
DELETED
|
@@ -1,124 +0,0 @@
|
|
|
1
|
-
import { red } from "colorette";
|
|
2
|
-
import { expect, test } from "vitest";
|
|
3
|
-
import { z } from "zod";
|
|
4
|
-
import { taskUtilities } from "./executeTask.js";
|
|
5
|
-
import { task } from "./task.js";
|
|
6
|
-
test("task: returns a branded wrapper of the given function", () => {
|
|
7
|
-
const fn = task(() => "ok");
|
|
8
|
-
expect(fn.kind).toBe("task");
|
|
9
|
-
expect(fn({ _: [], env: {} }, taskUtilities)).toBe("ok");
|
|
10
|
-
});
|
|
11
|
-
test("task: receives positional arguments as `_` property", () => {
|
|
12
|
-
const fn = task(({ _ }) => {
|
|
13
|
-
expect(_.join(".")).toBe("1.2.3");
|
|
14
|
-
});
|
|
15
|
-
fn({ _: ["1", "2", "3"], env: {}, irrelevant: "string" }, taskUtilities);
|
|
16
|
-
});
|
|
17
|
-
test("task: receives `env` property", () => {
|
|
18
|
-
const fn = task(({ env }) => {
|
|
19
|
-
expect(env).toMatchObject({
|
|
20
|
-
PWD: "/home/sources",
|
|
21
|
-
SHELL: "/bin/bash"
|
|
22
|
-
});
|
|
23
|
-
});
|
|
24
|
-
fn({
|
|
25
|
-
_: ["1", "2", "3"],
|
|
26
|
-
env: {
|
|
27
|
-
PWD: "/home/sources",
|
|
28
|
-
SHELL: "/bin/bash"
|
|
29
|
-
}
|
|
30
|
-
}, taskUtilities);
|
|
31
|
-
});
|
|
32
|
-
test("task.strict: returns a branded wrapper of the given function", () => {
|
|
33
|
-
const fn = task.strict({}, () => "ok");
|
|
34
|
-
expect(fn.kind).toBe("strictTask");
|
|
35
|
-
});
|
|
36
|
-
test("task.strict: validates positionals with the given schema", () => {
|
|
37
|
-
const fn = task.strict({
|
|
38
|
-
_: z.array(z.string()).min(1).max(3)
|
|
39
|
-
}, () => "ok");
|
|
40
|
-
expect(() => fn({ _: ["1", "2"], env: {} }, taskUtilities)).not.toThrow();
|
|
41
|
-
expect(fn({ _: ["1", "2"], env: {} }, taskUtilities)).toBe("ok");
|
|
42
|
-
expect(() => {
|
|
43
|
-
fn({ _: [], env: {} }, taskUtilities);
|
|
44
|
-
}).toThrow("at least 1 element(s)");
|
|
45
|
-
expect(() => {
|
|
46
|
-
fn({ _: ["1", "2", "3", "4"], env: {} }, taskUtilities);
|
|
47
|
-
}).toThrow("at most 3 element(s)");
|
|
48
|
-
});
|
|
49
|
-
test("task.strict: validates environment variables with the given schema", () => {
|
|
50
|
-
const fn = task.strict({
|
|
51
|
-
env: z.object({
|
|
52
|
-
SOME_FLAG: z
|
|
53
|
-
.string()
|
|
54
|
-
.transform((value) => value.toLowerCase() === "true")
|
|
55
|
-
})
|
|
56
|
-
}, () => "ok");
|
|
57
|
-
expect(fn({ _: ["1"], env: { SOME_FLAG: "true" } }, taskUtilities)).toBe("ok");
|
|
58
|
-
expect(() => {
|
|
59
|
-
fn({
|
|
60
|
-
_: ["1"],
|
|
61
|
-
// @ts-expect-error env.SOME_FLAG is required
|
|
62
|
-
env: {}
|
|
63
|
-
}, taskUtilities);
|
|
64
|
-
}).toThrow(`${red("Environment variable 'SOME_FLAG'")}: Required`);
|
|
65
|
-
});
|
|
66
|
-
test("task.strict: validates options with the given schema", () => {
|
|
67
|
-
const fn = task.strict({
|
|
68
|
-
startDate: z.string().date(),
|
|
69
|
-
logLevel: z.number().positive().default(6)
|
|
70
|
-
}, ({ logLevel }) => logLevel);
|
|
71
|
-
expect(fn({ _: [], env: {}, startDate: "2532-10-10", logLevel: 1 }, taskUtilities)).toBe(1);
|
|
72
|
-
expect(fn({ _: [], env: {}, startDate: "2532-10-10" }, taskUtilities)).toBe(6);
|
|
73
|
-
expect(() => {
|
|
74
|
-
fn(
|
|
75
|
-
// @ts-expect-error --startDate is required
|
|
76
|
-
{
|
|
77
|
-
_: [],
|
|
78
|
-
env: {}
|
|
79
|
-
}, taskUtilities);
|
|
80
|
-
}).toThrow(`${red("--startDate")}: Required`);
|
|
81
|
-
expect(() => {
|
|
82
|
-
fn({
|
|
83
|
-
_: [],
|
|
84
|
-
env: {},
|
|
85
|
-
startDate: "2532-10-10",
|
|
86
|
-
logLevel: -1
|
|
87
|
-
}, taskUtilities);
|
|
88
|
-
}).toThrow(`${red("--logLevel")}: Number must be greater than 0`);
|
|
89
|
-
});
|
|
90
|
-
test("task.strict: exposes the given schema", () => {
|
|
91
|
-
const fn = task.strict({
|
|
92
|
-
startDate: z.string().date(),
|
|
93
|
-
logLevel: z.number().positive().default(6)
|
|
94
|
-
}, ({ logLevel }) => logLevel);
|
|
95
|
-
expect(fn.schema.safeParse({
|
|
96
|
-
_: [],
|
|
97
|
-
env: {},
|
|
98
|
-
startDate: "2532-10-10"
|
|
99
|
-
}).data).toMatchObject({
|
|
100
|
-
_: [],
|
|
101
|
-
env: {},
|
|
102
|
-
startDate: "2532-10-10",
|
|
103
|
-
logLevel: 6
|
|
104
|
-
});
|
|
105
|
-
expect(fn.schema.safeParse({
|
|
106
|
-
_: [],
|
|
107
|
-
env: {},
|
|
108
|
-
startDate: "2532-10-10",
|
|
109
|
-
logLevel: 5
|
|
110
|
-
}).data?.logLevel).toBe(5);
|
|
111
|
-
expect(fn.schema.safeParse({
|
|
112
|
-
_: [],
|
|
113
|
-
env: {},
|
|
114
|
-
startDate: "2532-10-10"
|
|
115
|
-
}).data?.logLevel).toBe(6);
|
|
116
|
-
expect(() => {
|
|
117
|
-
fn.schema.parse({
|
|
118
|
-
_: [],
|
|
119
|
-
env: {},
|
|
120
|
-
startDate: "not a date string"
|
|
121
|
-
});
|
|
122
|
-
}).toThrow();
|
|
123
|
-
});
|
|
124
|
-
//# sourceMappingURL=task.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"task.test.js","sourceRoot":"","sources":["../../src/tasks/task.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAChC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,IAAI,CAAC,uDAAuD,EAAE,GAAG,EAAE;IAClE,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;IAC5B,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC7B,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1D,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,qDAAqD,EAAE,GAAG,EAAE;IAChE,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE;QACzB,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,EAAE,aAAa,CAAC,CAAC;AAC1E,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,+BAA+B,EAAE,GAAG,EAAE;IAC1C,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE;QAC3B,MAAM,CAAC,GAAG,CAAC,CAAC,aAAa,CAAC;YACzB,GAAG,EAAE,eAAe;YACpB,KAAK,EAAE,WAAW;SAClB,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CACD;QACC,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;QAClB,GAAG,EAAE;YACJ,GAAG,EAAE,eAAe;YACpB,KAAK,EAAE,WAAW;SAClB;KACD,EACD,aAAa,CACb,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,8DAA8D,EAAE,GAAG,EAAE;IACzE,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;IACvC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;AACpC,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,0DAA0D,EAAE,GAAG,EAAE;IACrE,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,CACrB;QACC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;KACpC,EACD,GAAG,EAAE,CAAC,IAAI,CACV,CAAC;IAEF,MAAM,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;IAE1E,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEjE,MAAM,CAAC,GAAG,EAAE;QACX,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,aAAa,CAAC,CAAC;IACvC,CAAC,CAAC,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC;IAEpC,MAAM,CAAC,GAAG,EAAE;QACX,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,aAAa,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC;AACpC,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,oEAAoE,EAAE,GAAG,EAAE;IAC/E,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,CACrB;QACC,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC;YACb,SAAS,EAAE,CAAC;iBACV,MAAM,EAAE;iBACR,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC;SACtD,CAAC;KACF,EACD,GAAG,EAAE,CAAC,IAAI,CACV,CAAC;IAEF,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,aAAa,CAAC,CAAC,CAAC,IAAI,CACvE,IAAI,CACJ,CAAC;IAEF,MAAM,CAAC,GAAG,EAAE;QACX,EAAE,CACD;YACC,CAAC,EAAE,CAAC,GAAG,CAAC;YACR,6CAA6C;YAC7C,GAAG,EAAE,EAAE;SACP,EACD,aAAa,CACb,CAAC;IACH,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,GAAG,CAAC,kCAAkC,CAAC,YAAY,CAAC,CAAC;AACpE,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,sDAAsD,EAAE,GAAG,EAAE;IACjE,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,CACrB;QACC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE;QAC5B,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;KAC1C,EACD,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,QAAQ,CAC1B,CAAC;IAEF,MAAM,CACL,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,SAAS,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAC,EAAE,EAAE,aAAa,CAAC,CAC3E,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAEV,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,SAAS,EAAE,YAAY,EAAE,EAAE,aAAa,CAAC,CAAC,CAAC,IAAI,CAC1E,CAAC,CACD,CAAC;IAEF,MAAM,CAAC,GAAG,EAAE;QACX,EAAE;QACD,2CAA2C;QAC3C;YACC,CAAC,EAAE,EAAE;YACL,GAAG,EAAE,EAAE;SACP,EACD,aAAa,CACb,CAAC;IACH,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,GAAG,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;IAE9C,MAAM,CAAC,GAAG,EAAE;QACX,EAAE,CACD;YACC,CAAC,EAAE,EAAE;YACL,GAAG,EAAE,EAAE;YACP,SAAS,EAAE,YAAY;YACvB,QAAQ,EAAE,CAAC,CAAC;SACZ,EACD,aAAa,CACb,CAAC;IACH,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,GAAG,CAAC,YAAY,CAAC,iCAAiC,CAAC,CAAC;AACnE,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,uCAAuC,EAAE,GAAG,EAAE;IAClD,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,CACrB;QACC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE;QAC5B,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;KAC1C,EACD,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,QAAQ,CAC1B,CAAC;IAEF,MAAM,CACL,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC;QACnB,CAAC,EAAE,EAAE;QACL,GAAG,EAAE,EAAE;QACP,SAAS,EAAE,YAAY;KACvB,CAAC,CAAC,IAAI,CACP,CAAC,aAAa,CAAC;QACf,CAAC,EAAE,EAAE;QACL,GAAG,EAAE,EAAE;QACP,SAAS,EAAE,YAAY;QACvB,QAAQ,EAAE,CAAC;KACX,CAAC,CAAC;IAEH,MAAM,CACL,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC;QACnB,CAAC,EAAE,EAAE;QACL,GAAG,EAAE,EAAE;QACP,SAAS,EAAE,YAAY;QACvB,QAAQ,EAAE,CAAC;KACX,CAAC,CAAC,IAAI,EAAE,QAAQ,CACjB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAEV,MAAM,CACL,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC;QACnB,CAAC,EAAE,EAAE;QACL,GAAG,EAAE,EAAE;QACP,SAAS,EAAE,YAAY;KACvB,CAAC,CAAC,IAAI,EAAE,QAAQ,CACjB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAEV,MAAM,CAAC,GAAG,EAAE;QACX,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC;YACf,CAAC,EAAE,EAAE;YACL,GAAG,EAAE,EAAE;YACP,SAAS,EAAE,mBAAmB;SAC9B,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;AACd,CAAC,CAAC,CAAC"}
|
package/dist/tasks/types.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/tasks/types.ts"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"getSchemaProperties.js","sourceRoot":"","sources":["../../src/util/getSchemaProperties.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,MAAoB,EAAU,EAAE;IACnE,MAAM,UAAU,GAAG,MAAM,CAAC,IAAc,CAAC;IAEzC,IAAI,CAAC,CAAC,OAAO,IAAI,UAAU,CAAC,IAAI,OAAO,UAAU,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;QACxE,OAAO,EAAE,CAAC;IACX,CAAC;IAED,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,EAAkC,CAAC;IACjE,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAEtC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,EAAE,CAAC;IACX,CAAC;IAED,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;QAC/D,IAAI,KAAK,CAAC,UAAU,EAAE,EAAE,CAAC;YACxB,OAAO,IAAI,GAAG,GAAG,CAAC;QACnB,CAAC;QAED,OAAO,GAAG,CAAC;IACZ,CAAC,CAAC,CAAC;IAEH,OAAO,KAAK,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;AACzC,CAAC,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { expect, test } from "vitest";
|
|
2
|
-
import { z } from "zod";
|
|
3
|
-
import { getSchemaProperties } from "./getSchemaProperties.js";
|
|
4
|
-
test("getSchemaProperties: lists properties of the given zod schema", () => {
|
|
5
|
-
expect(getSchemaProperties(z.object({}))).toBe("");
|
|
6
|
-
expect(getSchemaProperties(z.object({
|
|
7
|
-
optionName: z.string()
|
|
8
|
-
}))).toBe("{ optionName }");
|
|
9
|
-
});
|
|
10
|
-
test("getSchemaProperties: wraps optional parameter names with []", () => {
|
|
11
|
-
expect(getSchemaProperties(z.object({
|
|
12
|
-
optionName: z.string(),
|
|
13
|
-
maybeFlag: z.boolean().optional()
|
|
14
|
-
}))).toBe("{ optionName, [maybeFlag] }");
|
|
15
|
-
});
|
|
16
|
-
//# sourceMappingURL=getSchemaProperties.test.js.map
|