@modern-js/module-tools 2.35.0 → 2.36.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 (227) hide show
  1. package/compiled/postcss-nesting/index.js +2 -2
  2. package/compiled/postcss-nesting/package.json +1 -1
  3. package/dist/build.js +43 -16
  4. package/dist/builder/build.d.ts +1 -10
  5. package/dist/builder/build.js +96 -208
  6. package/dist/builder/clear.d.ts +1 -4
  7. package/dist/builder/clear.js +32 -28
  8. package/dist/builder/copy.js +79 -64
  9. package/dist/builder/dts/index.js +27 -19
  10. package/dist/builder/dts/rollup.d.ts +6 -14
  11. package/dist/builder/dts/rollup.js +60 -37
  12. package/dist/builder/dts/tsc.d.ts +3 -2
  13. package/dist/builder/dts/tsc.js +50 -37
  14. package/dist/builder/esbuild/adapter.d.ts +3 -0
  15. package/dist/builder/esbuild/adapter.js +275 -0
  16. package/dist/builder/esbuild/hook.d.ts +4 -0
  17. package/dist/builder/esbuild/hook.js +103 -0
  18. package/dist/builder/esbuild/index.d.ts +35 -0
  19. package/dist/builder/esbuild/index.js +268 -0
  20. package/dist/builder/esbuild/resolve.d.ts +17 -0
  21. package/dist/builder/esbuild/resolve.js +125 -0
  22. package/dist/builder/esbuild/sourcemap.d.ts +16 -0
  23. package/dist/builder/esbuild/sourcemap.js +86 -0
  24. package/dist/builder/esbuild/transform.d.ts +7 -0
  25. package/dist/builder/esbuild/transform.js +45 -0
  26. package/dist/builder/esbuild/watch.d.ts +2 -0
  27. package/dist/builder/esbuild/watch.js +115 -0
  28. package/dist/builder/esbuild/write-file.d.ts +2 -0
  29. package/dist/builder/esbuild/write-file.js +89 -0
  30. package/dist/builder/feature/asset.d.ts +19 -0
  31. package/dist/builder/feature/asset.js +149 -0
  32. package/dist/builder/feature/format-cjs.d.ts +5 -0
  33. package/dist/builder/feature/format-cjs.js +53 -0
  34. package/dist/builder/feature/index.d.ts +2 -0
  35. package/dist/builder/feature/index.js +74 -0
  36. package/dist/builder/feature/json.d.ts +5 -0
  37. package/dist/builder/feature/json.js +47 -0
  38. package/dist/builder/feature/redirect.d.ts +5 -0
  39. package/dist/builder/feature/redirect.js +217 -0
  40. package/dist/builder/feature/style/index.d.ts +5 -0
  41. package/dist/builder/feature/style/index.js +94 -0
  42. package/dist/builder/feature/style/lessAliasPlugin.d.ts +12 -0
  43. package/dist/builder/feature/style/lessAliasPlugin.js +70 -0
  44. package/dist/builder/feature/style/lessRender.d.ts +2 -0
  45. package/dist/builder/feature/style/lessRender.js +64 -0
  46. package/dist/builder/feature/style/postcssTransformer.d.ts +6 -0
  47. package/dist/builder/feature/style/postcssTransformer.js +95 -0
  48. package/dist/builder/feature/style/postcssUrlPlugin.d.ts +6 -0
  49. package/dist/builder/feature/style/postcssUrlPlugin.js +58 -0
  50. package/dist/builder/feature/style/sassRender.d.ts +2 -0
  51. package/dist/builder/feature/style/sassRender.js +85 -0
  52. package/dist/builder/feature/style/transformStyle.d.ts +13 -0
  53. package/dist/builder/feature/style/transformStyle.js +101 -0
  54. package/dist/builder/feature/style/utils.d.ts +18 -0
  55. package/dist/builder/feature/style/utils.js +124 -0
  56. package/dist/builder/feature/swc.d.ts +9 -0
  57. package/dist/builder/feature/swc.js +170 -0
  58. package/dist/builder/feature/terser.d.ts +5 -0
  59. package/dist/builder/feature/terser.js +83 -0
  60. package/dist/builder/index.d.ts +1 -0
  61. package/dist/builder/index.js +59 -28
  62. package/dist/builder/platform.js +38 -23
  63. package/dist/cli.js +58 -29
  64. package/dist/command.js +62 -38
  65. package/dist/config/defineConfig.js +25 -17
  66. package/dist/config/legacySchema.js +35 -32
  67. package/dist/config/merge.d.ts +1 -0
  68. package/dist/config/merge.js +69 -36
  69. package/dist/config/normalize.d.ts +1 -0
  70. package/dist/config/normalize.js +63 -46
  71. package/dist/config/schema.d.ts +48 -0
  72. package/dist/config/schema.js +53 -34
  73. package/dist/config/transformLegacyConfig.js +67 -61
  74. package/dist/config/valid.d.ts +2 -2
  75. package/dist/config/valid.js +44 -21
  76. package/dist/constants/build.d.ts +5 -1
  77. package/dist/constants/build.js +88 -46
  78. package/dist/constants/color.js +27 -20
  79. package/dist/constants/dts.js +27 -20
  80. package/dist/constants/file.d.ts +2 -2
  81. package/dist/constants/file.js +48 -25
  82. package/dist/constants/legacy-preset.js +45 -32
  83. package/dist/constants/loader.d.ts +2 -0
  84. package/dist/constants/loader.js +53 -0
  85. package/dist/constants/log.d.ts +0 -8
  86. package/dist/constants/log.js +27 -41
  87. package/dist/constants/preset.js +55 -62
  88. package/dist/debug.d.ts +4 -0
  89. package/dist/debug.js +37 -0
  90. package/dist/dev.js +42 -25
  91. package/dist/error.js +49 -42
  92. package/dist/hooks/build.d.ts +1 -2
  93. package/dist/hooks/build.js +36 -28
  94. package/dist/hooks/dev.js +32 -17
  95. package/dist/hooks/index.d.ts +1 -1
  96. package/dist/hooks/index.js +31 -16
  97. package/dist/hooks/misc.d.ts +5 -2
  98. package/dist/hooks/misc.js +31 -12
  99. package/dist/index.d.ts +2 -1
  100. package/dist/index.js +39 -32
  101. package/dist/locale/en.js +32 -17
  102. package/dist/locale/index.d.ts +2 -1
  103. package/dist/locale/index.js +31 -24
  104. package/dist/locale/zh.js +32 -17
  105. package/dist/plugins.js +28 -13
  106. package/dist/types/color.js +15 -5
  107. package/dist/types/command.d.ts +3 -3
  108. package/dist/types/command.js +15 -5
  109. package/dist/types/config/copy.js +15 -5
  110. package/dist/types/config/dev.js +15 -5
  111. package/dist/types/config/index.d.ts +87 -52
  112. package/dist/types/config/index.js +24 -6
  113. package/dist/types/config/style.d.ts +58 -6
  114. package/dist/types/config/style.js +15 -5
  115. package/dist/types/context.js +15 -5
  116. package/dist/types/dts.d.ts +14 -3
  117. package/dist/types/dts.js +15 -5
  118. package/dist/types/esbuild.d.ts +107 -0
  119. package/dist/types/esbuild.js +32 -0
  120. package/dist/types/hooks.js +15 -5
  121. package/dist/types/index.d.ts +1 -0
  122. package/dist/types/index.js +32 -11
  123. package/dist/types/legacyConfig/index.js +15 -5
  124. package/dist/types/legacyConfig/output.d.ts +4 -4
  125. package/dist/types/legacyConfig/output.js +15 -5
  126. package/dist/types/legacyConfig/source.js +15 -5
  127. package/dist/types/legacyConfig/tools.js +15 -5
  128. package/dist/utils/assert.d.ts +5 -0
  129. package/dist/utils/assert.js +50 -0
  130. package/dist/utils/builder.d.ts +10 -14
  131. package/dist/utils/builder.js +59 -59
  132. package/dist/utils/common.d.ts +1 -1
  133. package/dist/utils/common.js +25 -17
  134. package/dist/utils/dts.d.ts +26 -9
  135. package/dist/utils/dts.js +100 -66
  136. package/dist/utils/hash.d.ts +2 -0
  137. package/dist/utils/hash.js +31 -0
  138. package/dist/utils/index.d.ts +11 -0
  139. package/dist/utils/index.js +42 -0
  140. package/dist/utils/input.js +47 -24
  141. package/dist/utils/log.d.ts +1 -2
  142. package/dist/utils/log.js +36 -20
  143. package/dist/utils/map.d.ts +13 -0
  144. package/dist/utils/map.js +58 -0
  145. package/dist/utils/onExit.js +35 -11
  146. package/dist/utils/print.d.ts +2 -2
  147. package/dist/utils/print.js +52 -49
  148. package/dist/utils/style.d.ts +5 -23
  149. package/dist/utils/style.js +63 -43
  150. package/dist/utils/tspath.js +114 -0
  151. package/package.json +64 -50
  152. package/vitest.config.ts +20 -0
  153. package/dist/build.js.map +0 -1
  154. package/dist/builder/build.js.map +0 -1
  155. package/dist/builder/clear.js.map +0 -1
  156. package/dist/builder/copy.js.map +0 -1
  157. package/dist/builder/dts/index.js.map +0 -1
  158. package/dist/builder/dts/rollup.js.map +0 -1
  159. package/dist/builder/dts/tsc.js.map +0 -1
  160. package/dist/builder/index.js.map +0 -1
  161. package/dist/builder/platform.js.map +0 -1
  162. package/dist/cli.js.map +0 -1
  163. package/dist/command.js.map +0 -1
  164. package/dist/config/defineConfig.js.map +0 -1
  165. package/dist/config/legacySchema.js.map +0 -1
  166. package/dist/config/merge.js.map +0 -1
  167. package/dist/config/normalize.js.map +0 -1
  168. package/dist/config/schema.js.map +0 -1
  169. package/dist/config/transformLegacyConfig.js.map +0 -1
  170. package/dist/config/valid.js.map +0 -1
  171. package/dist/constants/build.js.map +0 -1
  172. package/dist/constants/color.js.map +0 -1
  173. package/dist/constants/dts.js.map +0 -1
  174. package/dist/constants/file.js.map +0 -1
  175. package/dist/constants/legacy-preset.js.map +0 -1
  176. package/dist/constants/log.js.map +0 -1
  177. package/dist/constants/preset.js.map +0 -1
  178. package/dist/dev.js.map +0 -1
  179. package/dist/error.js.map +0 -1
  180. package/dist/hooks/build.js.map +0 -1
  181. package/dist/hooks/dev.js.map +0 -1
  182. package/dist/hooks/index.js.map +0 -1
  183. package/dist/hooks/misc.js.map +0 -1
  184. package/dist/index.js.map +0 -1
  185. package/dist/locale/en.js.map +0 -1
  186. package/dist/locale/index.js.map +0 -1
  187. package/dist/locale/zh.js.map +0 -1
  188. package/dist/plugins.js.map +0 -1
  189. package/dist/types/color.js.map +0 -1
  190. package/dist/types/command.js.map +0 -1
  191. package/dist/types/config/copy.js.map +0 -1
  192. package/dist/types/config/dev.js.map +0 -1
  193. package/dist/types/config/index.js.map +0 -1
  194. package/dist/types/config/style.js.map +0 -1
  195. package/dist/types/context.js.map +0 -1
  196. package/dist/types/dts.js.map +0 -1
  197. package/dist/types/hooks.js.map +0 -1
  198. package/dist/types/index.js.map +0 -1
  199. package/dist/types/legacyConfig/index.js.map +0 -1
  200. package/dist/types/legacyConfig/output.js.map +0 -1
  201. package/dist/types/legacyConfig/source.js.map +0 -1
  202. package/dist/types/legacyConfig/tools.js.map +0 -1
  203. package/dist/types/utils.d.ts +0 -5
  204. package/dist/types/utils.js +0 -4
  205. package/dist/utils/builder.js.map +0 -1
  206. package/dist/utils/common.js.map +0 -1
  207. package/dist/utils/context.d.ts +0 -7
  208. package/dist/utils/context.js +0 -23
  209. package/dist/utils/context.js.map +0 -1
  210. package/dist/utils/dts.js.map +0 -1
  211. package/dist/utils/input.js.map +0 -1
  212. package/dist/utils/language.d.ts +0 -1
  213. package/dist/utils/language.js +0 -22
  214. package/dist/utils/language.js.map +0 -1
  215. package/dist/utils/libuild-plugin.d.ts +0 -3
  216. package/dist/utils/libuild-plugin.js +0 -31
  217. package/dist/utils/libuild-plugin.js.map +0 -1
  218. package/dist/utils/log.js.map +0 -1
  219. package/dist/utils/onExit.js.map +0 -1
  220. package/dist/utils/path.d.ts +0 -1
  221. package/dist/utils/path.js +0 -19
  222. package/dist/utils/path.js.map +0 -1
  223. package/dist/utils/print.js.map +0 -1
  224. package/dist/utils/style.js.map +0 -1
  225. package/dist/utils/tspathsTransform.js +0 -91
  226. package/dist/utils/tspathsTransform.js.map +0 -1
  227. /package/dist/utils/{tspathsTransform.d.ts → tspath.d.ts} +0 -0
