isomorfeus-asset-manager 0.14.9 → 0.14.13

Sign up to get free protection for your applications and to get access to all the features.
@@ -31,18 +31,10 @@ module Isomorfeus
31
31
  end
32
32
  end
33
33
 
34
- def self.last_updated
35
- @last_updated
36
- end
37
-
38
- def self.last_updated=(l)
39
- @last_updated = l
40
- end
41
-
42
34
  def initialize
43
35
  Isomorfeus.set_node_paths
44
36
 
45
- @tmpdir = Isomorfeus.asset_manager_tmpdir
37
+ @tmpdir = File.expand_path(Isomorfeus.asset_manager_tmpdir)
46
38
  @imports_path = File.join(@tmpdir, 'imports')
47
39
  @output_path = File.join(@tmpdir, 'output')
48
40
  FileUtils.mkdir_p(@imports_path)
@@ -56,61 +48,29 @@ module Isomorfeus
56
48
  end
57
49
 
58
50
  def transition(asset_key, asset, analyze: false)
59
- return if !Isomorfeus.development? && asset.bundled?
51
+ return if asset.bundled?
60
52
  asset.mutex.synchronize do
61
- return if !Isomorfeus.development? && asset.bundled?
62
- return if Isomorfeus.development? && asset.bundled? && (self.class.last_updated.nil? || (asset.mtime > self.class.last_updated))
53
+ return if asset.bundled?
54
+ start = Time.now
55
+ puts "Isomorfeus Asset Manager bundling #{asset_key} ..."
56
+ asset.bundled!
63
57
  asset.touch
64
- build_ruby_and_save(asset_key, asset)
65
- save_imports(asset_key, asset)
66
- run_esbuild(asset_key, asset, analyze)
67
- asset.bundle = bundled_asset(asset_key)
68
- asset.bundle_map = bundled_asset_map(asset_key) unless Isomorfeus.production?
69
- asset.css = bundled_css(asset_key)
70
- asset.css_map = bundled_css_map(asset_key) unless Isomorfeus.production?
58
+ asset_name = asset_key[0..-4]
59
+ asset.build_ruby_and_save(asset_key, asset_name, @imports_path)
60
+ entry = asset.save_entry(asset_key, asset_name, @imports_path)
61
+ run_esbuild(entry, asset_key, asset, analyze)
62
+ asset.bundle_css(asset_name, @output_path) if asset.browser?
63
+ asset.bundle_js(asset_key, asset_name, @imports_path, @output_path)
64
+ if !Isomorfeus.production? && asset.browser?
65
+ asset.bundle_css_map(asset_name, @output_path)
66
+ asset.bundle_js_map(asset_key, @output_path)
67
+ end
68
+ puts "Isomorfeus Asset Manager bundling #{asset_key} took #{Time.now - start}s"
71
69
  end
72
70
  end
73
71
 
74
72
  private
75
73
 
76
- def bundled_asset(asset_key)
77
- File.read(File.join(@output_path, asset_key))
78
- end
79
-
80
- def bundled_asset_map(asset_key)
81
- File.read(File.join(@output_path, asset_key + '.map'))
82
- end
83
-
84
- def bundled_css(asset_key)
85
- filename = File.join(@output_path, asset_key[0..-4] + '.css')
86
- File.read(filename) if File.exist?(filename)
87
- end
88
-
89
- def bundled_css_map(asset_key)
90
- filename = File.join(@output_path, asset_key[0..-4] + '.css.map')
91
- File.read(filename) if File.exist?(filename)
92
- end
93
-
94
- def save_imports(asset_key, asset)
95
- File.write(File.join(@imports_path, asset_key), asset.to_s)
96
- end
97
-
98
- def build_ruby_and_save(asset_key, asset)
99
- asset.ruby_imports.each do |ruby_import|
100
- out_file = File.join(@imports_path, ruby_import.module_name + '.js')
101
- next if !Isomorfeus.development? && File.exist?(out_file)
102
- js_map_path = File.join(@imports_path, ruby_import.module_name + '.js.map')
103
- result = Opal::Builder.build(ruby_import.resolved_path, { esm: true })
104
- FileUtils.mkdir_p(File.join(*[@imports_path].concat(ruby_import.module_name.split('/')[0...-1]))) if ruby_import.module_name.include?('/')
105
- js = result.to_s
106
- unless Isomorfeus.production?
107
- js << "\n//# sourceMappingURL=file://#{js_map_path}\n"
108
- File.write(js_map_path, result.source_map)
109
- end
110
- File.write(out_file, js)
111
- end
112
- end
113
-
114
74
  def compile_ruby(file)
115
75
  source = File.read(file)
116
76
  module_file = file[(Isomorfeus.app_root.size + 1)..-1]
@@ -142,7 +102,7 @@ module Isomorfeus
142
102
  <<~JAVASCRIPT
143
103
  'use strict';
144
104
  const path = require('path');
145
- var esbuild_r;
105
+ let esbuild_r;
146
106
  try { esbuild_r = require('esbuild'); }
147
107
  catch { esbuild_r = require('esbuild-wasm'); }
148
108
  const esbuild = esbuild_r;
@@ -165,10 +125,10 @@ module Isomorfeus
165
125
  am_class = self.class
166
126
  Isomorfeus.hmr_listener = Listen.to(*listen_dirs) do |modified, added, _|
167
127
  (modified + added).each do |file|
168
- am_class.last_updated = (Time.now.to_f * (10 ** 9)).to_i
169
128
  next if file.start_with?(@server_path)
170
129
  begin
171
130
  if file.end_with?('.rb')
131
+ Isomorfeus.assets.each_value { |asset| asset.unbundle! }
172
132
  update = compile_ruby(file)
173
133
  update_json = Oj.dump(update, mode: :strict)
174
134
  elsif file.end_with?('.yml') || file.end_with?('.mo') || file.end_with?('.po')
@@ -178,7 +138,7 @@ module Isomorfeus
178
138
  end
179
139
  Iodine.publish(Isomorfeus.asset_manager_hmr_channel, update_json)
180
140
  rescue Exception => e
181
- message = "IsomorfeusAssetManager during hot module update:\n#{e.class}\n#{e.message}\n#{e.backtrace.join("\n")}"
141
+ message = "Isomorfeus Asset Manager during hot module update:\n#{e.class}\n#{e.message}\n#{e.backtrace.join("\n")}"
182
142
  STDERR.puts message
183
143
  Iodine.publish(Isomorfeus.asset_manager_hmr_channel, Oj.dump({ error: message }, mode: :strict))
184
144
  end
@@ -187,31 +147,27 @@ module Isomorfeus
187
147
  Isomorfeus.hmr_listener.start
188
148
  end
189
149
 
190
- # possible future improvement
191
- # loader: {
192
- # '.png': 'dataurl',
193
- # '.svg': 'text',
194
- # },
195
- def run_esbuild(asset_key, asset, analyze = false)
150
+ def run_esbuild(entry, asset_key, asset, analyze = false)
196
151
  resolve_paths = ENV['NODE_PATH'].split(Gem.win_platform? ? ';' : ':')
197
152
  resolve_paths << 'node_modules'
198
153
  resolve_paths.uniq!
199
154
 
200
155
  result = @context.await <<~JAVASCRIPT
