@sprucelabs/spruce-cli 21.0.1 → 21.0.2

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 (33) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/build/__tests__/behavioral/lint/LintService.test.d.ts +17 -0
  3. package/build/__tests__/behavioral/lint/LintService.test.js +110 -0
  4. package/build/__tests__/behavioral/lint/LintService.test.js.map +1 -0
  5. package/build/__tests__/behavioral/lint/MockLintService.d.ts +5 -0
  6. package/build/__tests__/behavioral/lint/MockLintService.js +15 -0
  7. package/build/__tests__/behavioral/lint/MockLintService.js.map +1 -0
  8. package/build/__tests__/behavioral/lint/SyncingEventsLintsOnce.test.d.ts +9 -0
  9. package/build/__tests__/behavioral/lint/SyncingEventsLintsOnce.test.js +84 -0
  10. package/build/__tests__/behavioral/lint/SyncingEventsLintsOnce.test.js.map +1 -0
  11. package/build/__tests__/behavioral/{schemas → lint}/SyncingSchemasLintsOnce.test.js +6 -15
  12. package/build/__tests__/behavioral/lint/SyncingSchemasLintsOnce.test.js.map +1 -0
  13. package/build/features/event/writers/EventWriter.js +3 -0
  14. package/build/features/event/writers/EventWriter.js.map +1 -1
  15. package/build/features/schema/writers/SchemaWriter.js +1 -1
  16. package/build/features/schema/writers/SchemaWriter.js.map +1 -1
  17. package/build/services/LintService.d.ts +1 -0
  18. package/build/services/LintService.js +8 -2
  19. package/build/services/LintService.js.map +1 -1
  20. package/package.json +3 -3
  21. package/src/__tests__/behavioral/lint/LintService.test.ts +114 -0
  22. package/src/__tests__/behavioral/lint/MockLintService.ts +13 -0
  23. package/src/__tests__/behavioral/lint/SyncingEventsLintsOnce.test.ts +79 -0
  24. package/src/__tests__/behavioral/{schemas → lint}/SyncingSchemasLintsOnce.test.ts +3 -17
  25. package/src/features/event/writers/EventWriter.ts +6 -0
  26. package/src/features/schema/writers/SchemaWriter.ts +1 -1
  27. package/src/services/LintService.ts +10 -2
  28. package/build/__tests__/behavioral/schemas/SyncingSchemasLintsOnce.test.js.map +0 -1
  29. package/build/__tests__/implementation/LintService.test.d.ts +0 -5
  30. package/build/__tests__/implementation/LintService.test.js +0 -43
  31. package/build/__tests__/implementation/LintService.test.js.map +0 -1
  32. package/src/__tests__/implementation/LintService.test.ts +0 -34
  33. /package/build/__tests__/behavioral/{schemas → lint}/SyncingSchemasLintsOnce.test.d.ts +0 -0
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.2](https://github.com/sprucelabsai-community/spruce-cli-workspace/compare/v21.0.1...v21.0.2) (2024-04-23)
7
+
8
+ **Note:** Version bump only for package @sprucelabs/spruce-cli
9
+
10
+
11
+
12
+
13
+
6
14
  ## [21.0.1](https://github.com/sprucelabsai-community/spruce-cli-workspace/compare/v21.0.0...v21.0.1) (2024-04-22)
7
15
 
8
16
  **Note:** Version bump only for package @sprucelabs/spruce-cli
@@ -0,0 +1,17 @@
1
+ import AbstractCliTest from '../../../tests/AbstractCliTest';
2
+ export default class LintServiceTest extends AbstractCliTest {
3
+ private static wasFixInvoked;
4
+ protected static beforeEach(): Promise<void>;
5
+ protected static throwsWhenLintReturnsMessage(): Promise<void>;
6
+ protected static worksWhenNoMessagesReturned(): Promise<void>;
7
+ protected static defaultIgnore(): Promise<void>;
8
+ protected static willIgnoreFirstItemInIgnoreList(): Promise<void>;
9
+ protected static willIgnoreSecondItemInIgnoreList(): Promise<void>;
10
+ protected static ignoresPartialMatch(): Promise<void>;
11
+ protected static partialMatchesOtherWay(): Promise<void>;
12
+ private static fixAndAssertNotFixed;
13
+ private static assertWasFixed;
14
+ private static assertWasNotFixed;
15
+ private static setIgnorePatterns;
16
+ private static fix;
17
+ }
@@ -0,0 +1,110 @@
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 CommandService_1 = __importDefault(require("../../../services/CommandService"));
14
+ const LintService_1 = __importDefault(require("../../../services/LintService"));
15
+ const AbstractCliTest_1 = __importDefault(require("../../../tests/AbstractCliTest"));
16
+ class LintServiceTest extends AbstractCliTest_1.default {
17
+ static wasFixInvoked = false;
18
+ static async beforeEach() {
19
+ await super.beforeEach();
20
+ LintService_1.default.enableLinting();
21
+ this.wasFixInvoked = false;
22
+ this.commandFaker.on(/node/, () => {
23
+ this.wasFixInvoked = true;
24
+ });
25
+ }
26
+ static async throwsWhenLintReturnsMessage() {
27
+ await this.FeatureFixture().installCachedFeatures('skills');
28
+ CommandService_1.default.fakeCommand(/node/, {
29
+ code: 0,
30
+ stdout: `[{"filePath":"/Users/taylorromero/Development/SpruceLabs/spruce-appointments-skill/src/.spruce/stores/stores.types.ts","messages":[{"fatal":false,"severity":1,"message":"File ignored by default. Use a negated ignore pattern (like \\"--ignore-pattern '!<relative/path/to/filename>'\\") to override."}],"errorCount":1,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]}]\n`,
31
+ });
32
+ await test_utils_1.assert.doesThrowAsync(() => this.Service('lint').fix('./go'));
33
+ }
34
+ static async worksWhenNoMessagesReturned() {
35
+ await this.FeatureFixture().installCachedFeatures('skills');
36
+ CommandService_1.default.fakeCommand(/node/, {
37
+ code: 0,
38
+ stdout: `[{"filePath":"/Users/taylorromero/Development/SpruceLabs/spruce-appointments-skill/src/.spruce/stores/stores.types.ts","messages":[{"fatal":false,"severity":1,"message":"File ignored by default. Use a negated ignore pattern (like \\"--ignore-pattern '!<relative/path/to/filename>'\\") to override."}],"errorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]}]\n`,
39
+ });
40
+ await this.fix('./go');
41
+ }
42
+ static async defaultIgnore() {
43
+ test_utils_1.assert.isEqualDeep(LintService_1.default.ignorePatterns, [
44
+ 'valueType.tmp',
45
+ '.md',
46
+ '.js',
47
+ '.gitignore',
48
+ ]);
49
+ }
50
+ static async willIgnoreFirstItemInIgnoreList() {
51
+ const pattern = (0, test_utils_1.generateId)();
52
+ this.setIgnorePatterns([pattern]);
53
+ await this.fixAndAssertNotFixed(pattern);
54
+ await this.fix('whatever.ts');
55
+ this.assertWasFixed();
56
+ }
57
+ static async willIgnoreSecondItemInIgnoreList() {
58
+ const pattern = (0, test_utils_1.generateId)();
59
+ this.setIgnorePatterns(['whatever.ts', pattern]);
60
+ await this.fixAndAssertNotFixed(pattern);
61
+ }
62
+ static async ignoresPartialMatch() {
63
+ const pattern = (0, test_utils_1.generateId)();
64
+ this.setIgnorePatterns([pattern + '/whatever.ts']);
65
+ await this.fixAndAssertNotFixed('whatever.ts');
66
+ }
67
+ static async partialMatchesOtherWay() {
68
+ this.setIgnorePatterns(['valueType.tmp']);
69
+ await this.fixAndAssertNotFixed(this.resolvePath('valueType.tmp'));
70
+ }
71
+ static async fixAndAssertNotFixed(pattern) {
72
+ await this.fix(pattern);
73
+ this.assertWasNotFixed();
74
+ }
75
+ static assertWasFixed() {
76
+ test_utils_1.assert.isTrue(this.wasFixInvoked, 'Fix was not invoked when it should have been.');
77
+ }
78
+ static assertWasNotFixed() {
79
+ test_utils_1.assert.isFalse(this.wasFixInvoked, `Fix was invoked when it should not have been.`);
80
+ }
81
+ static setIgnorePatterns(patterns) {
82
+ LintService_1.default.ignorePatterns = patterns;
83
+ }
84
+ static async fix(pattern) {
85
+ await this.Service('lint').fix(pattern);
86
+ }
87
+ }
88
+ exports.default = LintServiceTest;
89
+ __decorate([
90
+ test_utils_1.test.skip('new way of linting never seems to throw')
91
+ ], LintServiceTest, "throwsWhenLintReturnsMessage", null);
92
+ __decorate([
93
+ (0, test_utils_1.test)()
94
+ ], LintServiceTest, "worksWhenNoMessagesReturned", null);
95
+ __decorate([
96
+ (0, test_utils_1.test)()
97
+ ], LintServiceTest, "defaultIgnore", null);
98
+ __decorate([
99
+ (0, test_utils_1.test)()
100
+ ], LintServiceTest, "willIgnoreFirstItemInIgnoreList", null);
101
+ __decorate([
102
+ (0, test_utils_1.test)()
103
+ ], LintServiceTest, "willIgnoreSecondItemInIgnoreList", null);
104
+ __decorate([
105
+ (0, test_utils_1.test)()
106
+ ], LintServiceTest, "ignoresPartialMatch", null);
107
+ __decorate([
108
+ (0, test_utils_1.test)()
109
+ ], LintServiceTest, "partialMatchesOtherWay", null);
110
+ //# sourceMappingURL=LintService.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LintService.test.js","sourceRoot":"","sources":["../../../../src/__tests__/behavioral/lint/LintService.test.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,uDAAiE;AACjE,sFAA6D;AAC7D,gFAAuD;AACvD,qFAA4D;AAE5D,MAAqB,eAAgB,SAAQ,yBAAe;IAChD,MAAM,CAAC,aAAa,GAAG,KAAK,CAAA;IAC1B,MAAM,CAAC,KAAK,CAAC,UAAU;QAC7B,MAAM,KAAK,CAAC,UAAU,EAAE,CAAA;QACxB,qBAAW,CAAC,aAAa,EAAE,CAAA;QAE3B,IAAI,CAAC,aAAa,GAAG,KAAK,CAAA;QAC1B,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE;YAC9B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAA;QAC7B,CAAC,CAAC,CAAA;IACN,CAAC;IAGsB,AAAb,MAAM,CAAC,KAAK,CAAC,4BAA4B;QAC/C,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAA;QAE3D,wBAAc,CAAC,WAAW,CAAC,MAAM,EAAE;YAC/B,IAAI,EAAE,CAAC;YACP,MAAM,EAAE,0ZAA0Z;SACra,CAAC,CAAA;QAEF,MAAM,mBAAM,CAAC,cAAc,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAA;IACvE,CAAC;IAGsB,AAAb,MAAM,CAAC,KAAK,CAAC,2BAA2B;QAC9C,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAA;QAE3D,wBAAc,CAAC,WAAW,CAAC,MAAM,EAAE;YAC/B,IAAI,EAAE,CAAC;YACP,MAAM,EAAE,0ZAA0Z;SACra,CAAC,CAAA;QAEF,MAAM,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;IAC1B,CAAC;IAGsB,AAAb,MAAM,CAAC,KAAK,CAAC,aAAa;QAChC,mBAAM,CAAC,WAAW,CAAC,qBAAW,CAAC,cAAc,EAAE;YAC3C,eAAe;YACf,KAAK;YACL,KAAK;YACL,YAAY;SACf,CAAC,CAAA;IACN,CAAC;IAGsB,AAAb,MAAM,CAAC,KAAK,CAAC,+BAA+B;QAClD,MAAM,OAAO,GAAG,IAAA,uBAAU,GAAE,CAAA;QAE5B,IAAI,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAA;QAEjC,MAAM,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAA;QACxC,MAAM,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,CAAA;QAE7B,IAAI,CAAC,cAAc,EAAE,CAAA;IACzB,CAAC;IAGsB,AAAb,MAAM,CAAC,KAAK,CAAC,gCAAgC;QACnD,MAAM,OAAO,GAAG,IAAA,uBAAU,GAAE,CAAA;QAE5B,IAAI,CAAC,iBAAiB,CAAC,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC,CAAA;QAEhD,MAAM,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAA;IAC5C,CAAC;IAGsB,AAAb,MAAM,CAAC,KAAK,CAAC,mBAAmB;QACtC,MAAM,OAAO,GAAG,IAAA,uBAAU,GAAE,CAAA;QAE5B,IAAI,CAAC,iBAAiB,CAAC,CAAC,OAAO,GAAG,cAAc,CAAC,CAAC,CAAA;QAElD,MAAM,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,CAAA;IAClD,CAAC;IAGsB,AAAb,MAAM,CAAC,KAAK,CAAC,sBAAsB;QACzC,IAAI,CAAC,iBAAiB,CAAC,CAAC,eAAe,CAAC,CAAC,CAAA;QACzC,MAAM,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC,CAAA;IACtE,CAAC;IAEO,MAAM,CAAC,KAAK,CAAC,oBAAoB,CAAC,OAAe;QACrD,MAAM,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;QACvB,IAAI,CAAC,iBAAiB,EAAE,CAAA;IAC5B,CAAC;IAEO,MAAM,CAAC,cAAc;QACzB,mBAAM,CAAC,MAAM,CACT,IAAI,CAAC,aAAa,EAClB,+CAA+C,CAClD,CAAA;IACL,CAAC;IAEO,MAAM,CAAC,iBAAiB;QAC5B,mBAAM,CAAC,OAAO,CACV,IAAI,CAAC,aAAa,EAClB,+CAA+C,CAClD,CAAA;IACL,CAAC;IAEO,MAAM,CAAC,iBAAiB,CAAC,QAAkB;QAC/C,qBAAW,CAAC,cAAc,GAAG,QAAQ,CAAA;IACzC,CAAC;IAEO,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,OAAe;QACpC,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;IAC3C,CAAC;;AA3GL,kCA4GC;AA/F0B;IADtB,iBAAI,CAAC,IAAI,CAAC,yCAAyC,CAAC;yDAUpD;AAGsB;IADtB,IAAA,iBAAI,GAAE;wDAUN;AAGsB;IADtB,IAAA,iBAAI,GAAE;0CAQN;AAGsB;IADtB,IAAA,iBAAI,GAAE;4DAUN;AAGsB;IADtB,IAAA,iBAAI,GAAE;6DAON;AAGsB;IADtB,IAAA,iBAAI,GAAE;gDAON;AAGsB;IADtB,IAAA,iBAAI,GAAE;mDAIN"}
@@ -0,0 +1,5 @@
1
+ export default class MockLintService {
2
+ private static patterns;
3
+ fix(pattern: string): Promise<void>;
4
+ static assertPatterns(patterns: string[]): void;
5
+ }
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const test_utils_1 = require("@sprucelabs/test-utils");
4
+ class MockLintService {
5
+ static patterns = [];
6
+ async fix(pattern) {
7
+ MockLintService.patterns.push(pattern);
8
+ return;
9
+ }
10
+ static assertPatterns(patterns) {
11
+ test_utils_1.assert.isEqualDeep(this.patterns, patterns, `Patterns did not match`);
12
+ }
13
+ }
14
+ exports.default = MockLintService;
15
+ //# sourceMappingURL=MockLintService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MockLintService.js","sourceRoot":"","sources":["../../../../src/__tests__/behavioral/lint/MockLintService.ts"],"names":[],"mappings":";;AAAA,uDAA+C;AAE/C,MAAqB,eAAe;IACxB,MAAM,CAAC,QAAQ,GAAa,EAAE,CAAA;IAC/B,KAAK,CAAC,GAAG,CAAC,OAAe;QAC5B,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QACtC,OAAM;IACV,CAAC;IAEM,MAAM,CAAC,cAAc,CAAC,QAAkB;QAC3C,mBAAM,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,wBAAwB,CAAC,CAAA;IACzE,CAAC;;AATL,kCAUC"}
@@ -0,0 +1,9 @@
1
+ import AbstractCliTest from '../../../tests/AbstractCliTest';
2
+ export default class SyncingEventsLintsOnceTest extends AbstractCliTest {
3
+ private static writer;
4
+ private static destinationDir;
5
+ protected static beforeEach(): Promise<void>;
6
+ protected static writingContractsLintsOnce(): Promise<void>;
7
+ protected static lintsAfterAllFilesAreWritten(): Promise<void>;
8
+ private static writeContracts;
9
+ }
@@ -0,0 +1,84 @@
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
+ const MockLintService_1 = __importDefault(require("./MockLintService"));
16
+ class SyncingEventsLintsOnceTest extends AbstractCliTest_1.default {
17
+ static writer;
18
+ static destinationDir;
19
+ static async beforeEach() {
20
+ await super.beforeEach();
21
+ ServiceFactory_1.default.setServiceClass('lint', MockLintService_1.default);
22
+ this.writer = this.writers.Writer('event', {
23
+ fileDescriptions: [],
24
+ linter: new MockLintService_1.default(),
25
+ });
26
+ this.destinationDir = this.resolvePath('/tmp', (0, test_utils_1.generateId)());
27
+ }
28
+ static async writingContractsLintsOnce() {
29
+ await this.writeContracts();
30
+ MockLintService_1.default.assertPatterns([this.destinationDir]);
31
+ }
32
+ static async lintsAfterAllFilesAreWritten() {
33
+ const calls = [];
34
+ //@ts-ignore
35
+ this.writer.writeContract = async () => {
36
+ calls.push('writeContract');
37
+ return [];
38
+ };
39
+ //@ts-ignore
40
+ this.writer.writeCombinedEvents = async () => {
41
+ calls.push('writeCombinedEvents');
42
+ return [];
43
+ };
44
+ //@ts-ignore
45
+ this.writer.lint = async () => {
46
+ calls.push('lint');
47
+ };
48
+ await this.writeContracts();
49
+ test_utils_1.assert.isEqualDeep(calls, [
50
+ 'writeContract',
51
+ 'writeCombinedEvents',
52
+ 'lint',
53
+ ]);
54
+ }
55
+ static async writeContracts() {
56
+ await this.writer.writeContracts(this.destinationDir, {
57
+ schemaTemplateItems: [],
58
+ skillEventContractTypesFile: (0, test_utils_1.generateId)(),
59
+ eventBuilderFile: (0, test_utils_1.generateId)(),
60
+ eventContractTemplateItems: [
61
+ {
62
+ eventSignatures: {},
63
+ id: (0, test_utils_1.generateId)(),
64
+ imports: [],
65
+ isLocal: true,
66
+ nameCamel: (0, test_utils_1.generateId)(),
67
+ namespace: (0, test_utils_1.generateId)(),
68
+ namePascal: (0, test_utils_1.generateId)(),
69
+ namespaceCamel: (0, test_utils_1.generateId)(),
70
+ namespacePascal: (0, test_utils_1.generateId)(),
71
+ version: 'v2020_01_01',
72
+ },
73
+ ],
74
+ });
75
+ }
76
+ }
77
+ exports.default = SyncingEventsLintsOnceTest;
78
+ __decorate([
79
+ (0, test_utils_1.test)()
80
+ ], SyncingEventsLintsOnceTest, "writingContractsLintsOnce", null);
81
+ __decorate([
82
+ (0, test_utils_1.test)()
83
+ ], SyncingEventsLintsOnceTest, "lintsAfterAllFilesAreWritten", null);
84
+ //# sourceMappingURL=SyncingEventsLintsOnce.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SyncingEventsLintsOnce.test.js","sourceRoot":"","sources":["../../../../src/__tests__/behavioral/lint/SyncingEventsLintsOnce.test.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,uDAAiE;AAEjE,sFAA6D;AAC7D,qFAA4D;AAC5D,wEAA+C;AAE/C,MAAqB,0BAA2B,SAAQ,yBAAe;IAC3D,MAAM,CAAC,MAAM,CAAa;IAC1B,MAAM,CAAC,cAAc,CAAQ;IAE3B,MAAM,CAAC,KAAK,CAAC,UAAU;QAC7B,MAAM,KAAK,CAAC,UAAU,EAAE,CAAA;QACxB,wBAAc,CAAC,eAAe,CAAC,MAAM,EAAE,yBAAe,CAAC,CAAA;QACvD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE;YACvC,gBAAgB,EAAE,EAAE;YACpB,MAAM,EAAE,IAAI,yBAAe,EAAS;SACvC,CAAC,CAAA;QAEF,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,IAAA,uBAAU,GAAE,CAAC,CAAA;IAChE,CAAC;IAGsB,AAAb,MAAM,CAAC,KAAK,CAAC,yBAAyB;QAC5C,MAAM,IAAI,CAAC,cAAc,EAAE,CAAA;QAC3B,yBAAe,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAA;IACzD,CAAC;IAGsB,AAAb,MAAM,CAAC,KAAK,CAAC,4BAA4B;QAC/C,MAAM,KAAK,GAAa,EAAE,CAAA;QAE1B,YAAY;QACZ,IAAI,CAAC,MAAM,CAAC,aAAa,GAAG,KAAK,IAAI,EAAE;YACnC,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;YAC3B,OAAO,EAAE,CAAA;QACb,CAAC,CAAA;QAED,YAAY;QACZ,IAAI,CAAC,MAAM,CAAC,mBAAmB,GAAG,KAAK,IAAI,EAAE;YACzC,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAA;YACjC,OAAO,EAAE,CAAA;QACb,CAAC,CAAA;QAED,YAAY;QACZ,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,KAAK,IAAI,EAAE;YAC1B,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QACtB,CAAC,CAAA;QAED,MAAM,IAAI,CAAC,cAAc,EAAE,CAAA;QAE3B,mBAAM,CAAC,WAAW,CAAC,KAAK,EAAE;YACtB,eAAe;YACf,qBAAqB;YACrB,MAAM;SACT,CAAC,CAAA;IACN,CAAC;IAEO,MAAM,CAAC,KAAK,CAAC,cAAc;QAC/B,MAAM,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,cAAc,EAAE;YAClD,mBAAmB,EAAE,EAAE;YACvB,2BAA2B,EAAE,IAAA,uBAAU,GAAE;YACzC,gBAAgB,EAAE,IAAA,uBAAU,GAAE;YAC9B,0BAA0B,EAAE;gBACxB;oBACI,eAAe,EAAE,EAAE;oBACnB,EAAE,EAAE,IAAA,uBAAU,GAAE;oBAChB,OAAO,EAAE,EAAE;oBACX,OAAO,EAAE,IAAI;oBACb,SAAS,EAAE,IAAA,uBAAU,GAAE;oBACvB,SAAS,EAAE,IAAA,uBAAU,GAAE;oBACvB,UAAU,EAAE,IAAA,uBAAU,GAAE;oBACxB,cAAc,EAAE,IAAA,uBAAU,GAAE;oBAC5B,eAAe,EAAE,IAAA,uBAAU,GAAE;oBAC7B,OAAO,EAAE,aAAa;iBACzB;aACJ;SACJ,CAAC,CAAA;IACN,CAAC;CACJ;AAxED,6CAwEC;AAxD0B;IADtB,IAAA,iBAAI,GAAE;iEAIN;AAGsB;IADtB,IAAA,iBAAI,GAAE;oEA4BN"}
@@ -12,6 +12,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
12
12
  const test_utils_1 = require("@sprucelabs/test-utils");
13
13
  const ServiceFactory_1 = __importDefault(require("../../../services/ServiceFactory"));
14
14
  const AbstractCliTest_1 = __importDefault(require("../../../tests/AbstractCliTest"));
15
+ const MockLintService_1 = __importDefault(require("./MockLintService"));
15
16
  class SyncingSchemasLintsOnceTest extends AbstractCliTest_1.default {
16
17
  static writer;
17
18
  static destinationPath;
@@ -19,16 +20,16 @@ class SyncingSchemasLintsOnceTest extends AbstractCliTest_1.default {
19
20
  static async beforeEach() {
20
21
  await super.beforeEach();
21
22
  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);
23
+ this.filepath = this.destinationPath;
24
+ ServiceFactory_1.default.setServiceClass('lint', MockLintService_1.default);
24
25
  this.writer = this.writers.Writer('schema', {
25
26
  fileDescriptions: [],
26
- linter: new MockLintService(),
27
+ linter: new MockLintService_1.default(),
27
28
  });
28
29
  }
29
30
  static async onlyLintsOnceWhenWritingLocalSchemas() {
30
31
  await this.writeSchemasAndTypes();
31
- MockLintService.assertPatterns([this.destinationPath]);
32
+ MockLintService_1.default.assertPatterns([this.destinationPath]);
32
33
  }
33
34
  static async lintsAfterAllFilesAreWritten() {
34
35
  const calls = [];
@@ -73,19 +74,9 @@ class SyncingSchemasLintsOnceTest extends AbstractCliTest_1.default {
73
74
  }
74
75
  exports.default = SyncingSchemasLintsOnceTest;
75
76
  __decorate([
76
- (0, test_utils_1.test)()
77
+ test_utils_1.test.only()
77
78
  ], SyncingSchemasLintsOnceTest, "onlyLintsOnceWhenWritingLocalSchemas", null);
78
79
  __decorate([
79
80
  (0, test_utils_1.test)()
80
81
  ], 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
82
  //# sourceMappingURL=SyncingSchemasLintsOnce.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SyncingSchemasLintsOnce.test.js","sourceRoot":"","sources":["../../../../src/__tests__/behavioral/lint/SyncingSchemasLintsOnce.test.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,uDAAiE;AAEjE,sFAA6D;AAC7D,qFAA4D;AAC5D,wEAA+C;AAE/C,MAAqB,2BAA4B,SAAQ,yBAAe;IAC5D,MAAM,CAAC,MAAM,CAAc;IAC3B,MAAM,CAAC,eAAe,CAAQ;IAC9B,MAAM,CAAC,QAAQ,CAAQ;IAErB,MAAM,CAAC,KAAK,CAAC,UAAU;QAC7B,MAAM,KAAK,CAAC,UAAU,EAAE,CAAA;QACxB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,IAAA,uBAAU,GAAE,CAAC,CAAA;QAC7D,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAA;QAEpC,wBAAc,CAAC,eAAe,CAAC,MAAM,EAAE,yBAAe,CAAC,CAAA;QACvD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE;YACxC,gBAAgB,EAAE,EAAE;YACpB,MAAM,EAAE,IAAI,yBAAe,EAAS;SACvC,CAAC,CAAA;IACN,CAAC;IAGsB,AAAb,MAAM,CAAC,KAAK,CAAC,oCAAoC;QACvD,MAAM,IAAI,CAAC,oBAAoB,EAAE,CAAA;QACjC,yBAAe,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAA;IAC1D,CAAC;IAGsB,AAAb,MAAM,CAAC,KAAK,CAAC,4BAA4B;QAC/C,MAAM,KAAK,GAAa,EAAE,CAAA;QAE1B,YAAY;QACZ,IAAI,CAAC,MAAM,CAAC,8BAA8B,GAAG,KAAK,IAAI,EAAE;YACpD,KAAK,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAA;YAC5C,OAAO,EAAE,CAAA;QACb,CAAC,CAAA;QAED,YAAY;QACZ,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,KAAK,IAAI,EAAE;YAC1B,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QACtB,CAAC,CAAA;QAED,MAAM,IAAI,CAAC,oBAAoB,EAAE,CAAA;QAEjC,mBAAM,CAAC,WAAW,CAAC,KAAK,EAAE;YACtB,gCAAgC;YAChC,gCAAgC;YAChC,MAAM;SACT,CAAC,CAAA;IACN,CAAC;IAEO,MAAM,CAAC,KAAK,CAAC,oBAAoB;QACrC,MAAM,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC,IAAI,CAAC,QAAQ,EAAE;YAClD,kBAAkB,EAAE,EAAE;YACtB,mBAAmB,EAAE;gBACjB;oBACI,cAAc,EAAE,IAAA,uBAAU,GAAE;oBAC5B,EAAE,EAAE,IAAA,uBAAU,GAAE;oBAChB,SAAS,EAAE,IAAA,uBAAU,GAAE;oBACvB,UAAU,EAAE,IAAA,uBAAU,GAAE;oBACxB,YAAY,EAAE,IAAA,uBAAU,GAAE;oBAC1B,SAAS,EAAE,IAAA,uBAAU,GAAE;oBACvB,MAAM,EAAE;wBACJ,EAAE,EAAE,IAAA,uBAAU,GAAE;wBAChB,SAAS,EAAE,IAAA,uBAAU,GAAE;wBACvB,MAAM,EAAE,EAAE;qBACb;iBACJ;aACJ;YACD,uBAAuB,EAAE,KAAK;YAC9B,UAAU,EAAE,EAAE;SACjB,CAAC,CAAA;IACN,CAAC;CACJ;AArED,8CAqEC;AAnD0B;IADtB,iBAAI,CAAC,IAAI,EAAE;6EAIX;AAGsB;IADtB,IAAA,iBAAI,GAAE;qEAsBN"}
@@ -11,6 +11,7 @@ const AbstractWriter_1 = __importDefault(require("../../../writers/AbstractWrite
11
11
  const CONTRACT_FILE_NAME = `events.contract.ts`;
12
12
  class EventWriter extends AbstractWriter_1.default {
13
13
  async writeContracts(destinationDir, options) {
14
+ this.isLintEnabled = false;
14
15
  const { eventContractTemplateItems, shouldImportCoreEvents = true } = options;
15
16
  const generated = [];
16
17
  for (const item of eventContractTemplateItems) {
@@ -27,6 +28,8 @@ class EventWriter extends AbstractWriter_1.default {
27
28
  templateItems: eventContractTemplateItems,
28
29
  }));
29
30
  const all = await Promise.all(generated);
31
+ this.isLintEnabled = true;
32
+ await this.lint(destinationDir);
30
33
  return all;
31
34
  }
32
35
  async writeContract(options) {
@@ -1 +1 @@
1
- {"version":3,"file":"EventWriter.js","sourceRoot":"","sources":["../../../../src/features/event/writers/EventWriter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EventWriter.js","sourceRoot":"","sources":["../../../../src/features/event/writers/EventWriter.ts"],"names":[],"mappings":"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"}
@@ -79,7 +79,7 @@ class SchemaWriter extends AbstractWriter_1.default {
79
79
  });
80
80
  results.push(...allSchemaResults);
81
81
  this.isLintEnabled = true;
82
- await this.lint(path_2.default.dirname(destinationDirOrFilename));
82
+ await this.lint(destinationDirOrFilename);
83
83
  return results;
84
84
  }
85
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,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"}
1
+ {"version":3,"file":"SchemaWriter.js","sourceRoot":"","sources":["../../../../src/features/schema/writers/SchemaWriter.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ import CommandService from './CommandService';
2
2
  export default class LintService {
3
3
  cwd: string;
4
4
  private getCommand;
5
+ static ignorePatterns: string[];
5
6
  private static isLintingEnabled;
6
7
  static disableLinting(): void;
7
8
  static enableLinting(): void;
@@ -10,6 +10,12 @@ const SpruceError_1 = __importDefault(require("../errors/SpruceError"));
10
10
  class LintService {
11
11
  cwd;
12
12
  getCommand;
13
+ static ignorePatterns = [
14
+ 'valueType.tmp',
15
+ '.md',
16
+ '.js',
17
+ '.gitignore',
18
+ ];
13
19
  static isLintingEnabled = true;
14
20
  static disableLinting() {
15
21
  this.isLintingEnabled = false;
@@ -29,7 +35,7 @@ class LintService {
29
35
  });
30
36
  }
31
37
  if (!LintService.isLintingEnabled ||
32
- pattern.includes('valueType.tmp')) {
38
+ !!LintService.ignorePatterns.find((p) => p.includes(pattern) || pattern.includes(p))) {
33
39
  return [];
34
40
  }
35
41
  // let fixedFiles: any = {}
@@ -37,7 +43,7 @@ class LintService {
37
43
  try {
38
44
  // const cli = new ESLint({ fix: true, cwd: this.cwd, cache: true })
39
45
  // fixedFiles = await cli.lintFiles([pattern])
40
- const script = `"(async function lint() { const { ESLint } = require('eslint'); const cli = new ESLint({ fix: true, cwd: '${this.cwd}' }); const result = await cli.lintFiles(['${pattern}']); ESLint.outputFixes(result); })()"`;
46
+ const script = `"(async function lint() { const { ESLint } = require('eslint'); const cli = new ESLint({ fix: true, cwd: '${this.cwd}', cache: true }); const result = await cli.lintFiles(['${pattern}']); ESLint.outputFixes(result); })()"`;
41
47
  await this.getCommand().execute('node', {
42
48
  args: ['-e', script],
43
49
  });
@@ -1 +1 @@
1
- {"version":3,"file":"LintService.js","sourceRoot":"","sources":["../../src/services/LintService.ts"],"names":[],"mappings":";;;;;AAAA,+CAAgD;AAChD,kCAAkC;AAClC,4BAA4B;AAC5B,wEAA+C;AAG/C,MAAqB,WAAW;IACrB,GAAG,CAAQ;IACV,UAAU,CAAsB;IAEhC,MAAM,CAAC,gBAAgB,GAAG,IAAI,CAAA;IAE/B,MAAM,CAAC,cAAc;QACxB,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAA;IACjC,CAAC;IAEM,MAAM,CAAC,aAAa;QACvB,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAA;IAChC,CAAC;IAED,YACI,GAAW,EACX,qBAA2C;QAE3C,IAAI,CAAC,GAAG,GAAG,GAAG,CAAA;QACd,IAAI,CAAC,UAAU,GAAG,qBAAqB,CAAA;IAC3C,CAAC;IAEM,GAAG,GAAG,KAAK,EAAE,OAAe,EAAqB,EAAE;QACtD,IAAI,CAAC,OAAO,EAAE,CAAC;YACX,MAAM,IAAI,oBAAW,CAAC;gBAClB,IAAI,EAAE,oBAAoB;gBAC1B,UAAU,EAAE,CAAC,SAAS,CAAC;aAC1B,CAAC,CAAA;QACN,CAAC;QAED,IACI,CAAC,WAAW,CAAC,gBAAgB;YAC7B,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,EACnC,CAAC;YACC,OAAO,EAAE,CAAA;QACb,CAAC;QAED,2BAA2B;QAC3B,MAAM,UAAU,GAAa,EAAE,CAAA;QAE/B,IAAI,CAAC;YACD,oEAAoE;YACpE,8CAA8C;YAC9C,MAAM,MAAM,GAAG,6GAA6G,IAAI,CAAC,GAAG,8CAA8C,OAAO,wCAAwC,CAAA;YAEjO,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE;gBACpC,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC;aACvB,CAAC,CAAA;YAEF,qBAAqB;QACzB,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAChB,MAAM,IAAI,qBAAW,CAAC;gBAClB,IAAI,EAAE,aAAa;gBACnB,OAAO;gBACP,aAAa,EAAE,GAAG;aACrB,CAAC,CAAA;QACN,CAAC;QAED,oBAAoB;QACpB,4CAA4C;QAC5C,mCAAmC;QACnC,uEAAuE;QACvE,kDAAkD;QAClD,yEAAyE;QACzE,sCAAsC;QACtC,uCAAuC;QACvC,2BAA2B;QAC3B,wDAAwD;QACxD,yCAAyC;QACzC,8CAA8C;QAC9C,mDAAmD;QACnD,qCAAqC;QACrC,iBAAiB;QACjB,YAAY;QACZ,QAAQ;QACR,IAAI;QAEJ,OAAO,UAAU,CAAA;IACrB,CAAC,CAAA;;AA9EL,8BA+EC"}
1
+ {"version":3,"file":"LintService.js","sourceRoot":"","sources":["../../src/services/LintService.ts"],"names":[],"mappings":";;;;;AAAA,+CAAgD;AAChD,kCAAkC;AAClC,4BAA4B;AAC5B,wEAA+C;AAG/C,MAAqB,WAAW;IACrB,GAAG,CAAQ;IACV,UAAU,CAAsB;IACjC,MAAM,CAAC,cAAc,GAAa;QACrC,eAAe;QACf,KAAK;QACL,KAAK;QACL,YAAY;KACf,CAAA;IAEO,MAAM,CAAC,gBAAgB,GAAG,IAAI,CAAA;IAE/B,MAAM,CAAC,cAAc;QACxB,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAA;IACjC,CAAC;IAEM,MAAM,CAAC,aAAa;QACvB,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAA;IAChC,CAAC;IAED,YACI,GAAW,EACX,qBAA2C;QAE3C,IAAI,CAAC,GAAG,GAAG,GAAG,CAAA;QACd,IAAI,CAAC,UAAU,GAAG,qBAAqB,CAAA;IAC3C,CAAC;IAEM,GAAG,GAAG,KAAK,EAAE,OAAe,EAAqB,EAAE;QACtD,IAAI,CAAC,OAAO,EAAE,CAAC;YACX,MAAM,IAAI,oBAAW,CAAC;gBAClB,IAAI,EAAE,oBAAoB;gBAC1B,UAAU,EAAE,CAAC,SAAS,CAAC;aAC1B,CAAC,CAAA;QACN,CAAC;QAED,IACI,CAAC,WAAW,CAAC,gBAAgB;YAC7B,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC,IAAI,CAC7B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CACpD,EACH,CAAC;YACC,OAAO,EAAE,CAAA;QACb,CAAC;QAED,2BAA2B;QAC3B,MAAM,UAAU,GAAa,EAAE,CAAA;QAE/B,IAAI,CAAC;YACD,oEAAoE;YACpE,8CAA8C;YAC9C,MAAM,MAAM,GAAG,6GAA6G,IAAI,CAAC,GAAG,2DAA2D,OAAO,wCAAwC,CAAA;YAE9O,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE;gBACpC,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC;aACvB,CAAC,CAAA;YAEF,qBAAqB;QACzB,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAChB,MAAM,IAAI,qBAAW,CAAC;gBAClB,IAAI,EAAE,aAAa;gBACnB,OAAO;gBACP,aAAa,EAAE,GAAG;aACrB,CAAC,CAAA;QACN,CAAC;QAED,oBAAoB;QACpB,4CAA4C;QAC5C,mCAAmC;QACnC,uEAAuE;QACvE,kDAAkD;QAClD,yEAAyE;QACzE,sCAAsC;QACtC,uCAAuC;QACvC,2BAA2B;QAC3B,wDAAwD;QACxD,yCAAyC;QACzC,8CAA8C;QAC9C,mDAAmD;QACnD,qCAAqC;QACrC,iBAAiB;QACjB,YAAY;QACZ,QAAQ;QACR,IAAI;QAEJ,OAAO,UAAU,CAAA;IACrB,CAAC,CAAA;;AAtFL,8BAuFC"}
package/package.json CHANGED
@@ -17,7 +17,7 @@
17
17
  ]
18
18
  },
19
19
  "license": "MIT",
20
- "version": "21.0.1",
20
+ "version": "21.0.2",
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.1",
87
+ "@sprucelabs/spruce-templates": "^21.0.2",
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": "3004809c88748d009e76b9121a9946068f19840a"
591
+ "gitHead": "3926b4b403314fa2dbce74c7648768f7327c0fe4"
592
592
  }
@@ -0,0 +1,114 @@
1
+ import { test, assert, generateId } from '@sprucelabs/test-utils'
2
+ import CommandService from '../../../services/CommandService'
3
+ import LintService from '../../../services/LintService'
4
+ import AbstractCliTest from '../../../tests/AbstractCliTest'
5
+
6
+ export default class LintServiceTest extends AbstractCliTest {
7
+ private static wasFixInvoked = false
8
+ protected static async beforeEach() {
9
+ await super.beforeEach()
10
+ LintService.enableLinting()
11
+
12
+ this.wasFixInvoked = false
13
+ this.commandFaker.on(/node/, () => {
14
+ this.wasFixInvoked = true
15
+ })
16
+ }
17
+
18
+ @test.skip('new way of linting never seems to throw')
19
+ protected static async throwsWhenLintReturnsMessage() {
20
+ await this.FeatureFixture().installCachedFeatures('skills')
21
+
22
+ CommandService.fakeCommand(/node/, {
23
+ code: 0,
24
+ stdout: `[{"filePath":"/Users/taylorromero/Development/SpruceLabs/spruce-appointments-skill/src/.spruce/stores/stores.types.ts","messages":[{"fatal":false,"severity":1,"message":"File ignored by default. Use a negated ignore pattern (like \\"--ignore-pattern '!<relative/path/to/filename>'\\") to override."}],"errorCount":1,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]}]\n`,
25
+ })
26
+
27
+ await assert.doesThrowAsync(() => this.Service('lint').fix('./go'))
28
+ }
29
+
30
+ @test()
31
+ protected static async worksWhenNoMessagesReturned() {
32
+ await this.FeatureFixture().installCachedFeatures('skills')
33
+
34
+ CommandService.fakeCommand(/node/, {
35
+ code: 0,
36
+ stdout: `[{"filePath":"/Users/taylorromero/Development/SpruceLabs/spruce-appointments-skill/src/.spruce/stores/stores.types.ts","messages":[{"fatal":false,"severity":1,"message":"File ignored by default. Use a negated ignore pattern (like \\"--ignore-pattern '!<relative/path/to/filename>'\\") to override."}],"errorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]}]\n`,
37
+ })
38
+
39
+ await this.fix('./go')
40
+ }
41
+
42
+ @test()
43
+ protected static async defaultIgnore() {
44
+ assert.isEqualDeep(LintService.ignorePatterns, [
45
+ 'valueType.tmp',
46
+ '.md',
47
+ '.js',
48
+ '.gitignore',
49
+ ])
50
+ }
51
+
52
+ @test()
53
+ protected static async willIgnoreFirstItemInIgnoreList() {
54
+ const pattern = generateId()
55
+
56
+ this.setIgnorePatterns([pattern])
57
+
58
+ await this.fixAndAssertNotFixed(pattern)
59
+ await this.fix('whatever.ts')
60
+
61
+ this.assertWasFixed()
62
+ }
63
+
64
+ @test()
65
+ protected static async willIgnoreSecondItemInIgnoreList() {
66
+ const pattern = generateId()
67
+
68
+ this.setIgnorePatterns(['whatever.ts', pattern])
69
+
70
+ await this.fixAndAssertNotFixed(pattern)
71
+ }
72
+
73
+ @test()
74
+ protected static async ignoresPartialMatch() {
75
+ const pattern = generateId()
76
+
77
+ this.setIgnorePatterns([pattern + '/whatever.ts'])
78
+
79
+ await this.fixAndAssertNotFixed('whatever.ts')
80
+ }
81
+
82
+ @test()
83
+ protected static async partialMatchesOtherWay() {
84
+ this.setIgnorePatterns(['valueType.tmp'])
85
+ await this.fixAndAssertNotFixed(this.resolvePath('valueType.tmp'))
86
+ }
87
+
88
+ private static async fixAndAssertNotFixed(pattern: string) {
89
+ await this.fix(pattern)
90
+ this.assertWasNotFixed()
91
+ }
92
+
93
+ private static assertWasFixed() {
94
+ assert.isTrue(
95
+ this.wasFixInvoked,
96
+ 'Fix was not invoked when it should have been.'
97
+ )
98
+ }
99
+
100
+ private static assertWasNotFixed() {
101
+ assert.isFalse(
102
+ this.wasFixInvoked,
103
+ `Fix was invoked when it should not have been.`
104
+ )
105
+ }
106
+
107
+ private static setIgnorePatterns(patterns: string[]) {
108
+ LintService.ignorePatterns = patterns
109
+ }
110
+
111
+ private static async fix(pattern: string) {
112
+ await this.Service('lint').fix(pattern)
113
+ }
114
+ }
@@ -0,0 +1,13 @@
1
+ import { assert } from '@sprucelabs/test-utils'
2
+
3
+ export default class MockLintService {
4
+ private static patterns: string[] = []
5
+ public async fix(pattern: string) {
6
+ MockLintService.patterns.push(pattern)
7
+ return
8
+ }
9
+
10
+ public static assertPatterns(patterns: string[]) {
11
+ assert.isEqualDeep(this.patterns, patterns, `Patterns did not match`)
12
+ }
13
+ }
@@ -0,0 +1,79 @@
1
+ import { test, assert, generateId } from '@sprucelabs/test-utils'
2
+ import EventWriter from '../../../features/event/writers/EventWriter'
3
+ import ServiceFactory from '../../../services/ServiceFactory'
4
+ import AbstractCliTest from '../../../tests/AbstractCliTest'
5
+ import MockLintService from './MockLintService'
6
+
7
+ export default class SyncingEventsLintsOnceTest extends AbstractCliTest {
8
+ private static writer: EventWriter
9
+ private static destinationDir: string
10
+
11
+ protected static async beforeEach() {
12
+ await super.beforeEach()
13
+ ServiceFactory.setServiceClass('lint', MockLintService)
14
+ this.writer = this.writers.Writer('event', {
15
+ fileDescriptions: [],
16
+ linter: new MockLintService() as any,
17
+ })
18
+
19
+ this.destinationDir = this.resolvePath('/tmp', generateId())
20
+ }
21
+
22
+ @test()
23
+ protected static async writingContractsLintsOnce() {
24
+ await this.writeContracts()
25
+ MockLintService.assertPatterns([this.destinationDir])
26
+ }
27
+
28
+ @test()
29
+ protected static async lintsAfterAllFilesAreWritten() {
30
+ const calls: string[] = []
31
+
32
+ //@ts-ignore
33
+ this.writer.writeContract = async () => {
34
+ calls.push('writeContract')
35
+ return []
36
+ }
37
+
38
+ //@ts-ignore
39
+ this.writer.writeCombinedEvents = async () => {
40
+ calls.push('writeCombinedEvents')
41
+ return []
42
+ }
43
+
44
+ //@ts-ignore
45
+ this.writer.lint = async () => {
46
+ calls.push('lint')
47
+ }
48
+
49
+ await this.writeContracts()
50
+
51
+ assert.isEqualDeep(calls, [
52
+ 'writeContract',
53
+ 'writeCombinedEvents',
54
+ 'lint',
55
+ ])
56
+ }
57
+
58
+ private static async writeContracts() {
59
+ await this.writer.writeContracts(this.destinationDir, {
60
+ schemaTemplateItems: [],
61
+ skillEventContractTypesFile: generateId(),
62
+ eventBuilderFile: generateId(),
63
+ eventContractTemplateItems: [
64
+ {
65
+ eventSignatures: {},
66
+ id: generateId(),
67
+ imports: [],
68
+ isLocal: true,
69
+ nameCamel: generateId(),
70
+ namespace: generateId(),
71
+ namePascal: generateId(),
72
+ namespaceCamel: generateId(),
73
+ namespacePascal: generateId(),
74
+ version: 'v2020_01_01',
75
+ },
76
+ ],
77
+ })
78
+ }
79
+ }
@@ -2,6 +2,7 @@ import { test, assert, generateId } from '@sprucelabs/test-utils'
2
2
  import SchemaWriter from '../../../features/schema/writers/SchemaWriter'
3
3
  import ServiceFactory from '../../../services/ServiceFactory'
4
4
  import AbstractCliTest from '../../../tests/AbstractCliTest'
5
+ import MockLintService from './MockLintService'
5
6
 
6
7
  export default class SyncingSchemasLintsOnceTest extends AbstractCliTest {
7
8
  private static writer: SchemaWriter
@@ -11,10 +12,7 @@ export default class SyncingSchemasLintsOnceTest extends AbstractCliTest {
11
12
  protected static async beforeEach() {
12
13
  await super.beforeEach()
13
14
  this.destinationPath = this.resolvePath('/tmp', generateId())
14
- this.filepath = this.resolvePath(
15
- this.destinationPath,
16
- 'schemas.types.ts'
17
- )
15
+ this.filepath = this.destinationPath
18
16
 
19
17
  ServiceFactory.setServiceClass('lint', MockLintService)
20
18
  this.writer = this.writers.Writer('schema', {
@@ -23,7 +21,7 @@ export default class SyncingSchemasLintsOnceTest extends AbstractCliTest {
23
21
  })
24
22
  }
25
23
 
26
- @test()
24
+ @test.only()
27
25
  protected static async onlyLintsOnceWhenWritingLocalSchemas() {
28
26
  await this.writeSchemasAndTypes()
29
27
  MockLintService.assertPatterns([this.destinationPath])
@@ -76,15 +74,3 @@ export default class SyncingSchemasLintsOnceTest extends AbstractCliTest {
76
74
  })
77
75
  }
78
76
  }
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
- }
@@ -25,6 +25,8 @@ export default class EventWriter extends AbstractWriter {
25
25
  eventBuilderFile: string
26
26
  }
27
27
  ) {
28
+ this.isLintEnabled = false
29
+
28
30
  const { eventContractTemplateItems, shouldImportCoreEvents = true } =
29
31
  options
30
32
 
@@ -51,6 +53,10 @@ export default class EventWriter extends AbstractWriter {
51
53
 
52
54
  const all = await Promise.all(generated)
53
55
 
56
+ this.isLintEnabled = true
57
+
58
+ await this.lint(destinationDir)
59
+
54
60
  return all
55
61
  }
56
62
 
@@ -163,7 +163,7 @@ export default class SchemaWriter extends AbstractWriter {
163
163
 
164
164
  this.isLintEnabled = true
165
165
 
166
- await this.lint(pathUtil.dirname(destinationDirOrFilename))
166
+ await this.lint(destinationDirOrFilename)
167
167
 
168
168
  return results
169
169
  }
@@ -7,6 +7,12 @@ import CommandService from './CommandService'
7
7
  export default class LintService {
8
8
  public cwd: string
9
9
  private getCommand: () => CommandService
10
+ public static ignorePatterns: string[] = [
11
+ 'valueType.tmp',
12
+ '.md',
13
+ '.js',
14
+ '.gitignore',
15
+ ]
10
16
 
11
17
  private static isLintingEnabled = true
12
18
 
@@ -36,7 +42,9 @@ export default class LintService {
36
42
 
37
43
  if (
38
44
  !LintService.isLintingEnabled ||
39
- pattern.includes('valueType.tmp')
45
+ !!LintService.ignorePatterns.find(
46
+ (p) => p.includes(pattern) || pattern.includes(p)
47
+ )
40
48
  ) {
41
49
  return []
42
50
  }
@@ -47,7 +55,7 @@ export default class LintService {
47
55
  try {
48
56
  // const cli = new ESLint({ fix: true, cwd: this.cwd, cache: true })
49
57
  // fixedFiles = await cli.lintFiles([pattern])
50
- const script = `"(async function lint() { const { ESLint } = require('eslint'); const cli = new ESLint({ fix: true, cwd: '${this.cwd}' }); const result = await cli.lintFiles(['${pattern}']); ESLint.outputFixes(result); })()"`
58
+ const script = `"(async function lint() { const { ESLint } = require('eslint'); const cli = new ESLint({ fix: true, cwd: '${this.cwd}', cache: true }); const result = await cli.lintFiles(['${pattern}']); ESLint.outputFixes(result); })()"`
51
59
 
52
60
  await this.getCommand().execute('node', {
53
61
  args: ['-e', script],
@@ -1 +0,0 @@
1
- {"version":3,"file":"SyncingSchemasLintsOnce.test.js","sourceRoot":"","sources":["../../../../src/__tests__/behavioral/schemas/SyncingSchemasLintsOnce.test.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,uDAAiE;AAEjE,sFAA6D;AAC7D,qFAA4D;AAE5D,MAAqB,2BAA4B,SAAQ,yBAAe;IAC5D,MAAM,CAAC,MAAM,CAAc;IAC3B,MAAM,CAAC,eAAe,CAAQ;IAC9B,MAAM,CAAC,QAAQ,CAAQ;IAErB,MAAM,CAAC,KAAK,CAAC,UAAU;QAC7B,MAAM,KAAK,CAAC,UAAU,EAAE,CAAA;QACxB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,IAAA,uBAAU,GAAE,CAAC,CAAA;QAC7D,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,WAAW,CAC5B,IAAI,CAAC,eAAe,EACpB,kBAAkB,CACrB,CAAA;QAED,wBAAc,CAAC,eAAe,CAAC,MAAM,EAAE,eAAe,CAAC,CAAA;QACvD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE;YACxC,gBAAgB,EAAE,EAAE;YACpB,MAAM,EAAE,IAAI,eAAe,EAAS;SACvC,CAAC,CAAA;IACN,CAAC;IAGsB,AAAb,MAAM,CAAC,KAAK,CAAC,oCAAoC;QACvD,MAAM,IAAI,CAAC,oBAAoB,EAAE,CAAA;QACjC,eAAe,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAA;IAC1D,CAAC;IAGsB,AAAb,MAAM,CAAC,KAAK,CAAC,4BAA4B;QAC/C,MAAM,KAAK,GAAa,EAAE,CAAA;QAE1B,YAAY;QACZ,IAAI,CAAC,MAAM,CAAC,8BAA8B,GAAG,KAAK,IAAI,EAAE;YACpD,KAAK,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAA;YAC5C,OAAO,EAAE,CAAA;QACb,CAAC,CAAA;QAED,YAAY;QACZ,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,KAAK,IAAI,EAAE;YAC1B,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QACtB,CAAC,CAAA;QAED,MAAM,IAAI,CAAC,oBAAoB,EAAE,CAAA;QAEjC,mBAAM,CAAC,WAAW,CAAC,KAAK,EAAE;YACtB,gCAAgC;YAChC,gCAAgC;YAChC,MAAM;SACT,CAAC,CAAA;IACN,CAAC;IAEO,MAAM,CAAC,KAAK,CAAC,oBAAoB;QACrC,MAAM,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC,IAAI,CAAC,QAAQ,EAAE;YAClD,kBAAkB,EAAE,EAAE;YACtB,mBAAmB,EAAE;gBACjB;oBACI,cAAc,EAAE,IAAA,uBAAU,GAAE;oBAC5B,EAAE,EAAE,IAAA,uBAAU,GAAE;oBAChB,SAAS,EAAE,IAAA,uBAAU,GAAE;oBACvB,UAAU,EAAE,IAAA,uBAAU,GAAE;oBACxB,YAAY,EAAE,IAAA,uBAAU,GAAE;oBAC1B,SAAS,EAAE,IAAA,uBAAU,GAAE;oBACvB,MAAM,EAAE;wBACJ,EAAE,EAAE,IAAA,uBAAU,GAAE;wBAChB,SAAS,EAAE,IAAA,uBAAU,GAAE;wBACvB,MAAM,EAAE,EAAE;qBACb;iBACJ;aACJ;YACD,uBAAuB,EAAE,KAAK;YAC9B,UAAU,EAAE,EAAE;SACjB,CAAC,CAAA;IACN,CAAC;CACJ;AAxED,8CAwEC;AAnD0B;IADtB,IAAA,iBAAI,GAAE;6EAIN;AAGsB;IADtB,IAAA,iBAAI,GAAE;qEAsBN;AA0BL,MAAM,eAAe;IACT,MAAM,CAAC,QAAQ,GAAa,EAAE,CAAA;IAC/B,KAAK,CAAC,GAAG,CAAC,OAAe;QAC5B,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QACtC,OAAM;IACV,CAAC;IAEM,MAAM,CAAC,cAAc,CAAC,QAAkB;QAC3C,mBAAM,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,wBAAwB,CAAC,CAAA;IACzE,CAAC"}
@@ -1,5 +0,0 @@
1
- import AbstractCliTest from '../../tests/AbstractCliTest';
2
- export default class LintServiceTest extends AbstractCliTest {
3
- protected static throwsWhenLintReturnsMessage(): Promise<void>;
4
- protected static worksWhenNoMessagesReturned(): Promise<void>;
5
- }
@@ -1,43 +0,0 @@
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 CommandService_1 = __importDefault(require("../../services/CommandService"));
14
- const LintService_1 = __importDefault(require("../../services/LintService"));
15
- const AbstractCliTest_1 = __importDefault(require("../../tests/AbstractCliTest"));
16
- class LintServiceTest extends AbstractCliTest_1.default {
17
- static async throwsWhenLintReturnsMessage() {
18
- LintService_1.default.enableLinting();
19
- await this.FeatureFixture().installCachedFeatures('skills');
20
- CommandService_1.default.fakeCommand(/node/, {
21
- code: 0,
22
- stdout: `[{"filePath":"/Users/taylorromero/Development/SpruceLabs/spruce-appointments-skill/src/.spruce/stores/stores.types.ts","messages":[{"fatal":false,"severity":1,"message":"File ignored by default. Use a negated ignore pattern (like \\"--ignore-pattern '!<relative/path/to/filename>'\\") to override."}],"errorCount":1,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]}]\n`,
23
- });
24
- await test_utils_1.assert.doesThrowAsync(() => this.Service('lint').fix('./go'));
25
- }
26
- static async worksWhenNoMessagesReturned() {
27
- LintService_1.default.enableLinting();
28
- await this.FeatureFixture().installCachedFeatures('skills');
29
- CommandService_1.default.fakeCommand(/node/, {
30
- code: 0,
31
- stdout: `[{"filePath":"/Users/taylorromero/Development/SpruceLabs/spruce-appointments-skill/src/.spruce/stores/stores.types.ts","messages":[{"fatal":false,"severity":1,"message":"File ignored by default. Use a negated ignore pattern (like \\"--ignore-pattern '!<relative/path/to/filename>'\\") to override."}],"errorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]}]\n`,
32
- });
33
- await this.Service('lint').fix('./go');
34
- }
35
- }
36
- exports.default = LintServiceTest;
37
- __decorate([
38
- test_utils_1.test.skip('new way of linting never seems to throw')
39
- ], LintServiceTest, "throwsWhenLintReturnsMessage", null);
40
- __decorate([
41
- (0, test_utils_1.test)()
42
- ], LintServiceTest, "worksWhenNoMessagesReturned", null);
43
- //# sourceMappingURL=LintService.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"LintService.test.js","sourceRoot":"","sources":["../../../src/__tests__/implementation/LintService.test.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,uDAAqD;AACrD,mFAA0D;AAC1D,6EAAoD;AACpD,kFAAyD;AAEzD,MAAqB,eAAgB,SAAQ,yBAAe;IAEjC,AAAb,MAAM,CAAC,KAAK,CAAC,4BAA4B;QAC/C,qBAAW,CAAC,aAAa,EAAE,CAAA;QAE3B,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAA;QAE3D,wBAAc,CAAC,WAAW,CAAC,MAAM,EAAE;YAC/B,IAAI,EAAE,CAAC;YACP,MAAM,EAAE,0ZAA0Z;SACra,CAAC,CAAA;QAEF,MAAM,mBAAM,CAAC,cAAc,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAA;IACvE,CAAC;IAGsB,AAAb,MAAM,CAAC,KAAK,CAAC,2BAA2B;QAC9C,qBAAW,CAAC,aAAa,EAAE,CAAA;QAE3B,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAA;QAE3D,wBAAc,CAAC,WAAW,CAAC,MAAM,EAAE;YAC/B,IAAI,EAAE,CAAC;YACP,MAAM,EAAE,0ZAA0Z;SACra,CAAC,CAAA;QAEF,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;IAC1C,CAAC;CACJ;AA5BD,kCA4BC;AA1B0B;IADtB,iBAAI,CAAC,IAAI,CAAC,yCAAyC,CAAC;yDAYpD;AAGsB;IADtB,IAAA,iBAAI,GAAE;wDAYN"}
@@ -1,34 +0,0 @@
1
- import { test, assert } from '@sprucelabs/test-utils'
2
- import CommandService from '../../services/CommandService'
3
- import LintService from '../../services/LintService'
4
- import AbstractCliTest from '../../tests/AbstractCliTest'
5
-
6
- export default class LintServiceTest extends AbstractCliTest {
7
- @test.skip('new way of linting never seems to throw')
8
- protected static async throwsWhenLintReturnsMessage() {
9
- LintService.enableLinting()
10
-
11
- await this.FeatureFixture().installCachedFeatures('skills')
12
-
13
- CommandService.fakeCommand(/node/, {
14
- code: 0,
15
- stdout: `[{"filePath":"/Users/taylorromero/Development/SpruceLabs/spruce-appointments-skill/src/.spruce/stores/stores.types.ts","messages":[{"fatal":false,"severity":1,"message":"File ignored by default. Use a negated ignore pattern (like \\"--ignore-pattern '!<relative/path/to/filename>'\\") to override."}],"errorCount":1,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]}]\n`,
16
- })
17
-
18
- await assert.doesThrowAsync(() => this.Service('lint').fix('./go'))
19
- }
20
-
21
- @test()
22
- protected static async worksWhenNoMessagesReturned() {
23
- LintService.enableLinting()
24
-
25
- await this.FeatureFixture().installCachedFeatures('skills')
26
-
27
- CommandService.fakeCommand(/node/, {
28
- code: 0,
29
- stdout: `[{"filePath":"/Users/taylorromero/Development/SpruceLabs/spruce-appointments-skill/src/.spruce/stores/stores.types.ts","messages":[{"fatal":false,"severity":1,"message":"File ignored by default. Use a negated ignore pattern (like \\"--ignore-pattern '!<relative/path/to/filename>'\\") to override."}],"errorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[]}]\n`,
30
- })
31
-
32
- await this.Service('lint').fix('./go')
33
- }
34
- }