vite 2.7.0-beta.0 → 2.7.0-beta.4

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.

Potentially problematic release.


This version of vite might be problematic. Click here for more details.

@@ -12,11 +12,11 @@ import { EventEmitter } from 'events';
12
12
  import * as events from 'events';
13
13
  import * as fs from 'fs';
14
14
  import * as http from 'http';
15
- import * as https from 'https';
16
15
  import { IncomingMessage } from 'http';
17
16
  import { InputOptions } from 'rollup';
18
17
  import { LoadResult } from 'rollup';
19
18
  import { ModuleFormat } from 'rollup';
19
+ import { ModuleInfo } from 'rollup';
20
20
  import * as net from 'net';
21
21
  import { OutgoingHttpHeaders } from 'http';
22
22
  import { OutputBundle } from 'rollup';
@@ -33,8 +33,9 @@ import { RollupOutput } from 'rollup';
33
33
  import { RollupWatcher } from 'rollup';
34
34
  import { SecureContextOptions } from 'tls';
35
35
  import { Server } from 'http';
36
- import { Server as Server_2 } from 'https';
37
- import { Server as Server_3 } from 'net';
36
+ import { Server as Server_2 } from 'net';
37
+ import { Server as Server_3 } from 'https';
38
+ import { ServerOptions as ServerOptions_2 } from 'https';
38
39
  import { ServerResponse } from 'http';
39
40
  import { Socket } from 'net';
40
41
  import { SourceDescription } from 'rollup';
@@ -46,6 +47,7 @@ import { TransformResult as TransformResult_3 } from 'rollup';
46
47
  import { URL } from 'url';
47
48
  import * as url from 'url';
48
49
  import { WatcherOptions } from 'rollup';
50
+ import { WebSocketServer as WebSocketServer_2 } from 'ws';
49
51
  import { ZlibOptions } from 'zlib';
50
52
 
