@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 +8 -0
- package/build/__tests__/behavioral/schemas/SyncingSchemasLintsOnce.test.d.ts +10 -0
- package/build/__tests__/behavioral/schemas/SyncingSchemasLintsOnce.test.js +91 -0
- package/build/__tests__/behavioral/schemas/SyncingSchemasLintsOnce.test.js.map +1 -0
- package/build/features/schema/writers/SchemaWriter.js +3 -0
- package/build/features/schema/writers/SchemaWriter.js.map +1 -1
- package/build/writers/AbstractWriter.d.ts +1 -0
- package/build/writers/AbstractWriter.js +5 -2
- package/build/writers/AbstractWriter.js.map +1 -1
- package/package.json +3 -3
- package/src/__tests__/behavioral/schemas/SyncingSchemasLintsOnce.test.ts +90 -0
- package/src/features/schema/writers/SchemaWriter.ts +6 -0
- package/src/writers/AbstractWriter.ts +5 -2
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":";;;;;AAAA,gDAAuB;AACvB,gDAA2B;AAE3B,uEAA4D;AAC5D,uEAAyD;AACzD,uEAGuC;AAKvC,8EAAqD;AACrD,qFAA8E;AAC9E,yFAA4D;AAE5D,MAAqB,YAAa,SAAQ,wBAAc;IACnC,cAAc,GAIzB;QACF;YACI,QAAQ,EAAE,iBAAiB;YAC3B,gBAAgB,EAAE,aAAa;YAC/B,WAAW,EACP,2FAA2F;SAClG;QACD;YACI,QAAQ,EAAE,kBAAkB;YAC5B,gBAAgB,EAAE,eAAe;YACjC,WAAW,EACP,+FAA+F;SACtG;KACJ,CAAA;IAEM,KAAK,CAAC,YAAY,CACrB,cAAsB,EACtB,OAGC;QAED,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,oBAAoB,CAAC,CAAA;QAE1C,MAAM,QAAQ,GAAG,GAAG,OAAO,CAAC,SAAS,aAAa,CAAA;QAElD,MAAM,0BAA0B,GAC5B,OAAO,CAAC,sBAAsB,KAAK,KAAK;YACpC,CAAC,CAAC,cAAQ,CAAC,OAAO,CAAC,cAAc,EAAE,QAAQ,CAAC;YAC5C,CAAC,CAAC,gCAAW,CAAC,oBAAoB,CAC5B,cAAc,EACd,OAAO,CAAC,OAAO,IAAI,sCAAiB,EACpC,QAAQ,CACX,CAAA;QAEX,IAAI,6BAAQ,CAAC,aAAa,CAAC,0BAA0B,CAAC,EAAE,CAAC;YACrD,MAAM,IAAI,qBAAW,CAAC;gBAClB,IAAI,EAAE,eAAe;gBACrB,QAAQ,EAAE,OAAO,CAAC,SAAS;gBAC3B,WAAW,EAAE,cAAc;aAC9B,CAAC,CAAA;QACN,CAAC;QAED,MAAM,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,OAAO,CAAC,CAAA;QAE5D,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,8BAA8B,CACrD,0BAA0B,EAC1B,cAAc,EACd,6GAA6G,CAChH,CAAA;QAED,OAAO,OAAO,CAAA;IAClB,CAAC;IAEM,KAAK,CAAC,eAAe,CACxB,cAAsB,EACtB,OAA+B;QAE/B,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,gCAAgC,CAAC,CAAA;QAEtD,MAAM,EAAE,kBAAkB,EAAE,GAAG,OAAO,CAAA;QAEtC,IAAI,OAAO,GAAiB,EAAE,CAAA;QAE9B,KAAK,MAAM,WAAW,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YAC5C,MAAM,EAAE,QAAQ,EAAE,gBAAgB,EAAE,WAAW,EAAE,GAAG,WAAW,CAAA;YAE/D,MAAM,mBAAmB,GAAG,cAAI,CAAC,IAAI,CACjC,cAAc,EACd,QAAQ,EACR,QAAQ,CACX,CAAA;YAED,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;gBAC9C,kBAAkB;aACrB,CAAC,CAAA;YAEF,OAAO,GAAG,MAAM,IAAI,CAAC,8BAA8B,CAC/C,mBAAmB,EACnB,QAAQ,EACR,WAAW,EACX,OAAO,CACV,CAAA;QACL,CAAC;QAED,OAAO,OAAO,CAAA;IAClB,CAAC;IAEM,KAAK,CAAC,oBAAoB,CAC7B,wBAAgC,EAChC,OAAmC;QAEnC,MAAM,EACF,kBAAkB,EAClB,mBAAmB,EACnB,UAAU,EACV,aAAa,GAChB,GAAG,OAAO,CAAA;QAEX,MAAM,wBAAwB,GAAG,IAAI,CAAC,2BAA2B,CAC7D,wBAAwB,EACxB,kDAA6B,CAChC,CAAA;QAED,IAAI,OAAO,GAAiB,EAAE,CAAA;QAC9B,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,4BAA4B,CAAC,CAAA;QAElD,MAAM,UAAU,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAA;QAEnE,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,MAAM,mBAAmB,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC;gBACpD,mBAAmB,EAAE,UAAU;gBAC/B,kBAAkB;gBAClB,UAAU;gBACV,qBAAqB,EAAE,OAAO,CAAC,qBAAqB;gBACpD,aAAa;aAChB,CAAC,CAAA;YAEF,OAAO,GAAG,MAAM,IAAI,CAAC,8BAA8B,CAC/C,wBAAwB,EACxB,mBAAmB,EACnB,+FAA+F,CAClG,CAAA;QACL,CAAC;QAED,IAAI,CAAC,EAAE,CAAC,YAAY,CAChB,YAAY,mBAAmB,CAAC,MAAM,yBAAyB,CAClE,CAAA;QAED,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,eAAe,CAC/C,cAAQ,CAAC,OAAO,CAAC,wBAAwB,CAAC,EAC1C;YACI,GAAG,OAAO;YACV,SAAS,EAAE,wBAAwB;SACtC,CACJ,CAAA;QAED,OAAO,CAAC,IAAI,CAAC,GAAG,gBAAgB,CAAC,CAAA;QAEjC,OAAO,OAAO,CAAA;IAClB,CAAC;IAEO,KAAK,CAAC,eAAe,CACzB,cAAsB,EACtB,OAA4D;QAE5D,MAAM,OAAO,GAAiB,EAAE,CAAA;QAEhC,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,mBAAmB,EAAE,CAAC;YAC7C,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE;gBACzD,GAAG,OAAO;gBACV,GAAG,IAAI;aACV,CAAC,CAAA;YACF,OAAO,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,CAAA;QAClC,CAAC;QAED,OAAO,OAAO,CAAA;IAClB,CAAC;IAEM,KAAK,CAAC,WAAW,CACpB,cAAsB,EACtB,OAOsB;QAEtB,MAAM,EACF,mBAAmB,EACnB,kBAAkB,EAClB,UAAU,EACV,oBAAoB,GAAG,IAAI,EAC3B,GAAG,IAAI,EACV,GAAG,OAAO,CAAA;QAEX,MAAM,mBAAmB,GAAG,4BAAc,CAAC,WAAW,CAAC;YACnD,WAAW,EAAE,cAAc;YAC3B,MAAM,EAAE,OAAO,CAAC,MAAM;SACzB,CAAC,CAAA;QAEF,IAAI,SAAS,GAAG,OAAO,CAAC,SAAS;YAC7B,CAAC,CAAC,6BAAQ,CAAC,mBAAmB,CACxB,cAAQ,CAAC,OAAO,CAAC,mBAAmB,CAAC,EACrC,OAAO,CAAC,SAAS,CACpB;YACH,CAAC,CAAC,SAAS,CAAA;QAEf,IAAI,SAAS,EAAE,CAAC;YACZ,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,cAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC,CAAA;QAClE,CAAC;QAED,MAAM,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;YACzC,GAAG,IAAI;YACP,oBAAoB;YACpB,mBAAmB;YACnB,kBAAkB;YAClB,UAAU;YACV,SAAS;YACT,UAAU,EACN,IAAI,CAAC,UAAU,IAAI,OAAO,CAAC,uBAAuB;gBAC9C,CAAC,CAAC,+BAA+B;gBACjC,CAAC,CAAC,SAAS;SACtB,CAAC,CAAA;QAEF,OAAO,IAAI,CAAC,8BAA8B,CACtC,mBAAmB,EACnB,cAAc,EACd,GACI,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,EAC9D,mCACI,IAAI,CAAC,EACT,0CAA0C,CAC7C,CAAA;IACL,CAAC;IAEM,KAAK,CAAC,eAAe,CACxB,cAAsB,EACtB,OAIC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;QACnD,MAAM,WAAW,GAAG,cAAQ,CAAC,IAAI,CAC7B,cAAc,EACd,KAAK,EACL,kBAAkB,CACrB,CAAA;QAED,OAAO,IAAI,CAAC,8BAA8B,CACtC,WAAW,EACX,QAAQ,EACR,wFAAwF,CAC3F,CAAA;IACL,CAAC;IAEM,WAAW,CAAC,GAAW;QAC1B,MAAM,WAAW,GAAG,6BAAQ,CAAC,qBAAqB,CAC9C,GAAG,EACH,UAAU,EACV,kBAAkB,CACrB,CAAA;QAED,MAAM,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,CAAA;QAEpD,MAAM,OAAO,GAAG,IAAI,CAAC,8BAA8B,CAC/C,WAAW,EACX,cAAc,EACd,sCAAsC,CACzC,CAAA;QAED,OAAO,OAAO,CAAA;IAClB,CAAC;CACJ;
|
|
1
|
+
{"version":3,"file":"SchemaWriter.js","sourceRoot":"","sources":["../../../../src/features/schema/writers/SchemaWriter.ts"],"names":[],"mappings":";;;;;AAAA,gDAAuB;AACvB,gDAA2B;AAE3B,uEAA4D;AAC5D,uEAAyD;AACzD,uEAGuC;AAKvC,8EAAqD;AACrD,qFAA8E;AAC9E,yFAA4D;AAE5D,MAAqB,YAAa,SAAQ,wBAAc;IACnC,cAAc,GAIzB;QACF;YACI,QAAQ,EAAE,iBAAiB;YAC3B,gBAAgB,EAAE,aAAa;YAC/B,WAAW,EACP,2FAA2F;SAClG;QACD;YACI,QAAQ,EAAE,kBAAkB;YAC5B,gBAAgB,EAAE,eAAe;YACjC,WAAW,EACP,+FAA+F;SACtG;KACJ,CAAA;IAEM,KAAK,CAAC,YAAY,CACrB,cAAsB,EACtB,OAGC;QAED,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,oBAAoB,CAAC,CAAA;QAE1C,MAAM,QAAQ,GAAG,GAAG,OAAO,CAAC,SAAS,aAAa,CAAA;QAElD,MAAM,0BAA0B,GAC5B,OAAO,CAAC,sBAAsB,KAAK,KAAK;YACpC,CAAC,CAAC,cAAQ,CAAC,OAAO,CAAC,cAAc,EAAE,QAAQ,CAAC;YAC5C,CAAC,CAAC,gCAAW,CAAC,oBAAoB,CAC5B,cAAc,EACd,OAAO,CAAC,OAAO,IAAI,sCAAiB,EACpC,QAAQ,CACX,CAAA;QAEX,IAAI,6BAAQ,CAAC,aAAa,CAAC,0BAA0B,CAAC,EAAE,CAAC;YACrD,MAAM,IAAI,qBAAW,CAAC;gBAClB,IAAI,EAAE,eAAe;gBACrB,QAAQ,EAAE,OAAO,CAAC,SAAS;gBAC3B,WAAW,EAAE,cAAc;aAC9B,CAAC,CAAA;QACN,CAAC;QAED,MAAM,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,OAAO,CAAC,CAAA;QAE5D,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,8BAA8B,CACrD,0BAA0B,EAC1B,cAAc,EACd,6GAA6G,CAChH,CAAA;QAED,OAAO,OAAO,CAAA;IAClB,CAAC;IAEM,KAAK,CAAC,eAAe,CACxB,cAAsB,EACtB,OAA+B;QAE/B,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,gCAAgC,CAAC,CAAA;QAEtD,MAAM,EAAE,kBAAkB,EAAE,GAAG,OAAO,CAAA;QAEtC,IAAI,OAAO,GAAiB,EAAE,CAAA;QAE9B,KAAK,MAAM,WAAW,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YAC5C,MAAM,EAAE,QAAQ,EAAE,gBAAgB,EAAE,WAAW,EAAE,GAAG,WAAW,CAAA;YAE/D,MAAM,mBAAmB,GAAG,cAAI,CAAC,IAAI,CACjC,cAAc,EACd,QAAQ,EACR,QAAQ,CACX,CAAA;YAED,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;gBAC9C,kBAAkB;aACrB,CAAC,CAAA;YAEF,OAAO,GAAG,MAAM,IAAI,CAAC,8BAA8B,CAC/C,mBAAmB,EACnB,QAAQ,EACR,WAAW,EACX,OAAO,CACV,CAAA;QACL,CAAC;QAED,OAAO,OAAO,CAAA;IAClB,CAAC;IAEM,KAAK,CAAC,oBAAoB,CAC7B,wBAAgC,EAChC,OAAmC;QAEnC,MAAM,EACF,kBAAkB,EAClB,mBAAmB,EACnB,UAAU,EACV,aAAa,GAChB,GAAG,OAAO,CAAA;QAEX,IAAI,CAAC,aAAa,GAAG,KAAK,CAAA;QAE1B,MAAM,wBAAwB,GAAG,IAAI,CAAC,2BAA2B,CAC7D,wBAAwB,EACxB,kDAA6B,CAChC,CAAA;QAED,IAAI,OAAO,GAAiB,EAAE,CAAA;QAC9B,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,4BAA4B,CAAC,CAAA;QAElD,MAAM,UAAU,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAA;QAEnE,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,MAAM,mBAAmB,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC;gBACpD,mBAAmB,EAAE,UAAU;gBAC/B,kBAAkB;gBAClB,UAAU;gBACV,qBAAqB,EAAE,OAAO,CAAC,qBAAqB;gBACpD,aAAa;aAChB,CAAC,CAAA;YAEF,OAAO,GAAG,MAAM,IAAI,CAAC,8BAA8B,CAC/C,wBAAwB,EACxB,mBAAmB,EACnB,+FAA+F,CAClG,CAAA;QACL,CAAC;QAED,IAAI,CAAC,EAAE,CAAC,YAAY,CAChB,YAAY,mBAAmB,CAAC,MAAM,yBAAyB,CAClE,CAAA;QAED,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,eAAe,CAC/C,cAAQ,CAAC,OAAO,CAAC,wBAAwB,CAAC,EAC1C;YACI,GAAG,OAAO;YACV,SAAS,EAAE,wBAAwB;SACtC,CACJ,CAAA;QAED,OAAO,CAAC,IAAI,CAAC,GAAG,gBAAgB,CAAC,CAAA;QAEjC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAA;QAEzB,MAAM,IAAI,CAAC,IAAI,CAAC,cAAQ,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC,CAAA;QAE3D,OAAO,OAAO,CAAA;IAClB,CAAC;IAEO,KAAK,CAAC,eAAe,CACzB,cAAsB,EACtB,OAA4D;QAE5D,MAAM,OAAO,GAAiB,EAAE,CAAA;QAEhC,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,mBAAmB,EAAE,CAAC;YAC7C,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE;gBACzD,GAAG,OAAO;gBACV,GAAG,IAAI;aACV,CAAC,CAAA;YACF,OAAO,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,CAAA;QAClC,CAAC;QAED,OAAO,OAAO,CAAA;IAClB,CAAC;IAEM,KAAK,CAAC,WAAW,CACpB,cAAsB,EACtB,OAOsB;QAEtB,MAAM,EACF,mBAAmB,EACnB,kBAAkB,EAClB,UAAU,EACV,oBAAoB,GAAG,IAAI,EAC3B,GAAG,IAAI,EACV,GAAG,OAAO,CAAA;QAEX,MAAM,mBAAmB,GAAG,4BAAc,CAAC,WAAW,CAAC;YACnD,WAAW,EAAE,cAAc;YAC3B,MAAM,EAAE,OAAO,CAAC,MAAM;SACzB,CAAC,CAAA;QAEF,IAAI,SAAS,GAAG,OAAO,CAAC,SAAS;YAC7B,CAAC,CAAC,6BAAQ,CAAC,mBAAmB,CACxB,cAAQ,CAAC,OAAO,CAAC,mBAAmB,CAAC,EACrC,OAAO,CAAC,SAAS,CACpB;YACH,CAAC,CAAC,SAAS,CAAA;QAEf,IAAI,SAAS,EAAE,CAAC;YACZ,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,cAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC,CAAA;QAClE,CAAC;QAED,MAAM,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;YACzC,GAAG,IAAI;YACP,oBAAoB;YACpB,mBAAmB;YACnB,kBAAkB;YAClB,UAAU;YACV,SAAS;YACT,UAAU,EACN,IAAI,CAAC,UAAU,IAAI,OAAO,CAAC,uBAAuB;gBAC9C,CAAC,CAAC,+BAA+B;gBACjC,CAAC,CAAC,SAAS;SACtB,CAAC,CAAA;QAEF,OAAO,IAAI,CAAC,8BAA8B,CACtC,mBAAmB,EACnB,cAAc,EACd,GACI,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,EAC9D,mCACI,IAAI,CAAC,EACT,0CAA0C,CAC7C,CAAA;IACL,CAAC;IAEM,KAAK,CAAC,eAAe,CACxB,cAAsB,EACtB,OAIC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;QACnD,MAAM,WAAW,GAAG,cAAQ,CAAC,IAAI,CAC7B,cAAc,EACd,KAAK,EACL,kBAAkB,CACrB,CAAA;QAED,OAAO,IAAI,CAAC,8BAA8B,CACtC,WAAW,EACX,QAAQ,EACR,wFAAwF,CAC3F,CAAA;IACL,CAAC;IAEM,WAAW,CAAC,GAAW;QAC1B,MAAM,WAAW,GAAG,6BAAQ,CAAC,qBAAqB,CAC9C,GAAG,EACH,UAAU,EACV,kBAAkB,CACrB,CAAA;QAED,MAAM,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,CAAA;QAEpD,MAAM,OAAO,GAAG,IAAI,CAAC,8BAA8B,CAC/C,WAAW,EACX,cAAc,EACd,sCAAsC,CACzC,CAAA;QAED,OAAO,OAAO,CAAA;IAClB,CAAC;CACJ;AA5QD,+BA4QC"}
|
|
@@ -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.
|
|
30
|
-
|
|
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":";;;;;AAAA,4CAAmB;AACnB,gDAA2B;AAC3B,uEAA0E;AAE1E,4CAIqB;AAKrB,MAA8B,cAAc;IAC9B,SAAS,CAAW;IACpB,EAAE,CAAmB;IACvB,MAAM,CAAc;IACpB,WAAW,CAAa;IACxB,gBAAgB,GAAsB,EAAE,CAAA;IACxC,0BAA0B,GAAG,IAAI,CAAA;IACjC,qBAAqB,CAAS;IAC9B,yBAAyB,GAAG,KAAK,CAAA;IACjC,QAAQ,CAAyB;
|
|
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.
|
|
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.
|
|
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": "
|
|
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.
|
|
36
|
-
|
|
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(
|