@quark-hq/quark-scripts 0.0.1

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 (86) hide show
  1. package/LICENSE +21 -0
  2. package/dist/app/base-application.js +67 -0
  3. package/dist/app/buildApplication.js +20 -0
  4. package/dist/app/copyStaticApplication.js +34 -0
  5. package/dist/app/devApplication.js +59 -0
  6. package/dist/app/prod-publish-application.js +124 -0
  7. package/dist/app/publish-dev-application.js +104 -0
  8. package/dist/app/publishDevApplication.js +16 -0
  9. package/dist/app/release-application.js +85 -0
  10. package/dist/app/releaseApplication.js +154 -0
  11. package/dist/app/unfreeze-application.js +75 -0
  12. package/dist/app/watchStaticApplication.js +34 -0
  13. package/dist/cli/cli-containers.js +70 -0
  14. package/dist/cli/cliCommand.js +2 -0
  15. package/dist/cli/cliContainers.js +62 -0
  16. package/dist/cli/commands/buildCommands.js +17 -0
  17. package/dist/cli/commands/copyStaticCommands.js +17 -0
  18. package/dist/cli/commands/devCommands.js +17 -0
  19. package/dist/cli/commands/prod-publish-commands.js +18 -0
  20. package/dist/cli/commands/publish-dev-commands.js +17 -0
  21. package/dist/cli/commands/publishDevCommands.js +17 -0
  22. package/dist/cli/commands/release-commands.js +17 -0
  23. package/dist/cli/commands/releaseCommands.js +17 -0
  24. package/dist/cli/commands/relesaeCommand.js +15 -0
  25. package/dist/cli/commands/unfreeze-commands.js +17 -0
  26. package/dist/cli/commands/watchStaticCommands.js +17 -0
  27. package/dist/cli/program.js +16 -0
  28. package/dist/commands/index.d.ts +8 -0
  29. package/dist/commands/index.js +132 -0
  30. package/dist/commands/index.js.map +1 -0
  31. package/dist/domain/graph.js +2 -0
  32. package/dist/domain/new-package-freeze-from-map.js +21 -0
  33. package/dist/domain/resolve-workspace-dependency-specifier-for-freeze-map.js +33 -0
  34. package/dist/domain/reverse-dependents.js +45 -0
  35. package/dist/domain/topological-sorting.js +43 -0
  36. package/dist/domain/transitive-dependents.js +25 -0
  37. package/dist/domain/workspace-transitive-dependencies.js +25 -0
  38. package/dist/errors/unfreeze-blocked-error.js +44 -0
  39. package/dist/index.d.ts +2 -0
  40. package/dist/index.js +32 -0
  41. package/dist/index.js.map +1 -0
  42. package/dist/infrastructure/adapters/base-release-adapter.js +281 -0
  43. package/dist/infrastructure/adapters/maven-prod-publish-adapter.js +48 -0
  44. package/dist/infrastructure/adapters/maven-release-adapter.js +58 -0
  45. package/dist/infrastructure/adapters/node-prod-publish-adapter.js +111 -0
  46. package/dist/infrastructure/adapters/node-release-adapter/node-file-update.js +1 -0
  47. package/dist/infrastructure/adapters/node-release-adapter/node-release-adapter.js +289 -0
  48. package/dist/infrastructure/adapters/node-release-adapter.js +202 -0
  49. package/dist/infrastructure/config/loadDotEnv.js +38 -0
  50. package/dist/infrastructure/config/nodeRegistryEnv.js +41 -0
  51. package/dist/infrastructure/config/quarkConfigProvider.js +50 -0
  52. package/dist/infrastructure/git/gitService.js +179 -0
  53. package/dist/infrastructure/graph/nxGraphProvide.js +84 -0
  54. package/dist/infrastructure/logging/consoleLogger.js +25 -0
  55. package/dist/infrastructure/process/nodeProcessRunner.js +14 -0
  56. package/dist/infrastructure/release/git-release-map-store.js +64 -0
  57. package/dist/ports/config.js +2 -0
  58. package/dist/ports/git.js +2 -0
  59. package/dist/ports/graph.js +2 -0
  60. package/dist/ports/logger.js +2 -0
  61. package/dist/ports/map.js +2 -0
  62. package/dist/ports/platform-dev-publish-adapter.js +2 -0
  63. package/dist/ports/platform-prod-publish-adapter.js +2 -0
  64. package/dist/ports/platform-release-adapter.js +2 -0
  65. package/dist/ports/processRunner.js +2 -0
  66. package/dist/ports/prompts.js +2 -0
  67. package/dist/ports/release-map-store.js +2 -0
  68. package/dist/scripts/dev.d.ts +20 -0
  69. package/dist/scripts/dev.js +204 -0
  70. package/dist/scripts/dev.js.map +1 -0
  71. package/dist/scripts/map.json +1616 -0
  72. package/dist/scripts/prod.d.ts +1 -0
  73. package/dist/scripts/prod.js +143 -0
  74. package/dist/scripts/prod.js.map +1 -0
  75. package/dist/scripts/release.d.ts +51 -0
  76. package/dist/scripts/release.js +833 -0
  77. package/dist/scripts/release.js.map +1 -0
  78. package/dist/tests/index.test.js +13 -0
  79. package/dist/tests/mocks/release.js +8 -0
  80. package/dist/tests/unit/release/index.test.js +32 -0
  81. package/dist/utils/checkIfFreeze.js +1 -0
  82. package/dist/utils/commit.js +39 -0
  83. package/dist/utils/drawRepoStatus.js +66 -0
  84. package/dist/utils/file.js +14 -0
  85. package/dist/utils/metrics.js +22 -0
  86. package/package.json +64 -0
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,143 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const child_process_1 = require("child_process");
7
+ const fs_1 = __importDefault(require("fs"));
8
+ const path_1 = __importDefault(require("path"));
9
+ const dotenv_1 = __importDefault(require("dotenv"));
10
+ dotenv_1.default.config();
11
+ class ProdPublish {
12
+ constructor() {
13
+ this.devRegistry = process.env.DEV_REGISTRY_URL || "";
14
+ this.prodRegistry = process.env.PROD_REGISTRY_URL || "";
15
+ if (!this.devRegistry || !this.prodRegistry) {
16
+ throw new Error("Missing DEV_REGISTRY_URL or PROD_REGISTRY_URL in environment variables.");
17
+ }
18
+ }
19
+ /** Get the latest two git tags, or compare a target tag to the previous one. */
20
+ getTags(targetTag) {
21
+ const rawTags = (0, child_process_1.execSync)("git tag --sort=-creatordate").toString().trim().split("\n");
22
+ if (rawTags.length < 2) {
23
+ throw new Error("Not enough tags to compare.");
24
+ }
25
+ if (targetTag) {
26
+ const targetIndex = rawTags.indexOf(targetTag);
27
+ if (targetIndex === -1)
28
+ throw new Error(`Tag "${targetTag}" not found.`);
29
+ const previousTag = rawTags[targetIndex + 1];
30
+ if (!previousTag)
31
+ throw new Error(`Nothing to compare before tag "${targetTag}".`);
32
+ return [previousTag, targetTag];
33
+ }
34
+ return [rawTags[1], rawTags[0]];
35
+ }
36
+ /** Compare .release/map.json between two tags and detect added/removed/updated packages */
37
+ detectMapJsonChanges(targetTag) {
38
+ const [secondLastTag, latestTag] = this.getTags(targetTag);
39
+ console.log(`Comparing tags: ${secondLastTag} -> ${latestTag}`);
40
+ const oldMapContent = (0, child_process_1.execSync)(`git show ${secondLastTag}:.release/map.json`, { encoding: "utf-8" });
41
+ const newMapContent = (0, child_process_1.execSync)(`git show ${latestTag}:.release/map.json`, { encoding: "utf-8" });
42
+ const oldMap = JSON.parse(oldMapContent);
43
+ const newMap = JSON.parse(newMapContent);
44
+ const changes = { added: {}, removed: {}, updated: {} };
45
+ const allKeys = new Set([...Object.keys(oldMap), ...Object.keys(newMap)]);
46
+ for (const key of allKeys) {
47
+ if (!(key in oldMap)) {
48
+ changes.added[key] = newMap[key];
49
+ }
50
+ else if (!(key in newMap)) {
51
+ changes.removed[key] = oldMap[key];
52
+ }
53
+ else if (JSON.stringify(oldMap[key]) !== JSON.stringify(newMap[key])) {
54
+ changes.updated[key] = { from: oldMap[key], to: newMap[key] };
55
+ }
56
+ }
57
+ return changes;
58
+ }
59
+ /** Resolve package root directory from workspace path */
60
+ getPackageRootDir(relativePathFromRoot) {
61
+ const fullPath = path_1.default.resolve(__dirname, "..", "..", relativePathFromRoot);
62
+ const pkgJsonPath = path_1.default.join(fullPath, "package.json");
63
+ if (fs_1.default.existsSync(pkgJsonPath)) {
64
+ return fullPath;
65
+ }
66
+ else {
67
+ console.warn(`⚠️ No package.json found at ${pkgJsonPath}`);
68
+ return null;
69
+ }
70
+ }
71
+ /** Check if version already exists in given npm registry */
72
+ async versionExistsInRegistry(pkgName, version, registry) {
73
+ try {
74
+ (0, child_process_1.execSync)(`npm view ${pkgName}@${version} version --registry=${registry}`, { stdio: "pipe" });
75
+ return true;
76
+ }
77
+ catch {
78
+ return false;
79
+ }
80
+ }
81
+ /** Publish changed packages to both dev & prod registries */
82
+ async publishChangedPackages(mapDiff) {
83
+ const changedPackages = { ...mapDiff.added, ...mapDiff.updated };
84
+ const toPublish = [];
85
+ for (const pkgName of Object.keys(changedPackages)) {
86
+ try {
87
+ const nxOutput = (0, child_process_1.execSync)(`npx nx show project ${pkgName}`, { encoding: "utf-8" });
88
+ const projectInfo = JSON.parse(nxOutput);
89
+ const relativePath = projectInfo.root;
90
+ const publishDir = this.getPackageRootDir(relativePath);
91
+ if (!publishDir) {
92
+ console.warn(`⚠️ Skipping ${pkgName} — package root not found.`);
93
+ continue;
94
+ }
95
+ const pkgJsonPath = path_1.default.join(publishDir, "package.json");
96
+ const pkgJson = JSON.parse(fs_1.default.readFileSync(pkgJsonPath, "utf-8"));
97
+ const versionExistsInDev = await this.versionExistsInRegistry(pkgJson.name, pkgJson.version, this.devRegistry);
98
+ const versionExistsInProd = await this.versionExistsInRegistry(pkgJson.name, pkgJson.version, this.prodRegistry);
99
+ if (versionExistsInDev || versionExistsInProd) {
100
+ console.error(`❌ Version already exists for ${pkgJson.name}@${pkgJson.version} in ${versionExistsInDev ? "dev" : ""} ${versionExistsInProd ? "prod" : ""}. Aborting all publish operations.`);
101
+ return;
102
+ }
103
+ toPublish.push({ pkgName, publishDir });
104
+ }
105
+ catch (err) {
106
+ console.error(`❌ Failed to validate ${pkgName}: ${err.message}`);
107
+ return;
108
+ }
109
+ }
110
+ for (const { pkgName, publishDir } of toPublish) {
111
+ for (const registry of [this.devRegistry, this.prodRegistry]) {
112
+ console.log(`\n📦 Publishing ${pkgName} to ${registry} from ${publishDir}`);
113
+ try {
114
+ (0, child_process_1.execSync)(`pnpm publish --registry=${registry} --no-git-checks`, {
115
+ cwd: publishDir,
116
+ stdio: "inherit",
117
+ });
118
+ console.log(`✅ Successfully published ${pkgName} to ${registry}`);
119
+ }
120
+ catch (err) {
121
+ console.error(`❌ Failed to publish ${pkgName} to ${registry}: ${err.message}`);
122
+ }
123
+ }
124
+ }
125
+ }
126
+ async run() {
127
+ try {
128
+ const changedFiles = this.detectMapJsonChanges();
129
+ await this.publishChangedPackages(changedFiles);
130
+ console.log("Changed files:", changedFiles);
131
+ }
132
+ catch (err) {
133
+ console.error(`❌ ${err.message}`);
134
+ process.exit(1);
135
+ }
136
+ }
137
+ }
138
+ if (require.main === module) {
139
+ const prodPublish = new ProdPublish();
140
+ console.log('Environment variables:', process.env);
141
+ prodPublish.run();
142
+ }
143
+ exports.default = ProdPublish;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prod.js","sourceRoot":"","sources":["../../src/scripts/prod.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,51 @@
1
+ declare class Release {
2
+ private adjList;
3
+ private filesChanged;
4
+ private changedPackages;
5
+ private packageJsonCache;
6
+ private mainBranchPkgCache;
7
+ private packagePathCache;
8
+ private nxGraph;
9
+ private repoRoot;
10
+ private metrics;
11
+ constructor(verbose: boolean);
12
+ /** Performance tracking utility */
13
+ private startPhase;
14
+ private endPhase;
15
+ /** Async utility: read JSON file with intelligent caching */
16
+ private readJsonCached;
17
+ /** Parallel git operations for maximum efficiency */
18
+ private initializeRepository;
19
+ /** Optimized file change detection with parallel processing */
20
+ private detectChangedFiles;
21
+ /** Highly optimized package.json path resolution with caching */
22
+ private getPackageJsonPath;
23
+ /** Parallel Nx graph loading and processing */
24
+ private loadAndProcessNxGraph;
25
+ private createAdjacencyList;
26
+ /** Batch process main branch package.json files */
27
+ private cacheMainBranchPackageJsons;
28
+ /** Get package.json from origin/main with fallback */
29
+ private getMainBranchPkgJson;
30
+ /** Optimized package change evaluation with parallel processing */
31
+ private evaluateChangedPackages;
32
+ /** Optimized version-only change detection */
33
+ private isOnlyVersionChanged;
34
+ /** Optimized package extraction from Nx graph */
35
+ private getCurrentPackagesFromGraph;
36
+ /** Optimized version bumping */
37
+ private bumpVersion;
38
+ /** Efficient DFS for dependent packages */
39
+ private getAllDependentPackages;
40
+ /** Optimized topological sort */
41
+ private topologicalSort;
42
+ /** Optimized user interaction with background processing */
43
+ private askForChanges;
44
+ /** Efficient major version cascade handling */
45
+ private handleMajorVersionCascade;
46
+ /** Performance summary */
47
+ private printPerformanceSummary;
48
+ /** Main execution method */
49
+ run(): Promise<void>;
50
+ }
51
+ export default Release;