@sfdxy/mule-build 1.0.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 (82) hide show
  1. package/README.md +301 -0
  2. package/dist/bin/mule-build.d.ts +8 -0
  3. package/dist/bin/mule-build.d.ts.map +1 -0
  4. package/dist/bin/mule-build.js +12 -0
  5. package/dist/bin/mule-build.js.map +1 -0
  6. package/dist/src/api/enforce.d.ts +11 -0
  7. package/dist/src/api/enforce.d.ts.map +1 -0
  8. package/dist/src/api/enforce.js +58 -0
  9. package/dist/src/api/enforce.js.map +1 -0
  10. package/dist/src/api/index.d.ts +12 -0
  11. package/dist/src/api/index.d.ts.map +1 -0
  12. package/dist/src/api/index.js +12 -0
  13. package/dist/src/api/index.js.map +1 -0
  14. package/dist/src/api/package.d.ts +15 -0
  15. package/dist/src/api/package.d.ts.map +1 -0
  16. package/dist/src/api/package.js +242 -0
  17. package/dist/src/api/package.js.map +1 -0
  18. package/dist/src/api/release.d.ts +11 -0
  19. package/dist/src/api/release.d.ts.map +1 -0
  20. package/dist/src/api/release.js +102 -0
  21. package/dist/src/api/release.js.map +1 -0
  22. package/dist/src/api/run.d.ts +11 -0
  23. package/dist/src/api/run.d.ts.map +1 -0
  24. package/dist/src/api/run.js +44 -0
  25. package/dist/src/api/run.js.map +1 -0
  26. package/dist/src/api/strip.d.ts +11 -0
  27. package/dist/src/api/strip.d.ts.map +1 -0
  28. package/dist/src/api/strip.js +57 -0
  29. package/dist/src/api/strip.js.map +1 -0
  30. package/dist/src/cli.d.ts +15 -0
  31. package/dist/src/cli.d.ts.map +1 -0
  32. package/dist/src/cli.js +174 -0
  33. package/dist/src/cli.js.map +1 -0
  34. package/dist/src/config/ConfigLoader.d.ts +19 -0
  35. package/dist/src/config/ConfigLoader.d.ts.map +1 -0
  36. package/dist/src/config/ConfigLoader.js +84 -0
  37. package/dist/src/config/ConfigLoader.js.map +1 -0
  38. package/dist/src/config/SystemChecker.d.ts +29 -0
  39. package/dist/src/config/SystemChecker.d.ts.map +1 -0
  40. package/dist/src/config/SystemChecker.js +85 -0
  41. package/dist/src/config/SystemChecker.js.map +1 -0
  42. package/dist/src/config/defaults.d.ts +17 -0
  43. package/dist/src/config/defaults.d.ts.map +1 -0
  44. package/dist/src/config/defaults.js +37 -0
  45. package/dist/src/config/defaults.js.map +1 -0
  46. package/dist/src/engine/LocalRuntime.d.ts +41 -0
  47. package/dist/src/engine/LocalRuntime.d.ts.map +1 -0
  48. package/dist/src/engine/LocalRuntime.js +132 -0
  49. package/dist/src/engine/LocalRuntime.js.map +1 -0
  50. package/dist/src/engine/MavenBuilder.d.ts +49 -0
  51. package/dist/src/engine/MavenBuilder.d.ts.map +1 -0
  52. package/dist/src/engine/MavenBuilder.js +126 -0
  53. package/dist/src/engine/MavenBuilder.js.map +1 -0
  54. package/dist/src/engine/PomParser.d.ts +53 -0
  55. package/dist/src/engine/PomParser.d.ts.map +1 -0
  56. package/dist/src/engine/PomParser.js +175 -0
  57. package/dist/src/engine/PomParser.js.map +1 -0
  58. package/dist/src/engine/XmlProcessor.d.ts +47 -0
  59. package/dist/src/engine/XmlProcessor.d.ts.map +1 -0
  60. package/dist/src/engine/XmlProcessor.js +213 -0
  61. package/dist/src/engine/XmlProcessor.js.map +1 -0
  62. package/dist/src/index.d.ts +11 -0
  63. package/dist/src/index.d.ts.map +1 -0
  64. package/dist/src/index.js +13 -0
  65. package/dist/src/index.js.map +1 -0
  66. package/dist/src/types/index.d.ts +209 -0
  67. package/dist/src/types/index.d.ts.map +1 -0
  68. package/dist/src/types/index.js +16 -0
  69. package/dist/src/types/index.js.map +1 -0
  70. package/dist/src/utils/exec.d.ts +20 -0
  71. package/dist/src/utils/exec.d.ts.map +1 -0
  72. package/dist/src/utils/exec.js +57 -0
  73. package/dist/src/utils/exec.js.map +1 -0
  74. package/dist/src/utils/git.d.ts +26 -0
  75. package/dist/src/utils/git.d.ts.map +1 -0
  76. package/dist/src/utils/git.js +71 -0
  77. package/dist/src/utils/git.js.map +1 -0
  78. package/dist/src/utils/logger.d.ts +21 -0
  79. package/dist/src/utils/logger.d.ts.map +1 -0
  80. package/dist/src/utils/logger.js +59 -0
  81. package/dist/src/utils/logger.js.map +1 -0
  82. package/package.json +80 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LocalRuntime.js","sourceRoot":"","sources":["../../../src/engine/LocalRuntime.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAC9C,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AACtC,OAAO,EAAU,EAAE,EAAE,GAAG,EAAa,MAAM,mBAAmB,CAAC;AAC/D,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE5C;;GAEG;AACH,MAAM,UAAU,WAAW;IACzB,OAAO,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC;AAC/B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB;IAC9B,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAE/B,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,GAAG,CAAC,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC,CAAC;IACrE,CAAC;IAED,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC1B,OAAO,GAAG,CAAC,IAAI,KAAK,CAAC,uCAAuC,QAAQ,EAAE,CAAC,CAAC,CAAC;IAC3E,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IAC9C,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACzB,OAAO,GAAG,CAAC,IAAI,KAAK,CAAC,iCAAiC,OAAO,EAAE,CAAC,CAAC,CAAC;IACpE,CAAC;IAED,OAAO,EAAE,CAAC,QAAQ,CAAC,CAAC;AACtB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,UAAU,CAAC,QAAgB;IACzC,OAAO,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;AAChC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,UAAU,CAAC,QAAgB;IACzC,OAAO,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;AAChC,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,IAAY;IAC5C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC;IAEtD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC;AAC3C,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,OAAe;IACjD,qBAAqB;IACrB,MAAM,cAAc,GAAG,gBAAgB,EAAE,CAAC;IAC1C,IAAI,CAAC,cAAc,CAAC,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;QACpD,OAAO,GAAG,CAAC,cAAc,CAAC,KAAK,IAAI,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC;IACrE,CAAC;IAED,MAAM,QAAQ,GAAG,cAAc,CAAC,IAAI,CAAC;IAErC,sBAAsB;IACtB,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACzB,OAAO,GAAG,CAAC,IAAI,KAAK,CAAC,uBAAuB,OAAO,EAAE,CAAC,CAAC,CAAC;IAC1D,CAAC;IAED,kBAAkB;IAClB,MAAM,SAAS,GAAG,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC;IAC1C,IAAI,SAAS,EAAE,CAAC;QACd,OAAO,GAAG,CAAC,IAAI,KAAK,CAAC,oEAAoE,CAAC,CAAC,CAAC;IAC9F,CAAC;IAED,6BAA6B;IAC7B,MAAM,OAAO,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;IACrC,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;IAClC,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAE1C,IAAI,CAAC;QACH,MAAM,CAAC,IAAI,CAAC,aAAa,OAAO,OAAO,OAAO,KAAK,CAAC,CAAC;QACrD,YAAY,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QAClC,MAAM,CAAC,OAAO,CAAC,YAAY,OAAO,EAAE,CAAC,CAAC;QAEtC,OAAO,EAAE,CAAC;YACR,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE,UAAU;YACnB,OAAO,EAAE,2BAA2B,UAAU,6CAA6C;SAC5F,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,GAAG,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACxE,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,UAA+B,EAAE;IACtE,MAAM,cAAc,GAAG,gBAAgB,EAAE,CAAC;IAC1C,IAAI,CAAC,cAAc,CAAC,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;QACpD,OAAO,GAAG,CAAC,cAAc,CAAC,KAAK,IAAI,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC;IACrE,CAAC;IAED,MAAM,QAAQ,GAAG,cAAc,CAAC,IAAI,CAAC;IACrC,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IAE9C,MAAM,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;IAEvB,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QAClB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACpB,MAAM,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAC;IAC/D,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;IAExC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC;IAE5D,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,OAAO,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC,CAAC;IAChE,CAAC;IAED,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC;AACvB,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe;IACnC,MAAM,cAAc,GAAG,gBAAgB,EAAE,CAAC;IAC1C,IAAI,CAAC,cAAc,CAAC,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;QACpD,OAAO,GAAG,CAAC,cAAc,CAAC,KAAK,IAAI,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC;IACrE,CAAC;IAED,MAAM,QAAQ,GAAG,cAAc,CAAC,IAAI,CAAC;IACrC,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IAE9C,MAAM,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;IAExC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC;IAEhE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,OAAO,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC,CAAC;IAC/D,CAAC;IAED,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC;AACvB,CAAC"}