201
156
  esbuild.build({
202
- entryPoints: [path.resolve(global.imports_path, '#{asset_key}')],
157
+ entryPoints: [path.resolve(global.imports_path, '#{entry}')],
203
158
  bundle: true,
204
159
  color: false,
205
- format: '#{asset.target == :node ? 'cjs' : 'iife'}',
160
+ format: '#{asset.node? ? 'cjs' : 'iife'}',
206
161
  legalComments: 'linked',
207
- loader: { '.svg': 'text' },
208
- metafile: true,
162
+ loader: { '.svg': 'text', '.png': 'dataurl' },
163
+ logLimit: 0,
164
+ metafile: #{analyze ? 'true' : 'false'},
209
165
  minify: #{Isomorfeus.production? ? 'true' : 'false'},
210
166
  nodePaths: #{resolve_paths},
211
167
  outdir: global.output_path,
212
168
  platform: '#{asset.target}',
213
- publicPath: '/assets',
214
- sourcemap: #{!Isomorfeus.production? ? 'true' : 'false'},
169
+ publicPath: '#{asset.browser? ? Isomorfeus.assets_path : @output_path}',
170
+ sourcemap: #{(!Isomorfeus.production? && asset.browser?) ? 'true' : 'false'},
215
171
  splitting: false,
216
172
  target: 'es6',
217
173
  write: true
@@ -1,12 +1,14 @@
1
1
  require 'fileutils'
2
2
  require 'thread'
3
3
  require 'tmpdir'
4
+ require 'brotli'
4
5
  require 'zlib'
5
6
  require 'opal'
6
7
  require 'opal/compiler'
7
8
  require 'opal/builder'
8
9
  require 'oj'
9
10
  require 'rack'
11
+ require 'rack/utils'
10
12
  require 'listen'
11
13
  require 'iodine'
12
14
  require 'isomorfeus-speednode'
@@ -14,6 +16,8 @@ require 'isomorfeus/asset_manager/version'
14
16
  require 'isomorfeus/asset_manager/js_import'
15
17
  require 'isomorfeus/asset_manager/ruby_import'
16
18
  require 'isomorfeus/asset_manager/asset'
19
+ require 'isomorfeus/asset_manager/node_asset'
20
+ require 'isomorfeus/asset_manager/browser_asset'
17
21
  require 'isomorfeus/asset_manager/portfolio'
18
22
  require 'isomorfeus/asset_manager/rack_middleware'
19
23
  require 'isomorfeus/asset_manager/server_socket_processor'
@@ -4,9 +4,9 @@
4
4
  "requires": true,
5
5
  "packages": {
6
6
  "node_modules/esbuild-wasm": {
7
- "version": "0.14.20",
8
- "resolved": "https://registry.npmjs.org/esbuild-wasm/-/esbuild-wasm-0.14.20.tgz",
9
- "integrity": "sha512-ujhUCYGYdRUIajByyynJDQr8h9c1/bWk8kdsimtp8GrDWjm13T1hWnozjJ+OgnQKtCjL8fw0w4AleEnOwIlqBA==",
7
+ "version": "0.14.23",
8
+ "resolved": "https://registry.npmjs.org/esbuild-wasm/-/esbuild-wasm-0.14.23.tgz",
9
+ "integrity": "sha512-w1qhGLvUaPXiigGWIEGcnMmN/FxQ6VDLnHQIOpf29Qh9z6x4qe4gmsQyUbFBW6UsWsw/E8OJDE0XRtiV/0siYQ==",
10
10
  "bin": {
11
11
  "esbuild": "bin/esbuild"
12
12
  },
Binary file
@@ -29,6 +29,7 @@ __export(browser_exports, {
29
29
  analyzeMetafileSync: () => analyzeMetafileSync,
30
30
  build: () => build,
31
31
  buildSync: () => buildSync,
32
+ default: () => browser_default,
32
33
  formatMessages: () => formatMessages,
33
34
  formatMessagesSync: () => formatMessagesSync,
34
35
  initialize: () => initialize,
@@ -723,8 +724,8 @@ function createChannel(streamIn) {
723
724
  if (isFirstPacket) {
724
725
  isFirstPacket = false;
725
726
  let binaryVersion = String.fromCharCode(...bytes);
726
- if (binaryVersion !== "0.14.20") {
727
- throw new Error(`Cannot start service: Host version "${"0.14.20"}" does not match binary version ${JSON.stringify(binaryVersion)}`);
727
+ if (binaryVersion !== "0.14.23") {
728
+ throw new Error(`Cannot start service: Host version "${"0.14.23"}" does not match binary version ${JSON.stringify(binaryVersion)}`);
728
729
  }
729
730
  return;
730
731
  }
@@ -1669,7 +1670,7 @@ function convertOutputFiles({ path, contents }) {
1669
1670
  }
1670
1671
 
1671
1672
  // lib/npm/browser.ts
1672
- var version = "0.14.20";
1673
+ var version = "0.14.23";
1673
1674
  var build = (options) => ensureServiceIsRunning().build(options);
1674
1675
  var serve = () => {
1675
1676
  throw new Error(`The "serve" API only works in node`);
@@ -1882,7 +1883,10 @@ var startRunningService = async (wasmURL, useWorker) => {
1882
1883
  throw new Error("global.TextDecoder is not available, polyfill required");
1883
1884
  }
1884
1885
 
1885
- // End of polyfills for common API.
1886
+
1887
+ // Make sure Go sees the shadowed "fs" global
1888
+ const { fs } = global;
1889
+
1886
1890
 
1887
1891
  const encoder = new TextEncoder("utf-8");
1888
1892
  const decoder = new TextDecoder("utf-8");
@@ -2426,7 +2430,7 @@ onmessage = ({ data: wasm }) => {
2426
2430
  callback(null, count);
2427
2431
  };
2428
2432
  let go = new global.Go();
2429
- go.argv = ["", \`--service=\${"0.14.20"}\`];
2433
+ go.argv = ["", \`--service=\${"0.14.23"}\`];
2430
2434
  WebAssembly.instantiate(wasm, go.importObject).then(({ instance }) => go.run(instance));
2431
2435
  };}`;
2432
2436
  let worker;
@@ -2495,11 +2499,13 @@ onmessage = ({ data: wasm }) => {
2495
2499
  }))
2496
2500
  };
2497
2501
  };
2502
+ var browser_default = browser_exports;
2498
2503
  export {
2499
2504
  analyzeMetafile,
2500
2505
  analyzeMetafileSync,
2501
2506
  build,
2502
2507
  buildSync,
2508
+ browser_default as default,
2503
2509
  formatMessages,
2504
2510
  formatMessagesSync,
2505
2511
  initialize,
@@ -1,8 +1,8 @@
1
- var Ie=Object.defineProperty,rt=Object.defineProperties;var nt=Object.getOwnPropertyDescriptors;var qe=Object.getOwnPropertySymbols;var lt=Object.prototype.hasOwnProperty,it=Object.prototype.propertyIsEnumerable;var We=(e,t,r)=>t in e?Ie(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,Te=(e,t)=>{for(var r in t||(t={}))lt.call(t,r)&&We(e,r,t[r]);if(qe)for(var r of qe(t))it.call(t,r)&&We(e,r,t[r]);return e},Be=(e,t)=>rt(e,nt(t));var st=(e,t)=>{for(var r in t)Ie(e,r,{get:t[r],enumerable:!0})};var Ue={};st(Ue,{analyzeMetafile:()=>Ot,analyzeMetafileSync:()=>Et,build:()=>bt,buildSync:()=>St,formatMessages:()=>Rt,formatMessagesSync:()=>kt,initialize:()=>$t,serve:()=>wt,transform:()=>vt,transformSync:()=>xt,version:()=>ht});function Ae(e){let t=i=>{if(i===null)r.write8(0);else if(typeof i=="boolean")r.write8(1),r.write8(+i);else if(typeof i=="number")r.write8(2),r.write32(i|0);else if(typeof i=="string")r.write8(3),r.write(de(i));else if(i instanceof Uint8Array)r.write8(4),r.write(i);else if(i instanceof Array){r.write8(5),r.write32(i.length);for(let p of i)t(p)}else{let p=Object.keys(i);r.write8(6),r.write32(p.length);for(let l of p)r.write(de(l)),t(i[l])}},r=new Ne;return r.write32(0),r.write32(e.id<<1|+!e.isRequest),t(e.value),De(r.buf,r.len-4,0),r.buf.subarray(0,r.len)}function ze(e){let t=()=>{switch(r.read8()){case 0:return null;case 1:return!!r.read8();case 2:return r.read32();case 3:return ye(r.read());case 4:return r.read();case 5:{let c=r.read32(),s=[];for(let y=0;y<c;y++)s.push(t());return s}case 6:{let c=r.read32(),s={};for(let y=0;y<c;y++)s[ye(r.read())]=t();return s}default:throw new Error("Invalid packet")}},r=new Ne(e),i=r.read32(),p=(i&1)===0;i>>>=1;let l=t();if(r.ptr!==e.length)throw new Error("Invalid packet");return{id:i,isRequest:p,value:l}}var Ne=class{constructor(t=new Uint8Array(1024)){this.buf=t;this.len=0;this.ptr=0}_write(t){if(this.len+t>this.buf.length){let r=new Uint8Array((this.len+t)*2);r.set(this.buf),this.buf=r}return this.len+=t,this.len-t}write8(t){let r=this._write(1);this.buf[r]=t}write32(t){let r=this._write(4);De(this.buf,t,r)}write(t){let r=this._write(4+t.length);De(this.buf,t.length,r),this.buf.set(t,r+4)}_read(t){if(this.ptr+t>this.buf.length)throw new Error("Invalid packet");return this.ptr+=t,this.ptr-t}read8(){return this.buf[this._read(1)]}read32(){return Fe(this.buf,this._read(4))}read(){let t=this.read32(),r=new Uint8Array(t),i=this._read(r.length);return r.set(this.buf.subarray(i,i+t)),r}},de,ye;if(typeof TextEncoder!="undefined"&&typeof TextDecoder!="undefined"){let e=new TextEncoder,t=new TextDecoder;de=r=>e.encode(r),ye=r=>t.decode(r)}else if(typeof Buffer!="undefined")de=e=>{let t=Buffer.from(e);return t instanceof Uint8Array||(t=new Uint8Array(t)),t},ye=e=>{let{buffer:t,byteOffset:r,byteLength:i}=e;return Buffer.from(t,r,i).toString()};else throw new Error("No UTF-8 codec found");function Fe(e,t){return e[t++]|e[t++]<<8|e[t++]<<16|e[t++]<<24}function De(e,t,r){e[r++]=t,e[r++]=t>>8,e[r++]=t>>16,e[r++]=t>>24}function Ke(e){if(e+="",e.indexOf(",")>=0)throw new Error(`Invalid target: ${e}`);return e}var Ee=()=>null,z=e=>typeof e=="boolean"?null:"a boolean",at=e=>typeof e=="boolean"||typeof e=="object"&&!Array.isArray(e)?null:"a boolean or an object",m=e=>typeof e=="string"?null:"a string",$e=e=>e instanceof RegExp?null:"a RegExp object",Re=e=>typeof e=="number"&&e===(e|0)?null:"an integer",je=e=>typeof e=="function"?null:"a function",V=e=>Array.isArray(e)?null:"an array",ge=e=>typeof e=="object"&&e!==null&&!Array.isArray(e)?null:"an object",ut=e=>typeof e=="object"&&e!==null?null:"an array or an object",_e=e=>typeof e=="object"&&!Array.isArray(e)?null:"an object or null",Ye=e=>typeof e=="string"||typeof e=="boolean"?null:"a string or a boolean",ft=e=>typeof e=="string"||typeof e=="object"&&e!==null&&!Array.isArray(e)?null:"a string or an object",ct=e=>typeof e=="string"||Array.isArray(e)?null:"a string or an array",dt=e=>typeof e=="string"||e instanceof Uint8Array?null:"a string or a Uint8Array";function n(e,t,r,i){let p=e[r];if(t[r+""]=!0,p===void 0)return;let l=i(p);if(l!==null)throw new Error(`"${r}" must be ${l}`);return p}function Y(e,t,r){for(let i in e)if(!(i in t))throw new Error(`Invalid option ${r}: "${i}"`)}function He(e){let t=Object.create(null),r=n(e,t,"wasmURL",m),i=n(e,t,"worker",z);return Y(e,t,"in startService() call"),{wasmURL:r,worker:i}}function Ge(e){let t;if(e!==void 0){t=Object.create(null);for(let r of Object.keys(e)){let i=e[r];if(typeof i=="string"||i===!1)t[r]=i;else throw new Error(`Expected ${JSON.stringify(r)} in mangle cache to map to either a string or false`)}}return t}function Me(e,t,r,i,p){let l=n(t,r,"color",z),c=n(t,r,"logLevel",m),s=n(t,r,"logLimit",Re);l!==void 0?e.push(`--color=${l}`):i&&e.push("--color=true"),e.push(`--log-level=${c||p}`),e.push(`--log-limit=${s||0}`)}function Qe(e,t,r){let i=n(t,r,"legalComments",m),p=n(t,r,"sourceRoot",m),l=n(t,r,"sourcesContent",z),c=n(t,r,"target",ct),s=n(t,r,"format",m),y=n(t,r,"globalName",m),O=n(t,r,"mangleProps",$e),P=n(t,r,"reserveProps",$e),L=n(t,r,"minify",z),x=n(t,r,"minifySyntax",z),S=n(t,r,"minifyWhitespace",z),ae=n(t,r,"minifyIdentifiers",z),re=n(t,r,"drop",V),le=n(t,r,"charset",m),ie=n(t,r,"treeShaking",z),ue=n(t,r,"ignoreAnnotations",z),fe=n(t,r,"jsx",m),ce=n(t,r,"jsxFactory",m),me=n(t,r,"jsxFragment",m),se=n(t,r,"define",ge),be=n(t,r,"pure",V),Se=n(t,r,"keepNames",z);if(i&&e.push(`--legal-comments=${i}`),p!==void 0&&e.push(`--source-root=${p}`),l!==void 0&&e.push(`--sources-content=${l}`),c&&(Array.isArray(c)?e.push(`--target=${Array.from(c).map(Ke).join(",")}`):e.push(`--target=${Ke(c)}`)),s&&e.push(`--format=${s}`),y&&e.push(`--global-name=${y}`),L&&e.push("--minify"),x&&e.push("--minify-syntax"),S&&e.push("--minify-whitespace"),ae&&e.push("--minify-identifiers"),le&&e.push(`--charset=${le}`),ie!==void 0&&e.push(`--tree-shaking=${ie}`),ue&&e.push("--ignore-annotations"),re)for(let te of re)e.push(`--drop:${te}`);if(O&&e.push(`--mangle-props=${O.source}`),P&&e.push(`--reserve-props=${P.source}`),fe&&e.push(`--jsx=${fe}`),ce&&e.push(`--jsx-factory=${ce}`),me&&e.push(`--jsx-fragment=${me}`),se)for(let te in se){if(te.indexOf("=")>=0)throw new Error(`Invalid define: ${te}`);e.push(`--define:${te}=${se[te]}`)}if(be)for(let te of be)e.push(`--pure:${te}`);Se&&e.push("--keep-names")}function pt(e,t,r,i,p){var b;let l=[],c=[],s=Object.create(null),y=null,O=null,P=null;Me(l,t,s,r,i),Qe(l,t,s);let L=n(t,s,"sourcemap",Ye),x=n(t,s,"bundle",z),S=n(t,s,"watch",at),ae=n(t,s,"splitting",z),re=n(t,s,"preserveSymlinks",z),le=n(t,s,"metafile",z),ie=n(t,s,"outfile",m),ue=n(t,s,"outdir",m),fe=n(t,s,"outbase",m),ce=n(t,s,"platform",m),me=n(t,s,"tsconfig",m),se=n(t,s,"resolveExtensions",V),be=n(t,s,"nodePaths",V),Se=n(t,s,"mainFields",V),te=n(t,s,"conditions",V),g=n(t,s,"external",V),u=n(t,s,"loader",ge),a=n(t,s,"outExtension",ge),f=n(t,s,"publicPath",m),F=n(t,s,"entryNames",m),D=n(t,s,"chunkNames",m),M=n(t,s,"assetNames",m),E=n(t,s,"inject",V),T=n(t,s,"banner",ge),C=n(t,s,"footer",ge),R=n(t,s,"entryPoints",ut),U=n(t,s,"absWorkingDir",m),k=n(t,s,"stdin",ge),A=(b=n(t,s,"write",z))!=null?b:p,W=n(t,s,"allowOverwrite",z),ee=n(t,s,"incremental",z)===!0,$=n(t,s,"mangleCache",ge);if(s.plugins=!0,Y(t,s,`in ${e}() call`),L&&l.push(`--sourcemap${L===!0?"":`=${L}`}`),x&&l.push("--bundle"),W&&l.push("--allow-overwrite"),S)if(l.push("--watch"),typeof S=="boolean")P={};else{let o=Object.create(null),v=n(S,o,"onRebuild",je);Y(S,o,`on "watch" in ${e}() call`),P={onRebuild:v}}if(ae&&l.push("--splitting"),re&&l.push("--preserve-symlinks"),le&&l.push("--metafile"),ie&&l.push(`--outfile=${ie}`),ue&&l.push(`--outdir=${ue}`),fe&&l.push(`--outbase=${fe}`),ce&&l.push(`--platform=${ce}`),me&&l.push(`--tsconfig=${me}`),se){let o=[];for(let v of se){if(v+="",v.indexOf(",")>=0)throw new Error(`Invalid resolve extension: ${v}`);o.push(v)}l.push(`--resolve-extensions=${o.join(",")}`)}if(f&&l.push(`--public-path=${f}`),F&&l.push(`--entry-names=${F}`),D&&l.push(`--chunk-names=${D}`),M&&l.push(`--asset-names=${M}`),Se){let o=[];for(let v of Se){if(v+="",v.indexOf(",")>=0)throw new Error(`Invalid main field: ${v}`);o.push(v)}l.push(`--main-fields=${o.join(",")}`)}if(te){let o=[];for(let v of te){if(v+="",v.indexOf(",")>=0)throw new Error(`Invalid condition: ${v}`);o.push(v)}l.push(`--conditions=${o.join(",")}`)}if(g)for(let o of g)l.push(`--external:${o}`);if(T)for(let o in T){if(o.indexOf("=")>=0)throw new Error(`Invalid banner file type: ${o}`);l.push(`--banner:${o}=${T[o]}`)}if(C)for(let o in C){if(o.indexOf("=")>=0)throw new Error(`Invalid footer file type: ${o}`);l.push(`--footer:${o}=${C[o]}`)}if(E)for(let o of E)l.push(`--inject:${o}`);if(u)for(let o in u){if(o.indexOf("=")>=0)throw new Error(`Invalid loader extension: ${o}`);l.push(`--loader:${o}=${u[o]}`)}if(a)for(let o in a){if(o.indexOf("=")>=0)throw new Error(`Invalid out extension: ${o}`);l.push(`--out-extension:${o}=${a[o]}`)}if(R)if(Array.isArray(R))for(let o of R)c.push(["",o+""]);else for(let[o,v]of Object.entries(R))c.push([o+"",v+""]);if(k){let o=Object.create(null),v=n(k,o,"contents",m),q=n(k,o,"resolveDir",m),w=n(k,o,"sourcefile",m),d=n(k,o,"loader",m);Y(k,o,'in "stdin" object'),w&&l.push(`--sourcefile=${w}`),d&&l.push(`--loader=${d}`),q&&(O=q+""),y=v?v+"":""}let h=[];if(be)for(let o of be)o+="",h.push(o);return{entries:c,flags:l,write:A,stdinContents:y,stdinResolveDir:O,absWorkingDir:U,incremental:ee,nodePaths:h,watch:P,mangleCache:Ge($)}}function gt(e,t,r,i){let p=[],l=Object.create(null);Me(p,t,l,r,i),Qe(p,t,l);let c=n(t,l,"sourcemap",Ye),s=n(t,l,"tsconfigRaw",ft),y=n(t,l,"sourcefile",m),O=n(t,l,"loader",m),P=n(t,l,"banner",m),L=n(t,l,"footer",m),x=n(t,l,"mangleCache",ge);return Y(t,l,`in ${e}() call`),c&&p.push(`--sourcemap=${c===!0?"external":c}`),s&&p.push(`--tsconfig-raw=${typeof s=="string"?s:JSON.stringify(s)}`),y&&p.push(`--sourcefile=${y}`),O&&p.push(`--loader=${O}`),P&&p.push(`--banner=${P}`),L&&p.push(`--footer=${L}`),{flags:p,mangleCache:Ge(x)}}function Xe(e){let t=new Map,r=new Map,i=new Map,p=new Map,l=!1,c=0,s=0,y=new Uint8Array(16*1024),O=0,P=g=>{let u=O+g.length;if(u>y.length){let f=new Uint8Array(u*2);f.set(y),y=f}y.set(g,O),O+=g.length;let a=0;for(;a+4<=O;){let f=Fe(y,a);if(a+4+f>O)break;a+=4,le(y.subarray(a,a+f)),a+=f}a>0&&(y.copyWithin(0,a,O),O-=a)},L=()=>{l=!0;for(let g of t.values())g("The service was stopped",null);t.clear();for(let g of p.values())g.onWait("The service was stopped");p.clear();for(let g of i.values())try{g(new Error("The service was stopped"),null)}catch(u){console.error(u)}i.clear()},x=(g,u,a)=>{if(l)return a("The service is no longer running",null);let f=c++;t.set(f,(F,D)=>{try{a(F,D)}finally{g&&g.unref()}}),g&&g.ref(),e.writeToStdin(Ae({id:f,isRequest:!0,value:u}))},S=(g,u)=>{if(l)throw new Error("The service is no longer running");e.writeToStdin(Ae({id:g,isRequest:!1,value:u}))},ae=async(g,u)=>{try{switch(u.command){case"ping":{S(g,{});break}case"on-start":{let a=r.get(u.key);a?S(g,await a(u)):S(g,{});break}case"on-resolve":{let a=r.get(u.key);a?S(g,await a(u)):S(g,{});break}case"on-load":{let a=r.get(u.key);a?S(g,await a(u)):S(g,{});break}case"serve-request":{let a=p.get(u.key);a&&a.onRequest&&a.onRequest(u.args),S(g,{});break}case"serve-wait":{let a=p.get(u.key);a&&a.onWait(u.error),S(g,{});break}case"watch-rebuild":{let a=i.get(u.key);try{a&&a(null,u.args)}catch(f){console.error(f)}S(g,{});break}default:throw new Error("Invalid command: "+u.command)}}catch(a){S(g,{errors:[we(a,e,null,void 0,"")]})}},re=!0,le=g=>{if(re){re=!1;let a=String.fromCharCode(...g);if(a!=="0.14.20")throw new Error(`Cannot start service: Host version "0.14.20" does not match binary version ${JSON.stringify(a)}`);return}let u=ze(g);if(u.isRequest)ae(u.id,u.value);else{let a=t.get(u.id);t.delete(u.id),u.value.error?a(u.value.error,{}):a(null,u.value)}},ie=async(g,u,a,f,F)=>{let D=[],M=[],E={},T={},C=0,R=0,U=[],k=!1;u=[...u];for(let $ of u){let h={};if(typeof $!="object")throw new Error(`Plugin at index ${R} must be an object`);let b=n($,h,"name",m);if(typeof b!="string"||b==="")throw new Error(`Plugin at index ${R} is missing a name`);try{let o=n($,h,"setup",je);if(typeof o!="function")throw new Error("Plugin is missing a setup function");Y($,h,`on plugin ${JSON.stringify(b)}`);let v={name:b,onResolve:[],onLoad:[]};R++;let w=o({initialOptions:g,resolve:(d,N={})=>{if(!k)throw new Error('Cannot call "resolve" before plugin setup has completed');if(typeof d!="string")throw new Error("The path to resolve must be a string");let B=Object.create(null),H=n(N,B,"pluginName",m),I=n(N,B,"importer",m),_=n(N,B,"namespace",m),X=n(N,B,"resolveDir",m),G=n(N,B,"kind",m),j=n(N,B,"pluginData",Ee);return Y(N,B,"in resolve() call"),new Promise((J,Q)=>{let K={command:"resolve",path:d,key:a,pluginName:b};H!=null&&(K.pluginName=H),I!=null&&(K.importer=I),_!=null&&(K.namespace=_),X!=null&&(K.resolveDir=X),G!=null&&(K.kind=G),j!=null&&(K.pluginData=f.store(j)),x(F,K,(oe,Z)=>{oe!==null?Q(new Error(oe)):J({errors:pe(Z.errors,f),warnings:pe(Z.warnings,f),path:Z.path,external:Z.external,sideEffects:Z.sideEffects,namespace:Z.namespace,suffix:Z.suffix,pluginData:f.load(Z.pluginData)})})})},onStart(d){let N='This error came from the "onStart" callback registered here:',B=xe(new Error(N),e,"onStart");D.push({name:b,callback:d,note:B})},onEnd(d){let N='This error came from the "onEnd" callback registered here:',B=xe(new Error(N),e,"onEnd");M.push({name:b,callback:d,note:B})},onResolve(d,N){let B='This error came from the "onResolve" callback registered here:',H=xe(new Error(B),e,"onResolve"),I={},_=n(d,I,"filter",$e),X=n(d,I,"namespace",m);if(Y(d,I,`in onResolve() call for plugin ${JSON.stringify(b)}`),_==null)throw new Error("onResolve() call is missing a filter");let G=C++;E[G]={name:b,callback:N,note:H},v.onResolve.push({id:G,filter:_.source,namespace:X||""})},onLoad(d,N){let B='This error came from the "onLoad" callback registered here:',H=xe(new Error(B),e,"onLoad"),I={},_=n(d,I,"filter",$e),X=n(d,I,"namespace",m);if(Y(d,I,`in onLoad() call for plugin ${JSON.stringify(b)}`),_==null)throw new Error("onLoad() call is missing a filter");let G=C++;T[G]={name:b,callback:N,note:H},v.onLoad.push({id:G,filter:_.source,namespace:X||""})},esbuild:e.esbuild});w&&await w,U.push(v)}catch(o){return{ok:!1,error:o,pluginName:b}}}let A=async $=>{switch($.command){case"on-start":{let h={errors:[],warnings:[]};return await Promise.all(D.map(async({name:b,callback:o,note:v})=>{try{let q=await o();if(q!=null){if(typeof q!="object")throw new Error(`Expected onStart() callback in plugin ${JSON.stringify(b)} to return an object`);let w={},d=n(q,w,"errors",V),N=n(q,w,"warnings",V);Y(q,w,`from onStart() callback in plugin ${JSON.stringify(b)}`),d!=null&&h.errors.push(...he(d,"errors",f,b)),N!=null&&h.warnings.push(...he(N,"warnings",f,b))}}catch(q){h.errors.push(we(q,e,f,v&&v(),b))}})),h}case"on-resolve":{let h={},b="",o,v;for(let q of $.ids)try{({name:b,callback:o,note:v}=E[q]);let w=await o({path:$.path,importer:$.importer,namespace:$.namespace,resolveDir:$.resolveDir,kind:$.kind,pluginData:f.load($.pluginData)});if(w!=null){if(typeof w!="object")throw new Error(`Expected onResolve() callback in plugin ${JSON.stringify(b)} to return an object`);let d={},N=n(w,d,"pluginName",m),B=n(w,d,"path",m),H=n(w,d,"namespace",m),I=n(w,d,"suffix",m),_=n(w,d,"external",z),X=n(w,d,"sideEffects",z),G=n(w,d,"pluginData",Ee),j=n(w,d,"errors",V),J=n(w,d,"warnings",V),Q=n(w,d,"watchFiles",V),K=n(w,d,"watchDirs",V);Y(w,d,`from onResolve() callback in plugin ${JSON.stringify(b)}`),h.id=q,N!=null&&(h.pluginName=N),B!=null&&(h.path=B),H!=null&&(h.namespace=H),I!=null&&(h.suffix=I),_!=null&&(h.external=_),X!=null&&(h.sideEffects=X),G!=null&&(h.pluginData=f.store(G)),j!=null&&(h.errors=he(j,"errors",f,b)),J!=null&&(h.warnings=he(J,"warnings",f,b)),Q!=null&&(h.watchFiles=ke(Q,"watchFiles")),K!=null&&(h.watchDirs=ke(K,"watchDirs"));break}}catch(w){return{id:q,errors:[we(w,e,f,v&&v(),b)]}}return h}case"on-load":{let h={},b="",o,v;for(let q of $.ids)try{({name:b,callback:o,note:v}=T[q]);let w=await o({path:$.path,namespace:$.namespace,suffix:$.suffix,pluginData:f.load($.pluginData)});if(w!=null){if(typeof w!="object")throw new Error(`Expected onLoad() callback in plugin ${JSON.stringify(b)} to return an object`);let d={},N=n(w,d,"pluginName",m),B=n(w,d,"contents",dt),H=n(w,d,"resolveDir",m),I=n(w,d,"pluginData",Ee),_=n(w,d,"loader",m),X=n(w,d,"errors",V),G=n(w,d,"warnings",V),j=n(w,d,"watchFiles",V),J=n(w,d,"watchDirs",V);Y(w,d,`from onLoad() callback in plugin ${JSON.stringify(b)}`),h.id=q,N!=null&&(h.pluginName=N),B instanceof Uint8Array?h.contents=B:B!=null&&(h.contents=de(B)),H!=null&&(h.resolveDir=H),I!=null&&(h.pluginData=f.store(I)),_!=null&&(h.loader=_),X!=null&&(h.errors=he(X,"errors",f,b)),G!=null&&(h.warnings=he(G,"warnings",f,b)),j!=null&&(h.watchFiles=ke(j,"watchFiles")),J!=null&&(h.watchDirs=ke(J,"watchDirs"));break}}catch(w){return{id:q,errors:[we(w,e,f,v&&v(),b)]}}return h}default:throw new Error("Invalid command: "+$.command)}},W=($,h,b)=>b();M.length>0&&(W=($,h,b)=>{(async()=>{for(let{name:o,callback:v,note:q}of M)try{await v($)}catch(w){$.errors.push(await new Promise(d=>h(w,o,q&&q(),d)))}})().then(b)}),k=!0;let ee=0;return{ok:!0,requestPlugins:U,runOnEndCallbacks:W,pluginRefs:{ref(){++ee===1&&r.set(a,A)},unref(){--ee===0&&r.delete(a)}}}},ue=(g,u,a,f)=>{let F={},D=n(u,F,"port",Re),M=n(u,F,"host",m),E=n(u,F,"servedir",m),T=n(u,F,"onRequest",je),C,R=new Promise((U,k)=>{C=A=>{p.delete(f),A!==null?k(new Error(A)):U()}});return a.serve={},Y(u,F,"in serve() call"),D!==void 0&&(a.serve.port=D),M!==void 0&&(a.serve.host=M),E!==void 0&&(a.serve.servedir=E),p.set(f,{onRequest:T,onWait:C}),{wait:R,stop(){x(g,{command:"serve-stop",key:f},()=>{})}}},fe="warning",ce="silent",me=g=>{let u=s++,a=Ve(),f,{refs:F,options:D,isTTY:M,callback:E}=g;if(typeof D=="object"){let R=D.plugins;if(R!==void 0){if(!Array.isArray(R))throw new Error('"plugins" must be an array');f=R}}let T=(R,U,k,A)=>{let W=[];try{Me(W,D,{},M,fe)}catch($){}let ee=we(R,e,a,k,U);x(F,{command:"error",flags:W,error:ee},()=>{ee.detail=a.load(ee.detail),A(ee)})},C=(R,U)=>{T(R,U,void 0,k=>{E(ve("Build failed",[k],[]),null)})};if(f&&f.length>0){if(e.isSync)return C(new Error("Cannot use plugins in synchronous API calls"),"");ie(D,f,u,a,F).then(R=>{if(!R.ok)C(R.error,R.pluginName);else try{se(Be(Te({},g),{key:u,details:a,logPluginError:T,requestPlugins:R.requestPlugins,runOnEndCallbacks:R.runOnEndCallbacks,pluginRefs:R.pluginRefs}))}catch(U){C(U,"")}},R=>C(R,""))}else try{se(Be(Te({},g),{key:u,details:a,logPluginError:T,requestPlugins:null,runOnEndCallbacks:(R,U,k)=>k(),pluginRefs:null}))}catch(R){C(R,"")}},se=({callName:g,refs:u,serveOptions:a,options:f,isTTY:F,defaultWD:D,callback:M,key:E,details:T,logPluginError:C,requestPlugins:R,runOnEndCallbacks:U,pluginRefs:k})=>{let A={ref(){k&&k.ref(),u&&u.ref()},unref(){k&&k.unref(),u&&u.unref()}},W=!e.isBrowser,{entries:ee,flags:$,write:h,stdinContents:b,stdinResolveDir:o,absWorkingDir:v,incremental:q,nodePaths:w,watch:d,mangleCache:N}=pt(g,f,F,fe,W),B={command:"build",key:E,entries:ee,flags:$,write:h,stdinContents:b,stdinResolveDir:o,absWorkingDir:v||D,incremental:q,nodePaths:w};R&&(B.plugins=R),N&&(B.mangleCache=N);let H=a&&ue(A,a,B,E),I,_,X=(j,J)=>{j.outputFiles&&(J.outputFiles=j.outputFiles.map(mt)),j.metafile&&(J.metafile=JSON.parse(j.metafile)),j.mangleCache&&(J.mangleCache=j.mangleCache),j.writeToStdout!==void 0&&console.log(ye(j.writeToStdout).replace(/\n$/,""))},G=(j,J)=>{let Q={errors:pe(j.errors,T),warnings:pe(j.warnings,T)};X(j,Q),U(Q,C,()=>{if(Q.errors.length>0)return J(ve("Build failed",Q.errors,Q.warnings),null);if(j.rebuild){if(!I){let K=!1;I=()=>new Promise((oe,Z)=>{if(K||l)throw new Error("Cannot rebuild");x(A,{command:"rebuild",key:E},(ne,et)=>{if(ne)return J(ve("Build failed",[{pluginName:"",text:ne,location:null,notes:[],detail:void 0}],[]),null);G(et,(Pe,tt)=>{Pe?Z(Pe):oe(tt)})})}),A.ref(),I.dispose=()=>{K||(K=!0,x(A,{command:"rebuild-dispose",key:E},()=>{}),A.unref())}}Q.rebuild=I}if(j.watch){if(!_){let K=!1;A.ref(),_=()=>{K||(K=!0,i.delete(E),x(A,{command:"watch-stop",key:E},()=>{}),A.unref())},d&&i.set(E,(oe,Z)=>{if(oe){d.onRebuild&&d.onRebuild(oe,null);return}let ne={errors:pe(Z.errors,T),warnings:pe(Z.warnings,T)};X(Z,ne),U(ne,C,()=>{if(ne.errors.length>0){d.onRebuild&&d.onRebuild(ve("Build failed",ne.errors,ne.warnings),null);return}Z.rebuildID!==void 0&&(ne.rebuild=I),ne.stop=_,d.onRebuild&&d.onRebuild(null,ne)})})}Q.stop=_}J(null,Q)})};if(h&&e.isBrowser)throw new Error('Cannot enable "write" in the browser');if(q&&e.isSync)throw new Error('Cannot use "incremental" with a synchronous build');if(d&&e.isSync)throw new Error('Cannot use "watch" with a synchronous build');x(A,B,(j,J)=>{if(j)return M(new Error(j),null);if(H){let Q=J,K=!1;A.ref();let oe={port:Q.port,host:Q.host,wait:H.wait,stop(){K||(K=!0,H.stop(),A.unref())}};return A.ref(),H.wait.then(A.unref,A.unref),M(null,oe)}return G(J,M)})};return{readFromStdout:P,afterClose:L,service:{buildOrServe:me,transform:({callName:g,refs:u,input:a,options:f,isTTY:F,fs:D,callback:M})=>{let E=Ve(),T=C=>{try{if(typeof a!="string")throw new Error('The input to "transform" must be a string');let{flags:R,mangleCache:U}=gt(g,f,F,ce),k={command:"transform",flags:R,inputFS:C!==null,input:C!==null?C:a};U&&(k.mangleCache=U),x(u,k,(A,W)=>{if(A)return M(new Error(A),null);let ee=pe(W.errors,E),$=pe(W.warnings,E),h=1,b=()=>{if(--h===0){let o={warnings:$,code:W.code,map:W.map};W.mangleCache&&(o.mangleCache=W==null?void 0:W.mangleCache),M(null,o)}};if(ee.length>0)return M(ve("Transform failed",ee,$),null);W.codeFS&&(h++,D.readFile(W.code,(o,v)=>{o!==null?M(o,null):(W.code=v,b())})),W.mapFS&&(h++,D.readFile(W.map,(o,v)=>{o!==null?M(o,null):(W.map=v,b())})),b()})}catch(R){let U=[];try{Me(U,f,{},F,ce)}catch(A){}let k=we(R,e,E,void 0,"");x(u,{command:"error",flags:U,error:k},()=>{k.detail=E.load(k.detail),M(ve("Transform failed",[k],[]),null)})}};if(typeof a=="string"&&a.length>1024*1024){let C=T;T=()=>D.writeFile(a,C)}T(null)},formatMessages:({callName:g,refs:u,messages:a,options:f,callback:F})=>{let D=he(a,"messages",null,"");if(!f)throw new Error(`Missing second argument in ${g}() call`);let M={},E=n(f,M,"kind",m),T=n(f,M,"color",z),C=n(f,M,"terminalWidth",Re);if(Y(f,M,`in ${g}() call`),E===void 0)throw new Error(`Missing "kind" in ${g}() call`);if(E!=="error"&&E!=="warning")throw new Error(`Expected "kind" to be "error" or "warning" in ${g}() call`);let R={command:"format-msgs",messages:D,isWarning:E==="warning"};T!==void 0&&(R.color=T),C!==void 0&&(R.terminalWidth=C),x(u,R,(U,k)=>{if(U)return F(new Error(U),null);F(null,k.messages)})},analyzeMetafile:({callName:g,refs:u,metafile:a,options:f,callback:F})=>{f===void 0&&(f={});let D={},M=n(f,D,"color",z),E=n(f,D,"verbose",z);Y(f,D,`in ${g}() call`);let T={command:"analyze-metafile",metafile:a};M!==void 0&&(T.color=M),E!==void 0&&(T.verbose=E),x(u,T,(C,R)=>{if(C)return F(new Error(C),null);F(null,R.result)})}}}}function Ve(){let e=new Map,t=0;return{load(r){return e.get(r)},store(r){if(r===void 0)return-1;let i=t++;return e.set(i,r),i}}}function xe(e,t,r){let i,p=!1;return()=>{if(p)return i;p=!0;try{let l=(e.stack+"").split(`
1
+ var Ie=Object.defineProperty,rt=Object.defineProperties;var nt=Object.getOwnPropertyDescriptors;var qe=Object.getOwnPropertySymbols;var lt=Object.prototype.hasOwnProperty,it=Object.prototype.propertyIsEnumerable;var We=(e,t,r)=>t in e?Ie(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,Be=(e,t)=>{for(var r in t||(t={}))lt.call(t,r)&&We(e,r,t[r]);if(qe)for(var r of qe(t))it.call(t,r)&&We(e,r,t[r]);return e},De=(e,t)=>rt(e,nt(t));var st=(e,t)=>{for(var r in t)Ie(e,r,{get:t[r],enumerable:!0})};var Pe={};st(Pe,{analyzeMetafile:()=>Ot,analyzeMetafileSync:()=>Et,build:()=>bt,buildSync:()=>St,default:()=>Ct,formatMessages:()=>Rt,formatMessagesSync:()=>kt,initialize:()=>$t,serve:()=>wt,transform:()=>vt,transformSync:()=>xt,version:()=>ht});function Ne(e){let t=i=>{if(i===null)r.write8(0);else if(typeof i=="boolean")r.write8(1),r.write8(+i);else if(typeof i=="number")r.write8(2),r.write32(i|0);else if(typeof i=="string")r.write8(3),r.write(de(i));else if(i instanceof Uint8Array)r.write8(4),r.write(i);else if(i instanceof Array){r.write8(5),r.write32(i.length);for(let p of i)t(p)}else{let p=Object.keys(i);r.write8(6),r.write32(p.length);for(let l of p)r.write(de(l)),t(i[l])}},r=new Fe;return r.write32(0),r.write32(e.id<<1|+!e.isRequest),t(e.value),Ae(r.buf,r.len-4,0),r.buf.subarray(0,r.len)}function ze(e){let t=()=>{switch(r.read8()){case 0:return null;case 1:return!!r.read8();case 2:return r.read32();case 3:return ye(r.read());case 4:return r.read();case 5:{let c=r.read32(),s=[];for(let y=0;y<c;y++)s.push(t());return s}case 6:{let c=r.read32(),s={};for(let y=0;y<c;y++)s[ye(r.read())]=t();return s}default:throw new Error("Invalid packet")}},r=new Fe(e),i=r.read32(),p=(i&1)===0;i>>>=1;let l=t();if(r.ptr!==e.length)throw new Error("Invalid packet");return{id:i,isRequest:p,value:l}}var Fe=class{constructor(t=new Uint8Array(1024)){this.buf=t;this.len=0;this.ptr=0}_write(t){if(this.len+t>this.buf.length){let r=new Uint8Array((this.len+t)*2);r.set(this.buf),this.buf=r}return this.len+=t,this.len-t}write8(t){let r=this._write(1);this.buf[r]=t}write32(t){let r=this._write(4);Ae(this.buf,t,r)}write(t){let r=this._write(4+t.length);Ae(this.buf,t.length,r),this.buf.set(t,r+4)}_read(t){if(this.ptr+t>this.buf.length)throw new Error("Invalid packet");return this.ptr+=t,this.ptr-t}read8(){return this.buf[this._read(1)]}read32(){return je(this.buf,this._read(4))}read(){let t=this.read32(),r=new Uint8Array(t),i=this._read(r.length);return r.set(this.buf.subarray(i,i+t)),r}},de,ye;if(typeof TextEncoder!="undefined"&&typeof TextDecoder!="undefined"){let e=new TextEncoder,t=new TextDecoder;de=r=>e.encode(r),ye=r=>t.decode(r)}else if(typeof Buffer!="undefined")de=e=>{let t=Buffer.from(e);return t instanceof Uint8Array||(t=new Uint8Array(t)),t},ye=e=>{let{buffer:t,byteOffset:r,byteLength:i}=e;return Buffer.from(t,r,i).toString()};else throw new Error("No UTF-8 codec found");function je(e,t){return e[t++]|e[t++]<<8|e[t++]<<16|e[t++]<<24}function Ae(e,t,r){e[r++]=t,e[r++]=t>>8,e[r++]=t>>16,e[r++]=t>>24}function Ke(e){if(e+="",e.indexOf(",")>=0)throw new Error(`Invalid target: ${e}`);return e}var Ee=()=>null,z=e=>typeof e=="boolean"?null:"a boolean",at=e=>typeof e=="boolean"||typeof e=="object"&&!Array.isArray(e)?null:"a boolean or an object",m=e=>typeof e=="string"?null:"a string",$e=e=>e instanceof RegExp?null:"a RegExp object",Re=e=>typeof e=="number"&&e===(e|0)?null:"an integer",Le=e=>typeof e=="function"?null:"a function",V=e=>Array.isArray(e)?null:"an array",ge=e=>typeof e=="object"&&e!==null&&!Array.isArray(e)?null:"an object",ut=e=>typeof e=="object"&&e!==null?null:"an array or an object",_e=e=>typeof e=="object"&&!Array.isArray(e)?null:"an object or null",Ye=e=>typeof e=="string"||typeof e=="boolean"?null:"a string or a boolean",ft=e=>typeof e=="string"||typeof e=="object"&&e!==null&&!Array.isArray(e)?null:"a string or an object",ct=e=>typeof e=="string"||Array.isArray(e)?null:"a string or an array",dt=e=>typeof e=="string"||e instanceof Uint8Array?null:"a string or a Uint8Array";function n(e,t,r,i){let p=e[r];if(t[r+""]=!0,p===void 0)return;let l=i(p);if(l!==null)throw new Error(`"${r}" must be ${l}`);return p}function Y(e,t,r){for(let i in e)if(!(i in t))throw new Error(`Invalid option ${r}: "${i}"`)}function He(e){let t=Object.create(null),r=n(e,t,"wasmURL",m),i=n(e,t,"worker",z);return Y(e,t,"in startService() call"),{wasmURL:r,worker:i}}function Ge(e){let t;if(e!==void 0){t=Object.create(null);for(let r of Object.keys(e)){let i=e[r];if(typeof i=="string"||i===!1)t[r]=i;else throw new Error(`Expected ${JSON.stringify(r)} in mangle cache to map to either a string or false`)}}return t}function Me(e,t,r,i,p){let l=n(t,r,"color",z),c=n(t,r,"logLevel",m),s=n(t,r,"logLimit",Re);l!==void 0?e.push(`--color=${l}`):i&&e.push("--color=true"),e.push(`--log-level=${c||p}`),e.push(`--log-limit=${s||0}`)}function Qe(e,t,r){let i=n(t,r,"legalComments",m),p=n(t,r,"sourceRoot",m),l=n(t,r,"sourcesContent",z),c=n(t,r,"target",ct),s=n(t,r,"format",m),y=n(t,r,"globalName",m),O=n(t,r,"mangleProps",$e),P=n(t,r,"reserveProps",$e),L=n(t,r,"minify",z),x=n(t,r,"minifySyntax",z),S=n(t,r,"minifyWhitespace",z),ae=n(t,r,"minifyIdentifiers",z),re=n(t,r,"drop",V),le=n(t,r,"charset",m),ie=n(t,r,"treeShaking",z),ue=n(t,r,"ignoreAnnotations",z),fe=n(t,r,"jsx",m),ce=n(t,r,"jsxFactory",m),me=n(t,r,"jsxFragment",m),se=n(t,r,"define",ge),be=n(t,r,"pure",V),Se=n(t,r,"keepNames",z);if(i&&e.push(`--legal-comments=${i}`),p!==void 0&&e.push(`--source-root=${p}`),l!==void 0&&e.push(`--sources-content=${l}`),c&&(Array.isArray(c)?e.push(`--target=${Array.from(c).map(Ke).join(",")}`):e.push(`--target=${Ke(c)}`)),s&&e.push(`--format=${s}`),y&&e.push(`--global-name=${y}`),L&&e.push("--minify"),x&&e.push("--minify-syntax"),S&&e.push("--minify-whitespace"),ae&&e.push("--minify-identifiers"),le&&e.push(`--charset=${le}`),ie!==void 0&&e.push(`--tree-shaking=${ie}`),ue&&e.push("--ignore-annotations"),re)for(let te of re)e.push(`--drop:${te}`);if(O&&e.push(`--mangle-props=${O.source}`),P&&e.push(`--reserve-props=${P.source}`),fe&&e.push(`--jsx=${fe}`),ce&&e.push(`--jsx-factory=${ce}`),me&&e.push(`--jsx-fragment=${me}`),se)for(let te in se){if(te.indexOf("=")>=0)throw new Error(`Invalid define: ${te}`);e.push(`--define:${te}=${se[te]}`)}if(be)for(let te of be)e.push(`--pure:${te}`);Se&&e.push("--keep-names")}function pt(e,t,r,i,p){var b;let l=[],c=[],s=Object.create(null),y=null,O=null,P=null;Me(l,t,s,r,i),Qe(l,t,s);let L=n(t,s,"sourcemap",Ye),x=n(t,s,"bundle",z),S=n(t,s,"watch",at),ae=n(t,s,"splitting",z),re=n(t,s,"preserveSymlinks",z),le=n(t,s,"metafile",z),ie=n(t,s,"outfile",m),ue=n(t,s,"outdir",m),fe=n(t,s,"outbase",m),ce=n(t,s,"platform",m),me=n(t,s,"tsconfig",m),se=n(t,s,"resolveExtensions",V),be=n(t,s,"nodePaths",V),Se=n(t,s,"mainFields",V),te=n(t,s,"conditions",V),g=n(t,s,"external",V),u=n(t,s,"loader",ge),a=n(t,s,"outExtension",ge),f=n(t,s,"publicPath",m),F=n(t,s,"entryNames",m),D=n(t,s,"chunkNames",m),M=n(t,s,"assetNames",m),E=n(t,s,"inject",V),T=n(t,s,"banner",ge),C=n(t,s,"footer",ge),R=n(t,s,"entryPoints",ut),U=n(t,s,"absWorkingDir",m),k=n(t,s,"stdin",ge),A=(b=n(t,s,"write",z))!=null?b:p,W=n(t,s,"allowOverwrite",z),ee=n(t,s,"incremental",z)===!0,$=n(t,s,"mangleCache",ge);if(s.plugins=!0,Y(t,s,`in ${e}() call`),L&&l.push(`--sourcemap${L===!0?"":`=${L}`}`),x&&l.push("--bundle"),W&&l.push("--allow-overwrite"),S)if(l.push("--watch"),typeof S=="boolean")P={};else{let o=Object.create(null),v=n(S,o,"onRebuild",Le);Y(S,o,`on "watch" in ${e}() call`),P={onRebuild:v}}if(ae&&l.push("--splitting"),re&&l.push("--preserve-symlinks"),le&&l.push("--metafile"),ie&&l.push(`--outfile=${ie}`),ue&&l.push(`--outdir=${ue}`),fe&&l.push(`--outbase=${fe}`),ce&&l.push(`--platform=${ce}`),me&&l.push(`--tsconfig=${me}`),se){let o=[];for(let v of se){if(v+="",v.indexOf(",")>=0)throw new Error(`Invalid resolve extension: ${v}`);o.push(v)}l.push(`--resolve-extensions=${o.join(",")}`)}if(f&&l.push(`--public-path=${f}`),F&&l.push(`--entry-names=${F}`),D&&l.push(`--chunk-names=${D}`),M&&l.push(`--asset-names=${M}`),Se){let o=[];for(let v of Se){if(v+="",v.indexOf(",")>=0)throw new Error(`Invalid main field: ${v}`);o.push(v)}l.push(`--main-fields=${o.join(",")}`)}if(te){let o=[];for(let v of te){if(v+="",v.indexOf(",")>=0)throw new Error(`Invalid condition: ${v}`);o.push(v)}l.push(`--conditions=${o.join(",")}`)}if(g)for(let o of g)l.push(`--external:${o}`);if(T)for(let o in T){if(o.indexOf("=")>=0)throw new Error(`Invalid banner file type: ${o}`);l.push(`--banner:${o}=${T[o]}`)}if(C)for(let o in C){if(o.indexOf("=")>=0)throw new Error(`Invalid footer file type: ${o}`);l.push(`--footer:${o}=${C[o]}`)}if(E)for(let o of E)l.push(`--inject:${o}`);if(u)for(let o in u){if(o.indexOf("=")>=0)throw new Error(`Invalid loader extension: ${o}`);l.push(`--loader:${o}=${u[o]}`)}if(a)for(let o in a){if(o.indexOf("=")>=0)throw new Error(`Invalid out extension: ${o}`);l.push(`--out-extension:${o}=${a[o]}`)}if(R)if(Array.isArray(R))for(let o of R)c.push(["",o+""]);else for(let[o,v]of Object.entries(R))c.push([o+"",v+""]);if(k){let o=Object.create(null),v=n(k,o,"contents",m),q=n(k,o,"resolveDir",m),w=n(k,o,"sourcefile",m),d=n(k,o,"loader",m);Y(k,o,'in "stdin" object'),w&&l.push(`--sourcefile=${w}`),d&&l.push(`--loader=${d}`),q&&(O=q+""),y=v?v+"":""}let h=[];if(be)for(let o of be)o+="",h.push(o);return{entries:c,flags:l,write:A,stdinContents:y,stdinResolveDir:O,absWorkingDir:U,incremental:ee,nodePaths:h,watch:P,mangleCache:Ge($)}}function gt(e,t,r,i){let p=[],l=Object.create(null);Me(p,t,l,r,i),Qe(p,t,l);let c=n(t,l,"sourcemap",Ye),s=n(t,l,"tsconfigRaw",ft),y=n(t,l,"sourcefile",m),O=n(t,l,"loader",m),P=n(t,l,"banner",m),L=n(t,l,"footer",m),x=n(t,l,"mangleCache",ge);return Y(t,l,`in ${e}() call`),c&&p.push(`--sourcemap=${c===!0?"external":c}`),s&&p.push(`--tsconfig-raw=${typeof s=="string"?s:JSON.stringify(s)}`),y&&p.push(`--sourcefile=${y}`),O&&p.push(`--loader=${O}`),P&&p.push(`--banner=${P}`),L&&p.push(`--footer=${L}`),{flags:p,mangleCache:Ge(x)}}function Xe(e){let t=new Map,r=new Map,i=new Map,p=new Map,l=!1,c=0,s=0,y=new Uint8Array(16*1024),O=0,P=g=>{let u=O+g.length;if(u>y.length){let f=new Uint8Array(u*2);f.set(y),y=f}y.set(g,O),O+=g.length;let a=0;for(;a+4<=O;){let f=je(y,a);if(a+4+f>O)break;a+=4,le(y.subarray(a,a+f)),a+=f}a>0&&(y.copyWithin(0,a,O),O-=a)},L=()=>{l=!0;for(let g of t.values())g("The service was stopped",null);t.clear();for(let g of p.values())g.onWait("The service was stopped");p.clear();for(let g of i.values())try{g(new Error("The service was stopped"),null)}catch(u){console.error(u)}i.clear()},x=(g,u,a)=>{if(l)return a("The service is no longer running",null);let f=c++;t.set(f,(F,D)=>{try{a(F,D)}finally{g&&g.unref()}}),g&&g.ref(),e.writeToStdin(Ne({id:f,isRequest:!0,value:u}))},S=(g,u)=>{if(l)throw new Error("The service is no longer running");e.writeToStdin(Ne({id:g,isRequest:!1,value:u}))},ae=async(g,u)=>{try{switch(u.command){case"ping":{S(g,{});break}case"on-start":{let a=r.get(u.key);a?S(g,await a(u)):S(g,{});break}case"on-resolve":{let a=r.get(u.key);a?S(g,await a(u)):S(g,{});break}case"on-load":{let a=r.get(u.key);a?S(g,await a(u)):S(g,{});break}case"serve-request":{let a=p.get(u.key);a&&a.onRequest&&a.onRequest(u.args),S(g,{});break}case"serve-wait":{let a=p.get(u.key);a&&a.onWait(u.error),S(g,{});break}case"watch-rebuild":{let a=i.get(u.key);try{a&&a(null,u.args)}catch(f){console.error(f)}S(g,{});break}default:throw new Error("Invalid command: "+u.command)}}catch(a){S(g,{errors:[we(a,e,null,void 0,"")]})}},re=!0,le=g=>{if(re){re=!1;let a=String.fromCharCode(...g);if(a!=="0.14.23")throw new Error(`Cannot start service: Host version "0.14.23" does not match binary version ${JSON.stringify(a)}`);return}let u=ze(g);if(u.isRequest)ae(u.id,u.value);else{let a=t.get(u.id);t.delete(u.id),u.value.error?a(u.value.error,{}):a(null,u.value)}},ie=async(g,u,a,f,F)=>{let D=[],M=[],E={},T={},C=0,R=0,U=[],k=!1;u=[...u];for(let $ of u){let h={};if(typeof $!="object")throw new Error(`Plugin at index ${R} must be an object`);let b=n($,h,"name",m);if(typeof b!="string"||b==="")throw new Error(`Plugin at index ${R} is missing a name`);try{let o=n($,h,"setup",Le);if(typeof o!="function")throw new Error("Plugin is missing a setup function");Y($,h,`on plugin ${JSON.stringify(b)}`);let v={name:b,onResolve:[],onLoad:[]};R++;let w=o({initialOptions:g,resolve:(d,N={})=>{if(!k)throw new Error('Cannot call "resolve" before plugin setup has completed');if(typeof d!="string")throw new Error("The path to resolve must be a string");let B=Object.create(null),H=n(N,B,"pluginName",m),I=n(N,B,"importer",m),_=n(N,B,"namespace",m),X=n(N,B,"resolveDir",m),G=n(N,B,"kind",m),j=n(N,B,"pluginData",Ee);return Y(N,B,"in resolve() call"),new Promise((J,Q)=>{let K={command:"resolve",path:d,key:a,pluginName:b};H!=null&&(K.pluginName=H),I!=null&&(K.importer=I),_!=null&&(K.namespace=_),X!=null&&(K.resolveDir=X),G!=null&&(K.kind=G),j!=null&&(K.pluginData=f.store(j)),x(F,K,(oe,Z)=>{oe!==null?Q(new Error(oe)):J({errors:pe(Z.errors,f),warnings:pe(Z.warnings,f),path:Z.path,external:Z.external,sideEffects:Z.sideEffects,namespace:Z.namespace,suffix:Z.suffix,pluginData:f.load(Z.pluginData)})})})},onStart(d){let N='This error came from the "onStart" callback registered here:',B=xe(new Error(N),e,"onStart");D.push({name:b,callback:d,note:B})},onEnd(d){let N='This error came from the "onEnd" callback registered here:',B=xe(new Error(N),e,"onEnd");M.push({name:b,callback:d,note:B})},onResolve(d,N){let B='This error came from the "onResolve" callback registered here:',H=xe(new Error(B),e,"onResolve"),I={},_=n(d,I,"filter",$e),X=n(d,I,"namespace",m);if(Y(d,I,`in onResolve() call for plugin ${JSON.stringify(b)}`),_==null)throw new Error("onResolve() call is missing a filter");let G=C++;E[G]={name:b,callback:N,note:H},v.onResolve.push({id:G,filter:_.source,namespace:X||""})},onLoad(d,N){let B='This error came from the "onLoad" callback registered here:',H=xe(new Error(B),e,"onLoad"),I={},_=n(d,I,"filter",$e),X=n(d,I,"namespace",m);if(Y(d,I,`in onLoad() call for plugin ${JSON.stringify(b)}`),_==null)throw new Error("onLoad() call is missing a filter");let G=C++;T[G]={name:b,callback:N,note:H},v.onLoad.push({id:G,filter:_.source,namespace:X||""})},esbuild:e.esbuild});w&&await w,U.push(v)}catch(o){return{ok:!1,error:o,pluginName:b}}}let A=async $=>{switch($.command){case"on-start":{let h={errors:[],warnings:[]};return await Promise.all(D.map(async({name:b,callback:o,note:v})=>{try{let q=await o();if(q!=null){if(typeof q!="object")throw new Error(`Expected onStart() callback in plugin ${JSON.stringify(b)} to return an object`);let w={},d=n(q,w,"errors",V),N=n(q,w,"warnings",V);Y(q,w,`from onStart() callback in plugin ${JSON.stringify(b)}`),d!=null&&h.errors.push(...he(d,"errors",f,b)),N!=null&&h.warnings.push(...he(N,"warnings",f,b))}}catch(q){h.errors.push(we(q,e,f,v&&v(),b))}})),h}case"on-resolve":{let h={},b="",o,v;for(let q of $.ids)try{({name:b,callback:o,note:v}=E[q]);let w=await o({path:$.path,importer:$.importer,namespace:$.namespace,resolveDir:$.resolveDir,kind:$.kind,pluginData:f.load($.pluginData)});if(w!=null){if(typeof w!="object")throw new Error(`Expected onResolve() callback in plugin ${JSON.stringify(b)} to return an object`);let d={},N=n(w,d,"pluginName",m),B=n(w,d,"path",m),H=n(w,d,"namespace",m),I=n(w,d,"suffix",m),_=n(w,d,"external",z),X=n(w,d,"sideEffects",z),G=n(w,d,"pluginData",Ee),j=n(w,d,"errors",V),J=n(w,d,"warnings",V),Q=n(w,d,"watchFiles",V),K=n(w,d,"watchDirs",V);Y(w,d,`from onResolve() callback in plugin ${JSON.stringify(b)}`),h.id=q,N!=null&&(h.pluginName=N),B!=null&&(h.path=B),H!=null&&(h.namespace=H),I!=null&&(h.suffix=I),_!=null&&(h.external=_),X!=null&&(h.sideEffects=X),G!=null&&(h.pluginData=f.store(G)),j!=null&&(h.errors=he(j,"errors",f,b)),J!=null&&(h.warnings=he(J,"warnings",f,b)),Q!=null&&(h.watchFiles=ke(Q,"watchFiles")),K!=null&&(h.watchDirs=ke(K,"watchDirs"));break}}catch(w){return{id:q,errors:[we(w,e,f,v&&v(),b)]}}return h}case"on-load":{let h={},b="",o,v;for(let q of $.ids)try{({name:b,callback:o,note:v}=T[q]);let w=await o({path:$.path,namespace:$.namespace,suffix:$.suffix,pluginData:f.load($.pluginData)});if(w!=null){if(typeof w!="object")throw new Error(`Expected onLoad() callback in plugin ${JSON.stringify(b)} to return an object`);let d={},N=n(w,d,"pluginName",m),B=n(w,d,"contents",dt),H=n(w,d,"resolveDir",m),I=n(w,d,"pluginData",Ee),_=n(w,d,"loader",m),X=n(w,d,"errors",V),G=n(w,d,"warnings",V),j=n(w,d,"watchFiles",V),J=n(w,d,"watchDirs",V);Y(w,d,`from onLoad() callback in plugin ${JSON.stringify(b)}`),h.id=q,N!=null&&(h.pluginName=N),B instanceof Uint8Array?h.contents=B:B!=null&&(h.contents=de(B)),H!=null&&(h.resolveDir=H),I!=null&&(h.pluginData=f.store(I)),_!=null&&(h.loader=_),X!=null&&(h.errors=he(X,"errors",f,b)),G!=null&&(h.warnings=he(G,"warnings",f,b)),j!=null&&(h.watchFiles=ke(j,"watchFiles")),J!=null&&(h.watchDirs=ke(J,"watchDirs"));break}}catch(w){return{id:q,errors:[we(w,e,f,v&&v(),b)]}}return h}default:throw new Error("Invalid command: "+$.command)}},W=($,h,b)=>b();M.length>0&&(W=($,h,b)=>{(async()=>{for(let{name:o,callback:v,note:q}of M)try{await v($)}catch(w){$.errors.push(await new Promise(d=>h(w,o,q&&q(),d)))}})().then(b)}),k=!0;let ee=0;return{ok:!0,requestPlugins:U,runOnEndCallbacks:W,pluginRefs:{ref(){++ee===1&&r.set(a,A)},unref(){--ee===0&&r.delete(a)}}}},ue=(g,u,a,f)=>{let F={},D=n(u,F,"port",Re),M=n(u,F,"host",m),E=n(u,F,"servedir",m),T=n(u,F,"onRequest",Le),C,R=new Promise((U,k)=>{C=A=>{p.delete(f),A!==null?k(new Error(A)):U()}});return a.serve={},Y(u,F,"in serve() call"),D!==void 0&&(a.serve.port=D),M!==void 0&&(a.serve.host=M),E!==void 0&&(a.serve.servedir=E),p.set(f,{onRequest:T,onWait:C}),{wait:R,stop(){x(g,{command:"serve-stop",key:f},()=>{})}}},fe="warning",ce="silent",me=g=>{let u=s++,a=Ve(),f,{refs:F,options:D,isTTY:M,callback:E}=g;if(typeof D=="object"){let R=D.plugins;if(R!==void 0){if(!Array.isArray(R))throw new Error('"plugins" must be an array');f=R}}let T=(R,U,k,A)=>{let W=[];try{Me(W,D,{},M,fe)}catch($){}let ee=we(R,e,a,k,U);x(F,{command:"error",flags:W,error:ee},()=>{ee.detail=a.load(ee.detail),A(ee)})},C=(R,U)=>{T(R,U,void 0,k=>{E(ve("Build failed",[k],[]),null)})};if(f&&f.length>0){if(e.isSync)return C(new Error("Cannot use plugins in synchronous API calls"),"");ie(D,f,u,a,F).then(R=>{if(!R.ok)C(R.error,R.pluginName);else try{se(De(Be({},g),{key:u,details:a,logPluginError:T,requestPlugins:R.requestPlugins,runOnEndCallbacks:R.runOnEndCallbacks,pluginRefs:R.pluginRefs}))}catch(U){C(U,"")}},R=>C(R,""))}else try{se(De(Be({},g),{key:u,details:a,logPluginError:T,requestPlugins:null,runOnEndCallbacks:(R,U,k)=>k(),pluginRefs:null}))}catch(R){C(R,"")}},se=({callName:g,refs:u,serveOptions:a,options:f,isTTY:F,defaultWD:D,callback:M,key:E,details:T,logPluginError:C,requestPlugins:R,runOnEndCallbacks:U,pluginRefs:k})=>{let A={ref(){k&&k.ref(),u&&u.ref()},unref(){k&&k.unref(),u&&u.unref()}},W=!e.isBrowser,{entries:ee,flags:$,write:h,stdinContents:b,stdinResolveDir:o,absWorkingDir:v,incremental:q,nodePaths:w,watch:d,mangleCache:N}=pt(g,f,F,fe,W),B={command:"build",key:E,entries:ee,flags:$,write:h,stdinContents:b,stdinResolveDir:o,absWorkingDir:v||D,incremental:q,nodePaths:w};R&&(B.plugins=R),N&&(B.mangleCache=N);let H=a&&ue(A,a,B,E),I,_,X=(j,J)=>{j.outputFiles&&(J.outputFiles=j.outputFiles.map(mt)),j.metafile&&(J.metafile=JSON.parse(j.metafile)),j.mangleCache&&(J.mangleCache=j.mangleCache),j.writeToStdout!==void 0&&console.log(ye(j.writeToStdout).replace(/\n$/,""))},G=(j,J)=>{let Q={errors:pe(j.errors,T),warnings:pe(j.warnings,T)};X(j,Q),U(Q,C,()=>{if(Q.errors.length>0)return J(ve("Build failed",Q.errors,Q.warnings),null);if(j.rebuild){if(!I){let K=!1;I=()=>new Promise((oe,Z)=>{if(K||l)throw new Error("Cannot rebuild");x(A,{command:"rebuild",key:E},(ne,et)=>{if(ne)return J(ve("Build failed",[{pluginName:"",text:ne,location:null,notes:[],detail:void 0}],[]),null);G(et,(Te,tt)=>{Te?Z(Te):oe(tt)})})}),A.ref(),I.dispose=()=>{K||(K=!0,x(A,{command:"rebuild-dispose",key:E},()=>{}),A.unref())}}Q.rebuild=I}if(j.watch){if(!_){let K=!1;A.ref(),_=()=>{K||(K=!0,i.delete(E),x(A,{command:"watch-stop",key:E},()=>{}),A.unref())},d&&i.set(E,(oe,Z)=>{if(oe){d.onRebuild&&d.onRebuild(oe,null);return}let ne={errors:pe(Z.errors,T),warnings:pe(Z.warnings,T)};X(Z,ne),U(ne,C,()=>{if(ne.errors.length>0){d.onRebuild&&d.onRebuild(ve("Build failed",ne.errors,ne.warnings),null);return}Z.rebuildID!==void 0&&(ne.rebuild=I),ne.stop=_,d.onRebuild&&d.onRebuild(null,ne)})})}Q.stop=_}J(null,Q)})};if(h&&e.isBrowser)throw new Error('Cannot enable "write" in the browser');if(q&&e.isSync)throw new Error('Cannot use "incremental" with a synchronous build');if(d&&e.isSync)throw new Error('Cannot use "watch" with a synchronous build');x(A,B,(j,J)=>{if(j)return M(new Error(j),null);if(H){let Q=J,K=!1;A.ref();let oe={port:Q.port,host:Q.host,wait:H.wait,stop(){K||(K=!0,H.stop(),A.unref())}};return A.ref(),H.wait.then(A.unref,A.unref),M(null,oe)}return G(J,M)})};return{readFromStdout:P,afterClose:L,service:{buildOrServe:me,transform:({callName:g,refs:u,input:a,options:f,isTTY:F,fs:D,callback:M})=>{let E=Ve(),T=C=>{try{if(typeof a!="string")throw new Error('The input to "transform" must be a string');let{flags:R,mangleCache:U}=gt(g,f,F,ce),k={command:"transform",flags:R,inputFS:C!==null,input:C!==null?C:a};U&&(k.mangleCache=U),x(u,k,(A,W)=>{if(A)return M(new Error(A),null);let ee=pe(W.errors,E),$=pe(W.warnings,E),h=1,b=()=>{if(--h===0){let o={warnings:$,code:W.code,map:W.map};W.mangleCache&&(o.mangleCache=W==null?void 0:W.mangleCache),M(null,o)}};if(ee.length>0)return M(ve("Transform failed",ee,$),null);W.codeFS&&(h++,D.readFile(W.code,(o,v)=>{o!==null?M(o,null):(W.code=v,b())})),W.mapFS&&(h++,D.readFile(W.map,(o,v)=>{o!==null?M(o,null):(W.map=v,b())})),b()})}catch(R){let U=[];try{Me(U,f,{},F,ce)}catch(A){}let k=we(R,e,E,void 0,"");x(u,{command:"error",flags:U,error:k},()=>{k.detail=E.load(k.detail),M(ve("Transform failed",[k],[]),null)})}};if(typeof a=="string"&&a.length>1024*1024){let C=T;T=()=>D.writeFile(a,C)}T(null)},formatMessages:({callName:g,refs:u,messages:a,options:f,callback:F})=>{let D=he(a,"messages",null,"");if(!f)throw new Error(`Missing second argument in ${g}() call`);let M={},E=n(f,M,"kind",m),T=n(f,M,"color",z),C=n(f,M,"terminalWidth",Re);if(Y(f,M,`in ${g}() call`),E===void 0)throw new Error(`Missing "kind" in ${g}() call`);if(E!=="error"&&E!=="warning")throw new Error(`Expected "kind" to be "error" or "warning" in ${g}() call`);let R={command:"format-msgs",messages:D,isWarning:E==="warning"};T!==void 0&&(R.color=T),C!==void 0&&(R.terminalWidth=C),x(u,R,(U,k)=>{if(U)return F(new Error(U),null);F(null,k.messages)})},analyzeMetafile:({callName:g,refs:u,metafile:a,options:f,callback:F})=>{f===void 0&&(f={});let D={},M=n(f,D,"color",z),E=n(f,D,"verbose",z);Y(f,D,`in ${g}() call`);let T={command:"analyze-metafile",metafile:a};M!==void 0&&(T.color=M),E!==void 0&&(T.verbose=E),x(u,T,(C,R)=>{if(C)return F(new Error(C),null);F(null,R.result)})}}}}function Ve(){let e=new Map,t=0;return{load(r){return e.get(r)},store(r){if(r===void 0)return-1;let i=t++;return e.set(i,r),i}}}function xe(e,t,r){let i,p=!1;return()=>{if(p)return i;p=!0;try{let l=(e.stack+"").split(`
2
2
  `);l.splice(1,1);let c=Ze(t,l,r);if(c)return i={text:e.message,location:c},i}catch(l){}}}function we(e,t,r,i,p){let l="Internal error",c=null;try{l=(e&&e.message||e)+""}catch(s){}try{c=Ze(t,(e.stack+"").split(`
3
3
  `),"")}catch(s){}return{pluginName:p,text:l,location:c,notes:i?[i]:[],detail:r?r.store(e):-1}}function Ze(e,t,r){let i=" at ";if(e.readFileSync&&!t[0].startsWith(i)&&t[1].startsWith(i))for(let p=1;p<t.length;p++){let l=t[p];if(!!l.startsWith(i))for(l=l.slice(i.length);;){let c=/^(?:new |async )?\S+ \((.*)\)$/.exec(l);if(c){l=c[1];continue}if(c=/^eval at \S+ \((.*)\)(?:, \S+:\d+:\d+)?$/.exec(l),c){l=c[1];continue}if(c=/^(\S+):(\d+):(\d+)$/.exec(l),c){let s;try{s=e.readFileSync(c[1],"utf8")}catch(L){break}let y=s.split(/\r\n|\r|\n|\u2028|\u2029/)[+c[2]-1]||"",O=+c[3]-1,P=y.slice(O,O+r.length)===r?r.length:0;return{file:c[1],namespace:"file",line:+c[2],column:de(y.slice(0,O)).length,length:de(y.slice(O,O+P)).length,lineText:y+`
4
4
  `+t.slice(1).join(`
5
5
  `),suggestion:""}}break}}return null}function ve(e,t,r){let i=5,p=t.length<1?"":` with ${t.length} error${t.length<2?"":"s"}:`+t.slice(0,i+1).map((c,s)=>{if(s===i)return`
6
6
  ...`;if(!c.location)return`
7
7
  error: ${c.text}`;let{file:y,line:O,column:P}=c.location,L=c.pluginName?`[plugin: ${c.pluginName}] `:"";return`
8
- ${y}:${O}:${P}: ERROR: ${L}${c.text}`}).join(""),l=new Error(`${e}${p}`);return l.errors=t,l.warnings=r,l}function pe(e,t){for(let r of e)r.detail=t.load(r.detail);return e}function Je(e,t){if(e==null)return null;let r={},i=n(e,r,"file",m),p=n(e,r,"namespace",m),l=n(e,r,"line",Re),c=n(e,r,"column",Re),s=n(e,r,"length",Re),y=n(e,r,"lineText",m),O=n(e,r,"suggestion",m);return Y(e,r,t),{file:i||"",namespace:p||"",line:l||0,column:c||0,length:s||0,lineText:y||"",suggestion:O||""}}function he(e,t,r,i){let p=[],l=0;for(let c of e){let s={},y=n(c,s,"pluginName",m),O=n(c,s,"text",m),P=n(c,s,"location",_e),L=n(c,s,"notes",V),x=n(c,s,"detail",Ee),S=`in element ${l} of "${t}"`;Y(c,s,S);let ae=[];if(L)for(let re of L){let le={},ie=n(re,le,"text",m),ue=n(re,le,"location",_e);Y(re,le,S),ae.push({text:ie||"",location:Je(ue,S)})}p.push({pluginName:y||i,text:O||"",location:Je(P,S),notes:ae,detail:r?r.store(x):-1}),l++}return p}function ke(e,t){let r=[];for(let i of e){if(typeof i!="string")throw new Error(`${JSON.stringify(t)} must be an array of strings`);r.push(i)}return r}function mt({path:e,contents:t}){let r=null;return{path:e,contents:t,get text(){return r===null&&(r=ye(t)),r}}}var ht="0.14.20",bt=e=>Ce().build(e),wt=()=>{throw new Error('The "serve" API only works in node')},vt=(e,t)=>Ce().transform(e,t),Rt=(e,t)=>Ce().formatMessages(e,t),Ot=(e,t)=>Ce().analyzeMetafile(e,t),St=()=>{throw new Error('The "buildSync" API only works in node')},xt=()=>{throw new Error('The "transformSync" API only works in node')},kt=()=>{throw new Error('The "formatMessagesSync" API only works in node')},Et=()=>{throw new Error('The "analyzeMetafileSync" API only works in node')},Oe,Le,Ce=()=>{if(Le)return Le;throw Oe?new Error('You need to wait for the promise returned from "initialize" to be resolved before calling this'):new Error('You need to call "initialize" before calling this')},$t=e=>{e=He(e||{});let t=e.wasmURL,r=e.worker!==!1;if(!t)throw new Error('Must provide the "wasmURL" option');if(t+="",Oe)throw new Error('Cannot call "initialize" more than once');return Oe=Mt(t,r),Oe.catch(()=>{Oe=void 0}),Oe},Mt=async(e,t)=>{let r=await fetch(e);if(!r.ok)throw new Error(`Failed to download ${JSON.stringify(e)}`);let i=await r.arrayBuffer(),p='{let global={};for(let o=self;o;o=Object.getPrototypeOf(o))for(let k of Object.getOwnPropertyNames(o))if(!(k in global))Object.defineProperty(global,k,{get:()=>self[k]});\n// Copyright 2018 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n(()=>{if(typeof global=="undefined")if(typeof window!="undefined")window.global=window;else if(typeof self!="undefined")self.global=self;else throw new Error("cannot export Go (neither global, window nor self is defined)");if(!global.require&&typeof require!="undefined"&&(global.require=require),!global.fs&&global.require){const r=require("fs");typeof r=="object"&&r!==null&&Object.keys(r).length!==0&&(global.fs=Object.assign({},r,{write(n,s,i,l,d,u){if(i===0&&l===s.length&&d===null){if(n===process.stdout.fd){try{process.stdout.write(s,h=>h?u(h,0,null):u(null,l,s))}catch(h){u(h,0,null)}return}if(n===process.stderr.fd){try{process.stderr.write(s,h=>h?u(h,0,null):u(null,l,s))}catch(h){u(h,0,null)}return}}r.write(n,s,i,l,d,u)}}))}const a=()=>{const r=new Error("not implemented");return r.code="ENOSYS",r};if(!global.fs){let r="";global.fs={constants:{O_WRONLY:-1,O_RDWR:-1,O_CREAT:-1,O_TRUNC:-1,O_APPEND:-1,O_EXCL:-1},writeSync(n,s){r+=g.decode(s);const i=r.lastIndexOf(`\n`);return i!=-1&&(console.log(r.substr(0,i)),r=r.substr(i+1)),s.length},write(n,s,i,l,d,u){if(i!==0||l!==s.length||d!==null){u(a());return}const h=this.writeSync(n,s);u(null,h)},chmod(n,s,i){i(a())},chown(n,s,i,l){l(a())},close(n,s){s(a())},fchmod(n,s,i){i(a())},fchown(n,s,i,l){l(a())},fstat(n,s){s(a())},fsync(n,s){s(null)},ftruncate(n,s,i){i(a())},lchown(n,s,i,l){l(a())},link(n,s,i){i(a())},lstat(n,s){s(a())},mkdir(n,s,i){i(a())},open(n,s,i,l){l(a())},read(n,s,i,l,d,u){u(a())},readdir(n,s){s(a())},readlink(n,s){s(a())},rename(n,s,i){i(a())},rmdir(n,s){s(a())},stat(n,s){s(a())},symlink(n,s,i){i(a())},truncate(n,s,i){i(a())},unlink(n,s){s(a())},utimes(n,s,i,l){l(a())}}}if(global.process||(global.process={getuid(){return-1},getgid(){return-1},geteuid(){return-1},getegid(){return-1},getgroups(){throw a()},pid:-1,ppid:-1,umask(){throw a()},cwd(){throw a()},chdir(){throw a()}}),!global.crypto&&global.require){const r=require("crypto");global.crypto={getRandomValues(n){r.randomFillSync(n)}}}if(!global.crypto)throw new Error("global.crypto is not available, polyfill required (getRandomValues only)");if(global.performance||(global.performance={now(){const[r,n]=process.hrtime();return r*1e3+n/1e6}}),!global.TextEncoder&&global.require&&(global.TextEncoder=require("util").TextEncoder),!global.TextEncoder)throw new Error("global.TextEncoder is not available, polyfill required");if(!global.TextDecoder&&global.require&&(global.TextDecoder=require("util").TextDecoder),!global.TextDecoder)throw new Error("global.TextDecoder is not available, polyfill required");const f=new TextEncoder("utf-8"),g=new TextDecoder("utf-8");if(global.Go=class{constructor(){this.argv=["js"],this.env={},this.exit=e=>{e!==0&&console.warn("exit code:",e)},this._exitPromise=new Promise(e=>{this._resolveExitPromise=e}),this._pendingEvent=null,this._scheduledTimeouts=new Map,this._nextCallbackTimeoutID=1;const r=(e,t)=>{this.mem.setUint32(e+0,t,!0),this.mem.setUint32(e+4,Math.floor(t/4294967296),!0)},n=e=>{const t=this.mem.getUint32(e+0,!0),o=this.mem.getInt32(e+4,!0);return t+o*4294967296},s=e=>{const t=this.mem.getFloat64(e,!0);if(t===0)return;if(!isNaN(t))return t;const o=this.mem.getUint32(e,!0);return this._values[o]},i=(e,t)=>{if(typeof t=="number"&&t!==0){if(isNaN(t)){this.mem.setUint32(e+4,2146959360,!0),this.mem.setUint32(e,0,!0);return}this.mem.setFloat64(e,t,!0);return}if(t===void 0){this.mem.setFloat64(e,0,!0);return}let c=this._ids.get(t);c===void 0&&(c=this._idPool.pop(),c===void 0&&(c=this._values.length),this._values[c]=t,this._goRefCounts[c]=0,this._ids.set(t,c)),this._goRefCounts[c]++;let m=0;switch(typeof t){case"object":t!==null&&(m=1);break;case"string":m=2;break;case"symbol":m=3;break;case"function":m=4;break}this.mem.setUint32(e+4,2146959360|m,!0),this.mem.setUint32(e,c,!0)},l=e=>{const t=n(e+0),o=n(e+8);return new Uint8Array(this._inst.exports.mem.buffer,t,o)},d=e=>{const t=n(e+0),o=n(e+8),c=new Array(o);for(let m=0;m<o;m++)c[m]=s(t+m*8);return c},u=e=>{const t=n(e+0),o=n(e+8);return g.decode(new DataView(this._inst.exports.mem.buffer,t,o))},h=Date.now()-performance.now();this.importObject={go:{"runtime.wasmExit":e=>{e>>>=0;const t=this.mem.getInt32(e+8,!0);this.exited=!0,delete this._inst,delete this._values,delete this._goRefCounts,delete this._ids,delete this._idPool,this.exit(t)},"runtime.wasmWrite":e=>{e>>>=0;const t=n(e+8),o=n(e+16),c=this.mem.getInt32(e+24,!0);fs.writeSync(t,new Uint8Array(this._inst.exports.mem.buffer,o,c))},"runtime.resetMemoryDataView":e=>{e>>>=0,this.mem=new DataView(this._inst.exports.mem.buffer)},"runtime.nanotime1":e=>{e>>>=0,r(e+8,(h+performance.now())*1e6)},"runtime.walltime":e=>{e>>>=0;const t=new Date().getTime();r(e+8,t/1e3),this.mem.setInt32(e+16,t%1e3*1e6,!0)},"runtime.scheduleTimeoutEvent":e=>{e>>>=0;const t=this._nextCallbackTimeoutID;this._nextCallbackTimeoutID++,this._scheduledTimeouts.set(t,setTimeout(()=>{for(this._resume();this._scheduledTimeouts.has(t);)console.warn("scheduleTimeoutEvent: missed timeout event"),this._resume()},n(e+8)+1)),this.mem.setInt32(e+16,t,!0)},"runtime.clearTimeoutEvent":e=>{e>>>=0;const t=this.mem.getInt32(e+8,!0);clearTimeout(this._scheduledTimeouts.get(t)),this._scheduledTimeouts.delete(t)},"runtime.getRandomData":e=>{e>>>=0,crypto.getRandomValues(l(e+8))},"syscall/js.finalizeRef":e=>{e>>>=0;const t=this.mem.getUint32(e+8,!0);if(this._goRefCounts[t]--,this._goRefCounts[t]===0){const o=this._values[t];this._values[t]=null,this._ids.delete(o),this._idPool.push(t)}},"syscall/js.stringVal":e=>{e>>>=0,i(e+24,u(e+8))},"syscall/js.valueGet":e=>{e>>>=0;const t=Reflect.get(s(e+8),u(e+16));e=this._inst.exports.getsp()>>>0,i(e+32,t)},"syscall/js.valueSet":e=>{e>>>=0,Reflect.set(s(e+8),u(e+16),s(e+32))},"syscall/js.valueDelete":e=>{e>>>=0,Reflect.deleteProperty(s(e+8),u(e+16))},"syscall/js.valueIndex":e=>{e>>>=0,i(e+24,Reflect.get(s(e+8),n(e+16)))},"syscall/js.valueSetIndex":e=>{e>>>=0,Reflect.set(s(e+8),n(e+16),s(e+24))},"syscall/js.valueCall":e=>{e>>>=0;try{const t=s(e+8),o=Reflect.get(t,u(e+16)),c=d(e+32),m=Reflect.apply(o,t,c);e=this._inst.exports.getsp()>>>0,i(e+56,m),this.mem.setUint8(e+64,1)}catch(t){e=this._inst.exports.getsp()>>>0,i(e+56,t),this.mem.setUint8(e+64,0)}},"syscall/js.valueInvoke":e=>{e>>>=0;try{const t=s(e+8),o=d(e+16),c=Reflect.apply(t,void 0,o);e=this._inst.exports.getsp()>>>0,i(e+40,c),this.mem.setUint8(e+48,1)}catch(t){e=this._inst.exports.getsp()>>>0,i(e+40,t),this.mem.setUint8(e+48,0)}},"syscall/js.valueNew":e=>{e>>>=0;try{const t=s(e+8),o=d(e+16),c=Reflect.construct(t,o);e=this._inst.exports.getsp()>>>0,i(e+40,c),this.mem.setUint8(e+48,1)}catch(t){e=this._inst.exports.getsp()>>>0,i(e+40,t),this.mem.setUint8(e+48,0)}},"syscall/js.valueLength":e=>{e>>>=0,r(e+16,parseInt(s(e+8).length))},"syscall/js.valuePrepareString":e=>{e>>>=0;const t=f.encode(String(s(e+8)));i(e+16,t),r(e+24,t.length)},"syscall/js.valueLoadString":e=>{e>>>=0;const t=s(e+8);l(e+16).set(t)},"syscall/js.valueInstanceOf":e=>{e>>>=0,this.mem.setUint8(e+24,s(e+8)instanceof s(e+16)?1:0)},"syscall/js.copyBytesToGo":e=>{e>>>=0;const t=l(e+8),o=s(e+32);if(!(o instanceof Uint8Array||o instanceof Uint8ClampedArray)){this.mem.setUint8(e+48,0);return}const c=o.subarray(0,t.length);t.set(c),r(e+40,c.length),this.mem.setUint8(e+48,1)},"syscall/js.copyBytesToJS":e=>{e>>>=0;const t=s(e+8),o=l(e+16);if(!(t instanceof Uint8Array||t instanceof Uint8ClampedArray)){this.mem.setUint8(e+48,0);return}const c=o.subarray(0,t.length);t.set(c),r(e+40,c.length),this.mem.setUint8(e+48,1)},debug:e=>{console.log(e)}}}}async run(r){if(!(r instanceof WebAssembly.Instance))throw new Error("Go.run: WebAssembly.Instance expected");this._inst=r,this.mem=new DataView(this._inst.exports.mem.buffer),this._values=[NaN,0,null,!0,!1,global,this],this._goRefCounts=new Array(this._values.length).fill(1/0),this._ids=new Map([[0,1],[null,2],[!0,3],[!1,4],[global,5],[this,6]]),this._idPool=[],this.exited=!1;let n=4096;const s=e=>{const t=n,o=f.encode(e+"\\0");return new Uint8Array(this.mem.buffer,n,o.length).set(o),n+=o.length,n%8!==0&&(n+=8-n%8),t},i=this.argv.length,l=[];this.argv.forEach(e=>{l.push(s(e))}),l.push(0),Object.keys(this.env).sort().forEach(e=>{l.push(s(`${e}=${this.env[e]}`))}),l.push(0);const u=n;l.forEach(e=>{this.mem.setUint32(n,e,!0),this.mem.setUint32(n+4,0,!0),n+=8});const h=4096+8192;if(n>=h)throw new Error("total length of command line and environment variables exceeds limit");this._inst.exports.run(i,u),this.exited&&this._resolveExitPromise(),await this._exitPromise}_resume(){if(this.exited)throw new Error("Go program has already exited");this._inst.exports.resume(),this.exited&&this._resolveExitPromise()}_makeFuncWrapper(r){const n=this;return function(){const s={id:r,this:this,args:arguments};return n._pendingEvent=s,n._resume(),s.result}}},typeof module!="undefined"&&global.require&&global.require.main===module&&global.process&&global.process.versions&&!global.process.versions.electron){process.argv.length<3&&(console.error("usage: go_js_wasm_exec [wasm binary] [arguments]"),process.exit(1));const r=new Go;r.argv=process.argv.slice(2),r.env=Object.assign({TMPDIR:require("os").tmpdir()},process.env),r.exit=process.exit,WebAssembly.instantiate(fs.readFileSync(process.argv[2]),r.importObject).then(n=>(process.on("exit",s=>{s===0&&!r.exited&&(r._pendingEvent={id:0},r._resume())}),r.run(n.instance))).catch(n=>{console.error(n),process.exit(1)})}})();\nonmessage=({data:c})=>{let y=new TextDecoder,s=global.fs,a="";s.writeSync=(e,t)=>{if(e===1)postMessage(t);else if(e===2){a+=y.decode(t);let n=a.split(`\n`);n.length>1&&console.log(n.slice(0,-1).join(`\n`)),a=n[n.length-1]}else throw new Error("Bad write");return t.length};let l=[],i,r=0;onmessage=({data:e})=>{e.length>0&&(l.push(e),i&&i())},s.read=(e,t,n,d,h,m)=>{if(e!==0||n!==0||d!==t.length||h!==null)throw new Error("Bad read");if(l.length===0){i=()=>s.read(e,t,n,d,h,m);return}let g=l[0],u=Math.max(0,Math.min(d,g.length-r));t.set(g.subarray(r,r+u),n),r+=u,r===g.length&&(l.shift(),r=0),m(null,u)};let o=new global.Go;o.argv=["","--service=0.14.20"],WebAssembly.instantiate(c,o.importObject).then(({instance:e})=>o.run(e))};}',l;if(t){let y=new Blob([p],{type:"text/javascript"});l=new Worker(URL.createObjectURL(y))}else{let O=new Function("postMessage",p+"var onmessage; return m => onmessage(m)")(P=>l.onmessage({data:P}));l={onmessage:null,postMessage:P=>O({data:P}),terminate(){}}}l.postMessage(i),l.onmessage=({data:y})=>c(y);let{readFromStdout:c,service:s}=Xe({writeToStdin(y){l.postMessage(y)},isSync:!1,isBrowser:!0,esbuild:Ue});Le={build:y=>new Promise((O,P)=>s.buildOrServe({callName:"build",refs:null,serveOptions:null,options:y,isTTY:!1,defaultWD:"/",callback:(L,x)=>L?P(L):O(x)})),transform:(y,O)=>new Promise((P,L)=>s.transform({callName:"transform",refs:null,input:y,options:O||{},isTTY:!1,fs:{readFile(x,S){S(new Error("Internal error"),null)},writeFile(x,S){S(null)}},callback:(x,S)=>x?L(x):P(S)})),formatMessages:(y,O)=>new Promise((P,L)=>s.formatMessages({callName:"formatMessages",refs:null,messages:y,options:O,callback:(x,S)=>x?L(x):P(S)})),analyzeMetafile:(y,O)=>new Promise((P,L)=>s.analyzeMetafile({callName:"analyzeMetafile",refs:null,metafile:typeof y=="string"?y:JSON.stringify(y),options:O,callback:(x,S)=>x?L(x):P(S)}))}};export{Ot as analyzeMetafile,Et as analyzeMetafileSync,bt as build,St as buildSync,Rt as formatMessages,kt as formatMessagesSync,$t as initialize,wt as serve,vt as transform,xt as transformSync,ht as version};
8
+ ${y}:${O}:${P}: ERROR: ${L}${c.text}`}).join(""),l=new Error(`${e}${p}`);return l.errors=t,l.warnings=r,l}function pe(e,t){for(let r of e)r.detail=t.load(r.detail);return e}function Je(e,t){if(e==null)return null;let r={},i=n(e,r,"file",m),p=n(e,r,"namespace",m),l=n(e,r,"line",Re),c=n(e,r,"column",Re),s=n(e,r,"length",Re),y=n(e,r,"lineText",m),O=n(e,r,"suggestion",m);return Y(e,r,t),{file:i||"",namespace:p||"",line:l||0,column:c||0,length:s||0,lineText:y||"",suggestion:O||""}}function he(e,t,r,i){let p=[],l=0;for(let c of e){let s={},y=n(c,s,"pluginName",m),O=n(c,s,"text",m),P=n(c,s,"location",_e),L=n(c,s,"notes",V),x=n(c,s,"detail",Ee),S=`in element ${l} of "${t}"`;Y(c,s,S);let ae=[];if(L)for(let re of L){let le={},ie=n(re,le,"text",m),ue=n(re,le,"location",_e);Y(re,le,S),ae.push({text:ie||"",location:Je(ue,S)})}p.push({pluginName:y||i,text:O||"",location:Je(P,S),notes:ae,detail:r?r.store(x):-1}),l++}return p}function ke(e,t){let r=[];for(let i of e){if(typeof i!="string")throw new Error(`${JSON.stringify(t)} must be an array of strings`);r.push(i)}return r}function mt({path:e,contents:t}){let r=null;return{path:e,contents:t,get text(){return r===null&&(r=ye(t)),r}}}var ht="0.14.23",bt=e=>Ce().build(e),wt=()=>{throw new Error('The "serve" API only works in node')},vt=(e,t)=>Ce().transform(e,t),Rt=(e,t)=>Ce().formatMessages(e,t),Ot=(e,t)=>Ce().analyzeMetafile(e,t),St=()=>{throw new Error('The "buildSync" API only works in node')},xt=()=>{throw new Error('The "transformSync" API only works in node')},kt=()=>{throw new Error('The "formatMessagesSync" API only works in node')},Et=()=>{throw new Error('The "analyzeMetafileSync" API only works in node')},Oe,Ue,Ce=()=>{if(Ue)return Ue;throw Oe?new Error('You need to wait for the promise returned from "initialize" to be resolved before calling this'):new Error('You need to call "initialize" before calling this')},$t=e=>{e=He(e||{});let t=e.wasmURL,r=e.worker!==!1;if(!t)throw new Error('Must provide the "wasmURL" option');if(t+="",Oe)throw new Error('Cannot call "initialize" more than once');return Oe=Mt(t,r),Oe.catch(()=>{Oe=void 0}),Oe},Mt=async(e,t)=>{let r=await fetch(e);if(!r.ok)throw new Error(`Failed to download ${JSON.stringify(e)}`);let i=await r.arrayBuffer(),p='{let global={};for(let o=self;o;o=Object.getPrototypeOf(o))for(let k of Object.getOwnPropertyNames(o))if(!(k in global))Object.defineProperty(global,k,{get:()=>self[k]});\n// Copyright 2018 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n(()=>{if(typeof global=="undefined")if(typeof window!="undefined")window.global=window;else if(typeof self!="undefined")self.global=self;else throw new Error("cannot export Go (neither global, window nor self is defined)");if(!global.require&&typeof require!="undefined"&&(global.require=require),!global.fs&&global.require){const r=require("fs");typeof r=="object"&&r!==null&&Object.keys(r).length!==0&&(global.fs=Object.assign({},r,{write(n,s,i,l,d,u){if(i===0&&l===s.length&&d===null){if(n===process.stdout.fd){try{process.stdout.write(s,h=>h?u(h,0,null):u(null,l,s))}catch(h){u(h,0,null)}return}if(n===process.stderr.fd){try{process.stderr.write(s,h=>h?u(h,0,null):u(null,l,s))}catch(h){u(h,0,null)}return}}r.write(n,s,i,l,d,u)}}))}const a=()=>{const r=new Error("not implemented");return r.code="ENOSYS",r};if(!global.fs){let r="";global.fs={constants:{O_WRONLY:-1,O_RDWR:-1,O_CREAT:-1,O_TRUNC:-1,O_APPEND:-1,O_EXCL:-1},writeSync(n,s){r+=y.decode(s);const i=r.lastIndexOf(`\n`);return i!=-1&&(console.log(r.substr(0,i)),r=r.substr(i+1)),s.length},write(n,s,i,l,d,u){if(i!==0||l!==s.length||d!==null){u(a());return}const h=this.writeSync(n,s);u(null,h)},chmod(n,s,i){i(a())},chown(n,s,i,l){l(a())},close(n,s){s(a())},fchmod(n,s,i){i(a())},fchown(n,s,i,l){l(a())},fstat(n,s){s(a())},fsync(n,s){s(null)},ftruncate(n,s,i){i(a())},lchown(n,s,i,l){l(a())},link(n,s,i){i(a())},lstat(n,s){s(a())},mkdir(n,s,i){i(a())},open(n,s,i,l){l(a())},read(n,s,i,l,d,u){u(a())},readdir(n,s){s(a())},readlink(n,s){s(a())},rename(n,s,i){i(a())},rmdir(n,s){s(a())},stat(n,s){s(a())},symlink(n,s,i){i(a())},truncate(n,s,i){i(a())},unlink(n,s){s(a())},utimes(n,s,i,l){l(a())}}}if(global.process||(global.process={getuid(){return-1},getgid(){return-1},geteuid(){return-1},getegid(){return-1},getgroups(){throw a()},pid:-1,ppid:-1,umask(){throw a()},cwd(){throw a()},chdir(){throw a()}}),!global.crypto&&global.require){const r=require("crypto");global.crypto={getRandomValues(n){r.randomFillSync(n)}}}if(!global.crypto)throw new Error("global.crypto is not available, polyfill required (getRandomValues only)");if(global.performance||(global.performance={now(){const[r,n]=process.hrtime();return r*1e3+n/1e6}}),!global.TextEncoder&&global.require&&(global.TextEncoder=require("util").TextEncoder),!global.TextEncoder)throw new Error("global.TextEncoder is not available, polyfill required");if(!global.TextDecoder&&global.require&&(global.TextDecoder=require("util").TextDecoder),!global.TextDecoder)throw new Error("global.TextDecoder is not available, polyfill required");const{fs:f}=global,g=new TextEncoder("utf-8"),y=new TextDecoder("utf-8");if(global.Go=class{constructor(){this.argv=["js"],this.env={},this.exit=e=>{e!==0&&console.warn("exit code:",e)},this._exitPromise=new Promise(e=>{this._resolveExitPromise=e}),this._pendingEvent=null,this._scheduledTimeouts=new Map,this._nextCallbackTimeoutID=1;const r=(e,t)=>{this.mem.setUint32(e+0,t,!0),this.mem.setUint32(e+4,Math.floor(t/4294967296),!0)},n=e=>{const t=this.mem.getUint32(e+0,!0),o=this.mem.getInt32(e+4,!0);return t+o*4294967296},s=e=>{const t=this.mem.getFloat64(e,!0);if(t===0)return;if(!isNaN(t))return t;const o=this.mem.getUint32(e,!0);return this._values[o]},i=(e,t)=>{if(typeof t=="number"&&t!==0){if(isNaN(t)){this.mem.setUint32(e+4,2146959360,!0),this.mem.setUint32(e,0,!0);return}this.mem.setFloat64(e,t,!0);return}if(t===void 0){this.mem.setFloat64(e,0,!0);return}let c=this._ids.get(t);c===void 0&&(c=this._idPool.pop(),c===void 0&&(c=this._values.length),this._values[c]=t,this._goRefCounts[c]=0,this._ids.set(t,c)),this._goRefCounts[c]++;let m=0;switch(typeof t){case"object":t!==null&&(m=1);break;case"string":m=2;break;case"symbol":m=3;break;case"function":m=4;break}this.mem.setUint32(e+4,2146959360|m,!0),this.mem.setUint32(e,c,!0)},l=e=>{const t=n(e+0),o=n(e+8);return new Uint8Array(this._inst.exports.mem.buffer,t,o)},d=e=>{const t=n(e+0),o=n(e+8),c=new Array(o);for(let m=0;m<o;m++)c[m]=s(t+m*8);return c},u=e=>{const t=n(e+0),o=n(e+8);return y.decode(new DataView(this._inst.exports.mem.buffer,t,o))},h=Date.now()-performance.now();this.importObject={go:{"runtime.wasmExit":e=>{e>>>=0;const t=this.mem.getInt32(e+8,!0);this.exited=!0,delete this._inst,delete this._values,delete this._goRefCounts,delete this._ids,delete this._idPool,this.exit(t)},"runtime.wasmWrite":e=>{e>>>=0;const t=n(e+8),o=n(e+16),c=this.mem.getInt32(e+24,!0);f.writeSync(t,new Uint8Array(this._inst.exports.mem.buffer,o,c))},"runtime.resetMemoryDataView":e=>{e>>>=0,this.mem=new DataView(this._inst.exports.mem.buffer)},"runtime.nanotime1":e=>{e>>>=0,r(e+8,(h+performance.now())*1e6)},"runtime.walltime":e=>{e>>>=0;const t=new Date().getTime();r(e+8,t/1e3),this.mem.setInt32(e+16,t%1e3*1e6,!0)},"runtime.scheduleTimeoutEvent":e=>{e>>>=0;const t=this._nextCallbackTimeoutID;this._nextCallbackTimeoutID++,this._scheduledTimeouts.set(t,setTimeout(()=>{for(this._resume();this._scheduledTimeouts.has(t);)console.warn("scheduleTimeoutEvent: missed timeout event"),this._resume()},n(e+8)+1)),this.mem.setInt32(e+16,t,!0)},"runtime.clearTimeoutEvent":e=>{e>>>=0;const t=this.mem.getInt32(e+8,!0);clearTimeout(this._scheduledTimeouts.get(t)),this._scheduledTimeouts.delete(t)},"runtime.getRandomData":e=>{e>>>=0,crypto.getRandomValues(l(e+8))},"syscall/js.finalizeRef":e=>{e>>>=0;const t=this.mem.getUint32(e+8,!0);if(this._goRefCounts[t]--,this._goRefCounts[t]===0){const o=this._values[t];this._values[t]=null,this._ids.delete(o),this._idPool.push(t)}},"syscall/js.stringVal":e=>{e>>>=0,i(e+24,u(e+8))},"syscall/js.valueGet":e=>{e>>>=0;const t=Reflect.get(s(e+8),u(e+16));e=this._inst.exports.getsp()>>>0,i(e+32,t)},"syscall/js.valueSet":e=>{e>>>=0,Reflect.set(s(e+8),u(e+16),s(e+32))},"syscall/js.valueDelete":e=>{e>>>=0,Reflect.deleteProperty(s(e+8),u(e+16))},"syscall/js.valueIndex":e=>{e>>>=0,i(e+24,Reflect.get(s(e+8),n(e+16)))},"syscall/js.valueSetIndex":e=>{e>>>=0,Reflect.set(s(e+8),n(e+16),s(e+24))},"syscall/js.valueCall":e=>{e>>>=0;try{const t=s(e+8),o=Reflect.get(t,u(e+16)),c=d(e+32),m=Reflect.apply(o,t,c);e=this._inst.exports.getsp()>>>0,i(e+56,m),this.mem.setUint8(e+64,1)}catch(t){e=this._inst.exports.getsp()>>>0,i(e+56,t),this.mem.setUint8(e+64,0)}},"syscall/js.valueInvoke":e=>{e>>>=0;try{const t=s(e+8),o=d(e+16),c=Reflect.apply(t,void 0,o);e=this._inst.exports.getsp()>>>0,i(e+40,c),this.mem.setUint8(e+48,1)}catch(t){e=this._inst.exports.getsp()>>>0,i(e+40,t),this.mem.setUint8(e+48,0)}},"syscall/js.valueNew":e=>{e>>>=0;try{const t=s(e+8),o=d(e+16),c=Reflect.construct(t,o);e=this._inst.exports.getsp()>>>0,i(e+40,c),this.mem.setUint8(e+48,1)}catch(t){e=this._inst.exports.getsp()>>>0,i(e+40,t),this.mem.setUint8(e+48,0)}},"syscall/js.valueLength":e=>{e>>>=0,r(e+16,parseInt(s(e+8).length))},"syscall/js.valuePrepareString":e=>{e>>>=0;const t=g.encode(String(s(e+8)));i(e+16,t),r(e+24,t.length)},"syscall/js.valueLoadString":e=>{e>>>=0;const t=s(e+8);l(e+16).set(t)},"syscall/js.valueInstanceOf":e=>{e>>>=0,this.mem.setUint8(e+24,s(e+8)instanceof s(e+16)?1:0)},"syscall/js.copyBytesToGo":e=>{e>>>=0;const t=l(e+8),o=s(e+32);if(!(o instanceof Uint8Array||o instanceof Uint8ClampedArray)){this.mem.setUint8(e+48,0);return}const c=o.subarray(0,t.length);t.set(c),r(e+40,c.length),this.mem.setUint8(e+48,1)},"syscall/js.copyBytesToJS":e=>{e>>>=0;const t=s(e+8),o=l(e+16);if(!(t instanceof Uint8Array||t instanceof Uint8ClampedArray)){this.mem.setUint8(e+48,0);return}const c=o.subarray(0,t.length);t.set(c),r(e+40,c.length),this.mem.setUint8(e+48,1)},debug:e=>{console.log(e)}}}}async run(r){if(!(r instanceof WebAssembly.Instance))throw new Error("Go.run: WebAssembly.Instance expected");this._inst=r,this.mem=new DataView(this._inst.exports.mem.buffer),this._values=[NaN,0,null,!0,!1,global,this],this._goRefCounts=new Array(this._values.length).fill(1/0),this._ids=new Map([[0,1],[null,2],[!0,3],[!1,4],[global,5],[this,6]]),this._idPool=[],this.exited=!1;let n=4096;const s=e=>{const t=n,o=g.encode(e+"\\0");return new Uint8Array(this.mem.buffer,n,o.length).set(o),n+=o.length,n%8!==0&&(n+=8-n%8),t},i=this.argv.length,l=[];this.argv.forEach(e=>{l.push(s(e))}),l.push(0),Object.keys(this.env).sort().forEach(e=>{l.push(s(`${e}=${this.env[e]}`))}),l.push(0);const u=n;l.forEach(e=>{this.mem.setUint32(n,e,!0),this.mem.setUint32(n+4,0,!0),n+=8});const h=4096+8192;if(n>=h)throw new Error("total length of command line and environment variables exceeds limit");this._inst.exports.run(i,u),this.exited&&this._resolveExitPromise(),await this._exitPromise}_resume(){if(this.exited)throw new Error("Go program has already exited");this._inst.exports.resume(),this.exited&&this._resolveExitPromise()}_makeFuncWrapper(r){const n=this;return function(){const s={id:r,this:this,args:arguments};return n._pendingEvent=s,n._resume(),s.result}}},typeof module!="undefined"&&global.require&&global.require.main===module&&global.process&&global.process.versions&&!global.process.versions.electron){process.argv.length<3&&(console.error("usage: go_js_wasm_exec [wasm binary] [arguments]"),process.exit(1));const r=new Go;r.argv=process.argv.slice(2),r.env=Object.assign({TMPDIR:require("os").tmpdir()},process.env),r.exit=process.exit,WebAssembly.instantiate(f.readFileSync(process.argv[2]),r.importObject).then(n=>(process.on("exit",s=>{s===0&&!r.exited&&(r._pendingEvent={id:0},r._resume())}),r.run(n.instance))).catch(n=>{console.error(n),process.exit(1)})}})();\nonmessage=({data:c})=>{let y=new TextDecoder,s=global.fs,a="";s.writeSync=(e,t)=>{if(e===1)postMessage(t);else if(e===2){a+=y.decode(t);let n=a.split(`\n`);n.length>1&&console.log(n.slice(0,-1).join(`\n`)),a=n[n.length-1]}else throw new Error("Bad write");return t.length};let l=[],i,r=0;onmessage=({data:e})=>{e.length>0&&(l.push(e),i&&i())},s.read=(e,t,n,d,h,m)=>{if(e!==0||n!==0||d!==t.length||h!==null)throw new Error("Bad read");if(l.length===0){i=()=>s.read(e,t,n,d,h,m);return}let g=l[0],u=Math.max(0,Math.min(d,g.length-r));t.set(g.subarray(r,r+u),n),r+=u,r===g.length&&(l.shift(),r=0),m(null,u)};let o=new global.Go;o.argv=["","--service=0.14.23"],WebAssembly.instantiate(c,o.importObject).then(({instance:e})=>o.run(e))};}',l;if(t){let y=new Blob([p],{type:"text/javascript"});l=new Worker(URL.createObjectURL(y))}else{let O=new Function("postMessage",p+"var onmessage; return m => onmessage(m)")(P=>l.onmessage({data:P}));l={onmessage:null,postMessage:P=>O({data:P}),terminate(){}}}l.postMessage(i),l.onmessage=({data:y})=>c(y);let{readFromStdout:c,service:s}=Xe({writeToStdin(y){l.postMessage(y)},isSync:!1,isBrowser:!0,esbuild:Pe});Ue={build:y=>new Promise((O,P)=>s.buildOrServe({callName:"build",refs:null,serveOptions:null,options:y,isTTY:!1,defaultWD:"/",callback:(L,x)=>L?P(L):O(x)})),transform:(y,O)=>new Promise((P,L)=>s.transform({callName:"transform",refs:null,input:y,options:O||{},isTTY:!1,fs:{readFile(x,S){S(new Error("Internal error"),null)},writeFile(x,S){S(null)}},callback:(x,S)=>x?L(x):P(S)})),formatMessages:(y,O)=>new Promise((P,L)=>s.formatMessages({callName:"formatMessages",refs:null,messages:y,options:O,callback:(x,S)=>x?L(x):P(S)})),analyzeMetafile:(y,O)=>new Promise((P,L)=>s.analyzeMetafile({callName:"analyzeMetafile",refs:null,metafile:typeof y=="string"?y:JSON.stringify(y),options:O,callback:(x,S)=>x?L(x):P(S)}))}},Ct=Pe;export{Ot as analyzeMetafile,Et as analyzeMetafileSync,bt as build,St as buildSync,Ct as default,Rt as formatMessages,kt as formatMessagesSync,$t as initialize,wt as serve,vt as transform,xt as transformSync,ht as version};
@@ -66,6 +66,7 @@ __export(browser_exports, {
66
66
  analyzeMetafileSync: () => analyzeMetafileSync,
67
67
  build: () => build,
68
68
  buildSync: () => buildSync,
69
+ default: () => browser_default,
69
70
  formatMessages: () => formatMessages,
70
71
  formatMessagesSync: () => formatMessagesSync,
71
72
  initialize: () => initialize,
@@ -760,8 +761,8 @@ function createChannel(streamIn) {
760
761
  if (isFirstPacket) {
761
762
  isFirstPacket = false;
762
763
  let binaryVersion = String.fromCharCode(...bytes);
763
- if (binaryVersion !== "0.14.20") {
764
- throw new Error(`Cannot start service: Host version "${"0.14.20"}" does not match binary version ${JSON.stringify(binaryVersion)}`);
764
+ if (binaryVersion !== "0.14.23") {
765
+ throw new Error(`Cannot start service: Host version "${"0.14.23"}" does not match binary version ${JSON.stringify(binaryVersion)}`);
765
766
  }
766
767
  return;
767
768
  }
@@ -1706,7 +1707,7 @@ function convertOutputFiles({ path, contents }) {
1706
1707
  }
1707
1708
 
1708
1709
  // lib/npm/browser.ts
1709
- var version = "0.14.20";
1710
+ var version = "0.14.23";
1710
1711
  var build = (options) => ensureServiceIsRunning().build(options);
1711
1712
  var serve = () => {
1712
1713
  throw new Error(`The "serve" API only works in node`);
@@ -1919,7 +1920,10 @@ var startRunningService = (wasmURL, useWorker) => __async(void 0, null, function
1919
1920
  throw new Error("global.TextDecoder is not available, polyfill required");
1920
1921
  }
1921
1922
 
1922
- // End of polyfills for common API.
1923
+
1924
+ // Make sure Go sees the shadowed "fs" global
1925
+ const { fs } = global;
1926
+
1923
1927
 
1924
1928
  const encoder = new TextEncoder("utf-8");
1925
1929
  const decoder = new TextDecoder("utf-8");
@@ -2463,7 +2467,7 @@ onmessage = ({ data: wasm }) => {
2463
2467
  callback(null, count);
2464
2468
  };
2465
2469
  let go = new global.Go();
2466
- go.argv = ["", \`--service=\${"0.14.20"}\`];
2470
+ go.argv = ["", \`--service=\${"0.14.23"}\`];
2467
2471
  WebAssembly.instantiate(wasm, go.importObject).then(({ instance }) => go.run(instance));
2468
2472
  };}`;
2469
2473
  let worker;
@@ -2532,5 +2536,6 @@ onmessage = ({ data: wasm }) => {
2532
2536
  }))
2533
2537
  };
2534
2538
  });
2539
+ var browser_default = browser_exports;
2535
2540
  module.exports = __toCommonJS(browser_exports);
2536
2541
  })(typeof module==="object"?module:{set exports(x){(typeof self!=="undefined"?self:this).esbuild=x}});