@@ -1,21 +1,51 @@
1
- import type { UserConfig as LibuildUserConfig, Asset as LibuildAsset, Style as LibuildStyle } from '@modern-js/libuild';
2
- import type { Options } from '@modern-js/libuild-plugin-svgr';
3
- import type { ImportItem } from '@modern-js/libuild-plugin-swc';
4
- import type { ToolsConfig as WebpackBuilderToolsConfig } from '@modern-js/builder-webpack-provider';
1
+ import type { BuildOptions } from 'esbuild';
2
+ import type { ImportItem } from '@modern-js/swc-plugins';
3
+ import type { Config } from '@svgr/core';
4
+ import type { CreateFilter } from '@rollup/pluginutils';
5
+ import type { MinifyOptions as TerserMinifyOptions } from 'terser';
5
6
  import type { TestConfig } from '@modern-js/types';
6
7
  import { internalPreset, presetList } from '../../constants/preset';
8
+ import { ICompiler } from '../esbuild';
7
9
  import type { CopyConfig } from './copy';
8
- import type { LessConfig, SassConfig, PostCSSConfig, TailwindCSSConfig } from './style';
10
+ import type { Dev } from './dev';
11
+ import type { Style, StyleConfig } from './style';
9
12
  export * from './style';
13
+ export * from './dev';
14
+ export * from './copy';
15
+ export type HookList = {
16
+ name: string;
17
+ apply: (compiler: ICompiler) => void;
18
+ }[];
19
+ export type EsbuildOptions = (options: BuildOptions) => BuildOptions;
10
20
  export type BuildType = 'bundleless' | 'bundle';
