@sprucelabs/spruce-cli 21.0.0 → 21.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/CHANGELOG.md CHANGED
@@ -3,6 +3,14 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [21.0.1](https://github.com/sprucelabsai-community/spruce-cli-workspace/compare/v21.0.0...v21.0.1) (2024-04-22)
7
+
8
+ **Note:** Version bump only for package @sprucelabs/spruce-cli
9
+
10
+
11
+
12
+
13
+
6
14
  # [21.0.0](https://github.com/sprucelabsai-community/spruce-cli-workspace/compare/v20.0.6...v21.0.0) (2024-04-22)
7
15
 
8
16
 
@@ -0,0 +1,10 @@
1
+ import AbstractCliTest from '../../../tests/AbstractCliTest';
2
+ export default class SyncingSchemasLintsOnceTest extends AbstractCliTest {
3
+ private static writer;
4
+ private static destinationPath;
5
+ private static filepath;
6
+ protected static beforeEach(): Promise<void>;
7
+ protected static onlyLintsOnceWhenWritingLocalSchemas(): Promise<void>;
8
+ protected static lintsAfterAllFilesAreWritten(): Promise<void>;
9
+ private static writeSchemasAndTypes;
10
+ }
@@ -0,0 +1,91 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __importDefault = (this && this.__importDefault) || function (mod) {
9
+ return (mod && mod.__esModule) ? mod : { "default": mod };
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ const test_utils_1 = require("@sprucelabs/test-utils");
13
+ const ServiceFactory_1 = __importDefault(require("../../../services/ServiceFactory"));
14
+ const AbstractCliTest_1 = __importDefault(require("../../../tests/AbstractCliTest"));
15
+ class SyncingSchemasLintsOnceTest extends AbstractCliTest_1.default {
16
+ static writer;
17
+ static destinationPath;
18
+ static filepath;
19
+ static async beforeEach() {
20
+ await super.beforeEach();
21
+ this.destinationPath = this.resolvePath('/tmp', (0, test_utils_1.generateId)());
22
+ this.filepath = this.resolvePath(this.destinationPath, 'schemas.types.ts');
23
+ ServiceFactory_1.default.setServiceClass('lint', MockLintService);
24
+ this.writer = this.writers.Writer('schema', {
25
+ fileDescriptions: [],
26
+ linter: new MockLintService(),
27
+ });
28
+ }
29
+ static async onlyLintsOnceWhenWritingLocalSchemas() {
30
+ await this.writeSchemasAndTypes();
31
+ MockLintService.assertPatterns([this.destinationPath]);
32
+ }
33
+ static async lintsAfterAllFilesAreWritten() {
34
+ const calls = [];
35
+ //@ts-ignore
36
+ this.writer.writeFileIfChangedMixinResults = async () => {
37
+ calls.push('writeFileIfChangedMixinResults');
38
+ return [];
39
+ };
40
+ //@ts-ignore
41
+ this.writer.lint = async () => {
42
+ calls.push('lint');
43
+ };
44
+ await this.writeSchemasAndTypes();
45
+ test_utils_1.assert.isEqualDeep(calls, [
46
+ 'writeFileIfChangedMixinResults',
47
+ 'writeFileIfChangedMixinResults',
48
+ 'lint',
49
+ ]);
50
+ }
51
+ static async writeSchemasAndTypes() {
52
+ await this.writer.writeSchemasAndTypes(this.filepath, {
53
+ fieldTemplateItems: [],
54
+ schemaTemplateItems: [
55
+ {
56
+ destinationDir: (0, test_utils_1.generateId)(),
57
+ id: (0, test_utils_1.generateId)(),
58
+ nameCamel: (0, test_utils_1.generateId)(),
59
+ namePascal: (0, test_utils_1.generateId)(),
60
+ nameReadable: (0, test_utils_1.generateId)(),
61
+ namespace: (0, test_utils_1.generateId)(),
62
+ schema: {
63
+ id: (0, test_utils_1.generateId)(),
64
+ namespace: (0, test_utils_1.generateId)(),
65
+ fields: {},
66
+ },
67
+ },
68
+ ],
69
+ shouldImportCoreSchemas: false,
70
+ valueTypes: {},
71
+ });
72
+ }
73
+ }
74
+ exports.default = SyncingSchemasLintsOnceTest;
75
+ __decorate([
76
+ (0, test_utils_1.test)()
77
+ ], SyncingSchemasLintsOnceTest, "onlyLintsOnceWhenWritingLocalSchemas", null);
78
+ __decorate([
79
+ (0, test_utils_1.test)()
80
+ ], SyncingSchemasLintsOnceTest, "lintsAfterAllFilesAreWritten", null);
81
+ class MockLintService {
82
+ static patterns = [];
83
+ async fix(pattern) {
84
+ MockLintService.patterns.push(pattern);
85
+ return;
86
+ }
87
+ static assertPatterns(patterns) {
88
+ test_utils_1.assert.isEqualDeep(this.patterns, patterns, `Patterns did not match`);
89
+ }
90
+ }
91
+ //# sourceMappingURL=SyncingSchemasLintsOnce.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SyncingSchemasLintsOnce.test.js","sourceRoot":"","sources":["../../../../src/__tests__/behavioral/schemas/SyncingSchemasLintsOnce.test.ts"],"names":[],"mappings":"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"}
@@ -57,6 +57,7 @@ class SchemaWriter extends AbstractWriter_1.default {
57
57
  }
58
58
  async writeSchemasAndTypes(destinationDirOrFilename, options) {
59
59
  const { fieldTemplateItems, schemaTemplateItems, valueTypes, typesTemplate, } = options;
60
+ this.isLintEnabled = false;
60
61
  const resolvedTypesDestination = this.resolveFilenameWithFallback(destinationDirOrFilename, spruce_skill_utils_3.DEFAULT_SCHEMA_TYPES_FILENAME);
61
62
  let results = [];
62
63
  this.ui.startLoading('Generating schema types...');
@@ -77,6 +78,8 @@ class SchemaWriter extends AbstractWriter_1.default {
77
78
  typesFile: resolvedTypesDestination,
78
79
  });
79
80
  results.push(...allSchemaResults);
81
+ this.isLintEnabled = true;
82
+ await this.lint(path_2.default.dirname(destinationDirOrFilename));
80
83
  return results;
81
84
  }
82
85
  async writeAllSchemas(destinationDir, options) {
@@ -1 +1 @@
1
- {"version":3,"file":"SchemaWriter.js","sourceRoot":"","sources":["../../../../src/features/schema/writers/SchemaWriter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SchemaWriter.js","sourceRoot":"","sources":["../../../../src/features/schema/writers/SchemaWriter.ts"],"names":[],"mappings":"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"}
@@ -13,6 +13,7 @@ export default abstract class AbstractWriter {
13
13
  private firstFileWriteMessage?;
14
14
  private hasShownFirstWriteMessage;
15
15
  private settings;
16
+ protected isLintEnabled: boolean;
16
17
  constructor(options: WriterOptions);
17
18
  protected lint(file: string): Promise<void>;
18
19
  protected writeDirectoryTemplate(options: WriteDirectoryTemplateOptions): Promise<WriteResults>;
@@ -17,6 +17,7 @@ class AbstractWriter {
17
17
  firstFileWriteMessage;
18
18
  hasShownFirstWriteMessage = false;
19
19
  settings;
20
+ isLintEnabled = true;
20
21
  constructor(options) {
21
22
  this.templates = options.templates;
22
23
  this.ui = options.term;
@@ -26,8 +27,10 @@ class AbstractWriter {
26
27
  this.settings = options.settings;
27
28
  }
28
29
  async lint(file) {
29
- this.ui.startLoading(`Linting ${path_1.default.basename(file)}...`);
30
- await this.linter?.fix(file).catch(() => { });
30
+ if (this.isLintEnabled) {
31
+ this.ui.startLoading(`Linting ${path_1.default.basename(file)}...`);
32
+ await this.linter?.fix(file).catch(() => { });
33
+ }
31
34
  }
32
35
  async writeDirectoryTemplate(options) {
33
36
  const { context, destinationDir, filesToWrite, filesToSkip, shouldConfirmBeforeWriting = true, firstFileWriteMessage, } = options;
@@ -1 +1 @@
1
- {"version":3,"file":"AbstractWriter.js","sourceRoot":"","sources":["../../src/writers/AbstractWriter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AbstractWriter.js","sourceRoot":"","sources":["../../src/writers/AbstractWriter.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -17,7 +17,7 @@
17
17
  ]
18
18
  },
19
19
  "license": "MIT",
20
- "version": "21.0.0",
20
+ "version": "21.0.1",
21
21
  "bin": {
22
22
  "spruce": "./build/index.js"
23
23
  },
@@ -84,7 +84,7 @@
84
84
  "@sprucelabs/spruce-core-schemas": "^40.0.2",
85
85
  "@sprucelabs/spruce-event-utils": "^40.0.2",
86
86
  "@sprucelabs/spruce-skill-utils": "^31.0.5",
87
- "@sprucelabs/spruce-templates": "^21.0.0",
87
+ "@sprucelabs/spruce-templates": "^21.0.1",
88
88
  "@typescript-eslint/eslint-plugin": "^5.27.1",
89
89
  "@typescript-eslint/parser": "^5.27.1",
90
90
  "cfonts": "^3.2.0",
@@ -588,5 +588,5 @@
588
588
  "terminal-kit"
589
589
  ]
590
590
  },
591
- "gitHead": "285a2a10f3a72d222007d41dcbdde633d91387c7"
591
+ "gitHead": "3004809c88748d009e76b9121a9946068f19840a"
592
592
  }
@@ -0,0 +1,90 @@
1
+ import { test, assert, generateId } from '@sprucelabs/test-utils'
2
+ import SchemaWriter from '../../../features/schema/writers/SchemaWriter'
3
+ import ServiceFactory from '../../../services/ServiceFactory'
4
+ import AbstractCliTest from '../../../tests/AbstractCliTest'
5
+
6
+ export default class SyncingSchemasLintsOnceTest extends AbstractCliTest {
7
+ private static writer: SchemaWriter
8
+ private static destinationPath: string
9
+ private static filepath: string
10
+
11
+ protected static async beforeEach() {
12
+ await super.beforeEach()
13
+ this.destinationPath = this.resolvePath('/tmp', generateId())
14
+ this.filepath = this.resolvePath(
15
+ this.destinationPath,
16
+ 'schemas.types.ts'
17
+ )
18
+
19
+ ServiceFactory.setServiceClass('lint', MockLintService)
20
+ this.writer = this.writers.Writer('schema', {
21
+ fileDescriptions: [],
22
+ linter: new MockLintService() as any,
23
+ })
24
+ }
25
+
26
+ @test()
27
+ protected static async onlyLintsOnceWhenWritingLocalSchemas() {
28
+ await this.writeSchemasAndTypes()
29
+ MockLintService.assertPatterns([this.destinationPath])
30
+ }
31
+
32
+ @test()
33
+ protected static async lintsAfterAllFilesAreWritten() {
34
+ const calls: string[] = []
35
+
36
+ //@ts-ignore
37
+ this.writer.writeFileIfChangedMixinResults = async () => {
38
+ calls.push('writeFileIfChangedMixinResults')
39
+ return []
40
+ }
41
+
42
+ //@ts-ignore
43
+ this.writer.lint = async () => {
44
+ calls.push('lint')
45
+ }
46
+
47
+ await this.writeSchemasAndTypes()
48
+
49
+ assert.isEqualDeep(calls, [
50
+ 'writeFileIfChangedMixinResults',
51
+ 'writeFileIfChangedMixinResults',
52
+ 'lint',
53
+ ])
54
+ }
55
+
56
+ private static async writeSchemasAndTypes() {
57
+ await this.writer.writeSchemasAndTypes(this.filepath, {
58
+ fieldTemplateItems: [],
59
+ schemaTemplateItems: [
60
+ {
61
+ destinationDir: generateId(),
62
+ id: generateId(),
63
+ nameCamel: generateId(),
64
+ namePascal: generateId(),
65
+ nameReadable: generateId(),
66
+ namespace: generateId(),
67
+ schema: {
68
+ id: generateId(),
69
+ namespace: generateId(),
70
+ fields: {},
71
+ },
72
+ },
73
+ ],
74
+ shouldImportCoreSchemas: false,
75
+ valueTypes: {},
76
+ })
77
+ }
78
+ }
79
+
80
+ class MockLintService {
81
+ private static patterns: string[] = []
82
+ public async fix(pattern: string) {
83
+ MockLintService.patterns.push(pattern)
84
+ return
85
+ }
86
+
87
+ public static assertPatterns(patterns: string[]) {
88
+ assert.isEqualDeep(this.patterns, patterns, `Patterns did not match`)
89
+ }
90
+ }
@@ -119,6 +119,8 @@ export default class SchemaWriter extends AbstractWriter {
119
119
  typesTemplate,
120
120
  } = options
121
121
 
122
+ this.isLintEnabled = false
123
+
122
124
  const resolvedTypesDestination = this.resolveFilenameWithFallback(
123
125
  destinationDirOrFilename,
124
126
  DEFAULT_SCHEMA_TYPES_FILENAME
@@ -159,6 +161,10 @@ export default class SchemaWriter extends AbstractWriter {
159
161
 
160
162
  results.push(...allSchemaResults)
161
163
 
164
+ this.isLintEnabled = true
165
+
166
+ await this.lint(pathUtil.dirname(destinationDirOrFilename))
167
+
162
168
  return results
163
169
  }
164
170
 
@@ -21,6 +21,7 @@ export default abstract class AbstractWriter {
21
21
  private firstFileWriteMessage?: string
22
22
  private hasShownFirstWriteMessage = false
23
23
  private settings: SettingsService<string>
24
+ protected isLintEnabled = true
24
25
 
25
26
  public constructor(options: WriterOptions) {
26
27
  this.templates = options.templates
@@ -32,8 +33,10 @@ export default abstract class AbstractWriter {
32
33
  }
33
34
 
34
35
  protected async lint(file: string) {
35
- this.ui.startLoading(`Linting ${pathUtil.basename(file)}...`)
36
- await this.linter?.fix(file).catch(() => {})
36
+ if (this.isLintEnabled) {
37
+ this.ui.startLoading(`Linting ${pathUtil.basename(file)}...`)
38
+ await this.linter?.fix(file).catch(() => {})
39
+ }
37
40
  }
38
41
 
39
42
  protected async writeDirectoryTemplate(