@rsbuild/core 2.0.0-beta.6 → 2.0.0-beta.7

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 (49) hide show
  1. package/compiled/chokidar/index.d.ts +197 -29
  2. package/compiled/chokidar/package.json +1 -1
  3. package/compiled/connect/index.d.ts +90 -0
  4. package/compiled/connect/license +25 -0
  5. package/compiled/connect/package.json +1 -0
  6. package/compiled/cors/index.d.ts +56 -0
  7. package/compiled/cors/license +22 -0
  8. package/compiled/cors/package.json +1 -0
  9. package/compiled/css-loader/index.js +2 -2
  10. package/compiled/html-rspack-plugin/index.js +14 -14
  11. package/compiled/postcss/index.js +1 -1
  12. package/compiled/postcss/lib/at-rule.d.ts +1 -1
  13. package/compiled/postcss/lib/comment.d.ts +1 -1
  14. package/compiled/postcss/lib/container.d.ts +1 -1
  15. package/compiled/postcss/lib/css-syntax-error.d.ts +1 -1
  16. package/compiled/postcss/lib/declaration.d.ts +1 -1
  17. package/compiled/postcss/lib/document.d.ts +1 -1
  18. package/compiled/postcss/lib/input.d.ts +1 -1
  19. package/compiled/postcss/lib/lazy-result.d.ts +1 -1
  20. package/compiled/postcss/lib/no-work-result.d.ts +1 -1
  21. package/compiled/postcss/lib/node.d.ts +1 -1
  22. package/compiled/postcss/lib/previous-map.d.ts +1 -1
  23. package/compiled/postcss/lib/processor.d.ts +1 -1
  24. package/compiled/postcss/lib/result.d.ts +1 -1
  25. package/compiled/postcss/lib/root.d.ts +1 -1
  26. package/compiled/postcss/lib/rule.d.ts +1 -1
  27. package/compiled/postcss/lib/stringifier.d.ts +1 -1
  28. package/compiled/postcss/lib/warning.d.ts +1 -1
  29. package/compiled/postcss/package.json +1 -1
  30. package/compiled/postcss-loader/index.js +6 -6
  31. package/compiled/rspack-chain/package.json +1 -1
  32. package/compiled/rspack-chain/types/index.d.ts +0 -2
  33. package/compiled/rspack-manifest-plugin/index.d.ts +48 -0
  34. package/compiled/rspack-manifest-plugin/license +21 -0
  35. package/compiled/rspack-manifest-plugin/package.json +1 -0
  36. package/compiled/style-loader/index.js +37 -94
  37. package/compiled/style-loader/package.json +1 -1
  38. package/dist/131.js +851 -706
  39. package/dist/client/hmr.js +1 -1
  40. package/dist/connect.js +5 -1
  41. package/dist/launch-editor-middleware.js +11 -10
  42. package/dist/manifest-plugin.js +5 -5
  43. package/dist/memfs.js +45 -45
  44. package/dist/open.js +3 -4
  45. package/dist/tinyglobby.js +100 -55
  46. package/dist-types/types/config.d.ts +4 -4
  47. package/dist-types/types/thirdParty.d.ts +14 -5
  48. package/package.json +9 -9
  49. package/compiled/chokidar/handler.d.ts +0 -90
@@ -1,9 +1,175 @@
1
- /*! chokidar - MIT License (c) 2012 Paul Miller (paulmillr.com) */
2
1
  import { EventEmitter } from 'node:events';
