@teleporthq/teleport-plugin-common 0.43.46 → 0.43.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.
Files changed (38) hide show
  1. package/__tests__/utils/parse-string-with-template-expressions.ts +82 -0
  2. package/__tests__/utils/route-utils.ts +118 -0
  3. package/__tests__/utils/template-expression-balance.ts +83 -0
  4. package/dist/cjs/node-handlers/node-to-jsx/utils.d.ts.map +1 -1
  5. package/dist/cjs/node-handlers/node-to-jsx/utils.js +30 -7
  6. package/dist/cjs/node-handlers/node-to-jsx/utils.js.map +1 -1
  7. package/dist/cjs/tsconfig.tsbuildinfo +1 -1
  8. package/dist/cjs/utils/ast-utils.d.ts.map +1 -1
  9. package/dist/cjs/utils/ast-utils.js +65 -16
  10. package/dist/cjs/utils/ast-utils.js.map +1 -1
  11. package/dist/cjs/utils/route-utils.d.ts +10 -0
  12. package/dist/cjs/utils/route-utils.d.ts.map +1 -1
  13. package/dist/cjs/utils/route-utils.js +9 -1
  14. package/dist/cjs/utils/route-utils.js.map +1 -1
  15. package/dist/cjs/utils/template-expression-balance.d.ts +58 -0
  16. package/dist/cjs/utils/template-expression-balance.d.ts.map +1 -0
  17. package/dist/cjs/utils/template-expression-balance.js +181 -0
  18. package/dist/cjs/utils/template-expression-balance.js.map +1 -0
  19. package/dist/esm/node-handlers/node-to-jsx/utils.d.ts.map +1 -1
  20. package/dist/esm/node-handlers/node-to-jsx/utils.js +31 -8
  21. package/dist/esm/node-handlers/node-to-jsx/utils.js.map +1 -1
  22. package/dist/esm/tsconfig.tsbuildinfo +1 -1
  23. package/dist/esm/utils/ast-utils.d.ts.map +1 -1
  24. package/dist/esm/utils/ast-utils.js +66 -17
  25. package/dist/esm/utils/ast-utils.js.map +1 -1
  26. package/dist/esm/utils/route-utils.d.ts +10 -0
  27. package/dist/esm/utils/route-utils.d.ts.map +1 -1
  28. package/dist/esm/utils/route-utils.js +8 -0
  29. package/dist/esm/utils/route-utils.js.map +1 -1
  30. package/dist/esm/utils/template-expression-balance.d.ts +58 -0
  31. package/dist/esm/utils/template-expression-balance.d.ts.map +1 -0
  32. package/dist/esm/utils/template-expression-balance.js +174 -0
  33. package/dist/esm/utils/template-expression-balance.js.map +1 -0
  34. package/package.json +4 -4
  35. package/src/node-handlers/node-to-jsx/utils.ts +36 -10
  36. package/src/utils/ast-utils.ts +68 -17
  37. package/src/utils/route-utils.ts +9 -0
  38. package/src/utils/template-expression-balance.ts +196 -0
