@luzzle/cli 0.0.125 → 0.0.126
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/package.json +5 -6
- package/dist/src/index.d.ts +0 -2
- package/dist/src/index.js +0 -4
- package/dist/src/index.js.map +0 -1
- package/dist/src/lib/cli.d.ts +0 -2
- package/dist/src/lib/cli.js +0 -112
- package/dist/src/lib/cli.js.map +0 -1
- package/dist/src/lib/cli.test.d.ts +0 -1
- package/dist/src/lib/cli.test.js +0 -197
- package/dist/src/lib/cli.test.js.map +0 -1
- package/dist/src/lib/commands/command/assistant.d.ts +0 -11
- package/dist/src/lib/commands/command/assistant.js +0 -67
- package/dist/src/lib/commands/command/assistant.js.map +0 -1
- package/dist/src/lib/commands/command/assistant.test.d.ts +0 -1
- package/dist/src/lib/commands/command/assistant.test.js +0 -161
- package/dist/src/lib/commands/command/assistant.test.js.map +0 -1
- package/dist/src/lib/commands/command/config.d.ts +0 -8
- package/dist/src/lib/commands/command/config.js +0 -67
- package/dist/src/lib/commands/command/config.js.map +0 -1
- package/dist/src/lib/commands/command/config.test.d.ts +0 -1
- package/dist/src/lib/commands/command/config.test.js +0 -113
- package/dist/src/lib/commands/command/config.test.js.map +0 -1
- package/dist/src/lib/commands/command/create.d.ts +0 -10
- package/dist/src/lib/commands/command/create.js +0 -63
- package/dist/src/lib/commands/command/create.js.map +0 -1
- package/dist/src/lib/commands/command/create.test.d.ts +0 -1
- package/dist/src/lib/commands/command/create.test.js +0 -126
- package/dist/src/lib/commands/command/create.test.js.map +0 -1
- package/dist/src/lib/commands/command/field.d.ts +0 -10
- package/dist/src/lib/commands/command/field.js +0 -90
- package/dist/src/lib/commands/command/field.js.map +0 -1
- package/dist/src/lib/commands/command/field.test.d.ts +0 -1
- package/dist/src/lib/commands/command/field.test.js +0 -395
- package/dist/src/lib/commands/command/field.test.js.map +0 -1
- package/dist/src/lib/commands/command/init.d.ts +0 -6
- package/dist/src/lib/commands/command/init.js +0 -42
- package/dist/src/lib/commands/command/init.js.map +0 -1
- package/dist/src/lib/commands/command/init.test.d.ts +0 -1
- package/dist/src/lib/commands/command/init.test.js +0 -84
- package/dist/src/lib/commands/command/init.test.js.map +0 -1
- package/dist/src/lib/commands/command/sync.d.ts +0 -7
- package/dist/src/lib/commands/command/sync.js +0 -85
- package/dist/src/lib/commands/command/sync.js.map +0 -1
- package/dist/src/lib/commands/command/sync.test.d.ts +0 -1
- package/dist/src/lib/commands/command/sync.test.js +0 -117
- package/dist/src/lib/commands/command/sync.test.js.map +0 -1
- package/dist/src/lib/commands/command/validate.d.ts +0 -5
- package/dist/src/lib/commands/command/validate.js +0 -22
- package/dist/src/lib/commands/command/validate.js.map +0 -1
- package/dist/src/lib/commands/command/validate.test.d.ts +0 -1
- package/dist/src/lib/commands/command/validate.test.js +0 -59
- package/dist/src/lib/commands/command/validate.test.js.map +0 -1
- package/dist/src/lib/commands/index.d.ts +0 -6
- package/dist/src/lib/commands/index.js +0 -19
- package/dist/src/lib/commands/index.js.map +0 -1
- package/dist/src/lib/commands/index.test.d.ts +0 -1
- package/dist/src/lib/commands/index.test.js +0 -31
- package/dist/src/lib/commands/index.test.js.map +0 -1
- package/dist/src/lib/commands/utils/context.fixtures.d.ts +0 -23
- package/dist/src/lib/commands/utils/context.fixtures.js +0 -76
- package/dist/src/lib/commands/utils/context.fixtures.js.map +0 -1
- package/dist/src/lib/commands/utils/pieces.d.ts +0 -27
- package/dist/src/lib/commands/utils/pieces.js +0 -47
- package/dist/src/lib/commands/utils/pieces.js.map +0 -1
- package/dist/src/lib/commands/utils/pieces.test.d.ts +0 -1
- package/dist/src/lib/commands/utils/pieces.test.js +0 -97
- package/dist/src/lib/commands/utils/pieces.test.js.map +0 -1
- package/dist/src/lib/config.d.ts +0 -35
- package/dist/src/lib/config.js +0 -145
- package/dist/src/lib/config.js.map +0 -1
- package/dist/src/lib/config.mock.d.ts +0 -5
- package/dist/src/lib/config.mock.js +0 -10
- package/dist/src/lib/config.mock.js.map +0 -1
- package/dist/src/lib/config.test.d.ts +0 -1
- package/dist/src/lib/config.test.js +0 -129
- package/dist/src/lib/config.test.js.map +0 -1
- package/dist/src/lib/database.mock.d.ts +0 -22
- package/dist/src/lib/database.mock.js +0 -34
- package/dist/src/lib/database.mock.js.map +0 -1
- package/dist/src/lib/log.d.ts +0 -2
- package/dist/src/lib/log.js +0 -9
- package/dist/src/lib/log.js.map +0 -1
- package/dist/src/version.d.ts +0 -2
- package/dist/src/version.js +0 -2
- package/dist/src/version.js.map +0 -1
- package/dist/tsconfig.tsbuildinfo +0 -1
- package/dist/vite.config.d.ts +0 -2
- package/dist/vite.config.js +0 -38
- package/dist/vite.config.js.map +0 -1
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
import log from '../../log.js';
|
|
2
|
-
import yaml from 'yaml';
|
|
3
|
-
import { withDefaults } from '../../config.js';
|
|
4
|
-
const command = {
|
|
5
|
-
name: 'config',
|
|
6
|
-
command: `config [field] [value]`,
|
|
7
|
-
describe: 'get, edit or remove a config field',
|
|
8
|
-
builder: function (yargs) {
|
|
9
|
-
return yargs
|
|
10
|
-
.option('remove', {
|
|
11
|
-
alias: 'r',
|
|
12
|
-
type: 'boolean',
|
|
13
|
-
default: false,
|
|
14
|
-
description: 'remove the field',
|
|
15
|
-
})
|
|
16
|
-
.positional('field', {
|
|
17
|
-
type: 'string',
|
|
18
|
-
description: 'field to set or remove',
|
|
19
|
-
})
|
|
20
|
-
.positional('value', {
|
|
21
|
-
description: 'value to set',
|
|
22
|
-
});
|
|
23
|
-
},
|
|
24
|
-
run: async function (ctx, args) {
|
|
25
|
-
const { field, remove, value } = args;
|
|
26
|
-
if (!field) {
|
|
27
|
-
if (remove) {
|
|
28
|
-
log.error('must provide a field to remove');
|
|
29
|
-
}
|
|
30
|
-
else {
|
|
31
|
-
const store = withDefaults(ctx.config);
|
|
32
|
-
const configYaml = yaml.stringify(store);
|
|
33
|
-
console.log(`path: ${ctx.config.path}`);
|
|
34
|
-
console.log(`--------------\n${configYaml}--------------`);
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
else if (field === 'path') {
|
|
38
|
-
if (remove || value) {
|
|
39
|
-
log.error('cannot set or remove the config path');
|
|
40
|
-
}
|
|
41
|
-
else {
|
|
42
|
-
console.log(ctx.config.path);
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
else if (value && remove) {
|
|
46
|
-
log.error('cannot set and remove a field at the same time');
|
|
47
|
-
}
|
|
48
|
-
else if (value) {
|
|
49
|
-
if (!ctx.flags.dryRun) {
|
|
50
|
-
ctx.config.set(field, value);
|
|
51
|
-
}
|
|
52
|
-
log.info(`setting ${field} to ${value}`);
|
|
53
|
-
}
|
|
54
|
-
else if (remove) {
|
|
55
|
-
if (!ctx.flags.dryRun) {
|
|
56
|
-
ctx.config.delete(field);
|
|
57
|
-
}
|
|
58
|
-
log.info(`removing ${field}`);
|
|
59
|
-
}
|
|
60
|
-
else {
|
|
61
|
-
const value = ctx.config.get(field);
|
|
62
|
-
console.log(value);
|
|
63
|
-
}
|
|
64
|
-
},
|
|
65
|
-
};
|
|
66
|
-
export default command;
|
|
67
|
-
//# sourceMappingURL=config.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../../../src/lib/commands/command/config.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,cAAc,CAAA;AAG9B,OAAO,IAAI,MAAM,MAAM,CAAA;AACvB,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAQ9C,MAAM,OAAO,GAAwB;IACpC,IAAI,EAAE,QAAQ;IAEd,OAAO,EAAE,wBAAwB;IAEjC,QAAQ,EAAE,oCAAoC;IAE9C,OAAO,EAAE,UAAa,KAAc;QACnC,OAAO,KAAK;aACV,MAAM,CAAC,QAAQ,EAAE;YACjB,KAAK,EAAE,GAAG;YACV,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,KAAK;YACd,WAAW,EAAE,kBAAkB;SAC/B,CAAC;aACD,UAAU,CAAC,OAAO,EAAE;YACpB,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,wBAAwB;SACrC,CAAC;aACD,UAAU,CAAC,OAAO,EAAE;YACpB,WAAW,EAAE,cAAc;SAC3B,CAAC,CAAA;IACJ,CAAC;IAED,GAAG,EAAE,KAAK,WAAW,GAAG,EAAE,IAAI;QAC7B,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAA;QAErC,IAAI,CAAC,KAAK,EAAE,CAAC;YACZ,IAAI,MAAM,EAAE,CAAC;gBACZ,GAAG,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAA;YAC5C,CAAC;iBAAM,CAAC;gBACP,MAAM,KAAK,GAAG,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;gBACtC,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;gBAExC,OAAO,CAAC,GAAG,CAAC,SAAS,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAA;gBACvC,OAAO,CAAC,GAAG,CAAC,mBAAmB,UAAU,gBAAgB,CAAC,CAAA;YAC3D,CAAC;QACF,CAAC;aAAM,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;YAC7B,IAAI,MAAM,IAAI,KAAK,EAAE,CAAC;gBACrB,GAAG,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAA;YAClD,CAAC;iBAAM,CAAC;gBACP,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;YAC7B,CAAC;QACF,CAAC;aAAM,IAAI,KAAK,IAAI,MAAM,EAAE,CAAC;YAC5B,GAAG,CAAC,KAAK,CAAC,gDAAgD,CAAC,CAAA;QAC5D,CAAC;aAAM,IAAI,KAAK,EAAE,CAAC;YAClB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;gBACvB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;YAC7B,CAAC;YACD,GAAG,CAAC,IAAI,CAAC,WAAW,KAAK,OAAO,KAAK,EAAE,CAAC,CAAA;QACzC,CAAC;aAAM,IAAI,MAAM,EAAE,CAAC;YACnB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;gBACvB,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;YACzB,CAAC;YACD,GAAG,CAAC,IAAI,CAAC,YAAY,KAAK,EAAE,CAAC,CAAA;QAC9B,CAAC;aAAM,CAAC;YACP,MAAM,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;YACnC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;QACnB,CAAC;IACF,CAAC;CACD,CAAA;AAED,eAAe,OAAO,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,113 +0,0 @@
|
|
|
1
|
-
import log from '../../log.js';
|
|
2
|
-
import { describe, expect, test, vi, afterEach } from 'vitest';
|
|
3
|
-
import command from './config.js';
|
|
4
|
-
import yargs from 'yargs';
|
|
5
|
-
import { makeContext } from '../utils/context.fixtures.js';
|
|
6
|
-
import { withDefaults } from '../../config.js';
|
|
7
|
-
import yaml from 'yaml';
|
|
8
|
-
vi.mock('../../config.js');
|
|
9
|
-
vi.mock('../../log.js');
|
|
10
|
-
vi.mock('yaml');
|
|
11
|
-
const mocks = {
|
|
12
|
-
logError: vi.spyOn(log, 'error'),
|
|
13
|
-
logInfo: vi.spyOn(log, 'info'),
|
|
14
|
-
consoleLog: vi.spyOn(console, 'log'),
|
|
15
|
-
withDefaults: vi.mocked(withDefaults),
|
|
16
|
-
yamlStringify: vi.spyOn(yaml, 'stringify'),
|
|
17
|
-
};
|
|
18
|
-
const spies = {};
|
|
19
|
-
describe('lib/commands/field.ts', () => {
|
|
20
|
-
afterEach(() => {
|
|
21
|
-
Object.values(mocks).forEach((mock) => {
|
|
22
|
-
mock.mockReset();
|
|
23
|
-
});
|
|
24
|
-
Object.keys(spies).forEach((key) => {
|
|
25
|
-
spies[key].mockRestore();
|
|
26
|
-
delete spies[key];
|
|
27
|
-
});
|
|
28
|
-
});
|
|
29
|
-
test('run', async () => {
|
|
30
|
-
const defaults = { a: 'apple', b: 'banana' };
|
|
31
|
-
const yamlString = 'yaml';
|
|
32
|
-
const ctx = makeContext();
|
|
33
|
-
mocks.withDefaults.mockReturnValueOnce(defaults);
|
|
34
|
-
mocks.yamlStringify.mockReturnValueOnce(yamlString);
|
|
35
|
-
await command.run(ctx, {});
|
|
36
|
-
expect(mocks.consoleLog).toHaveBeenCalledTimes(2);
|
|
37
|
-
expect(mocks.yamlStringify).toHaveBeenCalledWith(defaults);
|
|
38
|
-
});
|
|
39
|
-
test('run can not remove without a field', async () => {
|
|
40
|
-
const ctx = makeContext();
|
|
41
|
-
await command.run(ctx, { remove: true });
|
|
42
|
-
expect(mocks.yamlStringify).not.toHaveBeenCalled();
|
|
43
|
-
expect(mocks.logError).toHaveBeenCalledOnce();
|
|
44
|
-
});
|
|
45
|
-
test('run returns the config path', async () => {
|
|
46
|
-
const ctx = makeContext();
|
|
47
|
-
await command.run(ctx, { field: 'path' });
|
|
48
|
-
expect(mocks.consoleLog).toHaveBeenCalledWith(ctx.config.path);
|
|
49
|
-
});
|
|
50
|
-
test('run can not set the config path', async () => {
|
|
51
|
-
const ctx = makeContext();
|
|
52
|
-
await command.run(ctx, { field: 'path', value: 'a' });
|
|
53
|
-
expect(mocks.logError).toHaveBeenCalledOnce();
|
|
54
|
-
expect(mocks.consoleLog).not.toHaveBeenCalled();
|
|
55
|
-
});
|
|
56
|
-
test('run can not remove the config path', async () => {
|
|
57
|
-
const ctx = makeContext();
|
|
58
|
-
await command.run(ctx, { field: 'path', remove: true });
|
|
59
|
-
expect(mocks.logError).toHaveBeenCalledOnce();
|
|
60
|
-
expect(mocks.consoleLog).not.toHaveBeenCalled();
|
|
61
|
-
});
|
|
62
|
-
test('run can not remove and set a config field', async () => {
|
|
63
|
-
const ctx = makeContext();
|
|
64
|
-
await command.run(ctx, { field: 'field', remove: true, value: 'a' });
|
|
65
|
-
expect(mocks.logError).toHaveBeenCalledOnce();
|
|
66
|
-
expect(mocks.consoleLog).not.toHaveBeenCalled();
|
|
67
|
-
});
|
|
68
|
-
test('run sets a config field', async () => {
|
|
69
|
-
const ctx = makeContext();
|
|
70
|
-
spies.configSet = vi.spyOn(ctx.config, 'set');
|
|
71
|
-
await command.run(ctx, { field: 'field', value: 'a' });
|
|
72
|
-
expect(mocks.logInfo).toHaveBeenCalledOnce();
|
|
73
|
-
expect(spies.configSet).toHaveBeenCalledWith('field', 'a');
|
|
74
|
-
});
|
|
75
|
-
test('run sets a config field with dry-run', async () => {
|
|
76
|
-
const ctx = makeContext({ flags: { dryRun: true } });
|
|
77
|
-
spies.configSet = vi.spyOn(ctx.config, 'set');
|
|
78
|
-
await command.run(ctx, { field: 'field', value: 'a' });
|
|
79
|
-
expect(mocks.logInfo).toHaveBeenCalledOnce();
|
|
80
|
-
expect(spies.configSet).not.toHaveBeenCalled();
|
|
81
|
-
});
|
|
82
|
-
test('run removes a config field', async () => {
|
|
83
|
-
const ctx = makeContext();
|
|
84
|
-
spies.configDelete = vi.spyOn(ctx.config, 'delete');
|
|
85
|
-
await command.run(ctx, { field: 'field', remove: true });
|
|
86
|
-
expect(mocks.logInfo).toHaveBeenCalledOnce();
|
|
87
|
-
expect(spies.configDelete).toHaveBeenCalledWith('field');
|
|
88
|
-
});
|
|
89
|
-
test('run removes a config field with dry-run', async () => {
|
|
90
|
-
const ctx = makeContext({ flags: { dryRun: true } });
|
|
91
|
-
spies.configDelete = vi.spyOn(ctx.config, 'delete');
|
|
92
|
-
await command.run(ctx, { field: 'field', remove: true });
|
|
93
|
-
expect(mocks.logInfo).toHaveBeenCalledOnce();
|
|
94
|
-
expect(spies.configDelete).not.toHaveBeenCalled();
|
|
95
|
-
});
|
|
96
|
-
test('run returns the current config field value', async () => {
|
|
97
|
-
const ctx = makeContext();
|
|
98
|
-
const value = 'value';
|
|
99
|
-
spies.configDelete = vi.spyOn(ctx.config, 'get');
|
|
100
|
-
spies.configDelete.mockReturnValueOnce(value);
|
|
101
|
-
await command.run(ctx, { field: 'field' });
|
|
102
|
-
expect(mocks.consoleLog).toHaveBeenCalledWith(value);
|
|
103
|
-
});
|
|
104
|
-
test('builder', async () => {
|
|
105
|
-
const args = yargs();
|
|
106
|
-
spies.positional = vi.spyOn(args, 'positional').mockReturnValue(args);
|
|
107
|
-
spies.option = vi.spyOn(args, 'option').mockReturnValue(args);
|
|
108
|
-
command.builder?.(args);
|
|
109
|
-
expect(spies.positional).toHaveBeenCalledTimes(2);
|
|
110
|
-
expect(spies.option).toHaveBeenCalledTimes(1);
|
|
111
|
-
});
|
|
112
|
-
});
|
|
113
|
-
//# sourceMappingURL=config.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"config.test.js","sourceRoot":"","sources":["../../../../../src/lib/commands/command/config.test.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,cAAc,CAAA;AAC9B,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,SAAS,EAAgB,MAAM,QAAQ,CAAA;AAC5E,OAAO,OAAuB,MAAM,aAAa,CAAA;AAEjD,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAA;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAC9C,OAAO,IAAI,MAAM,MAAM,CAAA;AAEvB,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAA;AAC1B,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;AACvB,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;AAEf,MAAM,KAAK,GAAG;IACb,QAAQ,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC;IAChC,OAAO,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC;IAC9B,UAAU,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC;IACpC,YAAY,EAAE,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC;IACrC,aAAa,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,WAAW,CAAC;CAC1C,CAAA;AAED,MAAM,KAAK,GAAoC,EAAE,CAAA;AAEjD,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;IACtC,SAAS,CAAC,GAAG,EAAE;QACd,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YACrC,IAAI,CAAC,SAAS,EAAE,CAAA;QACjB,CAAC,CAAC,CAAA;QAEF,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YAClC,KAAK,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAA;YACxB,OAAO,KAAK,CAAC,GAAG,CAAC,CAAA;QAClB,CAAC,CAAC,CAAA;IACH,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,KAAK,EAAE,KAAK,IAAI,EAAE;QACtB,MAAM,QAAQ,GAAG,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAgD,CAAA;QAC1F,MAAM,UAAU,GAAG,MAAM,CAAA;QACzB,MAAM,GAAG,GAAG,WAAW,EAAE,CAAA;QAEzB,KAAK,CAAC,YAAY,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAA;QAChD,KAAK,CAAC,aAAa,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAA;QAEnD,MAAM,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,EAA2B,CAAC,CAAA;QAEnD,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAA;QACjD,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAA;IAC3D,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,oCAAoC,EAAE,KAAK,IAAI,EAAE;QACrD,MAAM,GAAG,GAAG,WAAW,EAAE,CAAA;QAEzB,MAAM,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,IAAI,EAA2B,CAAC,CAAA;QAEjE,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAA;QAClD,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,oBAAoB,EAAE,CAAA;IAC9C,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,6BAA6B,EAAE,KAAK,IAAI,EAAE;QAC9C,MAAM,GAAG,GAAG,WAAW,EAAE,CAAA;QAEzB,MAAM,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,MAAM,EAA2B,CAAC,CAAA;QAElE,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,oBAAoB,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IAC/D,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,iCAAiC,EAAE,KAAK,IAAI,EAAE;QAClD,MAAM,GAAG,GAAG,WAAW,EAAE,CAAA;QAEzB,MAAM,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAA2B,CAAC,CAAA;QAE9E,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,oBAAoB,EAAE,CAAA;QAC7C,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAA;IAChD,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,oCAAoC,EAAE,KAAK,IAAI,EAAE;QACrD,MAAM,GAAG,GAAG,WAAW,EAAE,CAAA;QAEzB,MAAM,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAA2B,CAAC,CAAA;QAEhF,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,oBAAoB,EAAE,CAAA;QAC7C,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAA;IAChD,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;QAC5D,MAAM,GAAG,GAAG,WAAW,EAAE,CAAA;QAEzB,MAAM,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAA2B,CAAC,CAAA;QAE7F,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,oBAAoB,EAAE,CAAA;QAC7C,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAA;IAChD,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,yBAAyB,EAAE,KAAK,IAAI,EAAE;QAC1C,MAAM,GAAG,GAAG,WAAW,EAAE,CAAA;QAEzB,KAAK,CAAC,SAAS,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;QAE7C,MAAM,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAA2B,CAAC,CAAA;QAE/E,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,oBAAoB,EAAE,CAAA;QAC5C,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,oBAAoB,CAAC,OAAO,EAAE,GAAG,CAAC,CAAA;IAC3D,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,sCAAsC,EAAE,KAAK,IAAI,EAAE;QACvD,MAAM,GAAG,GAAG,WAAW,CAAC,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC,CAAA;QAEpD,KAAK,CAAC,SAAS,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;QAE7C,MAAM,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAA2B,CAAC,CAAA;QAE/E,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,oBAAoB,EAAE,CAAA;QAC5C,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAA;IAC/C,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,4BAA4B,EAAE,KAAK,IAAI,EAAE;QAC7C,MAAM,GAAG,GAAG,WAAW,EAAE,CAAA;QAEzB,KAAK,CAAC,YAAY,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;QAEnD,MAAM,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAA2B,CAAC,CAAA;QAEjF,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,oBAAoB,EAAE,CAAA;QAC5C,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAA;IACzD,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,yCAAyC,EAAE,KAAK,IAAI,EAAE;QAC1D,MAAM,GAAG,GAAG,WAAW,CAAC,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC,CAAA;QAEpD,KAAK,CAAC,YAAY,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;QAEnD,MAAM,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAA2B,CAAC,CAAA;QAEjF,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,oBAAoB,EAAE,CAAA;QAC5C,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAA;IAClD,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,4CAA4C,EAAE,KAAK,IAAI,EAAE;QAC7D,MAAM,GAAG,GAAG,WAAW,EAAE,CAAA;QACzB,MAAM,KAAK,GAAG,OAAO,CAAA;QAErB,KAAK,CAAC,YAAY,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;QAChD,KAAK,CAAC,YAAY,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAA;QAE7C,MAAM,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,OAAO,EAA2B,CAAC,CAAA;QAEnE,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAA;IACrD,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,SAAS,EAAE,KAAK,IAAI,EAAE;QAC1B,MAAM,IAAI,GAAG,KAAK,EAAE,CAAA;QAEpB,KAAK,CAAC,UAAU,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,CAAA;QACrE,KAAK,CAAC,MAAM,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,CAAA;QAE7D,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAA;QAEvB,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAA;QACjD,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAA;IAC9C,CAAC,CAAC,CAAA;AACH,CAAC,CAAC,CAAA"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { Command } from '../utils/types.js';
|
|
2
|
-
import { PieceArgv } from '../utils/pieces.js';
|
|
3
|
-
export type CreateArgv = {
|
|
4
|
-
title: string;
|
|
5
|
-
fields?: string[];
|
|
6
|
-
input: string;
|
|
7
|
-
directory: string;
|
|
8
|
-
} & PieceArgv;
|
|
9
|
-
declare const command: Command<CreateArgv>;
|
|
10
|
-
export default command;
|
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
import log from '../../log.js';
|
|
2
|
-
import yaml from 'yaml';
|
|
3
|
-
import { makePieceOption, parsePieceOptionArgv } from '../utils/pieces.js';
|
|
4
|
-
function parseFields(fields, input) {
|
|
5
|
-
switch (input) {
|
|
6
|
-
case 'json':
|
|
7
|
-
return JSON.parse(fields[0]);
|
|
8
|
-
case 'yaml':
|
|
9
|
-
default:
|
|
10
|
-
return yaml.parse(fields[0]);
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
|
-
const command = {
|
|
14
|
-
name: 'create',
|
|
15
|
-
command: `create <title> [fields]`,
|
|
16
|
-
describe: 'create a new piece',
|
|
17
|
-
builder: (yargs) => {
|
|
18
|
-
return makePieceOption(yargs)
|
|
19
|
-
.positional('title', {
|
|
20
|
-
type: 'string',
|
|
21
|
-
description: `title of piece`,
|
|
22
|
-
demandOption: `title is required`,
|
|
23
|
-
})
|
|
24
|
-
.option('directory', {
|
|
25
|
-
alias: 'd',
|
|
26
|
-
type: 'string',
|
|
27
|
-
description: 'dir to where to create the piece',
|
|
28
|
-
demandOption: true,
|
|
29
|
-
})
|
|
30
|
-
.option('input', {
|
|
31
|
-
alias: 'i',
|
|
32
|
-
type: 'string',
|
|
33
|
-
choices: ['json', 'yaml'],
|
|
34
|
-
default: 'yaml',
|
|
35
|
-
description: 'input format of the fields positional',
|
|
36
|
-
})
|
|
37
|
-
.positional('fields', {
|
|
38
|
-
type: 'string',
|
|
39
|
-
description: 'fields',
|
|
40
|
-
});
|
|
41
|
-
},
|
|
42
|
-
run: async function (ctx, args) {
|
|
43
|
-
const { title, fields, input, directory } = args;
|
|
44
|
-
const { piece } = await parsePieceOptionArgv(ctx, args);
|
|
45
|
-
const markdown = await piece.create(directory, title);
|
|
46
|
-
if (ctx.flags.dryRun === false) {
|
|
47
|
-
if (fields?.length) {
|
|
48
|
-
const fieldMaps = parseFields(fields, input);
|
|
49
|
-
const updatedMarkdown = await piece.setFields(markdown, fieldMaps);
|
|
50
|
-
await piece.write(updatedMarkdown);
|
|
51
|
-
}
|
|
52
|
-
else {
|
|
53
|
-
await piece.write(markdown);
|
|
54
|
-
}
|
|
55
|
-
log.info(`created new ${piece.type} at ${markdown.filePath}`);
|
|
56
|
-
}
|
|
57
|
-
else {
|
|
58
|
-
log.info(`created new ${piece.type} at ${markdown.filePath}`);
|
|
59
|
-
}
|
|
60
|
-
},
|
|
61
|
-
};
|
|
62
|
-
export default command;
|
|
63
|
-
//# sourceMappingURL=create.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"create.js","sourceRoot":"","sources":["../../../../../src/lib/commands/command/create.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,cAAc,CAAA;AAG9B,OAAO,IAAI,MAAM,MAAM,CAAA;AACvB,OAAO,EAAa,eAAe,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAA;AASrF,SAAS,WAAW,CAAC,MAAgB,EAAE,KAAa;IACnD,QAAQ,KAAK,EAAE,CAAC;QACf,KAAK,MAAM;YACV,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;QAC7B,KAAK,MAAM,CAAC;QACZ;YACC,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;IAC9B,CAAC;AACF,CAAC;AAED,MAAM,OAAO,GAAwB;IACpC,IAAI,EAAE,QAAQ;IAEd,OAAO,EAAE,yBAAyB;IAElC,QAAQ,EAAE,oBAAoB;IAE9B,OAAO,EAAE,CAAI,KAAc,EAAE,EAAE;QAC9B,OAAO,eAAe,CAAC,KAAK,CAAC;aAC3B,UAAU,CAAC,OAAO,EAAE;YACpB,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,gBAAgB;YAC7B,YAAY,EAAE,mBAAmB;SACjC,CAAC;aACD,MAAM,CAAC,WAAW,EAAE;YACpB,KAAK,EAAE,GAAG;YACV,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,kCAAkC;YAC/C,YAAY,EAAE,IAAI;SAClB,CAAC;aACD,MAAM,CAAC,OAAO,EAAE;YAChB,KAAK,EAAE,GAAG;YACV,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;YACzB,OAAO,EAAE,MAAM;YACf,WAAW,EAAE,uCAAuC;SACpD,CAAC;aACD,UAAU,CAAC,QAAQ,EAAE;YACrB,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,QAAQ;SACrB,CAAyB,CAAA;IAC5B,CAAC;IAED,GAAG,EAAE,KAAK,WAAW,GAAG,EAAE,IAAI;QAC7B,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,IAAI,CAAA;QAChD,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,oBAAoB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;QACvD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,CAAA;QAErD,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;YAChC,IAAI,MAAM,EAAE,MAAM,EAAE,CAAC;gBACpB,MAAM,SAAS,GAAG,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;gBAC5C,MAAM,eAAe,GAAG,MAAM,KAAK,CAAC,SAAS,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAA;gBAClE,MAAM,KAAK,CAAC,KAAK,CAAC,eAAe,CAAC,CAAA;YACnC,CAAC;iBAAM,CAAC;gBACP,MAAM,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;YAC5B,CAAC;YAED,GAAG,CAAC,IAAI,CAAC,eAAe,KAAK,CAAC,IAAI,OAAO,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAA;QAC9D,CAAC;aAAM,CAAC;YACP,GAAG,CAAC,IAAI,CAAC,eAAe,KAAK,CAAC,IAAI,OAAO,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAA;QAC9D,CAAC;IACF,CAAC;CACD,CAAA;AAED,eAAe,OAAO,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,126 +0,0 @@
|
|
|
1
|
-
import log from '../../log.js';
|
|
2
|
-
import { describe, expect, test, vi, afterEach } from 'vitest';
|
|
3
|
-
import command from './create.js';
|
|
4
|
-
import yargs from 'yargs';
|
|
5
|
-
import { makeMarkdownSample, makePieceMock, makeContext } from '../utils/context.fixtures.js';
|
|
6
|
-
import yaml from 'yaml';
|
|
7
|
-
vi.mock('fs');
|
|
8
|
-
const mocks = {
|
|
9
|
-
logError: vi.spyOn(log, 'error'),
|
|
10
|
-
getPiece: vi.fn(),
|
|
11
|
-
getTypes: vi.fn(),
|
|
12
|
-
};
|
|
13
|
-
const spies = {};
|
|
14
|
-
describe('lib/commands/create', () => {
|
|
15
|
-
afterEach(() => {
|
|
16
|
-
Object.values(mocks).forEach((mock) => {
|
|
17
|
-
mock.mockReset();
|
|
18
|
-
});
|
|
19
|
-
Object.keys(spies).forEach((key) => {
|
|
20
|
-
spies[key].mockRestore();
|
|
21
|
-
delete spies[key];
|
|
22
|
-
});
|
|
23
|
-
});
|
|
24
|
-
test('run', async () => {
|
|
25
|
-
const title = 'title';
|
|
26
|
-
const directory = 'dir';
|
|
27
|
-
const Piece = makePieceMock();
|
|
28
|
-
const piece = 'books';
|
|
29
|
-
const markdown = makeMarkdownSample();
|
|
30
|
-
const ctx = makeContext({
|
|
31
|
-
pieces: {
|
|
32
|
-
getPiece: mocks.getPiece.mockReturnValue(Piece),
|
|
33
|
-
getTypes: mocks.getTypes.mockReturnValue([piece]),
|
|
34
|
-
},
|
|
35
|
-
});
|
|
36
|
-
spies.pieceWrite = vi.spyOn(Piece, 'write').mockResolvedValueOnce();
|
|
37
|
-
spies.pieceCreate = vi.spyOn(Piece, 'create').mockResolvedValueOnce(markdown);
|
|
38
|
-
spies.setFields = vi.spyOn(Piece, 'setFields').mockResolvedValueOnce(markdown);
|
|
39
|
-
await command.run(ctx, { title, piece, directory });
|
|
40
|
-
expect(spies.pieceWrite).toHaveBeenCalledOnce();
|
|
41
|
-
expect(spies.pieceCreate).toHaveBeenCalledWith(directory, title);
|
|
42
|
-
expect(spies.setFields).not.toHaveBeenCalled();
|
|
43
|
-
});
|
|
44
|
-
test('run and set fields with json', async () => {
|
|
45
|
-
const book = makeMarkdownSample();
|
|
46
|
-
const title = 'slug2';
|
|
47
|
-
const directory = 'dir';
|
|
48
|
-
const Piece = makePieceMock();
|
|
49
|
-
const piece = 'books';
|
|
50
|
-
const ctx = makeContext({
|
|
51
|
-
pieces: {
|
|
52
|
-
getPiece: mocks.getPiece.mockReturnValue(Piece),
|
|
53
|
-
getTypes: mocks.getTypes.mockReturnValue([piece]),
|
|
54
|
-
},
|
|
55
|
-
});
|
|
56
|
-
const field = 'title';
|
|
57
|
-
const value = 'value';
|
|
58
|
-
spies.pieceCreate = vi.spyOn(Piece, 'create').mockResolvedValueOnce(book);
|
|
59
|
-
spies.pieceWrite = vi.spyOn(Piece, 'write').mockResolvedValueOnce();
|
|
60
|
-
spies.pieceSetFields = vi.spyOn(Piece, 'setFields').mockResolvedValueOnce(book);
|
|
61
|
-
await command.run(ctx, {
|
|
62
|
-
title,
|
|
63
|
-
piece,
|
|
64
|
-
directory,
|
|
65
|
-
input: 'json',
|
|
66
|
-
fields: [JSON.stringify({ [field]: value })],
|
|
67
|
-
});
|
|
68
|
-
expect(mocks.getPiece).toHaveBeenCalledWith(piece);
|
|
69
|
-
expect(spies.pieceWrite).toHaveBeenCalledOnce();
|
|
70
|
-
expect(spies.pieceSetFields).toHaveBeenCalledWith(book, { [field]: value });
|
|
71
|
-
});
|
|
72
|
-
test('run and set fields with yaml', async () => {
|
|
73
|
-
const book = makeMarkdownSample();
|
|
74
|
-
const title = 'slug2';
|
|
75
|
-
const piece = 'books';
|
|
76
|
-
const directory = '.';
|
|
77
|
-
const Piece = makePieceMock();
|
|
78
|
-
const ctx = makeContext({
|
|
79
|
-
pieces: {
|
|
80
|
-
getPiece: mocks.getPiece.mockReturnValue(Piece),
|
|
81
|
-
getTypes: mocks.getTypes.mockReturnValue([piece]),
|
|
82
|
-
},
|
|
83
|
-
});
|
|
84
|
-
const field = 'title';
|
|
85
|
-
const value = 'value';
|
|
86
|
-
spies.pieceCreate = vi.spyOn(Piece, 'create').mockResolvedValueOnce(book);
|
|
87
|
-
spies.pieceWrite = vi.spyOn(Piece, 'write').mockResolvedValueOnce();
|
|
88
|
-
spies.pieceSetFields = vi.spyOn(Piece, 'setFields').mockResolvedValueOnce(book);
|
|
89
|
-
await command.run(ctx, {
|
|
90
|
-
title,
|
|
91
|
-
piece,
|
|
92
|
-
directory,
|
|
93
|
-
input: 'yaml',
|
|
94
|
-
fields: [yaml.stringify({ [field]: value })],
|
|
95
|
-
});
|
|
96
|
-
expect(mocks.getPiece).toHaveBeenCalledWith(piece);
|
|
97
|
-
expect(spies.pieceWrite).toHaveBeenCalledOnce();
|
|
98
|
-
expect(spies.pieceSetFields).toHaveBeenCalledWith(book, { [field]: value });
|
|
99
|
-
});
|
|
100
|
-
test('run with dry-run', async () => {
|
|
101
|
-
const book = makeMarkdownSample();
|
|
102
|
-
const title = 'slug2';
|
|
103
|
-
const piece = 'books';
|
|
104
|
-
const directory = '.';
|
|
105
|
-
const Piece = makePieceMock();
|
|
106
|
-
const ctx = makeContext({
|
|
107
|
-
flags: { dryRun: true },
|
|
108
|
-
pieces: {
|
|
109
|
-
getPiece: mocks.getPiece.mockReturnValue(Piece),
|
|
110
|
-
getTypes: mocks.getTypes.mockReturnValue([piece]),
|
|
111
|
-
},
|
|
112
|
-
});
|
|
113
|
-
spies.pieceCreate = vi.spyOn(Piece, 'create').mockResolvedValueOnce(book);
|
|
114
|
-
spies.pieceWrite = vi.spyOn(Piece, 'write').mockResolvedValueOnce();
|
|
115
|
-
await command.run(ctx, { title, piece, directory });
|
|
116
|
-
expect(spies.pieceCreate).toHaveBeenCalledOnce();
|
|
117
|
-
expect(spies.pieceWrite).not.toHaveBeenCalledOnce();
|
|
118
|
-
});
|
|
119
|
-
test('builder', async () => {
|
|
120
|
-
const args = yargs();
|
|
121
|
-
spies.positional = vi.spyOn(args, 'positional');
|
|
122
|
-
command.builder?.(args);
|
|
123
|
-
expect(spies.positional).toHaveBeenCalledTimes(2);
|
|
124
|
-
});
|
|
125
|
-
});
|
|
126
|
-
//# sourceMappingURL=create.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"create.test.js","sourceRoot":"","sources":["../../../../../src/lib/commands/command/create.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { Command } from '../utils/types.js';
|
|
2
|
-
import { PieceArgv } from '../utils/pieces.js';
|
|
3
|
-
export type FieldArgv = {
|
|
4
|
-
remove?: boolean;
|
|
5
|
-
field?: string;
|
|
6
|
-
value?: string;
|
|
7
|
-
append?: boolean;
|
|
8
|
-
} & PieceArgv;
|
|
9
|
-
declare const command: Command<FieldArgv>;
|
|
10
|
-
export default command;
|
|
@@ -1,90 +0,0 @@
|
|
|
1
|
-
import log from '../../../lib/log.js';
|
|
2
|
-
import { makePiecePathPositional, PiecePositional, parsePiecePathPositionalArgv, } from '../utils/pieces.js';
|
|
3
|
-
import yaml from 'yaml';
|
|
4
|
-
const command = {
|
|
5
|
-
name: 'field',
|
|
6
|
-
command: `field ${PiecePositional} [field] [value]`,
|
|
7
|
-
describe: 'get, edit or remove a field',
|
|
8
|
-
builder: function (yargs) {
|
|
9
|
-
return makePiecePathPositional(yargs)
|
|
10
|
-
.option('remove', {
|
|
11
|
-
alias: 'r',
|
|
12
|
-
type: 'boolean',
|
|
13
|
-
default: false,
|
|
14
|
-
description: 'remove the field',
|
|
15
|
-
})
|
|
16
|
-
.option('append', {
|
|
17
|
-
alias: 'a',
|
|
18
|
-
type: 'boolean',
|
|
19
|
-
default: false,
|
|
20
|
-
description: 'append to the field',
|
|
21
|
-
})
|
|
22
|
-
.positional('field', {
|
|
23
|
-
type: 'string',
|
|
24
|
-
description: 'field to set or remove',
|
|
25
|
-
})
|
|
26
|
-
.positional('value', {
|
|
27
|
-
type: 'string',
|
|
28
|
-
description: 'field value to set',
|
|
29
|
-
});
|
|
30
|
-
},
|
|
31
|
-
run: async function (ctx, args) {
|
|
32
|
-
const { field, remove, value, append } = args;
|
|
33
|
-
const { piece, markdown } = await parsePiecePathPositionalArgv(ctx, args);
|
|
34
|
-
const pieceFields = piece.fields.map((f) => f.name);
|
|
35
|
-
if (!field) {
|
|
36
|
-
if (remove) {
|
|
37
|
-
log.error('must provide a fieldname to remove a field');
|
|
38
|
-
return;
|
|
39
|
-
}
|
|
40
|
-
else {
|
|
41
|
-
const emptyFields = pieceFields.reduce((acc, f) => ({ ...acc, [f]: '' }), {});
|
|
42
|
-
const yamlFields = yaml.stringify({ ...emptyFields, ...markdown.frontmatter });
|
|
43
|
-
console.log(yamlFields);
|
|
44
|
-
return;
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
if (!pieceFields.includes(field)) {
|
|
48
|
-
log.error(`'${field}' is not a valid field for ${piece} types`);
|
|
49
|
-
return;
|
|
50
|
-
}
|
|
51
|
-
if (remove) {
|
|
52
|
-
const updated = await piece.removeField(markdown, field, value);
|
|
53
|
-
if (!ctx.flags.dryRun) {
|
|
54
|
-
await piece.write(updated);
|
|
55
|
-
log.info(`removed: ${field}`);
|
|
56
|
-
}
|
|
57
|
-
else {
|
|
58
|
-
const validate = piece.validate(updated);
|
|
59
|
-
if (!validate.isValid) {
|
|
60
|
-
log.error(`field errors:\n${validate.errors}`);
|
|
61
|
-
}
|
|
62
|
-
else {
|
|
63
|
-
log.info(`removed: ${field}`);
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
else if (value) {
|
|
68
|
-
const current = markdown.frontmatter[field];
|
|
69
|
-
const updated = await piece.setField(markdown, field, append && Array.isArray(current) ? [...current, value] : value);
|
|
70
|
-
if (!ctx.flags.dryRun) {
|
|
71
|
-
await piece.write(updated);
|
|
72
|
-
console.log(updated.frontmatter[field]);
|
|
73
|
-
}
|
|
74
|
-
else {
|
|
75
|
-
const validate = piece.validate(updated);
|
|
76
|
-
if (!validate.isValid) {
|
|
77
|
-
log.error(`field errors:\n${validate.errors}`);
|
|
78
|
-
}
|
|
79
|
-
else {
|
|
80
|
-
console.log(updated.frontmatter[field]);
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
else {
|
|
85
|
-
console.log(markdown.frontmatter[field]);
|
|
86
|
-
}
|
|
87
|
-
},
|
|
88
|
-
};
|
|
89
|
-
export default command;
|
|
90
|
-
//# sourceMappingURL=field.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"field.js","sourceRoot":"","sources":["../../../../../src/lib/commands/command/field.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|