@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.
Files changed (37) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/common/index.js +29 -6
  3. package/dist/common/wasp-compatibility.d.ts.map +1 -1
  4. package/dist/common/wasp-compatibility.js +29 -6
  5. package/dist/generators/action/action-generator.js +29 -6
  6. package/dist/generators/action/index.js +29 -6
  7. package/dist/generators/action/schema.js +1 -1
  8. package/dist/generators/api/api-generator.js +29 -6
  9. package/dist/generators/api/index.js +29 -6
  10. package/dist/generators/api/schema.js +1 -1
  11. package/dist/generators/api-namespace/api-namespace-generator.js +29 -6
  12. package/dist/generators/api-namespace/index.js +29 -6
  13. package/dist/generators/api-namespace/schema.js +1 -1
  14. package/dist/generators/base/component-generator.base.js +29 -6
  15. package/dist/generators/base/index.js +29 -6
  16. package/dist/generators/base/operation-generator.base.js +29 -6
  17. package/dist/generators/base/wasp-generator.base.js +29 -6
  18. package/dist/generators/config/index.js +1 -1
  19. package/dist/generators/config/wasp-config-generator.js +1 -1
  20. package/dist/generators/crud/crud-generator.js +29 -6
  21. package/dist/generators/crud/index.js +29 -6
  22. package/dist/generators/crud/schema.js +1 -1
  23. package/dist/generators/feature/feature-generator.js +29 -6
  24. package/dist/generators/feature/index.js +29 -6
  25. package/dist/generators/feature/schema.js +1 -1
  26. package/dist/generators/index.js +29 -6
  27. package/dist/generators/job/index.js +29 -6
  28. package/dist/generators/job/job-generator.js +29 -6
  29. package/dist/generators/job/schema.js +1 -1
  30. package/dist/generators/query/index.js +29 -6
  31. package/dist/generators/query/query-generator.js +29 -6
  32. package/dist/generators/query/schema.js +1 -1
  33. package/dist/generators/route/index.js +29 -6
  34. package/dist/generators/route/route-generator.js +29 -6
  35. package/dist/generators/route/schema.js +1 -1
  36. package/dist/index.js +29 -6
  37. 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 waspCompatibility = {
240
- supportedRange: ">=0.18.0 <0.20.0"
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
- if (!semver.satisfies(version, waspCompatibility.supportedRange)) {
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 ${waspCompatibility.supportedRange}.`
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 waspCompatibility = {
406
- supportedRange: ">=0.18.0 <0.20.0"
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
- if (!semver.satisfies(version, waspCompatibility.supportedRange)) {
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 ${waspCompatibility.supportedRange}.`
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.1.0",
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": ">=18.0.0"
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.3"
49
+ "@ingenyus/swarm": "1.0.4"
47
50
  },
48
51
  "peerDependencies": {
49
52
  "wasp-config": "*",