@tarojs/plugin-generator 4.1.3 → 4.1.4-beta.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.
Files changed (35) hide show
  1. package/package.json +10 -8
  2. package/README.md +0 -38
  3. package/dist/generators/es5/babel.d.ts +0 -31
  4. package/dist/generators/es5/babel.js +0 -260
  5. package/dist/generators/es5/babel.js.map +0 -1
  6. package/dist/generators/es5/config.d.ts +0 -8
  7. package/dist/generators/es5/config.js +0 -182
  8. package/dist/generators/es5/config.js.map +0 -1
  9. package/dist/generators/es5/index.d.ts +0 -2
  10. package/dist/generators/es5/index.js +0 -34
  11. package/dist/generators/es5/index.js.map +0 -1
  12. package/dist/generators/tailwindcss/config.d.ts +0 -8
  13. package/dist/generators/tailwindcss/config.js +0 -357
  14. package/dist/generators/tailwindcss/config.js.map +0 -1
  15. package/dist/generators/tailwindcss/deps.d.ts +0 -5
  16. package/dist/generators/tailwindcss/deps.js +0 -26
  17. package/dist/generators/tailwindcss/deps.js.map +0 -1
  18. package/dist/generators/tailwindcss/emit.d.ts +0 -3
  19. package/dist/generators/tailwindcss/emit.js +0 -169
  20. package/dist/generators/tailwindcss/emit.js.map +0 -1
  21. package/dist/generators/tailwindcss/index.d.ts +0 -2
  22. package/dist/generators/tailwindcss/index.js +0 -54
  23. package/dist/generators/tailwindcss/index.js.map +0 -1
  24. package/dist/index.d.ts +0 -6
  25. package/dist/index.js +0 -67
  26. package/dist/index.js.map +0 -1
  27. package/dist/utils/ast.d.ts +0 -8
  28. package/dist/utils/ast.js +0 -56
  29. package/dist/utils/ast.js.map +0 -1
  30. package/dist/utils/error.d.ts +0 -20
  31. package/dist/utils/error.js +0 -61
  32. package/dist/utils/error.js.map +0 -1
  33. package/dist/utils/index.d.ts +0 -12
  34. package/dist/utils/index.js +0 -122
  35. package/dist/utils/index.js.map +0 -1
