@ingenyus/swarm-wasp 1.1.0 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/.tsbuildinfo +1 -1
- package/dist/common/index.js +29 -6
- package/dist/common/wasp-compatibility.d.ts.map +1 -1
- package/dist/common/wasp-compatibility.js +29 -6
- package/dist/generators/action/action-generator.js +29 -6
- package/dist/generators/action/index.js +29 -6
- package/dist/generators/action/schema.js +1 -1
- package/dist/generators/api/api-generator.js +29 -6
- package/dist/generators/api/index.js +29 -6
- package/dist/generators/api/schema.js +1 -1
- package/dist/generators/api-namespace/api-namespace-generator.js +29 -6
- package/dist/generators/api-namespace/index.js +29 -6
- package/dist/generators/api-namespace/schema.js +1 -1
- package/dist/generators/base/component-generator.base.js +29 -6
- package/dist/generators/base/index.js +29 -6
- package/dist/generators/base/operation-generator.base.js +29 -6
- package/dist/generators/base/wasp-generator.base.js +29 -6
- package/dist/generators/config/index.js +1 -1
- package/dist/generators/config/wasp-config-generator.js +1 -1
- package/dist/generators/crud/crud-generator.js +29 -6
- package/dist/generators/crud/index.js +29 -6
- package/dist/generators/crud/schema.js +1 -1
- package/dist/generators/feature/feature-generator.js +29 -6
- package/dist/generators/feature/index.js +29 -6
- package/dist/generators/feature/schema.js +1 -1
- package/dist/generators/index.js +29 -6
- package/dist/generators/job/index.js +29 -6
- package/dist/generators/job/job-generator.js +29 -6
- package/dist/generators/job/schema.js +1 -1
- package/dist/generators/query/index.js +29 -6
- package/dist/generators/query/query-generator.js +29 -6
- package/dist/generators/query/schema.js +1 -1
- package/dist/generators/route/index.js +29 -6
- package/dist/generators/route/route-generator.js +29 -6
- package/dist/generators/route/schema.js +1 -1
- package/dist/index.js +29 -6
- package/package.json +6 -3
|
@@ -231,14 +231,36 @@ var TemplateUtility = class {
|
|
|
231
231
|
};
|
|
232
232
|
|
|
233
233
|
// src/common/wasp-compatibility.ts
|
|
234
|
-
import { getVersion } from "@ingenyus/swarm";
|
|
234
|
+
import { findPackageJson, getVersion } from "@ingenyus/swarm";
|
|
235
235
|
import { execSync } from "child_process";
|
|
236
236
|
import path4 from "path";
|
|
237
237
|
import { fileURLToPath } from "url";
|
|
238
238
|
import * as semver from "semver";
|
|
239
|
-
var
|
|
240
|
-
|
|
241
|
-
|
|
239
|
+
var cachedSupportedRange = null;
|
|
240
|
+
function getWaspSupportedRange() {
|
|
241
|
+
if (cachedSupportedRange) {
|
|
242
|
+
return cachedSupportedRange;
|
|
243
|
+
}
|
|
244
|
+
const currentFile = fileURLToPath(import.meta.url);
|
|
245
|
+
const currentDir = path4.dirname(currentFile);
|
|
246
|
+
const result = findPackageJson(currentDir, {
|
|
247
|
+
packageName: "@ingenyus/swarm-wasp"
|
|
248
|
+
});
|
|
249
|
+
if (!result) {
|
|
250
|
+
throw new Error(
|
|
251
|
+
"Unable to find package.json for @ingenyus/swarm-wasp. Wasp supported version range must be specified in swarm.wasp field."
|
|
252
|
+
);
|
|
253
|
+
}
|
|
254
|
+
const swarm = result.packageJson.swarm;
|
|
255
|
+
const waspRange = swarm?.wasp;
|
|
256
|
+
if (!waspRange) {
|
|
257
|
+
throw new Error(
|
|
258
|
+
`Wasp supported version range not found in package.json. Please specify swarm.wasp field in @ingenyus/swarm-wasp package.json (e.g., "swarm": { "wasp": ">=0.18.0 <0.20.0" }).`
|
|
259
|
+
);
|
|
260
|
+
}
|
|
261
|
+
cachedSupportedRange = waspRange;
|
|
262
|
+
return cachedSupportedRange;
|
|
263
|
+
}
|
|
242
264
|
function getInstalledWaspVersion(logger) {
|
|
243
265
|
try {
|
|
244
266
|
const output = execSync("wasp version", {
|
|
@@ -277,11 +299,12 @@ function assertWaspCompatible(logger) {
|
|
|
277
299
|
return;
|
|
278
300
|
}
|
|
279
301
|
const version = getInstalledWaspVersion(logger);
|
|
280
|
-
|
|
302
|
+
const supportedRange = getWaspSupportedRange();
|
|
303
|
+
if (!semver.satisfies(version, supportedRange)) {
|
|
281
304
|
const startDir = path4.dirname(fileURLToPath(import.meta.url));
|
|
282
305
|
const packageVersion = getVersion("@ingenyus/swarm-wasp", startDir);
|
|
283
306
|
logger.error(
|
|
284
|
-
`Incompatible Wasp version detected: ${version}. @ingenyus/swarm-wasp@${packageVersion} supports Wasp ${
|
|
307
|
+
`Incompatible Wasp version detected: ${version}. @ingenyus/swarm-wasp@${packageVersion} supports Wasp ${supportedRange}.`
|
|
285
308
|
);
|
|
286
309
|
throw new Error("Incompatible Wasp version");
|
|
287
310
|
}
|
|
@@ -105,7 +105,7 @@ import { toKebabCase } from "@ingenyus/swarm";
|
|
|
105
105
|
import { Eta } from "eta";
|
|
106
106
|
|
|
107
107
|
// src/common/wasp-compatibility.ts
|
|
108
|
-
import { getVersion } from "@ingenyus/swarm";
|
|
108
|
+
import { findPackageJson, getVersion } from "@ingenyus/swarm";
|
|
109
109
|
import { execSync } from "child_process";
|
|
110
110
|
import path2 from "path";
|
|
111
111
|
import { fileURLToPath } from "url";
|
package/dist/index.js
CHANGED
|
@@ -397,14 +397,36 @@ var TemplateUtility = class {
|
|
|
397
397
|
};
|
|
398
398
|
|
|
399
399
|
// src/common/wasp-compatibility.ts
|
|
400
|
-
import { getVersion } from "@ingenyus/swarm";
|
|
400
|
+
import { findPackageJson, getVersion } from "@ingenyus/swarm";
|
|
401
401
|
import { execSync } from "child_process";
|
|
402
402
|
import path4 from "path";
|
|
403
403
|
import { fileURLToPath } from "url";
|
|
404
404
|
import * as semver from "semver";
|
|
405
|
-
var
|
|
406
|
-
|
|
407
|
-
|
|
405
|
+
var cachedSupportedRange = null;
|
|
406
|
+
function getWaspSupportedRange() {
|
|
407
|
+
if (cachedSupportedRange) {
|
|
408
|
+
return cachedSupportedRange;
|
|
409
|
+
}
|
|
410
|
+
const currentFile = fileURLToPath(import.meta.url);
|
|
411
|
+
const currentDir = path4.dirname(currentFile);
|
|
412
|
+
const result = findPackageJson(currentDir, {
|
|
413
|
+
packageName: "@ingenyus/swarm-wasp"
|
|
414
|
+
});
|
|
415
|
+
if (!result) {
|
|
416
|
+
throw new Error(
|
|
417
|
+
"Unable to find package.json for @ingenyus/swarm-wasp. Wasp supported version range must be specified in swarm.wasp field."
|
|
418
|
+
);
|
|
419
|
+
}
|
|
420
|
+
const swarm = result.packageJson.swarm;
|
|
421
|
+
const waspRange = swarm?.wasp;
|
|
422
|
+
if (!waspRange) {
|
|
423
|
+
throw new Error(
|
|
424
|
+
`Wasp supported version range not found in package.json. Please specify swarm.wasp field in @ingenyus/swarm-wasp package.json (e.g., "swarm": { "wasp": ">=0.18.0 <0.20.0" }).`
|
|
425
|
+
);
|
|
426
|
+
}
|
|
427
|
+
cachedSupportedRange = waspRange;
|
|
428
|
+
return cachedSupportedRange;
|
|
429
|
+
}
|
|
408
430
|
function getInstalledWaspVersion(logger) {
|
|
409
431
|
try {
|
|
410
432
|
const output = execSync("wasp version", {
|
|
@@ -443,11 +465,12 @@ function assertWaspCompatible(logger) {
|
|
|
443
465
|
return;
|
|
444
466
|
}
|
|
445
467
|
const version = getInstalledWaspVersion(logger);
|
|
446
|
-
|
|
468
|
+
const supportedRange = getWaspSupportedRange();
|
|
469
|
+
if (!semver.satisfies(version, supportedRange)) {
|
|
447
470
|
const startDir = path4.dirname(fileURLToPath(import.meta.url));
|
|
448
471
|
const packageVersion = getVersion("@ingenyus/swarm-wasp", startDir);
|
|
449
472
|
logger.error(
|
|
450
|
-
`Incompatible Wasp version detected: ${version}. @ingenyus/swarm-wasp@${packageVersion} supports Wasp ${
|
|
473
|
+
`Incompatible Wasp version detected: ${version}. @ingenyus/swarm-wasp@${packageVersion} supports Wasp ${supportedRange}.`
|
|
451
474
|
);
|
|
452
475
|
throw new Error("Incompatible Wasp version");
|
|
453
476
|
}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ingenyus/swarm-wasp",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "1.
|
|
4
|
+
"version": "1.2.0",
|
|
5
5
|
"description": "Wasp-specific plugins for Swarm - Feature generators, commands, MCP tools, and enhanced Wasp configuration for Wasp development",
|
|
6
6
|
"main": "dist/index.js",
|
|
7
7
|
"types": "dist/index.d.ts",
|
|
@@ -37,13 +37,16 @@
|
|
|
37
37
|
"url": "https://github.com/Genyus/swarm/issues"
|
|
38
38
|
},
|
|
39
39
|
"engines": {
|
|
40
|
-
"node": ">=
|
|
40
|
+
"node": ">=22.12.0"
|
|
41
|
+
},
|
|
42
|
+
"swarm": {
|
|
43
|
+
"wasp": ">=0.18.0 <0.21.0"
|
|
41
44
|
},
|
|
42
45
|
"dependencies": {
|
|
43
46
|
"@mrleebo/prisma-ast": "^0.13.1",
|
|
44
47
|
"eta": "^4.4.1",
|
|
45
48
|
"semver": "^7.6.3",
|
|
46
|
-
"@ingenyus/swarm": "1.0.
|
|
49
|
+
"@ingenyus/swarm": "1.0.4"
|
|
47
50
|
},
|
|
48
51
|
"peerDependencies": {
|
|
49
52
|
"wasp-config": "*",
|