11
- export type Format = 'esm' | 'cjs' | 'umd' | 'iife';
12
21
  export type Target = 'es5' | 'es6' | 'es2015' | 'es2016' | 'es2017' | 'es2018' | 'es2019' | 'es2020' | 'es2021' | 'es2022' | 'esnext';
13
- export type Input = Required<LibuildUserConfig>['input'];
22
+ export type Minify = 'esbuild' | 'terser' | false | TerserMinifyOptions;
23
+ export type Format = 'esm' | 'cjs' | 'umd' | 'iife';
24
+ export type Input = {
25
+ [name: string]: string;
26
+ } | string[];
27
+ export type Globals = Record<any, any>;
28
+ export type Define = Record<string, string>;
29
+ export type Externals = (string | RegExp)[];
30
+ export type Platform = 'node' | 'browser';
31
+ export type SideEffects = RegExp[] | boolean | ((id: string, external: boolean) => boolean);
32
+ /**
33
+ * @experimental
34
+ */
35
+ export type Redirect = {
36
+ alias?: boolean;
37
+ style?: boolean;
38
+ asset?: boolean;
39
+ };
14
40
  export type DTSOptions = {
15
41
  abortOnError: boolean;
16
42
  distPath: string;
17
- tsconfigPath: string;
18
43
  only: boolean;
44
+ /**
45
+ * @deprecated
46
+ * use buildConfig.tsconfig instead.
47
+ */
48
+ tsconfigPath?: string;
19
49
  /**
20
50
  * Only for rollup-plugin-dts, see more in https://github.com/Swatinem/rollup-plugin-dts#what-to-expect.
21
51
  * We hope you use external to prevent them(like @types) which come from node_modules from be bundled.
@@ -27,62 +57,88 @@ export type DTSOptions = {
27
57
  respectExternal: boolean;
28
58
  };
29
59
  export type DTS = false | Partial<DTSOptions>;
60
+ export interface SvgrOptions extends Config {
61
+ include?: Parameters<CreateFilter>[0];
62
+ exclude?: Parameters<CreateFilter>[1];
63
+ }
30
64
  export interface Asset {
31
- path?: LibuildAsset['outdir'];
32
- limit?: LibuildAsset['limit'];
33
- publicPath?: LibuildAsset['publicPath'];
34
- svgr?: boolean | Options;
65
+ path?: string;
66
+ limit?: number;
67
+ publicPath?: string | ((filePath: string) => string);
68
+ svgr?: boolean | SvgrOptions;
35
69
  }
36
- export type SourceMap = Required<LibuildUserConfig>['sourceMap'];
37
70
  export type AutoExternal = boolean | {
38
71
  dependencies?: boolean;
39
72
  peerDependencies?: boolean;
40
73
  };
41
- export type JSX = 'automatic' | 'transform';
74
+ export type JSX = 'automatic' | 'transform' | 'preserve';
42
75
  export type ExternalHelpers = boolean;
76
+ export type BannerAndFooter = {
77
+ js?: string;
78
+ css?: string;
79
+ dts?: string;
80
+ };
43
81
  export type AliasOption = Record<string, string> | ((aliases: Record<string, string>) => Record<string, string> | void);
44
- export type BaseBuildConfig = Omit<Required<PartialBaseBuildConfig>, 'dts' | 'style' | 'alias' | 'sideEffects'> & {
45
- sideEffects: LibuildUserConfig['sideEffects'];
82
+ export type Resolve = {
83
+ mainFields?: string[];
84
+ jsExtensions?: string[];
85
+ };
86
+ export type BaseBuildConfig = Omit<Required<PartialBaseBuildConfig>, 'dts' | 'style' | 'alias' | 'sideEffects' | 'asset' | 'resolve'> & {
87
+ sideEffects?: SideEffects;
46
88
  dts: false | DTSOptions;
47
- style: Omit<Required<LibuildStyle>, 'cleanCss'> & {
48
- tailwindcss: TailwindCSSConfig;
49
- };
89
+ style: Style;
50
90
  alias: Record<string, string>;
91
+ asset: Required<Asset>;
92
+ resolve: Required<Resolve>;
51
93
  };
52
94
  export type PartialBaseBuildConfig = {
53
- sourceType?: 'commonjs' | 'module';
95
+ resolve?: Resolve;
96
+ footer?: BannerAndFooter;
97
+ banner?: BannerAndFooter;
54
98
  buildType?: 'bundleless' | 'bundle';
55
99
  format?: Format;
56
100
  target?: Target;
57
101
  dts?: DTS;
58
- sourceMap?: SourceMap;
102
+ sourceMap?: boolean | 'inline' | 'external';
59
103
  sourceDir?: string;
60
104
  copy?: CopyConfig;
61
105
  asset?: Asset;
62
106
  jsx?: JSX;
63
107
  outDir?: string;
64
108
  alias?: AliasOption;
109
+ hooks?: HookList;
65
110
  input?: Input;
111
+ tsconfig?: string;
66
112
  metafile?: boolean;
67
- platform?: LibuildUserConfig['platform'];
68
- splitting?: LibuildUserConfig['splitting'];
69
- minify?: LibuildUserConfig['minify'];
70
- externals?: LibuildUserConfig['external'];
113
+ platform?: Platform;
114
+ splitting?: boolean;
115
+ minify?: Minify;
116
+ externals?: Externals;
71
117
  autoExternal?: AutoExternal;
72
- umdGlobals?: LibuildUserConfig['globals'];
118
+ umdGlobals?: Globals;
73
119
  umdModuleName?: ((chunkName: string) => string) | string | undefined;
74
- define?: LibuildUserConfig['define'];
120
+ define?: Define;
75
121
  style?: StyleConfig;
76
- redirect?: LibuildUserConfig['redirect'];
77
- sideEffects?: LibuildUserConfig['sideEffects'];
78
- esbuildOptions?: LibuildUserConfig['esbuildOptions'];
122
+ redirect?: Redirect;
123
+ sideEffects?: SideEffects;
124
+ esbuildOptions?: EsbuildOptions;
125
+ /**
126
+ * @internal
127
+ * cache transform result or not
128
+ */
129
+ transformCache?: boolean;
79
130
  externalHelpers?: ExternalHelpers;
80
131
  transformImport?: ImportItem[];
81
132
  transformLodash?: boolean;
82
133
  /**
83
- * internal configuration
134
+ * @deprecated
135
+ * @internal
84
136
  */
85
137
  disableSwcTransform?: boolean;
138
+ /**
139
+ * @deprecated
140
+ */
141
+ sourceType?: 'commonjs' | 'module';
86
142
  };
