@clarigen/cli 3.1.1 → 3.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/index.cjs +15 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +15 -1
- package/dist/index.js.map +1 -1
- package/dist/run-cli.cjs +96 -20
- package/dist/run-cli.cjs.map +1 -1
- package/dist/run-cli.js +88 -12
- package/dist/run-cli.js.map +1 -1
- package/package.json +6 -6
package/dist/run-cli.js
CHANGED
|
@@ -536,6 +536,20 @@ function serializeArray(key, lines) {
|
|
|
536
536
|
}
|
|
537
537
|
|
|
538
538
|
// src/files/variables.ts
|
|
539
|
+
function clarityVersionForContract(contract) {
|
|
540
|
+
switch (contract.contract_interface.clarity_version) {
|
|
541
|
+
case "Clarity1":
|
|
542
|
+
return 1;
|
|
543
|
+
case "Clarity2":
|
|
544
|
+
return 2;
|
|
545
|
+
case "Clarity3":
|
|
546
|
+
return 3;
|
|
547
|
+
case "Clarity4":
|
|
548
|
+
return 4;
|
|
549
|
+
default:
|
|
550
|
+
return 3;
|
|
551
|
+
}
|
|
552
|
+
}
|
|
539
553
|
function getVariablesV2(contract, simnet, verbose) {
|
|
540
554
|
const [deployer] = contract.contract_id.split(".");
|
|
541
555
|
const fakeId = `${getContractName3(contract.contract_id)}-vars`;
|
|
@@ -571,7 +585,7 @@ ${varFn}`;
|
|
|
571
585
|
fakeId,
|
|
572
586
|
fullSrc,
|
|
573
587
|
{
|
|
574
|
-
clarityVersion:
|
|
588
|
+
clarityVersion: clarityVersionForContract(contract)
|
|
575
589
|
},
|
|
576
590
|
deployer
|
|
577
591
|
);
|
|
@@ -637,7 +651,11 @@ async function getSession(config) {
|
|
|
637
651
|
}
|
|
638
652
|
return {
|
|
639
653
|
contract_id,
|
|
640
|
-
contract_interface
|
|
654
|
+
contract_interface: {
|
|
655
|
+
...contract_interface,
|
|
656
|
+
epoch: contract_interface.epoch,
|
|
657
|
+
clarity_version: contract_interface.clarity_version
|
|
658
|
+
},
|
|
641
659
|
source: source ?? ""
|
|
642
660
|
};
|
|
643
661
|
})
|
|
@@ -870,7 +888,7 @@ async function afterESM(config) {
|
|
|
870
888
|
|
|
871
889
|
// src/commands/default-command.ts
|
|
872
890
|
import chokidar from "chokidar";
|
|
873
|
-
import { dirname as dirname4, join as join3, relative as relative4 } from "path";
|
|
891
|
+
import { dirname as dirname4, join as join3, relative as relative4 } from "node:path";
|
|
874
892
|
async function generate(config) {
|
|
875
893
|
const session = await getSession(config);
|
|
876
894
|
const baseFile = generateBaseFile(session);
|
|
@@ -1400,23 +1418,81 @@ output = "docs/"
|
|
|
1400
1418
|
}
|
|
1401
1419
|
|
|
1402
1420
|
// src/commands/docs-command.ts
|
|
1421
|
+
import { dirname as dirname5, join as join4, relative as relative6 } from "node:path";
|
|
1422
|
+
import chokidar2 from "chokidar";
|
|
1423
|
+
async function watch2(config, cwd) {
|
|
1424
|
+
return new Promise(async (resolve3, reject) => {
|
|
1425
|
+
var _a;
|
|
1426
|
+
const session = await getSession(config);
|
|
1427
|
+
try {
|
|
1428
|
+
await generateDocs({
|
|
1429
|
+
session,
|
|
1430
|
+
config
|
|
1431
|
+
});
|
|
1432
|
+
} catch (error) {
|
|
1433
|
+
logger.error({ error }, "Error generating types");
|
|
1434
|
+
}
|
|
1435
|
+
const clarinetFolder = dirname5(config.clarinetFile());
|
|
1436
|
+
const contractsFolder = join4(clarinetFolder, "/contracts/**/*.clar");
|
|
1437
|
+
const relativeFolder = relative6(cwd || process.cwd(), contractsFolder);
|
|
1438
|
+
const watchFolders = ((_a = config.esm) == null ? void 0 : _a.watch_folders) ?? [];
|
|
1439
|
+
watchFolders.push(relativeFolder);
|
|
1440
|
+
logger.info(`Watching for changes in ${watchFolders}`);
|
|
1441
|
+
const watcher = chokidar2.watch(watchFolders, { persistent: true, cwd: clarinetFolder });
|
|
1442
|
+
let running = false;
|
|
1443
|
+
let start = 0;
|
|
1444
|
+
const isVerbose = logger.level !== "info";
|
|
1445
|
+
watcher.on("change", async (path) => {
|
|
1446
|
+
if (!running) {
|
|
1447
|
+
start = Date.now();
|
|
1448
|
+
logger.info(`File ${path} has been changed. Generating types.`);
|
|
1449
|
+
running = true;
|
|
1450
|
+
const session2 = await getSession(config);
|
|
1451
|
+
void generateDocs({
|
|
1452
|
+
session: session2,
|
|
1453
|
+
config
|
|
1454
|
+
}).catch((e) => {
|
|
1455
|
+
logger.error({ error: e }, "Error generating types");
|
|
1456
|
+
}).then(() => {
|
|
1457
|
+
setTimeout(() => {
|
|
1458
|
+
process.stdout.moveCursor(0, -1);
|
|
1459
|
+
process.stdout.clearLine(1);
|
|
1460
|
+
const elapsed = Date.now() - start;
|
|
1461
|
+
logger.info(
|
|
1462
|
+
`Docs generated (${(elapsed / 1e3).toFixed(2)}s). Watching for changes...`
|
|
1463
|
+
);
|
|
1464
|
+
running = false;
|
|
1465
|
+
});
|
|
1466
|
+
});
|
|
1467
|
+
}
|
|
1468
|
+
});
|
|
1469
|
+
});
|
|
1470
|
+
}
|
|
1403
1471
|
var DocsCommand = class extends BaseCommand {
|
|
1404
1472
|
static paths = [["docs"]];
|
|
1405
1473
|
static usage = BaseCommand.Usage({
|
|
1406
1474
|
description: "Generate markdown documentation for your Clarity contracts"
|
|
1407
1475
|
});
|
|
1408
1476
|
cwd = Option4.String({ required: false });
|
|
1477
|
+
watch = Option4.Boolean("-w,--watch", {
|
|
1478
|
+
description: "Watch for changes and regenerate docs",
|
|
1479
|
+
required: false
|
|
1480
|
+
});
|
|
1409
1481
|
async execute() {
|
|
1410
1482
|
this.preexecute();
|
|
1411
1483
|
const config = await Config.load(this.cwd);
|
|
1412
|
-
|
|
1413
|
-
|
|
1414
|
-
|
|
1415
|
-
|
|
1416
|
-
|
|
1417
|
-
|
|
1418
|
-
|
|
1419
|
-
|
|
1484
|
+
if (this.watch) {
|
|
1485
|
+
await watch2(config, this.cwd);
|
|
1486
|
+
} else {
|
|
1487
|
+
const session = await getSession(config);
|
|
1488
|
+
await generateDocs({
|
|
1489
|
+
session: {
|
|
1490
|
+
...session,
|
|
1491
|
+
variables: []
|
|
1492
|
+
},
|
|
1493
|
+
config
|
|
1494
|
+
});
|
|
1495
|
+
}
|
|
1420
1496
|
}
|
|
1421
1497
|
};
|
|
1422
1498
|
|
|
@@ -1481,7 +1557,7 @@ var InitConfigCommand = class extends BaseCommand {
|
|
|
1481
1557
|
};
|
|
1482
1558
|
|
|
1483
1559
|
// src/generated/version.ts
|
|
1484
|
-
var version = "3.
|
|
1560
|
+
var version = "3.2.0";
|
|
1485
1561
|
|
|
1486
1562
|
// src/run-cli.ts
|
|
1487
1563
|
var [node, script, ...args] = process.argv;
|