@react-pug/babel-plugin-react-pug 0.1.9 → 0.1.13

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.
@@ -0,0 +1,11 @@
1
+ import type { PugRegion } from '@react-pug/react-pug-core';
2
+ interface BasicTransformMetadata {
3
+ regions: PugRegion[];
4
+ }
5
+ export declare function applyBasicRuntimeTransform(api: {
6
+ types: any;
7
+ }, programPath: any, transformed: {
8
+ metadata: BasicTransformMetadata;
9
+ }, tagFunction: string, requirePugImport: boolean): void;
10
+ export {};
11
+ //# sourceMappingURL=basicRuntimeTransform.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"basicRuntimeTransform.d.ts","sourceRoot":"","sources":["../src/basicRuntimeTransform.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAgB,MAAM,2BAA2B,CAAC;AAEzE,UAAU,sBAAsB;IAC9B,OAAO,EAAE,SAAS,EAAE,CAAC;CACtB;AAiKD,wBAAgB,0BAA0B,CACxC,GAAG,EAAE;IAAE,KAAK,EAAE,GAAG,CAAA;CAAE,EACnB,WAAW,EAAE,GAAG,EAChB,WAAW,EAAE;IAAE,QAAQ,EAAE,sBAAsB,CAAA;CAAE,EACjD,WAAW,EAAE,MAAM,EACnB,gBAAgB,EAAE,OAAO,GACxB,IAAI,CAyFN"}
@@ -0,0 +1,212 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.applyBasicRuntimeTransform = applyBasicRuntimeTransform;
4
+ const parser_1 = require("@babel/parser");
5
+ function parseRuntimeExpression(code) {
6
+ return (0, parser_1.parseExpression)(code, {
7
+ sourceType: 'module',
8
+ plugins: ['typescript', 'jsx', 'decorators-legacy'],
9
+ errorRecovery: false,
10
+ });
11
+ }
12
+ function escapeTemplateLiteralContent(content) {
13
+ return content
14
+ .replace(/\\/g, '\\\\')
15
+ .replace(/`/g, '\\`')
16
+ .replace(/\$\{/g, '\\${');
17
+ }
18
+ function formatStyleTemplateLiteralContent(content) {
19
+ const normalized = content.endsWith('\n') ? content.slice(0, -1) : content;
20
+ const lines = normalized.split('\n');
21
+ const indented = lines.map(line => (line.length > 0 ? ` ${line}` : ''));
22
+ return `\n${indented.join('\n')}\n`;
23
+ }
24
+ function parseRuntimeStyleCall(helper, content) {
25
+ return parseRuntimeExpression(`${helper}\`${escapeTemplateLiteralContent(formatStyleTemplateLiteralContent(content))}\``);
26
+ }
27
+ function isDirectiveStatementPath(path) {
28
+ return path.isExpressionStatement() && typeof path.node.directive === 'string';
29
+ }
30
+ function shouldWrapStatementBodyPath(parentPath, key, childPath) {
31
+ if (!childPath || childPath.isBlockStatement())
32
+ return false;
33
+ if (typeof key !== 'string')
34
+ return false;
35
+ if (parentPath.isIfStatement() && (key === 'consequent' || key === 'alternate'))
36
+ return true;
37
+ if ((parentPath.isWhileStatement()
38
+ || parentPath.isDoWhileStatement()
39
+ || parentPath.isForStatement()
40
+ || parentPath.isForInStatement()
41
+ || parentPath.isForOfStatement()
42
+ || parentPath.isWithStatement()
43
+ || parentPath.isLabeledStatement())
44
+ && key === 'body') {
45
+ return true;
46
+ }
47
+ return false;
48
+ }
49
+ function findStyleInsertionTarget(taggedPath) {
50
+ let current = taggedPath;
51
+ while (current?.parentPath) {
52
+ const parentPath = current.parentPath;
53
+ const key = typeof current.key === 'string' ? current.key : null;
54
+ if (parentPath.isArrowFunctionExpression() && key === 'body' && !current.isBlockStatement()) {
55
+ return { kind: 'arrow-expression', path: parentPath };
56
+ }
57
+ if (shouldWrapStatementBodyPath(parentPath, key, current)) {
58
+ return { kind: 'statement-body', path: parentPath, key: key ?? undefined };
59
+ }
60
+ if (parentPath.isBlockStatement()) {
61
+ return { kind: 'block', path: parentPath };
62
+ }
63
+ if (parentPath.isProgram()) {
64
+ return { kind: 'program', path: parentPath };
65
+ }
66
+ current = parentPath;
67
+ }
68
+ return { kind: 'program', path: taggedPath.findParent((p) => p.isProgram()) };
69
+ }
70
+ function insertAtStartOfContainer(api, target, statements) {
71
+ const bodyPaths = target.path.get('body');
72
+ const anchor = bodyPaths.find((statementPath) => (target.kind === 'program'
73
+ ? !statementPath.isImportDeclaration() && !isDirectiveStatementPath(statementPath)
74
+ : !isDirectiveStatementPath(statementPath)));
75
+ if (anchor) {
76
+ anchor.insertBefore(statements);
77
+ }
78
+ else {
79
+ target.path.pushContainer('body', statements);
80
+ }
81
+ }
82
+ function ensureStyleHelpersOnImport(api, importPath, helpers) {
83
+ const existing = new Set(importPath.node.specifiers
84
+ .filter((specifier) => specifier.type === 'ImportSpecifier' && specifier.imported?.type === 'Identifier')
85
+ .map((specifier) => specifier.imported.name));
86
+ for (const helper of helpers) {
87
+ if (existing.has(helper))
88
+ continue;
89
+ importPath.node.specifiers.push(api.types.importSpecifier(api.types.identifier(helper), api.types.identifier(helper)));
90
+ existing.add(helper);
91
+ }
92
+ }
93
+ function hoistStyleCallAtTarget(api, taggedPath, helper, content) {
94
+ const statement = api.types.expressionStatement(parseRuntimeStyleCall(helper, content));
95
+ const target = findStyleInsertionTarget(taggedPath);
96
+ if (target.kind === 'program' || target.kind === 'block') {
97
+ insertAtStartOfContainer(api, { kind: target.kind, path: target.path }, [statement]);
98
+ return;
99
+ }
100
+ if (target.kind === 'arrow-expression') {
101
+ const originalBody = target.path.get('body').node;
102
+ target.path.get('body').replaceWith(api.types.blockStatement([
103
+ statement,
104
+ api.types.returnStatement(originalBody),
105
+ ]));
106
+ return;
107
+ }
108
+ if (target.kind === 'statement-body') {
109
+ const originalBody = target.path.get(target.key).node;
110
+ target.path.get(target.key).replaceWith(api.types.blockStatement([statement, originalBody]));
111
+ }
112
+ }
113
+ function hasMatchingTagImport(programPath, tagFunction) {
114
+ return programPath.get('body').some((statementPath) => {
115
+ if (!statementPath.isImportDeclaration())
116
+ return false;
117
+ return statementPath.get('specifiers').some((specifierPath) => {
118
+ if (specifierPath.isImportSpecifier()) {
119
+ return (specifierPath.node.local?.name === tagFunction
120
+ && specifierPath.node.imported?.type === 'Identifier'
121
+ && specifierPath.node.imported.name === 'pug');
122
+ }
123
+ if (specifierPath.isImportDefaultSpecifier()) {
124
+ return specifierPath.node.local?.name === tagFunction;
125
+ }
126
+ return false;
127
+ });
128
+ });
129
+ }
130
+ function applyBasicRuntimeTransform(api, programPath, transformed, tagFunction, requirePugImport) {
131
+ if (requirePugImport && !hasMatchingTagImport(programPath, tagFunction)) {
132
+ throw programPath.buildCodeFrameError(`Missing import for tag function "${tagFunction}"`);
133
+ }
134
+ const taggedTemplates = new Map();
135
+ const matchingImportPaths = [];
136
+ const matchingImportSources = new Set();
137
+ programPath.traverse({
138
+ TaggedTemplateExpression(taggedPath) {
139
+ const node = taggedPath.node;
140
+ if (typeof node.start !== 'number' || typeof node.end !== 'number')
141
+ return;
142
+ taggedTemplates.set(`${node.start}:${node.end}`, taggedPath);
143
+ },
144
+ ImportDeclaration(importPath) {
145
+ const matched = importPath.get('specifiers').some((specifierPath) => {
146
+ if (specifierPath.isImportSpecifier()) {
147
+ return (specifierPath.node.local?.name === tagFunction
148
+ && specifierPath.node.imported?.type === 'Identifier'
149
+ && specifierPath.node.imported.name === 'pug');
150
+ }
151
+ if (specifierPath.isImportDefaultSpecifier()) {
152
+ return specifierPath.node.local?.name === tagFunction;
153
+ }
154
+ return false;
155
+ });
156
+ if (!matched)
157
+ return;
158
+ matchingImportPaths.push(importPath);
159
+ if (typeof importPath.node?.source?.value === 'string') {
160
+ matchingImportSources.add(importPath.node.source.value);
161
+ }
162
+ },
163
+ });
164
+ const helpersNeeded = [...new Set(transformed.metadata.regions
165
+ .map(region => region.styleBlock?.lang)
166
+ .filter((helper) => helper != null))];
167
+ if (helpersNeeded.length > 0 && matchingImportPaths.length > 0) {
168
+ ensureStyleHelpersOnImport(api, matchingImportPaths[0], helpersNeeded);
169
+ }
170
+ const sortedRegions = [...transformed.metadata.regions]
171
+ .sort((a, b) => b.originalStart - a.originalStart);
172
+ for (const region of sortedRegions) {
173
+ const taggedPath = taggedTemplates.get(`${region.originalStart}:${region.originalEnd}`);
174
+ if (!taggedPath?.node)
175
+ continue;
176
+ if (region.styleBlock) {
177
+ hoistStyleCallAtTarget(api, taggedPath, region.styleBlock.lang, region.styleBlock.content);
178
+ }
179
+ taggedPath.replaceWith(parseRuntimeExpression(region.tsxText));
180
+ }
181
+ programPath.traverse({
182
+ ImportDeclaration(importPath) {
183
+ const sourceValue = importPath.node?.source?.value;
184
+ if (!sourceValue)
185
+ return;
186
+ if (matchingImportSources.size > 0 && !matchingImportSources.has(sourceValue))
187
+ return;
188
+ const matched = importPath.node.specifiers.filter((specifier) => {
189
+ if (specifier.type === 'ImportSpecifier') {
190
+ return specifier.local?.name === tagFunction && specifier.imported?.type === 'Identifier' && specifier.imported.name === 'pug';
191
+ }
192
+ if (specifier.type === 'ImportDefaultSpecifier') {
193
+ return specifier.local?.name === tagFunction;
194
+ }
195
+ return false;
196
+ });
197
+ if (matched.length === 0)
198
+ return;
199
+ importPath.node.specifiers = importPath.node.specifiers.filter((specifier) => !matched.includes(specifier));
200
+ if (importPath.node.specifiers.length === 0) {
201
+ if (importPath.node.importKind === 'type') {
202
+ importPath.remove();
203
+ }
204
+ else {
205
+ importPath.replaceWith(api.types.importDeclaration([], api.types.stringLiteral(sourceValue)));
206
+ }
207
+ }
208
+ },
209
+ });
210
+ programPath.scope.crawl();
211
+ }
212
+ //# sourceMappingURL=basicRuntimeTransform.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"basicRuntimeTransform.js","sourceRoot":"","sources":["../src/basicRuntimeTransform.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAc,MAAM,aAAa,CAAC;AAEzD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,KAAK,EAAE,IAAI,EAA4B,MAAM,cAAc,CAAC;AACnE,OAAO,EAGL,KAAK,oBAAoB,EACzB,KAAK,gBAAgB,EACrB,KAAK,qBAAqB,EAG1B,KAAK,uBAAuB,EAC5B,KAAK,0BAA0B,EAC/B,KAAK,WAAW,EAChB,KAAK,SAAS,EACd,KAAK,kBAAkB,EACxB,MAAM,2BAA2B,CAAC;AAEnC,MAAM,MAAM,mBAAmB,GAAG,SAAS,GAAG,iBAAiB,CAAC;AAChE,MAAM,MAAM,qBAAqB,GAAG,OAAO,GAAG,UAAU,CAAC;AAEzD,MAAM,WAAW,0BAA0B;IACzC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,mBAAmB,CAAC;IAC3B,UAAU,CAAC,EAAE,qBAAqB,CAAC;IACnC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,sBAAsB,CAAC,EAAE,oBAAoB,CAAC;IAC9C,mBAAmB,CAAC,EAAE,gBAAgB,CAAC;IACvC,eAAe,CAAC,EAAE,qBAAqB,CAAC;IACxC,wCAAwC,CAAC,EAAE,OAAO,CAAC;CACpD;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,WAAW,CAAC;IACtB,OAAO,EAAE,SAAS,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,4BAA4B;IAC3C,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,qBAAqB,CAAC;IAChC,SAAS,EAAE,kBAAkB,CAAC;CAC/B;AAMD,wBAAgB,+BAA+B,CAC7C,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,0BAA+B,GACvC,4BAA4B,CAmB9B;AAED,wBAAgB,qCAAqC,CACnD,QAAQ,EAAE,qBAAqB,EAC/B,UAAU,EAAE,uBAAuB,GAClC,0BAA0B,GAAG,IAAI,CAEnC;AAkJD,MAAM,CAAC,OAAO,UAAU,mBAAmB,CACzC,GAAG,EAAE;IAAE,KAAK,EAAE,GAAG,CAAA;CAAE,EACnB,OAAO,GAAE,0BAA+B,GACvC,SAAS,GAAG;IACb,cAAc,CAAC,EAAE,CACf,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE;QAAE,cAAc,CAAC,EAAE,MAAM,CAAC;QAAC,cAAc,CAAC,EAAE,MAAM,CAAA;KAAE,EAChE,cAAc,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,KAAK,WAAW,CAAC,IAAI,CAAC,KACpE,WAAW,CAAC,IAAI,CAAC,CAAC;CACxB,CA8KA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAc,MAAM,aAAa,CAAC;AACzD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAIL,KAAK,oBAAoB,EACzB,KAAK,gBAAgB,EACrB,KAAK,qBAAqB,EAE1B,KAAK,uBAAuB,EAC5B,KAAK,0BAA0B,EAC/B,KAAK,WAAW,EAChB,KAAK,SAAS,EACd,KAAK,kBAAkB,EACxB,MAAM,2BAA2B,CAAC;AAGnC,MAAM,MAAM,mBAAmB,GAAG,SAAS,GAAG,iBAAiB,CAAC;AAChE,MAAM,MAAM,qBAAqB,GAAG,OAAO,GAAG,UAAU,CAAC;AAEzD,MAAM,WAAW,0BAA0B;IACzC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,mBAAmB,CAAC;IAC3B,UAAU,CAAC,EAAE,qBAAqB,CAAC;IACnC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,sBAAsB,CAAC,EAAE,oBAAoB,CAAC;IAC9C,mBAAmB,CAAC,EAAE,gBAAgB,CAAC;IACvC,eAAe,CAAC,EAAE,qBAAqB,CAAC;IACxC,wCAAwC,CAAC,EAAE,OAAO,CAAC;CACpD;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,WAAW,CAAC;IACtB,OAAO,EAAE,SAAS,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,4BAA4B;IAC3C,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,qBAAqB,CAAC;IAChC,SAAS,EAAE,kBAAkB,CAAC;CAC/B;AAED,wBAAgB,+BAA+B,CAC7C,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,0BAA+B,GACvC,4BAA4B,CAmB9B;AAED,wBAAgB,qCAAqC,CACnD,QAAQ,EAAE,qBAAqB,EAC/B,UAAU,EAAE,uBAAuB,GAClC,0BAA0B,GAAG,IAAI,CAEnC;AAMD,MAAM,CAAC,OAAO,UAAU,mBAAmB,CACzC,GAAG,EAAE;IAAE,KAAK,EAAE,GAAG,CAAA;CAAE,EACnB,OAAO,GAAE,0BAA+B,GACvC,SAAS,GAAG;IACb,cAAc,CAAC,EAAE,CACf,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE;QAAE,cAAc,CAAC,EAAE,MAAM,CAAC;QAAC,cAAc,CAAC,EAAE,MAAM,CAAA;KAAE,EAChE,cAAc,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,KAAK,WAAW,CAAC,IAAI,CAAC,KACpE,WAAW,CAAC,IAAI,CAAC,CAAC;CACxB,CAyEA"}
package/dist/index.js CHANGED
@@ -3,11 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.transformReactPugSourceForBabel = transformReactPugSourceForBabel;
4
4
  exports.mapBabelGeneratedDiagnosticToOriginal = mapBabelGeneratedDiagnosticToOriginal;
5
5
  exports.default = babelPluginReactPug;
6
- const parser_1 = require("@babel/parser");
7
6
  const react_pug_core_1 = require("@react-pug/react-pug-core");
8
- function hasStyleBlocks(metadata) {
9
- return metadata.regions.some(region => region.styleBlock != null);
10
- }
7
+ const basicRuntimeTransform_1 = require("./basicRuntimeTransform");
11
8
  function transformReactPugSourceForBabel(sourceText, fileName, options = {}) {
12
9
  const transformed = (0, react_pug_core_1.transformSourceFile)(sourceText, fileName, {
13
10
  tagFunction: options.tagFunction ?? 'pug',
@@ -33,137 +30,12 @@ function mapBabelGeneratedDiagnosticToOriginal(metadata, diagnostic) {
33
30
  function buildTransformCacheKey(sourceText, fileName) {
34
31
  return `${fileName}\0${sourceText}`;
35
32
  }
36
- function parseRuntimeExpression(code) {
37
- return (0, parser_1.parseExpression)(code, {
38
- sourceType: 'module',
39
- plugins: ['typescript', 'jsx', 'decorators-legacy'],
40
- errorRecovery: false,
41
- });
42
- }
43
- function escapeTemplateLiteralContent(content) {
44
- return content
45
- .replace(/\\/g, '\\\\')
46
- .replace(/`/g, '\\`')
47
- .replace(/\$\{/g, '\\${');
48
- }
49
- function formatStyleTemplateLiteralContent(content) {
50
- const normalized = content.endsWith('\n') ? content.slice(0, -1) : content;
51
- const lines = normalized.split('\n');
52
- const indented = lines.map(line => (line.length > 0 ? ` ${line}` : ''));
53
- return `\n${indented.join('\n')}\n`;
54
- }
55
- function parseRuntimeStyleCall(helper, content) {
56
- return parseRuntimeExpression(`${helper}\`${escapeTemplateLiteralContent(formatStyleTemplateLiteralContent(content))}\``);
57
- }
58
- function isDirectiveStatementPath(path) {
59
- return path.isExpressionStatement() && typeof path.node.directive === 'string';
60
- }
61
- function shouldWrapStatementBodyPath(parentPath, key, childPath) {
62
- if (!childPath || childPath.isBlockStatement())
63
- return false;
64
- if (typeof key !== 'string')
65
- return false;
66
- if (parentPath.isIfStatement() && (key === 'consequent' || key === 'alternate'))
67
- return true;
68
- if ((parentPath.isWhileStatement()
69
- || parentPath.isDoWhileStatement()
70
- || parentPath.isForStatement()
71
- || parentPath.isForInStatement()
72
- || parentPath.isForOfStatement()
73
- || parentPath.isWithStatement()
74
- || parentPath.isLabeledStatement())
75
- && key === 'body') {
76
- return true;
77
- }
78
- return false;
79
- }
80
- function findStyleInsertionTarget(taggedPath) {
81
- let current = taggedPath;
82
- while (current?.parentPath) {
83
- const parentPath = current.parentPath;
84
- const key = typeof current.key === 'string' ? current.key : null;
85
- if (parentPath.isArrowFunctionExpression() && key === 'body' && !current.isBlockStatement()) {
86
- return { kind: 'arrow-expression', path: parentPath };
87
- }
88
- if (shouldWrapStatementBodyPath(parentPath, key, current)) {
89
- return { kind: 'statement-body', path: parentPath, key: key ?? undefined };
90
- }
91
- if (parentPath.isBlockStatement()) {
92
- return { kind: 'block', path: parentPath };
93
- }
94
- if (parentPath.isProgram()) {
95
- return { kind: 'program', path: parentPath };
96
- }
97
- current = parentPath;
98
- }
99
- return { kind: 'program', path: taggedPath.findParent((p) => p.isProgram()) };
100
- }
101
- function insertAtStartOfContainer(api, target, statements) {
102
- const bodyPaths = target.path.get('body');
103
- const anchor = bodyPaths.find((statementPath) => (target.kind === 'program'
104
- ? !statementPath.isImportDeclaration() && !isDirectiveStatementPath(statementPath)
105
- : !isDirectiveStatementPath(statementPath)));
106
- if (anchor) {
107
- anchor.insertBefore(statements);
108
- }
109
- else {
110
- target.path.pushContainer('body', statements);
111
- }
112
- }
113
- function ensureStyleHelpersOnImport(api, importPath, helpers) {
114
- const existing = new Set(importPath.node.specifiers
115
- .filter((specifier) => specifier.type === 'ImportSpecifier' && specifier.imported?.type === 'Identifier')
116
- .map((specifier) => specifier.imported.name));
117
- for (const helper of helpers) {
118
- if (existing.has(helper))
119
- continue;
120
- importPath.node.specifiers.push(api.types.importSpecifier(api.types.identifier(helper), api.types.identifier(helper)));
121
- existing.add(helper);
122
- }
123
- }
124
- function hoistStyleCallAtTarget(api, taggedPath, helper, content) {
125
- const statement = api.types.expressionStatement(parseRuntimeStyleCall(helper, content));
126
- const target = findStyleInsertionTarget(taggedPath);
127
- if (target.kind === 'program' || target.kind === 'block') {
128
- insertAtStartOfContainer(api, { kind: target.kind, path: target.path }, [statement]);
129
- return;
130
- }
131
- if (target.kind === 'arrow-expression') {
132
- const originalBody = target.path.get('body').node;
133
- target.path.get('body').replaceWith(api.types.blockStatement([
134
- statement,
135
- api.types.returnStatement(originalBody),
136
- ]));
137
- return;
138
- }
139
- if (target.kind === 'statement-body') {
140
- const originalBody = target.path.get(target.key).node;
141
- target.path.get(target.key).replaceWith(api.types.blockStatement([statement, originalBody]));
142
- }
143
- }
144
33
  function babelPluginReactPug(api, options = {}) {
145
34
  const tagFunction = options.tagFunction ?? 'pug';
146
35
  const mode = options.mode ?? 'runtime';
147
36
  const sourceMapsMode = options.sourceMaps ?? 'basic';
148
37
  const requirePugImport = options.requirePugImport ?? false;
149
38
  const transformCache = new Map();
150
- function hasMatchingTagImport(programPath) {
151
- return programPath.get('body').some((statementPath) => {
152
- if (!statementPath.isImportDeclaration())
153
- return false;
154
- return statementPath.get('specifiers').some((specifierPath) => {
155
- if (specifierPath.isImportSpecifier()) {
156
- return (specifierPath.node.local?.name === tagFunction
157
- && specifierPath.node.imported?.type === 'Identifier'
158
- && specifierPath.node.imported.name === 'pug');
159
- }
160
- if (specifierPath.isImportDefaultSpecifier()) {
161
- return specifierPath.node.local?.name === tagFunction;
162
- }
163
- return false;
164
- });
165
- });
166
- }
167
39
  const plugin = {
168
40
  name: 'react-pug',
169
41
  visitor: {
@@ -171,6 +43,8 @@ function babelPluginReactPug(api, options = {}) {
171
43
  const sourceText = state?.file?.code;
172
44
  if (!sourceText)
173
45
  return;
46
+ if (!(0, react_pug_core_1.hasTagFunctionCall)(sourceText, tagFunction))
47
+ return;
174
48
  const fileName = state?.filename
175
49
  ?? state?.file?.opts?.filename
176
50
  ?? 'file.tsx';
@@ -186,86 +60,7 @@ function babelPluginReactPug(api, options = {}) {
186
60
  if (transformed.metadata.regions.length === 0)
187
61
  return;
188
62
  if (sourceMapsMode === 'basic') {
189
- if (requirePugImport && !hasMatchingTagImport(path)) {
190
- throw path.buildCodeFrameError(`Missing import for tag function "${tagFunction}"`);
191
- }
192
- const taggedTemplates = new Map();
193
- const matchingImportPaths = [];
194
- const matchingImportSources = new Set();
195
- path.traverse({
196
- TaggedTemplateExpression(taggedPath) {
197
- const node = taggedPath.node;
198
- if (typeof node.start !== 'number' || typeof node.end !== 'number')
199
- return;
200
- taggedTemplates.set(`${node.start}:${node.end}`, taggedPath);
201
- },
202
- ImportDeclaration(importPath) {
203
- const matched = importPath.get('specifiers').some((specifierPath) => {
204
- if (specifierPath.isImportSpecifier()) {
205
- return (specifierPath.node.local?.name === tagFunction
206
- && specifierPath.node.imported?.type === 'Identifier'
207
- && specifierPath.node.imported.name === 'pug');
208
- }
209
- if (specifierPath.isImportDefaultSpecifier()) {
210
- return specifierPath.node.local?.name === tagFunction;
211
- }
212
- return false;
213
- });
214
- if (!matched)
215
- return;
216
- matchingImportPaths.push(importPath);
217
- if (typeof importPath.node?.source?.value === 'string') {
218
- matchingImportSources.add(importPath.node.source.value);
219
- }
220
- },
221
- });
222
- const helpersNeeded = [...new Set(transformed.metadata.regions
223
- .map(region => region.styleBlock?.lang)
224
- .filter((helper) => helper != null))];
225
- if (helpersNeeded.length > 0 && matchingImportPaths.length > 0) {
226
- ensureStyleHelpersOnImport(api, matchingImportPaths[0], helpersNeeded);
227
- }
228
- const sortedRegions = [...transformed.metadata.regions]
229
- .sort((a, b) => b.originalStart - a.originalStart);
230
- for (const region of sortedRegions) {
231
- const taggedPath = taggedTemplates.get(`${region.originalStart}:${region.originalEnd}`);
232
- if (!taggedPath?.node)
233
- continue;
234
- if (region.styleBlock) {
235
- hoistStyleCallAtTarget(api, taggedPath, region.styleBlock.lang, region.styleBlock.content);
236
- }
237
- taggedPath.replaceWith(parseRuntimeExpression(region.tsxText));
238
- }
239
- path.traverse({
240
- ImportDeclaration(importPath) {
241
- const sourceValue = importPath.node?.source?.value;
242
- if (!sourceValue)
243
- return;
244
- if (matchingImportSources.size > 0 && !matchingImportSources.has(sourceValue))
245
- return;
246
- const matched = importPath.node.specifiers.filter((specifier) => {
247
- if (specifier.type === 'ImportSpecifier') {
248
- return specifier.local?.name === tagFunction && specifier.imported?.type === 'Identifier' && specifier.imported.name === 'pug';
249
- }
250
- if (specifier.type === 'ImportDefaultSpecifier') {
251
- return specifier.local?.name === tagFunction;
252
- }
253
- return false;
254
- });
255
- if (matched.length === 0)
256
- return;
257
- importPath.node.specifiers = importPath.node.specifiers.filter((specifier) => !matched.includes(specifier));
258
- if (importPath.node.specifiers.length === 0) {
259
- if (importPath.node.importKind === 'type') {
260
- importPath.remove();
261
- }
262
- else {
263
- importPath.replaceWith(api.types.importDeclaration([], api.types.stringLiteral(sourceValue)));
264
- }
265
- }
266
- },
267
- });
268
- path.scope.crawl();
63
+ (0, basicRuntimeTransform_1.applyBasicRuntimeTransform)(api, path, transformed, tagFunction, requirePugImport);
269
64
  }
270
65
  state.file.metadata.reactPug = transformed.metadata;
271
66
  transformCache.delete(buildTransformCacheKey(sourceText, fileName));
@@ -275,6 +70,9 @@ function babelPluginReactPug(api, options = {}) {
275
70
  if (sourceMapsMode === 'detailed') {
276
71
  plugin.parserOverride = (sourceText, parserOpts, parseWithBabel) => {
277
72
  const fileName = parserOpts.sourceFileName ?? parserOpts.sourceFilename ?? 'file.tsx';
73
+ if (!(0, react_pug_core_1.hasTagFunctionCall)(sourceText, tagFunction)) {
74
+ return parseWithBabel(sourceText, parserOpts);
75
+ }
278
76
  const transformed = transformReactPugSourceForBabel(sourceText, fileName, {
279
77
  tagFunction,
280
78
  mode,
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@react-pug/babel-plugin-react-pug",
3
- "version": "0.1.9",
3
+ "version": "0.1.13",
4
4
  "main": "./dist/index.js",
5
5
  "types": "./dist/index.d.ts",
6
6
  "publishConfig": {
@@ -13,10 +13,10 @@
13
13
  "dependencies": {
14
14
  "@babel/parser": "^7.0.0",
15
15
  "@babel/types": "^7.0.0",
16
- "@react-pug/react-pug-core": "^0.1.9"
16
+ "@react-pug/react-pug-core": "^0.1.13"
17
17
  },
18
18
  "peerDependencies": {
19
19
  "@babel/core": "^7.0.0"
20
20
  },
21
- "gitHead": "0c022eb5fe1bfce75b020c582bbe77681e2bd3b4"
21
+ "gitHead": "00f0d48767cbf3ce780a364806060e39a8ae0188"
22
22
  }