87
143
  export type BuildConfig = BaseBuildConfig | BaseBuildConfig[];
88
144
  export type PartialBuildConfig = PartialBaseBuildConfig | PartialBaseBuildConfig[];
@@ -90,27 +146,6 @@ export type BuildPreset = keyof typeof presetList | ((options: {
90
146
  preset: typeof internalPreset;
91
147
  extendPreset: (extendPresetName: keyof typeof internalPreset, extendBuildConfig: PartialBaseBuildConfig) => PartialBaseBuildConfig[];
92
148
  }) => PartialBaseBuildConfig[] | Promise<PartialBaseBuildConfig[]>);
93
- export interface StyleConfig {
94
- less?: LessConfig;
95
- sass?: SassConfig;
96
- postcss?: PostCSSConfig;
97
- autoModules?: LibuildStyle['autoModules'];
98
- modules?: LibuildStyle['modules'];
99
- inject?: LibuildStyle['inject'];
100
- /**
101
- * The configuration of `tools.tailwindcss` is provided by `tailwindcss` plugin.
102
- * Please use `yarn new` or `pnpm new` to enable the corresponding capability.
103
- * @requires `tailwindcss` plugin
104
- */
105
- tailwindcss?: TailwindCSSConfig;
106
- }
107
- export interface StorybookBuildConfig {
108
- webpack?: WebpackBuilderToolsConfig['webpack'];
109
- webpackChain?: WebpackBuilderToolsConfig['webpackChain'];
110
- }
111
- export interface Dev {
112
- storybook?: StorybookBuildConfig;
113
- }
114
149
  export interface RuntimeUserConfig {
115
150
  [name: string]: any;
116
151
  }
