@aneuhold/core-ts-lib 2.2.7 → 2.2.9

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 (40) hide show
  1. package/lib/index.d.ts +4 -3
  2. package/lib/index.d.ts.map +1 -1
  3. package/lib/index.js +2 -1
  4. package/lib/index.js.map +1 -1
  5. package/lib/index.ts +7 -5
  6. package/lib/interfaces/ITracer.d.ts.map +1 -1
  7. package/lib/interfaces/ITracer.js.map +1 -1
  8. package/lib/interfaces/ITracer.ts +2 -8
  9. package/lib/services/ArrayService.d.ts.map +1 -1
  10. package/lib/services/ArrayService.js.map +1 -1
  11. package/lib/services/ArrayService.ts +1 -4
  12. package/lib/services/DateService/DateService.d.ts.map +1 -1
  13. package/lib/services/DateService/DateService.js +1 -3
  14. package/lib/services/DateService/DateService.js.map +1 -1
  15. package/lib/services/DateService/DateService.ts +7 -25
  16. package/lib/services/DependencyService.d.ts.map +1 -1
  17. package/lib/services/DependencyService.js +1 -3
  18. package/lib/services/DependencyService.js.map +1 -1
  19. package/lib/services/DependencyService.ts +10 -32
  20. package/lib/services/FileSystemService/FileSystemService.d.ts +38 -12
  21. package/lib/services/FileSystemService/FileSystemService.d.ts.map +1 -1
  22. package/lib/services/FileSystemService/FileSystemService.js +83 -26
  23. package/lib/services/FileSystemService/FileSystemService.js.map +1 -1
  24. package/lib/services/FileSystemService/FileSystemService.ts +138 -53
  25. package/lib/services/FileSystemService/GlobMatchingService.d.ts +48 -0
  26. package/lib/services/FileSystemService/GlobMatchingService.d.ts.map +1 -0
  27. package/lib/services/FileSystemService/GlobMatchingService.js +129 -0
  28. package/lib/services/FileSystemService/GlobMatchingService.js.map +1 -0
  29. package/lib/services/FileSystemService/GlobMatchingService.ts +153 -0
  30. package/lib/services/PackageService.d.ts +60 -4
  31. package/lib/services/PackageService.d.ts.map +1 -1
  32. package/lib/services/PackageService.js +182 -43
  33. package/lib/services/PackageService.js.map +1 -1
  34. package/lib/services/PackageService.ts +241 -119
  35. package/lib/utils/ErrorUtils.d.ts.map +1 -1
  36. package/lib/utils/ErrorUtils.js.map +1 -1
  37. package/lib/utils/ErrorUtils.ts +1 -3
  38. package/package.json +3 -2
  39. package/lib/services/DateService/DateService.spec.ts +0 -98
  40. package/lib/services/FileSystemService/FileSystemService.spec.ts +0 -133
