@neurodevs/meta-node 0.14.8 → 0.14.10

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 (110) hide show
  1. package/build/__tests__/AbstractAutomoduleTest.d.ts +2 -2
  2. package/build/__tests__/AbstractAutomoduleTest.js +39 -44
  3. package/build/__tests__/AbstractAutomoduleTest.js.map +1 -1
  4. package/build/__tests__/AbstractPackageTest.d.ts +2 -2
  5. package/build/__tests__/AbstractPackageTest.js +19 -27
  6. package/build/__tests__/AbstractPackageTest.js.map +1 -1
  7. package/build/__tests__/impl/GitAutocloner.test.d.ts +1 -1
  8. package/build/__tests__/impl/GitAutocloner.test.js +45 -52
  9. package/build/__tests__/impl/GitAutocloner.test.js.map +1 -1
  10. package/build/__tests__/impl/ImplAutomodule.test.d.ts +1 -1
  11. package/build/__tests__/impl/ImplAutomodule.test.js +32 -38
  12. package/build/__tests__/impl/ImplAutomodule.test.js.map +1 -1
  13. package/build/__tests__/impl/NpmAutopackage.test.d.ts +3 -2
  14. package/build/__tests__/impl/NpmAutopackage.test.js +162 -162
  15. package/build/__tests__/impl/NpmAutopackage.test.js.map +1 -1
  16. package/build/__tests__/impl/PackageAutodocumenter.test.d.ts +1 -1
  17. package/build/__tests__/impl/PackageAutodocumenter.test.js +8 -13
  18. package/build/__tests__/impl/PackageAutodocumenter.test.js.map +1 -1
  19. package/build/__tests__/impl/TypescriptClassSnippetSuite.test.d.ts +1 -1
  20. package/build/__tests__/impl/TypescriptClassSnippetSuite.test.js +42 -49
  21. package/build/__tests__/impl/TypescriptClassSnippetSuite.test.js.map +1 -1
  22. package/build/__tests__/impl/UiAutomodule.test.d.ts +1 -1
  23. package/build/__tests__/impl/UiAutomodule.test.js +30 -38
  24. package/build/__tests__/impl/UiAutomodule.test.js.map +1 -1
  25. package/build/__tests__/impl/VscodeSnippetKeybinder.test.d.ts +1 -1
  26. package/build/__tests__/impl/VscodeSnippetKeybinder.test.js +50 -57
  27. package/build/__tests__/impl/VscodeSnippetKeybinder.test.js.map +1 -1
  28. package/build/functions/expandHomeDir.js +4 -10
  29. package/build/functions/expandHomeDir.js.map +1 -1
  30. package/build/impl/AbstractAutomodule.d.ts +1 -1
  31. package/build/impl/AbstractAutomodule.js +23 -14
  32. package/build/impl/AbstractAutomodule.js.map +1 -1
  33. package/build/impl/GitAutocloner.js +16 -15
  34. package/build/impl/GitAutocloner.js.map +1 -1
  35. package/build/impl/ImplAutomodule.d.ts +2 -2
  36. package/build/impl/ImplAutomodule.js +6 -9
  37. package/build/impl/ImplAutomodule.js.map +1 -1
  38. package/build/impl/NpmAutopackage.d.ts +1 -1
  39. package/build/impl/NpmAutopackage.js +36 -29
  40. package/build/impl/NpmAutopackage.js.map +1 -1
  41. package/build/impl/PackageAutodocumenter.js +2 -4
  42. package/build/impl/PackageAutodocumenter.js.map +1 -1
  43. package/build/impl/TypescriptClassSnippetSuite.js +125 -129
  44. package/build/impl/TypescriptClassSnippetSuite.js.map +1 -1
  45. package/build/impl/UiAutomodule.d.ts +2 -2
  46. package/build/impl/UiAutomodule.js +8 -11
  47. package/build/impl/UiAutomodule.js.map +1 -1
  48. package/build/impl/VscodeSnippetKeybinder.js +16 -17
  49. package/build/impl/VscodeSnippetKeybinder.js.map +1 -1
  50. package/build/index.d.ts +28 -28
  51. package/build/index.js +28 -62
  52. package/build/index.js.map +1 -1
  53. package/build/scripts/installSnippetSuite.js +2 -7
  54. package/build/scripts/installSnippetSuite.js.map +1 -1
  55. package/build/scripts/runAutopackage.js +4 -9
  56. package/build/scripts/runAutopackage.js.map +1 -1
  57. package/build/scripts/runImplAutomodule.js +6 -11
  58. package/build/scripts/runImplAutomodule.js.map +1 -1
  59. package/build/scripts/runSnippetKeybinder.js +2 -7
  60. package/build/scripts/runSnippetKeybinder.js.map +1 -1
  61. package/build/scripts/runUiAutomodule.js +6 -11
  62. package/build/scripts/runUiAutomodule.js.map +1 -1
  63. package/build/testDoubles/Autocloner/FakeAutocloner.d.ts +1 -1
  64. package/build/testDoubles/Autocloner/FakeAutocloner.js +3 -6
  65. package/build/testDoubles/Autocloner/FakeAutocloner.js.map +1 -1
  66. package/build/testDoubles/Autodocumenter/FakeAutodocumenter.d.ts +1 -1
  67. package/build/testDoubles/Autodocumenter/FakeAutodocumenter.js +2 -5
  68. package/build/testDoubles/Autodocumenter/FakeAutodocumenter.js.map +1 -1
  69. package/build/testDoubles/Automodule/FakeAutomodule.d.ts +3 -3
  70. package/build/testDoubles/Automodule/FakeAutomodule.js +3 -6
  71. package/build/testDoubles/Automodule/FakeAutomodule.js.map +1 -1
  72. package/build/testDoubles/Autopackage/FakeAutopackage.d.ts +1 -1
  73. package/build/testDoubles/Autopackage/FakeAutopackage.js +3 -6
  74. package/build/testDoubles/Autopackage/FakeAutopackage.js.map +1 -1
  75. package/build/testDoubles/SnippetKeybinder/FakeSnippetKeybinder.d.ts +1 -1
  76. package/build/testDoubles/SnippetKeybinder/FakeSnippetKeybinder.js +3 -5
  77. package/build/testDoubles/SnippetKeybinder/FakeSnippetKeybinder.js.map +1 -1
  78. package/build/testDoubles/SnippetSuite/FakeSnippetSuite.d.ts +1 -1
  79. package/build/testDoubles/SnippetSuite/FakeSnippetSuite.js +3 -6
  80. package/build/testDoubles/SnippetSuite/FakeSnippetSuite.js.map +1 -1
  81. package/build/types.js +1 -2
  82. package/package.json +5 -3
  83. package/src/__tests__/AbstractAutomoduleTest.ts +5 -4
  84. package/src/__tests__/AbstractPackageTest.ts +4 -3
  85. package/src/__tests__/impl/GitAutocloner.test.ts +4 -3
  86. package/src/__tests__/impl/ImplAutomodule.test.ts +5 -4
  87. package/src/__tests__/impl/NpmAutopackage.test.ts +31 -15
  88. package/src/__tests__/impl/PackageAutodocumenter.test.ts +4 -3
  89. package/src/__tests__/impl/TypescriptClassSnippetSuite.test.ts +4 -3
  90. package/src/__tests__/impl/UiAutomodule.test.ts +5 -4
  91. package/src/__tests__/impl/VscodeSnippetKeybinder.test.ts +4 -3
  92. package/src/impl/AbstractAutomodule.ts +2 -1
  93. package/src/impl/ImplAutomodule.ts +3 -3
  94. package/src/impl/NpmAutopackage.ts +4 -3
  95. package/src/impl/TypescriptClassSnippetSuite.ts +1 -1
  96. package/src/impl/UiAutomodule.ts +4 -3
  97. package/src/impl/VscodeSnippetKeybinder.ts +2 -1
  98. package/src/index.ts +28 -28
  99. package/src/scripts/installSnippetSuite.ts +1 -1
  100. package/src/scripts/runAutopackage.ts +2 -2
  101. package/src/scripts/runImplAutomodule.ts +2 -2
  102. package/src/scripts/runSnippetKeybinder.ts +1 -1
  103. package/src/scripts/runUiAutomodule.ts +2 -2
  104. package/src/testDoubles/Autocloner/FakeAutocloner.ts +1 -1
  105. package/src/testDoubles/Autodocumenter/FakeAutodocumenter.ts +1 -1
  106. package/src/testDoubles/Automodule/FakeAutomodule.ts +3 -3
  107. package/src/testDoubles/Autopackage/FakeAutopackage.ts +1 -1
  108. package/src/testDoubles/SnippetKeybinder/FakeSnippetKeybinder.ts +1 -1
  109. package/src/testDoubles/SnippetSuite/FakeSnippetSuite.ts +1 -1
  110. package/tsconfig.json +17 -28