3
- import { Stats } from 'node:fs';
4
- import { type EntryInfo, type ReaddirpOptions, ReaddirpStream } from 'readdirp';
5
- import { EVENTS as EV, type EventName, NodeFsHandler, type Path, type WatchHandlers } from './handler.js';
6
- export type AWF = {
2
+ import { Dirent, Stats, WatchEventType } from 'node:fs';
3
+ import { Readable } from 'node:stream';
4
+
5
+ /**
6
+ * Recursive version of readdir. Exposes a streaming API and promise API.
7
+ * Streaming API allows to use a small amount of RAM.
8
+ *
9
+ * @module
10
+ * @example
11
+ ```js
12
+ import readdirp from 'readdirp';
13
+ for await (const entry of readdirp('.')) {
14
+ const {path} = entry;
15
+ console.log(`${JSON.stringify({path})}`);
16
+ }
17
+ ```
18
+ */
19
+ /*! readdirp - MIT License (c) 2012-2019 Thorsten Lorenz, Paul Miller (https://paulmillr.com) */
20
+
21
+ /** Path in file system. */
22
+ type Path$1 = string;
23
+ /** Emitted entry. Contains relative & absolute path, basename, and either stats or dirent. */
24
+ interface EntryInfo {
25
+ path: string;
26
+ fullPath: string;
27
+ stats?: Stats;
28
+ dirent?: Dirent;
29
+ basename: string;
30
+ }
31
+ /** Path or dir entries (files) */
32
+ type PathOrDirent = Dirent | Path$1;
33
+ /** Filterer for files */
34
+ type Tester = (entryInfo: EntryInfo) => boolean;
35
+ type Predicate = string[] | string | Tester;
36
+ declare const EntryTypes: {
37
+ readonly FILE_TYPE: "files";
38
+ readonly DIR_TYPE: "directories";
39
+ readonly FILE_DIR_TYPE: "files_directories";
40
+ readonly EVERYTHING_TYPE: "all";
41
+ };
42
+ type EntryType = (typeof EntryTypes)[keyof typeof EntryTypes];
43
+ /**
44
+ * Options for readdirp.
45
+ * * type: files, directories, or both
46
+ * * lstat: whether to use symlink-friendly stat
47
+ * * depth: max depth
48
+ * * alwaysStat: whether to use stat (more resources) or dirent
49
+ * * highWaterMark: streaming param, specifies max amount of resources per entry
50
+ */
51
+ type ReaddirpOptions = {
52
+ root: string;
53
+ fileFilter?: Predicate;
54
+ directoryFilter?: Predicate;
55
+ type?: EntryType;
56
+ lstat?: boolean;
57
+ depth?: number;
58
+ alwaysStat?: boolean;
59
+ highWaterMark?: number;
60
+ };
61
+ /** Directory entry. Contains path, depth count, and files. */
62
+ interface DirEntry$1 {
63
+ files: PathOrDirent[];
64
+ depth: number;
65
+ path: Path$1;
66
+ }
67
+ /** Readable readdir stream, emitting new files as they're being listed. */
68
+ declare class ReaddirpStream extends Readable {
69
+ parents: any[];
70
+ reading: boolean;
71
+ parent?: DirEntry$1;
72
+ _stat: Function;
73
+ _maxDepth: number;
74
+ _wantsDir: boolean;
75
+ _wantsFile: boolean;
76
+ _wantsEverything: boolean;
77
+ _root: Path$1;
78
+ _isDirent: boolean;
79
+ _statsProp: 'dirent' | 'stats';
80
+ _rdOptions: {
81
+ encoding: 'utf8';
82
+ withFileTypes: boolean;
83
+ };
84
+ _fileFilter: Tester;
85
+ _directoryFilter: Tester;
86
+ constructor(options?: Partial<ReaddirpOptions>);
87
+ _read(batch: number): Promise<void>;
88
+ _exploreDir(path: Path$1, depth: number): Promise<{
89
+ files: string[] | undefined;
90
+ depth: number;
91
+ path: string;
92
+ }>;
93
+ _formatEntry(dirent: PathOrDirent, path: Path$1): Promise<EntryInfo | undefined>;
94
+ _onError(err: Error): void;
95
+ _getEntryType(entry: EntryInfo): Promise<void | '' | 'file' | 'directory'>;
96
+ _includeAsFile(entry: EntryInfo): boolean | undefined;
97
+ }
98
+
99
+ type Path = string;
100
+ declare const EVENTS: {
101
+ readonly ALL: "all";
102
+ readonly READY: "ready";
103
+ readonly ADD: "add";
104
+ readonly CHANGE: "change";
105
+ readonly ADD_DIR: "addDir";
106
+ readonly UNLINK: "unlink";
107
+ readonly UNLINK_DIR: "unlinkDir";
108
+ readonly RAW: "raw";
109
+ readonly ERROR: "error";
110
+ };
111
+ type EventName = (typeof EVENTS)[keyof typeof EVENTS];
112
+ interface WatchHandlers {
113
+ listener: (path: string) => void;
114
+ errHandler: (err: unknown) => void;
115
+ rawEmitter: (ev: WatchEventType, path: string, opts: unknown) => void;
116
+ }
117
+ /**
118
+ * @mixin
119
+ */
120
+ declare class NodeFsHandler {
121
+ fsw: FSWatcher;
122
+ _boundHandleError: (error: unknown) => void;
123
+ constructor(fsW: FSWatcher);
124
+ /**
125
+ * Watch file for changes with fs_watchFile or fs_watch.
126
+ * @param path to file or dir
127
+ * @param listener on fs change
128
+ * @returns closer for the watcher instance
129
+ */
130
+ _watchWithNodeFs(path: string, listener: (path: string, newStats?: any) => void | Promise<void>): (() => void) | undefined;
131
+ /**
132
+ * Watch a file and emit add event if warranted.
133
+ * @returns closer for the watcher instance
134
+ */
135
+ _handleFile(file: Path, stats: Stats, initialAdd: boolean): (() => void) | undefined;
136
+ /**
137
+ * Handle symlinks encountered while reading a dir.
138
+ * @param entry returned by readdirp
139
+ * @param directory path of dir being read
140
+ * @param path of this item
141
+ * @param item basename of this item
142
+ * @returns true if no more processing is needed for this entry.
143
+ */
144
+ _handleSymlink(entry: EntryInfo, directory: string, path: Path, item: string): Promise<boolean | undefined>;
145
+ _handleRead(directory: string, initialAdd: boolean, wh: WatchHelper, target: Path | undefined, dir: Path, depth: number, throttler: Throttler): Promise<unknown> | undefined;
146
+ /**
147
+ * Read directory to add / remove files from `@watched` list and re-read it on change.
148
+ * @param dir fs path
149
+ * @param stats
150
+ * @param initialAdd
151
+ * @param depth relative to user-supplied path
152
+ * @param target child path targeted for watch
153
+ * @param wh Common watch helpers for this path
154
+ * @param realpath
155
+ * @returns closer for the watcher instance.
156
+ */
157
+ _handleDir(dir: string, stats: Stats, initialAdd: boolean, depth: number, target: string | undefined, wh: WatchHelper, realpath: string): Promise<(() => void) | undefined>;
158
+ /**
159
+ * Handle added file, directory, or glob pattern.
160
+ * Delegates call to _handleFile / _handleDir after checks.
161
+ * @param path to file or ir
162
+ * @param initialAdd was the file added at watch instantiation?
163
+ * @param priorWh depth relative to user-supplied path
164
+ * @param depth Child path actually targeted for watch
165
+ * @param target Child path actually targeted for watch
166
+ */
167
+ _addToNodeFs(path: string, initialAdd: boolean, priorWh: WatchHelper | undefined, depth: number, target?: string): Promise<string | false | undefined>;
168
+ }
169
+
170
+ /*! chokidar - MIT License (c) 2012 Paul Miller (paulmillr.com) */
171
+
172
+ type AWF = {
7
173
  stabilityThreshold: number;
8
174
  pollInterval: number;
9
175
  };
@@ -20,29 +186,29 @@ type BasicOpts = {
20
186
  ignorePermissionErrors: boolean;
21
187
  atomic: boolean | number;
22
188
  };
23
- export type Throttler = {
189
+ type Throttler = {
24
190
  timeoutObject: NodeJS.Timeout;
25
191
  clear: () => void;
26
192
  count: number;
27
193
  };
28
- export type ChokidarOptions = Partial<BasicOpts & {
194
+ type ChokidarOptions = Partial<BasicOpts & {
29
195
  ignored: Matcher | Matcher[];
30
196
  awaitWriteFinish: boolean | Partial<AWF>;
31
197
  }>;
32
- export type FSWInstanceOptions = BasicOpts & {
198
+ type FSWInstanceOptions = BasicOpts & {
33
199
  ignored: Matcher[];
34
200
  awaitWriteFinish: false | AWF;
35
201
  };
36
- export type ThrottleType = 'readdir' | 'watch' | 'add' | 'remove' | 'change';
37
- export type EmitArgs = [path: Path, stats?: Stats];
38
- export type EmitErrorArgs = [error: Error, stats?: Stats];
39
- export type EmitArgsWithName = [event: EventName, ...EmitArgs];
40
- export type MatchFunction = (val: string, stats?: Stats) => boolean;
41
- export interface MatcherObject {
202
+ type ThrottleType = 'readdir' | 'watch' | 'add' | 'remove' | 'change';
203
+ type EmitArgs = [path: Path, stats?: Stats];
204
+ type EmitErrorArgs = [error: Error, stats?: Stats];
205
+ type EmitArgsWithName = [event: EventName, ...EmitArgs];
206
+ type MatchFunction = (val: string, stats?: Stats) => boolean;
207
+ interface MatcherObject {
42
208
  path: string;
43
209
  recursive?: boolean;
44
210
  }
45
- export type Matcher = string | RegExp | MatchFunction | MatcherObject;
211
+ type Matcher = string | RegExp | MatchFunction | MatcherObject;
46
212
  /**
47
213
  * Directory entry.
48
214
  */
@@ -57,7 +223,7 @@ declare class DirEntry {
57
223
  getChildren(): string[];
58
224
  dispose(): void;
59
225
  }
60
- export declare class WatchHelper {
226
+ declare class WatchHelper {
61
227
  fsw: FSWatcher;
62
228
  path: string;
63
229
  watchPath: string;
@@ -70,16 +236,16 @@ export declare class WatchHelper {
70
236
  filterPath(entry: EntryInfo): boolean;
71
237
  filterDir(entry: EntryInfo): boolean;
72
238
  }
73
- export interface FSWatcherEventMap {
74
- [EV.READY]: [];
75
- [EV.RAW]: Parameters<WatchHandlers['rawEmitter']>;
76
- [EV.ERROR]: Parameters<WatchHandlers['errHandler']>;
77
- [EV.ALL]: [event: EventName, ...EmitArgs];
78
- [EV.ADD]: EmitArgs;
79
- [EV.CHANGE]: EmitArgs;
80
- [EV.ADD_DIR]: EmitArgs;
81
- [EV.UNLINK]: EmitArgs;
82
- [EV.UNLINK_DIR]: EmitArgs;
239
+ interface FSWatcherEventMap {
240
+ [EVENTS.READY]: [];
241
+ [EVENTS.RAW]: Parameters<WatchHandlers['rawEmitter']>;
242
+ [EVENTS.ERROR]: Parameters<WatchHandlers['errHandler']>;
243
+ [EVENTS.ALL]: [event: EventName, ...EmitArgs];
244
+ [EVENTS.ADD]: EmitArgs;
245
+ [EVENTS.CHANGE]: EmitArgs;
246
+ [EVENTS.ADD_DIR]: EmitArgs;
247
+ [EVENTS.UNLINK]: EmitArgs;
248
+ [EVENTS.UNLINK_DIR]: EmitArgs;
83
249
  }
84
250
  /**
85
251
  * Watches files & directories for changes. Emitted events:
@@ -89,7 +255,7 @@ export interface FSWatcherEventMap {
89
255
  * .add(directories)
90
256
  * .on('add', path => log('File', path, 'was added'))
91
257
  */
92
- export declare class FSWatcher extends EventEmitter<FSWatcherEventMap> {
258
+ declare class FSWatcher extends EventEmitter<FSWatcherEventMap> {
93
259
  closed: boolean;
94
260
  options: FSWInstanceOptions;
95
261
  _closers: Map<string, Array<any>>;
@@ -209,9 +375,11 @@ export declare class FSWatcher extends EventEmitter<FSWatcherEventMap> {
209
375
  * const watcher = watch('.').on('all', (event, path) => { console.log(event, path); });
210
376
  * watch('.', { atomic: true, awaitWriteFinish: true, ignored: (f, stats) => stats?.isFile() && !f.endsWith('.js') })
211
377
  */
212
- export declare function watch(paths: string | string[], options?: ChokidarOptions): FSWatcher;
378
+ declare function watch(paths: string | string[], options?: ChokidarOptions): FSWatcher;
213
379
  declare const _default: {
214
380
  watch: typeof watch;
215
381
  FSWatcher: typeof FSWatcher;
216
382
  };
217
- export default _default;
383
+
384
+ export { FSWatcher, WatchHelper, _default as default, watch };
385
+ export type { AWF, ChokidarOptions, EmitArgs, EmitArgsWithName, EmitErrorArgs, FSWInstanceOptions, FSWatcherEventMap, MatchFunction, Matcher, MatcherObject, ThrottleType, Throttler };
@@ -1 +1 @@
1
- {"name":"chokidar","author":"Paul Miller (https://paulmillr.com)","version":"5.0.0","funding":"https://paulmillr.com/funding/","license":"MIT","type":"module"}
1
+ {"name":"chokidar","author":"Paul Miller (https://paulmillr.com)","version":"5.0.0","funding":"https://paulmillr.com/funding/","license":"MIT","types":"index.d.ts","type":"module"}
@@ -0,0 +1,90 @@
1
+ /// <reference types="node" />
2
+ import * as http from 'http';
3
+
4
+ /**
5
+ * Create a new connect server.
6
+ */
7
+ declare function createServer(): createServer.Server;
8
+
9
+ declare namespace createServer {
10
+ export type ServerHandle = HandleFunction | http.Server;
11
+
12
+ export class IncomingMessage extends http.IncomingMessage {
13
+ originalUrl?: http.IncomingMessage["url"] | undefined;
14
+ }
15
+
16
+ type NextFunction = (err?: any) => void;
17
+
18
+ export type SimpleHandleFunction = (req: IncomingMessage, res: http.ServerResponse) => void;
19
+ export type NextHandleFunction = (req: IncomingMessage, res: http.ServerResponse, next: NextFunction) => void;
20
+ export type ErrorHandleFunction = (
21
+ err: any,
22
+ req: IncomingMessage,
23
+ res: http.ServerResponse,
24
+ next: NextFunction,
25
+ ) => void;
26
+ export type HandleFunction = SimpleHandleFunction | NextHandleFunction | ErrorHandleFunction;
27
+
28
+ export interface ServerStackItem {
29
+ route: string;
30
+ handle: ServerHandle;
31
+ }
32
+
33
+ export interface Server extends NodeJS.EventEmitter {
34
+ (req: http.IncomingMessage, res: http.ServerResponse, next?: Function): void;
35
+
36
+ route: string;
37
+ stack: ServerStackItem[];
38
+
39
+ /**
40
+ * Utilize the given middleware `handle` to the given `route`,
41
+ * defaulting to _/_. This "route" is the mount-point for the
42
+ * middleware, when given a value other than _/_ the middleware
43
+ * is only effective when that segment is present in the request's
44
+ * pathname.
45
+ *
46
+ * For example if we were to mount a function at _/admin_, it would
47
+ * be invoked on _/admin_, and _/admin/settings_, however it would
48
+ * not be invoked for _/_, or _/posts_.
49
+ */
50
+ use(fn: NextHandleFunction): Server;
51
+ use(fn: HandleFunction): Server;
52
+ use(route: string, fn: NextHandleFunction): Server;
53
+ use(route: string, fn: HandleFunction): Server;
54
+
55
+ /**
56
+ * Handle server requests, punting them down
57
+ * the middleware stack.
58
+ */
59
+ handle(req: http.IncomingMessage, res: http.ServerResponse, next: Function): void;
60
+
61
+ /**
62
+ * Listen for connections.
63
+ *
64
+ * This method takes the same arguments
65
+ * as node's `http.Server#listen()`.
66
+ *
67
+ * HTTP and HTTPS:
68
+ *
69
+ * If you run your application both as HTTP
70
+ * and HTTPS you may wrap them individually,
71
+ * since your Connect "server" is really just
72
+ * a JavaScript `Function`.
73
+ *
74
+ * var connect = require('connect')
75
+ * , http = require('http')
76
+ * , https = require('https');
77
+ *
78
+ * var app = connect();
79
+ *
80
+ * http.createServer(app).listen(80);
81
+ * https.createServer(options, app).listen(443);
82
+ */
83
+ listen(port: number, hostname?: string, backlog?: number, callback?: Function): http.Server;
84
+ listen(port: number, hostname?: string, callback?: Function): http.Server;
85
+ listen(path: string, callback?: Function): http.Server;
86
+ listen(handle: any, listeningListener?: Function): http.Server;
87
+ }
88
+ }
89
+
90
+ export { createServer as default };
@@ -0,0 +1,25 @@
1
+ (The MIT License)
2
+
3
+ Copyright (c) 2010 Sencha Inc.
4
+ Copyright (c) 2011 LearnBoost
5
+ Copyright (c) 2011-2014 TJ Holowaychuk
6
+ Copyright (c) 2015 Douglas Christopher Wilson
7
+
8
+ Permission is hereby granted, free of charge, to any person obtaining
9
+ a copy of this software and associated documentation files (the
10
+ 'Software'), to deal in the Software without restriction, including
11
+ without limitation the rights to use, copy, modify, merge, publish,
12
+ distribute, sublicense, and/or sell copies of the Software, and to
13
+ permit persons to whom the Software is furnished to do so, subject to
14
+ the following conditions:
15
+
16
+ The above copyright notice and this permission notice shall be
17
+ included in all copies or substantial portions of the Software.
18
+
19
+ THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
20
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
21
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
22
+ IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
23
+ CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
24
+ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
25
+ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -0,0 +1 @@
1
+ {"name":"connect","author":"TJ Holowaychuk <tj@vision-media.ca> (http://tjholowaychuk.com)","version":"3.7.0","license":"MIT","types":"index.d.ts","type":"commonjs"}
@@ -0,0 +1,56 @@
1
+ /// <reference types="node" />
2
+ import { IncomingHttpHeaders } from 'http';
3
+
4
+ type StaticOrigin = boolean | string | RegExp | Array<boolean | string | RegExp>;
5
+
6
+ type CustomOrigin = (
7
+ requestOrigin: string | undefined,
8
+ callback: (err: Error | null, origin?: StaticOrigin) => void,
9
+ ) => void;
10
+
11
+ declare namespace e {
12
+ interface CorsRequest {
13
+ method?: string | undefined;
14
+ headers: IncomingHttpHeaders;
15
+ }
16
+ interface CorsOptions {
17
+ /**
18
+ * @default '*'
19
+ */
20
+ origin?: StaticOrigin | CustomOrigin | undefined;
21
+ /**
22
+ * @default 'GET,HEAD,PUT,PATCH,POST,DELETE'
23
+ */
24
+ methods?: string | string[] | undefined;
25
+ allowedHeaders?: string | string[] | undefined;
26
+ exposedHeaders?: string | string[] | undefined;
27
+ credentials?: boolean | undefined;
28
+ maxAge?: number | undefined;
29
+ /**
30
+ * @default false
31
+ */
32
+ preflightContinue?: boolean | undefined;
33
+ /**
34
+ * @default 204
35
+ */
36
+ optionsSuccessStatus?: number | undefined;
37
+ }
38
+ type CorsOptionsDelegate<T extends CorsRequest = CorsRequest> = (
39
+ req: T,
40
+ callback: (err: Error | null, options?: CorsOptions) => void,
41
+ ) => void;
42
+ }
43
+
44
+ declare function e<T extends e.CorsRequest = e.CorsRequest>(
45
+ options?: e.CorsOptions | e.CorsOptionsDelegate<T>,
46
+ ): (
47
+ req: T,
48
+ res: {
49
+ statusCode?: number | undefined;
50
+ setHeader(key: string, value: string): any;
51
+ end(): any;
52
+ },
53
+ next: (err?: any) => any,
54
+ ) => void;
55
+
56
+ export { e as default };
@@ -0,0 +1,22 @@
1
+ (The MIT License)
2
+
3
+ Copyright (c) 2013 Troy Goode <troygoode@gmail.com>
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining
6
+ a copy of this software and associated documentation files (the
7
+ 'Software'), to deal in the Software without restriction, including
8
+ without limitation the rights to use, copy, modify, merge, publish,
9
+ distribute, sublicense, and/or sell copies of the Software, and to
10
+ permit persons to whom the Software is furnished to do so, subject to
11
+ the following conditions:
12
+
13
+ The above copyright notice and this permission notice shall be
14
+ included in all copies or substantial portions of the Software.
15
+
16
+ THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
17
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
19
+ IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
20
+ CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
21
+ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
22
+ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -0,0 +1 @@
1
+ {"name":"cors","author":"Troy Goode <troygoode@gmail.com> (https://github.com/troygoode/)","version":"2.8.6","funding":{"type":"opencollective","url":"https://opencollective.com/express"},"license":"MIT","types":"index.d.ts","type":"commonjs"}