51
53
  export declare interface Alias {
@@ -255,6 +257,63 @@ export declare interface BuildOptions {
255
257
  watch?: WatcherOptions | null;
256
258
  }
257
259
 
260
+ export declare interface CommonServerOptions {
261
+ /**
262
+ * Specify server port. Note if the port is already being used, Vite will
263
+ * automatically try the next available port so this may not be the actual
264
+ * port the server ends up listening on.
265
+ */
266
+ port?: number;
267
+ /**
268
+ * If enabled, vite will exit if specified port is already in use
269
+ */
270
+ strictPort?: boolean;
271
+ /**
272
+ * Specify which IP addresses the server should listen on.
273
+ * Set to 0.0.0.0 to listen on all addresses, including LAN and public addresses.
274
+ */
275
+ host?: string | boolean;
276
+ /**
277
+ * Enable TLS + HTTP/2.
278
+ * Note: this downgrades to TLS only when the proxy option is also used.
279
+ */
280
+ https?: boolean | ServerOptions_2;
281
+ /**
282
+ * Open browser window on startup
283
+ */
284
+ open?: boolean | string;
285
+ /**
286
+ * Configure custom proxy rules for the dev server. Expects an object
287
+ * of `{ key: options }` pairs.
288
+ * Uses [`http-proxy`](https://github.com/http-party/node-http-proxy).
289
+ * Full options [here](https://github.com/http-party/node-http-proxy#options).
290
+ *
291
+ * Example `vite.config.js`:
292
+ * ``` js
293
+ * module.exports = {
294
+ * proxy: {
295
+ * // string shorthand
296
+ * '/foo': 'http://localhost:4567/foo',
297
+ * // with options
298
+ * '/api': {
299
+ * target: 'http://jsonplaceholder.typicode.com',
300
+ * changeOrigin: true,
301
+ * rewrite: path => path.replace(/^\/api/, '')
302
+ * }
303
+ * }
304
+ * }
305
+ * ```
306
+ */
307
+ proxy?: Record<string, string | ProxyOptions>;
308
+ /**
309
+ * Configure CORS for the dev server.
310
+ * Uses https://github.com/expressjs/cors.
311
+ * Set to `true` to allow all methods from any origin, or configure separately
312
+ * using an object.
313
+ */
314
+ cors?: CorsOptions | boolean;
315
+ }
316
+
258
317
  export declare interface ConfigEnv {
259
318
  command: 'build' | 'serve';
260
319
  mode: string;
@@ -924,7 +983,9 @@ export declare interface InternalResolveOptions extends ResolveOptions {
924
983
  tryPrefix?: string;
925
984
  skipPackageJson?: boolean;
926
985
  preferRelative?: boolean;
986
+ preserveSymlinks?: boolean;
927
987
  isRequire?: boolean;
988
+ isFromTsImporter?: boolean;
928
989
  }
929
990
 
930
991
  export declare interface JsonOptions {
@@ -1005,12 +1066,12 @@ export declare type Matcher = AnymatchPattern | AnymatchPattern[]
1005
1066
  export declare function mergeConfig(a: Record<string, any>, b: Record<string, any>, isRoot?: boolean): Record<string, any>;
1006
1067
 
1007
1068
  export declare class ModuleGraph {
1069
+ private resolveId;
1008
1070
  urlToModuleMap: Map<string, ModuleNode>;
1009
1071
  idToModuleMap: Map<string, ModuleNode>;
1010
1072
  fileToModulesMap: Map<string, Set<ModuleNode>>;
1011
1073
  safeModulesPath: Set<string>;
1012
- container: PluginContainer;
1013
- constructor(container: PluginContainer);
1074
+ constructor(resolveId: (url: string) => Promise<PartialResolvedId | null>);
1014
1075
  getModuleByUrl(rawUrl: string): Promise<ModuleNode | undefined>;
1015
1076
  getModuleById(id: string): ModuleNode | undefined;
1016
1077
  getModulesByFile(file: string): Set<ModuleNode> | undefined;
@@ -1025,7 +1086,7 @@ export declare class ModuleGraph {
1025
1086
  updateModuleInfo(mod: ModuleNode, importedModules: Set<string | ModuleNode>, acceptedModules: Set<string | ModuleNode>, isSelfAccepting: boolean): Promise<Set<ModuleNode> | undefined>;
1026
1087
  ensureEntryFromUrl(rawUrl: string): Promise<ModuleNode>;
1027
1088
  createFileOnlyEntry(file: string): ModuleNode;
1028
- resolveUrl(url: string): Promise<[string, string]>;
1089
+ resolveUrl(url: string): Promise<ResolvedUrl>;
1029
1090
  }
1030
1091
 
1031
1092
  export declare class ModuleNode {
@@ -1039,6 +1100,8 @@ export declare class ModuleNode {
1039
1100
  id: string | null;
1040
1101
  file: string | null;
1041
1102
  type: 'js' | 'css';
1103
+ info?: ModuleInfo;
1104
+ meta?: Record<string, any>;
1042
1105
  importers: Set<ModuleNode>;
1043
1106
  importedModules: Set<ModuleNode>;
1044
1107
  acceptedHmrDeps: Set<ModuleNode>;
@@ -1184,6 +1247,7 @@ export declare interface Plugin extends Plugin_2 {
1184
1247
 
1185
1248
  export declare interface PluginContainer {
1186
1249
  options: InputOptions;
1250
+ getModuleInfo(id: string): ModuleInfo | null;
1187
1251
  buildStart(options: InputOptions): Promise<void>;
1188
1252
  resolveId(id: string, importer?: string, options?: {
1189
1253
  skip?: Set<Plugin>;
@@ -1209,6 +1273,9 @@ export declare type PluginOption = Plugin | false | null | undefined;
1209
1273
  */
1210
1274
  export declare function preview(inlineConfig: InlineConfig): Promise<PreviewServer>;
1211
1275
 
1276
+ export declare interface PreviewOptions extends CommonServerOptions {
1277
+ }
1278
+
1212
1279
  export declare interface PreviewServer {
1213
1280
  /**
1214
1281
  * The resolved vite config object
@@ -1224,7 +1291,10 @@ export declare interface PreviewServer {
1224
1291
  printUrls: () => void;
1225
1292
  }
1226
1293
 
1227
- export declare function printHttpServerUrls(server: Server_3, config: ResolvedConfig): void;
1294
+ /**
1295
+ * @deprecated Use `server.printUrls()` instead
1296
+ */
1297
+ export declare function printHttpServerUrls(server: Server_2, config: ResolvedConfig): void;
1228
1298
 
1229
1299
  export declare interface ProxyOptions extends HttpProxy.ServerOptions {
1230
1300
  /**
@@ -1267,16 +1337,26 @@ export declare type ResolvedConfig = Readonly<Omit<UserConfig, 'plugins' | 'alia
1267
1337
  plugins: readonly Plugin[];
1268
1338
  server: ResolvedServerOptions;
1269
1339
  build: ResolvedBuildOptions;
1340
+ preview: ResolvedPreviewOptions;
1270
1341
  assetsInclude: (file: string) => boolean;
1271
1342
  logger: Logger;
1272
1343
  createResolver: (options?: Partial<InternalResolveOptions>) => ResolveFn;
1273
1344
  optimizeDeps: Omit<DepOptimizationOptions, 'keepNames'>;
1274
1345
  }>;
1275
1346
 
1347
+ export declare interface ResolvedPreviewOptions extends PreviewOptions {
1348
+ }
1349
+
1276
1350
  export declare interface ResolvedServerOptions extends ServerOptions {
1277
1351
  fs: Required<FileSystemServeOptions>;
1278
1352
  }
1279
1353
 
1354
+ export declare type ResolvedUrl = [
1355
+ url: string,
1356
+ resolvedId: string,
1357
+ meta: object | null | undefined
1358
+ ];
1359
+
1280
1360
  export declare function resolveEnvPrefix({ envPrefix }: UserConfig): string[];
1281
1361
 
1282
1362
  export declare type ResolveFn = (id: string, importer?: string, aliasOnly?: boolean, ssr?: boolean) => Promise<string | undefined>;
@@ -1309,7 +1389,7 @@ export declare interface ResolverObject {
1309
1389
  */
1310
1390
  export declare interface RollupCommonJSOptions {
1311
1391
  /**
1312
- * A minimatch pattern, or array of patterns, which specifies the files in
1392
+ * A picomatch pattern, or array of patterns, which specifies the files in
1313
1393
  * the build the plugin should operate on. By default, all files with
1314
1394
  * extension `".cjs"` or those in `extensions` are included, but you can narrow
1315
1395
  * this list by only including specific files. These files will be analyzed
@@ -1319,7 +1399,7 @@ export declare interface RollupCommonJSOptions {
1319
1399
  */
1320
1400
  include?: string | RegExp | readonly (string | RegExp)[]
1321
1401
  /**
1322
- * A minimatch pattern, or array of patterns, which specifies the files in
1402
+ * A picomatch pattern, or array of patterns, which specifies the files in
1323
1403
  * the build the plugin should _ignore_. By default, all files with
1324
1404
  * extensions other than those in `extensions` or `".cjs"` are ignored, but you
1325
1405
  * can exclude additional files. See also the `include` option.
@@ -1373,6 +1453,26 @@ export declare interface RollupCommonJSOptions {
1373
1453
  * @default []
1374
1454
  */
1375
1455
  ignore?: ReadonlyArray<string> | ((id: string) => boolean)
1456
+ /**
1457
+ * In most cases, where `require` calls are inside a `try-catch` clause,
1458
+ * they should be left unconverted as it requires an optional dependency
1459
+ * that may or may not be installed beside the rolled up package.
1460
+ * Due to the conversion of `require` to a static `import` - the call is hoisted
1461
+ * to the top of the file, outside of the `try-catch` clause.
1462
+ *
1463
+ * - `true`: All `require` calls inside a `try` will be left unconverted.
1464
+ * - `false`: All `require` calls inside a `try` will be converted as if the `try-catch` clause is not there.
1465
+ * - `remove`: Remove all `require` calls from inside any `try` block.
1466
+ * - `string[]`: Pass an array containing the IDs to left unconverted.
1467
+ * - `((id: string) => boolean|'remove')`: Pass a function that control individual IDs.
1468
+ *
1469
+ * @default false
1470
+ */
1471
+ ignoreTryCatch?:
1472
+ | boolean
1473
+ | 'remove'
1474
+ | ReadonlyArray<string>
1475
+ | ((id: string) => boolean | 'remove')
1376
1476
  /**
1377
1477
  * Controls how to render imports from external dependencies. By default,
1378
1478
  * this plugin assumes that all external dependencies are CommonJS. This
@@ -1490,52 +1590,7 @@ export declare function send(req: IncomingMessage, res: ServerResponse, content:
1490
1590
 
1491
1591
  export declare type ServerHook = (server: ViteDevServer) => (() => void) | void | Promise<(() => void) | void>;
1492
1592
 
1493
- export declare interface ServerOptions {
1494
- host?: string | boolean;
1495
- port?: number;
1496
- /**
1497
- * If enabled, vite will exit if specified port is already in use
1498
- */
1499
- strictPort?: boolean;
1500
- /**
1501
- * Enable TLS + HTTP/2.
1502
- * Note: this downgrades to TLS only when the proxy option is also used.
1503
- */
1504
- https?: boolean | https.ServerOptions;
1505
- /**
1506
- * Open browser window on startup
1507
- */
1508
- open?: boolean | string;
1509
- /**
1510
- * Configure custom proxy rules for the dev server. Expects an object
1511
- * of `{ key: options }` pairs.
1512
- * Uses [`http-proxy`](https://github.com/http-party/node-http-proxy).
1513
- * Full options [here](https://github.com/http-party/node-http-proxy#options).
1514
- *
1515
- * Example `vite.config.js`:
1516
- * ``` js
1517
- * module.exports = {
1518
- * proxy: {
1519
- * // string shorthand
1520
- * '/foo': 'http://localhost:4567/foo',
1521
- * // with options
1522
- * '/api': {
1523
- * target: 'http://jsonplaceholder.typicode.com',
1524
- * changeOrigin: true,
1525
- * rewrite: path => path.replace(/^\/api/, '')
1526
- * }
1527
- * }
1528
- * }
1529
- * ```
1530
- */
1531
- proxy?: Record<string, string | ProxyOptions>;
1532
- /**
1533
- * Configure CORS for the dev server.
1534
- * Uses https://github.com/expressjs/cors.
1535
- * Set to `true` to allow all methods from any origin, or configure separately
1536
- * using an object.
1537
- */
1538
- cors?: CorsOptions | boolean;
1593
+ export declare interface ServerOptions extends CommonServerOptions {
1539
1594
  /**
1540
1595
  * Force dep pre-optimization regardless of whether deps have changed.
1541
1596
  */
@@ -1859,6 +1914,10 @@ export declare interface UserConfig {
1859
1914
  * Build specific options
1860
1915
  */
1861
1916
  build?: BuildOptions;
1917
+ /**
1918
+ * Preview specific options, e.g. host, port, https...
1919
+ */
1920
+ preview?: PreviewOptions;
1862
1921
  /**
1863
1922
  * Dep optimization options
1864
1923
  */
@@ -2491,7 +2550,7 @@ export declare namespace WebSocket {
2491
2550
  host?: string | undefined
2492
2551
  port?: number | undefined
2493
2552
  backlog?: number | undefined
2494
- server?: Server | Server_2 | undefined
2553
+ server?: Server | Server_3 | undefined
2495
2554
  verifyClient?:
2496
2555
  | VerifyClientCallbackAsync
2497
2556
  | VerifyClientCallbackSync
@@ -2607,8 +2666,8 @@ export declare namespace WebSocket {
2607
2666
  }
2608
2667
 
2609
2668
  export declare interface WebSocketServer {
2610
- on: WebSocket.Server['on'];
2611
- off: WebSocket.Server['off'];
2669
+ on: WebSocketServer_2['on'];
2670
+ off: WebSocketServer_2['off'];
2612
2671
  send(payload: HMRPayload): void;
2613
2672
  close(): Promise<void>;
2614
2673
  }
@@ -2,31 +2,31 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var build = require('./chunks/dep-f2dce443.js');
6
- require('path');
5
+ var build = require('./chunks/dep-6cab8e8a.js');
7
6
  require('fs');
8
- require('querystring');
7
+ require('path');
8
+ require('os');
9
9
  require('tty');
10
10
  require('util');
11
11
  require('net');
12
12
  require('events');
13
13
  require('url');
14
14
  require('http');
15
- require('buffer');
16
- require('zlib');
17
- require('os');
15
+ require('stream');
18
16
  require('resolve');
19
17
  require('module');
20
18
  require('perf_hooks');
21
- require('readline');
22
- require('crypto');
23
- require('stream');
24
- require('esbuild');
25
- require('worker_threads');
26
- require('assert');
27
19
  require('https');
20
+ require('zlib');
21
+ require('crypto');
28
22
  require('tls');
23
+ require('assert');
24
+ require('buffer');
25
+ require('querystring');
26
+ require('esbuild');
29
27
  require('child_process');
28
+ require('worker_threads');
29
+ require('readline');
30
30
 
31
31
 
32
32
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vite",
3
- "version": "2.7.0-beta.0",
3
+ "version": "2.7.0-beta.4",
4
4
  "license": "MIT",
5
5
  "author": "Evan You",
6
6
  "description": "Native-ESM powered web dev build tool",
@@ -44,43 +44,43 @@
44
44
  },
45
45
  "//": "READ CONTRIBUTING.md to understand what to put under deps vs. devDeps!",
46
46
  "dependencies": {
47
- "esbuild": "^0.13.2",
48
- "postcss": "^8.3.8",
47
+ "esbuild": "^0.13.12",
48
+ "postcss": "^8.3.11",
49
49
  "resolve": "^1.20.0",
50
- "rollup": "^2.57.0"
50
+ "rollup": "^2.59.0"
51
51
  },
52
52
  "optionalDependencies": {
53
53
  "fsevents": "~2.3.2"
54
54
  },
55
55
  "devDependencies": {
56
56
  "@ampproject/remapping": "^1.0.1",
57
- "@babel/parser": "^7.15.8",
58
- "@babel/types": "^7.15.6",
59
- "@rollup/plugin-alias": "^3.1.5",
60
- "@rollup/plugin-commonjs": "^21.0.0",
61
- "@rollup/plugin-dynamic-import-vars": "^1.4.0",
57
+ "@babel/parser": "^7.16.2",
58
+ "@babel/types": "^7.16.0",
59
+ "@rollup/plugin-alias": "^3.1.8",
60
+ "@rollup/plugin-commonjs": "^21.0.1",
61
+ "@rollup/plugin-dynamic-import-vars": "^1.4.1",
62
62
  "@rollup/plugin-json": "^4.1.0",
63
- "@rollup/plugin-node-resolve": "13.0.5",
64
- "@rollup/plugin-typescript": "^8.2.5",
63
+ "@rollup/plugin-node-resolve": "13.0.6",
64
+ "@rollup/plugin-typescript": "^8.3.0",
65
65
  "@rollup/pluginutils": "^4.1.1",
66
66
  "@types/convert-source-map": "^1.5.2",
67
67
  "@types/debug": "^4.1.7",
68
- "@types/es-module-lexer": "^0.3.0",
69
68
  "@types/estree": "^0.0.50",
70
69
  "@types/etag": "^1.8.1",
71
70
  "@types/less": "^3.0.3",
71
+ "@types/micromatch": "^4.0.0",
72
72
  "@types/mime": "^2.0.3",
73
- "@types/node": "^15.12.2",
73
+ "@types/node": "^16.11.7",
74
74
  "@types/resolve": "^1.20.1",
75
- "@types/sass": "^1.16.1",
75
+ "@types/sass": "~1.43.0",
76
76
  "@types/stylus": "^0.48.36",
77
- "@types/ws": "^7.4.7",
78
- "@vue/compiler-dom": "^3.2.19",
77
+ "@types/ws": "^8.2.0",
78
+ "@vue/compiler-dom": "^3.2.21",
79
79
  "acorn": "^8.5.0",
80
80
  "acorn-class-fields": "^1.0.0",
81
81
  "acorn-static-class-features": "^1.0.0",
82
82
  "builtin-modules": "^3.2.0",
83
- "cac": "^6.7.3",
83
+ "cac": "6.7.9",
84
84
  "chalk": "^4.1.2",
85
85
  "chokidar": "^3.5.2",
86
86
  "compression": "^1.7.4",
@@ -91,7 +91,7 @@
91
91
  "debug": "^4.3.2",
92
92
  "dotenv": "^10.0.0",
93
93
  "dotenv-expand": "^5.1.0",
94
- "es-module-lexer": "^0.9.2",
94
+ "es-module-lexer": "^0.9.3",
95
95
  "estree-walker": "^2.0.2",
96
96
  "etag": "^1.8.1",
97
97
  "execa": "^5.1.1",
@@ -99,26 +99,26 @@
99
99
  "http-proxy": "^1.18.1",
100
100
  "launch-editor-middleware": "^2.2.1",
101
101
  "magic-string": "^0.25.7",
102
- "mime": "^2.5.2",
103
- "minimatch": "^3.0.4",
102
+ "micromatch": "^4.0.4",
103
+ "mime": "^3.0.0",
104
104
  "okie": "^1.0.1",
105
- "open": "^8.2.1",
105
+ "open": "^8.4.0",
106
106
  "periscopic": "^2.0.3",
107
107
  "postcss-import": "^14.0.2",
108
108
  "postcss-load-config": "^3.1.0",
109
109
  "postcss-modules": "^4.2.2",
110
- "resolve.exports": "^1.0.2",
111
- "rollup-plugin-license": "^2.5.0",
110
+ "resolve.exports": "^1.1.0",
111
+ "rollup-plugin-license": "^2.6.0",
112
112
  "selfsigned": "^1.10.11",
113
- "sirv": "^1.0.17",
113
+ "sirv": "^1.0.18",
114
114
  "source-map": "^0.6.1",
115
115
  "source-map-support": "^0.5.20",
116
- "strip-ansi": "^6.0.0",
116
+ "strip-ansi": "^6.0.1",
117
117
  "terser": "^5.9.0",
118
- "tsconfck": "^1.0.0",
118
+ "tsconfck": "1.1.1",
119
119
  "tslib": "^2.3.1",
120
120
  "types": "link:./types",
121
- "ws": "^7.5.5"
121
+ "ws": "^8.2.3"
122
122
  },
123
123
  "peerDependencies": {
124
124
  "less": "*",
@@ -7,7 +7,7 @@
7
7
  */
8
8
  export interface RollupCommonJSOptions {
9
9
  /**
10
- * A minimatch pattern, or array of patterns, which specifies the files in
10
+ * A picomatch pattern, or array of patterns, which specifies the files in
11
11
  * the build the plugin should operate on. By default, all files with
12
12
  * extension `".cjs"` or those in `extensions` are included, but you can narrow
13
13
  * this list by only including specific files. These files will be analyzed
@@ -17,7 +17,7 @@ export interface RollupCommonJSOptions {
17
17
  */
18
18
  include?: string | RegExp | readonly (string | RegExp)[]
19
19
  /**
20
- * A minimatch pattern, or array of patterns, which specifies the files in
20
+ * A picomatch pattern, or array of patterns, which specifies the files in
21
21
  * the build the plugin should _ignore_. By default, all files with
22
22
  * extensions other than those in `extensions` or `".cjs"` are ignored, but you
23
23
  * can exclude additional files. See also the `include` option.
@@ -71,6 +71,26 @@ export interface RollupCommonJSOptions {
71
71
  * @default []
72
72
  */
73
73
  ignore?: ReadonlyArray<string> | ((id: string) => boolean)
74
+ /**
75
+ * In most cases, where `require` calls are inside a `try-catch` clause,
76
+ * they should be left unconverted as it requires an optional dependency
77
+ * that may or may not be installed beside the rolled up package.
78
+ * Due to the conversion of `require` to a static `import` - the call is hoisted
79
+ * to the top of the file, outside of the `try-catch` clause.
80
+ *
81
+ * - `true`: All `require` calls inside a `try` will be left unconverted.
82
+ * - `false`: All `require` calls inside a `try` will be converted as if the `try-catch` clause is not there.
83
+ * - `remove`: Remove all `require` calls from inside any `try` block.
84
+ * - `string[]`: Pass an array containing the IDs to left unconverted.
85
+ * - `((id: string) => boolean|'remove')`: Pass a function that control individual IDs.
86
+ *
87
+ * @default false
88
+ */
89
+ ignoreTryCatch?:
90
+ | boolean
91
+ | 'remove'
92
+ | ReadonlyArray<string>
93
+ | ((id: string) => boolean | 'remove')
74
94
  /**
75
95
  * Controls how to render imports from external dependencies. By default,
76
96
  * this plugin assumes that all external dependencies are CommonJS. This
package/types/shims.d.ts CHANGED
@@ -95,13 +95,12 @@ declare module 'rollup-plugin-web-worker-loader' {
95
95
  export default p
96
96
  }
97
97
 
98
- declare module 'minimatch' {
99
- function match(
98
+ declare module 'micromatch' {
99
+ export function isMatch(
100
100
  path: string,
101
101
  pattern: string,
102
102
  options?: { matchBase?: boolean }
103
103
  ): boolean
104
- export default match
105
104
  }
106
105
 
107
106
  declare module 'compression' {
@@ -1 +0,0 @@
1
- {"version":3,"file":"dep-e39b05d6.js","sources":["../../../../../node_modules/.pnpm/postcss-import@14.0.2_postcss@8.3.8/node_modules/postcss-import/lib/join-media.js","../../../../../node_modules/.pnpm/postcss-import@14.0.2_postcss@8.3.8/node_modules/postcss-import/lib/resolve-id.js","../../../../../node_modules/.pnpm/pify@2.3.0/node_modules/pify/index.js","../../../../../node_modules/.pnpm/read-cache@1.0.0/node_modules/read-cache/index.js","../../../../../node_modules/.pnpm/postcss-import@14.0.2_postcss@8.3.8/node_modules/postcss-import/lib/load-content.js","../../../../../node_modules/.pnpm/postcss-import@14.0.2_postcss@8.3.8/node_modules/postcss-import/lib/process-content.js","../../../../../node_modules/.pnpm/postcss-import@14.0.2_postcss@8.3.8/node_modules/postcss-import/lib/parse-statements.js","../../../../../node_modules/.pnpm/postcss-import@14.0.2_postcss@8.3.8/node_modules/postcss-import/index.js"],"sourcesContent":["\"use strict\"\n\nmodule.exports = function (parentMedia, childMedia) {\n if (!parentMedia.length && childMedia.length) return childMedia\n if (parentMedia.length && !childMedia.length) return parentMedia\n if (!parentMedia.length && !childMedia.length) return []\n\n const media = []\n\n parentMedia.forEach(parentItem => {\n childMedia.forEach(childItem => {\n if (parentItem !== childItem) media.push(`${parentItem} and ${childItem}`)\n })\n })\n\n return media\n}\n","\"use strict\"\n\n// external tooling\nconst resolve = require(\"resolve\")\n\nconst moduleDirectories = [\"web_modules\", \"node_modules\"]\n\nfunction resolveModule(id, opts) {\n return new Promise((res, rej) => {\n resolve(id, opts, (err, path) => (err ? rej(err) : res(path)))\n })\n}\n\nmodule.exports = function (id, base, options) {\n const paths = options.path\n\n const resolveOpts = {\n basedir: base,\n moduleDirectory: moduleDirectories.concat(options.addModulesDirectories),\n paths,\n extensions: [\".css\"],\n packageFilter: function processPackage(pkg) {\n if (pkg.style) pkg.main = pkg.style\n else if (!pkg.main || !/\\.css$/.test(pkg.main)) pkg.main = \"index.css\"\n return pkg\n },\n preserveSymlinks: false,\n }\n\n return resolveModule(`./${id}`, resolveOpts)\n .catch(() => resolveModule(id, resolveOpts))\n .catch(() => {\n if (paths.indexOf(base) === -1) paths.unshift(base)\n\n throw new Error(\n `Failed to find '${id}'\n in [\n ${paths.join(\",\\n \")}\n ]`\n )\n })\n}\n","'use strict';\n\nvar processFn = function (fn, P, opts) {\n\treturn function () {\n\t\tvar that = this;\n\t\tvar args = new Array(arguments.length);\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\targs[i] = arguments[i];\n\t\t}\n\n\t\treturn new P(function (resolve, reject) {\n\t\t\targs.push(function (err, result) {\n\t\t\t\tif (err) {\n\t\t\t\t\treject(err);\n\t\t\t\t} else if (opts.multiArgs) {\n\t\t\t\t\tvar results = new Array(arguments.length - 1);\n\n\t\t\t\t\tfor (var i = 1; i < arguments.length; i++) {\n\t\t\t\t\t\tresults[i - 1] = arguments[i];\n\t\t\t\t\t}\n\n\t\t\t\t\tresolve(results);\n\t\t\t\t} else {\n\t\t\t\t\tresolve(result);\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tfn.apply(that, args);\n\t\t});\n\t};\n};\n\nvar pify = module.exports = function (obj, P, opts) {\n\tif (typeof P !== 'function') {\n\t\topts = P;\n\t\tP = Promise;\n\t}\n\n\topts = opts || {};\n\topts.exclude = opts.exclude || [/.+Sync$/];\n\n\tvar filter = function (key) {\n\t\tvar match = function (pattern) {\n\t\t\treturn typeof pattern === 'string' ? key === pattern : pattern.test(key);\n\t\t};\n\n\t\treturn opts.include ? opts.include.some(match) : !opts.exclude.some(match);\n\t};\n\n\tvar ret = typeof obj === 'function' ? function () {\n\t\tif (opts.excludeMain) {\n\t\t\treturn obj.apply(this, arguments);\n\t\t}\n\n\t\treturn processFn(obj, P, opts).apply(this, arguments);\n\t} : {};\n\n\treturn Object.keys(obj).reduce(function (ret, key) {\n\t\tvar x = obj[key];\n\n\t\tret[key] = typeof x === 'function' && filter(key) ? processFn(x, P, opts) : x;\n\n\t\treturn ret;\n\t}, ret);\n};\n\npify.all = pify;\n","var fs = require('fs');\r\nvar path = require('path');\r\nvar pify = require('pify');\r\n\r\nvar stat = pify(fs.stat);\r\nvar readFile = pify(fs.readFile);\r\nvar resolve = path.resolve;\r\n\r\nvar cache = Object.create(null);\r\n\r\nfunction convert(content, encoding) {\r\n\tif (Buffer.isEncoding(encoding)) {\r\n\t\treturn content.toString(encoding);\r\n\t}\r\n\treturn content;\r\n}\r\n\r\nmodule.exports = function (path, encoding) {\r\n\tpath = resolve(path);\r\n\r\n\treturn stat(path).then(function (stats) {\r\n\t\tvar item = cache[path];\r\n\r\n\t\tif (item && item.mtime.getTime() === stats.mtime.getTime()) {\r\n\t\t\treturn convert(item.content, encoding);\r\n\t\t}\r\n\r\n\t\treturn readFile(path).then(function (data) {\r\n\t\t\tcache[path] = {\r\n\t\t\t\tmtime: stats.mtime,\r\n\t\t\t\tcontent: data\r\n\t\t\t};\r\n\r\n\t\t\treturn convert(data, encoding);\r\n\t\t});\r\n\t}).catch(function (err) {\r\n\t\tcache[path] = null;\r\n\t\treturn Promise.reject(err);\r\n\t});\r\n};\r\n\r\nmodule.exports.sync = function (path, encoding) {\r\n\tpath = resolve(path);\r\n\r\n\ttry {\r\n\t\tvar stats = fs.statSync(path);\r\n\t\tvar item = cache[path];\r\n\r\n\t\tif (item && item.mtime.getTime() === stats.mtime.getTime()) {\r\n\t\t\treturn convert(item.content, encoding);\r\n\t\t}\r\n\r\n\t\tvar data = fs.readFileSync(path);\r\n\r\n\t\tcache[path] = {\r\n\t\t\tmtime: stats.mtime,\r\n\t\t\tcontent: data\r\n\t\t};\r\n\r\n\t\treturn convert(data, encoding);\r\n\t} catch (err) {\r\n\t\tcache[path] = null;\r\n\t\tthrow err;\r\n\t}\r\n\r\n};\r\n\r\nmodule.exports.get = function (path, encoding) {\r\n\tpath = resolve(path);\r\n\tif (cache[path]) {\r\n\t\treturn convert(cache[path].content, encoding);\r\n\t}\r\n\treturn null;\r\n};\r\n\r\nmodule.exports.clear = function () {\r\n\tcache = Object.create(null);\r\n};\r\n","\"use strict\"\n\nconst readCache = require(\"read-cache\")\n\nmodule.exports = filename => readCache(filename, \"utf-8\")\n","\"use strict\"\n\n// builtin tooling\nconst path = require(\"path\")\n\n// placeholder tooling\nlet sugarss\n\nmodule.exports = function processContent(\n result,\n content,\n filename,\n options,\n postcss\n) {\n const { plugins } = options\n const ext = path.extname(filename)\n\n const parserList = []\n\n // SugarSS support:\n if (ext === \".sss\") {\n if (!sugarss) {\n try {\n sugarss = require(\"sugarss\")\n } catch {} // Ignore\n }\n if (sugarss)\n return runPostcss(postcss, content, filename, plugins, [sugarss])\n }\n\n // Syntax support:\n if (result.opts.syntax && result.opts.syntax.parse) {\n parserList.push(result.opts.syntax.parse)\n }\n\n // Parser support:\n if (result.opts.parser) parserList.push(result.opts.parser)\n // Try the default as a last resort:\n parserList.push(null)\n\n return runPostcss(postcss, content, filename, plugins, parserList)\n}\n\nfunction runPostcss(postcss, content, filename, plugins, parsers, index) {\n if (!index) index = 0\n return postcss(plugins)\n .process(content, {\n from: filename,\n parser: parsers[index],\n })\n .catch(err => {\n // If there's an error, try the next parser\n index++\n // If there are no parsers left, throw it\n if (index === parsers.length) throw err\n return runPostcss(postcss, content, filename, plugins, parsers, index)\n })\n}\n","\"use strict\"\n\n// external tooling\nconst valueParser = require(\"postcss-value-parser\")\n\n// extended tooling\nconst { stringify } = valueParser\n\nfunction split(params, start) {\n const list = []\n const last = params.reduce((item, node, index) => {\n if (index < start) return \"\"\n if (node.type === \"div\" && node.value === \",\") {\n list.push(item)\n return \"\"\n }\n return item + stringify(node)\n }, \"\")\n list.push(last)\n return list\n}\n\nmodule.exports = function (result, styles) {\n const statements = []\n let nodes = []\n\n styles.each(node => {\n let stmt\n if (node.type === \"atrule\") {\n if (node.name === \"import\") stmt = parseImport(result, node)\n else if (node.name === \"media\") stmt = parseMedia(result, node)\n else if (node.name === \"charset\") stmt = parseCharset(result, node)\n }\n\n if (stmt) {\n if (nodes.length) {\n statements.push({\n type: \"nodes\",\n nodes,\n media: [],\n })\n nodes = []\n }\n statements.push(stmt)\n } else nodes.push(node)\n })\n\n if (nodes.length) {\n statements.push({\n type: \"nodes\",\n nodes,\n media: [],\n })\n }\n\n return statements\n}\n\nfunction parseMedia(result, atRule) {\n const params = valueParser(atRule.params).nodes\n return {\n type: \"media\",\n node: atRule,\n media: split(params, 0),\n }\n}\n\nfunction parseCharset(result, atRule) {\n if (atRule.prev()) {\n return result.warn(\"@charset must precede all other statements\", {\n node: atRule,\n })\n }\n return {\n type: \"charset\",\n node: atRule,\n media: [],\n }\n}\n\nfunction parseImport(result, atRule) {\n let prev = atRule.prev()\n if (prev) {\n do {\n if (\n prev.type !== \"comment\" &&\n (prev.type !== \"atrule\" ||\n (prev.name !== \"import\" && prev.name !== \"charset\"))\n ) {\n return result.warn(\n \"@import must precede all other statements (besides @charset)\",\n { node: atRule }\n )\n }\n prev = prev.prev()\n } while (prev)\n }\n\n if (atRule.nodes) {\n return result.warn(\n \"It looks like you didn't end your @import statement correctly. \" +\n \"Child nodes are attached to it.\",\n { node: atRule }\n )\n }\n\n const params = valueParser(atRule.params).nodes\n const stmt = {\n type: \"import\",\n node: atRule,\n media: [],\n }\n\n // prettier-ignore\n if (\n !params.length ||\n (\n params[0].type !== \"string\" ||\n !params[0].value\n ) &&\n (\n params[0].type !== \"function\" ||\n params[0].value !== \"url\" ||\n !params[0].nodes.length ||\n !params[0].nodes[0].value\n )\n ) {\n return result.warn(`Unable to find uri in '${ atRule.toString() }'`, {\n node: atRule,\n })\n }\n\n if (params[0].type === \"string\") stmt.uri = params[0].value\n else stmt.uri = params[0].nodes[0].value\n stmt.fullUri = stringify(params[0])\n\n if (params.length > 2) {\n if (params[1].type !== \"space\") {\n return result.warn(\"Invalid import media statement\", { node: atRule })\n }\n stmt.media = split(params, 2)\n }\n\n return stmt\n}\n","\"use strict\"\n// builtin tooling\nconst path = require(\"path\")\n\n// internal tooling\nconst joinMedia = require(\"./lib/join-media\")\nconst resolveId = require(\"./lib/resolve-id\")\nconst loadContent = require(\"./lib/load-content\")\nconst processContent = require(\"./lib/process-content\")\nconst parseStatements = require(\"./lib/parse-statements\")\n\nfunction AtImport(options) {\n options = {\n root: process.cwd(),\n path: [],\n skipDuplicates: true,\n resolve: resolveId,\n load: loadContent,\n plugins: [],\n addModulesDirectories: [],\n ...options,\n }\n\n options.root = path.resolve(options.root)\n\n // convert string to an array of a single element\n if (typeof options.path === \"string\") options.path = [options.path]\n\n if (!Array.isArray(options.path)) options.path = []\n\n options.path = options.path.map(p => path.resolve(options.root, p))\n\n return {\n postcssPlugin: \"postcss-import\",\n Once(styles, { result, atRule, postcss }) {\n const state = {\n importedFiles: {},\n hashFiles: {},\n }\n\n if (styles.source && styles.source.input && styles.source.input.file) {\n state.importedFiles[styles.source.input.file] = {}\n }\n\n if (options.plugins && !Array.isArray(options.plugins)) {\n throw new Error(\"plugins option must be an array\")\n }\n\n return parseStyles(result, styles, options, state, []).then(bundle => {\n applyRaws(bundle)\n applyMedia(bundle)\n applyStyles(bundle, styles)\n })\n\n function applyRaws(bundle) {\n bundle.forEach((stmt, index) => {\n if (index === 0) return\n\n if (stmt.parent) {\n const { before } = stmt.parent.node.raws\n if (stmt.type === \"nodes\") stmt.nodes[0].raws.before = before\n else stmt.node.raws.before = before\n } else if (stmt.type === \"nodes\") {\n stmt.nodes[0].raws.before = stmt.nodes[0].raws.before || \"\\n\"\n }\n })\n }\n\n function applyMedia(bundle) {\n bundle.forEach(stmt => {\n if (!stmt.media.length || stmt.type === \"charset\") return\n if (stmt.type === \"import\") {\n stmt.node.params = `${stmt.fullUri} ${stmt.media.join(\", \")}`\n } else if (stmt.type === \"media\")\n stmt.node.params = stmt.media.join(\", \")\n else {\n const { nodes } = stmt\n const { parent } = nodes[0]\n const mediaNode = atRule({\n name: \"media\",\n params: stmt.media.join(\", \"),\n source: parent.source,\n })\n\n parent.insertBefore(nodes[0], mediaNode)\n\n // remove nodes\n nodes.forEach(node => {\n node.parent = undefined\n })\n\n // better output\n nodes[0].raws.before = nodes[0].raws.before || \"\\n\"\n\n // wrap new rules with media query\n mediaNode.append(nodes)\n\n stmt.type = \"media\"\n stmt.node = mediaNode\n delete stmt.nodes\n }\n })\n }\n\n function applyStyles(bundle, styles) {\n styles.nodes = []\n\n // Strip additional statements.\n bundle.forEach(stmt => {\n if ([\"charset\", \"import\", \"media\"].includes(stmt.type)) {\n stmt.node.parent = undefined\n styles.append(stmt.node)\n } else if (stmt.type === \"nodes\") {\n stmt.nodes.forEach(node => {\n node.parent = undefined\n styles.append(node)\n })\n }\n })\n }\n\n function parseStyles(result, styles, options, state, media) {\n const statements = parseStatements(result, styles)\n\n return Promise.resolve(statements)\n .then(stmts => {\n // process each statement in series\n return stmts.reduce((promise, stmt) => {\n return promise.then(() => {\n stmt.media = joinMedia(media, stmt.media || [])\n\n // skip protocol base uri (protocol://url) or protocol-relative\n if (\n stmt.type !== \"import\" ||\n /^(?:[a-z]+:)?\\/\\//i.test(stmt.uri)\n ) {\n return\n }\n\n if (options.filter && !options.filter(stmt.uri)) {\n // rejected by filter\n return\n }\n\n return resolveImportId(result, stmt, options, state)\n })\n }, Promise.resolve())\n })\n .then(() => {\n let charset\n const imports = []\n const bundle = []\n\n function handleCharset(stmt) {\n if (!charset) charset = stmt\n // charsets aren't case-sensitive, so convert to lower case to compare\n else if (\n stmt.node.params.toLowerCase() !==\n charset.node.params.toLowerCase()\n ) {\n throw new Error(\n `Incompatable @charset statements:\n ${stmt.node.params} specified in ${stmt.node.source.input.file}\n ${charset.node.params} specified in ${charset.node.source.input.file}`\n )\n }\n }\n\n // squash statements and their children\n statements.forEach(stmt => {\n if (stmt.type === \"charset\") handleCharset(stmt)\n else if (stmt.type === \"import\") {\n if (stmt.children) {\n stmt.children.forEach((child, index) => {\n if (child.type === \"import\") imports.push(child)\n else if (child.type === \"charset\") handleCharset(child)\n else bundle.push(child)\n // For better output\n if (index === 0) child.parent = stmt\n })\n } else imports.push(stmt)\n } else if (stmt.type === \"media\" || stmt.type === \"nodes\") {\n bundle.push(stmt)\n }\n })\n\n return charset\n ? [charset, ...imports.concat(bundle)]\n : imports.concat(bundle)\n })\n }\n\n function resolveImportId(result, stmt, options, state) {\n const atRule = stmt.node\n let sourceFile\n if (atRule.source && atRule.source.input && atRule.source.input.file) {\n sourceFile = atRule.source.input.file\n }\n const base = sourceFile\n ? path.dirname(atRule.source.input.file)\n : options.root\n\n return Promise.resolve(options.resolve(stmt.uri, base, options))\n .then(paths => {\n if (!Array.isArray(paths)) paths = [paths]\n // Ensure that each path is absolute:\n return Promise.all(\n paths.map(file => {\n return !path.isAbsolute(file)\n ? resolveId(file, base, options)\n : file\n })\n )\n })\n .then(resolved => {\n // Add dependency messages:\n resolved.forEach(file => {\n result.messages.push({\n type: \"dependency\",\n plugin: \"postcss-import\",\n file,\n parent: sourceFile,\n })\n })\n\n return Promise.all(\n resolved.map(file => {\n return loadImportContent(result, stmt, file, options, state)\n })\n )\n })\n .then(result => {\n // Merge loaded statements\n stmt.children = result.reduce((result, statements) => {\n return statements ? result.concat(statements) : result\n }, [])\n })\n }\n\n function loadImportContent(result, stmt, filename, options, state) {\n const atRule = stmt.node\n const { media } = stmt\n if (options.skipDuplicates) {\n // skip files already imported at the same scope\n if (\n state.importedFiles[filename] &&\n state.importedFiles[filename][media]\n ) {\n return\n }\n\n // save imported files to skip them next time\n if (!state.importedFiles[filename]) state.importedFiles[filename] = {}\n state.importedFiles[filename][media] = true\n }\n\n return Promise.resolve(options.load(filename, options)).then(\n content => {\n if (content.trim() === \"\") {\n result.warn(`${filename} is empty`, { node: atRule })\n return\n }\n\n // skip previous imported files not containing @import rules\n if (state.hashFiles[content] && state.hashFiles[content][media])\n return\n\n return processContent(\n result,\n content,\n filename,\n options,\n postcss\n ).then(importedResult => {\n const styles = importedResult.root\n result.messages = result.messages.concat(importedResult.messages)\n\n if (options.skipDuplicates) {\n const hasImport = styles.some(child => {\n return child.type === \"atrule\" && child.name === \"import\"\n })\n if (!hasImport) {\n // save hash files to skip them next time\n if (!state.hashFiles[content]) state.hashFiles[content] = {}\n state.hashFiles[content][media] = true\n }\n }\n\n // recursion: import @import from imported file\n return parseStyles(result, styles, options, state, media)\n })\n }\n )\n }\n },\n }\n}\n\nAtImport.postcss = true\n\nmodule.exports = AtImport\n"],"names":["joinMedia","resolve","require$$0","resolveId","pify","pifyModule","path","require$$1","require$$2","readCacheModule","loadContent","processContent","parseStatements","require$$3","require$$4","require$$5"],"mappings":"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"}