isomorfeus-asset-manager 0.14.0 → 0.14.4

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 9ecd5d4ffec5c3ee0a0badadcc4d3044aebdc4a62d2d853b3bbe1579684a589e
4
- data.tar.gz: 343475733acace991c38ae1c429ca4a47537c9e698bd27253b7fe22276a06822
3
+ metadata.gz: a83fdf022fd341ce28f4a0533776da0a031ba670cd40359244f3aea325f19516
4
+ data.tar.gz: a5464ad0b20b519d51e03f7647ec5172f56e11eaa4a3cbdf452c165fbd22a479
5
5
  SHA512:
6
- metadata.gz: 1f407836712bb582ee7d0dbbbd9852e23851a02089f6371606163ddfcbae57d32b2fd4a519b4a9da433fd49be55ed7b8efff27393ad7062be476187de2715931
7
- data.tar.gz: 53d27ad0ed14630abafbe370184c98c453a61ed2f5d7d3483601c52ee9c55cf85871bc2f1615bf85775f6bd5f50a90790aaeb0e88467847af81f4178882d9e3b
6
+ metadata.gz: 9f46562a150ec724571aa2b8c52d8f0d8ffd0e019d8b1ec93790ac9072b1f4e7959becb510cd8d38252837a56e7aa65b83444ec1af1570f5b4af7723e4383c97
7
+ data.tar.gz: 59a374bed60494f2d5aaf133acc513a66a5961a40bad5332bf7f2d69c290398abe250b26c93dbf5ee64259ef4693de473287bb83967d0f165cb661fe74fa66b8
@@ -1,5 +1,5 @@
1
1
  module Isomorfeus
2
2
  class AssetManager
3
- VERSION = '0.14.0'
3
+ VERSION = '0.14.4'
4
4
  end
5
5
  end
@@ -4,9 +4,9 @@
4
4
  "requires": true,