@@ -0,0 +1,153 @@
1
+ import path from 'path';
2
+
3
+ /**
4
+ * A service for handling glob-like pattern matching operations.
5
+ * Supports common glob patterns like **, *, and exact matches.
6
+ *
7
+ * Inspired by the isaacs/node-glob library (ISC License)
8
+ * but simplified for basic use cases.
9
+ */
10
+ export default class GlobMatchingService {
11
+ /**
12
+ * Gets files matching the include patterns while excluding those that match exclude patterns.
13
+ * Uses simple glob-like matching for common patterns.
14
+ *
15
+ * @param allFiles Array of all file paths to filter
16
+ * @param rootPath The root directory path for computing relative paths
17
+ * @param includePatterns Array of glob-like patterns to include
18
+ * @param excludePatterns Array of glob-like patterns to exclude
19
+ */
20
+ static getMatchingFiles(
21
+ allFiles: string[],
22
+ rootPath: string,
23
+ includePatterns: string[],
24
+ excludePatterns: string[]
25
+ ): string[] {
26
+ return allFiles.filter((filePath) => {
27
+ const relativePath = path.relative(rootPath, filePath);
28
+
29
+ // Check if file matches any exclude pattern
30
+ if (excludePatterns.some((pattern) => this.matchesPattern(relativePath, pattern))) {
31
+ return false;
32
+ }
33
+
34
+ // Check if file matches any include pattern
35
+ return includePatterns.some((pattern) => this.matchesPattern(relativePath, pattern));
36
+ });
37
+ }
38
+
39
+ /**
40
+ * Simple glob-like pattern matching for common use cases.
41
+ * Supports:
42
+ * - ** for any number of directories (globstar)
43
+ * - * for any characters except path separators
44
+ * - Exact matches
45
+ *
46
+ * @param filePath The file path to test
47
+ * @param pattern The pattern to match against
48
+ */
49
+ static matchesPattern(filePath: string, pattern: string): boolean {
50
+ // Normalize path separators to forward slashes
51
+ const normalizedPath = filePath.replace(/\\/g, '/');
52
+ const normalizedPattern = pattern.replace(/\\/g, '/');
53
+
54
+ // Handle special case of **/* which should match everything
55
+ if (normalizedPattern === '**/*') {
56
+ return true;
57
+ }
58
+
59
+ // Split into segments for more precise matching
60
+ const pathSegments = normalizedPath.split('/');
61
+ const patternSegments = normalizedPattern.split('/');
62
+
63
+ return this.matchSegments(pathSegments, patternSegments);
64
+ }
65
+
66
+ /**
67
+ * Match path segments against pattern segments with support for globstar (**).
68
+ *
69
+ * The idea is that each segment doesn't cross path separators. It should
70
+ * be split by '/' and then matched segment by segment.
71
+ *
72
+ * @param pathSegments Array of path segments
73
+ * @param patternSegments Array of pattern segments
74
+ */
75
+ private static matchSegments(pathSegments: string[], patternSegments: string[]): boolean {
76
+ let pathIndex = 0;
77
+ let patternIndex = 0;
78
+
79
+ while (pathIndex < pathSegments.length && patternIndex < patternSegments.length) {
80
+ const pathSegment = pathSegments[pathIndex];
81
+ const patternSegment = patternSegments[patternIndex];
82
+
83
+ if (patternSegment === '**') {
84
+ // Handle globstar - it can match zero or more segments
85
+ patternIndex++;
86
+
87
+ // If ** is the last segment, it matches everything remaining
88
+ if (patternIndex >= patternSegments.length) {
89
+ return true;
90
+ }
91
+
92
+ // Try to match the rest of the pattern against remaining path segments
93
+ const remainingPattern = patternSegments.slice(patternIndex);
94
+
95
+ // Try matching from current position onwards
96
+ for (let i = pathIndex; i <= pathSegments.length; i++) {
97
+ const remainingPath = pathSegments.slice(i);
98
+ if (this.matchSegments(remainingPath, remainingPattern)) {
99
+ return true;
100
+ }
101
+ }
102
+
103
+ return false;
104
+ } else if (this.matchSingleSegment(pathSegment, patternSegment)) {
105
+ // Regular segment match
106
+ pathIndex++;
107
+ patternIndex++;
108
+ } else {
109
+ return false;
110
+ }
111
+ }
112
+
113
+ // Check if we've consumed both path and pattern completely
114
+ // or if remaining pattern segments are only globstars
115
+ const remainingPattern = patternSegments.slice(patternIndex);
116
+ const pathConsumed = pathIndex >= pathSegments.length;
117
+ const patternConsumed = patternIndex >= patternSegments.length;
118
+
119
+ if (pathConsumed && patternConsumed) {
120
+ return true;
121
+ }
122
+
123
+ if (pathConsumed && remainingPattern.every((seg) => seg === '**')) {
124
+ return true;
125
+ }
126
+
127
+ return false;
128
+ }
129
+
130
+ /**
131
+ * Match a single segment with support for * wildcard
132
+ *
133
+ * @param pathSegment Single path segment
134
+ * @param patternSegment Single pattern segment
135
+ */
136
+ private static matchSingleSegment(pathSegment: string, patternSegment: string): boolean {
137
+ if (patternSegment === '*') {
138
+ return true;
139
+ }
140
+
141
+ if (patternSegment === pathSegment) {
142
+ return true;
143
+ }
144
+
145
+ // Convert pattern to regex for more complex matching
146
+ const regexPattern = patternSegment
147
+ .replace(/\./g, '\\.') // Escape dots
148
+ .replace(/\*/g, '[^/]*'); // * matches anything except slashes
149
+
150
+ const regex = new RegExp(`^${regexPattern}$`);
151
+ return regex.test(pathSegment);
152
+ }
153
+ }
@@ -8,15 +8,53 @@ export default class PackageService {
8
8
  * project has any pending changes first, then update the version of the
9
9
  * jsr.json to match the package.json file, then run the
10
10
  * `jsr publish --dry-run` command, and finally cleanup the changes made.
11
+ *
12
+ * @param alternativePackageNames Optional array of alternative package names to validate publishing under
13
+ *
14
+ * **Warning:** This method uses simple string replacement for package names, which may have unintended effects
15
+ * if the package name appears in unexpected places. Use with caution.
16
+ */
17
+ static validateJsrPublish(alternativePackageNames?: string[]): Promise<void>;
18
+ /**
19
+ * Publishes the current project to JSR.
20
+ *
21
+ * @param alternativePackageNames Optional array of alternative package names to publish under
22
+ *
23
+ * **Warning:** This method uses simple string replacement for package names, which may have unintended effects
24
+ * if the package name appears in unexpected places. Use with caution.
11
25
  */
12
- static validateJsrPublish(): Promise<void>;
13
- static publishToJsr(): Promise<void>;
26
+ static publishToJsr(alternativePackageNames?: string[]): Promise<void>;
14
27
  /**
15
28
  * Validates the current project for publishing to npm. This will run
16
29
  * `npm publish --access public --dry-run` and check for version conflicts
17
30
  * on the npm registry.
31
+ *
32
+ * @param alternativePackageNames Optional array of alternative package names to validate publishing under
33
+ *
34
+ * **Warning:** This method uses simple string replacement for package names, which may have unintended effects
35
+ * if the package name appears in unexpected places. Use with caution.
36
+ */
37
+ static validateNpmPublish(alternativePackageNames?: string[]): Promise<void>;
38
+ /**
39
+ * Publishes the current project to npm.
40
+ *
41
+ * @param alternativePackageNames Optional array of alternative package names to publish under
42
+ *
43
+ * **Warning:** This method uses simple string replacement for package names, which may have unintended effects
44
+ * if the package name appears in unexpected places. Use with caution.
18
45
  */
19
- static validateNpmPublish(): Promise<void>;
46
+ static publishToNpm(alternativePackageNames?: string[]): Promise<void>;
47
+ /**
48
+ * Test method for string replacement functionality. This method allows testing
49
+ * the string replacement behavior without performing actual publishing operations.
50
+ *
51
+ * @param originalString The original string to replace
52
+ * @param newString The new string to replace it with
53
+ *
54
+ * **Warning:** This method uses simple string replacement, which may have unintended effects
55
+ * if the string appears in unexpected places. Use with caution.
56
+ */
57
+ static testStringReplacement(originalString: string, newString: string): Promise<void>;
20
58
  /**
21
59
  * Updates the jsr.json file from the package.json file and resolves wildcard
22
60
  * dependencies in package.json for JSR compatibility.
@@ -81,7 +119,6 @@ export default class PackageService {
81
119
  * ```
82
120
  */
83
121
  private static replaceMonorepoImportsWithNpmSpecifiers;
84
- private static revertGitChanges;
85
122
  /**
86
123
  * Checks for version conflicts on JSR by looking up the current package
87
124
  * and comparing versions. Throws an error if the current version already
@@ -99,5 +136,24 @@ export default class PackageService {
99
136
  * @param registryName The name of the registry (for error messages)
100
137
  */
101
138
  private static checkVersionConflict;
139
+ /**
140
+ * Replaces the package name in all files in the root directory, but no child directories,
141
+ * with a new name.
142
+ *
143
+ * @param originalPackageName The original package name to replace
144
+ * @param newPackageName The new package name to use
145
+ */
146
+ private static replacePackageName;
147
+ /**
148
+ * Performs a git reset to discard all changes in the working directory.
149
+ * This is used between alternative package name operations.
150
+ */
151
+ private static resetGitChanges;
152
+ /**
153
+ * Publishes the current project to npm.
154
+ *
155
+ * @returns true if the publish was successful, false otherwise.
156
+ */
157
+ private static publishNpm;
102
158
  }
