@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.
Files changed (89) hide show
  1. package/package.json +5 -6
  2. package/dist/src/index.d.ts +0 -2
  3. package/dist/src/index.js +0 -4
  4. package/dist/src/index.js.map +0 -1
  5. package/dist/src/lib/cli.d.ts +0 -2
  6. package/dist/src/lib/cli.js +0 -112
  7. package/dist/src/lib/cli.js.map +0 -1
  8. package/dist/src/lib/cli.test.d.ts +0 -1
  9. package/dist/src/lib/cli.test.js +0 -197
  10. package/dist/src/lib/cli.test.js.map +0 -1
  11. package/dist/src/lib/commands/command/assistant.d.ts +0 -11
  12. package/dist/src/lib/commands/command/assistant.js +0 -67
  13. package/dist/src/lib/commands/command/assistant.js.map +0 -1
  14. package/dist/src/lib/commands/command/assistant.test.d.ts +0 -1
  15. package/dist/src/lib/commands/command/assistant.test.js +0 -161
  16. package/dist/src/lib/commands/command/assistant.test.js.map +0 -1
  17. package/dist/src/lib/commands/command/config.d.ts +0 -8
  18. package/dist/src/lib/commands/command/config.js +0 -67
  19. package/dist/src/lib/commands/command/config.js.map +0 -1
  20. package/dist/src/lib/commands/command/config.test.d.ts +0 -1
  21. package/dist/src/lib/commands/command/config.test.js +0 -113
  22. package/dist/src/lib/commands/command/config.test.js.map +0 -1
  23. package/dist/src/lib/commands/command/create.d.ts +0 -10
  24. package/dist/src/lib/commands/command/create.js +0 -63
  25. package/dist/src/lib/commands/command/create.js.map +0 -1
  26. package/dist/src/lib/commands/command/create.test.d.ts +0 -1
  27. package/dist/src/lib/commands/command/create.test.js +0 -126
  28. package/dist/src/lib/commands/command/create.test.js.map +0 -1
  29. package/dist/src/lib/commands/command/field.d.ts +0 -10
  30. package/dist/src/lib/commands/command/field.js +0 -90
  31. package/dist/src/lib/commands/command/field.js.map +0 -1
  32. package/dist/src/lib/commands/command/field.test.d.ts +0 -1
  33. package/dist/src/lib/commands/command/field.test.js +0 -395
  34. package/dist/src/lib/commands/command/field.test.js.map +0 -1
  35. package/dist/src/lib/commands/command/init.d.ts +0 -6
  36. package/dist/src/lib/commands/command/init.js +0 -42
  37. package/dist/src/lib/commands/command/init.js.map +0 -1
  38. package/dist/src/lib/commands/command/init.test.d.ts +0 -1
  39. package/dist/src/lib/commands/command/init.test.js +0 -84
  40. package/dist/src/lib/commands/command/init.test.js.map +0 -1
  41. package/dist/src/lib/commands/command/sync.d.ts +0 -7
  42. package/dist/src/lib/commands/command/sync.js +0 -85
  43. package/dist/src/lib/commands/command/sync.js.map +0 -1
  44. package/dist/src/lib/commands/command/sync.test.d.ts +0 -1
  45. package/dist/src/lib/commands/command/sync.test.js +0 -117
  46. package/dist/src/lib/commands/command/sync.test.js.map +0 -1
  47. package/dist/src/lib/commands/command/validate.d.ts +0 -5
  48. package/dist/src/lib/commands/command/validate.js +0 -22
  49. package/dist/src/lib/commands/command/validate.js.map +0 -1
  50. package/dist/src/lib/commands/command/validate.test.d.ts +0 -1
  51. package/dist/src/lib/commands/command/validate.test.js +0 -59
  52. package/dist/src/lib/commands/command/validate.test.js.map +0 -1
  53. package/dist/src/lib/commands/index.d.ts +0 -6
  54. package/dist/src/lib/commands/index.js +0 -19
  55. package/dist/src/lib/commands/index.js.map +0 -1
  56. package/dist/src/lib/commands/index.test.d.ts +0 -1
  57. package/dist/src/lib/commands/index.test.js +0 -31
  58. package/dist/src/lib/commands/index.test.js.map +0 -1
  59. package/dist/src/lib/commands/utils/context.fixtures.d.ts +0 -23
  60. package/dist/src/lib/commands/utils/context.fixtures.js +0 -76
  61. package/dist/src/lib/commands/utils/context.fixtures.js.map +0 -1
  62. package/dist/src/lib/commands/utils/pieces.d.ts +0 -27
  63. package/dist/src/lib/commands/utils/pieces.js +0 -47
  64. package/dist/src/lib/commands/utils/pieces.js.map +0 -1
  65. package/dist/src/lib/commands/utils/pieces.test.d.ts +0 -1
  66. package/dist/src/lib/commands/utils/pieces.test.js +0 -97
  67. package/dist/src/lib/commands/utils/pieces.test.js.map +0 -1
  68. package/dist/src/lib/config.d.ts +0 -35
  69. package/dist/src/lib/config.js +0 -145
  70. package/dist/src/lib/config.js.map +0 -1
  71. package/dist/src/lib/config.mock.d.ts +0 -5
  72. package/dist/src/lib/config.mock.js +0 -10
  73. package/dist/src/lib/config.mock.js.map +0 -1
  74. package/dist/src/lib/config.test.d.ts +0 -1
  75. package/dist/src/lib/config.test.js +0 -129
  76. package/dist/src/lib/config.test.js.map +0 -1
  77. package/dist/src/lib/database.mock.d.ts +0 -22
  78. package/dist/src/lib/database.mock.js +0 -34
  79. package/dist/src/lib/database.mock.js.map +0 -1
  80. package/dist/src/lib/log.d.ts +0 -2
  81. package/dist/src/lib/log.js +0 -9
  82. package/dist/src/lib/log.js.map +0 -1
  83. package/dist/src/version.d.ts +0 -2
  84. package/dist/src/version.js +0 -2
  85. package/dist/src/version.js.map +0 -1
  86. package/dist/tsconfig.tsbuildinfo +0 -1
  87. package/dist/vite.config.d.ts +0 -2
  88. package/dist/vite.config.js +0 -38
  89. package/dist/vite.config.js.map +0 -1
@@ -1,8 +0,0 @@
1
- import { Command } from '../utils/types.js';
2
- export type ConfigArgv = {
3
- remove?: boolean;
4
- field?: string;
5
- value?: unknown;
6
- };
7
- declare const command: Command<ConfigArgv>;
8
- export default command;
@@ -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":"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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 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 {};