5
5
  "packages": {
6
6
  "node_modules/esbuild-wasm": {
7
- "version": "0.14.0",
8
- "resolved": "https://registry.npmjs.org/esbuild-wasm/-/esbuild-wasm-0.14.0.tgz",
9
- "integrity": "sha512-PsxHQnbpe+lXh4VzvLZyd2mT41j4xazLnV+hZka4ASjZzIRadITVY1veSplPl9HiNWIEbBha8nAljrU0WejXIw==",
7
+ "version": "0.14.11",
8
+ "resolved": "https://registry.npmjs.org/esbuild-wasm/-/esbuild-wasm-0.14.11.tgz",
9
+ "integrity": "sha512-9e1R6hv0hiU+BkJI2edqUuWfXUbOP2Mox+Ijl/uY1vLLlSsunkrcADqD/4Rz+VCEDzw6ecscJM+uJqR2fRmEUg==",
10
10
  "bin": {
11
11
  "esbuild": "bin/esbuild"
12
12
  },
Binary file
@@ -3,6 +3,7 @@ export type Format = 'iife' | 'cjs' | 'esm';
3
3
  export type Loader = 'js' | 'jsx' | 'ts' | 'tsx' | 'css' | 'json' | 'text' | 'base64' | 'file' | 'dataurl' | 'binary' | 'default';
4
4
  export type LogLevel = 'verbose' | 'debug' | 'info' | 'warning' | 'error' | 'silent';
5
5
  export type Charset = 'ascii' | 'utf8';
6
+ export type Drop = 'console' | 'debugger';
6
7
 
7
8
  interface CommonOptions {
8
9
  /** Documentation: https://esbuild.github.io/api/#sourcemap */
@@ -21,6 +22,7 @@ interface CommonOptions {
21
22
  /** Documentation: https://esbuild.github.io/api/#target */
22
23
  target?: string | string[];
23
24
 
25
+ drop?: Drop[];
24
26
  /** Documentation: https://esbuild.github.io/api/#minify */
25
27
  minify?: boolean;
26
28
  /** Documentation: https://esbuild.github.io/api/#minify */
@@ -232,6 +234,7 @@ export interface TransformOptions extends CommonOptions {
232
234
  jsxFragmentFactory?: string,
233
235
  useDefineForClassFields?: boolean,
234
236
  importsNotUsedAsValues?: 'remove' | 'preserve' | 'error',
237
+ preserveValueImports?: boolean,
235
238
  },
236
239
  };
237
240
 
@@ -259,6 +262,8 @@ export interface Plugin {
259
262
 
260
263
  export interface PluginBuild {
261
264
  initialOptions: BuildOptions;
265
+ resolve(path: string, options?: ResolveOptions): Promise<ResolveResult>;
266
+
262
267
  onStart(callback: () =>
263
268
  (OnStartResult | null | void | Promise<OnStartResult | null | void>)): void;
264
269
  onEnd(callback: (result: BuildResult) =>
@@ -267,6 +272,42 @@ export interface PluginBuild {
267
272
  (OnResolveResult | null | undefined | Promise<OnResolveResult | null | undefined>)): void;
268
273
  onLoad(options: OnLoadOptions, callback: (args: OnLoadArgs) =>
269
274
  (OnLoadResult | null | undefined | Promise<OnLoadResult | null | undefined>)): void;
275
+
276
+ // This is a full copy of the esbuild library in case you need it
277
+ esbuild: {
278
+ serve: typeof serve,
279
+ build: typeof build,
280
+ buildSync: typeof buildSync,
281
+ transform: typeof transform,
282
+ transformSync: typeof transformSync,
283
+ formatMessages: typeof formatMessages,
284
+ formatMessagesSync: typeof formatMessagesSync,
285
+ analyzeMetafile: typeof analyzeMetafile,
286
+ analyzeMetafileSync: typeof analyzeMetafileSync,
287
+ initialize: typeof initialize,
288
+ version: typeof version,
289
+ };
290
+ }
291
+
292
+ export interface ResolveOptions {
293
+ pluginName?: string;
294
+ importer?: string;
295
+ namespace?: string;
296
+ resolveDir?: string;
297
+ kind?: ImportKind;
298
+ pluginData?: any;
299
+ }
300
+
301
+ export interface ResolveResult {
302
+ errors: Message[];
303
+ warnings: Message[];
304
+
305
+ path: string;
306
+ external: boolean;
307
+ sideEffects: boolean;
308
+ namespace: string;
309
+ suffix: string;
310
+ pluginData: any;
270
311
  }
271
312
 
272
313
  export interface OnStartResult {
@@ -311,6 +352,7 @@ export interface OnResolveResult {
311
352
  external?: boolean;
312
353
  sideEffects?: boolean;
313
354
  namespace?: string;
355
+ suffix?: string;
314
356
  pluginData?: any;
315
357
 
316
358
  watchFiles?: string[];
@@ -325,6 +367,7 @@ export interface OnLoadOptions {
325
367
  export interface OnLoadArgs {
326
368
  path: string;
327
369
  namespace: string;
370
+ suffix: string;
328
371
  pluginData: any;
329
372
  }
330
373
 
@@ -406,7 +449,9 @@ export interface AnalyzeMetafileOptions {
406
449
  * Documentation: https://esbuild.github.io/api/#build-api
407
450
  */
408
451
  export declare function build(options: BuildOptions & { write: false }): Promise<BuildResult & { outputFiles: OutputFile[] }>;
452
+ export declare function build(options: BuildOptions & { incremental: true, metafile: true }): Promise<BuildIncremental & { metafile: Metafile }>;
409
453
  export declare function build(options: BuildOptions & { incremental: true }): Promise<BuildIncremental>;
454
+ export declare function build(options: BuildOptions & { metafile: true }): Promise<BuildResult & { metafile: Metafile }>;
410
455
  export declare function build(options: BuildOptions): Promise<BuildResult>;
411
456
 
412
457
  /**
@@ -17,6 +17,26 @@ var __spreadValues = (a, b) => {
17
17
  return a;
18
18
  };
19
19
  var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
20
+ var __export = (target, all) => {
21
+ for (var name in all)
22
+ __defProp(target, name, { get: all[name], enumerable: true });
23
+ };
24
+
25
+ // lib/npm/browser.ts
26
+ var browser_exports = {};
27
+ __export(browser_exports, {
28
+ analyzeMetafile: () => analyzeMetafile,
29
+ analyzeMetafileSync: () => analyzeMetafileSync,
30
+ build: () => build,
31
+ buildSync: () => buildSync,
32
+ formatMessages: () => formatMessages,
33
+ formatMessagesSync: () => formatMessagesSync,
34
+ initialize: () => initialize,
35
+ serve: () => serve,
36
+ transform: () => transform,
37
+ transformSync: () => transformSync,
38
+ version: () => version
39
+ });
20
40
 
21
41
  // lib/shared/stdio_protocol.ts
22
42
  function encodePacket(packet) {
@@ -222,7 +242,7 @@ function checkForInvalidFlags(object, keys, where) {
222
242
  }
223
243
  }
224
244
  function validateInitializeOptions(options) {
225
- let keys = Object.create(null);
245
+ let keys = /* @__PURE__ */ Object.create(null);
226
246
  let wasmURL = getFlag(options, keys, "wasmURL", mustBeString);
227
247
  let worker = getFlag(options, keys, "worker", mustBeBoolean);
228
248
  checkForInvalidFlags(options, keys, "in startService() call");
@@ -253,6 +273,7 @@ function pushCommonFlags(flags, options, keys) {
253
273
  let minifySyntax = getFlag(options, keys, "minifySyntax", mustBeBoolean);
254
274
  let minifyWhitespace = getFlag(options, keys, "minifyWhitespace", mustBeBoolean);
255
275
  let minifyIdentifiers = getFlag(options, keys, "minifyIdentifiers", mustBeBoolean);
276
+ let drop = getFlag(options, keys, "drop", mustBeArray);
256
277
  let charset = getFlag(options, keys, "charset", mustBeString);
257
278
  let treeShaking = getFlag(options, keys, "treeShaking", mustBeBoolean);
258
279
  let ignoreAnnotations = getFlag(options, keys, "ignoreAnnotations", mustBeBoolean);
@@ -292,6 +313,9 @@ function pushCommonFlags(flags, options, keys) {
292
313
  flags.push(`--tree-shaking=${treeShaking}`);
293
314
  if (ignoreAnnotations)
294
315
  flags.push(`--ignore-annotations`);
316
+ if (drop)
317
+ for (let what of drop)
318
+ flags.push(`--drop:${what}`);
295
319
  if (jsx)
296
320
  flags.push(`--jsx=${jsx}`);
297
321
  if (jsxFactory)
@@ -315,7 +339,7 @@ function flagsForBuildOptions(callName, options, isTTY, logLevelDefault, writeDe
315
339
  var _a;
316
340
  let flags = [];
317
341
  let entries = [];
318
- let keys = Object.create(null);
342
+ let keys = /* @__PURE__ */ Object.create(null);
319
343
  let stdinContents = null;
320
344
  let stdinResolveDir = null;
321
345
  let watchMode = null;
@@ -365,7 +389,7 @@ function flagsForBuildOptions(callName, options, isTTY, logLevelDefault, writeDe
365
389
  if (typeof watch === "boolean") {
366
390
  watchMode = {};
367
391
  } else {
368
- let watchKeys = Object.create(null);
392
+ let watchKeys = /* @__PURE__ */ Object.create(null);
369
393
  let onRebuild = getFlag(watch, watchKeys, "onRebuild", mustBeFunction);
370
394
  checkForInvalidFlags(watch, watchKeys, `on "watch" in ${callName}() call`);
371
395
  watchMode = { onRebuild };
@@ -471,7 +495,7 @@ function flagsForBuildOptions(callName, options, isTTY, logLevelDefault, writeDe
471
495
  }
472
496
  }
473
497
  if (stdin) {
474
- let stdinKeys = Object.create(null);
498
+ let stdinKeys = /* @__PURE__ */ Object.create(null);
475
499
  let contents = getFlag(stdin, stdinKeys, "contents", mustBeString);
476
500
  let resolveDir = getFlag(stdin, stdinKeys, "resolveDir", mustBeString);
477
501
  let sourcefile = getFlag(stdin, stdinKeys, "sourcefile", mustBeString);
@@ -506,7 +530,7 @@ function flagsForBuildOptions(callName, options, isTTY, logLevelDefault, writeDe
506
530
  }
507
531
  function flagsForTransformOptions(callName, options, isTTY, logLevelDefault) {
508
532
  let flags = [];
509
- let keys = Object.create(null);
533
+ let keys = /* @__PURE__ */ Object.create(null);
510
534
  pushLogFlags(flags, options, keys, isTTY, logLevelDefault);
511
535
  pushCommonFlags(flags, options, keys);
512
536
  let sourcemap = getFlag(options, keys, "sourcemap", mustBeStringOrBoolean);
@@ -535,7 +559,6 @@ function createChannel(streamIn) {
535
559
  let pluginCallbacks = /* @__PURE__ */ new Map();
536
560
  let watchCallbacks = /* @__PURE__ */ new Map();
537
561
  let serveCallbacks = /* @__PURE__ */ new Map();
538
- let nextServeID = 0;
539
562
  let isClosed = false;
540
563
  let nextRequestID = 0;
541
564
  let nextBuildKey = 0;
@@ -612,7 +635,7 @@ function createChannel(streamIn) {
612
635
  sendResponse(id, {});
613
636
  break;
614
637
  }
615
- case "start": {
638
+ case "on-start": {
616
639
  let callback = pluginCallbacks.get(request.key);
617
640
  if (!callback)
618
641
  sendResponse(id, {});
@@ -620,7 +643,7 @@ function createChannel(streamIn) {
620
643
  sendResponse(id, await callback(request));
621
644
  break;
622
645
  }
623
- case "resolve": {
646
+ case "on-resolve": {
624
647
  let callback = pluginCallbacks.get(request.key);
625
648
  if (!callback)
626
649
  sendResponse(id, {});
@@ -628,7 +651,7 @@ function createChannel(streamIn) {
628
651
  sendResponse(id, await callback(request));
629
652
  break;
630
653
  }
631
- case "load": {
654
+ case "on-load": {
632
655
  let callback = pluginCallbacks.get(request.key);
633
656
  if (!callback)
634
657
  sendResponse(id, {});
@@ -637,21 +660,21 @@ function createChannel(streamIn) {
637
660
  break;
638
661
  }
639
662
  case "serve-request": {
640
- let callbacks = serveCallbacks.get(request.serveID);
663
+ let callbacks = serveCallbacks.get(request.key);
641
664
  if (callbacks && callbacks.onRequest)
642
665
  callbacks.onRequest(request.args);
643
666
  sendResponse(id, {});
644
667
  break;
645
668
  }
646
669
  case "serve-wait": {
647
- let callbacks = serveCallbacks.get(request.serveID);
670
+ let callbacks = serveCallbacks.get(request.key);
648
671
  if (callbacks)
649
672
  callbacks.onWait(request.error);
650
673
  sendResponse(id, {});
651
674
  break;
652
675
  }
653
676
  case "watch-rebuild": {
654
- let callback = watchCallbacks.get(request.watchID);
677
+ let callback = watchCallbacks.get(request.key);
655
678
  try {
656
679
  if (callback)
657
680
  callback(null, request.args);
@@ -673,8 +696,8 @@ function createChannel(streamIn) {
673
696
  if (isFirstPacket) {
674
697
  isFirstPacket = false;
675
698
  let binaryVersion = String.fromCharCode(...bytes);
676
- if (binaryVersion !== "0.14.0") {
677
- throw new Error(`Cannot start service: Host version "${"0.14.0"}" does not match binary version ${JSON.stringify(binaryVersion)}`);
699
+ if (binaryVersion !== "0.14.11") {
700
+ throw new Error(`Cannot start service: Host version "${"0.14.11"}" does not match binary version ${JSON.stringify(binaryVersion)}`);
678
701
  }
679
702
  return;
680
703
  }
@@ -690,7 +713,7 @@ function createChannel(streamIn) {
690
713
  callback(null, packet.value);
691
714
  }
692
715
  };
693
- let handlePlugins = async (initialOptions, plugins, buildKey, stash) => {
716
+ let handlePlugins = async (initialOptions, plugins, buildKey, stash, refs) => {
694
717
  let onStartCallbacks = [];
695
718
  let onEndCallbacks = [];
696
719
  let onResolveCallbacks = {};
@@ -698,12 +721,13 @@ function createChannel(streamIn) {
698
721
  let nextCallbackID = 0;
699
722
  let i = 0;
700
723
  let requestPlugins = [];
724
+ let isSetupDone = false;
701
725
  plugins = [...plugins];
702
726
  for (let item of plugins) {
703
727
  let keys = {};
704
728
  if (typeof item !== "object")
705
729
  throw new Error(`Plugin at index ${i} must be an object`);
706
- let name = getFlag(item, keys, "name", mustBeString);
730
+ const name = getFlag(item, keys, "name", mustBeString);
707
731
  if (typeof name !== "string" || name === "")
708
732
  throw new Error(`Plugin at index ${i} is missing a name`);
709
733
  try {
@@ -717,20 +741,70 @@ function createChannel(streamIn) {
717
741
  onLoad: []
718
742
  };
719
743
  i++;
744
+ let resolve = (path, options = {}) => {
745
+ if (!isSetupDone)
746
+ throw new Error('Cannot call "resolve" before plugin setup has completed');
747
+ if (typeof path !== "string")
748
+ throw new Error(`The path to resolve must be a string`);
749
+ let keys2 = /* @__PURE__ */ Object.create(null);
750
+ let pluginName = getFlag(options, keys2, "pluginName", mustBeString);
751
+ let importer = getFlag(options, keys2, "importer", mustBeString);
752
+ let namespace = getFlag(options, keys2, "namespace", mustBeString);
753
+ let resolveDir = getFlag(options, keys2, "resolveDir", mustBeString);
754
+ let kind = getFlag(options, keys2, "kind", mustBeString);
755
+ let pluginData = getFlag(options, keys2, "pluginData", canBeAnything);
756
+ checkForInvalidFlags(options, keys2, "in resolve() call");
757
+ return new Promise((resolve2, reject) => {
758
+ const request = {
759
+ command: "resolve",
760
+ path,
761
+ key: buildKey,
762
+ pluginName: name
763
+ };
764
+ if (pluginName != null)
765
+ request.pluginName = pluginName;
766
+ if (importer != null)
767
+ request.importer = importer;
768
+ if (namespace != null)
769
+ request.namespace = namespace;
770
+ if (resolveDir != null)
771
+ request.resolveDir = resolveDir;
772
+ if (kind != null)
773
+ request.kind = kind;
774
+ if (pluginData != null)
775
+ request.pluginData = stash.store(pluginData);
776
+ sendRequest(refs, request, (error, response) => {
777
+ if (error !== null)
778
+ reject(new Error(error));
779
+ else
780
+ resolve2({
781
+ errors: replaceDetailsInMessages(response.errors, stash),
782
+ warnings: replaceDetailsInMessages(response.warnings, stash),
783
+ path: response.path,
784
+ external: response.external,
785
+ sideEffects: response.sideEffects,
786
+ namespace: response.namespace,
787
+ suffix: response.suffix,
788
+ pluginData: stash.load(response.pluginData)
789
+ });
790
+ });
791
+ });
792
+ };
720
793
  let promise = setup({
721
794
  initialOptions,
795
+ resolve,
722
796
  onStart(callback2) {
723
- let registeredText = `This error came from the "onStart" callback registered here`;
797
+ let registeredText = `This error came from the "onStart" callback registered here:`;
724
798
  let registeredNote = extractCallerV8(new Error(registeredText), streamIn, "onStart");
725
799
  onStartCallbacks.push({ name, callback: callback2, note: registeredNote });
726
800
  },
727
801
  onEnd(callback2) {
728
- let registeredText = `This error came from the "onEnd" callback registered here`;
802
+ let registeredText = `This error came from the "onEnd" callback registered here:`;
729
803
  let registeredNote = extractCallerV8(new Error(registeredText), streamIn, "onEnd");
730
804
  onEndCallbacks.push({ name, callback: callback2, note: registeredNote });
731
805
  },
732
806
  onResolve(options, callback2) {
733
- let registeredText = `This error came from the "onResolve" callback registered here`;
807
+ let registeredText = `This error came from the "onResolve" callback registered here:`;
734
808
  let registeredNote = extractCallerV8(new Error(registeredText), streamIn, "onResolve");
735
809
  let keys2 = {};
736
810
  let filter = getFlag(options, keys2, "filter", mustBeRegExp);
@@ -743,7 +817,7 @@ function createChannel(streamIn) {
743
817
  plugin.onResolve.push({ id, filter: filter.source, namespace: namespace || "" });
744
818
  },
745
819
  onLoad(options, callback2) {
746
- let registeredText = `This error came from the "onLoad" callback registered here`;
820
+ let registeredText = `This error came from the "onLoad" callback registered here:`;
747
821
  let registeredNote = extractCallerV8(new Error(registeredText), streamIn, "onLoad");
748
822
  let keys2 = {};
749
823
  let filter = getFlag(options, keys2, "filter", mustBeRegExp);
@@ -754,7 +828,8 @@ function createChannel(streamIn) {
754
828
  let id = nextCallbackID++;
755
829
  onLoadCallbacks[id] = { name, callback: callback2, note: registeredNote };
756
830
  plugin.onLoad.push({ id, filter: filter.source, namespace: namespace || "" });
757
- }
831
+ },
832
+ esbuild: streamIn.esbuild
758
833
  });
759
834
  if (promise)
760
835
  await promise;
@@ -765,7 +840,7 @@ function createChannel(streamIn) {
765
840
  }
766
841
  const callback = async (request) => {
767
842
  switch (request.command) {
768
- case "start": {
843
+ case "on-start": {
769
844
  let response = { errors: [], warnings: [] };
770
845
  await Promise.all(onStartCallbacks.map(async ({ name, callback: callback2, note }) => {
771
846
  try {
@@ -788,7 +863,7 @@ function createChannel(streamIn) {
788
863
  }));
789
864
  return response;
790
865
  }
791
- case "resolve": {
866
+ case "on-resolve": {
792
867
  let response = {}, name = "", callback2, note;
793
868
  for (let id of request.ids) {
794
869
  try {
@@ -808,6 +883,7 @@ function createChannel(streamIn) {
808
883
  let pluginName = getFlag(result, keys, "pluginName", mustBeString);
809
884
  let path = getFlag(result, keys, "path", mustBeString);
810
885
  let namespace = getFlag(result, keys, "namespace", mustBeString);
886
+ let suffix = getFlag(result, keys, "suffix", mustBeString);
811
887
  let external = getFlag(result, keys, "external", mustBeBoolean);
812
888
  let sideEffects = getFlag(result, keys, "sideEffects", mustBeBoolean);
813
889
  let pluginData = getFlag(result, keys, "pluginData", canBeAnything);
@@ -823,6 +899,8 @@ function createChannel(streamIn) {
823
899
  response.path = path;
824
900
  if (namespace != null)
825
901
  response.namespace = namespace;
902
+ if (suffix != null)
903
+ response.suffix = suffix;
826
904
  if (external != null)
827
905
  response.external = external;
828
906
  if (sideEffects != null)
@@ -845,7 +923,7 @@ function createChannel(streamIn) {
845
923
  }
846
924
  return response;
847
925
  }
848
- case "load": {
926
+ case "on-load": {
849
927
  let response = {}, name = "", callback2, note;
850
928
  for (let id of request.ids) {
851
929
  try {
@@ -853,6 +931,7 @@ function createChannel(streamIn) {
853
931
  let result = await callback2({
854
932
  path: request.path,
855
933
  namespace: request.namespace,
934
+ suffix: request.suffix,
856
935
  pluginData: stash.load(request.pluginData)
857
936
  });
858
937
  if (result != null) {
@@ -916,6 +995,7 @@ function createChannel(streamIn) {
916
995
  })().then(done);
917
996
  };
918
997
  }
998
+ isSetupDone = true;
919
999
  let refCount = 0;
920
1000
  return {
921
1001
  ok: true,
@@ -933,24 +1013,23 @@ function createChannel(streamIn) {
933
1013
  }
934
1014
  };
935
1015
  };
936
- let buildServeData = (refs, options, request) => {
1016
+ let buildServeData = (refs, options, request, key) => {
937
1017
  let keys = {};
938
1018
  let port = getFlag(options, keys, "port", mustBeInteger);
939
1019
  let host = getFlag(options, keys, "host", mustBeString);
940
1020
  let servedir = getFlag(options, keys, "servedir", mustBeString);
941
1021
  let onRequest = getFlag(options, keys, "onRequest", mustBeFunction);
942
- let serveID = nextServeID++;
943
1022
  let onWait;
944
1023
  let wait = new Promise((resolve, reject) => {
945
1024
  onWait = (error) => {
946
- serveCallbacks.delete(serveID);
1025
+ serveCallbacks.delete(key);
947
1026
  if (error !== null)
948
1027
  reject(new Error(error));
949
1028
  else
950
1029
  resolve();
951
1030
  };
952
1031
  });
953
- request.serve = { serveID };
1032
+ request.serve = {};
954
1033
  checkForInvalidFlags(options, keys, `in serve() call`);
955
1034
  if (port !== void 0)
956
1035
  request.serve.port = port;
@@ -958,14 +1037,14 @@ function createChannel(streamIn) {
958
1037
  request.serve.host = host;
959
1038
  if (servedir !== void 0)
960
1039
  request.serve.servedir = servedir;
961
- serveCallbacks.set(serveID, {
1040
+ serveCallbacks.set(key, {
962
1041
  onRequest,
963
1042
  onWait
964
1043
  });
965
1044
  return {
966
1045
  wait,
967
1046
  stop() {
968
- sendRequest(refs, { command: "serve-stop", serveID }, () => {
1047
+ sendRequest(refs, { command: "serve-stop", key }, () => {
969
1048
  });
970
1049
  }
971
1050
  };
@@ -1005,7 +1084,7 @@ function createChannel(streamIn) {
1005
1084
  if (plugins && plugins.length > 0) {
1006
1085
  if (streamIn.isSync)
1007
1086
  return handleError(new Error("Cannot use plugins in synchronous API calls"), "");
1008
- handlePlugins(options, plugins, key, details).then((result) => {
1087
+ handlePlugins(options, plugins, key, details, refs).then((result) => {
1009
1088
  if (!result.ok) {
1010
1089
  handleError(result.error, result.pluginName);
1011
1090
  } else {
@@ -1093,7 +1172,7 @@ function createChannel(streamIn) {
1093
1172
  };
1094
1173
  if (requestPlugins)
1095
1174
  request.plugins = requestPlugins;
1096
- let serve2 = serveOptions && buildServeData(refs, serveOptions, request);
1175
+ let serve2 = serveOptions && buildServeData(refs, serveOptions, request, key);
1097
1176
  let rebuild;
1098
1177
  let stop;
1099
1178
  let copyResponseToResult = (response, result) => {
@@ -1114,13 +1193,13 @@ function createChannel(streamIn) {
1114
1193
  if (result.errors.length > 0) {
1115
1194
  return callback2(failureErrorWithLog("Build failed", result.errors, result.warnings), null);
1116
1195
  }
1117
- if (response.rebuildID !== void 0) {
1196
+ if (response.rebuild) {
1118
1197
  if (!rebuild) {
1119
1198
  let isDisposed = false;
1120
1199
  rebuild = () => new Promise((resolve, reject) => {
1121
1200
  if (isDisposed || isClosed)
1122
1201
  throw new Error("Cannot rebuild");
1123
- sendRequest(refs, { command: "rebuild", rebuildID: response.rebuildID }, (error2, response2) => {
1202
+ sendRequest(refs, { command: "rebuild", key }, (error2, response2) => {
1124
1203
  if (error2) {
1125
1204
  const message = { pluginName: "", text: error2, location: null, notes: [], detail: void 0 };
1126
1205
  return callback2(failureErrorWithLog("Build failed", [message], []), null);
@@ -1138,14 +1217,14 @@ function createChannel(streamIn) {
1138
1217
  if (isDisposed)
1139
1218
  return;
1140
1219
  isDisposed = true;
1141
- sendRequest(refs, { command: "rebuild-dispose", rebuildID: response.rebuildID }, () => {
1220
+ sendRequest(refs, { command: "rebuild-dispose", key }, () => {
1142
1221
  });
1143
1222
  refs.unref();
1144
1223
  };
1145
1224
  }
1146
1225
  result.rebuild = rebuild;
1147
1226
  }
1148
- if (response.watchID !== void 0) {
1227
+ if (response.watch) {
1149
1228
  if (!stop) {
1150
1229
  let isStopped = false;
1151
1230
  refs.ref();
@@ -1153,13 +1232,13 @@ function createChannel(streamIn) {
1153
1232
  if (isStopped)
1154
1233
  return;
1155
1234
  isStopped = true;
1156
- watchCallbacks.delete(response.watchID);
1157
- sendRequest(refs, { command: "watch-stop", watchID: response.watchID }, () => {
1235
+ watchCallbacks.delete(key);
1236
+ sendRequest(refs, { command: "watch-stop", key }, () => {
1158
1237
  });
1159
1238
  refs.unref();
1160
1239
  };
1161
1240
  if (watch) {
1162
- watchCallbacks.set(response.watchID, (serviceStopError, watchResponse) => {
1241
+ watchCallbacks.set(key, (serviceStopError, watchResponse) => {
1163
1242
  if (serviceStopError) {
1164
1243
  if (watch.onRebuild)
1165
1244
  watch.onRebuild(serviceStopError, null);
@@ -1452,7 +1531,7 @@ error: ${e.text}`;
1452
1531
  let { file, line, column } = e.location;
1453
1532
  let pluginText = e.pluginName ? `[plugin: ${e.pluginName}] ` : "";
1454
1533
  return `
1455
- ${file}:${line}:${column}: error: ${pluginText}${e.text}`;
1534
+ ${file}:${line}:${column}: ERROR: ${pluginText}${e.text}`;
1456
1535
  }).join("");
1457
1536
  let error = new Error(`${text}${summary}`);
1458
1537
  error.errors = errors;
@@ -1546,7 +1625,7 @@ function convertOutputFiles({ path, contents }) {
1546
1625
  }
1547
1626
 
1548
1627
  // lib/npm/browser.ts
1549
- var version = "0.14.0";
1628
+ var version = "0.14.11";
1550
1629
  var build = (options) => ensureServiceIsRunning().build(options);
1551
1630
  var serve = () => {
1552
1631
  throw new Error(`The "serve" API only works in node`);
@@ -2191,9 +2270,9 @@ var startRunningService = async (wasmURL, useWorker) => {
2191
2270
 
2192
2271
  // The linker guarantees global data starts from at least wasmMinDataAddr.
2193
2272
  // Keep in sync with cmd/link/internal/ld/data.go:wasmMinDataAddr.
2194
- const wasmMinDataAddr = 4096 + 4096;
2273
+ const wasmMinDataAddr = 4096 + 8192;
2195
2274
  if (offset >= wasmMinDataAddr) {
2196
- throw new Error("command line too long");
2275
+ throw new Error("total length of command line and environment variables exceeds limit");
2197
2276
  }
2198
2277
 
2199
2278
  this._inst.exports.run(argc, argv);
@@ -2303,7 +2382,7 @@ onmessage = ({ data: wasm }) => {
2303
2382
  callback(null, count);
2304
2383
  };
2305
2384
  let go = new global.Go();
2306
- go.argv = ["", \`--service=\${"0.14.0"}\`];
2385
+ go.argv = ["", \`--service=\${"0.14.11"}\`];
2307
2386
  WebAssembly.instantiate(wasm, go.importObject).then(({ instance }) => go.run(instance));
2308
2387
  };}`;
2309
2388
  let worker;
@@ -2327,7 +2406,8 @@ onmessage = ({ data: wasm }) => {
2327
2406
  worker.postMessage(bytes);
2328
2407
  },
2329
2408
  isSync: false,
2330
- isBrowser: true
2409
+ isBrowser: true,
2410
+ esbuild: browser_exports
2331
2411
  });
2332
2412
  longLivedService = {
2333
2413
  build: (options) => new Promise((resolve, reject) => service.buildOrServe({