@codyswann/lisa 1.9.4 → 1.10.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.
@@ -39,12 +39,49 @@ export declare class TaggedMergeStrategy implements ICopyStrategy {
39
39
  * @param dest - Project JSON with potential customizations to preserve
40
40
  * @returns Merged JSON with tagged sections applied according to their behavior types
41
41
  * @remarks
42
- * Processing order: 1) Process all tagged sections from source applying their behaviors,
43
- * 2) Add unprocessed content from destination (preserves project customizations),
44
- * 3) Add any remaining unprocessed tags from source. This ensures governance while
45
- * preserving project-specific additions outside tagged regions.
42
+ * Processing supports tags at any nesting level. For each tagged section (whether at
43
+ * top level or nested in an object), applies its behavior rules. Order of processing:
44
+ * 1) Process all tagged sections from source recursively, applying their behaviors
45
+ * 2) Add unprocessed content from destination (preserves project customizations)
46
+ * 3) Add any remaining unprocessed tags from source
47
+ * This ensures governance while preserving project-specific additions outside tagged regions.
46
48
  */
47
49
  private mergeWithTags;
50
+ /**
51
+ * Process an object that might contain nested tags
52
+ * @param key - The key of the object to process
53
+ * @param source - Source object containing the nested object
54
+ * @param dest - Destination object containing potential counterpart
55
+ * @param result - Result object being built
56
+ * @param processed - Set of processed keys
57
+ */
58
+ private processNestedTaggedObject;
59
+ /**
60
+ * Check if a value is a plain object (not array, null, or primitive)
61
+ * @param value - Value to check
62
+ * @returns True if value is a plain object
63
+ */
64
+ private isPlainObject;
65
+ /**
66
+ * Check if an object contains any nested tags
67
+ * @param obj - Object to check
68
+ * @returns True if object has opening tags as properties
69
+ */
70
+ private hasNestedTags;
71
+ /**
72
+ * Get the destination object for a key, or empty object if not found
73
+ * @param dest - Destination object
74
+ * @param key - Key to look for
75
+ * @returns Destination object or empty object
76
+ */
77
+ private getDestinationObject;
78
+ /**
79
+ * Merge an object that may contain nested tags
80
+ * @param source - Source object potentially containing tags
81
+ * @param dest - Destination object to merge with
82
+ * @returns Merged object with tags applied appropriately
83
+ */
84
+ private mergeObjectWithNestedTags;
48
85
  /**
49
86
  * Preserve project customizations by adding untagged destination content to result
50
87
  * @param result - Result object being built
@@ -1 +1 @@
1
- {"version":3,"file":"tagged-merge.d.ts","sourceRoot":"","sources":["../../src/strategies/tagged-merge.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,KAAK,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAM9E;;;;;;;;;;;;GAYG;AACH,qBAAa,mBAAoB,YAAW,aAAa;IACvD,QAAQ,CAAC,IAAI,EAAG,cAAc,CAAU;IAExC;;;OAGG;IACH,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA4C;IAEvE;;;;;;;;;;;OAWG;IACG,KAAK,CACT,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,eAAe,GACvB,OAAO,CAAC,mBAAmB,CAAC;IAmD/B;;;;;;;;;;OAUG;IACH,OAAO,CAAC,aAAa;IA4BrB;;;;;;;;;;OAUG;IACH,OAAO,CAAC,qBAAqB;IAiB7B;;;;;;;;;OASG;IACH,OAAO,CAAC,kBAAkB;IAiB1B;;;;;;;;;;;;;;OAcG;IACH,OAAO,CAAC,oBAAoB;IAsC5B;;;;;;;OAOG;IACH,OAAO,CAAC,mBAAmB;IAwB3B;;;;;;;;;OASG;IACH,OAAO,CAAC,iBAAiB;IAazB;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,oBAAoB;IAa5B;;;;;;;OAOG;IACH,OAAO,CAAC,kBAAkB;IAwB1B;;;;;;OAMG;IACH,OAAO,CAAC,gCAAgC;IAqBxC;;;;;OAKG;IACH,OAAO,CAAC,gBAAgB;IAUxB;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,iBAAiB;IA0BzB;;;;;;;;;OASG;IACH,OAAO,CAAC,iBAAiB;IA0BzB;;;;OAIG;IACH,OAAO,CAAC,YAAY;IAIpB;;;;OAIG;IACH,OAAO,CAAC,QAAQ;IAIhB;;;;;;OAMG;IACH,OAAO,CAAC,gBAAgB;IASxB;;;;;;;OAOG;IACH,OAAO,CAAC,qBAAqB;IAwB7B;;;;;;OAMG;IACH,OAAO,CAAC,2BAA2B;CAUpC"}
1
+ {"version":3,"file":"tagged-merge.d.ts","sourceRoot":"","sources":["../../src/strategies/tagged-merge.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,KAAK,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAM9E;;;;;;;;;;;;GAYG;AACH,qBAAa,mBAAoB,YAAW,aAAa;IACvD,QAAQ,CAAC,IAAI,EAAG,cAAc,CAAU;IAExC;;;OAGG;IACH,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA4C;IAEvE;;;;;;;;;;;OAWG;IACG,KAAK,CACT,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,eAAe,GACvB,OAAO,CAAC,mBAAmB,CAAC;IAmD/B;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,aAAa;IAoCrB;;;;;;;OAOG;IACH,OAAO,CAAC,yBAAyB;IAyBjC;;;;OAIG;IACH,OAAO,CAAC,aAAa;IAIrB;;;;OAIG;IACH,OAAO,CAAC,aAAa;IAIrB;;;;;OAKG;IACH,OAAO,CAAC,oBAAoB;IAU5B;;;;;OAKG;IACH,OAAO,CAAC,yBAAyB;IAwCjC;;;;;;;;;;OAUG;IACH,OAAO,CAAC,qBAAqB;IAiB7B;;;;;;;;;OASG;IACH,OAAO,CAAC,kBAAkB;IAiB1B;;;;;;;;;;;;;;OAcG;IACH,OAAO,CAAC,oBAAoB;IAsC5B;;;;;;;OAOG;IACH,OAAO,CAAC,mBAAmB;IAwB3B;;;;;;;;;OASG;IACH,OAAO,CAAC,iBAAiB;IAazB;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,oBAAoB;IAa5B;;;;;;;OAOG;IACH,OAAO,CAAC,kBAAkB;IAwB1B;;;;;;OAMG;IACH,OAAO,CAAC,gCAAgC;IAqBxC;;;;;OAKG;IACH,OAAO,CAAC,gBAAgB;IAUxB;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,iBAAiB;IA0BzB;;;;;;;;;OASG;IACH,OAAO,CAAC,iBAAiB;IA0BzB;;;;OAIG;IACH,OAAO,CAAC,YAAY;IAIpB;;;;OAIG;IACH,OAAO,CAAC,QAAQ;IAIhB;;;;;;OAMG;IACH,OAAO,CAAC,gBAAgB;IASxB;;;;;;;OAOG;IACH,OAAO,CAAC,qBAAqB;IAwB7B;;;;;;OAMG;IACH,OAAO,CAAC,2BAA2B;CAUpC"}
@@ -85,25 +85,112 @@ export class TaggedMergeStrategy {
85
85
  * @param dest - Project JSON with potential customizations to preserve
86
86
  * @returns Merged JSON with tagged sections applied according to their behavior types
87
87
  * @remarks
88
- * Processing order: 1) Process all tagged sections from source applying their behaviors,
89
- * 2) Add unprocessed content from destination (preserves project customizations),
90
- * 3) Add any remaining unprocessed tags from source. This ensures governance while
91
- * preserving project-specific additions outside tagged regions.
88
+ * Processing supports tags at any nesting level. For each tagged section (whether at
89
+ * top level or nested in an object), applies its behavior rules. Order of processing:
90
+ * 1) Process all tagged sections from source recursively, applying their behaviors
91
+ * 2) Add unprocessed content from destination (preserves project customizations)
92
+ * 3) Add any remaining unprocessed tags from source
93
+ * This ensures governance while preserving project-specific additions outside tagged regions.
92
94
  */
