@norrix/cli 0.0.46 → 0.0.48

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.
@@ -2,6 +2,7 @@ import * as fs from 'fs';
2
2
  import * as path from 'path';
3
3
  import crypto from 'crypto';
4
4
  import { createRequire } from 'module';
5
+ import plist from 'plist';
5
6
  const FINGERPRINT_FILENAME = 'norrix.fingerprint.json';
6
7
  function hashObjectStable(obj) {
7
8
  if (!obj || typeof obj !== 'object') {
@@ -14,6 +15,33 @@ function hashObjectStable(obj) {
14
15
  const json = JSON.stringify(sorted);
15
16
  return crypto.createHash('sha256').update(json).digest('hex');
16
17
  }
18
+ /**
19
+ * Create a stable, deterministic JSON string from any object.
20
+ * Keys are sorted recursively at all levels to ensure consistent output
21
+ * regardless of insertion order. This is essential for fingerprinting
22
+ * where the same data should always produce the same hash.
23
+ */
24
+ function stableStringify(obj) {
25
+ if (obj === null || obj === undefined) {
26
+ return JSON.stringify(obj);
27
+ }
28
+ if (Array.isArray(obj)) {
29
+ // Arrays maintain order, but recursively stabilize each element
30
+ const items = obj.map((item) => stableStringify(item));
31
+ return `[${items.join(',')}]`;
32
+ }
33
+ if (typeof obj === 'object') {
34
+ // Sort keys alphabetically and recursively stabilize values
35
+ const keys = Object.keys(obj).sort();
36
+ const pairs = keys.map((key) => {
37
+ const value = stableStringify(obj[key]);
38
+ return `${JSON.stringify(key)}:${value}`;
39
+ });
40
+ return `{${pairs.join(',')}}`;
41
+ }
42
+ // Primitives (string, number, boolean)
43
+ return JSON.stringify(obj);
44
+ }
17
45
  function isNativeScriptPlugin(pkgJson) {
18
46
  if (!pkgJson || typeof pkgJson !== 'object')
19
47
  return false;
@@ -102,55 +130,202 @@ function readNativeScriptConfig(projectRoot) {
102
130
  * Normalize file content by stripping embedded fingerprint entries and version fields.
103
131
  * This ensures the hash is stable whether computed before or after embedding.
104
132
  *
105
- * For Info.plist:
106
- * - removes <key>NorrixFingerprintHash</key><string>...</string>
107
- * - removes <key>NorrixNxConfiguration</key><string>...</string>
108
- * - removes <key>CFBundleShortVersionString</key><string>...</string>
109
- * - removes <key>CFBundleVersion</key><string>...</string>
133
+ * For Info.plist (iOS/visionOS):
134
+ * - Parses plist semantically to be completely immune to formatting changes
135
+ * - removes NorrixFingerprintHash, NorrixNxConfiguration
136
+ * - removes CFBundleShortVersionString, CFBundleVersion
137
+ * - Returns deterministic JSON representation for hashing
110
138
  *
111
- * For app.gradle:
112
- * - removes buildConfigField "String", "norrixFingerprintHash", "..."
113
- * - removes buildConfigField "String", "norrixNxConfiguration", "..."
114
- * - removes versionCode and versionName from defaultConfig
139
+ * For app.gradle (Android):
140
+ * - Uses line-by-line parsing to extract and normalize build configuration
141
+ * - Removes injected buildConfigField entries (norrixFingerprintHash, norrixNxConfiguration)
142
+ * - Removes version metadata (versionCode, versionName)
143
+ * - Preserves dependencies block and all other configuration
144
+ * - Handles both single-line and multi-line buildConfigField statements
145
+ * - More robust than regex, handles diverse formatting, comments, and edge cases
115
146
  */
116
147
  function normalizeContentForHashing(relativePath, content) {
117
148
  const filename = path.basename(relativePath);
118
- // Normalize Info.plist files (iOS/visionOS)
149
+ // Normalize Info.plist files (iOS/visionOS) using semantic parsing
150
+ // This makes the fingerprint completely immune to formatting changes
119
151
  if (filename === 'Info.plist') {
120
- let text = content.toString('utf8');
121
- // Remove the NorrixFingerprintHash key-value pair
122
- // Uses line-based matching to preserve file structure
123
- text = text.replace(/^[ \t]*<key>NorrixFingerprintHash<\/key>\s*\r?\n?[ \t]*<string>[^<]*<\/string>[ \t]*\r?\n?/gm, '');
124
- // Remove the NorrixNxConfiguration key-value pair
125
- // Uses line-based matching to preserve file structure
126
- text = text.replace(/^[ \t]*<key>NorrixNxConfiguration<\/key>\s*\r?\n?[ \t]*<string>[^<]*<\/string>[ \t]*\r?\n?/gm, '');
127
- // Remove CFBundleShortVersionString (marketing version like "1.2.3")
128
- // Uses line-based matching to preserve file structure
129
- text = text.replace(/^[ \t]*<key>CFBundleShortVersionString<\/key>\s*\r?\n?[ \t]*<string>[^<]*<\/string>[ \t]*\r?\n?/gm, '');
130
- // Remove CFBundleVersion (build number like "12345")
131
- // Uses line-based matching to preserve file structure
132
- text = text.replace(/^[ \t]*<key>CFBundleVersion<\/key>\s*\r?\n?[ \t]*<string>[^<]*<\/string>[ \t]*\r?\n?/gm, '');
133
- return Buffer.from(text, 'utf8');
134
- }
135
- // Normalize app.gradle files (Android)
152
+ try {
153
+ const text = content.toString('utf8');
154
+ const parsed = plist.parse(text);
155
+ // Remove volatile keys that shouldn't affect the fingerprint
156
+ const volatileKeys = [
157
+ 'NorrixFingerprintHash',
158
+ 'NorrixNxConfiguration',
159
+ 'CFBundleShortVersionString',
160
+ 'CFBundleVersion',
161
+ ];
162
+ for (const key of volatileKeys) {
163
+ delete parsed[key];
164
+ }
165
+ // Create a stable, sorted JSON representation for hashing
166
+ // This is completely immune to XML formatting, whitespace, ordering, etc.
167
+ const stableJson = stableStringify(parsed);
168
+ return Buffer.from(stableJson, 'utf8');
169
+ }
170
+ catch {
171
+ // If parsing fails, fall back to regex-based normalization
172
+ let text = content.toString('utf8');
173
+ // Normalize line endings (CRLF -> LF) for consistent hashing
174
+ text = text.replace(/\r\n/g, '\n');
175
+ // Remove the NorrixFingerprintHash key-value pair (including any trailing whitespace on the line)
176
+ text = text.replace(/^[ \t]*<key>NorrixFingerprintHash<\/key>\s*\n?[ \t]*<string>[^<]*<\/string>[ \t]*\n?/gm, '');
177
+ // Remove the NorrixNxConfiguration key-value pair
178
+ text = text.replace(/^[ \t]*<key>NorrixNxConfiguration<\/key>\s*\n?[ \t]*<string>[^<]*<\/string>[ \t]*\n?/gm, '');
179
+ // Remove CFBundleShortVersionString (marketing version)
180
+ text = text.replace(/^[ \t]*<key>CFBundleShortVersionString<\/key>\s*\n?[ \t]*<string>[^<]*<\/string>[ \t]*\n?/gm, '');
181
+ // Remove CFBundleVersion (build number)
182
+ text = text.replace(/^[ \t]*<key>CFBundleVersion<\/key>\s*\n?[ \t]*<string>[^<]*<\/string>[ \t]*\n?/gm, '');
183
+ // Normalize any lines that have only whitespace (cleanup after removals)
184
+ text = text.replace(/^[ \t]+$/gm, '');
185
+ // Normalize multiple consecutive blank lines to single blank line
186
+ text = text.replace(/\n{3,}/g, '\n\n');
187
+ return Buffer.from(text, 'utf8');
188
+ }
189
+ }
190
+ // Normalize app.gradle files (Android) using line-by-line parsing
191
+ // This is more robust than regex and doesn't require full Groovy/Gradle parsing
136
192
  if (filename === 'app.gradle') {
137
- let text = content.toString('utf8');
138
- // Remove the norrixFingerprintHash buildConfigField line
139
- // Note: Using [ \t]* instead of \s* before \r?\n? to avoid matching
140
- // the newline character and accidentally consuming the next line's indentation
141
- // Match to end of line to handle both clean values and corrupted multi-hash values
142
- text = text.replace(/^[ \t]*buildConfigField\s+['"]String['"]\s*,\s*['"]norrixFingerprintHash['"]\s*,\s*"[^\n]*[ \t]*\r?\n?/gm, '');
143
- // Remove the norrixNxConfiguration buildConfigField line
144
- text = text.replace(/^[ \t]*buildConfigField\s+['"]String['"]\s*,\s*['"]norrixNxConfiguration['"]\s*,\s*"[^\n]*[ \t]*\r?\n?/gm, '');
145
- // Remove versionCode (build number like 12345)
146
- // Handles both syntaxes: "versionCode 12345" and "versionCode = 12345"
147
- // Uses line-based matching to preserve file structure
148
- text = text.replace(/^[ \t]*versionCode\s*=?\s*\d+[ \t]*\r?\n?/gm, '');
149
- // Remove versionName (marketing version like "1.2.3")
150
- // Handles both syntaxes: "versionName \"1.2.3\"" and "versionName = \"1.2.3\""
151
- // Uses line-based matching to preserve file structure
152
- text = text.replace(/^[ \t]*versionName\s*=?\s*["'][^"']*["'][ \t]*\r?\n?/gm, '');
153
- return Buffer.from(text, 'utf8');
193
+ const text = content.toString('utf8');
194
+ const lines = text.split(/\r?\n/);
195
+ const normalizedLines = [];
196
+ // Track state for multi-line buildConfigField statements
197
+ let inBuildConfigField = false;
198
+ let shouldSkipBuildConfigField = false;
199
+ let buildConfigBuffer = [];
200
+ let usesParenthesisSyntax = false; // Track if we're in buildConfigField(...) style
201
+ let parenDepth = 0; // Track parenthesis nesting for function call syntax
202
+ // Helper to check if a line is a complete buildConfigField statement
203
+ // Handles both DSL syntax and parenthesis syntax, with single or double quotes
204
+ const isStatementComplete = (trimmedLine, isParenSyntax, currentParenDepth) => {
205
+ // For parenthesis syntax, statement is complete when all parens are closed
206
+ if (isParenSyntax) {
207
+ return currentParenDepth === 0;
208
+ }
209
+ // For DSL syntax (no parentheses), statement is complete when line ends with a value
210
+ // Remove trailing semicolon if present (Groovy allows optional semicolons)
211
+ const lineWithoutSemicolon = trimmedLine.endsWith(';')
212
+ ? trimmedLine.slice(0, -1).trimEnd()
213
+ : trimmedLine;
214
+ // Ends with closing double quote (possibly escaped)
215
+ if (lineWithoutSemicolon.endsWith('"') || lineWithoutSemicolon.endsWith('\\"')) {
216
+ return true;
217
+ }
218
+ // Ends with closing single quote
219
+ if (lineWithoutSemicolon.endsWith("'")) {
220
+ return true;
221
+ }
222
+ return false;
223
+ };
224
+ // Helper to count parenthesis balance change in a line
225
+ const countParentheses = (line) => {
226
+ let balance = 0;
227
+ let inString = false;
228
+ let stringChar = '';
229
+ for (let i = 0; i < line.length; i++) {
230
+ const char = line[i];
231
+ const prevChar = i > 0 ? line[i - 1] : '';
232
+ // Track string state (skip parens inside strings)
233
+ if ((char === '"' || char === "'") && prevChar !== '\\') {
234
+ if (!inString) {
235
+ inString = true;
236
+ stringChar = char;
237
+ }
238
+ else if (char === stringChar) {
239
+ inString = false;
240
+ }
241
+ }
242
+ if (!inString) {
243
+ if (char === '(')
244
+ balance++;
245
+ if (char === ')')
246
+ balance--;
247
+ }
248
+ }
249
+ return balance;
250
+ };
251
+ // Helper to check if line starts a buildConfigField (DSL or function syntax)
252
+ const startsBuildConfigField = (trimmedLine) => {
253
+ return trimmedLine.startsWith('buildConfigField');
254
+ };
255
+ // Helper to check if line contains our target field names
256
+ const containsTargetFieldName = (trimmedLine) => {
257
+ return trimmedLine.includes('norrixFingerprintHash') ||
258
+ trimmedLine.includes('norrixNxConfiguration');
259
+ };
260
+ for (let i = 0; i < lines.length; i++) {
261
+ const line = lines[i];
262
+ const trimmed = line.trim();
263
+ // Check if this line starts a buildConfigField
264
+ if (startsBuildConfigField(trimmed)) {
265
+ inBuildConfigField = true;
266
+ buildConfigBuffer = [line];
267
+ // Check if it uses parenthesis syntax: buildConfigField(...)
268
+ usesParenthesisSyntax = trimmed.includes('buildConfigField(');
269
+ parenDepth = countParentheses(trimmed);
270
+ // Check if the field name we want to skip is on this line
271
+ shouldSkipBuildConfigField = containsTargetFieldName(trimmed);
272
+ // Check if statement is complete on one line
273
+ if (isStatementComplete(trimmed, usesParenthesisSyntax, parenDepth)) {
274
+ // Statement is complete
275
+ if (!shouldSkipBuildConfigField) {
276
+ normalizedLines.push(...buildConfigBuffer);
277
+ }
278
+ inBuildConfigField = false;
279
+ shouldSkipBuildConfigField = false;
280
+ buildConfigBuffer = [];
281
+ usesParenthesisSyntax = false;
282
+ parenDepth = 0;
283
+ }
284
+ continue;
285
+ }
286
+ // If we're inside a multi-line buildConfigField, accumulate lines
287
+ if (inBuildConfigField) {
288
+ buildConfigBuffer.push(line);
289
+ // Update paren depth for parenthesis syntax
290
+ if (usesParenthesisSyntax) {
291
+ parenDepth += countParentheses(trimmed);
292
+ }
293
+ // Check if this line contains the field name we want to skip
294
+ // (field name might be on second or later line in multi-line statements)
295
+ if (containsTargetFieldName(trimmed)) {
296
+ shouldSkipBuildConfigField = true;
297
+ }
298
+ // Check if statement is complete
299
+ if (isStatementComplete(trimmed, usesParenthesisSyntax, parenDepth)) {
300
+ // Statement is complete
301
+ if (!shouldSkipBuildConfigField) {
302
+ normalizedLines.push(...buildConfigBuffer);
303
+ }
304
+ inBuildConfigField = false;
305
+ shouldSkipBuildConfigField = false;
306
+ buildConfigBuffer = [];
307
+ usesParenthesisSyntax = false;
308
+ parenDepth = 0;
309
+ }
310
+ continue;
311
+ }
312
+ // Skip versionCode and versionName lines
313
+ if (trimmed.startsWith('versionCode') || trimmed.startsWith('versionName')) {
314
+ continue;
315
+ }
316
+ // Keep this line
317
+ normalizedLines.push(line);
318
+ }
319
+ // Fallback: if we ended with an unclosed buildConfigField statement,
320
+ // log a warning and include the buffered lines to avoid losing content
321
+ if (inBuildConfigField && buildConfigBuffer.length > 0) {
322
+ console.warn(`[norrix] Warning: app.gradle has unclosed buildConfigField statement at EOF. ` +
323
+ `This may indicate malformed Gradle syntax. Including content as-is for hashing.`);
324
+ if (!shouldSkipBuildConfigField) {
325
+ normalizedLines.push(...buildConfigBuffer);
326
+ }
327
+ }
328
+ return Buffer.from(normalizedLines.join('\n'), 'utf8');
154
329
  }
155
330
  // Return unchanged for all other files
156
331
  return content;
@@ -422,9 +597,11 @@ export function embedFingerprintInNativeResources(projectRoot, fingerprint, plat
422
597
  if (insertPoint !== -1) {
423
598
  const before = plistContent.slice(0, insertPoint);
424
599
  const after = plistContent.slice(insertPoint);
600
+ // Preserve the original indentation by using consistent formatting
601
+ // The \t\t is for the <string> tag, no extra whitespace before </dict>
425
602
  plistContent =
426
603
  before +
427
- `<key>${fingerprintKey}</key>\n\t\t<string>${fingerprintValue}</string>\n\t` +
604
+ `<key>${fingerprintKey}</key>\n\t\t<string>${fingerprintValue}</string>\n` +
428
605
  after;
429
606
  }
430
607
  }
@@ -445,14 +622,17 @@ export function embedFingerprintInNativeResources(projectRoot, fingerprint, plat
445
622
  const fingerprintField = 'norrixFingerprintHash';
446
623
  const fingerprintValue = fingerprint.hash;
447
624
  // Check if buildConfigField already exists for this key
448
- // Match the entire buildConfigField line including escaped quotes: "\"hash\""
449
- // The pattern handles both clean values and potentially corrupted multi-hash values
450
- const fieldRegex = new RegExp(`buildConfigField\\s+['"]String['"]\\s*,\\s*['"]${fingerprintField}['"]\\s*,\\s*"[^\\n]*`, 'g');
625
+ // Match the entire buildConfigField statement including multi-line cases
626
+ // Pattern matches: buildConfigField "String", "fieldName", "value"
627
+ // The third parameter starts with a quote and we match everything up to the NEXT unescaped quote
628
+ // Using (?:[^"\\]|\\.)* to match: either non-quote-non-backslash OR backslash-then-anything (including newlines)
629
+ // This properly handles escaped quotes like \" within the value
630
+ const fieldRegex = new RegExp(`(buildConfigField\\s+['"]String['"]\\s*,\\s*['"]${fingerprintField}['"]\\s*,\\s*)"(?:[^"\\\\]|\\\\.)*"`, 'gs');
451
631
  if (fieldRegex.test(gradleContent)) {
452
632
  // Reset regex lastIndex after test()
453
633
  fieldRegex.lastIndex = 0;
454
- // Replace existing value (matches to end of the buildConfigField portion on that line)
455
- gradleContent = gradleContent.replace(fieldRegex, `buildConfigField "String", "${fingerprintField}", "\\"${fingerprintValue}\\""`);
634
+ // Replace existing value - capture group 1 has everything before the value
635
+ gradleContent = gradleContent.replace(fieldRegex, `$1"\\"${fingerprintValue}\\""`);
456
636
  }
457
637
  else {
458
638
  // Insert into defaultConfig block after its opening brace
@@ -527,7 +707,7 @@ export function embedVersionInNativeResources(projectRoot, version, buildNumber,
527
707
  const after = plistContent.slice(insertPoint);
528
708
  plistContent =
529
709
  before +
530
- `<key>CFBundleShortVersionString</key>\n\t\t<string>${version}</string>\n\t` +
710
+ `<key>CFBundleShortVersionString</key>\n\t\t<string>${version}</string>\n` +
531
711
  after;
532
712
  }
533
713
  }
@@ -544,7 +724,7 @@ export function embedVersionInNativeResources(projectRoot, version, buildNumber,
544
724
  const after = plistContent.slice(insertPoint);
545
725
  plistContent =
546
726
  before +
547
- `<key>CFBundleVersion</key>\n\t\t<string>${buildNumber}</string>\n\t` +
727
+ `<key>CFBundleVersion</key>\n\t\t<string>${buildNumber}</string>\n` +
548
728
  after;
549
729
  }
550
730
  }
@@ -673,7 +853,7 @@ export function embedNxConfigurationInNativeResources(projectRoot, configuration
673
853
  const after = plistContent.slice(insertPoint);
674
854
  plistContent =
675
855
  before +
676
- `<key>${configKey}</key>\n\t\t<string>${configuration}</string>\n\t` +
856
+ `<key>${configKey}</key>\n\t\t<string>${configuration}</string>\n` +
677
857
  after;
678
858
  }
679
859
  }
@@ -693,14 +873,16 @@ export function embedNxConfigurationInNativeResources(projectRoot, configuration
693
873
  let gradleContent = fs.readFileSync(appGradlePath, 'utf8');
694
874
  const configField = 'norrixNxConfiguration';
695
875
  // Check if buildConfigField already exists for this key
696
- // Match the entire buildConfigField line including escaped quotes: "\"value\""
697
- // The pattern handles both clean values and potentially corrupted multi-value entries
698
- const fieldRegex = new RegExp(`buildConfigField\\s+['"]String['"]\\s*,\\s*['"]${configField}['"]\\s*,\\s*"[^\\n]*`, 'g');
876
+ // Match the entire buildConfigField statement including multi-line cases
877
+ // Pattern matches: buildConfigField "String", "fieldName", "value"
878
+ // Using (?:[^"\\]|\\.)* to match: either non-quote-non-backslash OR backslash-then-anything (including newlines)
879
+ // This properly handles escaped quotes like \" within the value
880
+ const fieldRegex = new RegExp(`(buildConfigField\\s+['"]String['"]\\s*,\\s*['"]${configField}['"]\\s*,\\s*)"(?:[^"\\\\]|\\\\.)*"`, 'gs');
699
881
  if (fieldRegex.test(gradleContent)) {
700
882
  // Reset regex lastIndex after test()
701
883
  fieldRegex.lastIndex = 0;
702
- // Replace existing value (matches to end of the buildConfigField portion on that line)
703
- gradleContent = gradleContent.replace(fieldRegex, `buildConfigField "String", "${configField}", "\\"${configuration}\\""`);
884
+ // Replace existing value - capture group 1 has everything before the value
885
+ gradleContent = gradleContent.replace(fieldRegex, `$1"\\"${configuration}\\""`);
704
886
  }
705
887
  else {
706
888
  // Insert into defaultConfig block after its opening brace
@@ -1 +1 @@
1
- {"version":3,"file":"fingerprinting.js","sourceRoot":"","sources":["../../src/lib/fingerprinting.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fingerprinting.js","sourceRoot":"","sources":["../../src/lib/fingerprinting.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@norrix/cli",
3
- "version": "0.0.46",
3
+ "version": "0.0.48",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.js",
@@ -35,6 +35,10 @@
35
35
  "commander": "^11.1.0",
36
36
  "dotenv": "^16.4.5",
37
37
  "inquirer": "^9.3.7",
38
- "ora": "^6.3.1"
38
+ "ora": "^6.3.1",
39
+ "plist": "^3.1.0"
40
+ },
41
+ "devDependencies": {
42
+ "@types/plist": "^3.0.5"
39
43
  }
40
44
  }