103
159
  //# sourceMappingURL=PackageService.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PackageService.d.ts","sourceRoot":"","sources":["../../src/services/PackageService.ts"],"names":[],"mappings":"AAcA;;;GAGG;AACH,MAAM,CAAC,OAAO,OAAO,cAAc;IACjC;;;;;OAKG;WACU,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC;WAqBnC,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAiB1C;;;;OAIG;WACU,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC;IAahD;;;;;OAKG;mBACkB,wBAAwB;IAkD7C;;;;;;;OAOG;mBACkB,wCAAwC;IA+C7D;;;;;;;;OAQG;mBACkB,gBAAgB;IAyBrC;;;;OAIG;mBACkB,UAAU;IAkB/B;;;;OAIG;mBACkB,cAAc;IA6BnC;;;;OAIG;mBACkB,gBAAgB;IAarC;;;;;OAKG;mBACkB,wBAAwB;IA6C7C;;;;;;;;;;;OAWG;mBACkB,uCAAuC;mBA4GvC,gBAAgB;IAarC;;;;;;;OAOG;mBACkB,wBAAwB;IA+C7C;;;;;;OAMG;IACH,OAAO,CAAC,MAAM,CAAC,oBAAoB;CA2BpC"}
1
+ {"version":3,"file":"PackageService.d.ts","sourceRoot":"","sources":["../../src/services/PackageService.ts"],"names":[],"mappings":"AAcA;;;GAGG;AACH,MAAM,CAAC,OAAO,OAAO,cAAc;IACjC;;;;;;;;;;OAUG;WACU,kBAAkB,CAAC,uBAAuB,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAgClF;;;;;;;OAOG;WACU,YAAY,CAAC,uBAAuB,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAgC5E;;;;;;;;;OASG;WACU,kBAAkB,CAAC,uBAAuB,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAqClF;;;;;;;OAOG;WACU,YAAY,CAAC,uBAAuB,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAgC5E;;;;;;;;;OASG;WACU,qBAAqB,CAAC,cAAc,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ5F;;;;;OAKG;mBACkB,wBAAwB;IAyC7C;;;;;;;OAOG;mBACkB,wCAAwC;IAqC7D;;;;;;;;OAQG;mBACkB,gBAAgB;IAqBrC;;;;OAIG;mBACkB,UAAU;IAkB/B;;;;OAIG;mBACkB,cAAc;IA2BnC;;;;OAIG;mBACkB,gBAAgB;IAarC;;;;;OAKG;mBACkB,wBAAwB;IAkC7C;;;;;;;;;;;OAWG;mBACkB,uCAAuC;IAwG5D;;;;;;;OAOG;mBACkB,wBAAwB;IAmC7C;;;;;;OAMG;IACH,OAAO,CAAC,MAAM,CAAC,oBAAoB;IAyBnC;;;;;;OAMG;mBACkB,kBAAkB;IAoBvC;;;OAGG;mBACkB,eAAe;IAUpC;;;;OAIG;mBACkB,UAAU;CAiBhC"}
@@ -18,52 +18,148 @@ export default class PackageService {
18
18
  * project has any pending changes first, then update the version of the
19
19
  * jsr.json to match the package.json file, then run the
20
20
  * `jsr publish --dry-run` command, and finally cleanup the changes made.
21
+ *
22
+ * @param alternativePackageNames Optional array of alternative package names to validate publishing under
23
+ *
24
+ * **Warning:** This method uses simple string replacement for package names, which may have unintended effects
25
+ * if the package name appears in unexpected places. Use with caution.
21
26
  */
22
- static async validateJsrPublish() {
27
+ static async validateJsrPublish(alternativePackageNames) {
23
28
  if (await FileSystemService.hasPendingChanges()) {
24
29
  DR.logger.error('Please commit or stash your changes before publishing.');
25
30
  process.exit(1);
26
31
  }
27
- await PackageService.replaceMonorepoImportsWithNpmSpecifiers();
28
- const { packageName, version: currentVersion } = await PackageService.updateJsrFromPackageJson();
29
- const successfulDryRun = await PackageService.publishJsrDryRun(packageName, currentVersion);
30
- await PackageService.revertGitChanges();
31
- if (!successfulDryRun) {
32
- process.exit(1);
33
- }
34
- else {
35
- DR.logger.success('Successfully validated JSR publishing.');
32
+ const { packageName: originalPackageName } = await PackageService.getPackageInfo();
33
+ const packageNamesToValidate = [originalPackageName, ...(alternativePackageNames || [])];
34
+ for (const packageName of packageNamesToValidate) {
35
+ const isAlternativeName = packageName !== originalPackageName;
36
+ DR.logger.info(`Validating JSR publishing for package: ${packageName}`);
37
+ if (isAlternativeName) {
38
+ await PackageService.replacePackageName(originalPackageName, packageName);
39
+ }
40
+ await PackageService.replaceMonorepoImportsWithNpmSpecifiers();
41
+ const { version: currentVersion } = await PackageService.updateJsrFromPackageJson();
42
+ const successfulDryRun = await PackageService.publishJsrDryRun(packageName, currentVersion);
43
+ await PackageService.resetGitChanges();
44
+ if (!successfulDryRun) {
45
+ process.exit(1);
46
+ }
36
47
  }
48
+ DR.logger.success('Successfully validated JSR publishing for all package names.');
37
49
  }
38
- static async publishToJsr() {
50
+ /**
51
+ * Publishes the current project to JSR.
52
+ *
53
+ * @param alternativePackageNames Optional array of alternative package names to publish under
54
+ *
55
+ * **Warning:** This method uses simple string replacement for package names, which may have unintended effects
56
+ * if the package name appears in unexpected places. Use with caution.
57
+ */
58
+ static async publishToJsr(alternativePackageNames) {
39
59
  if (await FileSystemService.hasPendingChanges()) {
40
60
  DR.logger.error('Please commit or stash your changes before publishing.');
41
61
  process.exit(1);
42
62
  }
43
- await PackageService.replaceMonorepoImportsWithNpmSpecifiers();
44
- await PackageService.updateJsrFromPackageJson();
45
- const result = await PackageService.publishJsr();
46
- await PackageService.revertGitChanges();
47
- if (!result) {
48
- process.exit(1);
49
- }
50
- else {
51
- DR.logger.success('Successfully published to JSR.');
63
+ const { packageName: originalPackageName } = await PackageService.getPackageInfo();
64
+ const packageNamesToPublish = [originalPackageName, ...(alternativePackageNames || [])];
65
+ for (const packageName of packageNamesToPublish) {
66
+ const isAlternativeName = packageName !== originalPackageName;
67
+ DR.logger.info(`Publishing to JSR for package: ${packageName}`);
68
+ if (isAlternativeName) {
69
+ await PackageService.replacePackageName(originalPackageName, packageName);
70
+ }
71
+ await PackageService.replaceMonorepoImportsWithNpmSpecifiers();
72
+ await PackageService.updateJsrFromPackageJson();
73
+ const result = await PackageService.publishJsr();
74
+ await PackageService.resetGitChanges();
75
+ if (!result) {
76
+ process.exit(1);
77
+ }
52
78
  }
79
+ DR.logger.success('Successfully published to JSR for all package names.');
53
80
  }
54
81
  /**
55
82
  * Validates the current project for publishing to npm. This will run
56
83
  * `npm publish --access public --dry-run` and check for version conflicts
57
84
  * on the npm registry.
85
+ *
86
+ * @param alternativePackageNames Optional array of alternative package names to validate publishing under
87
+ *
88
+ * **Warning:** This method uses simple string replacement for package names, which may have unintended effects
89
+ * if the package name appears in unexpected places. Use with caution.
90
+ */
91
+ static async validateNpmPublish(alternativePackageNames) {
92
+ if (await FileSystemService.hasPendingChanges()) {
93
+ DR.logger.error('Please commit or stash your changes before publishing.');
94
+ process.exit(1);
95
+ }
96
+ const { packageName: originalPackageName, version: currentVersion } = await PackageService.getPackageInfo();
97
+ const packageNamesToValidate = [originalPackageName, ...(alternativePackageNames || [])];
98
+ for (const packageName of packageNamesToValidate) {
99
+ const isAlternativeName = packageName !== originalPackageName;
100
+ DR.logger.info(`Validating npm publishing for package: ${packageName}`);
101
+ if (isAlternativeName) {
102
+ await PackageService.replacePackageName(originalPackageName, packageName);
103
+ }
104
+ const successfulDryRun = await PackageService.publishNpmDryRun();
105
+ if (!successfulDryRun) {
106
+ if (isAlternativeName) {
107
+ await PackageService.resetGitChanges();
108
+ }
109
+ process.exit(1);
110
+ }
111
+ await PackageService.checkNpmVersionConflicts(packageName, currentVersion);
112
+ if (isAlternativeName) {
113
+ await PackageService.resetGitChanges();
114
+ }
115
+ }
116
+ DR.logger.success('Successfully validated npm publishing for all package names.');
117
+ }
118
+ /**
119
+ * Publishes the current project to npm.
120
+ *
121
+ * @param alternativePackageNames Optional array of alternative package names to publish under
122
+ *
123
+ * **Warning:** This method uses simple string replacement for package names, which may have unintended effects
124
+ * if the package name appears in unexpected places. Use with caution.
58
125
  */
59
- static async validateNpmPublish() {
60
- const { packageName, version: currentVersion } = await PackageService.getPackageInfo();
61
- const successfulDryRun = await PackageService.publishNpmDryRun();
62
- if (!successfulDryRun) {
126
+ static async publishToNpm(alternativePackageNames) {
127
+ if (await FileSystemService.hasPendingChanges()) {
128
+ DR.logger.error('Please commit or stash your changes before publishing.');
63
129
  process.exit(1);
64
130
  }
65
- await PackageService.checkNpmVersionConflicts(packageName, currentVersion);
66
- DR.logger.success('Successfully validated npm publishing.');
131
+ const { packageName: originalPackageName } = await PackageService.getPackageInfo();
132
+ const packageNamesToPublish = [originalPackageName, ...(alternativePackageNames || [])];
133
+ for (const packageName of packageNamesToPublish) {
134
+ const isAlternativeName = packageName !== originalPackageName;
135
+ DR.logger.info(`Publishing to npm for package: ${packageName}`);
136
+ if (isAlternativeName) {
137
+ await PackageService.replacePackageName(originalPackageName, packageName);
138
+ }
139
+ const result = await PackageService.publishNpm();
140
+ if (isAlternativeName) {
141
+ await PackageService.resetGitChanges();
142
+ }
143
+ if (!result) {
144
+ process.exit(1);
145
+ }
146
+ }
147
+ DR.logger.success('Successfully published to npm for all package names.');
148
+ }
149
+ /**
150
+ * Test method for string replacement functionality. This method allows testing
151
+ * the string replacement behavior without performing actual publishing operations.
152
+ *
153
+ * @param originalString The original string to replace
154
+ * @param newString The new string to replace it with
155
+ *
156
+ * **Warning:** This method uses simple string replacement, which may have unintended effects
157
+ * if the string appears in unexpected places. Use with caution.
158
+ */
159
+ static async testStringReplacement(originalString, newString) {
160
+ DR.logger.info(`Testing string replacement from "${originalString}" to "${newString}"`);
161
+ await PackageService.replacePackageName(originalString, newString);
162
+ DR.logger.info('Test completed - package name replacement has been applied');
67
163
  }
68
164
  /**
69
165
  * Updates the jsr.json file from the package.json file and resolves wildcard
@@ -121,8 +217,7 @@ export default class PackageService {
121
217
  for (const [depName, depVersion] of Object.entries(deps)) {
122
218
  if (depVersion === '*' && depName in childPackages) {
123
219
  // Replace wildcard with "*" + actual version from the monorepo
124
- deps[depName] =
125
- `*${childPackages[depName].packageJsonContents.version}`;
220
+ deps[depName] = `*${childPackages[depName].packageJsonContents.version}`;
126
221
  }
127
222
  }
128
223
  };
@@ -259,8 +354,7 @@ export default class PackageService {
259
354
  return;
260
355
  }
261
356
  // Re-throw version conflict errors
262
- if (errorString.includes('already exists') ||
263
- errorString.includes('is lower than')) {
357
+ if (errorString.includes('already exists') || errorString.includes('is lower than')) {
264
358
  throw error;
265
359
  }
266
360
  // For other npm command errors, log but don't block
@@ -358,15 +452,6 @@ export default class PackageService {
358
452
  }
359
453
  DR.logger.info(`Completed monorepo import replacement: ${totalReplacements} total replacements made`);
360
454
  }
361
- static async revertGitChanges() {
362
- DR.logger.info('Reverting changes made to jsr.json, package.json, and source files');
363
- try {
364
- await execAsync('git checkout -- jsr.json package.json src/');
365
- }
366
- catch (error) {
367
- DR.logger.error(`Failed to revert changes: ${ErrorUtils.getErrorString(error)}`);
368
- }
369
- }
370
455
  /**
371
456
  * Checks for version conflicts on JSR by looking up the current package
372
457
  * and comparing versions. Throws an error if the current version already
@@ -389,14 +474,12 @@ export default class PackageService {
389
474
  catch (error) {
390
475
  const errorString = ErrorUtils.getErrorString(error);
391
476
  // If the package doesn't exist on JSR, that's fine for first publish
392
- if (errorString.includes('Package not found') ||
393
- errorString.includes('404')) {
477
+ if (errorString.includes('Package not found') || errorString.includes('404')) {
394
478
  DR.logger.info('Package not found on JSR - this appears to be a first publish.');
395
479
  return;
396
480
  }
397
481
  // Re-throw version conflict errors
398
- if (errorString.includes('already exists') ||
399
- errorString.includes('is lower than')) {
482
+ if (errorString.includes('already exists') || errorString.includes('is lower than')) {
400
483
  throw error;
401
484
  }
402
485
  // For other JSR command errors, log but don't block
@@ -422,5 +505,61 @@ export default class PackageService {
422
505
  }
423
506
  DR.logger.info('Version check passed - ready to publish.');
424
507
  }
508
+ /**
509
+ * Replaces the package name in all files in the root directory, but no child directories,
510
+ * with a new name.
511
+ *
512
+ * @param originalPackageName The original package name to replace
513
+ * @param newPackageName The new package name to use
514
+ */
515
+ static async replacePackageName(originalPackageName, newPackageName) {
516
+ DR.logger.info(`Replacing package name from "${originalPackageName}" to "${newPackageName}"`);
517
+ const rootDir = process.cwd();
518
+ // Replace in all files in the root directory
519
+ await FileSystemService.replaceInFiles({
520
+ searchString: originalPackageName,
521
+ replaceString: newPackageName,
522
+ rootPath: rootDir,
523
+ includePatterns: ['*'],
524
+ excludePatterns: []
525
+ });
526
+ DR.logger.info(`Successfully replaced package name in configuration files`);
527
+ }
528
+ /**
529
+ * Performs a git reset to discard all changes in the working directory.
530
+ * This is used between alternative package name operations.
531
+ */
532
+ static async resetGitChanges() {
533
+ DR.logger.info('Resetting git changes');
534
+ try {
535
+ await execAsync('git reset --hard HEAD');
536
+ }
537
+ catch (error) {
538
+ DR.logger.error(`Failed to reset git changes: ${ErrorUtils.getErrorString(error)}`);
539
+ throw error;
540
+ }
541
+ }
542
+ /**
543
+ * Publishes the current project to npm.
544
+ *
545
+ * @returns true if the publish was successful, false otherwise.
546
+ */
547
+ static async publishNpm() {
548
+ DR.logger.info('Running `npm publish --access public`');
549
+ return new Promise((resolve) => {
550
+ const child = spawn('npm publish', ['--access', 'public'], {
551
+ stdio: 'inherit',
552
+ shell: true
553
+ });
554
+ child.on('exit', (code) => {
555
+ if (code === 0) {
556
+ resolve(true);
557
+ }
558
+ else {
559
+ resolve(false);
560
+ }
561
+ });
562
+ });
563
+ }
425
564
  }
426
565
  //# sourceMappingURL=PackageService.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PackageService.js","sourceRoot":"","sources":["../../src/services/PackageService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PackageService.js","sourceRoot":"","sources":["../../src/services/PackageService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AAGjC,OAAO,UAAU,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,EAAE,EAAE,MAAM,yBAAyB,CAAC;AAC7C,OAAO,iBAAiB,MAAM,wBAAwB,CAAC;AACvD,OAAO,iBAAiB,MAAM,0CAA0C,CAAC;AACzE,OAAO,aAAa,MAAM,oBAAoB,CAAC;AAE/C,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;AAElC;;;GAGG;AACH,MAAM,CAAC,OAAO,OAAO,cAAc;IACjC;;;;;;;;;;OAUG;IACH,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC,uBAAkC;QAChE,IAAI,MAAM,iBAAiB,CAAC,iBAAiB,EAAE,EAAE,CAAC;YAChD,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,wDAAwD,CAAC,CAAC;YAC1E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,MAAM,EAAE,WAAW,EAAE,mBAAmB,EAAE,GAAG,MAAM,cAAc,CAAC,cAAc,EAAE,CAAC;QACnF,MAAM,sBAAsB,GAAG,CAAC,mBAAmB,EAAE,GAAG,CAAC,uBAAuB,IAAI,EAAE,CAAC,CAAC,CAAC;QAEzF,KAAK,MAAM,WAAW,IAAI,sBAAsB,EAAE,CAAC;YACjD,MAAM,iBAAiB,GAAG,WAAW,KAAK,mBAAmB,CAAC;YAE9D,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,0CAA0C,WAAW,EAAE,CAAC,CAAC;YAExE,IAAI,iBAAiB,EAAE,CAAC;gBACtB,MAAM,cAAc,CAAC,kBAAkB,CAAC,mBAAmB,EAAE,WAAW,CAAC,CAAC;YAC5E,CAAC;YAED,MAAM,cAAc,CAAC,uCAAuC,EAAE,CAAC;YAC/D,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,GAAG,MAAM,cAAc,CAAC,wBAAwB,EAAE,CAAC;YACpF,MAAM,gBAAgB,GAAG,MAAM,cAAc,CAAC,gBAAgB,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;YAE5F,MAAM,cAAc,CAAC,eAAe,EAAE,CAAC;YAEvC,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBACtB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;QACH,CAAC;QAED,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,8DAA8D,CAAC,CAAC;IACpF,CAAC;IAED;;;;;;;OAOG;IACH,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,uBAAkC;QAC1D,IAAI,MAAM,iBAAiB,CAAC,iBAAiB,EAAE,EAAE,CAAC;YAChD,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,wDAAwD,CAAC,CAAC;YAC1E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,MAAM,EAAE,WAAW,EAAE,mBAAmB,EAAE,GAAG,MAAM,cAAc,CAAC,cAAc,EAAE,CAAC;QACnF,MAAM,qBAAqB,GAAG,CAAC,mBAAmB,EAAE,GAAG,CAAC,uBAAuB,IAAI,EAAE,CAAC,CAAC,CAAC;QAExF,KAAK,MAAM,WAAW,IAAI,qBAAqB,EAAE,CAAC;YAChD,MAAM,iBAAiB,GAAG,WAAW,KAAK,mBAAmB,CAAC;YAE9D,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,kCAAkC,WAAW,EAAE,CAAC,CAAC;YAEhE,IAAI,iBAAiB,EAAE,CAAC;gBACtB,MAAM,cAAc,CAAC,kBAAkB,CAAC,mBAAmB,EAAE,WAAW,CAAC,CAAC;YAC5E,CAAC;YAED,MAAM,cAAc,CAAC,uCAAuC,EAAE,CAAC;YAC/D,MAAM,cAAc,CAAC,wBAAwB,EAAE,CAAC;YAChD,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,UAAU,EAAE,CAAC;YAEjD,MAAM,cAAc,CAAC,eAAe,EAAE,CAAC;YAEvC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;QACH,CAAC;QAED,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,sDAAsD,CAAC,CAAC;IAC5E,CAAC;IAED;;;;;;;;;OASG;IACH,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC,uBAAkC;QAChE,IAAI,MAAM,iBAAiB,CAAC,iBAAiB,EAAE,EAAE,CAAC;YAChD,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,wDAAwD,CAAC,CAAC;YAC1E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,MAAM,EAAE,WAAW,EAAE,mBAAmB,EAAE,OAAO,EAAE,cAAc,EAAE,GACjE,MAAM,cAAc,CAAC,cAAc,EAAE,CAAC;QACxC,MAAM,sBAAsB,GAAG,CAAC,mBAAmB,EAAE,GAAG,CAAC,uBAAuB,IAAI,EAAE,CAAC,CAAC,CAAC;QAEzF,KAAK,MAAM,WAAW,IAAI,sBAAsB,EAAE,CAAC;YACjD,MAAM,iBAAiB,GAAG,WAAW,KAAK,mBAAmB,CAAC;YAE9D,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,0CAA0C,WAAW,EAAE,CAAC,CAAC;YAExE,IAAI,iBAAiB,EAAE,CAAC;gBACtB,MAAM,cAAc,CAAC,kBAAkB,CAAC,mBAAmB,EAAE,WAAW,CAAC,CAAC;YAC5E,CAAC;YAED,MAAM,gBAAgB,GAAG,MAAM,cAAc,CAAC,gBAAgB,EAAE,CAAC;YACjE,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBACtB,IAAI,iBAAiB,EAAE,CAAC;oBACtB,MAAM,cAAc,CAAC,eAAe,EAAE,CAAC;gBACzC,CAAC;gBACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YAED,MAAM,cAAc,CAAC,wBAAwB,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;YAE3E,IAAI,iBAAiB,EAAE,CAAC;gBACtB,MAAM,cAAc,CAAC,eAAe,EAAE,CAAC;YACzC,CAAC;QACH,CAAC;QAED,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,8DAA8D,CAAC,CAAC;IACpF,CAAC;IAED;;;;;;;OAOG;IACH,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,uBAAkC;QAC1D,IAAI,MAAM,iBAAiB,CAAC,iBAAiB,EAAE,EAAE,CAAC;YAChD,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,wDAAwD,CAAC,CAAC;YAC1E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,MAAM,EAAE,WAAW,EAAE,mBAAmB,EAAE,GAAG,MAAM,cAAc,CAAC,cAAc,EAAE,CAAC;QACnF,MAAM,qBAAqB,GAAG,CAAC,mBAAmB,EAAE,GAAG,CAAC,uBAAuB,IAAI,EAAE,CAAC,CAAC,CAAC;QAExF,KAAK,MAAM,WAAW,IAAI,qBAAqB,EAAE,CAAC;YAChD,MAAM,iBAAiB,GAAG,WAAW,KAAK,mBAAmB,CAAC;YAE9D,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,kCAAkC,WAAW,EAAE,CAAC,CAAC;YAEhE,IAAI,iBAAiB,EAAE,CAAC;gBACtB,MAAM,cAAc,CAAC,kBAAkB,CAAC,mBAAmB,EAAE,WAAW,CAAC,CAAC;YAC5E,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,UAAU,EAAE,CAAC;YAEjD,IAAI,iBAAiB,EAAE,CAAC;gBACtB,MAAM,cAAc,CAAC,eAAe,EAAE,CAAC;YACzC,CAAC;YAED,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;QACH,CAAC;QAED,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,sDAAsD,CAAC,CAAC;IAC5E,CAAC;IAED;;;;;;;;;OASG;IACH,MAAM,CAAC,KAAK,CAAC,qBAAqB,CAAC,cAAsB,EAAE,SAAiB;QAC1E,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,oCAAoC,cAAc,SAAS,SAAS,GAAG,CAAC,CAAC;QAExF,MAAM,cAAc,CAAC,kBAAkB,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;QAEnE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,4DAA4D,CAAC,CAAC;IAC/E,CAAC;IAED;;;;;OAKG;IACK,MAAM,CAAC,KAAK,CAAC,wBAAwB;QAI3C,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QAC9B,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;QAC3D,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QAEnD,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,WAAW,CAAC,CAAC;QAC5B,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;QACtE,CAAC;QAED,IAAI,CAAC;YACH,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,GAAG,MAAM,cAAc,CAAC,cAAc,EAAE,CAAC;YACvE,MAAM,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC,CAAgB,CAAC;YAC5F,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAC5B,MAAM,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC,CACV,CAAC;YAE7B,qBAAqB;YACrB,WAAW,CAAC,OAAO,GAAG,OAAO,CAAC;YAE9B,sEAAsE;YACtE,MAAM,IAAI,CAAC,wCAAwC,CAAC,eAAe,EAAE,eAAe,CAAC,CAAC;YAEtF,MAAM,SAAS,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YACnE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,gDAAgD,GAAG,OAAO,CAAC,CAAC;YAE3E,OAAO;gBACL,WAAW;gBACX,OAAO;aACR,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,WAAW,GAAG,UAAU,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;YACrD,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,gDAAgD,WAAW,EAAE,CAAC,CAAC;YAC/E,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED;;;;;;;OAOG;IACK,MAAM,CAAC,KAAK,CAAC,wCAAwC,CAC3D,eAA4B,EAC5B,eAAuB;QAEvB,IAAI,CAAC;YACH,2EAA2E;YAC3E,MAAM,aAAa,GAAG,MAAM,iBAAiB,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;YAE1E,0CAA0C;YAC1C,MAAM,mBAAmB,GAAG,CAAC,IAAwC,EAAQ,EAAE;gBAC7E,IAAI,CAAC,IAAI;oBAAE,OAAO;gBAElB,KAAK,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;oBACzD,IAAI,UAAU,KAAK,GAAG,IAAI,OAAO,IAAI,aAAa,EAAE,CAAC;wBACnD,+DAA+D;wBAC/D,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,aAAa,CAAC,OAAO,CAAC,CAAC,mBAAmB,CAAC,OAAO,EAAE,CAAC;oBAC3E,CAAC;gBACH,CAAC;YACH,CAAC,CAAC;YAEF,+BAA+B;YAC/B,mBAAmB,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;YAClD,mBAAmB,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;YACrD,mBAAmB,CAAC,eAAe,CAAC,gBAAgB,CAAC,CAAC;YACtD,mBAAmB,CAAC,eAAe,CAAC,oBAAoB,CAAC,CAAC;YAE1D,iCAAiC;YACjC,MAAM,SAAS,CAAC,eAAe,EAAE,IAAI,CAAC,SAAS,CAAC,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YAE3E,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,sEAAsE,CAAC,CAAC;QACzF,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,WAAW,GAAG,UAAU,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;YACrD,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,4CAA4C,WAAW,EAAE,CAAC,CAAC;YAC3E,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED;;;;;;;;OAQG;IACK,MAAM,CAAC,KAAK,CAAC,gBAAgB,CACnC,WAAmB,EACnB,cAAsB;QAEtB,2CAA2C;QAC3C,MAAM,IAAI,CAAC,wBAAwB,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;QAEjE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;QAClD,IAAI,CAAC;YACH,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,qCAAqC,CAAC,CAAC;YAClF,IAAI,MAAM,EAAE,CAAC;gBACX,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACzB,CAAC;YACD,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACzB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,0CAA0C,UAAU,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAC9F,OAAO,KAAK,CAAC;QACf,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;OAIG;IACK,MAAM,CAAC,KAAK,CAAC,UAAU;QAC7B,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;QACxC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC7B,MAAM,KAAK,GAAG,KAAK,CAAC,aAAa,EAAE,CAAC,eAAe,CAAC,EAAE;gBACpD,KAAK,EAAE,SAAS;gBAChB,KAAK,EAAE,IAAI;aACZ,CAAC,CAAC;YAEH,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;gBACxB,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;oBACf,OAAO,CAAC,IAAI,CAAC,CAAC;gBAChB,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,KAAK,CAAC,CAAC;gBACjB,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACK,MAAM,CAAC,KAAK,CAAC,cAAc;QAIjC,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QAC9B,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;QAE3D,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,eAAe,CAAC,CAAC;QAChC,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;QAC1E,CAAC;QAED,IAAI,CAAC;YACH,MAAM,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC,CAAgB,CAAC;YAE5F,OAAO;gBACL,WAAW,EAAE,eAAe,CAAC,IAAI;gBACjC,OAAO,EAAE,eAAe,CAAC,OAAO;aACjC,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,WAAW,GAAG,UAAU,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;YACrD,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,gCAAgC,WAAW,EAAE,CAAC,CAAC;YAC/D,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED;;;;OAIG;IACK,MAAM,CAAC,KAAK,CAAC,gBAAgB;QACnC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAC;QAClE,IAAI,CAAC;YACH,MAAM,SAAS,CAAC,uCAAuC,CAAC,CAAC;YACzD,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;QACxD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,WAAW,GAAG,UAAU,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;YACrD,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,uBAAuB,WAAW,EAAE,CAAC,CAAC;YACtD,OAAO,KAAK,CAAC;QACf,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;OAKG;IACK,MAAM,CAAC,KAAK,CAAC,wBAAwB,CAC3C,WAAmB,EACnB,cAAsB;QAEtB,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,kDAAkD,WAAW,KAAK,CAAC,CAAC;QAEnF,IAAI,CAAC;YACH,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,YAAY,WAAW,EAAE,CAAC,CAAC;YAE9D,0DAA0D;YAC1D,MAAM,kBAAkB,GAAG,MAAM,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;YAC/D,IAAI,kBAAkB,EAAE,CAAC;gBACvB,MAAM,aAAa,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAC;gBAC5C,cAAc,CAAC,oBAAoB,CAAC,cAAc,EAAE,aAAa,EAAE,KAAK,CAAC,CAAC;YAC5E,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,WAAW,GAAG,UAAU,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;YAErD,qEAAqE;YACrE,IAAI,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;gBACrE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,gEAAgE,CAAC,CAAC;gBACjF,OAAO;YACT,CAAC;YAED,mCAAmC;YACnC,IAAI,WAAW,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,WAAW,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;gBACpF,MAAM,KAAK,CAAC;YACd,CAAC;YAED,oDAAoD;YACpD,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,iCAAiC,WAAW,EAAE,CAAC,CAAC;QACjE,CAAC;IACH,CAAC;IAED;;;;;;;;;;;OAWG;IACK,MAAM,CAAC,KAAK,CAAC,uCAAuC;QAC1D,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QAC9B,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAEzC,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC;QACvB,CAAC;QAAC,MAAM,CAAC;YACP,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,kDAAkD,CAAC,CAAC;YACpE,OAAO;QACT,CAAC;QAED,iEAAiE;QACjE,MAAM,aAAa,GAAG,MAAM,iBAAiB,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;QAC1E,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAEhD,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC9B,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC;YACzD,OAAO;QACT,CAAC;QAED,qEAAqE;QACrE,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAAkB,CAAC;QACtD,MAAM,eAAe,GAAG,IAAI,GAAG,EAAkB,CAAC;QAElD,KAAK,MAAM,CAAC,WAAW,EAAE,WAAW,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC;YACvE,MAAM,OAAO,GAAG,WAAW,CAAC,mBAAmB,CAAC,OAAO,CAAC;YACxD,sFAAsF;YACtF,4EAA4E;YAC5E,2EAA2E;YAC3E,kDAAkD;YAClD,kEAAkE;YAClE,QAAQ;YACR,sEAAsE;YACtE,2CAA2C;YAC3C,2BAA2B;YAC3B,aAAa;YACb,SAAS;YACT,gIAAgI;YAChI,MAAM;YACN,MAAM,YAAY,GAAG,OAAO,WAAW,KAAK,OAAO,EAAE,CAAC;YACtD,mBAAmB,CAAC,GAAG,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;YAEnD,6CAA6C;YAC7C,MAAM,WAAW,GAAG,IAAI,MAAM,CAC5B,gCAAgC,WAAW,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,QAAQ,EAC1F,GAAG,CACJ,CAAC;YACF,eAAe,CAAC,GAAG,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;QAChD,CAAC;QAED,gDAAgD;QAChD,MAAM,QAAQ,GAAG,MAAM,iBAAiB,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC;QACzE,MAAM,OAAO,GAAG,QAAQ;aACrB,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;aAChF,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;QAElD,EAAE,CAAC,MAAM,CAAC,IAAI,CACZ,sDAAsD,OAAO,CAAC,MAAM,sBAAsB,CAC3F,CAAC;QAEF,IAAI,iBAAiB,GAAG,CAAC,CAAC;QAE1B,KAAK,MAAM,QAAQ,IAAI,OAAO,EAAE,CAAC;YAC/B,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;gBAClD,IAAI,UAAU,GAAG,OAAO,CAAC;gBACzB,IAAI,gBAAgB,GAAG,CAAC,CAAC;gBAEzB,KAAK,MAAM,CAAC,WAAW,EAAE,YAAY,CAAC,IAAI,mBAAmB,EAAE,CAAC;oBAC9D,qCAAqC;oBACrC,MAAM,WAAW,GAAG,eAAe,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;oBACrD,IAAI,CAAC,WAAW;wBAAE,SAAS;oBAE3B,mEAAmE;oBACnE,WAAW,CAAC,SAAS,GAAG,CAAC,CAAC;oBAE1B,MAAM,OAAO,GAAG,UAAU,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;oBAE9C,IAAI,OAAO,EAAE,CAAC;wBACZ,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,YAAY,IAAI,CAAC,CAAC;wBACpE,gBAAgB,IAAI,OAAO,CAAC,MAAM,CAAC;wBACnC,EAAE,CAAC,MAAM,CAAC,IAAI,CACZ,gBAAgB,WAAW,SAAS,YAAY,KAAK,OAAO,CAAC,MAAM,eAAe,CACnF,CAAC;oBACJ,CAAC;gBACH,CAAC;gBAED,IAAI,gBAAgB,GAAG,CAAC,EAAE,CAAC;oBACzB,MAAM,SAAS,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;oBACtC,iBAAiB,IAAI,gBAAgB,CAAC;oBACtC,EAAE,CAAC,MAAM,CAAC,IAAI,CACZ,cAAc,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,KAAK,gBAAgB,gBAAgB,CACpF,CAAC;gBACJ,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,0BAA0B,QAAQ,KAAK,UAAU,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAC7F,CAAC;QACH,CAAC;QAED,EAAE,CAAC,MAAM,CAAC,IAAI,CACZ,0CAA0C,iBAAiB,0BAA0B,CACtF,CAAC;IACJ,CAAC;IAED;;;;;;;OAOG;IACK,MAAM,CAAC,KAAK,CAAC,wBAAwB,CAC3C,WAAmB,EACnB,cAAsB;QAEtB,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,yCAAyC,WAAW,KAAK,CAAC,CAAC;QAE1E,IAAI,CAAC;YACH,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,YAAY,WAAW,EAAE,CAAC,CAAC;YAE9D,0DAA0D;YAC1D,MAAM,kBAAkB,GAAG,MAAM,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;YAC/D,IAAI,kBAAkB,EAAE,CAAC;gBACvB,MAAM,aAAa,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAC;gBAE5C,cAAc,CAAC,oBAAoB,CAAC,cAAc,EAAE,aAAa,EAAE,KAAK,CAAC,CAAC;YAC5E,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,WAAW,GAAG,UAAU,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;YAErD,qEAAqE;YACrE,IAAI,WAAW,CAAC,QAAQ,CAAC,mBAAmB,CAAC,IAAI,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC7E,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,gEAAgE,CAAC,CAAC;gBACjF,OAAO;YACT,CAAC;YAED,mCAAmC;YACnC,IAAI,WAAW,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,WAAW,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;gBACpF,MAAM,KAAK,CAAC;YACd,CAAC;YAED,oDAAoD;YACpD,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,iCAAiC,WAAW,EAAE,CAAC,CAAC;QACjE,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACK,MAAM,CAAC,oBAAoB,CACjC,cAAsB,EACtB,aAAqB,EACrB,YAAoB;QAEpB,EAAE,CAAC,MAAM,CAAC,IAAI,CACZ,oBAAoB,cAAc,eAAe,YAAY,KAAK,aAAa,EAAE,CAClF,CAAC;QAEF,gDAAgD;QAChD,MAAM,UAAU,GAAG,aAAa,CAAC,uBAAuB,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC;QAExF,IAAI,UAAU,KAAK,CAAC,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CACb,WAAW,cAAc,sBAAsB,YAAY,8CAA8C,CAC1G,CAAC;QACJ,CAAC;aAAM,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CACb,mBAAmB,cAAc,+CAA+C,aAAa,OAAO,YAAY,4BAA4B,CAC7I,CAAC;QACJ,CAAC;QAED,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC;IAC7D,CAAC;IAED;;;;;;OAMG;IACK,MAAM,CAAC,KAAK,CAAC,kBAAkB,CACrC,mBAA2B,EAC3B,cAAsB;QAEtB,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,gCAAgC,mBAAmB,SAAS,cAAc,GAAG,CAAC,CAAC;QAE9F,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QAE9B,6CAA6C;QAC7C,MAAM,iBAAiB,CAAC,cAAc,CAAC;YACrC,YAAY,EAAE,mBAAmB;YACjC,aAAa,EAAE,cAAc;YAC7B,QAAQ,EAAE,OAAO;YACjB,eAAe,EAAE,CAAC,GAAG,CAAC;YACtB,eAAe,EAAE,EAAE;SACpB,CAAC,CAAC;QAEH,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,2DAA2D,CAAC,CAAC;IAC9E,CAAC;IAED;;;OAGG;IACK,MAAM,CAAC,KAAK,CAAC,eAAe;QAClC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;QACxC,IAAI,CAAC;YACH,MAAM,SAAS,CAAC,uBAAuB,CAAC,CAAC;QAC3C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,gCAAgC,UAAU,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACpF,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED;;;;OAIG;IACK,MAAM,CAAC,KAAK,CAAC,UAAU;QAC7B,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC;QACxD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC7B,MAAM,KAAK,GAAG,KAAK,CAAC,aAAa,EAAE,CAAC,UAAU,EAAE,QAAQ,CAAC,EAAE;gBACzD,KAAK,EAAE,SAAS;gBAChB,KAAK,EAAE,IAAI;aACZ,CAAC,CAAC;YAEH,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;gBACxB,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;oBACf,OAAO,CAAC,IAAI,CAAC,CAAC;gBAChB,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,KAAK,CAAC,CAAC;gBACjB,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;CACF"}