@@ -0,0 +1,82 @@
1
+ import * as types from '@babel/types'
2
+ import generate from '@babel/generator'
3
+ import { parseStringWithTemplateExpressions } from '../../src/utils/ast-utils'
4
+
5
+ /** The generated source for a template literal, e.g. "`translateX(${x}px)`". */
6
+ const render = (input: string): string =>
7
+ generate(parseStringWithTemplateExpressions(input) as types.Node).code
8
+
9
+ describe('parseStringWithTemplateExpressions', () => {
10
+ it('converts a well-formed binding and strips the state prefix', () => {
11
+ expect(render(`translate({{ enemy.x || '0' }}px)`)).toBe(`\`translate(\${enemy.x || '0'}px)\``)
12
+ expect(render(`translateX({{ -(state.cameraX || 0) }}px)`)).toBe(
13
+ `\`translateX(\${-(cameraX || 0)}px)\``
14
+ )
15
+ })
16
+
17
+ it('handles several bindings in one value', () => {
18
+ expect(render(`translate({{ ctx.x }}px, {{ ctx.y }}px)`)).toBe(
19
+ `\`translate(\${ctx.x}px, \${ctx.y}px)\``
20
+ )
21
+ })
22
+
23
+ it('re-closes a CSS function the binding genuinely swallowed', () => {
24
+ // The unit is inferred from the one already present.
25
+ expect(render(`translate({{ x }}px, {{ y`)).toBe(`\`translate(\${x}px, \${y}px)\``)
26
+ })
27
+
28
+ it('infers deg for rotate and no unit for scale', () => {
29
+ expect(render(`rotate({{ a`)).toBe(`\`rotate(\${a}deg)\``)
30
+ expect(render(`scale({{ s`)).toBe(`\`scale(\${s})\``)
31
+ })
32
+ })
33
+
34
+ /**
35
+ * Run 021fa45a — an upstream "repair" turned `{{ -(state.cameraX || 0) }}` into
36
+ * `{{ -(state.cameraX || '' }}`, dropping the closing paren. This function then
37
+ * counted parentheses across the WHOLE string, mistook the imbalance inside the
38
+ * interpolation for an unclosed CSS function, appended `px)` to the end, and
39
+ * handed Babel `` `translateX(${-(cameraX || ''}px) }px)` ``. The SyntaxError
40
+ * escaped through the inline-style caller (which has no try/catch) and killed
41
+ * the entire project build.
42
+ */
43
+ describe('parseStringWithTemplateExpressions — a malformed binding must not break the build', () => {
44
+ const BROKEN = `translateX({{ -(state.cameraX || '' }}px) }`
45
+
46
+ it('does not throw on the exact UIDL value that killed the build', () => {
47
+ expect(() => parseStringWithTemplateExpressions(BROKEN)).not.toThrow()
48
+ })
49
+
50
+ it('repairs it INSIDE the interpolation, where the paren was missing', () => {
51
+ expect(render(BROKEN)).toBe(`\`translateX(\${-(cameraX || '')}px) }\``)
52
+ })
53
+
54
+ it('no longer appends a fabricated unit and paren to the end', () => {
55
+ expect(render(BROKEN)).not.toContain('px)`')
56
+ })
57
+
58
+ it('closes an unterminated quote inside a binding', () => {
59
+ expect(render(`{{ label || 'Guest }}`)).toBe(`\`\${label || 'Guest'}\``)
60
+ })
61
+
62
+ it('degrades to the declared literal fallback when nothing can be parsed', () => {
63
+ // A stray closer cannot be balanced without guessing, so the binding is
64
+ // dropped and its literal fallback kept — one value degrades, nothing throws.
65
+ const result = render(`{{ name) || 'Guest' }}`)
66
+ expect(result).toBe('`Guest`')
67
+ })
68
+
69
+ it('degrades to empty text when a broken binding declared no fallback', () => {
70
+ expect(render(`{{ a) }}`)).toBe('``')
71
+ })
72
+
73
+ it('always returns a TemplateLiteral, even on the degraded path', () => {
74
+ expect(types.isTemplateLiteral(parseStringWithTemplateExpressions(`{{ a) }}`))).toBe(true)
75
+ })
76
+
77
+ it('is idempotent on an already-repaired value', () => {
78
+ const once = render(BROKEN)
79
+ // Feeding the generated form back in (minus the backticks) is stable.
80
+ expect(render(once.slice(1, -1))).toBe(once)
81
+ })
82
+ })
@@ -0,0 +1,118 @@
1
+ import {
2
+ parseDynamicPathSegments,
3
+ pathHasDynamicSegment,
4
+ isDynamicRoute,
5
+ } from '../../src/utils/route-utils'
6
+
7
+ describe('parseDynamicPathSegments', () => {
8
+ it('splits a Next.js bracket segment into static text plus a param name', () => {
9
+ // The shape every details page's `navLink` actually carries. Before this
10
+ // was understood, the literal text "[id]" shipped inside canonical URLs,
11
+ // og:url and sitemap entries.
12
+ expect(parseDynamicPathSegments('/event-details/[id]')).toEqual({
13
+ staticParts: ['/event-details/', ''],
14
+ paramNames: ['id'],
15
+ })
16
+ })
17
+
18
+ it('still splits the template-literal form', () => {
19
+ expect(parseDynamicPathSegments('/news/' + '$' + '{' + 'slug}')).toEqual({
20
+ staticParts: ['/news/', ''],
21
+ paramNames: ['slug'],
22
+ })
23
+ })
24
+
25
+ it('handles a full absolute URL, keeping the origin in the static text', () => {
26
+ expect(parseDynamicPathSegments('https://example.com/rsvp-event/[id]')).toEqual({
27
+ staticParts: ['https://example.com/rsvp-event/', ''],
28
+ paramNames: ['id'],
29
+ })
30
+ })
31
+
32
+ it('splits several parameters and keeps the text between them', () => {
33
+ expect(parseDynamicPathSegments('/g/[guildId]/e/[eventId]/rsvp')).toEqual({
34
+ staticParts: ['/g/', '/e/', '/rsvp'],
35
+ paramNames: ['guildId', 'eventId'],
36
+ })
37
+ })
38
+
39
+ it('mixes both spellings in one path', () => {
40
+ expect(parseDynamicPathSegments('/a/[id]/b/' + '$' + '{' + 'slug}')).toEqual({
41
+ staticParts: ['/a/', '/b/', ''],
42
+ paramNames: ['id', 'slug'],
43
+ })
44
+ })
45
+
46
+ it('reports no parameters for a plain static path', () => {
47
+ expect(parseDynamicPathSegments('https://example.com/add-guild')).toEqual({
48
+ staticParts: ['https://example.com/add-guild'],
49
+ paramNames: [],
50
+ })
51
+ })
52
+
53
+ it('always returns exactly one more static part than parameters', () => {
54
+ for (const path of ['/a', '/a/[id]', '/a/[id]/b/[other]', '/' + '$' + '{' + 'x}']) {
55
+ const { staticParts, paramNames } = parseDynamicPathSegments(path)
56
+ expect(staticParts.length).toBe(paramNames.length + 1)
57
+ }
58
+ })
59
+
60
+ it('rebuilding staticParts + parameters reproduces the original path', () => {
61
+ const path = '/g/[guildId]/e/[eventId]/rsvp'
62
+ const { staticParts, paramNames } = parseDynamicPathSegments(path)
63
+ const rebuilt = staticParts.reduce(
64
+ (acc, part, i) => acc + part + (i < paramNames.length ? `[${paramNames[i]}]` : ''),
65
+ ''
66
+ )
67
+ expect(rebuilt).toBe(path)
68
+ })
69
+
70
+ it('ignores a bracket that is not a whole path segment', () => {
71
+ // A literal bracket inside a segment or a query string is content, not a
72
+ // route parameter — turning it into router.query would corrupt the URL.
73
+ expect(parseDynamicPathSegments('/report[2024]/summary').paramNames).toEqual([])
74
+ expect(parseDynamicPathSegments('/search?tags[]=a').paramNames).toEqual([])
75
+ expect(parseDynamicPathSegments('/a/[id]x/b').paramNames).toEqual([])
76
+ })
77
+
78
+ it('ignores Next catch-all segments, whose value is an array', () => {
79
+ // `router.query.slug` is a string[] for a catch-all; interpolating it into
80
+ // a URL would emit a comma-joined path. Leaving it alone is the honest
81
+ // outcome until a caller needs a real join.
82
+ expect(parseDynamicPathSegments('/docs/[...slug]').paramNames).toEqual([])
83
+ expect(parseDynamicPathSegments('/docs/[[...slug]]').paramNames).toEqual([])
84
+ })
85
+
86
+ it('ends a segment at anything that cannot be part of a path', () => {
87
+ // The same template appears inside a serialized JSON-LD document, where the
88
+ // URL ends at the closing quote rather than at a slash.
89
+ const embedded = '{"item":"https://example.com/event-details/[id]"}'
90
+ const { paramNames } = parseDynamicPathSegments(embedded)
91
+ expect(paramNames).toEqual(['id'])
92
+ })
93
+
94
+ it('is total for empty input', () => {
95
+ expect(parseDynamicPathSegments('')).toEqual({ staticParts: [''], paramNames: [] })
96
+ })
97
+ })
98
+
99
+ describe('pathHasDynamicSegment', () => {
100
+ it('is true only for a whole-segment bracket parameter', () => {
101
+ expect(pathHasDynamicSegment('/add-character/[id]')).toBe(true)
102
+ expect(pathHasDynamicSegment('https://example.com/profile/[id]')).toBe(true)
103
+ expect(pathHasDynamicSegment('/add-guild')).toBe(false)
104
+ expect(pathHasDynamicSegment('/report[2024]')).toBe(false)
105
+ expect(pathHasDynamicSegment('')).toBe(false)
106
+ expect(pathHasDynamicSegment(undefined as unknown as string)).toBe(false)
107
+ })
108
+ })
109
+
110
+ describe('isDynamicRoute', () => {
111
+ it('reads the component output options, not a URL', () => {
112
+ expect(
113
+ isDynamicRoute({ outputOptions: { folderPath: ['event-details'], fileName: '[id]' } })
114
+ ).toBe(true)
115
+ expect(isDynamicRoute({ outputOptions: { folderPath: [], fileName: 'add-guild' } })).toBe(false)
116
+ expect(isDynamicRoute({})).toBe(false)
117
+ })
118
+ })
@@ -0,0 +1,83 @@
1
+ import {
2
+ balanceExpression,
3
+ countUnclosedStaticParens,
4
+ isBalancedExpression,
5
+ scanExpression,
6
+ } from '../../src/utils/template-expression-balance'
7
+
8
+ describe('scanExpression', () => {
9
+ it('reports a clean expression as fully closed', () => {
10
+ const scan = scanExpression('-(cameraX || 0)')
11
+ expect(scan.unclosed).toEqual([])
12
+ expect(scan.strayCloserCount).toBe(0)
13
+ expect(scan.unterminatedQuote).toBeNull()
14
+ })
15
+
16
+ it('never lets a bracket inside a string affect nesting', () => {
17
+ expect(isBalancedExpression(`name || '(unclosed'`)).toBe(true)
18
+ expect(isBalancedExpression(`name || ')'`)).toBe(true)
19
+ })
20
+
21
+ it('honours escapes inside a string', () => {
22
+ expect(isBalancedExpression(`name || 'it\\'s fine'`)).toBe(true)
23
+ })
24
+
25
+ it('reports an unterminated quote', () => {
26
+ expect(scanExpression(`name || 'oops`).unterminatedQuote).toBe("'")
27
+ })
28
+
29
+ it('counts a closer that never had an opener as stray', () => {
30
+ expect(scanExpression('0)').strayCloserCount).toBe(1)
31
+ })
32
+
33
+ it('treats a mismatched closer as stray rather than guessing', () => {
34
+ expect(scanExpression('fn(a]').strayCloserCount).toBe(1)
35
+ })
36
+ })
37
+
38
+ describe('balanceExpression', () => {
39
+ it('closes the paren the upstream repair dropped', () => {
40
+ expect(balanceExpression(`-(cameraX || ''`)).toBe(`-(cameraX || '')`)
41
+ })
42
+
43
+ it('closes an unterminated quote BEFORE the brackets around it', () => {
44
+ expect(balanceExpression(`fn(x, 'label`)).toBe(`fn(x, 'label')`)
45
+ })
46
+
47
+ it('closes nested brackets outermost-last', () => {
48
+ expect(balanceExpression('fn(items[0')).toBe('fn(items[0])')
49
+ })
50
+
51
+ it('leaves a balanced expression byte-for-byte alone', () => {
52
+ for (const expr of [`-(cameraX || 0)`, `a.b`, `items[0].name`, `fn(a, 'b')`]) {
53
+ expect(balanceExpression(expr)).toBe(expr)
54
+ }
55
+ })
56
+
57
+ it('refuses to guess where a missing opener belonged', () => {
58
+ expect(balanceExpression('cameraX)')).toBe('cameraX)')
59
+ })
60
+ })
61
+
62
+ describe('countUnclosedStaticParens', () => {
63
+ it('ignores parentheses inside an interpolation', () => {
64
+ // The whole point: the `(` in the expression is not a CSS function call.
65
+ expect(countUnclosedStaticParens(`translateX(\${-(cameraX || 0)}px)`)).toBe(0)
66
+ })
67
+
68
+ it('counts a genuinely unclosed CSS function', () => {
69
+ expect(countUnclosedStaticParens(`translate(\${x}px, \${y}px`)).toBe(1)
70
+ })
71
+
72
+ it('does not go negative on extra closers', () => {
73
+ expect(countUnclosedStaticParens(`\${x}px))`)).toBe(0)
74
+ })
75
+
76
+ it('skips a brace inside a string inside an interpolation', () => {
77
+ expect(countUnclosedStaticParens(`translateX(${'${'}fn('}')${'}'}px)`)).toBe(0)
78
+ })
79
+
80
+ it('tolerates an unterminated interpolation', () => {
81
+ expect(countUnclosedStaticParens(`translateX(\${-(cameraX`)).toBe(1)
82
+ })
83
+ })
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/node-handlers/node-to-jsx/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AASrC,OAAO,EAEL,kBAAkB,EAClB,oBAAoB,EACpB,mBAAmB,EACnB,yBAAyB,EACzB,yBAAyB,EAEzB,sBAAsB,EACtB,mBAAmB,EACnB,mBAAmB,EACnB,yBAAyB,EACzB,wBAAwB,EACzB,MAAM,4BAA4B,CAAA;AAEnC,OAAO,EACL,gBAAgB,EAChB,qBAAqB,EACrB,mBAAmB,EACnB,oBAAoB,EACrB,MAAM,SAAS,CAAA;AAyEhB;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,0CAA0C,QAChD,MAAM,UAAU,eACR,MAAM,uBAElB,IA8DF,CAAA;AAED,eAAO,MAAM,oBAAoB,QAC1B,MAAM,UAAU,YACX,MAAM,0BACQ,yBAAyB,EAAE,UAC3C,mBAAmB,WAClB,oBAAoB,2BA8C9B,CAAA;AAgCD;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,0BAA0B,0BACd,sBAAsB,oBAC3B,OAAO,MAAM,EAAE,mBAAmB,CAAC,WAC5C,oBAAoB,gDA2L9B,CAAA;AAED,eAAO,MAAM,sBAAsB,OAC7B,MAAM,gBACI,OAAO,MAAM,EAAE,yBAAyB,CAAC,KACtD,MAUF,CAAA;AAcD;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,mCAAmC,WACtC,MAAM,GAAG,SAAS,UAClB,mBAAmB,KAC1B,MAqCF,CAAA;AAED,eAAO,MAAM,2BAA2B,QACjC,wBAAwB,gBACf,OAAO,MAAM,EAAE,yBAAyB,CAAC,uBAEtD,MAAM,UAAU,GAAG,MAAM,wBAa3B,CAAA;AAED,eAAO,MAAM,4BAA4B,eAC3B,oBAAoB,GAAG,mBAAmB,WAC7C,oBAAoB,8yCAe9B,CAAA;AA6KD,eAAO,MAAM,yBAAyB,qBAClB,oBAAoB,GAAG,mBAAmB,UACpD,mBAAmB,WAClB,oBAAoB,KAC5B,qBAkIF,CAAA;AAED,eAAO,MAAM,8BAA8B,YAChC,gBAAgB,yBACF,yBAAyB,yBACzB,qBAAqB,YACnC;IAAE,eAAe,CAAC,EAAE,MAAM,CAAC;IAAC,uBAAuB,CAAC,EAAE,MAAM,CAAA;CAAE,8CA4CxE,CAAA;AAuED,eAAO,MAAM,sBAAsB;eAEpB,MAAM;cACP,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,oBAAoB,GAAG,mBAAmB;oBAChE,MAAM;0BAED,qBAAqB,YACnC;IAAE,eAAe,CAAC,EAAE,MAAM,CAAC;IAAC,uBAAuB,CAAC,EAAE,MAAM,CAAA;CAAE,wIAuLxE,CAAA;AAED,eAAO,MAAM,yBAAyB,eACxB,kBAAkB,WACrB,oBAAoB,8xCAW9B,CAAA"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/node-handlers/node-to-jsx/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AASrC,OAAO,EAEL,kBAAkB,EAClB,oBAAoB,EACpB,mBAAmB,EACnB,yBAAyB,EACzB,yBAAyB,EAEzB,sBAAsB,EACtB,mBAAmB,EACnB,mBAAmB,EACnB,yBAAyB,EACzB,wBAAwB,EACzB,MAAM,4BAA4B,CAAA;AAEnC,OAAO,EACL,gBAAgB,EAChB,qBAAqB,EACrB,mBAAmB,EACnB,oBAAoB,EACrB,MAAM,SAAS,CAAA;AAyEhB;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,0CAA0C,QAChD,MAAM,UAAU,eACR,MAAM,uBAElB,IA8DF,CAAA;AAED,eAAO,MAAM,oBAAoB,QAC1B,MAAM,UAAU,YACX,MAAM,0BACQ,yBAAyB,EAAE,UAC3C,mBAAmB,WAClB,oBAAoB,2BA8C9B,CAAA;AAoCD;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,0BAA0B,0BACd,sBAAsB,oBAC3B,OAAO,MAAM,EAAE,mBAAmB,CAAC,WAC5C,oBAAoB,gDAiM9B,CAAA;AAED,eAAO,MAAM,sBAAsB,OAC7B,MAAM,gBACI,OAAO,MAAM,EAAE,yBAAyB,CAAC,KACtD,MAUF,CAAA;AAcD;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,mCAAmC,WACtC,MAAM,GAAG,SAAS,UAClB,mBAAmB,KAC1B,MA0CF,CAAA;AAED,eAAO,MAAM,2BAA2B,QACjC,wBAAwB,gBACf,OAAO,MAAM,EAAE,yBAAyB,CAAC,uBAEtD,MAAM,UAAU,GAAG,MAAM,wBAiB3B,CAAA;AAED,eAAO,MAAM,4BAA4B,eAC3B,oBAAoB,GAAG,mBAAmB,WAC7C,oBAAoB,8yCAe9B,CAAA;AAiLD,eAAO,MAAM,yBAAyB,qBAClB,oBAAoB,GAAG,mBAAmB,UACpD,mBAAmB,WAClB,oBAAoB,KAC5B,qBAkIF,CAAA;AAED,eAAO,MAAM,8BAA8B,YAChC,gBAAgB,yBACF,yBAAyB,yBACzB,qBAAqB,YACnC;IAAE,eAAe,CAAC,EAAE,MAAM,CAAC;IAAC,uBAAuB,CAAC,EAAE,MAAM,CAAA;CAAE,8CA4CxE,CAAA;AAuED,eAAO,MAAM,sBAAsB;eAEpB,MAAM;cACP,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,oBAAoB,GAAG,mBAAmB;oBAChE,MAAM;0BAED,qBAAqB,YACnC;IAAE,eAAe,CAAC,EAAE,MAAM,CAAC;IAAC,uBAAuB,CAAC,EAAE,MAAM,CAAA;CAAE,wIA0LxE,CAAA;AAED,eAAO,MAAM,yBAAyB,eACxB,kBAAkB,WACrB,oBAAoB,8xCAW9B,CAAA"}
@@ -215,7 +215,13 @@ var createPropCallStatement = function (eventHandlerStatement, propDefinitions,
215
215
  var prefix = options.dynamicReferencePrefixMap.prop
216
216
  ? options.dynamicReferencePrefixMap.prop + '.'
217
217
  : '';
218
- return t.expressionStatement(t.callExpression(t.identifier(prefix + propFunctionKey), __spreadArray([], args.map(function (arg) { return (0, ast_utils_1.convertValueToLiteral)(arg); }), true)));
218
+ // Un-prefixed the prop name is called as a bare binding, so it must be
219
+ // identifier-safe; prefixed it is `props.<name>`, where the UIDL spelling is
220
+ // both legal and load-bearing.
221
+ var calleeName = prefix
222
+ ? prefix + propFunctionKey
223
+ : teleport_shared_1.JSIdentifiers.createSafeJSIdentifier(propFunctionKey);
224
+ return t.expressionStatement(t.callExpression(t.identifier(calleeName), __spreadArray([], args.map(function (arg) { return (0, ast_utils_1.convertValueToLiteral)(arg); }), true)));
219
225
  };
