@spcsn/taro-cli 0.1.6 → 1.0.0

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 (188) hide show
  1. package/README.md +10 -7
  2. package/define-config.d.ts +1 -0
  3. package/define-config.js +1 -0
  4. package/dist/cli.js +140 -110
  5. package/dist/cli.js.map +1 -1
  6. package/dist/commands/{customCommand.d.ts → custom-command.d.ts} +1 -1
  7. package/dist/commands/custom-command.js +23 -0
  8. package/dist/commands/custom-command.js.map +1 -0
  9. package/dist/create/creator.js +2 -0
  10. package/dist/create/creator.js.map +1 -1
  11. package/dist/create/{fetchTemplate.js → fetch-template.js} +26 -33
  12. package/dist/create/fetch-template.js.map +1 -0
  13. package/dist/create/project.d.ts +2 -6
  14. package/dist/create/project.js +240 -285
  15. package/dist/create/project.js.map +1 -1
  16. package/dist/create/template-creator.d.ts +75 -0
  17. package/dist/create/template-creator.js +275 -0
  18. package/dist/create/template-creator.js.map +1 -0
  19. package/dist/doctor/validators.d.ts +7 -6
  20. package/dist/doctor/validators.js +6 -7
  21. package/dist/doctor/validators.js.map +1 -1
  22. package/dist/platform-weapp/apis-list.d.ts +1 -0
  23. package/dist/platform-weapp/apis-list.js +37 -0
  24. package/dist/platform-weapp/apis-list.js.map +1 -0
  25. package/dist/platform-weapp/apis.d.ts +16 -0
  26. package/dist/platform-weapp/apis.js +34 -0
  27. package/dist/platform-weapp/apis.js.map +1 -0
  28. package/dist/platform-weapp/components-react.d.ts +80 -0
  29. package/dist/platform-weapp/components-react.js +86 -0
  30. package/dist/platform-weapp/components-react.js.map +1 -0
  31. package/dist/platform-weapp/components.d.ts +4 -0
  32. package/dist/platform-weapp/components.js +520 -0
  33. package/dist/platform-weapp/components.js.map +1 -0
  34. package/dist/platform-weapp/index.d.ts +11 -0
  35. package/dist/platform-weapp/index.js +17 -0
  36. package/dist/platform-weapp/index.js.map +1 -0
  37. package/dist/platform-weapp/program.d.ts +35 -0
  38. package/dist/platform-weapp/program.js +64 -0
  39. package/dist/platform-weapp/program.js.map +1 -0
  40. package/dist/platform-weapp/runtime-utils.d.ts +27 -0
  41. package/dist/platform-weapp/runtime-utils.js +48 -0
  42. package/dist/platform-weapp/runtime-utils.js.map +1 -0
  43. package/dist/platform-weapp/runtime.d.ts +1 -0
  44. package/dist/platform-weapp/runtime.js +7 -0
  45. package/dist/platform-weapp/runtime.js.map +1 -0
  46. package/dist/platform-weapp/template.d.ts +39 -0
  47. package/dist/platform-weapp/template.js +119 -0
  48. package/dist/platform-weapp/template.js.map +1 -0
  49. package/dist/presets/commands/build.js +25 -45
  50. package/dist/presets/commands/build.js.map +1 -1
  51. package/dist/presets/commands/init.js +2 -4
  52. package/dist/presets/commands/init.js.map +1 -1
  53. package/dist/presets/constant/hooks.d.ts +0 -2
  54. package/dist/presets/constant/hooks.js +1 -3
  55. package/dist/presets/constant/hooks.js.map +1 -1
  56. package/dist/presets/files/generate-framework-info.js +68 -0
  57. package/dist/presets/files/generate-framework-info.js.map +1 -0
  58. package/dist/presets/files/{generateProjectConfig.js → generate-project-config.js} +1 -1
  59. package/dist/presets/files/generate-project-config.js.map +1 -0
  60. package/dist/presets/files/{writeFileToDist.js → write-file-to-dist.js} +1 -1
  61. package/dist/presets/files/write-file-to-dist.js.map +1 -0
  62. package/dist/presets/hooks/build.js +1 -3
  63. package/dist/presets/hooks/build.js.map +1 -1
  64. package/dist/presets/index.js +3 -5
  65. package/dist/presets/index.js.map +1 -1
  66. package/dist/util/{appConfig.d.ts → app-config.d.ts} +2 -2
  67. package/dist/util/{appConfig.js → app-config.js} +4 -3
  68. package/dist/util/app-config.js.map +1 -0
  69. package/dist/util/defineConfig.d.ts +5 -5
  70. package/dist/util/defineConfig.js.map +1 -1
  71. package/dist/util/index.d.ts +9 -1
  72. package/dist/util/index.js +54 -23
  73. package/dist/util/index.js.map +1 -1
  74. package/package.json +36 -39
  75. package/postinstall.js +1 -17
  76. package/src/cli.ts +185 -132
  77. package/src/commands/custom-command.ts +22 -0
  78. package/src/create/{fetchTemplate.ts → fetch-template.ts} +30 -35
  79. package/src/create/project.ts +31 -78
  80. package/src/create/template-creator.ts +325 -0
  81. package/src/doctor/validators.js +1 -0
  82. package/src/doctor/validators.ts +8 -6
  83. package/src/platform-weapp/apis-list.ts +33 -0
  84. package/src/platform-weapp/apis.ts +48 -0
  85. package/src/platform-weapp/components-react.ts +81 -0
  86. package/src/platform-weapp/components.ts +521 -0
  87. package/src/platform-weapp/index.ts +25 -0
  88. package/src/platform-weapp/program.ts +70 -0
  89. package/src/platform-weapp/runtime-utils.ts +57 -0
  90. package/src/platform-weapp/runtime.ts +6 -0
  91. package/src/platform-weapp/template.ts +150 -0
  92. package/src/presets/commands/build.ts +20 -40
  93. package/src/presets/commands/init.ts +1 -4
  94. package/src/presets/constant/hooks.js +12 -0
  95. package/src/presets/constant/hooks.ts +0 -2
  96. package/src/presets/files/{generateFrameworkInfo.ts → generate-framework-info.ts} +7 -1
  97. package/src/presets/hooks/build.ts +1 -3
  98. package/src/presets/index.ts +3 -5
  99. package/src/util/app-config.js +1 -0
  100. package/src/util/{appConfig.ts → app-config.ts} +5 -4
  101. package/src/util/defineConfig.ts +6 -6
  102. package/src/util/index.ts +67 -25
  103. package/templates/default/config/dev.js +1 -1
  104. package/templates/default/config/index.js +28 -40
  105. package/templates/default/config/prod.js +1 -1
  106. package/templates/default/package.json.tmpl +2 -17
  107. package/templates/default/types/global.d.ts +0 -4
  108. package/templates/plugin-compile/README.md +3 -1
  109. package/templates/plugin-compile/package.json.tmpl +1 -2
  110. package/templates/plugin-compile/src/index.ts +18 -28
  111. package/LICENSE +0 -174
  112. package/dist/commands/customCommand.js +0 -23
  113. package/dist/commands/customCommand.js.map +0 -1
  114. package/dist/config/packagesManagement.d.ts +0 -19
  115. package/dist/config/packagesManagement.js +0 -22
  116. package/dist/config/packagesManagement.js.map +0 -1
  117. package/dist/create/fetchTemplate.js.map +0 -1
  118. package/dist/create/page.d.ts +0 -65
  119. package/dist/create/page.js +0 -266
  120. package/dist/create/page.js.map +0 -1
  121. package/dist/create/plugin.d.ts +0 -16
  122. package/dist/create/plugin.js +0 -77
  123. package/dist/create/plugin.js.map +0 -1
  124. package/dist/presets/commands/config.js +0 -121
  125. package/dist/presets/commands/config.js.map +0 -1
  126. package/dist/presets/commands/create.js +0 -112
  127. package/dist/presets/commands/create.js.map +0 -1
  128. package/dist/presets/commands/doctor.js +0 -15
  129. package/dist/presets/commands/doctor.js.map +0 -1
  130. package/dist/presets/commands/global-config.d.ts +0 -3
  131. package/dist/presets/commands/global-config.js +0 -175
  132. package/dist/presets/commands/global-config.js.map +0 -1
  133. package/dist/presets/commands/help.d.ts +0 -3
  134. package/dist/presets/commands/help.js +0 -16
  135. package/dist/presets/commands/help.js.map +0 -1
  136. package/dist/presets/commands/info.d.ts +0 -3
  137. package/dist/presets/commands/info.js +0 -96
  138. package/dist/presets/commands/info.js.map +0 -1
  139. package/dist/presets/commands/inspect.d.ts +0 -3
  140. package/dist/presets/commands/inspect.js +0 -155
  141. package/dist/presets/commands/inspect.js.map +0 -1
  142. package/dist/presets/commands/update.d.ts +0 -3
  143. package/dist/presets/commands/update.js +0 -187
  144. package/dist/presets/commands/update.js.map +0 -1
  145. package/dist/presets/files/generateFrameworkInfo.d.ts +0 -3
  146. package/dist/presets/files/generateFrameworkInfo.js +0 -30
  147. package/dist/presets/files/generateFrameworkInfo.js.map +0 -1
  148. package/dist/presets/files/generateProjectConfig.d.ts +0 -3
  149. package/dist/presets/files/generateProjectConfig.js.map +0 -1
  150. package/dist/presets/files/writeFileToDist.d.ts +0 -3
  151. package/dist/presets/files/writeFileToDist.js.map +0 -1
  152. package/dist/presets/hooks/create.d.ts +0 -3
  153. package/dist/presets/hooks/create.js +0 -42
  154. package/dist/presets/hooks/create.js.map +0 -1
  155. package/dist/presets/platforms/plugin.d.ts +0 -3
  156. package/dist/presets/platforms/plugin.js +0 -106
  157. package/dist/presets/platforms/plugin.js.map +0 -1
  158. package/dist/presets/platforms/rn.d.ts +0 -3
  159. package/dist/presets/platforms/rn.js +0 -130
  160. package/dist/presets/platforms/rn.js.map +0 -1
  161. package/dist/util/appConfig.js.map +0 -1
  162. package/dist/util/createPage.d.ts +0 -9
  163. package/dist/util/createPage.js +0 -114
  164. package/dist/util/createPage.js.map +0 -1
  165. package/src/commands/customCommand.ts +0 -22
  166. package/src/config/packagesManagement.ts +0 -20
  167. package/src/config/rn-stylelint.json +0 -4
  168. package/src/create/page.ts +0 -325
  169. package/src/create/plugin.ts +0 -55
  170. package/src/presets/commands/config.ts +0 -86
  171. package/src/presets/commands/create.ts +0 -104
  172. package/src/presets/commands/doctor.ts +0 -21
  173. package/src/presets/commands/global-config.ts +0 -140
  174. package/src/presets/commands/help.ts +0 -17
  175. package/src/presets/commands/info.ts +0 -81
  176. package/src/presets/commands/inspect.ts +0 -137
  177. package/src/presets/commands/update.ts +0 -175
  178. package/src/presets/hooks/create.ts +0 -9
  179. package/src/presets/platforms/plugin.ts +0 -75
  180. package/src/presets/platforms/rn.ts +0 -125
  181. package/src/util/createPage.ts +0 -139
  182. package/templates/default/babel.config.js +0 -14
  183. /package/dist/create/{fetchTemplate.d.ts → fetch-template.d.ts} +0 -0
  184. /package/dist/presets/{commands/config.d.ts → files/generate-framework-info.d.ts} +0 -0
  185. /package/dist/presets/{commands/create.d.ts → files/generate-project-config.d.ts} +0 -0
  186. /package/dist/presets/{commands/doctor.d.ts → files/write-file-to-dist.d.ts} +0 -0
  187. /package/src/presets/files/{generateProjectConfig.ts → generate-project-config.ts} +0 -0
  188. /package/src/presets/files/{writeFileToDist.ts → write-file-to-dist.ts} +0 -0
