@n8n-as-code/transformer 0.2.1 → 0.2.2

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.
@@ -1 +1 @@
1
- {"version":3,"file":"naming.d.ts","sourceRoot":"","sources":["../../src/utils/naming.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAElD;;GAEG;AACH,wBAAgB,yBAAyB,IAAI,mBAAmB,CAK/D;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,oBAAoB,CAChC,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,mBAAmB,GAC7B,MAAM,CA4BR;AAwGD;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAS9D"}
1
+ {"version":3,"file":"naming.d.ts","sourceRoot":"","sources":["../../src/utils/naming.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAElD;;GAEG;AACH,wBAAgB,yBAAyB,IAAI,mBAAmB,CAK/D;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,oBAAoB,CAChC,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,mBAAmB,GAC7B,MAAM,CA4BR;AAwGD;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAY9D"}
@@ -53,17 +53,17 @@ export function generatePropertyName(displayName, context) {
53
53
  return finalName;
54
54
  }
55
55
  /**
56
- * Clean display name: remove emojis, trim, normalize spaces
56
+ * Clean display name: strip everything that isn't useful for identifier generation.
57
+ *
58
+ * Strategy: whitelist approach – transliterate accented chars to ASCII first,
59
+ * then replace anything that is NOT a letter, digit, space, hyphen or underscore
60
+ * with a space (so exotic separators like → | () become word boundaries).
61
+ * This is resilient to any Unicode oddity without enumerating ranges.
57
62
  */
58
63
  function cleanDisplayName(displayName) {
59
- return displayName
60
- // Remove emojis (Unicode emoji ranges)
61
- .replace(/[\u{1F300}-\u{1F9FF}]/gu, '')
62
- // Remove other special Unicode symbols
63
- .replace(/[\u{2600}-\u{26FF}]/gu, '')
64
- .replace(/[\u{2700}-\u{27BF}]/gu, '')
65
- // Remove colons (common separator after emojis)
66
- .replace(/^[\s:]+/, '')
64
+ return transliterate(displayName)
65
+ // Keep only ASCII letters, digits, and natural word separators
66
+ .replace(/[^a-zA-Z0-9\s\-_]/g, ' ')
67
67
  // Normalize whitespace
68
68
  .replace(/\s+/g, ' ')
69
69
  .trim();
@@ -151,7 +151,9 @@ function isReservedWord(name) {
151
151
  * "My Workflow" → "MyWorkflowWorkflow"
152
152
  */
153
153
  export function generateClassName(workflowName) {
154
- const baseName = toPascalCase(cleanDisplayName(workflowName));
154
+ let baseName = toPascalCase(cleanDisplayName(workflowName));
155
+ // Ensure valid identifier (strip remaining non-alphanumerics, handle leading digits, etc.)
156
+ baseName = ensureValidIdentifier(baseName);
155
157
  // Ensure ends with "Workflow" suffix
156
158
  if (!baseName.endsWith('Workflow')) {
157
159
  return `${baseName}Workflow`;
@@ -1 +1 @@
1
- {"version":3,"file":"naming.js","sourceRoot":"","sources":["../../src/utils/naming.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH;;GAEG;AACH,MAAM,UAAU,yBAAyB;IACrC,OAAO;QACH,SAAS,EAAE,IAAI,GAAG,EAAU;QAC5B,gBAAgB,EAAE,IAAI,GAAG,EAAkB;KAC9C,CAAC;AACN,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,oBAAoB,CAChC,WAAmB,EACnB,OAA4B;IAE5B,wDAAwD;IACxD,IAAI,OAAO,GAAG,gBAAgB,CAAC,WAAW,CAAC,CAAC;IAE5C,gCAAgC;IAChC,IAAI,QAAQ,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;IAErC,kCAAkC;IAClC,QAAQ,GAAG,qBAAqB,CAAC,QAAQ,CAAC,CAAC;IAE3C,4BAA4B;IAC5B,IAAI,SAAS,GAAG,QAAQ,CAAC;IAEzB,IAAI,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;QAClC,+CAA+C;QAC/C,MAAM,YAAY,GAAG,OAAO,CAAC,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACjE,MAAM,SAAS,GAAG,YAAY,GAAG,CAAC,CAAC;QAEnC,sCAAsC;QACtC,SAAS,GAAG,GAAG,QAAQ,GAAG,SAAS,EAAE,CAAC;QAEtC,OAAO,CAAC,gBAAgB,CAAC,GAAG,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IACtD,CAAC;IAED,kCAAkC;IAClC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAEjC,OAAO,SAAS,CAAC;AACrB,CAAC;AAED;;GAEG;AACH,SAAS,gBAAgB,CAAC,WAAmB;IACzC,OAAO,WAAW;QACd,uCAAuC;SACtC,OAAO,CAAC,yBAAyB,EAAE,EAAE,CAAC;QACvC,uCAAuC;SACtC,OAAO,CAAC,uBAAuB,EAAE,EAAE,CAAC;SACpC,OAAO,CAAC,uBAAuB,EAAE,EAAE,CAAC;QACrC,gDAAgD;SAC/C,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC;QACvB,uBAAuB;SACtB,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC;SACpB,IAAI,EAAE,CAAC;AAChB,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,YAAY,CAAC,GAAW;IAC7B,OAAO,GAAG;QACN,wCAAwC;SACvC,KAAK,CAAC,UAAU,CAAC;QAClB,uCAAuC;SACtC,GAAG,CAAC,IAAI,CAAC,EAAE;QACR,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QAEjC,qCAAqC;QACrC,IAAI,IAAI,KAAK,IAAI,CAAC,WAAW,EAAE,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACjD,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;QACxD,CAAC;QAED,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IACtE,CAAC,CAAC;SACD,IAAI,CAAC,EAAE,CAAC,CAAC;AAClB,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,aAAa,CAAC,GAAW;IAC9B,uFAAuF;IACvF,OAAO,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC;AAChE,CAAC;AAED;;;;;;GAMG;AACH,SAAS,qBAAqB,CAAC,IAAY;IACvC,wEAAwE;IACxE,IAAI,OAAO,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC;IAEjE,gDAAgD;IAChD,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QACtB,OAAO,GAAG,GAAG,GAAG,OAAO,CAAC;IAC5B,CAAC;IAED,6BAA6B;IAC7B,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,GAAG,MAAM,CAAC;IACrB,CAAC;IAED,sCAAsC;IACtC,IAAI,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC;QAC1B,OAAO,GAAG,OAAO,GAAG,GAAG,CAAC;IAC5B,CAAC;IAED,OAAO,OAAO,CAAC;AACnB,CAAC;AAED;;GAEG;AACH,SAAS,cAAc,CAAC,IAAY;IAChC,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC;QACrB,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU;QAClE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS;QAC9D,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI;QAC3D,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM;QAChE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;QAChE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,WAAW,EAAE,SAAS;QAC9D,SAAS,EAAE,WAAW,EAAE,QAAQ;KACnC,CAAC,CAAC;IAEH,OAAO,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;AAC5C,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,iBAAiB,CAAC,YAAoB;IAClD,MAAM,QAAQ,GAAG,YAAY,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC,CAAC;IAE9D,qCAAqC;IACrC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;QACjC,OAAO,GAAG,QAAQ,UAAU,CAAC;IACjC,CAAC;IAED,OAAO,QAAQ,CAAC;AACpB,CAAC"}
1
+ {"version":3,"file":"naming.js","sourceRoot":"","sources":["../../src/utils/naming.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@n8n-as-code/transformer",
3
- "version": "0.2.1",
3
+ "version": "0.2.2",
4
4
  "description": "Bidirectional transformer: n8n JSON workflows ↔ TypeScript",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",