93
95
  mergeWithTags(source, dest) {
94
96
  const sourceTags = this.parseTaggedSections(source);
95
97
  const result = {};
96
98
  const processed = new Set();
97
99
  const processedTags = new Set();
100
+ // First, process top-level tags
98
101
  for (const key in source) {
99
102
  if (this.isOpeningTag(key)) {
100
103
  this.processTaggedSection(key, source, dest, sourceTags, result, processed, processedTags);
101
104
  }
102
105
  }
106
+ // Second, process unprocessed objects that might have nested tags
107
+ for (const key in source) {
108
+ if (!processed.has(key) && !this.isTagKey(key)) {
109
+ this.processNestedTaggedObject(key, source, dest, result, processed);
110
+ }
111
+ }
103
112
  this.addUnprocessedContent(result, dest, processed, processedTags);
104
113
  this.addUnprocessedTags(result, source, processedTags, processed);
105
114
  return result;
106
115
  }
116
+ /**
117
+ * Process an object that might contain nested tags
118
+ * @param key - The key of the object to process
119
+ * @param source - Source object containing the nested object
120
+ * @param dest - Destination object containing potential counterpart
121
+ * @param result - Result object being built
122
+ * @param processed - Set of processed keys
123
+ */
124
+ processNestedTaggedObject(key, source, dest, result, processed) {
125
+ const sourceValue = source[key];
126
+ if (!this.isPlainObject(sourceValue)) {
127
+ return;
128
+ }
129
+ const sourceObj = sourceValue;
130
+ if (!this.hasNestedTags(sourceObj)) {
131
+ return;
132
+ }
133
+ const destObj = this.getDestinationObject(dest, key);
134
+ const mergedObj = this.mergeObjectWithNestedTags(sourceObj, destObj);
135
+ result[key] = mergedObj;
136
+ processed.add(key);
137
+ }
138
+ /**
139
+ * Check if a value is a plain object (not array, null, or primitive)
140
+ * @param value - Value to check
141
+ * @returns True if value is a plain object
142
+ */
143
+ isPlainObject(value) {
144
+ return typeof value === "object" && value !== null && !Array.isArray(value);
145
+ }
146
+ /**
147
+ * Check if an object contains any nested tags
148
+ * @param obj - Object to check
149
+ * @returns True if object has opening tags as properties
150
+ */
151
+ hasNestedTags(obj) {
152
+ return Object.keys(obj).some(k => this.isOpeningTag(k));
153
+ }
154
+ /**
155
+ * Get the destination object for a key, or empty object if not found
156
+ * @param dest - Destination object
157
+ * @param key - Key to look for
158
+ * @returns Destination object or empty object
159
+ */
160
+ getDestinationObject(dest, key) {
161
+ const destValue = dest[key];
162
+ return this.isPlainObject(destValue)
163
+ ? destValue
164
+ : {};
165
+ }
166
+ /**
167
+ * Merge an object that may contain nested tags
168
+ * @param source - Source object potentially containing tags
169
+ * @param dest - Destination object to merge with
170
+ * @returns Merged object with tags applied appropriately
171
+ */
172
+ mergeObjectWithNestedTags(source, dest) {
173
+ const sourceTags = this.parseTaggedSections(source);
174
+ const result = {};
175
+ const processed = new Set();
176
+ const processedTags = new Set();
177
+ // Process tagged sections within this object
178
+ for (const key in source) {
179
+ if (this.isOpeningTag(key)) {
180
+ this.processTaggedSection(key, source, dest, sourceTags, result, processed, processedTags);
181
+ }
182
+ }
183
+ this.addUnprocessedContent(result, dest, processed, processedTags);
184
+ // Add remaining tags from source
185
+ for (const key in source) {
186
+ if (this.isTagKey(key) &&
187
+ !processedTags.has(key) &&
188
+ !processed.has(key)) {
189
+ result[key] = source[key];
190
+ }
191
+ }
192
+ return result;
193
+ }
107
194
  /**
108
195
  * Preserve project customizations by adding untagged destination content to result
109
196
  * @param result - Result object being built
@@ -1 +1 @@
1
- {"version":3,"file":"tagged-merge.js","sourceRoot":"","sources":["../../src/strategies/tagged-merge.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tagged-merge.js","sourceRoot":"","sources":["../../src/strategies/tagged-merge.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,79 +1,88 @@
1
1
  {
2
+ "//lisa-merge-trusted-dependencies": "Suggested by Lisa to ensure that only trusted dependencies are used in this project",
3
+ "trustedDependencies": [
4
+ "@ast-grep/cli",
5
+ "@sentry/cli"
6
+ ],
7
+ "//end-lisa-merge-trusted-dependencies": "",
2
8
  "scripts": {
3
- "//docs": "The following commands MUST be defined for CI/CD to work properly - even if they're no-ops.",
9
+ "//lisa-force-scripts-quality-assurance": "Required by Lisa in ci/cd, git hooks and claude hooks to ensure governance",
10
+ "test": "NODE_ENV=test jest --passWithNoTests",
11
+ "test:unit": "NODE_ENV=test jest --testPathIgnorePatterns=\"\\.integration\\.test\\.(ts|tsx)$\" --passWithNoTests",
12
+ "test:integration": "NODE_ENV=test jest --testPathPatterns=\"\\.integration\\.test\\.(ts|tsx)$\" --passWithNoTests",
13
+ "test:cov": "NODE_ENV=test jest --coverage",
4
14
  "lint": "eslint . --quiet",
5
15
  "lint:fix": "eslint . --fix",
6
- "build": "tsc",
7
- "test": "vitest run",
8
- "test:unit": "vitest run tests/unit",
9
- "test:integration": "vitest run tests/integration",
10
- "test:cov": "vitest run --coverage",
11
- "types:check": "tsc --noEmit",
16
+ "lint:slow": "eslint . --config eslint.slow.config.ts --quiet",
12
17
  "typecheck": "tsc --noEmit",
13
18
  "format:check": "prettier --check .",
14
19
  "format": "prettier --check . --write",
15
- "prepare": "npm run build && husky install || true",
16
- "//end-docs": "",
20
+ "knip": "knip",
21
+ "knip:fix": "knip --fix",
22
+ "sg:scan": "ast-grep scan",
23
+ "build": "tsc",
24
+ "prepare": "tsc || husky install || true",
25
+ "//end-lisa-force-scripts-quality-assurance": "",
26
+ "//lisa-force-scripts-operations": "Required by Lisa for standard operations for this project",
27
+ "lisa:update": "npx @codyswann/lisa@latest .",
28
+ "//end-lisa-force-scripts-operations": "",
17
29
  "start": "node dist/index.js",
18
30
  "dev": "tsx src/index.ts",
19
- "test:watch": "vitest",
31
+ "test:watch": "jest --watch",
20
32
  "update-node-version": "tsx scripts/update-node-version.ts",
21
33
  "cleanup:amplify-branches": "bash scripts/cleanup-amplify-branches.sh",
22
34
  "cleanup:github-branches": "bash scripts/cleanup-github-branches.sh",
23
35
  "github:status": "bash scripts/github-status-check.sh",
24
- "setup:deploy-key": "bash scripts/setup-deploy-key.sh",
25
- "lint:slow": "eslint . --config eslint.slow.config.ts --quiet",
26
- "knip": "knip",
27
- "knip:fix": "knip --fix",
28
- "sg:scan": "ast-grep scan",
29
- "lisa:update": "npx @codyswann/lisa@latest ."
36
+ "setup:deploy-key": "bash scripts/setup-deploy-key.sh"
30
37
  },
31
38
  "devDependencies": {
32
- "@ast-grep/cli": "^0.40.4",
33
39
  "@commitlint/cli": "^20.3.1",
34
40
  "@commitlint/config-conventional": "^20.3.1",
35
41
  "@eslint-community/eslint-plugin-eslint-comments": "^4.5.0",
36
42
  "@eslint/eslintrc": "^3.2.0",
37
43
  "@eslint/js": "^9.39.0",
38
- "@types/fs-extra": "^11.0.0",
39
- "@types/lodash.merge": "^4.6.0",
40
- "@types/node": "^22.0.0",
41
- "@vitest/coverage-v8": "^3.0.0",
42
44
  "eslint": "^9.39.0",
43
45
  "eslint-config-prettier": "^10.0.0",
44
46
  "eslint-import-resolver-typescript": "^4.4.4",
45
47
  "eslint-plugin-code-organization": "file:./eslint-plugin-code-organization",
46
- "eslint-plugin-functional": "^9.0.0",
47
48
  "eslint-plugin-import": "^2.32.0",
49
+ "eslint-plugin-functional": "^9.0.0",
50
+ "jiti": "^2.4.0",
48
51
  "eslint-plugin-jsdoc": "^61.5.0",
49
52
  "eslint-plugin-prettier": "^5.5.0",
50
53
  "eslint-plugin-sonarjs": "^3.0.0",
51
54
  "husky": "^8.0.0",
52
- "jiti": "^2.4.0",
53
55
  "jscodeshift": "0.15.2",
54
- "knip": "^5.82.0",
55
56
  "lint-staged": "^16.2.7",
56
57
  "prettier": "^3.3.3",
57
58
  "standard-version": "^9.5.0",
58
- "tsx": "^4.0.0",
59
+ "ts-morph": "^27.0.2",
60
+ "ts-node": "^10.9.2",
59
61
  "typescript": "~5.7.0",
60
62
  "typescript-eslint": "^8.0.0",
61
- "vitest": "^3.0.0"
63
+ "@types/fs-extra": "^11.0.0",
64
+ "@types/lodash.merge": "^4.6.0",
65
+ "@types/node": "^22.0.0",
66
+ "tsx": "^4.0.0",
67
+ "knip": "^5.0.0",
68
+ "@ast-grep/cli": "^0.40.4",
69
+ "@jest/test-sequencer": "^30.2.0",
70
+ "@types/jest": "^30.0.0",
71
+ "jest": "^30.0.0",
72
+ "ts-jest": "^29.4.6"
62
73
  },
63
74
  "engines": {
75
+ "//lisa-defaults-engines": "Suggested by Lisa to ensure consistent environment for CDK operations. Can be overridden by the user if necessary.",
64
76
  "npm": "please-use-bun",
65
77
  "yarn": "please-use-bun",
66
78
  "pnpm": "please-use-bun",
67
79
  "bun": ">= 1.3.5",
68
- "node": "22.21.1"
80
+ "node": "22.21.1",
81
+ "//end-lisa-defaults-engines": ""
69
82
  },
70
83
  "resolutions": {},
71
- "trustedDependencies": [
72
- "@sentry/cli",
73
- "@ast-grep/cli"
74
- ],
75
84
  "name": "@codyswann/lisa",
76
- "version": "1.9.4",
85
+ "version": "1.10.0",
77
86
  "description": "Claude Code governance framework that applies guardrails, guidance, and automated enforcement to projects",
78
87
  "main": "dist/index.js",
79
88
  "bin": {
@@ -42,9 +42,7 @@
42
42
  "serverless-*",
43
43
  "@types/fs-extra",
44
44
  "@types/lodash.merge",
45
- "@vitest/coverage-v8",
46
45
  "memfs",
47
- "vitest",
48
46
  "@types/graphql-type-json",
49
47
  "@types/snowflake-sdk",
50
48
  "dotenv-cli",
@@ -15,6 +15,7 @@
15
15
  "knip:fix": "knip --fix",
16
16
  "sg:scan": "ast-grep scan",
17
17
  "build": "tsc",
18
+ "prepare": "tsc || husky install || true",
18
19
  "//end-lisa-force-scripts-quality-assurance": "",
19
20
  "//lisa-force-scripts-operations": "Required by Lisa for standard operations for this project",
20
21
  "lisa:update": "npx @codyswann/lisa@latest .",