@@ -1,8 +1,26 @@
1
1
  "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __copyProps = (to, from, except, desc) => {
7
+ if (from && typeof from === "object" || typeof from === "function") {
8
+ for (let key of __getOwnPropNames(from))
9
+ if (!__hasOwnProp.call(to, key) && key !== except)
10
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
11
+ }
12
+ return to;
13
+ };
14
+ var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
15
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
16
+ var config_exports = {};
17
+ module.exports = __toCommonJS(config_exports);
18
+ __reExport(config_exports, require("./style"), module.exports);
19
+ __reExport(config_exports, require("./dev"), module.exports);
20
+ __reExport(config_exports, require("./copy"), module.exports);
21
+ // Annotate the CommonJS export names for ESM import in node:
22
+ 0 && (module.exports = {
23
+ ...require("./style"),
24
+ ...require("./dev"),
25
+ ...require("./copy")
4
26
  });
5
- const _export_star = require("@swc/helpers/_/_export_star");
6
- _export_star._(require("./style"), exports);
7
-
8
- //# sourceMappingURL=index.js.map
@@ -1,12 +1,64 @@
1
- import type { Style } from '@modern-js/libuild';
2
- import type { AcceptedPlugin as PostCSSPlugin } from 'postcss';
3
- export type LessOptions = Required<Style>['less'];
4
- export type SassOptions = Required<Style>['sass'];
5
- export type PostcssOptions = Required<Style>['postcss'];
1
+ import type { AcceptedPlugin as PostCSSPlugin, ProcessOptions, Plugin } from 'postcss';
2
+ import type { Options as sassOptions } from '../../../compiled/sass';
3
+ import Less from '../../../compiled/less';
4
+ type LocalsConventionFunction = (originalClassName: string, generatedClassName: string, inputFile: string) => string;
5
+ type GenerateScopedNameFunction = (name: string, filename: string, css: string) => string;
6
+ declare class Loader {
7
+ finalSource?: string | undefined;
8
+ constructor(root: string, plugins: Plugin[]);
9
+ fetch(file: string, relativeTo: string, depTrace: string): Promise<{
10
+ [key: string]: string;
11
+ }>;
12
+ }
13
+ type AdditionalData = string | ((filePath: string) => string);
14
+ export type Modules = {
15
+ localsConvention?: 'camelCase' | 'camelCaseOnly' | 'dashes' | 'dashesOnly' | LocalsConventionFunction;
16
+ scopeBehaviour?: 'global' | 'local';
17
+ globalModulePaths?: RegExp[];
18
+ generateScopedName?: string | GenerateScopedNameFunction;
19
+ hashPrefix?: string;
20
+ exportGlobals?: boolean;
21
+ root?: string;
22
+ resolve?: (file: string) => string | Promise<string>;
23
+ Loader?: typeof Loader;
24
+ getJSON?: (cssFilename: string, json: {
25
+ [name: string]: string;
26
+ }, outputFilename?: string) => void;
27
+ };
28
+ export type AutoModules = boolean | RegExp;
29
+ export type LessOptions = {
30
+ additionalData?: AdditionalData;
31
+ implementation?: object | string;
32
+ lessOptions?: Less.Options;
33
+ };
34
+ export type SassOptions = {
35
+ additionalData?: AdditionalData;
36
+ implementation?: object | string;
37
+ sassOptions?: sassOptions<'async'>;
38
+ };
39
+ export type PostcssOptions = {
40
+ processOptions?: ProcessOptions;
41
+ plugins?: PostCSSPlugin[];
42
+ };
6
43
  export type LessConfig = LessOptions | ((options: LessOptions) => LessOptions | void);