220
226
  /**
221
227
  * Plan v14 — Type-aware state setter emitter.
@@ -252,6 +258,12 @@ var createStateChangeStatement = function (eventHandlerStatement, stateDefinitio
252
258
  var statePrefix = options.dynamicReferencePrefixMap.state
253
259
  ? options.dynamicReferencePrefixMap.state + '.'
254
260
  : '';
261
+ // Reading/writing the state through a prefix (`this.class`) is a member
262
+ // access and keeps the UIDL spelling; without one the name IS the binding
263
+ // and has to match what `createStateHookAST` declared.
264
+ var stateReadName = statePrefix
265
+ ? statePrefix + stateKey
266
+ : teleport_shared_1.JSIdentifiers.createSafeJSIdentifier(stateKey);
255
267
  var declaredType = stateDefinition.type;
256
268
  var newState = eventHandlerStatement.newState;
257
269
  var newStateValue;
@@ -264,7 +276,7 @@ var createStateChangeStatement = function (eventHandlerStatement, stateDefinitio
264
276
  console.warn("[createStateChangeStatement] '$toggle' is only valid for boolean state; state \"".concat(stateKey, "\" is declared as ").concat(declaredType, ". Skipping setter to avoid corrupting state."));
265
277
  return null;
266
278
  }
267
- newStateValue = t.unaryExpression('!', t.identifier(statePrefix + stateKey));
279
+ newStateValue = t.unaryExpression('!', t.identifier(stateReadName));
268
280
  }
269
281
  else if (typeof newState === 'object' && newState !== null) {
270
282
  var obj = newState;
@@ -385,7 +397,7 @@ var createStateChangeStatement = function (eventHandlerStatement, stateDefinitio
385
397
  if (!newStateValue) {
386
398
  return null;
387
399
  }
388
- return t.expressionStatement(t.assignmentExpression('=', t.identifier(statePrefix + stateKey), newStateValue));
400
+ return t.expressionStatement(t.assignmentExpression('=', t.identifier(stateReadName), newStateValue));
389
401
  }
390
402
  }
391
403
  };
@@ -444,7 +456,9 @@ var resolveAndRegisterGlobalStateSource = function (source, params) {
444
456
  var def = _a[_i];
445
457
  if (def.id === id) {
446
458
  params.globalStateReferences.push({ id: def.id, name: def.name });
447
- return original.replace(LEGACY_GLOBAL_STATE_RE, def.name);
459
+ // The rewritten source is embedded as code, so the placeholder becomes
460
+ // the LOCAL binding — the sanitised name the destructuring declares.
461
+ return original.replace(LEGACY_GLOBAL_STATE_RE, teleport_shared_1.JSIdentifiers.createSafeJSIdentifier(def.name));
448
462
  }
449
463
  }
450
464
  // Legacy prefix found but no matching definition (orphaned reference).
@@ -468,7 +482,9 @@ var resolveAndRegisterGlobalStateSource = function (source, params) {
468
482
  exports.resolveAndRegisterGlobalStateSource = resolveAndRegisterGlobalStateSource;
469
483
  var createGlobalStateExpression = function (ref, definitions, t) {
470
484
  if (t === void 0) { t = types; }
471
- var name = (0, exports.resolveGlobalStateName)(ref.content.id, definitions);
485
+ // The global-state name is destructured out of `useGlobalState()` as a local
486
+ // binding, so it goes through the same sanitiser the destructuring site uses.
487
+ var name = teleport_shared_1.JSIdentifiers.createSafeJSIdentifier((0, exports.resolveGlobalStateName)(ref.content.id, definitions));
472
488
  var refPath = ref.content.refPath || [];
473
489
  if (refPath.length === 0) {
474
490
  return t.identifier(name);
@@ -626,8 +642,12 @@ var createDynamicValueExpressionRaw = function (identifier, options, t) {
626
642
  }
627
643
  var idWithPath = (0, uidl_utils_1.generateIdWithRefPath)(id, refPath);
628
644
  var prefix = options.dynamicReferencePrefixMap[referenceType] || '';
645
+ // With no prefix the id IS the binding (React hooks: `class`), so it has to
646
+ // be sanitised exactly the way the declaration was. With a prefix it is a
647
+ // MEMBER (`props.class`, `this.class`), where a reserved word is perfectly
648
+ // legal and renaming it would point at a property that does not exist.
629
649
  return prefix === ''
630
- ? t.identifier(idWithPath)
650
+ ? t.identifier(teleport_shared_1.JSIdentifiers.createSafeJSIdentifierPath(idWithPath))
631
651
  : t.memberExpression(t.identifier(prefix), t.identifier(idWithPath));
632
652
  };
633
653
  // Prepares an identifier (from props or state or an expr) to be used as a conditional rendering identifier
@@ -827,9 +847,12 @@ var createBinaryExpression = function (condition, conditionalIdentifier, options
827
847
  if (options === void 0) { options = {}; }
828
848
  if (t === void 0) { t = types; }
829
849
  var operand = condition.operand, operation = condition.operation, containsField = condition.containsField;
850
+ // Same rule as `createDynamicValueExpression`: an un-prefixed key is the
851
+ // binding itself and must be identifier-safe; a prefixed one is a member
852
+ // access that has to keep the UIDL's original spelling.
830
853
  var identifier = conditionalIdentifier.prefix
831
854
  ? t.memberExpression(t.identifier(conditionalIdentifier.prefix), t.identifier(conditionalIdentifier.key))
832
- : t.identifier(conditionalIdentifier.key);
855
+ : t.identifier(teleport_shared_1.JSIdentifiers.createSafeJSIdentifierPath(conditionalIdentifier.key));
833
856
  // Array/Object operators
834
857
  if (operation === 'isEmpty') {
835
858
  return t.binaryExpression('===', createLengthExpression(identifier, conditionalIdentifier, t), t.numericLiteral(0));
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/node-handlers/node-to-jsx/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/node-handlers/node-to-jsx/utils.ts"],"names":[],"mappings":"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"}