@@ -1,75 +0,0 @@
1
- import * as path from 'node:path';
2
-
3
- import { fs } from '@spcsn/taro-helper';
4
- import { getPlatformType } from '@spcsn/taro-shared';
5
-
6
- import type { IPluginContext } from '@spcsn/taro-service';
7
-
8
- const configName = 'mini';
9
- export default (ctx: IPluginContext) => {
10
- ctx.registerPlatform({
11
- name: 'plugin',
12
- useConfigName: configName,
13
- async fn({ config }) {
14
- const { options, _ } = ctx.runOpts;
15
- const { chalk, PLATFORMS } = ctx.helper;
16
- const { WEAPP } = PLATFORMS;
17
- const typeMap = {
18
- [WEAPP]: '微信',
19
- };
20
- const { plugin, isWatch } = options;
21
- if (plugin !== WEAPP) {
22
- console.log(chalk.red('当前 Fork 仅支持微信小程序插件编译!'));
23
- return;
24
- }
25
- console.log(chalk.green(`开始编译${typeMap[plugin]}小程序插件`));
26
- async function buildPlugin(platform) {
27
- process.env.TARO_ENV = platform;
28
- process.env.TARO_PLATFORM = getPlatformType(platform, configName);
29
- await ctx.applyPlugins({
30
- name: 'build',
31
- opts: {
32
- config: {
33
- ...config,
34
- isBuildPlugin: true,
35
- isWatch,
36
- outputRoot: `${config.outputRoot}/plugin`,
37
- platform,
38
- },
39
- options: Object.assign({}, options, {
40
- platform,
41
- }),
42
- _,
43
- },
44
- });
45
- await ctx.applyPlugins({
46
- name: 'build',
47
- opts: {
48
- config: {
49
- ...config,
50
- isBuildPlugin: false,
51
- isWatch,
52
- outputRoot: `${config.outputRoot}/miniprogram`,
53
- platform,
54
- output: { ...(config.output || {}), clean: false },
55
- },
56
- options: Object.assign({}, options, {
57
- platform,
58
- }),
59
- _,
60
- },
61
- });
62
- }
63
-
64
- await buildPlugin(plugin);
65
-
66
- try {
67
- const docSrcPath = path.join(process.cwd(), 'src/plugin/doc');
68
- const docDestPath = path.join(process.cwd(), 'miniprogram/doc');
69
- fs.copy(docSrcPath, docDestPath);
70
- } catch (err) {
71
- console.error('[@spcsn/taro-cli] build plugin doc failed: ', err);
72
- }
73
- },
74
- });
75
- };
@@ -1,125 +0,0 @@
1
- import * as fs from 'node:fs';
2
- import * as os from 'node:os';
3
- import * as path from 'node:path';
4
-
5
- import { chalk } from '@spcsn/taro-helper';
6
- import * as child_process from 'child_process';
7
-
8
- import { printDevelopmentTip } from '../../util';
9
-
10
- import type { IPluginContext } from '@spcsn/taro-service';
11
-
12
- function checkReactNativeDependencies(packageInfo): boolean {
13
- const packageNames = ['react', 'react-native', '@spcsn/taro-rn', '@spcsn/taro-rn-runner'];
14
- const { dependencies, devDependencies } = packageInfo;
15
- for (let i = 0; i < packageNames.length; i++) {
16
- if (!dependencies[packageNames[i]] && !devDependencies[packageNames[i]]) {
17
- return false;
18
- }
19
- }
20
- return true;
21
- }
22
-
23
- function makeSureReactNativeInstalled(workspaceRoot: string): Promise<void> {
24
- return new Promise<void>((resolve, reject) => {
25
- const packageInfo = JSON.parse(
26
- fs.readFileSync(path.join(workspaceRoot, 'package.json'), {
27
- encoding: 'utf8',
28
- }),
29
- );
30
-
31
- if (checkReactNativeDependencies(packageInfo)) {
32
- resolve();
33
- } else {
34
- // 便于开发时切换版本
35
- const devTag = process.env.DEVTAG || '';
36
- console.log('Installing React-Native related packages:');
37
- let packages = `react@^18.2.0 react-dom@^18.2.0 react-native@^0.73.1 @react-native/metro-config@^0.73.2 expo@~50.0.2 @spcsn/taro-rn${devTag} @spcsn/taro-components-rn${devTag} @spcsn/taro-rn-runner${devTag} @spcsn/taro-rn-supporter${devTag} @spcsn/taro-runtime-rn${devTag}`;
38
- console.log(packages);
39
- // windows下不加引号的话,package.json中添加的依赖不会自动带上^
40
- packages = packages
41
- .split(' ')
42
- .map((str) => `"${str}"`)
43
- .join(' ');
44
- let installCmd = `npm install ${packages} --save`;
45
- if (fs.existsSync(path.join(workspaceRoot, 'yarn.lock'))) {
46
- installCmd = `yarn add ${packages} --force`;
47
- }
48
- if (fs.existsSync(path.join(workspaceRoot, 'pnpm-lock.yaml'))) {
49
- installCmd = `pnpm add ${packages}`;
50
- }
51
- child_process.exec(installCmd, (error) => {
52
- if (error) {
53
- reject(error);
54
- return;
55
- }
56
- console.log(chalk.green(`React-Native related packages have been installed successfully.${os.EOL}${os.EOL}`));
57
- console.log(
58
- `${chalk.yellow('ATTEHNTION')}: Package.json has been modified automatically, please submit it by yourself.${os.EOL}${os.EOL}`,
59
- );
60
- resolve();
61
- });
62
- }
63
- });
64
- }
65
-
66
- export default (ctx: IPluginContext) => {
67
- ctx.registerPlatform({
68
- name: 'rn',
69
- useConfigName: 'rn',
70
- async fn({ config }) {
71
- const { appPath, nodeModulesPath } = ctx.paths;
72
- const { npm } = ctx.helper;
73
- const {
74
- deviceType = 'android',
75
- port,
76
- resetCache,
77
- publicPath,
78
- bundleOutput,
79
- sourcemapOutput,
80
- sourceMapUrl,
81
- sourcemapSourcesRoot,
82
- assetsDest,
83
- qr,
84
- } = ctx.runOpts.options;
85
-
86
- printDevelopmentTip('rn');
87
-
88
- // 准备 rnRunner 参数
89
- const rnRunnerOpts = {
90
- ...config,
91
- nodeModulesPath,
92
- deviceType,
93
- port,
94
- qr,
95
- resetCache,
96
- publicPath,
97
- bundleOutput,
98
- sourcemapOutput,
99
- sourceMapUrl,
100
- sourcemapSourcesRoot,
101
- assetsDest,
102
- buildAdapter: config.platform,
103
- };
104
-
105
- if (!rnRunnerOpts.entry) {
106
- rnRunnerOpts.entry = 'app';
107
- }
108
-
109
- makeSureReactNativeInstalled(appPath).then(
110
- async () => {
111
- // build with metro
112
- const rnRunner = await npm.getNpmPkg('@spcsn/taro-rn-runner', appPath);
113
- await rnRunner(appPath, rnRunnerOpts);
114
- },
115
- (error) => {
116
- console.log(chalk.red('Error when detecting React-Native packages:'));
117
- console.log(error);
118
- console.log(
119
- `${chalk.greenBright('TIP')}: 1) Try to remove React-Native dependencies in package.json and shoot again; 2) Install the packages above manually.`,
120
- );
121
- },
122
- );
123
- },
124
- });
125
- };
@@ -1,139 +0,0 @@
1
- import { babelKit } from '@spcsn/taro-helper';
2
-
3
- import { ConfigModificationState, ModifyCallback } from '../create/page';
4
-
5
- import type { ArrayExpression, ExportDefaultDeclaration, ObjectExpression, ObjectProperty } from '@babel/types';
6
- import type { NodePath } from 'babel__traverse';
7
-
8
- const t = babelKit.types;
9
-
10
- const generateNewSubPackageItem = (subPackage: string) => {
11
- const pageObject = t.objectProperty(t.identifier('pages'), t.arrayExpression([]));
12
- const subPkgRootObject = t.objectProperty(t.identifier('root'), t.stringLiteral(subPackage));
13
- const subPkgItemObject = t.objectExpression([subPkgRootObject, pageObject]);
14
- return subPkgItemObject;
15
- };
16
-
17
- const isValidSubPkgObject = (subPkgObject: ObjectExpression) => {
18
- const properties = subPkgObject?.properties || {};
19
- const rootProperty = properties.find(
20
- (property) => (property as ObjectProperty).key && ((property as ObjectProperty).key as any)?.name === 'root',
21
- ) as ObjectProperty;
22
- const pagesProperty = properties.find(
23
- (property) => (property as ObjectProperty).key && ((property as ObjectProperty).key as any)?.name === 'pages',
24
- ) as ObjectProperty;
25
- const rootPropertyValueType = rootProperty?.value?.type;
26
- const pagesPropertyValueType = pagesProperty?.value?.type;
27
- return rootPropertyValueType === 'StringLiteral' && pagesPropertyValueType === 'ArrayExpression';
28
- };
29
-
30
- const addNewSubPackage = (node: ObjectExpression, page: string, subPackage: string): ConfigModificationState => {
31
- let subPackages = node?.properties.find((node) => (node as any).key.name === 'subPackages') as ObjectProperty;
32
- if (!subPackages) {
33
- // config 文件不存在 subPackages 字段的情况,给该字段赋予默认值
34
- const subPkgObject = t.objectProperty(t.identifier('subPackages'), t.arrayExpression([]));
35
- subPackages = subPkgObject;
36
- node?.properties.push(subPkgObject);
37
- }
38
- const value = subPackages?.value;
39
-
40
- // 文件格式不对的情况
41
- if (!value || value?.type !== 'ArrayExpression') return ConfigModificationState.Fail;
42
- let targetSubPkgObject: ObjectExpression = value.elements.find((node) =>
43
- (node as any)?.properties?.find((property) => (property as any)?.value?.value === subPackage),
44
- ) as ObjectExpression;
45
-
46
- if (!targetSubPkgObject) {
47
- // 不存在 当前分包配置对象的情况
48
- const subPkgItemObject = generateNewSubPackageItem(subPackage);
49
- targetSubPkgObject = subPkgItemObject;
50
- value.elements.push(subPkgItemObject);
51
- }
52
-
53
- if (targetSubPkgObject.type !== 'ObjectExpression' || !isValidSubPkgObject(targetSubPkgObject))
54
- return ConfigModificationState.Fail;
55
- const pagesProperty: ObjectProperty = targetSubPkgObject.properties.find(
56
- (property) => (property as ObjectProperty).key && ((property as ObjectProperty).key as any)?.name === 'pages',
57
- ) as ObjectProperty;
58
- const currentPages = (pagesProperty.value as ArrayExpression).elements;
59
- const isPageExists = Boolean(currentPages.find((node) => (node as any).value === page));
60
-
61
- if (isPageExists) return ConfigModificationState.NeedLess;
62
-
63
- currentPages.push(t.stringLiteral(page));
64
- return ConfigModificationState.Success;
65
- };
66
-
67
- const addNewPage = (node: ObjectExpression, page: string): ConfigModificationState => {
68
- const pages = node?.properties.find((node) => (node as any).key.name === 'pages') as ObjectProperty;
69
- if (!pages) return ConfigModificationState.Fail;
70
-
71
- const value = pages?.value;
72
- // 仅处理 pages 为数组字面量的情形
73
- if (!value || value?.type !== 'ArrayExpression') return ConfigModificationState.Fail;
74
-
75
- const isPageExists = Boolean(value.elements.find((node) => (node as any).value === page));
76
- if (isPageExists) return ConfigModificationState.NeedLess;
77
-
78
- const newArrayElement = t.stringLiteral(page);
79
- value.elements.push(newArrayElement);
80
-
81
- return ConfigModificationState.Success;
82
- };
83
-
84
- const modifyPages = (path: NodePath<ExportDefaultDeclaration>, newPageConfig, callback: ModifyCallback) => {
85
- let state = ConfigModificationState.Fail;
86
- const node = path.node.declaration as any;
87
- // Case 1. `export default defineAppConfig({})` 这种情况
88
- if (node.type === 'CallExpression' && node.callee.name === 'defineAppConfig') {
89
- const configNode = node.arguments[0];
90
- state = addNewPage(configNode, newPageConfig.page);
91
- }
92
- // Case 2. `export default {}` 这种情况
93
- if (node.type === 'ObjectExpression') {
94
- state = addNewPage(node, newPageConfig.page);
95
- }
96
- callback(state);
97
- };
98
-
99
- const modifySubPackages = (path: NodePath<ExportDefaultDeclaration>, newPageConfig, callback: ModifyCallback) => {
100
- let state = ConfigModificationState.Fail;
101
- const node = path.node.declaration as any;
102
- // `export default defineAppConfig({})` 这种情况
103
- if (node.type === 'CallExpression' && node.callee.name === 'defineAppConfig') {
104
- const configNode = node.arguments[0];
105
- state = addNewSubPackage(configNode, newPageConfig.page, newPageConfig.pkg);
106
- }
107
- // `export default {}` 这种情况
108
- if (node.type === 'ObjectExpression') {
109
- state = addNewSubPackage(node, newPageConfig.page, newPageConfig.pkg);
110
- }
111
- callback(state);
112
- };
113
-
114
- const generateNewPageConfig = (fullPagePath: string, subPkgRootPath = '') => {
115
- const newPageConfig = {
116
- pkg: '',
117
- page: '',
118
- };
119
- if (subPkgRootPath) {
120
- const processedSubPkg = `${subPkgRootPath}/`;
121
- newPageConfig.pkg = processedSubPkg;
122
- newPageConfig.page = fullPagePath.split(processedSubPkg)[1];
123
- } else {
124
- newPageConfig.page = fullPagePath;
125
- }
126
-
127
- return newPageConfig;
128
- };
129
-
130
- export const modifyPagesOrSubPackages = (params: {
131
- path: NodePath<ExportDefaultDeclaration>;
132
- fullPagePath: string;
133
- subPkgRootPath?: string;
134
- callback: ModifyCallback;
135
- }) => {
136
- const { fullPagePath, subPkgRootPath, callback, path } = params;
137
- const newPageConfig = generateNewPageConfig(fullPagePath, subPkgRootPath);
138
- subPkgRootPath ? modifySubPackages(path, newPageConfig, callback) : modifyPages(path, newPageConfig, callback);
139
- };
@@ -1,14 +0,0 @@
1
- // babel-preset-taro 更多选项和默认值:
2
- // https://docs.taro.zone/docs/next/babel-config
3
- module.exports = {
4
- presets: [
5
- ['taro', {
6
- framework: '{{ to_lower_case framework }}',
7
- ts: {{ typescript }},
8
- compiler: '{{ to_lower_case compiler }}',
9
- {{#if buildEs5 }}
10
- useBuiltIns: process.env.TARO_ENV === 'h5' ? 'usage' : false
11
- {{/if}}
12
- }]
13
- ]
14
- }