7
44
  export type SassConfig = SassOptions | ((options: SassOptions) => SassOptions | void);
8
45
  export type PostCSSConfigUtils = {
9
46
  addPlugins: (plugins: PostCSSPlugin | PostCSSPlugin[]) => void;
10
47
  };
11
48
  export type PostCSSConfig = PostcssOptions | ((options: PostcssOptions, utils: PostCSSConfigUtils) => PostcssOptions | void);
12
- export type TailwindCSSConfig = Record<string, any> | ((options: Record<string, any>) => Record<string, any> | void);
49
+ export type TailwindCSSConfig = Record<string, any> | ((options: Record<string, any>) => Record<string, any> | void);
50
+ export interface Style extends Required<StyleConfig> {
51
+ sass: SassOptions;
52
+ less: LessOptions;
53
+ postcss: PostcssOptions;
54
+ }
55
+ export interface StyleConfig {
56
+ inject?: boolean;
57
+ sass?: SassConfig;
58
+ less?: LessConfig;
59
+ postcss?: PostCSSConfig;
60
+ autoModules?: boolean | RegExp;
61
+ modules?: Modules;
62
+ tailwindcss?: TailwindCSSConfig;
63
+ }
64
+ export {};
@@ -1,6 +1,16 @@
1
1
  "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
-
6
- //# sourceMappingURL=style.js.map
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __copyProps = (to, from, except, desc) => {
7
+ if (from && typeof from === "object" || typeof from === "function") {
8
+ for (let key of __getOwnPropNames(from))
9
+ if (!__hasOwnProp.call(to, key) && key !== except)
10
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
11
+ }
12
+ return to;
13
+ };
14
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
15
+ var style_exports = {};
16
+ module.exports = __toCommonJS(style_exports);
@@ -1,6 +1,16 @@
1
1
  "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
