@ryanatkn/gro 0.129.13 → 0.129.15
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/check.task.d.ts +6 -0
- package/dist/check.task.d.ts.map +1 -1
- package/dist/check.task.js +8 -9
- package/dist/dev.task.d.ts +2 -2
- package/dist/package.js +7 -7
- package/dist/task.d.ts.map +1 -1
- package/dist/task.js +9 -8
- package/package.json +6 -6
- package/src/lib/check.task.ts +8 -9
- package/src/lib/package.ts +7 -7
- package/src/lib/task.ts +9 -8
package/dist/check.task.d.ts
CHANGED
|
@@ -13,8 +13,11 @@ export declare const Args: z.ZodObject<{
|
|
|
13
13
|
'no-package_json': z.ZodDefault<z.ZodBoolean>;
|
|
14
14
|
lint: z.ZodDefault<z.ZodBoolean>;
|
|
15
15
|
'no-lint': z.ZodDefault<z.ZodBoolean>;
|
|
16
|
+
sync: z.ZodDefault<z.ZodBoolean>;
|
|
17
|
+
'no-sync': z.ZodDefault<z.ZodBoolean>;
|
|
16
18
|
workspace: z.ZodDefault<z.ZodBoolean>;
|
|
17
19
|
}, "strict", z.ZodTypeAny, {
|
|
20
|
+
sync: boolean;
|
|
18
21
|
package_json: boolean;
|
|
19
22
|
format: boolean;
|
|
20
23
|
typecheck: boolean;
|
|
@@ -27,8 +30,10 @@ export declare const Args: z.ZodObject<{
|
|
|
27
30
|
'no-package_json': boolean;
|
|
28
31
|
lint: boolean;
|
|
29
32
|
'no-lint': boolean;
|
|
33
|
+
'no-sync': boolean;
|
|
30
34
|
workspace: boolean;
|
|
31
35
|
}, {
|
|
36
|
+
sync?: boolean | undefined;
|
|
32
37
|
package_json?: boolean | undefined;
|
|
33
38
|
format?: boolean | undefined;
|
|
34
39
|
typecheck?: boolean | undefined;
|
|
@@ -41,6 +46,7 @@ export declare const Args: z.ZodObject<{
|
|
|
41
46
|
'no-package_json'?: boolean | undefined;
|
|
42
47
|
lint?: boolean | undefined;
|
|
43
48
|
'no-lint'?: boolean | undefined;
|
|
49
|
+
'no-sync'?: boolean | undefined;
|
|
44
50
|
workspace?: boolean | undefined;
|
|
45
51
|
}>;
|
|
46
52
|
export type Args = z.infer<typeof Args>;
|
package/dist/check.task.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check.task.d.ts","sourceRoot":"../src/lib/","sources":["check.task.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,CAAC,EAAC,MAAM,KAAK,CAAC;AAItB,OAAO,EAAa,KAAK,IAAI,EAAC,MAAM,WAAW,CAAC;AAIhD,eAAO,MAAM,IAAI
|
|
1
|
+
{"version":3,"file":"check.task.d.ts","sourceRoot":"../src/lib/","sources":["check.task.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,CAAC,EAAC,MAAM,KAAK,CAAC;AAItB,OAAO,EAAa,KAAK,IAAI,EAAC,MAAM,WAAW,CAAC;AAIhD,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoBP,CAAC;AACX,MAAM,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC;AAExC,eAAO,MAAM,IAAI,EAAE,IAAI,CAAC,IAAI,CAyD3B,CAAC"}
|
package/dist/check.task.js
CHANGED
|
@@ -18,8 +18,10 @@ export const Args = z
|
|
|
18
18
|
'no-package_json': z.boolean({ description: 'opt out of package.json check' }).default(false),
|
|
19
19
|
lint: z.boolean({ description: 'dual of no-lint' }).default(true),
|
|
20
20
|
'no-lint': z.boolean({ description: 'opt out of linting' }).default(false),
|
|
21
|
+
sync: z.boolean({ description: 'dual of no-sync' }).default(true),
|
|
22
|
+
'no-sync': z.boolean({ description: 'opt out of syncing' }).default(false),
|
|
21
23
|
workspace: z
|
|
22
|
-
.boolean({ description: 'ensure a clean git workspace, useful for CI' })
|
|
24
|
+
.boolean({ description: 'ensure a clean git workspace, useful for CI, also implies --no-sync' })
|
|
23
25
|
.default(false),
|
|
24
26
|
})
|
|
25
27
|
.strict();
|
|
@@ -27,14 +29,11 @@ export const task = {
|
|
|
27
29
|
summary: 'check that everything is ready to commit',
|
|
28
30
|
Args,
|
|
29
31
|
run: async ({ args, invoke_task, log, config }) => {
|
|
30
|
-
const { typecheck, test, gen, format, package_json, lint, workspace } = args;
|
|
31
|
-
// When checking the workspace, which was added for CI,
|
|
32
|
-
//
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
const sync = !workspace;
|
|
36
|
-
if (sync) {
|
|
37
|
-
await invoke_task('sync');
|
|
32
|
+
const { typecheck, test, gen, format, package_json, lint, sync, workspace } = args;
|
|
33
|
+
// When checking the workspace, which was added for CI, never sync.
|
|
34
|
+
// Setup like `npm i` and `sveltekit-sync` should be done in the CI setup.
|
|
35
|
+
if (sync && !workspace) {
|
|
36
|
+
await invoke_task('sync', { gen: false }); // never generate because `gro gen --check` runs below
|
|
38
37
|
}
|
|
39
38
|
if (typecheck) {
|
|
40
39
|
await invoke_task('typecheck');
|
package/dist/dev.task.d.ts
CHANGED
|
@@ -9,13 +9,13 @@ export declare const Args: z.ZodObject<{
|
|
|
9
9
|
}, "strict", z.ZodTypeAny, {
|
|
10
10
|
sync: boolean;
|
|
11
11
|
watch: boolean;
|
|
12
|
-
'no-watch': boolean;
|
|
13
12
|
'no-sync': boolean;
|
|
13
|
+
'no-watch': boolean;
|
|
14
14
|
}, {
|
|
15
15
|
sync?: boolean | undefined;
|
|
16
16
|
watch?: boolean | undefined;
|
|
17
|
-
'no-watch'?: boolean | undefined;
|
|
18
17
|
'no-sync'?: boolean | undefined;
|
|
18
|
+
'no-watch'?: boolean | undefined;
|
|
19
19
|
}>;
|
|
20
20
|
export type Args = z.infer<typeof Args>;
|
|
21
21
|
export type DevTask_Context = Plugin_Context<Args>;
|
package/dist/package.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// generated by src/lib/package.gen.ts
|
|
2
2
|
export const package_json = {
|
|
3
3
|
name: '@ryanatkn/gro',
|
|
4
|
-
version: '0.129.
|
|
4
|
+
version: '0.129.15',
|
|
5
5
|
description: 'task runner and toolkit extending SvelteKit',
|
|
6
6
|
motto: 'generate, run, optimize',
|
|
7
7
|
glyph: '🌰',
|
|
@@ -56,8 +56,8 @@ export const package_json = {
|
|
|
56
56
|
'@changesets/changelog-git': '^0.2.0',
|
|
57
57
|
'@changesets/types': '^6.0.0',
|
|
58
58
|
'@ryanatkn/eslint-config': '^0.4.0',
|
|
59
|
-
'@ryanatkn/fuz': '^0.108.
|
|
60
|
-
'@ryanatkn/moss': '^0.7.
|
|
59
|
+
'@ryanatkn/fuz': '^0.108.4',
|
|
60
|
+
'@ryanatkn/moss': '^0.7.1',
|
|
61
61
|
'@sveltejs/adapter-static': '^3.0.2',
|
|
62
62
|
'@sveltejs/kit': '^2.5.18',
|
|
63
63
|
'@sveltejs/package': '^2.3.2',
|
|
@@ -66,11 +66,11 @@ export const package_json = {
|
|
|
66
66
|
'@types/node': '^20.14.10',
|
|
67
67
|
esbuild: '^0.21.5',
|
|
68
68
|
eslint: '^9.6.0',
|
|
69
|
-
'eslint-plugin-svelte': '^2.
|
|
70
|
-
svelte: '^5.0.0-next.
|
|
69
|
+
'eslint-plugin-svelte': '^2.42.0',
|
|
70
|
+
svelte: '^5.0.0-next.182',
|
|
71
71
|
'svelte-check': '^3.8.4',
|
|
72
72
|
typescript: '^5.5.3',
|
|
73
|
-
'typescript-eslint': '^8.0.0-alpha.
|
|
73
|
+
'typescript-eslint': '^8.0.0-alpha.41',
|
|
74
74
|
uvu: '^0.5.6',
|
|
75
75
|
},
|
|
76
76
|
prettier: {
|
|
@@ -266,7 +266,7 @@ export const package_json = {
|
|
|
266
266
|
};
|
|
267
267
|
export const src_json = {
|
|
268
268
|
name: '@ryanatkn/gro',
|
|
269
|
-
version: '0.129.
|
|
269
|
+
version: '0.129.15',
|
|
270
270
|
modules: {
|
|
271
271
|
'.': {
|
|
272
272
|
path: 'index.ts',
|
package/dist/task.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"task.d.ts","sourceRoot":"../src/lib/","sources":["task.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,uBAAuB,CAAC;AAElD,OAAO,KAAK,EAAC,CAAC,EAAC,MAAM,KAAK,CAAC;AAC3B,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,2BAA2B,CAAC;AAEvD,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,0BAA0B,CAAC;AAGrD,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,WAAW,CAAC;AACvC,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,aAAa,CAAC;AAC5C,OAAO,KAAK,EAAC,uBAAuB,EAAC,MAAM,uBAAuB,CAAC;AACnE,OAAO,EAGN,KAAK,UAAU,EACf,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,EACxB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EAAe,KAAK,oBAAoB,EAAE,KAAK,WAAW,EAAC,MAAM,cAAc,CAAC;AAEvF,MAAM,WAAW,IAAI,CACpB,MAAM,GAAG,IAAI,EAAE,iCAAiC;AAChD,aAAa,SAAS,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,EAC3C,QAAQ,GAAG,OAAO;IAElB,GAAG,EAAE,CAAC,GAAG,EAAE,YAAY,CAAC,MAAM,CAAC,KAAK,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IACjE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,aAAa,CAAC;CACrB;AAED,MAAM,WAAW,YAAY,CAAC,MAAM,GAAG,MAAM;IAC5C,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,UAAU,CAAC;IACnB,gBAAgB,EAAE,uBAAuB,CAAC;IAG1C,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,EAAE,UAAU,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACpF;AAED,eAAO,MAAM,mBAAmB,aAAa,CAAC;AAC9C,eAAO,MAAM,mBAAmB,aAAa,CAAC;AAC9C,eAAO,MAAM,kBAAkB,UAA6C,CAAC;AAE7E,eAAO,MAAM,YAAY,SAAU,MAAM,KAAG,OAC6B,CAAC;AAE1E,eAAO,MAAM,YAAY,OACpB,OAAO,iBACI,OAAO,cACV,UAAU,aACX,OAAO,KAChB,
|
|
1
|
+
{"version":3,"file":"task.d.ts","sourceRoot":"../src/lib/","sources":["task.ts"],"names":[],"mappings":"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"}
|
package/dist/task.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { strip_end, strip_start } from '@ryanatkn/belt/string.js';
|
|
1
|
+
import { ensure_end, strip_end, strip_start } from '@ryanatkn/belt/string.js';
|
|
2
2
|
import { red } from '@ryanatkn/belt/styletext.js';
|
|
3
3
|
import { isAbsolute, join, relative } from 'node:path';
|
|
4
4
|
import { resolve_input_files, resolve_input_paths, } from './input_path.js';
|
|
5
|
-
import { print_path } from './paths.js';
|
|
5
|
+
import { GRO_DIST_DIR, print_path } from './paths.js';
|
|
6
6
|
import { search_fs } from './search_fs.js';
|
|
7
7
|
import { load_modules } from './modules.js';
|
|
8
8
|
export const TASK_FILE_SUFFIX_TS = '.task.ts';
|
|
@@ -16,13 +16,14 @@ export const to_task_name = (id, task_root_dir, input_path, root_path) => {
|
|
|
16
16
|
for (const suffix of TASK_FILE_SUFFIXES) {
|
|
17
17
|
task_name = strip_end(task_name, suffix);
|
|
18
18
|
}
|
|
19
|
+
if (ensure_end(task_root_dir, '/') === GRO_DIST_DIR) {
|
|
20
|
+
// TODO ideally it would display this in some contexts like the task progress logs,
|
|
21
|
+
// but not all, like printing the task list, UNLESS there's a local override
|
|
22
|
+
// return 'gro/' + task_name;
|
|
23
|
+
return task_name;
|
|
24
|
+
}
|
|
19
25
|
if (isAbsolute(input_path)) {
|
|
20
|
-
|
|
21
|
-
const relative_to_root = relative(root_path, join(task_root_dir, task_name));
|
|
22
|
-
if (relative_to_root.startsWith('node_modules/')) {
|
|
23
|
-
return task_name;
|
|
24
|
-
}
|
|
25
|
-
return relative_to_root;
|
|
26
|
+
return relative(root_path, join(task_root_dir, task_name));
|
|
26
27
|
}
|
|
27
28
|
return task_name;
|
|
28
29
|
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ryanatkn/gro",
|
|
3
|
-
"version": "0.129.
|
|
3
|
+
"version": "0.129.15",
|
|
4
4
|
"description": "task runner and toolkit extending SvelteKit",
|
|
5
5
|
"motto": "generate, run, optimize",
|
|
6
6
|
"glyph": "🌰",
|
|
@@ -69,8 +69,8 @@
|
|
|
69
69
|
"@changesets/changelog-git": "^0.2.0",
|
|
70
70
|
"@changesets/types": "^6.0.0",
|
|
71
71
|
"@ryanatkn/eslint-config": "^0.4.0",
|
|
72
|
-
"@ryanatkn/fuz": "^0.108.
|
|
73
|
-
"@ryanatkn/moss": "^0.7.
|
|
72
|
+
"@ryanatkn/fuz": "^0.108.4",
|
|
73
|
+
"@ryanatkn/moss": "^0.7.1",
|
|
74
74
|
"@sveltejs/adapter-static": "^3.0.2",
|
|
75
75
|
"@sveltejs/kit": "^2.5.18",
|
|
76
76
|
"@sveltejs/package": "^2.3.2",
|
|
@@ -79,11 +79,11 @@
|
|
|
79
79
|
"@types/node": "^20.14.10",
|
|
80
80
|
"esbuild": "^0.21.5",
|
|
81
81
|
"eslint": "^9.6.0",
|
|
82
|
-
"eslint-plugin-svelte": "^2.
|
|
83
|
-
"svelte": "^5.0.0-next.
|
|
82
|
+
"eslint-plugin-svelte": "^2.42.0",
|
|
83
|
+
"svelte": "^5.0.0-next.182",
|
|
84
84
|
"svelte-check": "^3.8.4",
|
|
85
85
|
"typescript": "^5.5.3",
|
|
86
|
-
"typescript-eslint": "^8.0.0-alpha.
|
|
86
|
+
"typescript-eslint": "^8.0.0-alpha.41",
|
|
87
87
|
"uvu": "^0.5.6"
|
|
88
88
|
},
|
|
89
89
|
"prettier": {
|
package/src/lib/check.task.ts
CHANGED
|
@@ -20,8 +20,10 @@ export const Args = z
|
|
|
20
20
|
'no-package_json': z.boolean({description: 'opt out of package.json check'}).default(false),
|
|
21
21
|
lint: z.boolean({description: 'dual of no-lint'}).default(true),
|
|
22
22
|
'no-lint': z.boolean({description: 'opt out of linting'}).default(false),
|
|
23
|
+
sync: z.boolean({description: 'dual of no-sync'}).default(true),
|
|
24
|
+
'no-sync': z.boolean({description: 'opt out of syncing'}).default(false),
|
|
23
25
|
workspace: z
|
|
24
|
-
.boolean({description: 'ensure a clean git workspace, useful for CI'})
|
|
26
|
+
.boolean({description: 'ensure a clean git workspace, useful for CI, also implies --no-sync'})
|
|
25
27
|
.default(false),
|
|
26
28
|
})
|
|
27
29
|
.strict();
|
|
@@ -31,15 +33,12 @@ export const task: Task<Args> = {
|
|
|
31
33
|
summary: 'check that everything is ready to commit',
|
|
32
34
|
Args,
|
|
33
35
|
run: async ({args, invoke_task, log, config}) => {
|
|
34
|
-
const {typecheck, test, gen, format, package_json, lint, workspace} = args;
|
|
36
|
+
const {typecheck, test, gen, format, package_json, lint, sync, workspace} = args;
|
|
35
37
|
|
|
36
|
-
// When checking the workspace, which was added for CI,
|
|
37
|
-
//
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
const sync = !workspace;
|
|
41
|
-
if (sync) {
|
|
42
|
-
await invoke_task('sync');
|
|
38
|
+
// When checking the workspace, which was added for CI, never sync.
|
|
39
|
+
// Setup like `npm i` and `sveltekit-sync` should be done in the CI setup.
|
|
40
|
+
if (sync && !workspace) {
|
|
41
|
+
await invoke_task('sync', {gen: false}); // never generate because `gro gen --check` runs below
|
|
43
42
|
}
|
|
44
43
|
|
|
45
44
|
if (typecheck) {
|
package/src/lib/package.ts
CHANGED
|
@@ -5,7 +5,7 @@ import type {Src_Json} from './src_json.js';
|
|
|
5
5
|
|
|
6
6
|
export const package_json = {
|
|
7
7
|
name: '@ryanatkn/gro',
|
|
8
|
-
version: '0.129.
|
|
8
|
+
version: '0.129.15',
|
|
9
9
|
description: 'task runner and toolkit extending SvelteKit',
|
|
10
10
|
motto: 'generate, run, optimize',
|
|
11
11
|
glyph: '🌰',
|
|
@@ -61,8 +61,8 @@ export const package_json = {
|
|
|
61
61
|
'@changesets/changelog-git': '^0.2.0',
|
|
62
62
|
'@changesets/types': '^6.0.0',
|
|
63
63
|
'@ryanatkn/eslint-config': '^0.4.0',
|
|
64
|
-
'@ryanatkn/fuz': '^0.108.
|
|
65
|
-
'@ryanatkn/moss': '^0.7.
|
|
64
|
+
'@ryanatkn/fuz': '^0.108.4',
|
|
65
|
+
'@ryanatkn/moss': '^0.7.1',
|
|
66
66
|
'@sveltejs/adapter-static': '^3.0.2',
|
|
67
67
|
'@sveltejs/kit': '^2.5.18',
|
|
68
68
|
'@sveltejs/package': '^2.3.2',
|
|
@@ -71,11 +71,11 @@ export const package_json = {
|
|
|
71
71
|
'@types/node': '^20.14.10',
|
|
72
72
|
esbuild: '^0.21.5',
|
|
73
73
|
eslint: '^9.6.0',
|
|
74
|
-
'eslint-plugin-svelte': '^2.
|
|
75
|
-
svelte: '^5.0.0-next.
|
|
74
|
+
'eslint-plugin-svelte': '^2.42.0',
|
|
75
|
+
svelte: '^5.0.0-next.182',
|
|
76
76
|
'svelte-check': '^3.8.4',
|
|
77
77
|
typescript: '^5.5.3',
|
|
78
|
-
'typescript-eslint': '^8.0.0-alpha.
|
|
78
|
+
'typescript-eslint': '^8.0.0-alpha.41',
|
|
79
79
|
uvu: '^0.5.6',
|
|
80
80
|
},
|
|
81
81
|
prettier: {
|
|
@@ -272,7 +272,7 @@ export const package_json = {
|
|
|
272
272
|
|
|
273
273
|
export const src_json = {
|
|
274
274
|
name: '@ryanatkn/gro',
|
|
275
|
-
version: '0.129.
|
|
275
|
+
version: '0.129.15',
|
|
276
276
|
modules: {
|
|
277
277
|
'.': {
|
|
278
278
|
path: 'index.ts',
|
package/src/lib/task.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type {Logger} from '@ryanatkn/belt/log.js';
|
|
2
|
-
import {strip_end, strip_start} from '@ryanatkn/belt/string.js';
|
|
2
|
+
import {ensure_end, strip_end, strip_start} from '@ryanatkn/belt/string.js';
|
|
3
3
|
import type {z} from 'zod';
|
|
4
4
|
import type {Timings} from '@ryanatkn/belt/timings.js';
|
|
5
5
|
import {red} from '@ryanatkn/belt/styletext.js';
|
|
@@ -17,7 +17,7 @@ import {
|
|
|
17
17
|
type Resolved_Input_File,
|
|
18
18
|
type Resolved_Input_Path,
|
|
19
19
|
} from './input_path.js';
|
|
20
|
-
import {print_path} from './paths.js';
|
|
20
|
+
import {GRO_DIST_DIR, print_path} from './paths.js';
|
|
21
21
|
import {search_fs} from './search_fs.js';
|
|
22
22
|
import {load_modules, type Load_Modules_Failure, type Module_Meta} from './modules.js';
|
|
23
23
|
|
|
@@ -61,13 +61,14 @@ export const to_task_name = (
|
|
|
61
61
|
for (const suffix of TASK_FILE_SUFFIXES) {
|
|
62
62
|
task_name = strip_end(task_name, suffix);
|
|
63
63
|
}
|
|
64
|
+
if (ensure_end(task_root_dir, '/') === GRO_DIST_DIR) {
|
|
65
|
+
// TODO ideally it would display this in some contexts like the task progress logs,
|
|
66
|
+
// but not all, like printing the task list, UNLESS there's a local override
|
|
67
|
+
// return 'gro/' + task_name;
|
|
68
|
+
return task_name;
|
|
69
|
+
}
|
|
64
70
|
if (isAbsolute(input_path)) {
|
|
65
|
-
|
|
66
|
-
const relative_to_root = relative(root_path, join(task_root_dir, task_name));
|
|
67
|
-
if (relative_to_root.startsWith('node_modules/')) {
|
|
68
|
-
return task_name;
|
|
69
|
-
}
|
|
70
|
-
return relative_to_root;
|
|
71
|
+
return relative(root_path, join(task_root_dir, task_name));
|
|
71
72
|
}
|
|
72
73
|
return task_name;
|
|
73
74
|
};
|