@@ -1,4 +1,4 @@
1
- import AbstractPackageTest from '../AbstractPackageTest';
1
+ import AbstractPackageTest from '../AbstractPackageTest.js';
2
2
  export default class NpmAutopackageTest extends AbstractPackageTest {
3
3
  private static instance;
4
4
  protected static beforeEach(): Promise<void>;
@@ -8,7 +8,8 @@ export default class NpmAutopackageTest extends AbstractPackageTest {
8
8
  protected static thenChdirToInstallDir(): Promise<void>;
9
9
  protected static thenGitClone(): Promise<void>;
10
10
  protected static thenChdirToPackageDir(): Promise<void>;
11
- protected static thenGitPull(): Promise<void>;
11
+ protected static thenGitFetchOrigin(): Promise<void>;
12
+ protected static thenGitFetchResetHard(): Promise<void>;
12
13
  protected static thenSpruceCreateModule(): Promise<void>;
13
14
  protected static thenCommitCreatePackage(): Promise<void>;
14
15
  protected static thenReadPackageJson(): Promise<void>;
@@ -1,25 +1,20 @@
1
- "use strict";
2
1
  var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
2
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
3
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
4
  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
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
7
6
  };
8
- var __importDefault = (this && this.__importDefault) || function (mod) {
9
- return (mod && mod.__esModule) ? mod : { "default": mod };
10
- };
11
- var _a;
12
- Object.defineProperty(exports, "__esModule", { value: true });
13
- const child_process_1 = require("child_process");
14
- const path_1 = __importDefault(require("path"));
15
- const util_1 = require("util");
16
- const test_utils_1 = require("@sprucelabs/test-utils");
17
- const fake_node_core_1 = require("@neurodevs/fake-node-core");
18
- const generate_id_1 = __importDefault(require("@neurodevs/generate-id"));
19
- const NpmAutopackage_1 = __importDefault(require("../../impl/NpmAutopackage"));
20
- const AbstractPackageTest_1 = __importDefault(require("../AbstractPackageTest"));
21
- const exec = (0, util_1.promisify)(child_process_1.exec);
22
- class NpmAutopackageTest extends AbstractPackageTest_1.default {
7
+ import { exec as execSync } from 'child_process';
8
+ import path from 'path';
9
+ import { promisify } from 'util';
10
+ import { callsToChdir, callsToExec, callsToFetch, callsToReadFile, callsToWriteFile, fakeChdir, fakeExec, fakeFetch, fakePathExists, fakeReadFile, fakeWriteFile, resetCallsToChdir, resetCallsToExec, resetCallsToFetch, resetCallsToPathExists, resetCallsToReadFile, resetCallsToWriteFile, setFakeExecResult, setFakeFetchResponse, setFakeReadFileResult, setPathShouldExist, } from '@neurodevs/fake-node-core';
11
+ import generateId from '@neurodevs/generate-id';
12
+ import { test, assert } from '@neurodevs/node-tdd';
13
+ import NpmAutopackage from '../../impl/NpmAutopackage.js';
14
+ import AbstractPackageTest from '../AbstractPackageTest.js';
15
+ const exec = promisify(execSync);
16
+ export default class NpmAutopackageTest extends AbstractPackageTest {
17
+ static instance;
23
18
  static async beforeEach() {
24
19
  await super.beforeEach();
25
20
  this.fakeChdir();
@@ -33,20 +28,20 @@ class NpmAutopackageTest extends AbstractPackageTest_1.default {
33
28
  this.instance = this.NpmAutopackage();
34
29
  }
35
30
  static async createsInstance() {
36
- test_utils_1.assert.isTruthy(this.instance, 'Failed to create instance!');
31
+ assert.isTruthy(this.instance, 'Failed to create instance!');
37
32
  }
38
33
  static async throwsIfGithubTokenNotSet() {
39
34
  delete process.env.GITHUB_TOKEN;
40
- await test_utils_1.assert.doesThrowAsync(async () => {
35
+ await assert.doesThrowAsync(async () => {
41
36
  const instance = this.NpmAutopackage();
42
37
  await instance.run();
43
38
  }, 'Please set process.env.GITHUB_TOKEN!', 'Did not throw with missing process.env.GITHUB_TOKEN!');
44
39
  }
45
40
  static async firstCreateRepoInGithubOrg() {
46
41
  await this.run();
47
- test_utils_1.assert.isEqualDeep({
48
- passedUrl: fake_node_core_1.callsToFetch[1]?.input,
49
- passedInit: fake_node_core_1.callsToFetch[1]?.init,
42
+ assert.isEqualDeep({
43
+ passedUrl: callsToFetch[1]?.input,
44
+ passedInit: callsToFetch[1]?.init,
50
45
  }, {
51
46
  passedUrl: `https://api.github.com/orgs/${this.gitNamespace}/repos`,
52
47
  passedInit: {
@@ -69,27 +64,31 @@ class NpmAutopackageTest extends AbstractPackageTest_1.default {
69
64
  }
70
65
  static async thenChdirToInstallDir() {
71
66
  await this.run();
72
- test_utils_1.assert.isEqual(fake_node_core_1.callsToChdir[0], this.installDir, 'Did not change to installDir!');
67
+ assert.isEqual(callsToChdir[0], this.installDir, 'Did not change to installDir!');
73
68
  }
74
69
  static async thenGitClone() {
75
70
  await this.run();
76
- test_utils_1.assert.isEqual(fake_node_core_1.callsToExec[0], `git clone https://github.com/${this.gitNamespace}/${this.packageName}.git`, 'Did not call git clone!');
71
+ assert.isEqual(callsToExec[0], `git clone https://github.com/${this.gitNamespace}/${this.packageName}.git`, 'Did not call git clone!');
77
72
  }
78
73
  static async thenChdirToPackageDir() {
79
74
  await this.run();
80
- test_utils_1.assert.isEqual(fake_node_core_1.callsToChdir[1], this.packageDir, 'Did not change to packageDir!');
75
+ assert.isEqual(callsToChdir[1], this.packageDir, 'Did not change to packageDir!');
76
+ }
77
+ static async thenGitFetchOrigin() {
78
+ await this.run();
79
+ assert.isEqual(callsToExec[1], `git fetch origin`, 'Did not call git fetch origin!');
81
80
  }
82
- static async thenGitPull() {
81
+ static async thenGitFetchResetHard() {
83
82
  await this.run();
84
- test_utils_1.assert.isEqual(fake_node_core_1.callsToExec[1], `git pull`, 'Did not call git pull!');
83
+ assert.isEqual(callsToExec[2], `git reset --hard origin/main`, 'Did not call git reset hard!');
85
84
  }
86
85
  static async thenSpruceCreateModule() {
87
86
  await this.run();
88
- test_utils_1.assert.isEqual(fake_node_core_1.callsToExec[3], this.createModuleCmd, 'Did not call "spruce create.module"!');
87
+ assert.isEqual(callsToExec[4], this.createModuleCmd, 'Did not call "spruce create.module"!');
89
88
  }
90
89
  static async thenCommitCreatePackage() {
91
90
  await this.run();
92
- test_utils_1.assert.isEqualDeep(fake_node_core_1.callsToExec.slice(4, 7), [
91
+ assert.isEqualDeep(callsToExec.slice(5, 8), [
93
92
  'git add .',
94
93
  `git commit -m "patch: create package (@neurodevs/meta-node: ${this.metaNodeVersion})"`,
95
94
  'git push',
@@ -97,14 +96,14 @@ class NpmAutopackageTest extends AbstractPackageTest_1.default {
97
96
  }
98
97
  static async thenReadPackageJson() {
99
98
  await this.run();
100
- test_utils_1.assert.isEqualDeep(fake_node_core_1.callsToReadFile[1], {
99
+ assert.isEqualDeep(callsToReadFile[1], {
101
100
  path: this.packageJsonPath,
102
101
  options: { encoding: 'utf-8' },
103
102
  });
104
103
  }
105
104
  static async thenUpdatePackageJson() {
106
105
  await this.run();
107
- const actual = fake_node_core_1.callsToWriteFile[0];
106
+ const actual = callsToWriteFile[0];
108
107
  const ordered = this.orderJsonKeys(JSON.parse(this.updatedPackageJson), [
109
108
  'name',
110
109
  'version',
@@ -129,7 +128,7 @@ class NpmAutopackageTest extends AbstractPackageTest_1.default {
129
128
  data: JSON.stringify(ordered, null, 2) + '\n',
130
129
  options: { encoding: 'utf-8' },
131
130
  };
132
- test_utils_1.assert.isEqualDeep({
131
+ assert.isEqualDeep({
133
132
  ...actual,
134
133
  data: this.normalize(actual.data),
135
134
  }, {
@@ -139,7 +138,7 @@ class NpmAutopackageTest extends AbstractPackageTest_1.default {
139
138
  }
140
139
  static async thenCommitUpdatePackage() {
141
140
  await this.run();
142
- test_utils_1.assert.isEqualDeep(fake_node_core_1.callsToExec.slice(7, 10), [
141
+ assert.isEqualDeep(callsToExec.slice(8, 11), [
143
142
  'git add .',
144
143
  `git commit -m "patch: update package.json (@neurodevs/meta-node: ${this.metaNodeVersion})"`,
145
144
  'git push',
@@ -147,7 +146,7 @@ class NpmAutopackageTest extends AbstractPackageTest_1.default {
147
146
  }
148
147
  static async thenAddBuildDirToGitignore() {
149
148
  await this.run();
150
- test_utils_1.assert.isEqualDeep(fake_node_core_1.callsToWriteFile[1], {
149
+ assert.isEqualDeep(callsToWriteFile[1], {
151
150
  file: this.gitignorePath,
152
151
  data: this.buildDirGitignorePattern,
153
152
  options: { encoding: 'utf-8', flag: 'a' },
@@ -155,7 +154,7 @@ class NpmAutopackageTest extends AbstractPackageTest_1.default {
155
154
  }
156
155
  static async thenCommitUpdateGitignore() {
157
156
  await this.run();
158
- test_utils_1.assert.isEqualDeep(fake_node_core_1.callsToExec.slice(10, 13), [
157
+ assert.isEqualDeep(callsToExec.slice(11, 14), [
159
158
  'git add .',
160
159
  `git commit -m "patch: add build dir to gitignore (@neurodevs/meta-node: ${this.metaNodeVersion})"`,
161
160
  'git push',
@@ -163,11 +162,11 @@ class NpmAutopackageTest extends AbstractPackageTest_1.default {
163
162
  }
164
163
  static async thenSpruceSetupVscode() {
165
164
  await this.run();
166
- test_utils_1.assert.isEqual(fake_node_core_1.callsToExec[13], this.setupVscodeCmd, 'Did not call "spruce setup.vscode"!');
165
+ assert.isEqual(callsToExec[14], this.setupVscodeCmd, 'Did not call "spruce setup.vscode"!');
167
166
  }
168
167
  static async thenCommitVscodeChanges() {
169
168
  await this.run();
170
- test_utils_1.assert.isEqualDeep(fake_node_core_1.callsToExec.slice(14, 17), [
169
+ assert.isEqualDeep(callsToExec.slice(15, 18), [
171
170
  'git add .',
172
171
  `git commit -m "patch: setup vscode (@neurodevs/meta-node: ${this.metaNodeVersion})"`,
173
172
  'git push',
@@ -175,7 +174,7 @@ class NpmAutopackageTest extends AbstractPackageTest_1.default {
175
174
  }
176
175
  static async thenUpdatesVscodeTasksJson() {
177
176
  await this.run();
178
- test_utils_1.assert.isEqualDeep(fake_node_core_1.callsToWriteFile[2], {
177
+ assert.isEqualDeep(callsToWriteFile[2], {
179
178
  file: this.tasksJsonPath,
180
179
  data: this.updatedTasksJson,
181
180
  options: { encoding: 'utf-8' },
@@ -183,7 +182,7 @@ class NpmAutopackageTest extends AbstractPackageTest_1.default {
183
182
  }
184
183
  static async thenCommitsUpdateVscodeTasksJson() {
185
184
  await this.run();
186
- test_utils_1.assert.isEqualDeep(fake_node_core_1.callsToExec.slice(17, 20), [
185
+ assert.isEqualDeep(callsToExec.slice(18, 21), [
187
186
  'git add .',
188
187
  `git commit -m "patch: update vscode tasks.json (@neurodevs/meta-node: ${this.metaNodeVersion})"`,
189
188
  'git push',
@@ -191,11 +190,11 @@ class NpmAutopackageTest extends AbstractPackageTest_1.default {
191
190
  }
192
191
  static async thenInstallsDefaultDevDependencies() {
193
192
  await this.run();
194
- test_utils_1.assert.isEqual(fake_node_core_1.callsToExec[21], 'yarn add -D @neurodevs/generate-id@latest', 'Did not install default devDependencies!');
193
+ assert.isEqual(callsToExec[22], 'yarn add -D @neurodevs/generate-id@latest', 'Did not install default devDependencies!');
195
194
  }
196
195
  static async thenCommitsInstallDefaultDevDependencies() {
197
196
  await this.run();
198
- test_utils_1.assert.isEqualDeep(fake_node_core_1.callsToExec.slice(22, 25), [
197
+ assert.isEqualDeep(callsToExec.slice(23, 26), [
199
198
  'git add .',
200
199
  `git commit -m "patch: install default devDependencies (@neurodevs/meta-node: ${this.metaNodeVersion})"`,
201
200
  'git push',
@@ -203,76 +202,76 @@ class NpmAutopackageTest extends AbstractPackageTest_1.default {
203
202
  }
204
203
  static async lastlyOpensVscodeAtEnd() {
205
204
  await this.run();
206
- test_utils_1.assert.isEqual(fake_node_core_1.callsToExec[25], 'code .', 'Did not open vscode at end!');
205
+ assert.isEqual(callsToExec[26], 'code .', 'Did not open vscode at end!');
207
206
  }
208
207
  static async doesNotCreateRepoInGithubOrgIfDone() {
209
208
  const fakeResponse = new Response(null, {
210
209
  status: 200,
211
210
  statusText: 'OK',
212
211
  });
213
- (0, fake_node_core_1.setFakeFetchResponse)(this.reposUrl, fakeResponse);
212
+ setFakeFetchResponse(this.reposUrl, fakeResponse);
214
213
  await this.createAndRunAutopackage();
215
- const numCalls = fake_node_core_1.callsToFetch.filter((call) => call.input === this.orgsUrl).length;
216
- test_utils_1.assert.isEqual(numCalls, 0, 'Should not have created repo!');
214
+ const numCalls = callsToFetch.filter((call) => call.input === this.orgsUrl).length;
215
+ assert.isEqual(numCalls, 0, 'Should not have created repo!');
217
216
  }
218
217
  static async doesNotCloneRepoIfDone() {
219
218
  await this.createAndRunAutopackage();
220
- test_utils_1.assert.isEqual(fake_node_core_1.callsToExec.filter((cmd) => cmd ===
219
+ assert.isEqual(callsToExec.filter((cmd) => cmd ===
221
220
  `git clone https://github.com/${this.gitNamespace}/${this.packageName}.git`).length, 1, 'Did not clone repo once!');
222
221
  }
223
222
  static async doesNotSpruceCreateModuleIfDone() {
224
223
  await this.createAndRunAutopackage();
225
- test_utils_1.assert.isEqual(fake_node_core_1.callsToExec.filter((cmd) => cmd === this.createModuleCmd).length, 1, 'Did not call spruce create.module once!');
224
+ assert.isEqual(callsToExec.filter((cmd) => cmd === this.createModuleCmd).length, 1, 'Did not call spruce create.module once!');
226
225
  }
227
226
  static async doesNotRunSetupVscodeIfDone() {
228
227
  await this.createAndRunAutopackage();
229
- test_utils_1.assert.isEqual(fake_node_core_1.callsToExec.filter((cmd) => cmd === this.setupVscodeCmd).length, 1, 'Did not call spruce setup.vscode once!');
228
+ assert.isEqual(callsToExec.filter((cmd) => cmd === this.setupVscodeCmd).length, 1, 'Did not call spruce setup.vscode once!');
230
229
  }
231
230
  static async doesNotCommitCreatePackageIfDone() {
232
231
  await this.createAndRunAutopackage();
233
- test_utils_1.assert.isEqual(fake_node_core_1.callsToExec.filter((cmd) => cmd ===
232
+ assert.isEqual(callsToExec.filter((cmd) => cmd ===
234
233
  `git commit -m "patch: create package (@neurodevs/meta-node: ${this.metaNodeVersion})"`).length, 1, 'Did not commit create package changes once!');
235
234
  }
236
235
  static async doesNotCommitUpdatePackageIfDone() {
237
236
  await this.createAndRunAutopackage();
238
- test_utils_1.assert.isEqual(fake_node_core_1.callsToExec.filter((cmd) => cmd ===
237
+ assert.isEqual(callsToExec.filter((cmd) => cmd ===
239
238
  `git commit -m "patch: update package.json (@neurodevs/meta-node: ${this.metaNodeVersion})"`).length, 1, 'Did not commit update package changes once!');
240
239
  }
241
240
  static async doesNotCommitUpdateGitignoreIfDone() {
242
241
  await this.createAndRunAutopackage();
243
- test_utils_1.assert.isEqual(fake_node_core_1.callsToExec.filter((cmd) => cmd ===
242
+ assert.isEqual(callsToExec.filter((cmd) => cmd ===
244
243
  `git commit -m "patch: add build dir to gitignore (@neurodevs/meta-node: ${this.metaNodeVersion})"`).length, 1, 'Did not commit gitignore changes once!');
245
244
  }
246
245
  static async doesNotCommitSetupVscodeIfDone() {
247
246
  await this.createAndRunAutopackage();
248
- test_utils_1.assert.isEqual(fake_node_core_1.callsToExec.filter((cmd) => cmd ===
247
+ assert.isEqual(callsToExec.filter((cmd) => cmd ===
249
248
  `git commit -m "patch: setup vscode (@neurodevs/meta-node: ${this.metaNodeVersion})"`).length, 1, 'Did not commit vscode changes once!');
250
249
  }
251
250
  static async doesNotOverrideOriginalDependencies() {
252
251
  await this.createAndRunAutopackage();
253
- test_utils_1.assert.isEqualDeep(JSON.parse(fake_node_core_1.callsToWriteFile[0]?.data).dependencies, this.dependencies, 'Did not update package.json as expected!');
252
+ assert.isEqualDeep(JSON.parse(callsToWriteFile[0]?.data).dependencies, this.dependencies, 'Did not update package.json as expected!');
254
253
  }
255
254
  static async doesNotUpdateTasksJsonIfAlreadyDone() {
256
- (0, fake_node_core_1.setFakeReadFileResult)(this.tasksJsonPath, this.updatedTasksJson);
255
+ setFakeReadFileResult(this.tasksJsonPath, this.updatedTasksJson);
257
256
  await this.createAndRunAutopackage();
258
- test_utils_1.assert.isEqualDeep(fake_node_core_1.callsToWriteFile.filter((call) => call.file === this.tasksJsonPath)
257
+ assert.isEqualDeep(callsToWriteFile.filter((call) => call.file === this.tasksJsonPath)
259
258
  .length, 0, 'Did not update tasks.json once!');
260
259
  }
261
260
  static async doesNotOpenVscodeIfNotCloned() {
262
- (0, fake_node_core_1.setPathShouldExist)(this.packageName, true);
261
+ setPathShouldExist(this.packageName, true);
263
262
  await this.createAndRunAutopackage();
264
- test_utils_1.assert.isFalse(fake_node_core_1.callsToExec.includes('code .'), 'Should not open vscode if not cloned!');
263
+ assert.isFalse(callsToExec.includes('code .'), 'Should not open vscode if not cloned!');
265
264
  }
266
265
  static async doesNotInstallDevDependenciesIfLatest() {
267
- (0, fake_node_core_1.setFakeExecResult)(this.checkGenerateIdVersionCmd, {
266
+ setFakeExecResult(this.checkGenerateIdVersionCmd, {
268
267
  stdout: '1.0.0',
269
268
  });
270
269
  await this.createAndRunAutopackage();
271
- const calls = fake_node_core_1.callsToExec.filter((cmd) => cmd === 'yarn add -D @neurodevs/generate-id@latest');
272
- test_utils_1.assert.isEqual(calls.length, 0, 'Should not install default devDependencies if already installed!');
270
+ const calls = callsToExec.filter((cmd) => cmd === 'yarn add -D @neurodevs/generate-id@latest');
271
+ assert.isEqual(calls.length, 0, 'Should not install default devDependencies if already installed!');
273
272
  }
274
273
  static async doesNotThrowIfGenerateIdNotInPackageJson() {
275
- (0, fake_node_core_1.setFakeReadFileResult)(this.packageJsonPath, this.originalPackageJson.replace('@neurodevs/generate-id', ''));
274
+ setFakeReadFileResult(this.packageJsonPath, this.originalPackageJson.replace('@neurodevs/generate-id', ''));
276
275
  await this.createAndRunAutopackage();
277
276
  }
278
277
  static async run() {
@@ -288,9 +287,16 @@ class NpmAutopackageTest extends AbstractPackageTest_1.default {
288
287
  static get packageDir() {
289
288
  return this.packageName;
290
289
  }
290
+ static packageJsonPath = 'package.json';
291
+ static gitignorePath = '.gitignore';
292
+ static buildDirGitignorePattern = '\nbuild/\n';
291
293
  static get createModuleCmd() {
292
294
  return `spruce create.module --name "${this.packageName}" --destination "." --description "${this.packageDescription}"`;
293
295
  }
296
+ static setupVscodeCmd = 'spruce setup.vscode --all true';
297
+ static checkGenerateIdVersionCmd = `yarn info @neurodevs/generate-id version --silent`;
298
+ static yarnGlobalDirCmd = 'yarn global dir';
299
+ static fakeGlobalRoot = generateId();
294
300
  static orderJsonKeys(json, keyOrder) {
295
301
  const ordered = {};
296
302
  for (const key of keyOrder) {
@@ -307,48 +313,63 @@ class NpmAutopackageTest extends AbstractPackageTest_1.default {
307
313
  return ordered;
308
314
  }
309
315
  static fakeChdir() {
310
- NpmAutopackage_1.default.chdir = fake_node_core_1.fakeChdir;
311
- (0, fake_node_core_1.resetCallsToChdir)();
316
+ NpmAutopackage.chdir = fakeChdir;
317
+ resetCallsToChdir();
312
318
  }
313
319
  static fakeExec() {
314
- NpmAutopackage_1.default.exec = fake_node_core_1.fakeExec;
315
- (0, fake_node_core_1.resetCallsToExec)();
316
- (0, fake_node_core_1.setFakeExecResult)(this.yarnGlobalDirCmd, {
320
+ NpmAutopackage.exec = fakeExec;
321
+ resetCallsToExec();
322
+ setFakeExecResult(this.yarnGlobalDirCmd, {
317
323
  stdout: this.fakeGlobalRoot,
318
324
  });
319
- (0, fake_node_core_1.setFakeReadFileResult)(path_1.default.join(this.fakeGlobalRoot, 'node_modules', '@neurodevs', 'meta-node', 'package.json'), JSON.stringify({ version: this.metaNodeVersion }));
325
+ setFakeReadFileResult(path.join(this.fakeGlobalRoot, 'node_modules', '@neurodevs', 'meta-node', 'package.json'), JSON.stringify({ version: this.metaNodeVersion }));
320
326
  }
321
327
  static fakePathExists() {
322
- NpmAutopackage_1.default.pathExists = fake_node_core_1.fakePathExists;
323
- (0, fake_node_core_1.resetCallsToPathExists)();
328
+ NpmAutopackage.pathExists = fakePathExists;
329
+ resetCallsToPathExists();
324
330
  }
325
331
  static fakeFetch() {
326
- NpmAutopackage_1.default.fetch = fake_node_core_1.fakeFetch;
327
- (0, fake_node_core_1.resetCallsToFetch)();
332
+ NpmAutopackage.fetch = fakeFetch;
333
+ resetCallsToFetch();
328
334
  }
329
335
  static fakeReadFile() {
330
- NpmAutopackage_1.default.readFile = fake_node_core_1.fakeReadFile;
331
- (0, fake_node_core_1.resetCallsToReadFile)();
332
- (0, fake_node_core_1.setFakeReadFileResult)(this.packageJsonPath, this.originalPackageJson);
333
- (0, fake_node_core_1.setFakeReadFileResult)(this.tasksJsonPath, JSON.stringify(this.originalTasksJson));
336
+ NpmAutopackage.readFile = fakeReadFile;
337
+ resetCallsToReadFile();
338
+ setFakeReadFileResult(this.packageJsonPath, this.originalPackageJson);
339
+ setFakeReadFileResult(this.tasksJsonPath, JSON.stringify(this.originalTasksJson));
334
340
  }
335
341
  static fakeWriteFile() {
336
- NpmAutopackage_1.default.writeFile = fake_node_core_1.fakeWriteFile;
337
- (0, fake_node_core_1.resetCallsToWriteFile)();
342
+ NpmAutopackage.writeFile = fakeWriteFile;
343
+ resetCallsToWriteFile();
338
344
  }
339
345
  static fakeFetchForRepoNotFound() {
340
346
  const fakeResponse = new Response(null, {
341
347
  status: 404,
342
348
  statusText: 'Not Found',
343
349
  });
344
- (0, fake_node_core_1.setFakeFetchResponse)(this.reposUrl, fakeResponse);
345
- }
350
+ setFakeFetchResponse(this.reposUrl, fakeResponse);
351
+ }
352
+ static packageName = generateId();
353
+ static packageDescription = generateId();
354
+ static gitNamespace = generateId();
355
+ static npmNamespace = generateId();
356
+ static installDir = generateId();
357
+ static keywords = [generateId(), generateId()];
358
+ static license = generateId();
359
+ static author = generateId();
360
+ static githubToken = generateId();
361
+ static metaNodeVersion = generateId();
362
+ static randomId = generateId();
346
363
  static get reposUrl() {
347
364
  return `https://api.github.com/repos/${this.gitNamespace}/${this.packageName}`;
348
365
  }
349
366
  static get orgsUrl() {
350
367
  return `https://api.github.com/orgs/${this.gitNamespace}/repos`;
351
368
  }
369
+ static dependencies = {
370
+ [generateId()]: generateId(),
371
+ [generateId()]: generateId(),
372
+ };
352
373
  static get originalPackageJson() {
353
374
  return JSON.stringify({
354
375
  name: this.packageName,
@@ -379,6 +400,20 @@ class NpmAutopackageTest extends AbstractPackageTest_1.default {
379
400
  dependencies: this.dependencies,
380
401
  });
381
402
  }
403
+ static tasksJsonPath = '.vscode/tasks.json';
404
+ static originalTasksJson = {
405
+ [this.randomId]: this.randomId,
406
+ tasks: [
407
+ {
408
+ [this.randomId]: this.randomId,
409
+ },
410
+ ],
411
+ inputs: [
412
+ {
413
+ [this.randomId]: this.randomId,
414
+ },
415
+ ],
416
+ };
382
417
  static get updatedTasksJson() {
383
418
  return JSON.stringify({
384
419
  ...this.originalTasksJson,
@@ -408,158 +443,123 @@ class NpmAutopackageTest extends AbstractPackageTest_1.default {
408
443
  ],
409
444
  }, null, 4);
410
445
  }
446
+ static defaultOptions = {
447
+ name: this.packageName,
448
+ description: this.packageDescription,
449
+ gitNamespace: this.gitNamespace,
450
+ npmNamespace: this.npmNamespace,
451
+ installDir: this.installDir,
452
+ keywords: this.keywords,
453
+ license: this.license,
454
+ author: this.author,
455
+ };
411
456
  static NpmAutopackage(options) {
412
- return NpmAutopackage_1.default.Create({ ...this.defaultOptions, ...options });
457
+ return NpmAutopackage.Create({ ...this.defaultOptions, ...options });
413
458
  }
414
459
  }
415
- _a = NpmAutopackageTest;
416
- NpmAutopackageTest.packageJsonPath = 'package.json';
417
- NpmAutopackageTest.gitignorePath = '.gitignore';
418
- NpmAutopackageTest.buildDirGitignorePattern = '\nbuild/\n';
419
- NpmAutopackageTest.setupVscodeCmd = 'spruce setup.vscode --all true';
420
- NpmAutopackageTest.checkGenerateIdVersionCmd = `yarn info @neurodevs/generate-id version --silent`;
421
- NpmAutopackageTest.yarnGlobalDirCmd = 'yarn global dir';
422
- NpmAutopackageTest.fakeGlobalRoot = (0, generate_id_1.default)();
423
- NpmAutopackageTest.packageName = (0, generate_id_1.default)();
424
- NpmAutopackageTest.packageDescription = (0, generate_id_1.default)();
425
- NpmAutopackageTest.gitNamespace = (0, generate_id_1.default)();
426
- NpmAutopackageTest.npmNamespace = (0, generate_id_1.default)();
427
- NpmAutopackageTest.installDir = (0, generate_id_1.default)();
428
- NpmAutopackageTest.keywords = [(0, generate_id_1.default)(), (0, generate_id_1.default)()];
429
- NpmAutopackageTest.license = (0, generate_id_1.default)();
430
- NpmAutopackageTest.author = (0, generate_id_1.default)();
431
- NpmAutopackageTest.githubToken = (0, generate_id_1.default)();
432
- NpmAutopackageTest.metaNodeVersion = (0, generate_id_1.default)();
433
- NpmAutopackageTest.randomId = (0, generate_id_1.default)();
434
- NpmAutopackageTest.dependencies = {
435
- [(0, generate_id_1.default)()]: (0, generate_id_1.default)(),
436
- [(0, generate_id_1.default)()]: (0, generate_id_1.default)(),
437
- };
438
- NpmAutopackageTest.tasksJsonPath = '.vscode/tasks.json';
439
- NpmAutopackageTest.originalTasksJson = {
440
- [this.randomId]: _a.randomId,
441
- tasks: [
442
- {
443
- [this.randomId]: _a.randomId,
444
- },
445
- ],
446
- inputs: [
447
- {
448
- [this.randomId]: _a.randomId,
449
- },
450
- ],
451
- };
452
- NpmAutopackageTest.defaultOptions = {
453
- name: _a.packageName,
454
- description: _a.packageDescription,
455
- gitNamespace: _a.gitNamespace,
456
- npmNamespace: _a.npmNamespace,
457
- installDir: _a.installDir,
458
- keywords: _a.keywords,
459
- license: _a.license,
460
- author: _a.author,
461
- };
462
- exports.default = NpmAutopackageTest;
463
460
  __decorate([
464
- (0, test_utils_1.test)()
461
+ test()
465
462
  ], NpmAutopackageTest, "createsInstance", null);
466
463
  __decorate([
467
- (0, test_utils_1.test)()
464
+ test()
468
465
  ], NpmAutopackageTest, "throwsIfGithubTokenNotSet", null);
469
466
  __decorate([
470
- (0, test_utils_1.test)()
467
+ test()
471
468
  ], NpmAutopackageTest, "firstCreateRepoInGithubOrg", null);
472
469
  __decorate([
473
- (0, test_utils_1.test)()
470
+ test()
474
471
  ], NpmAutopackageTest, "thenChdirToInstallDir", null);
475
472
  __decorate([
476
- (0, test_utils_1.test)()
473
+ test()
477
474
  ], NpmAutopackageTest, "thenGitClone", null);
478
475
  __decorate([
479
- (0, test_utils_1.test)()
476
+ test()
480
477
  ], NpmAutopackageTest, "thenChdirToPackageDir", null);
481
478
  __decorate([
482
- (0, test_utils_1.test)()
483
- ], NpmAutopackageTest, "thenGitPull", null);
479
+ test()
480
+ ], NpmAutopackageTest, "thenGitFetchOrigin", null);
481
+ __decorate([
482
+ test()
483
+ ], NpmAutopackageTest, "thenGitFetchResetHard", null);
484
484
  __decorate([
485
- (0, test_utils_1.test)()
485
+ test()
486
486
  ], NpmAutopackageTest, "thenSpruceCreateModule", null);
487
487
  __decorate([
488
- (0, test_utils_1.test)()
488
+ test()
489
489
  ], NpmAutopackageTest, "thenCommitCreatePackage", null);
490
490
  __decorate([
491
- (0, test_utils_1.test)()
491
+ test()
492
492
  ], NpmAutopackageTest, "thenReadPackageJson", null);
493
493
  __decorate([
494
- (0, test_utils_1.test)()
494
+ test()
495
495
  ], NpmAutopackageTest, "thenUpdatePackageJson", null);
496
496
  __decorate([
497
- (0, test_utils_1.test)()
497
+ test()
498
498
  ], NpmAutopackageTest, "thenCommitUpdatePackage", null);
499
499
  __decorate([
500
- (0, test_utils_1.test)()
500
+ test()
501
501
  ], NpmAutopackageTest, "thenAddBuildDirToGitignore", null);
502
502
  __decorate([
503
- (0, test_utils_1.test)()
503
+ test()
504
504
  ], NpmAutopackageTest, "thenCommitUpdateGitignore", null);
505
505
  __decorate([
506
- (0, test_utils_1.test)()
506
+ test()
507
507
  ], NpmAutopackageTest, "thenSpruceSetupVscode", null);
508
508
  __decorate([
509
- (0, test_utils_1.test)()
509
+ test()
510
510
  ], NpmAutopackageTest, "thenCommitVscodeChanges", null);
511
511
  __decorate([
512
- (0, test_utils_1.test)()
512
+ test()
513
513
  ], NpmAutopackageTest, "thenUpdatesVscodeTasksJson", null);
514
514
  __decorate([
515
- (0, test_utils_1.test)()
515
+ test()
516
516
  ], NpmAutopackageTest, "thenCommitsUpdateVscodeTasksJson", null);
517
517
  __decorate([
518
- (0, test_utils_1.test)()
518
+ test()
519
519
  ], NpmAutopackageTest, "thenInstallsDefaultDevDependencies", null);
520
520
  __decorate([
521
- (0, test_utils_1.test)()
521
+ test()
522
522
  ], NpmAutopackageTest, "thenCommitsInstallDefaultDevDependencies", null);
523
523
  __decorate([
524
- (0, test_utils_1.test)()
524
+ test()
525
525
  ], NpmAutopackageTest, "lastlyOpensVscodeAtEnd", null);
526
526
  __decorate([
527
- (0, test_utils_1.test)()
527
+ test()
528
528
  ], NpmAutopackageTest, "doesNotCreateRepoInGithubOrgIfDone", null);
529
529
  __decorate([
530
- (0, test_utils_1.test)()
530
+ test()
531
531
  ], NpmAutopackageTest, "doesNotCloneRepoIfDone", null);
532
532
  __decorate([
533
- (0, test_utils_1.test)()
533
+ test()
534
534
  ], NpmAutopackageTest, "doesNotSpruceCreateModuleIfDone", null);
535
535
  __decorate([
536
- (0, test_utils_1.test)()
536
+ test()
537
537
  ], NpmAutopackageTest, "doesNotRunSetupVscodeIfDone", null);
538
538
  __decorate([
539
- (0, test_utils_1.test)()
539
+ test()
540
540
  ], NpmAutopackageTest, "doesNotCommitCreatePackageIfDone", null);
541
541
  __decorate([
542
- (0, test_utils_1.test)()
542
+ test()
543
543
  ], NpmAutopackageTest, "doesNotCommitUpdatePackageIfDone", null);
544
544
  __decorate([
545
- (0, test_utils_1.test)()
545
+ test()
546
546
  ], NpmAutopackageTest, "doesNotCommitUpdateGitignoreIfDone", null);
547
547
  __decorate([
548
- (0, test_utils_1.test)()
548
+ test()
549
549
  ], NpmAutopackageTest, "doesNotCommitSetupVscodeIfDone", null);
550
550
  __decorate([
551
- (0, test_utils_1.test)()
551
+ test()
552
552
  ], NpmAutopackageTest, "doesNotOverrideOriginalDependencies", null);
553
553
  __decorate([
554
- (0, test_utils_1.test)()
554
+ test()
555
555
  ], NpmAutopackageTest, "doesNotUpdateTasksJsonIfAlreadyDone", null);
556
556
  __decorate([
557
- (0, test_utils_1.test)()
557
+ test()
558
558
  ], NpmAutopackageTest, "doesNotOpenVscodeIfNotCloned", null);
559
559
  __decorate([
560
- (0, test_utils_1.test)()
560
+ test()
561
561
  ], NpmAutopackageTest, "doesNotInstallDevDependenciesIfLatest", null);
562
562
  __decorate([
563
- (0, test_utils_1.test)()
563
+ test()
564
564
  ], NpmAutopackageTest, "doesNotThrowIfGenerateIdNotInPackageJson", null);
565
565
  //# sourceMappingURL=NpmAutopackage.test.js.map