-
6
- //# sourceMappingURL=context.js.map
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __copyProps = (to, from, except, desc) => {
7
+ if (from && typeof from === "object" || typeof from === "function") {
8
+ for (let key of __getOwnPropNames(from))
9
+ if (!__hasOwnProp.call(to, key) && key !== except)
10
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
11
+ }
12
+ return to;
13
+ };
14
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
15
+ var context_exports = {};
16
+ module.exports = __toCommonJS(context_exports);
@@ -1,12 +1,23 @@
1
- import type { AliasOption } from './config';
2
- export interface BundlelessGeneratorDtsConfig {
1
+ import type { AliasOption, BaseBuildConfig, Input } from './config';
2
+ export interface GeneratorDtsConfig {
3
3
  appDirectory: string;
4
- distAbsPath: string;
5
4
  tsconfigPath: string;
6
5
  watch: boolean;
7
6
  sourceDir: string;
8
7
  alias: AliasOption;
9
8
  abortOnError?: boolean;
9
+ footer?: string;
10
+ banner?: string;
11
+ distPath: string;
12
+ externals: BaseBuildConfig['externals'];
13
+ input: Input;
14
+ respectExternal: boolean;
15
+ }
16
+ export interface GeneratedDtsInfo {
17
+ userTsconfig: ITsconfig;
18
+ tempTsconfigPath: string;
19
+ tempDistAbsRootPath: string;
20
+ tempDistAbsSrcPath: string;
10
21
  }
11
22
  export type TsTarget = 'es3' | 'es5' | 'es6' | 'es2015' | 'es2016' | 'es2017' | 'es2018' | 'es2019' | 'es2020' | 'es2021' | 'es2022' | 'esnext';
12
23
  export interface ITsconfig {
package/dist/types/dts.js CHANGED
@@ -1,6 +1,16 @@
1
1
  "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
-
6
- //# sourceMappingURL=dts.js.map
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __copyProps = (to, from, except, desc) => {
7
+ if (from && typeof from === "object" || typeof from === "function") {
8
+ for (let key of __getOwnPropNames(from))
9
+ if (!__hasOwnProp.call(to, key) && key !== except)
10
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
11
+ }
12
+ return to;
13
+ };
14
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
15
+ var dts_exports = {};
16
+ module.exports = __toCommonJS(dts_exports);
@@ -0,0 +1,107 @@
1
+ /// <reference types="node" />
2
+ import type { BuildContext, BuildOptions, OnLoadArgs, OnLoadResult, BuildResult, ImportKind } from 'esbuild';
3
+ import type { AsyncSeriesBailHook, AsyncSeriesWaterfallHook } from 'tapable';
4
+ import { FSWatcher } from '@modern-js/utils';
5
+ import { BaseBuildConfig } from './config';
6
+ import { ModuleTools, PluginAPI } from '.';
7
+ export interface SourceMap {
8
+ mappings: string;
9
+ names: string[];
10
+ sources: (string | null)[];
11
+ version: number;
12
+ sourcesContent?: (string | null)[];
13
+ }
14
+ export type LoadResult = Pick<OnLoadResult, 'contents' | 'loader' | 'resolveDir'> & {
15
+ map?: SourceMap;
16
+ };
17
+ export interface BuilderHooks {
18
+ /**
19
+ * Equal to esbuild#onLoad
20
+ */
21
+ load: AsyncSeriesBailHook<[OnLoadArgs], LoadResult | undefined | void>;
22
+ /**
23
+ * Transform code after it is loaded.
24
+ */
25
+ transform: AsyncSeriesWaterfallHook<Source>;
26
+ /**
27
+ * Modify the chunk
28
+ */
29
+ renderChunk: AsyncSeriesWaterfallHook<[Chunk]>;
30
+ }
31
+ export type Context = {
32
+ config: BaseBuildConfig;
33
+ watch: boolean;
34
+ root: string;
35
+ api: PluginAPI<ModuleTools>;
36
+ };
37
+ export interface ICompiler {
38
+ reBuild: (type: 'link' | 'change', config: BaseBuildConfig) => Promise<void>;
39
+ css_resolve: (id: string, dir: string) => string;
40
+ node_resolve: (id: string, dir: string, kind: ImportKind) => string;
41
+ init: () => Promise<void>;
42
+ watcher?: FSWatcher;
43
+ instance?: BuildContext;
44
+ result?: BuildResult;
45
+ reBuildCount: number;
46
+ buildOptions: BuildOptions;
47
+ context: Context;
48
+ config: BaseBuildConfig;
49
+ hooks: BuilderHooks;
50
+ api: PluginAPI<ModuleTools>;
51
+ outputChunk: Map<string, Chunk>;
52
+ virtualModule: Map<string, string>;
53
+ build: (() => Promise<void>) & (() => Promise<void>);
54
+ emitAsset: ((name: string, chunk: AssetChunk) => void) & ((name: string, chunk: JsChunk) => void) & ((name: string, chunk: string) => void);
55
+ watchedFiles: Set<string>;
56
+ addWatchFile: (id: string) => void;
57
+ getTransformContext: (path: string) => ITransformContext;
58
+ getSourcemapContext: (path: string) => ISourcemapContext;
59
+ close: () => Promise<void>;
60
+ }
61
+ export interface ISourcemapContext {
62
+ addSourceMap: (pluginId: number, map?: SourceMap) => void;
63
+ getInlineSourceMap: () => string;
64
+ getSourceMap: () => SourceMap | undefined;
65
+ getSourceMapChain: () => SourceMap[];
66
+ genPluginId: (id: string) => number;
67
+ }
68
+ export interface ITransformContext extends ISourcemapContext {
69
+ addTransformResult: (pluginId: number, result: CacheValue) => void;
70
+ getValidCache: (pluginId: number, code: string) => undefined | CacheValue;
71
+ }
72
+ export type Source = {
73
+ code: string;
74
+ map?: SourceMap;
75
+ path: string;
76
+ loader?: string;
77
+ };
78
+ export interface CacheValue extends Source {
79
+ originCode: string;
80
+ }
81
+ export type AssetChunk = {
82
+ type: 'asset';
83
+ contents: string | Buffer;
84
+ entryPoint?: string;
85
+ /**
86
+ * absolute file path
87
+ */
88
+ fileName: string;
89
+ originalFileName?: string;
90
+ };
91
+ export type JsChunk = {
92
+ type: 'chunk';
93
+ contents: string;
94
+ entryPoint?: string;
95
+ /**
96
+ * absolute file path
97
+ */
98
+ fileName: string;
99
+ map?: SourceMap;
100
+ modules?: Record<string, any>;
101
+ originalFileName?: string;
102
+ };
103
+ export type Chunk = AssetChunk | JsChunk;
104
+ export declare const enum ChunkType {
105
+ chunk = "chunk",
106
+ asset = "asset",
107
+ }
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var esbuild_exports = {};
20
+ __export(esbuild_exports, {
21
+ ChunkType: () => ChunkType
22
+ });
23
+ module.exports = __toCommonJS(esbuild_exports);
24
+ var ChunkType;
25
+ (function(ChunkType2) {
26
+ ChunkType2["chunk"] = "chunk";
27
+ ChunkType2["asset"] = "asset";
28
+ })(ChunkType || (ChunkType = {}));
29
+ // Annotate the CommonJS export names for ESM import in node:
30
+ 0 && (module.exports = {
31
+ ChunkType
32
+ });
@@ -1,6 +1,16 @@
1
1
  "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
-
6
- //# sourceMappingURL=hooks.js.map
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __copyProps = (to, from, except, desc) => {
7
+ if (from && typeof from === "object" || typeof from === "function") {
8
+ for (let key of __getOwnPropNames(from))
9
+ if (!__hasOwnProp.call(to, key) && key !== except)
10
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
11
+ }
12
+ return to;
13
+ };
14
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
15
+ var hooks_exports = {};
16
+ module.exports = __toCommonJS(hooks_exports);
@@ -8,6 +8,7 @@ export * from './config';
8
8
  export * from './legacyConfig';
9
9
  export * from './dts';
10
10
  export * from './context';
11
+ export * from './esbuild';
11
12
  export type { CliPlugin, IAppContext, PluginAPI } from '@modern-js/core';
12
13
  export type ModuleTools = {
13
14
  hooks: ModuleToolsHooks;
@@ -1,13 +1,34 @@
1
1
  "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __copyProps = (to, from, except, desc) => {
7
+ if (from && typeof from === "object" || typeof from === "function") {
8
+ for (let key of __getOwnPropNames(from))
9
+ if (!__hasOwnProp.call(to, key) && key !== except)
10
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
11
+ }
12
+ return to;
13
+ };
14
+ var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
15
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
16
+ var types_exports = {};
17
+ module.exports = __toCommonJS(types_exports);
18
+ __reExport(types_exports, require("./hooks"), module.exports);
19
+ __reExport(types_exports, require("./command"), module.exports);
20
+ __reExport(types_exports, require("./config"), module.exports);
21
+ __reExport(types_exports, require("./legacyConfig"), module.exports);
22
+ __reExport(types_exports, require("./dts"), module.exports);
23
+ __reExport(types_exports, require("./context"), module.exports);
24
+ __reExport(types_exports, require("./esbuild"), module.exports);
25
+ // Annotate the CommonJS export names for ESM import in node:
26
+ 0 && (module.exports = {
27
+ ...require("./hooks"),
28
+ ...require("./command"),
29
+ ...require("./config"),
30
+ ...require("./legacyConfig"),
31
+ ...require("./dts"),
32
+ ...require("./context"),
33
+ ...require("./esbuild")
4
34
  });
5
- const _export_star = require("@swc/helpers/_/_export_star");
6
- _export_star._(require("./hooks"), exports);
7
- _export_star._(require("./command"), exports);
8
- _export_star._(require("./config"), exports);
9
- _export_star._(require("./legacyConfig"), exports);
10
- _export_star._(require("./dts"), exports);
11
- _export_star._(require("./context"), exports);
12
-
13
- //# sourceMappingURL=index.js.map
@@ -1,6 +1,16 @@
1
1
  "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
-
6
- //# sourceMappingURL=index.js.map
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __copyProps = (to, from, except, desc) => {
7
+ if (from && typeof from === "object" || typeof from === "function") {
8
+ for (let key of __getOwnPropNames(from))
9
+ if (!__hasOwnProp.call(to, key) && key !== except)
10
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
11
+ }
12
+ return to;
13
+ };
14
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
15
+ var legacyConfig_exports = {};
16
+ module.exports = __toCommonJS(legacyConfig_exports);
@@ -1,4 +1,4 @@
1
- import type { UserConfig as LibuildUserConfig } from '@modern-js/libuild';
1
+ import { Externals, Minify, Platform } from '../config';
2
2
  export type LegacyBuildPreset = 'npm-library' | 'npm-library-with-umd' | 'npm-component' | 'npm-component-with-umd';
3
3
  export type LegacyFormat = 'esm' | 'cjs' | 'umd';
4
4
  export type LegacyTarget = 'es5' | 'es6' | 'es2015' | 'es2016' | 'es2017' | 'es2018' | 'es2019' | 'es2020' | 'esnext';
@@ -6,10 +6,10 @@ export type LegacyBuildType = 'bundle' | 'bundleless';
6
6
  export type LegacySourceMap = boolean | 'inline' | 'external';
7
7
  export type LegacyBundleOptions = {
8
8
  entry?: Record<string, string>;
9
- platform?: LibuildUserConfig['platform'];
9
+ platform?: Platform;
10
10
  splitting?: boolean;
11
- minify?: LibuildUserConfig['minify'];
12
- externals?: LibuildUserConfig['external'];
11
+ minify?: Minify;
12
+ externals?: Externals;
13
13
  skipDeps?: boolean;
14
14
  getModuleId?: (moduleName: string) => string | undefined;
15
15
  };