@neurodevs/meta-node 0.14.26 → 0.14.29

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.
@@ -81,11 +81,11 @@ export default class ImplAutomoduleTest extends AbstractAutomoduleTest {
81
81
  }
82
82
  static get testFilePattern() {
83
83
  return `
84
- import AbstractSpruceTest, { test, assert } from '@neurodevs/node-tdd'
84
+ import AbstractModuleTest, { test, assert } from '@neurodevs/node-tdd'
85
85
 
86
86
  import ${this.implName}, { ${this.interfaceName} } from '../../impl/${this.implName}.js'
87
87
 
88
- export default class ${this.implName}Test extends AbstractSpruceTest {
88
+ export default class ${this.implName}Test extends AbstractModuleTest {
89
89
  private static instance: ${this.interfaceName}
90
90
 
91
91
  protected static async beforeEach() {
@@ -152,16 +152,34 @@ export default class ImplAutomoduleTest extends AbstractAutomoduleTest {
152
152
  `;
153
153
  }
154
154
  static get sortedIndexFile() {
155
- const blocks = `${this.originalIndexFile}${this.indexFilePattern}`
155
+ const blocks = this.originalIndexFile
156
156
  .split(/(?=\/\/)/)
157
157
  .map((s) => s.trim())
158
158
  .filter(Boolean);
159
- blocks.sort((a, b) => {
160
- const aKey = a.match(/^\/\/\s*([^\n]*)/)?.[1]?.trim() ?? '';
161
- const bKey = b.match(/^\/\/\s*([^\n]*)/)?.[1]?.trim() ?? '';
162
- return aKey.localeCompare(bKey);
163
- });
164
- return blocks.join('\n\n');
159
+ const newBlock = this.indexFilePattern.trim();
160
+ const newKey = newBlock
161
+ .match(/^\/\/\s*([^\n]*)/)?.[1]
162
+ ?.trim()
163
+ .toLowerCase() ?? '';
164
+ let inserted = false;
165
+ const result = [];
166
+ for (const block of blocks) {
167
+ if (!inserted) {
168
+ const blockKey = block
169
+ .match(/^\/\/\s*([^\n]*)/)?.[1]
170
+ ?.trim()
171
+ .toLowerCase() ?? '';
172
+ if (newKey.localeCompare(blockKey) < 0) {
173
+ result.push(newBlock);
174
+ inserted = true;
175
+ }
176
+ }
177
+ result.push(block);
178
+ }
179
+ if (!inserted) {
180
+ result.push(newBlock);
181
+ }
182
+ return result.join('\n\n');
165
183
  }