@@ -1,357 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- var __importDefault = (this && this.__importDefault) || function (mod) {
26
- return (mod && mod.__esModule) ? mod : { "default": mod };
27
- };
28
- Object.defineProperty(exports, "__esModule", { value: true });
29
- exports.processViteConfig = exports.updateConfig = void 0;
30
- /* eslint-disable no-console */
31
- const generator_1 = __importDefault(require("@babel/generator"));
32
- const parser = __importStar(require("@babel/parser"));
33
- const traverse_1 = __importDefault(require("@babel/traverse"));
34
- const t = __importStar(require("@babel/types"));
35
- const dedent_1 = __importDefault(require("dedent"));
36
- const error_1 = require("../../utils/error");
37
- async function updateConfig(options) {
38
- const { ctx, compilerType } = options;
39
- const { fs } = ctx.helper;
40
- const sourceCode = await fs.readFile(ctx.paths.configPath, { encoding: 'utf-8' });
41
- const ast = parser.parse(sourceCode, {
42
- sourceType: 'module',
43
- plugins: ['typescript'],
44
- });
45
- if (compilerType === 'webpack5') {
46
- processWebpack5Config(ast);
47
- }
48
- else if (compilerType === 'vite') {
49
- processViteConfig(ast);
50
- }
51
- const { code: latestConfig } = (0, generator_1.default)(ast);
52
- await fs.writeFile(ctx.paths.configPath, latestConfig, { encoding: 'utf-8' });
53
- console.log('✅ 更新配置文件成功\n');
54
- }
55
- exports.updateConfig = updateConfig;
56
- function processImportDecl(ast, pkgMap) {
57
- const alias = new Map();
58
- const importedModule = new Map();
59
- (0, traverse_1.default)(ast, {
60
- ImportDeclaration(path) {
61
- const importFrom = path.node.source.value;
62
- if (pkgMap.has(importFrom)) {
63
- importedModule.set(importFrom, path.node);
64
- const specifiers = path.node.specifiers;
65
- const importNames = pkgMap.get(importFrom);
66
- if (!importNames)
67
- return;
68
- for (const specifier of specifiers) {
69
- if (t.isImportDefaultSpecifier(specifier)) {
70
- if (importNames.defaultImport) {
71
- alias.set(specifier.local.name, importNames.defaultImport);
72
- Reflect.deleteProperty(importNames, 'defaultImport');
73
- }
74
- }
75
- if (importNames.namedImport) {
76
- if (importNames.namedImport.size === 0) {
77
- Reflect.deleteProperty(importNames, 'namedImport');
78
- continue;
79
- }
80
- if (t.isImportSpecifier(specifier) && t.isIdentifier(specifier.imported)) {
81
- const importName = specifier.imported.name;
82
- const localName = specifier.local?.name ?? importName;
83
- alias.set(importName, localName);
84
- if (importNames.namedImport.has(importName)) {
85
- importNames.namedImport.delete(importName);
86
- }
87
- }
88
- }
89
- }
90
- }
91
- },
92
- Program: {
93
- exit(path) {
94
- for (const [moduleName, { namedImport, defaultImport }] of pkgMap) {
95
- if (defaultImport) {
96
- if (importedModule.get(moduleName)) {
97
- const importDecl = importedModule.get(moduleName);
98
- importDecl?.specifiers.unshift(t.importDefaultSpecifier(t.identifier(defaultImport)));
99
- }
100
- else {
101
- path.node.body.unshift(t.importDeclaration([t.importDefaultSpecifier(t.identifier(defaultImport))], t.stringLiteral(moduleName)));
102
- }
103
- }
104
- if (namedImport && namedImport.size > 0) {
105
- // 需要从已有的导入语句追加
106
- if (importedModule.get(moduleName)) {
107
- const importDecl = importedModule.get(moduleName);
108
- for (const importName of namedImport) {
109
- importDecl?.specifiers.push(t.importSpecifier(t.identifier(importName), t.identifier(importName)));
110
- }
111
- }
112
- else {
113
- path.node.body.unshift(t.importDeclaration(Array.from(namedImport).map((importName) => t.importSpecifier(t.identifier(importName), t.identifier(importName))), t.stringLiteral(moduleName)));
114
- }
115
- }
116
- }
117
- },
118
- },
119
- });
120
- return alias;
121
- }
122
- function processWebpack5Config(ast) {
123
- const fromModule = 'weapp-tailwindcss/webpack';
124
- const importName = 'UnifiedWebpackPluginV5';
125
- const alias = processImportDecl(ast, new Map([[fromModule, { namedImport: new Set([importName]) }]]));
126
- let updated = false;
127
- (0, traverse_1.default)(ast, {
128
- VariableDeclarator(path) {
129
- const { node } = path;
130
- if (t.isIdentifier(node.id, { name: 'baseConfig' }) && t.isObjectExpression(node.init)) {
131
- (0, traverse_1.default)(node.init, {
132
- ObjectProperty: (prop) => {
133
- if (t.isIdentifier(prop.node.key, { name: 'mini' }) && t.isObjectExpression(prop.node.value)) {
134
- const props = prop.node.value.properties;
135
- const webpackChainMethod = props.find((p) => t.isObjectMethod(p) && t.isIdentifier(p.key, { name: 'webpackChain' }));
136
- const installPluginCode = (0, dedent_1.default)(`
137
- chain.merge({
138
- plugin: {
139
- install: {
140
- plugin: UnifiedWebpackPluginV5,
141
- args: [{
142
- // 这里可以传参数
143
- rem2rpx: true,
144
- }]
145
- }
146
- }
147
- })
148
- `);
149
- const installPluginStmt = parser.parseExpression(installPluginCode);
150
- let pluginAlreadyExists = false;
151
- // 存在 webpackChain 方法
152
- if (webpackChainMethod) {
153
- for (const stmt of webpackChainMethod.body.body) {
154
- if (t.isExpressionStatement(stmt) &&
155
- t.isCallExpression(stmt.expression) &&
156
- t.isMemberExpression(stmt.expression.callee) &&
157
- t.isIdentifier(stmt.expression.callee.object, { name: 'chain' }) &&
158
- t.isIdentifier(stmt.expression.callee.property, { name: 'merge' })) {
159
- const [arg] = stmt.expression.arguments;
160
- if (t.isObjectExpression(arg)) {
161
- for (const prop of arg.properties) {
162
- if (t.isObjectProperty(prop) &&
163
- t.isIdentifier(prop.key, { name: 'plugin' }) &&
164
- t.isObjectExpression(prop.value)) {
165
- const installProp = prop.value.properties.find((p) => t.isObjectProperty(p) &&
166
- t.isIdentifier(p.key, { name: 'install' }) &&
167
- t.isObjectExpression(p.value) &&
168
- p.value.properties.some((ip) => t.isObjectProperty(ip) &&
169
- t.isIdentifier(ip.key, { name: 'plugin' }) &&
170
- t.isIdentifier(ip.value, { name: alias.get(importName) ?? importName })));
171
- if (installProp) {
172
- pluginAlreadyExists = true;
173
- }
174
- }
175
- }
176
- }
177
- }
178
- }
179
- if (!pluginAlreadyExists) {
180
- webpackChainMethod.body.body.push(t.expressionStatement(installPluginStmt));
181
- }
182
- }
183
- else {
184
- // 没有 webpackChain 方法则添加
185
- prop.node.value.properties.push(t.objectMethod('method', t.identifier('webpackChain'), [t.identifier('chain'), t.identifier('webpack')], t.blockStatement([t.expressionStatement(installPluginStmt)]), false, false));
186
- }
187
- updated = true;
188
- prop.stop();
189
- }
190
- },
191
- }, path.scope);
192
- path.stop();
193
- }
194
- },
195
- });
196
- if (!updated) {
197
- throw new error_1.GeneratorError({
198
- type: error_1.GeneratorErrorType.modifyConfig,
199
- message: (0, dedent_1.default)(`
200
- import { UnifiedWebpackPluginV5 } from 'weapp-tailwindcss/webpack'
201
- {
202
- // 找到 mini 这个配置
203
- mini: {
204
- // postcss: { /*...*/ },
205
- // 中的 webpackChain, 通常紧挨着 postcss
206
- webpackChain(chain, webpack) {
207
- // 复制这块区域到你的配置代码中
208
- chain.merge({
209
- plugin: {
210
- install: {
211
- plugin: UnifiedWebpackPluginV5,
212
- args: [{
213
- // 这里可以传参数
214
- rem2rpx: true,
215
- }]
216
- }
217
- }
218
- })
219
- }
220
- }
221
- }
222
- `),
223
- });
224
- }
225
- }
226
- function processViteConfig(ast) {
227
- const weappTailwindCSS = 'weapp-tailwindcss/vite';
228
- const tailwindcss = '@tailwindcss/postcss';
229
- const importPluginName = 'UnifiedViteWeappTailwindcssPlugin';
230
- const importTailwindcss = 'tailwindcss';
231
- const alias = processImportDecl(ast, new Map([
232
- [weappTailwindCSS, { namedImport: new Set([importPluginName]) }],
233
- [tailwindcss, { defaultImport: importTailwindcss }],
234
- ]));
235
- function createUnifiedVitePluginNode() {
236
- const code = `
237
- ${alias.get(importPluginName) ?? importPluginName}({
238
- // rem转rpx
239
- rem2rpx: true,
240
- // 除了小程序这些,其他平台都 disable
241
- disabled: process.env.TARO_ENV === 'h5' || process.env.TARO_ENV === 'harmony' || process.env.TARO_ENV === 'rn',
242
- // 由于 taro vite 默认会移除所有的 tailwindcss css 变量,所以一定要开启这个配置,进行css 变量的重新注入
243
- injectAdditionalCssVarScope: true,
244
- })
245
- `;
246
- return parser.parseExpression(code);
247
- }
248
- function createPostcssPluginNode() {
249
- const code = `
250
- {
251
- name: 'postcss-config-loader-plugin',
252
- config(config) {
253
- // 加载 tailwindcss
254
- if (typeof config.css?.postcss === 'object') {
255
- config.css?.postcss.plugins?.unshift(tailwindcss())
256
- }
257
- },
258
- }
259
- `;
260
- return parser.parseExpression(code);
261
- }
262
- let updated = false;
263
- (0, traverse_1.default)(ast, {
264
- VariableDeclarator(path) {
265
- const { node } = path;
266
- if (t.isIdentifier(node.id, { name: 'baseConfig' }) && t.isObjectExpression(node.init)) {
267
- (0, traverse_1.default)(node.init, {
268
- ObjectProperty: (prop) => {
269
- if (!t.isIdentifier(prop.node.key, { name: 'compiler' }))
270
- return;
271
- // compiler: 'vite' => 替换为对象 compiler: { type: 'vite', ... }
272
- if (t.isStringLiteral(prop.node.value, { value: 'vite' })) {
273
- prop.node.value = t.objectExpression([
274
- t.objectProperty(t.identifier('type'), t.stringLiteral('vite')),
275
- t.objectProperty(t.identifier('vitePlugins'), t.arrayExpression([createPostcssPluginNode(), createUnifiedVitePluginNode()])),
276
- ]);
277
- updated = true;
278
- prop.stop();
279
- return;
280
- }
281
- // compiler: { type: 'vite', ... }
282
- if (t.isObjectExpression(prop.node.value)) {
283
- const compilerProps = prop.node.value.properties;
284
- let vitePluginsProp;
285
- for (const p of compilerProps) {
286
- if (t.isObjectProperty(p) &&
287
- t.isIdentifier(p.key, { name: 'vitePlugins' }) &&
288
- t.isArrayExpression(p.value)) {
289
- vitePluginsProp = p;
290
- break;
291
- }
292
- }
293
- if (!vitePluginsProp) {
294
- compilerProps.push(t.objectProperty(t.identifier('vitePlugins'), t.arrayExpression([createPostcssPluginNode(), createUnifiedVitePluginNode()])));
295
- updated = true;
296
- prop.stop();
297
- return;
298
- }
299
- if (!t.isArrayExpression(vitePluginsProp.value))
300
- return;
301
- const elements = vitePluginsProp.value.elements;
302
- const hasPostcssPlugin = elements.some((el) => t.isObjectExpression(el) &&
303
- el.properties.some((prop) => t.isObjectProperty(prop) &&
304
- t.isIdentifier(prop.key, { name: 'name' }) &&
305
- t.isStringLiteral(prop.value, { value: 'postcss-config-loader-plugin' })));
306
- const hasUnifiedPlugin = elements.some((el) => t.isCallExpression(el) &&
307
- t.isIdentifier(el.callee, { name: alias.get(importPluginName) ?? importPluginName }));
308
- if (!hasPostcssPlugin) {
309
- elements.unshift(createPostcssPluginNode());
310
- }
311
- if (!hasUnifiedPlugin) {
312
- elements.push(createUnifiedVitePluginNode());
313
- }
314
- updated = true;
315
- prop.stop();
316
- }
317
- },
318
- }, path.scope);
319
- path.stop();
320
- }
321
- },
322
- });
323
- if (!updated) {
324
- throw new error_1.GeneratorError({
325
- type: error_1.GeneratorErrorType.modifyConfig,
326
- message: (0, dedent_1.default)(`
327
- import tailwindcss from 'tailwindcss';
328
- import { UnifiedViteWeappTailwindcssPlugin } from 'weapp-tailwindcss/vite'
329
-
330
- {
331
- // ... 其他配置
332
- compiler: {
333
- type: 'vite',
334
- vitePlugins: [
335
- {
336
- name: 'postcss-config-loader-plugin',
337
- config(config) {
338
- if (typeof config.css?.postcss === 'object') {
339
- config.css?.postcss.plugins?.unshift(tailwindcss())
340
- }
341
- },
342
- },
343
- UnifiedViteWeappTailwindcssPlugin({
344
- rem2rpx: true,
345
- disabled: process.env.TARO_ENV === 'h5' || process.env.TARO_ENV === 'harmony' || process.env.TARO_ENV === 'rn',
346
- injectAdditionalCssVarScope: true,
347
- })
348
- ]
349
- // ... 其他配置
350
- }
351
- }
352
- `),
353
- });
354
- }
355
- }
356
- exports.processViteConfig = processViteConfig;
357
- //# sourceMappingURL=config.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/generators/tailwindcss/config.ts"],"names":[],"mappings":"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"}
@@ -1,5 +0,0 @@
1
- import type { IPluginContext } from '@tarojs/service';
2
- export declare function updateDeps(options: {
3
- ctx: IPluginContext;
4
- tailwindcssVersion: TailwindCSSVersion;
5
- }): Promise<void>;
@@ -1,26 +0,0 @@
1
- "use strict";
2
- /* eslint-disable no-console */
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.updateDeps = void 0;
5
- const utils_1 = require("../../utils");
6
- const getDeps = (version) => {
7
- const deps = {
8
- devDependencies: {
9
- tailwindcss: version === '4x' ? '^4.1.7' : '3.4.17',
10
- 'weapp-tailwindcss': '^4.1.7',
11
- '@tailwindcss/postcss': '^4.1.7',
12
- },
13
- };
14
- return deps;
15
- };
16
- async function updateDeps(options) {
17
- const { ctx, tailwindcssVersion } = options;
18
- const patch = { ...getDeps(tailwindcssVersion) };
19
- if (tailwindcssVersion === '4x') {
20
- // 这是为了给 tailwindcss@4 打上支持 rpx 单位的补丁,否则它会把 rpx 认为是一种颜色
21
- patch.scripts = { postinstall: 'weapp-tw patch' };
22
- }
23
- return (0, utils_1.updatePkgJson)(ctx, patch);
24
- }
25
- exports.updateDeps = updateDeps;
26
- //# sourceMappingURL=deps.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"deps.js","sourceRoot":"","sources":["../../../src/generators/tailwindcss/deps.ts"],"names":[],"mappings":";AAAA,+BAA+B;;;AAE/B,uCAA2C;AAI3C,MAAM,OAAO,GAAG,CAAC,OAA2B,EAAQ,EAAE;IACpD,MAAM,IAAI,GAAS;QACjB,eAAe,EAAE;YACf,WAAW,EAAE,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ;YACnD,mBAAmB,EAAE,QAAQ;YAC7B,sBAAsB,EAAE,QAAQ;SACjC;KACF,CAAA;IAED,OAAO,IAAI,CAAA;AACb,CAAC,CAAA;AAEM,KAAK,UAAU,UAAU,CAAC,OAAwE;IACvG,MAAM,EAAE,GAAG,EAAE,kBAAkB,EAAE,GAAG,OAAO,CAAA;IAC3C,MAAM,KAAK,GAAgB,EAAE,GAAG,OAAO,CAAC,kBAAkB,CAAC,EAAE,CAAA;IAC7D,IAAI,kBAAkB,KAAK,IAAI,EAAE,CAAC;QAChC,uDAAuD;QACvD,KAAK,CAAC,OAAO,GAAG,EAAE,WAAW,EAAE,gBAAgB,EAAE,CAAA;IACnD,CAAC;IACD,OAAO,IAAA,qBAAa,EAAC,GAAG,EAAE,KAAK,CAAC,CAAA;AAClC,CAAC;AARD,gCAQC"}
@@ -1,3 +0,0 @@
1
- import type { IPluginContext } from '@tarojs/service';
2
- export declare function emit(ctx: IPluginContext): Promise<[void, void, void]>;
3
- export declare function injectTailwindCSSToEntry(ctx: IPluginContext): Promise<void>;
@@ -1,169 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- var __importDefault = (this && this.__importDefault) || function (mod) {
26
- return (mod && mod.__esModule) ? mod : { "default": mod };
27
- };
28
- Object.defineProperty(exports, "__esModule", { value: true });
29
- exports.injectTailwindCSSToEntry = exports.emit = void 0;
30
- /* eslint-disable no-console */
31
- const node_path_1 = __importDefault(require("node:path"));
32
- const generator_1 = __importDefault(require("@babel/generator"));
33
- const parser = __importStar(require("@babel/parser"));
34
- const traverse_1 = __importDefault(require("@babel/traverse"));
35
- const t = __importStar(require("@babel/types"));
36
- const dedent_1 = __importDefault(require("dedent"));
37
- const error_1 = require("../../utils/error");
38
- async function emit(ctx) {
39
- return Promise.all([emitCSS(ctx), injectTailwindCSSToEntry(ctx), emitPostcssConfig(ctx)]);
40
- }
41
- exports.emit = emit;
42
- async function emitPostcssConfig(ctx) {
43
- const { fs } = ctx.helper;
44
- const { sourcePath } = ctx.paths;
45
- const configFiles = ['postcss.config.js', 'postcss.config.mjs'];
46
- let configPath = null;
47
- for (const file of configFiles) {
48
- const fullPath = node_path_1.default.join(sourcePath, file);
49
- if (await fs.pathExists(fullPath)) {
50
- configPath = fullPath;
51
- break;
52
- }
53
- }
54
- const code = (0, dedent_1.default)(`
55
- export default {
56
- plugins: {
57
- "@tailwindcss/postcss": {},
58
- }
59
- }
60
- `);
61
- try {
62
- if (!configPath) {
63
- await fs.writeFile(node_path_1.default.join(sourcePath, 'postcss.config.mjs'), code, { encoding: 'utf-8' });
64
- return;
65
- }
66
- const rawCode = await fs.readFile(configPath, 'utf-8');
67
- if (rawCode.trim().length === 0) {
68
- await fs.writeFile(configPath, code, { encoding: 'utf-8' });
69
- return;
70
- }
71
- const ast = parser.parse(rawCode, {
72
- sourceType: 'module',
73
- plugins: ['typescript'],
74
- });
75
- let modified = false;
76
- (0, traverse_1.default)(ast, {
77
- ObjectExpression(path) {
78
- const node = path.node;
79
- // 找到 plugins 节点
80
- const pluginsProp = node.properties.find((prop) => t.isObjectProperty(prop) &&
81
- t.isIdentifier(prop.key, { name: 'plugins' }) &&
82
- t.isObjectExpression(prop.value));
83
- if (pluginsProp) {
84
- const pluginsNode = pluginsProp.value;
85
- const hasTailwind = pluginsNode.properties.some((prop) => {
86
- return (t.isObjectProperty(prop) &&
87
- ((t.isStringLiteral(prop.key) && prop.key.value === '@tailwindcss/postcss') ||
88
- (t.isIdentifier(prop.key) && prop.key.name === '@tailwindcss/postcss')));
89
- });
90
- if (!hasTailwind) {
91
- pluginsNode.properties.push(t.objectProperty(t.stringLiteral('@tailwindcss/postcss'), t.objectExpression([])));
92
- modified = true;
93
- }
94
- }
95
- },
96
- });
97
- if (modified) {
98
- const { code } = (0, generator_1.default)(ast, { retainLines: true });
99
- return fs.writeFile(configPath, code);
100
- }
101
- }
102
- catch {
103
- throw new error_1.GeneratorError({
104
- type: error_1.GeneratorErrorType.emitFile,
105
- targetFile: configPath ?? 'postcss.config.mjs',
106
- message: code,
107
- });
108
- }
109
- }
110
- async function emitCSS(ctx) {
111
- const { fs } = ctx.helper;
112
- const outputPath = node_path_1.default.join(ctx.paths.sourcePath, 'tailwind.css');
113
- const importStmt = `@import "weapp-tailwindcss";\n`;
114
- try {
115
- if (await fs.pathExists(outputPath)) {
116
- const existingContent = await fs.readFile(outputPath, 'utf-8');
117
- const alreadyImported = /@import\s+["']weapp-tailwindcss["'];?/.test(existingContent);
118
- if (alreadyImported) {
119
- return;
120
- }
121
- const newContent = `${importStmt}${existingContent.trim()}`;
122
- return fs.writeFile(outputPath, newContent, { encoding: 'utf-8' });
123
- }
124
- return fs.writeFile(outputPath, importStmt, { encoding: 'utf-8' });
125
- }
126
- catch {
127
- throw new error_1.GeneratorError({
128
- type: error_1.GeneratorErrorType.emitFile,
129
- targetFile: outputPath,
130
- message: `@import "weapp-tailwindcss";`,
131
- });
132
- }
133
- }
134
- async function injectTailwindCSSToEntry(ctx) {
135
- const { fs } = ctx.helper;
136
- const { sourcePath } = ctx.paths;
137
- const possibleEntryFiles = ['app.ts', 'app.tsx', 'app.js', 'app.jsx'];
138
- let entryPath;
139
- // 找到存在的入口文件
140
- for (const file of possibleEntryFiles) {
141
- const fullPath = node_path_1.default.join(sourcePath, file);
142
- if (await fs.pathExists(fullPath)) {
143
- entryPath = fullPath;
144
- break;
145
- }
146
- }
147
- if (!entryPath) {
148
- throw new Error('❌ 找不到入口文件');
149
- }
150
- const importStatement = `import './tailwind.css'\n`;
151
- const content = await fs.readFile(entryPath, 'utf-8');
152
- // 如果已导入 tailwind.css,跳过处理
153
- if (/import\s+['"]\.\/tailwind\.css['"]/.test(content)) {
154
- return;
155
- }
156
- const updatedContent = importStatement + content;
157
- try {
158
- await fs.writeFile(entryPath, updatedContent, { encoding: 'utf-8' });
159
- }
160
- catch {
161
- throw new error_1.GeneratorError({
162
- type: error_1.GeneratorErrorType.emitFile,
163
- targetFile: entryPath,
164
- message: importStatement,
165
- });
166
- }
167
- }
168
- exports.injectTailwindCSSToEntry = injectTailwindCSSToEntry;
169
- //# sourceMappingURL=emit.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"emit.js","sourceRoot":"","sources":["../../../src/generators/tailwindcss/emit.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- import type { IPluginContext } from '@tarojs/service';
2
- export declare function tailwindcssGenerator(ctx: IPluginContext): Promise<void>;
@@ -1,54 +0,0 @@
1
- "use strict";
2
- /* eslint-disable no-console */
3
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
4
- if (k2 === undefined) k2 = k;
5
- var desc = Object.getOwnPropertyDescriptor(m, k);
6
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
7
- desc = { enumerable: true, get: function() { return m[k]; } };
8
- }
9
- Object.defineProperty(o, k2, desc);
10
- }) : (function(o, m, k, k2) {
11
- if (k2 === undefined) k2 = k;
12
- o[k2] = m[k];
13
- }));
14
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
15
- Object.defineProperty(o, "default", { enumerable: true, value: v });
16
- }) : function(o, v) {
17
- o["default"] = v;
18
- });
19
- var __importStar = (this && this.__importStar) || function (mod) {
20
- if (mod && mod.__esModule) return mod;
21
- var result = {};
22
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
23
- __setModuleDefault(result, mod);
24
- return result;
25
- };
26
- Object.defineProperty(exports, "__esModule", { value: true });
27
- exports.tailwindcssGenerator = void 0;
28
- const inquirer = __importStar(require("inquirer"));
29
- const utils_1 = require("../../utils");
30
- const config_1 = require("./config");
31
- const deps_1 = require("./deps");
32
- const emit_1 = require("./emit");
33
- async function tailwindcssGenerator(ctx) {
34
- const answer = await inquirer.prompt({
35
- type: 'list',
36
- name: 'version',
37
- message: '请选择 Tailwind CSS 版本',
38
- choices: [
39
- { name: '3.x', value: '3x' },
40
- { name: '4.x', value: '4x' },
41
- ],
42
- });
43
- const tailwindcssVersion = answer.version;
44
- const compilerType = (0, utils_1.getCompilerType)(ctx.initialConfig.compiler);
45
- if (!compilerType) {
46
- throw new Error('未找到编译器类型');
47
- }
48
- await (0, config_1.updateConfig)({ ctx, compilerType });
49
- await (0, emit_1.emit)(ctx);
50
- await (0, deps_1.updateDeps)({ ctx, tailwindcssVersion });
51
- console.log('✅ 启用「Tailwind CSS」成功');
52
- }
53
- exports.tailwindcssGenerator = tailwindcssGenerator;
54
- //# sourceMappingURL=index.js.map