@@ -0,0 +1,49 @@
1
+ /**
2
+ * Maven Builder Engine
3
+ *
4
+ * Handles Maven command generation and execution for Mule builds.
5
+ */
6
+ import { Result, BuildEnvironment } from '../types/index.js';
7
+ export interface MavenBuildOptions {
8
+ /** Maven profile to use */
9
+ profile?: string;
10
+ /** Attach source code to package */
11
+ withSource?: boolean;
12
+ /** Skip MUnit tests */
13
+ skipTests?: boolean;
14
+ /** Create lightweight package (no dependencies) */
15
+ lightweight?: boolean;
16
+ /** Run in quiet mode */
17
+ quiet?: boolean;
18
+ /** Working directory */
19
+ cwd?: string;
20
+ }
21
+ /**
22
+ * Check if Maven is installed
23
+ */
24
+ export declare function isMavenInstalled(): Promise<boolean>;
25
+ /**
26
+ * Generate Maven arguments for a build
27
+ */
28
+ export declare function generateMavenArgs(options?: MavenBuildOptions): string[];
29
+ /**
30
+ * Generate Maven arguments for environment
31
+ */
32
+ export declare function getMavenArgsForEnvironment(environment: BuildEnvironment, options?: MavenBuildOptions): string[];
33
+ /**
34
+ * Run Maven clean
35
+ */
36
+ export declare function mavenClean(cwd?: string): Promise<Result<void>>;
37
+ /**
38
+ * Run Maven build with output to console
39
+ */
40
+ export declare function mavenBuild(options?: MavenBuildOptions): Promise<Result<void>>;
41
+ /**
42
+ * Run Maven build silently and return result
43
+ */
44
+ export declare function mavenBuildSilent(options?: MavenBuildOptions): Promise<Result<void>>;
45
+ /**
46
+ * Find the built JAR file in the target directory
47
+ */
48
+ export declare function findBuiltJar(cwd?: string): Result<string>;
49
+ //# sourceMappingURL=MavenBuilder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MavenBuilder.d.ts","sourceRoot":"","sources":["../../../src/engine/MavenBuilder.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAAE,MAAM,EAAW,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAItE,MAAM,WAAW,iBAAiB;IAChC,2BAA2B;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oCAAoC;IACpC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,uBAAuB;IACvB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,mDAAmD;IACnD,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,wBAAwB;IACxB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,wBAAwB;IACxB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,OAAO,CAAC,CAEzD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,GAAE,iBAAsB,GAAG,MAAM,EAAE,CA8B3E;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CACxC,WAAW,EAAE,gBAAgB,EAC7B,OAAO,GAAE,iBAAsB,GAC9B,MAAM,EAAE,CAMV;AAED;;GAEG;AACH,wBAAsB,UAAU,CAAC,GAAG,GAAE,MAAsB,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAcnF;AAED;;GAEG;AACH,wBAAsB,UAAU,CAAC,OAAO,GAAE,iBAAsB,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAiBvF;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,OAAO,GAAE,iBAAsB,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAiB7F;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,GAAG,GAAE,MAAsB,GAAG,MAAM,CAAC,MAAM,CAAC,CA0BxE"}
@@ -0,0 +1,126 @@
1
+ /**
2
+ * Maven Builder Engine
3
+ *
4
+ * Handles Maven command generation and execution for Mule builds.
5
+ */
6
+ import { existsSync, readdirSync } from 'fs';
7
+ import { join } from 'path';
8
+ import { ok, err } from '../types/index.js';
9
+ import { exec, execWithOutput, commandExists } from '../utils/exec.js';
10
+ import { logger } from '../utils/logger.js';
11
+ /**
12
+ * Check if Maven is installed
13
+ */
14
+ export async function isMavenInstalled() {
15
+ return commandExists('mvn');
16
+ }
17
+ /**
18
+ * Generate Maven arguments for a build
19
+ */
20
+ export function generateMavenArgs(options = {}) {
21
+ const args = ['clean', 'package'];
22
+ // Add profile
23
+ if (options.profile) {
24
+ args.push(`-P${options.profile}`);
25
+ }
26
+ // Add feature flags
27
+ if (options.withSource) {
28
+ args.push('-DattachMuleSources');
29
+ }
30
+ if (options.lightweight) {
31
+ args.push('-DlightweightPackage');
32
+ }
33
+ if (options.skipTests) {
34
+ args.push('-DskipMunitTests');
35
+ }
36
+ // Batch mode for CI/scripts
37
+ args.push('-B');
38
+ // Quiet mode
39
+ if (options.quiet) {
40
+ args.push('-q');
41
+ }
42
+ return args;
43
+ }
44
+ /**
45
+ * Generate Maven arguments for environment
46
+ */
47
+ export function getMavenArgsForEnvironment(environment, options = {}) {
48
+ const envProfile = environment === 'production' ? 'prod' : undefined;
49
+ return generateMavenArgs({
50
+ ...options,
51
+ profile: options.profile ?? envProfile,
52
+ });
53
+ }
54
+ /**
55
+ * Run Maven clean
56
+ */
57
+ export async function mavenClean(cwd = process.cwd()) {
58
+ logger.step('Running Maven clean...');
59
+ const result = await exec('mvn', ['clean', '-q'], { cwd });
60
+ if (!result.success) {
61
+ return err(result.error ?? new Error('Maven clean failed'));
62
+ }
63
+ if (result.data?.exitCode !== 0) {
64
+ return err(new Error(`Maven clean failed with exit code ${result.data?.exitCode}`));
65
+ }
66
+ return ok(undefined);
67
+ }
68
+ /**
69
+ * Run Maven build with output to console
70
+ */
71
+ export async function mavenBuild(options = {}) {
72
+ const cwd = options.cwd ?? process.cwd();
73
+ const args = generateMavenArgs(options);
74
+ logger.step(`Running: mvn ${args.join(' ')}`);
75
+ const result = await execWithOutput('mvn', args, { cwd });
76
+ if (!result.success) {
77
+ return err(result.error ?? new Error('Maven build failed'));
78
+ }
79
+ if (result.data !== 0) {
80
+ return err(new Error(`Maven build failed with exit code ${result.data}`));
81
+ }
82
+ return ok(undefined);
83
+ }
84
+ /**
85
+ * Run Maven build silently and return result
86
+ */
87
+ export async function mavenBuildSilent(options = {}) {
88
+ const cwd = options.cwd ?? process.cwd();
89
+ const args = generateMavenArgs({ ...options, quiet: true });
90
+ logger.step('Building package...');
91
+ const result = await exec('mvn', args, { cwd });
92
+ if (!result.success) {
93
+ return err(result.error ?? new Error('Maven build failed'));
94
+ }
95
+ if (result.data?.exitCode !== 0) {
96
+ return err(new Error(`Maven build failed: ${result.data?.stderr}`));
97
+ }
98
+ return ok(undefined);
99
+ }
100
+ /**
101
+ * Find the built JAR file in the target directory
102
+ */
103
+ export function findBuiltJar(cwd = process.cwd()) {
104
+ const targetDir = join(cwd, 'target');
105
+ if (!existsSync(targetDir)) {
106
+ return err(new Error('target directory not found. Run Maven build first.'));
107
+ }
108
+ try {
109
+ const files = readdirSync(targetDir);
110
+ // First, look for -mule-application.jar (standard Mule package)
111
+ const muleJar = files.find((f) => f.endsWith('-mule-application.jar'));
112
+ if (muleJar) {
113
+ return ok(join(targetDir, muleJar));
114
+ }
115
+ // Fall back to any .jar file
116
+ const anyJar = files.find((f) => f.endsWith('.jar') && !f.includes('original'));
117
+ if (anyJar) {
118
+ return ok(join(targetDir, anyJar));
119
+ }
120
+ return err(new Error('No JAR file found in target directory'));
121
+ }
122
+ catch (error) {
123
+ return err(error instanceof Error ? error : new Error(String(error)));
124
+ }
125
+ }
126
+ //# sourceMappingURL=MavenBuilder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MavenBuilder.js","sourceRoot":"","sources":["../../../src/engine/MavenBuilder.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,53 @@
1
+ /**
2
+ * POM Parser Engine
3
+ *
4
+ * Handles reading and modifying pom.xml files.
5
+ * Uses regex-based approach to preserve formatting.
6
+ */
7
+ import { Result, PomInfo } from '../types/index.js';
8
+ /**
9
+ * Get the path to pom.xml in the given directory
10
+ */
11
+ export declare function getPomPath(cwd?: string): string;
12
+ /**
13
+ * Check if pom.xml exists
14
+ */
15
+ export declare function pomExists(cwd?: string): boolean;
16
+ /**
17
+ * Read pom.xml content
18
+ */
19
+ export declare function readPom(cwd?: string): Result<string>;
20
+ /**
21
+ * Write pom.xml content
22
+ */
23
+ export declare function writePom(content: string, cwd?: string): Result<void>;
24
+ /**
25
+ * Extract project information from pom.xml
26
+ */
27
+ export declare function getPomInfo(cwd?: string): Result<PomInfo>;
28
+ /**
29
+ * Get project name (prefers <name>, falls back to <artifactId>)
30
+ */
31
+ export declare function getProjectName(cwd?: string): Result<string>;
32
+ /**
33
+ * Get project version
34
+ */
35
+ export declare function getVersion(cwd?: string): Result<string>;
36
+ /**
37
+ * Set project version in pom.xml
38
+ * Only updates the first <version> tag (project version)
39
+ */
40
+ export declare function setVersion(version: string, cwd?: string): Result<void>;
41
+ /**
42
+ * Set project name in pom.xml
43
+ */
44
+ export declare function setName(name: string, cwd?: string): Result<void>;
45
+ /**
46
+ * Create a backup of pom.xml
47
+ */
48
+ export declare function backupPom(cwd?: string): Result<string>;
49
+ /**
50
+ * Restore pom.xml from backup
51
+ */
52
+ export declare function restorePom(cwd?: string): Result<void>;
53
+ //# sourceMappingURL=PomParser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PomParser.d.ts","sourceRoot":"","sources":["../../../src/engine/PomParser.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,EAAE,MAAM,EAAW,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE7D;;GAEG;AACH,wBAAgB,UAAU,CAAC,GAAG,GAAE,MAAsB,GAAG,MAAM,CAE9D;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,GAAG,GAAE,MAAsB,GAAG,OAAO,CAE9D;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,GAAG,GAAE,MAAsB,GAAG,MAAM,CAAC,MAAM,CAAC,CAanE;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,GAAE,MAAsB,GAAG,MAAM,CAAC,IAAI,CAAC,CASnF;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,GAAG,GAAE,MAAsB,GAAG,MAAM,CAAC,OAAO,CAAC,CAkCvE;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,GAAG,GAAE,MAAsB,GAAG,MAAM,CAAC,MAAM,CAAC,CAQ1E;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,GAAG,GAAE,MAAsB,GAAG,MAAM,CAAC,MAAM,CAAC,CAWtE;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,GAAE,MAAsB,GAAG,MAAM,CAAC,IAAI,CAAC,CAiBrF;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,GAAE,MAAsB,GAAG,MAAM,CAAC,IAAI,CAAC,CAc/E;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,GAAG,GAAE,MAAsB,GAAG,MAAM,CAAC,MAAM,CAAC,CAcrE;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,GAAG,GAAE,MAAsB,GAAG,MAAM,CAAC,IAAI,CAAC,CAapE"}
@@ -0,0 +1,175 @@
1
+ /**
2
+ * POM Parser Engine
3
+ *
4
+ * Handles reading and modifying pom.xml files.
5
+ * Uses regex-based approach to preserve formatting.
6
+ */
7
+ import { readFileSync, writeFileSync, existsSync } from 'fs';
8
+ import { join } from 'path';
9
+ import { ok, err } from '../types/index.js';
10
+ /**
11
+ * Get the path to pom.xml in the given directory
12
+ */
13
+ export function getPomPath(cwd = process.cwd()) {
14
+ return join(cwd, 'pom.xml');
15
+ }
16
+ /**
17
+ * Check if pom.xml exists
18
+ */
19
+ export function pomExists(cwd = process.cwd()) {
20
+ return existsSync(getPomPath(cwd));
21
+ }
22
+ /**
23
+ * Read pom.xml content
24
+ */
25
+ export function readPom(cwd = process.cwd()) {
26
+ const pomPath = getPomPath(cwd);
27
+ if (!existsSync(pomPath)) {
28
+ return err(new Error(`pom.xml not found at ${pomPath}`));
29
+ }
30
+ try {
31
+ const content = readFileSync(pomPath, 'utf-8');
32
+ return ok(content);
33
+ }
34
+ catch (error) {
35
+ return err(error instanceof Error ? error : new Error(String(error)));
36
+ }
37
+ }
38
+ /**
39
+ * Write pom.xml content
40
+ */
41
+ export function writePom(content, cwd = process.cwd()) {
42
+ const pomPath = getPomPath(cwd);
43
+ try {
44
+ writeFileSync(pomPath, content);
45
+ return ok(undefined);
46
+ }
47
+ catch (error) {
48
+ return err(error instanceof Error ? error : new Error(String(error)));
49
+ }
50
+ }
51
+ /**
52
+ * Extract project information from pom.xml
53
+ */
54
+ export function getPomInfo(cwd = process.cwd()) {
55
+ const pomResult = readPom(cwd);
56
+ if (!pomResult.success || !pomResult.data) {
57
+ return err(pomResult.error ?? new Error('Failed to read pom.xml'));
58
+ }
59
+ const content = pomResult.data;
60
+ const info = {};
61
+ // Extract version (first occurrence, which is the project version)
62
+ const versionMatch = content.match(/<version>([^<]+)<\/version>/);
63
+ if (versionMatch) {
64
+ info.version = versionMatch[1];
65
+ }
66
+ // Extract artifactId (first occurrence)
67
+ const artifactMatch = content.match(/<artifactId>([^<]+)<\/artifactId>/);
68
+ if (artifactMatch) {
69
+ info.artifactId = artifactMatch[1];
70
+ }
71
+ // Extract name (first occurrence)
72
+ const nameMatch = content.match(/<name>([^<]+)<\/name>/);
73
+ if (nameMatch) {
74
+ info.name = nameMatch[1];
75
+ }
76
+ // Extract groupId (first occurrence)
77
+ const groupMatch = content.match(/<groupId>([^<]+)<\/groupId>/);
78
+ if (groupMatch) {
79
+ info.groupId = groupMatch[1];
80
+ }
81
+ return ok(info);
82
+ }
83
+ /**
84
+ * Get project name (prefers <name>, falls back to <artifactId>)
85
+ */
86
+ export function getProjectName(cwd = process.cwd()) {
87
+ const infoResult = getPomInfo(cwd);
88
+ if (!infoResult.success || !infoResult.data) {
89
+ return err(infoResult.error ?? new Error('Failed to get project info'));
90
+ }
91
+ const name = infoResult.data.name ?? infoResult.data.artifactId ?? 'mule-app';
92
+ return ok(name);
93
+ }
94
+ /**
95
+ * Get project version
96
+ */
97
+ export function getVersion(cwd = process.cwd()) {
98
+ const infoResult = getPomInfo(cwd);
99
+ if (!infoResult.success || !infoResult.data) {
100
+ return err(infoResult.error ?? new Error('Failed to get project info'));
101
+ }
102
+ if (!infoResult.data.version) {
103
+ return err(new Error('Version not found in pom.xml'));
104
+ }
105
+ return ok(infoResult.data.version);
106
+ }
107
+ /**
108
+ * Set project version in pom.xml
109
+ * Only updates the first <version> tag (project version)
110
+ */
111
+ export function setVersion(version, cwd = process.cwd()) {
112
+ const pomResult = readPom(cwd);
113
+ if (!pomResult.success || !pomResult.data) {
114
+ return err(pomResult.error ?? new Error('Failed to read pom.xml'));
115
+ }
116
+ let content = pomResult.data;
117
+ let replaced = false;
118
+ // Replace only the first version tag
119
+ content = content.replace(/<version>([^<]+)<\/version>/, () => {
120
+ if (replaced)
121
+ return `<version>${version}</version>`;
122
+ replaced = true;
123
+ return `<version>${version}</version>`;
124
+ });
125
+ return writePom(content, cwd);
126
+ }
127
+ /**
128
+ * Set project name in pom.xml
129
+ */
130
+ export function setName(name, cwd = process.cwd()) {
131
+ const pomResult = readPom(cwd);
132
+ if (!pomResult.success || !pomResult.data) {
133
+ return err(pomResult.error ?? new Error('Failed to read pom.xml'));
134
+ }
135
+ let content = pomResult.data;
136
+ // Replace the name tag
137
+ if (content.includes('<name>')) {
138
+ content = content.replace(/<name>[^<]*<\/name>/, `<name>${name}</name>`);
139
+ }
140
+ return writePom(content, cwd);
141
+ }
142
+ /**
143
+ * Create a backup of pom.xml
144
+ */
145
+ export function backupPom(cwd = process.cwd()) {
146
+ const pomResult = readPom(cwd);
147
+ if (!pomResult.success || !pomResult.data) {
148
+ return err(pomResult.error ?? new Error('Failed to read pom.xml'));
149
+ }
150
+ const backupPath = join(cwd, 'pom.xml.bak');
151
+ try {
152
+ writeFileSync(backupPath, pomResult.data);
153
+ return ok(backupPath);
154
+ }
155
+ catch (error) {
156
+ return err(error instanceof Error ? error : new Error(String(error)));
157
+ }
158
+ }
159
+ /**
160
+ * Restore pom.xml from backup
161
+ */
162
+ export function restorePom(cwd = process.cwd()) {
163
+ const backupPath = join(cwd, 'pom.xml.bak');
164
+ if (!existsSync(backupPath)) {
165
+ return err(new Error('Backup file not found'));
166
+ }
167
+ try {
168
+ const content = readFileSync(backupPath, 'utf-8');
169
+ return writePom(content, cwd);
170
+ }
171
+ catch (error) {
172
+ return err(error instanceof Error ? error : new Error(String(error)));
173
+ }
174
+ }
175
+ //# sourceMappingURL=PomParser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PomParser.js","sourceRoot":"","sources":["../../../src/engine/PomParser.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,47 @@
1
+ /**
2
+ * XML Processor Engine
3
+ *
4
+ * Handles safe modification of MuleSoft XML configuration files.
5
+ * Uses regex-based approach to preserve formatting and comments.
6
+ */
7
+ import { Result, StripResult, EnforceResult } from '../types/index.js';
8
+ /**
9
+ * Strip secure:: prefixes from XML content
10
+ * Preserves file formatting and comments
11
+ */
12
+ export declare function stripSecureFromContent(content: string): {
13
+ result: string;
14
+ count: number;
15
+ };
16
+ /**
17
+ * Check content for unsecured sensitive properties
18
+ */
19
+ export declare function findUnsecuredProperties(content: string, sensitivePatterns?: string[]): {
20
+ property: string;
21
+ line: number;
22
+ value: string;
23
+ }[];
24
+ /**
25
+ * Get all XML files in a directory recursively
26
+ */
27
+ export declare function getXmlFiles(directory: string): string[];
28
+ /**
29
+ * Strip secure:: prefixes from files
30
+ */
31
+ export declare function stripSecure(target: string, options?: {
32
+ dryRun?: boolean;
33
+ cwd?: string;
34
+ }): Promise<Result<StripResult>>;
35
+ /**
36
+ * Enforce secure:: prefixes for sensitive properties
37
+ */
38
+ export declare function enforceSecure(target: string, options?: {
39
+ sensitivePatterns?: string[];
40
+ cwd?: string;
41
+ }): Promise<Result<EnforceResult>>;
42
+ /**
43
+ * Remove secure-properties:config element from XML content
44
+ * Uses regex to preserve formatting
45
+ */
46
+ export declare function removeSecurePropertiesConfig(content: string): string;
47
+ //# sourceMappingURL=XmlProcessor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"XmlProcessor.d.ts","sourceRoot":"","sources":["../../../src/engine/XmlProcessor.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,EACL,MAAM,EAGN,WAAW,EACX,aAAa,EAGd,MAAM,mBAAmB,CAAC;AAmC3B;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAgBzF;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,MAAM,EACf,iBAAiB,GAAE,MAAM,EAA+B,GACvD;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,EAAE,CA+CrD;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,CAuBvD;AAED;;GAEG;AACH,wBAAsB,WAAW,CAC/B,MAAM,EAAE,MAAM,EACd,OAAO,GAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAO,GAC/C,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAyC9B;AAED;;GAEG;AACH,wBAAsB,aAAa,CACjC,MAAM,EAAE,MAAM,EACd,OAAO,GAAE;IAAE,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAO,GAC3D,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAqChC;AAED;;;GAGG;AACH,wBAAgB,4BAA4B,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAMpE"}