166
184
  static ImplAutomodule() {
167
185
  return ImplAutomodule.Create({
@@ -1 +1 @@
1
- {"version":3,"file":"ImplAutomodule.test.js","sourceRoot":"","sources":["../../../src/__tests__/impl/ImplAutomodule.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ImplAutomodule.test.js","sourceRoot":"","sources":["../../../src/__tests__/impl/ImplAutomodule.test.ts"],"names":[],"mappings":"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"}
@@ -173,16 +173,34 @@ export default class UiAutomoduleTest extends AbstractAutomoduleTest {
173
173
  `;
174
174
  }
175
175
  static get sortedIndexFile() {
176
- const blocks = `${this.originalIndexFile}${this.indexFilePattern}`
176
+ const blocks = this.originalIndexFile
177
177
  .split(/(?=\/\/)/)
178
178
  .map((s) => s.trim())
179
179
  .filter(Boolean);
180
- blocks.sort((a, b) => {
181
- const aKey = a.match(/^\/\/\s*([^\n]*)/)?.[1]?.trim() ?? '';
182
- const bKey = b.match(/^\/\/\s*([^\n]*)/)?.[1]?.trim() ?? '';
183
- return aKey.localeCompare(bKey);
184
- });
185
- return blocks.join('\n\n');
180
+ const newBlock = this.indexFilePattern.trim();
181
+ const newKey = newBlock
182
+ .match(/^\/\/\s*([^\n]*)/)?.[1]
183
+ ?.trim()
184
+ .toLowerCase() ?? '';
185
+ let inserted = false;
186
+ const result = [];
187
+ for (const block of blocks) {
188
+ if (!inserted) {
189
+ const blockKey = block
190
+ .match(/^\/\/\s*([^\n]*)/)?.[1]
191
+ ?.trim()
192
+ .toLowerCase() ?? '';
193
+ if (newKey.localeCompare(blockKey) < 0) {
194
+ result.push(newBlock);
195
+ inserted = true;
196
+ }
197
+ }
198
+ result.push(block);
199
+ }
200
+ if (!inserted) {
201
+ result.push(newBlock);
202
+ }
203
+ return result.join('\n\n');
186
204
  }
187
205
  static toKebabCase(str) {
188
206
  return str
@@ -1 +1 @@
1
- {"version":3,"file":"UiAutomodule.test.js","sourceRoot":"","sources":["../../../src/__tests__/impl/UiAutomodule.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"UiAutomodule.test.js","sourceRoot":"","sources":["../../../src/__tests__/impl/UiAutomodule.test.ts"],"names":[],"mappings":"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"}
@@ -108,16 +108,34 @@ export default class AbstractAutomodule {
108
108
  }
109
109
  backupIndexFilePath = './src/exports.ts';
110
110
  get sortedIndexFile() {
111
- const blocks = `${this.originalIndexFile}${this.indexFileContent}`
111
+ const blocks = this.originalIndexFile
112
112
  .split(/(?=\/\/)/)
113
113
  .map((s) => s.trim())
114
114
  .filter(Boolean);
115
- blocks.sort((a, b) => {
116
- const aKey = a.match(/^\/\/\s*([^\n]*)/)?.[1]?.trim() ?? '';
117
- const bKey = b.match(/^\/\/\s*([^\n]*)/)?.[1]?.trim() ?? '';
118
- return aKey.localeCompare(bKey);
119
- });
120
- return blocks.join('\n\n');
115
+ const newBlock = this.indexFileContent.trim();
116
+ const newKey = newBlock
117
+ .match(/^\/\/\s*([^\n]*)/)?.[1]
118
+ ?.trim()
119
+ .toLowerCase() ?? '';
120
+ let inserted = false;
121
+ const result = [];
122
+ for (const block of blocks) {
123
+ if (!inserted) {
124
+ const blockKey = block
125
+ .match(/^\/\/\s*([^\n]*)/)?.[1]
126
+ ?.trim()
127
+ .toLowerCase() ?? '';
128
+ if (newKey.localeCompare(blockKey) < 0) {
129
+ result.push(newBlock);
130
+ inserted = true;
131
+ }
132
+ }
133
+ result.push(block);
134
+ }
135
+ if (!inserted) {
136
+ result.push(newBlock);
137
+ }
138
+ return result.join('\n\n');
121
139
  }
122
140
  async bumpMinorVersion() {
123
141
  await this.exec('yarn version --minor --no-git-tag-version');
@@ -1 +1 @@
1
- {"version":3,"file":"AbstractAutomodule.js","sourceRoot":"","sources":["../../src/impl/AbstractAutomodule.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AbstractAutomodule.js","sourceRoot":"","sources":["../../src/impl/AbstractAutomodule.ts"],"names":[],"mappings":"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"}
@@ -29,11 +29,11 @@ export default class ImplAutomodule extends AbstractAutomodule {
29
29
  }
30
30
  get testFilePattern() {
31
31
  return `
32
- import AbstractSpruceTest, { test, assert } from '@neurodevs/node-tdd'
32
+ import AbstractModuleTest, { test, assert } from '@neurodevs/node-tdd'
33
33
 
34
34
  import ${this.implName}, { ${this.interfaceName} } from '../../impl/${this.implName}.js'
35
35
 
36
- export default class ${this.implName}Test extends AbstractSpruceTest {
36
+ export default class ${this.implName}Test extends AbstractModuleTest {
37
37
  private static instance: ${this.interfaceName}
38
38
 
39
39
  protected static async beforeEach() {
@@ -3,9 +3,9 @@ import ImplAutomodule from '../impl/ImplAutomodule.js';
3
3
  async function main() {
4
4
  console.log('\nRunning automodule...');
5
5
  const instance = ImplAutomodule.Create({
6
- testSaveDir: expandHomeDir('~/dev/meta-node/src/__tests__/modules'),
7
- moduleSaveDir: expandHomeDir('~/dev/meta-node/src/modules'),
8
- fakeSaveDir: expandHomeDir('~/dev/meta-node/src/testDoubles/Interface'),
6
+ testSaveDir: expandHomeDir('~/dev/meta-node/src/__tests__/impl'),
7
+ moduleSaveDir: expandHomeDir('~/dev/meta-node/src/impl'),
8
+ fakeSaveDir: expandHomeDir('~/dev/meta-node/src/testDoubles'),
9
9
  interfaceName: 'Interface',
10
10
  implName: 'InterfaceImpl',
11
11
  });
@@ -1 +1 @@
1
- {"version":3,"file":"runImplAutomodule.js","sourceRoot":"","sources":["../../src/scripts/runImplAutomodule.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,MAAM,+BAA+B,CAAA;AACzD,OAAO,cAAc,MAAM,2BAA2B,CAAA;AAEtD,KAAK,UAAU,IAAI;IACf,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAA;IAEtC,MAAM,QAAQ,GAAG,cAAc,CAAC,MAAM,CAAC;QACnC,WAAW,EAAE,aAAa,CAAC,uCAAuC,CAAC;QACnE,aAAa,EAAE,aAAa,CAAC,6BAA6B,CAAC;QAC3D,WAAW,EAAE,aAAa,CAAC,2CAA2C,CAAC;QACvE,aAAa,EAAE,WAAW;QAC1B,QAAQ,EAAE,eAAe;KAC5B,CAAC,CAAA;IAEF,MAAM,QAAQ,CAAC,GAAG,EAAE,CAAA;IAEpB,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAA;AACjD,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;IACjB,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAClB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AACnB,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"runImplAutomodule.js","sourceRoot":"","sources":["../../src/scripts/runImplAutomodule.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,MAAM,+BAA+B,CAAA;AACzD,OAAO,cAAc,MAAM,2BAA2B,CAAA;AAEtD,KAAK,UAAU,IAAI;IACf,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAA;IAEtC,MAAM,QAAQ,GAAG,cAAc,CAAC,MAAM,CAAC;QACnC,WAAW,EAAE,aAAa,CAAC,oCAAoC,CAAC;QAChE,aAAa,EAAE,aAAa,CAAC,0BAA0B,CAAC;QACxD,WAAW,EAAE,aAAa,CAAC,iCAAiC,CAAC;QAC7D,aAAa,EAAE,WAAW;QAC1B,QAAQ,EAAE,eAAe;KAC5B,CAAC,CAAA;IAEF,MAAM,QAAQ,CAAC,GAAG,EAAE,CAAA;IAEpB,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAA;AACjD,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;IACjB,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAClB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AACnB,CAAC,CAAC,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@neurodevs/meta-node",
3
- "version": "0.14.26",
3
+ "version": "0.14.29",
4
4
  "description": "Meta-layer utilities for maintaining Node.js package ecosystems.",
5
5
  "type": "module",
6
6
  "keywords": [
@@ -136,11 +136,11 @@ export default class ImplAutomoduleTest extends AbstractAutomoduleTest {
136
136
 
137
137
  private static get testFilePattern() {
138
138
  return `
139
- import AbstractSpruceTest, { test, assert } from '@neurodevs/node-tdd'
139
+ import AbstractModuleTest, { test, assert } from '@neurodevs/node-tdd'
140
140
 
141
141
  import ${this.implName}, { ${this.interfaceName} } from '../../impl/${this.implName}.js'
142
142
 
143
- export default class ${this.implName}Test extends AbstractSpruceTest {
143
+ export default class ${this.implName}Test extends AbstractModuleTest {
144
144
  private static instance: ${this.interfaceName}
145
145
 
146
146
  protected static async beforeEach() {
@@ -211,18 +211,44 @@ export default class ImplAutomoduleTest extends AbstractAutomoduleTest {
211
211
  }
212
212
 
213
213
  private static get sortedIndexFile() {
214
- const blocks = `${this.originalIndexFile}${this.indexFilePattern}`
214
+ const blocks = this.originalIndexFile
215
215
  .split(/(?=\/\/)/)
216
216
  .map((s) => s.trim())
217
217
  .filter(Boolean)
218
218
 
219
- blocks.sort((a, b) => {
220
- const aKey = a.match(/^\/\/\s*([^\n]*)/)?.[1]?.trim() ?? ''
221
- const bKey = b.match(/^\/\/\s*([^\n]*)/)?.[1]?.trim() ?? ''
222
- return aKey.localeCompare(bKey)
223
- })
219
+ const newBlock = this.indexFilePattern.trim()
220
+
221
+ const newKey =
222
+ newBlock
223
+ .match(/^\/\/\s*([^\n]*)/)?.[1]
224
+ ?.trim()
225
+ .toLowerCase() ?? ''
226
+
227
+ let inserted = false
228
+ const result: string[] = []
229
+
230
+ for (const block of blocks) {
231
+ if (!inserted) {
232
+ const blockKey =
233
+ block
234
+ .match(/^\/\/\s*([^\n]*)/)?.[1]
235
+ ?.trim()
236
+ .toLowerCase() ?? ''
237
+
238
+ if (newKey.localeCompare(blockKey) < 0) {
239
+ result.push(newBlock)
240
+ inserted = true
241
+ }
242
+ }
243
+
244
+ result.push(block)
245
+ }
246
+
247
+ if (!inserted) {
248
+ result.push(newBlock)
249
+ }
224
250
 
225
- return blocks.join('\n\n')
251
+ return result.join('\n\n')
226
252
  }
227
253
 
228
254
  private static ImplAutomodule() {
@@ -234,18 +234,44 @@ export default class UiAutomoduleTest extends AbstractAutomoduleTest {
234
234
  }
235
235
 
236
236
  private static get sortedIndexFile() {
237
- const blocks = `${this.originalIndexFile}${this.indexFilePattern}`
237
+ const blocks = this.originalIndexFile
238
238
  .split(/(?=\/\/)/)
239
239
  .map((s) => s.trim())
240
240
  .filter(Boolean)
241
241
 
242
- blocks.sort((a, b) => {
243
- const aKey = a.match(/^\/\/\s*([^\n]*)/)?.[1]?.trim() ?? ''
244
- const bKey = b.match(/^\/\/\s*([^\n]*)/)?.[1]?.trim() ?? ''
245
- return aKey.localeCompare(bKey)
246
- })
242
+ const newBlock = this.indexFilePattern.trim()
243
+
244
+ const newKey =
245
+ newBlock
246
+ .match(/^\/\/\s*([^\n]*)/)?.[1]
247
+ ?.trim()
248
+ .toLowerCase() ?? ''
249
+
250
+ let inserted = false
251
+ const result: string[] = []
252
+
253
+ for (const block of blocks) {
254
+ if (!inserted) {
255
+ const blockKey =
256
+ block
257
+ .match(/^\/\/\s*([^\n]*)/)?.[1]
258
+ ?.trim()
259
+ .toLowerCase() ?? ''
260
+
261
+ if (newKey.localeCompare(blockKey) < 0) {
262
+ result.push(newBlock)
263
+ inserted = true
264
+ }
265
+ }
266
+
267
+ result.push(block)
268
+ }
269
+
270
+ if (!inserted) {
271
+ result.push(newBlock)
272
+ }
247
273
 
248
- return blocks.join('\n\n')
274
+ return result.join('\n\n')
249
275
  }
250
276
 
251
277
  private static toKebabCase(str: string): string {
@@ -151,18 +151,44 @@ export default abstract class AbstractAutomodule implements Automodule {
151
151
  private readonly backupIndexFilePath = './src/exports.ts'
152
152
 
153
153
  private get sortedIndexFile() {
154
- const blocks = `${this.originalIndexFile}${this.indexFileContent}`
154
+ const blocks = this.originalIndexFile
155
155
  .split(/(?=\/\/)/)
156
156
  .map((s) => s.trim())
157
157
  .filter(Boolean)
158
158
 
159
- blocks.sort((a, b) => {
160
- const aKey = a.match(/^\/\/\s*([^\n]*)/)?.[1]?.trim() ?? ''
161
- const bKey = b.match(/^\/\/\s*([^\n]*)/)?.[1]?.trim() ?? ''
162
- return aKey.localeCompare(bKey)
163
- })
159
+ const newBlock = this.indexFileContent.trim()
164
160
 
165
- return blocks.join('\n\n')
161
+ const newKey =
162
+ newBlock
163
+ .match(/^\/\/\s*([^\n]*)/)?.[1]
164
+ ?.trim()
165
+ .toLowerCase() ?? ''
166
+
167
+ let inserted = false
168
+ const result: string[] = []
169
+
170
+ for (const block of blocks) {
171
+ if (!inserted) {
172
+ const blockKey =
173
+ block
174
+ .match(/^\/\/\s*([^\n]*)/)?.[1]
175
+ ?.trim()
176
+ .toLowerCase() ?? ''
177
+
178
+ if (newKey.localeCompare(blockKey) < 0) {
179
+ result.push(newBlock)
180
+ inserted = true
181
+ }
182
+ }
183
+
184
+ result.push(block)
185
+ }
186
+
187
+ if (!inserted) {
188
+ result.push(newBlock)
189
+ }
190
+
191
+ return result.join('\n\n')
166
192
  }
167
193
 
168
194
  private async bumpMinorVersion() {
@@ -44,11 +44,11 @@ export default class ImplAutomodule extends AbstractAutomodule {
44
44
 
45
45
  private get testFilePattern() {
46
46
  return `
47
- import AbstractSpruceTest, { test, assert } from '@neurodevs/node-tdd'
47
+ import AbstractModuleTest, { test, assert } from '@neurodevs/node-tdd'
48
48
 
49
49
  import ${this.implName}, { ${this.interfaceName} } from '../../impl/${this.implName}.js'
50
50
 
51
- export default class ${this.implName}Test extends AbstractSpruceTest {
51
+ export default class ${this.implName}Test extends AbstractModuleTest {
52
52
  private static instance: ${this.interfaceName}
53
53
 
54
54
  protected static async beforeEach() {
@@ -5,9 +5,9 @@ async function main() {
5
5
  console.log('\nRunning automodule...')
6
6
 
7
7
  const instance = ImplAutomodule.Create({
8
- testSaveDir: expandHomeDir('~/dev/meta-node/src/__tests__/modules'),
9
- moduleSaveDir: expandHomeDir('~/dev/meta-node/src/modules'),
10
- fakeSaveDir: expandHomeDir('~/dev/meta-node/src/testDoubles/Interface'),
8
+ testSaveDir: expandHomeDir('~/dev/meta-node/src/__tests__/impl'),
9
+ moduleSaveDir: expandHomeDir('~/dev/meta-node/src/impl'),
10
+ fakeSaveDir: expandHomeDir('~/dev/meta-node/src/testDoubles'),
11
11
  interfaceName: 'Interface',
12
12
  implName: 'InterfaceImpl',
13
13
  })