diff --git a/.gitignore b/.gitignore index bb005191..0e511c78 100644 --- a/.gitignore +++ b/.gitignore @@ -178,6 +178,8 @@ dist app/web/.parcel-cache app/static app/static/* +app/static-br +app/static-br/* data data/* app/srv/exports.ts diff --git a/app/web/public-br/favicon.ico b/app/web/public-br/favicon.ico new file mode 100644 index 00000000..4b2cbc6c Binary files /dev/null and b/app/web/public-br/favicon.ico differ diff --git a/app/web/public-br/index.html b/app/web/public-br/index.html new file mode 100644 index 00000000..9227157f --- /dev/null +++ b/app/web/public-br/index.html @@ -0,0 +1 @@ +u T5Jk~ɪ2RRvlp$q< 有`aH=(X9F,$%@0>O#H'VGze$c@t̫c^j1d%QPT :oTe¤$i \ No newline at end of file diff --git a/app/web/public-br/logo/logo-white.png b/app/web/public-br/logo/logo-white.png new file mode 100644 index 00000000..432256ae Binary files /dev/null and b/app/web/public-br/logo/logo-white.png differ diff --git a/app/web/public-br/logo/logo.png b/app/web/public-br/logo/logo.png new file mode 100644 index 00000000..624eb763 Binary files /dev/null and b/app/web/public-br/logo/logo.png differ diff --git a/app/web/public-br/min/vs/base/browser/ui/codicons/codicon/codicon.ttf b/app/web/public-br/min/vs/base/browser/ui/codicons/codicon/codicon.ttf new file mode 100644 index 00000000..d007c773 Binary files /dev/null and b/app/web/public-br/min/vs/base/browser/ui/codicons/codicon/codicon.ttf differ diff --git a/app/web/public-br/min/vs/base/common/worker/simpleWorker.nls.de.js b/app/web/public-br/min/vs/base/common/worker/simpleWorker.nls.de.js new file mode 100644 index 00000000..5880982f Binary files /dev/null and b/app/web/public-br/min/vs/base/common/worker/simpleWorker.nls.de.js differ diff --git a/app/web/public-br/min/vs/base/common/worker/simpleWorker.nls.es.js b/app/web/public-br/min/vs/base/common/worker/simpleWorker.nls.es.js new file mode 100644 index 00000000..b231f8af --- /dev/null +++ b/app/web/public-br/min/vs/base/common/worker/simpleWorker.nls.es.js @@ -0,0 +1 @@ + @v !6os6r0S0eRS_mM9h4p) ,N,1Oe즈*K7SKF"I9( #Hf r4?|7&h+Y) mۉOdA쮗pe|cX TNsi(ppfZm^^qo8,*;d[=G}?!c}Y \ No newline at end of file diff --git a/app/web/public-br/min/vs/base/common/worker/simpleWorker.nls.fr.js b/app/web/public-br/min/vs/base/common/worker/simpleWorker.nls.fr.js new file mode 100644 index 00000000..6382198a --- /dev/null +++ b/app/web/public-br/min/vs/base/common/worker/simpleWorker.nls.fr.js @@ -0,0 +1,3 @@ +  v !.os6r0S0eRS_mM柣1q) ,N,1ڧ_"",݄N.^'J6dϾm& +u*dٲޘd6lmG:3g +ȴ_fwx?ġߗFN?RpRކ|_ p'Ghz~Yʢ2j NxpD(7c 1ח \ No newline at end of file diff --git a/app/web/public-br/min/vs/base/common/worker/simpleWorker.nls.it.js b/app/web/public-br/min/vs/base/common/worker/simpleWorker.nls.it.js new file mode 100644 index 00000000..f95a7e48 --- /dev/null +++ b/app/web/public-br/min/vs/base/common/worker/simpleWorker.nls.it.js @@ -0,0 +1,3 @@ +  v !6os6r0S0eRS_mM柣1q) ,N,1ڧ_"",݄N.^'J6dϾm& +u*dٲޘd6lmG:3g +ȴ_fwx?ġߗFN?RpRކ|_ p'Ghz~]ʢ2j NxpD(7c 1ח \ No newline at end of file diff --git a/app/web/public-br/min/vs/base/common/worker/simpleWorker.nls.ja.js b/app/web/public-br/min/vs/base/common/worker/simpleWorker.nls.ja.js new file mode 100644 index 00000000..572f6a88 --- /dev/null +++ b/app/web/public-br/min/vs/base/common/worker/simpleWorker.nls.ja.js @@ -0,0 +1 @@ + @v !. 5jIA0eRS_mM_f:oRXXbfJM(Mnm͍)..[jP Aթ1^MdFK"=GO _d]R/,#I61R $^&t}8Tc0_6>iSq'PGˁro(mvκMuDȚ*R]y- \ No newline at end of file diff --git a/app/web/public-br/min/vs/base/common/worker/simpleWorker.nls.js b/app/web/public-br/min/vs/base/common/worker/simpleWorker.nls.js new file mode 100644 index 00000000..31032c5a Binary files /dev/null and b/app/web/public-br/min/vs/base/common/worker/simpleWorker.nls.js differ diff --git a/app/web/public-br/min/vs/base/common/worker/simpleWorker.nls.ko.js b/app/web/public-br/min/vs/base/common/worker/simpleWorker.nls.ko.js new file mode 100644 index 00000000..916954ff --- /dev/null +++ b/app/web/public-br/min/vs/base/common/worker/simpleWorker.nls.ko.js @@ -0,0 +1,2 @@ +  v !].5A(̏)Az:IOmM柣1q) ,N,1ڧ_"",݄^5LBϏE%Pg_ǁ6^AF:o WAh2}\lYoLVRb6v# `e +ȴ_fwx?ġߗFN?RpҐކ}_ p'Ghz~Vڢ6z 'Sil.|O\_Vw \ No newline at end of file diff --git a/app/web/public-br/min/vs/base/common/worker/simpleWorker.nls.ru.js b/app/web/public-br/min/vs/base/common/worker/simpleWorker.nls.ru.js new file mode 100644 index 00000000..64188376 --- /dev/null +++ b/app/web/public-br/min/vs/base/common/worker/simpleWorker.nls.ru.js @@ -0,0 +1,2 @@ +  v !].5A(̏)Az:IOmM柣1q) ,N,1ڧ_"",݄^5LBϏE%Pg_ǁ6^AF:o WAh2}\lYoLVRb6v# `e +ȴ_fwx?ġߗFN?RpҐކ}_ p'Ghz~Sڢ6z 'Sil.|O\_Vw \ No newline at end of file diff --git a/app/web/public-br/min/vs/base/common/worker/simpleWorker.nls.zh-cn.js b/app/web/public-br/min/vs/base/common/worker/simpleWorker.nls.zh-cn.js new file mode 100644 index 00000000..48bcf0b9 Binary files /dev/null and b/app/web/public-br/min/vs/base/common/worker/simpleWorker.nls.zh-cn.js differ diff --git a/app/web/public-br/min/vs/base/common/worker/simpleWorker.nls.zh-tw.js b/app/web/public-br/min/vs/base/common/worker/simpleWorker.nls.zh-tw.js new file mode 100644 index 00000000..0ba43ab7 Binary files /dev/null and b/app/web/public-br/min/vs/base/common/worker/simpleWorker.nls.zh-tw.js differ diff --git a/app/web/public-br/min/vs/base/worker/workerMain.js b/app/web/public-br/min/vs/base/worker/workerMain.js new file mode 100644 index 00000000..5685ae6e Binary files /dev/null and b/app/web/public-br/min/vs/base/worker/workerMain.js differ diff --git a/app/web/public-br/min/vs/basic-languages/abap/abap.js b/app/web/public-br/min/vs/basic-languages/abap/abap.js new file mode 100644 index 00000000..e2e9940b Binary files /dev/null and b/app/web/public-br/min/vs/basic-languages/abap/abap.js differ diff --git a/app/web/public-br/min/vs/basic-languages/apex/apex.js b/app/web/public-br/min/vs/basic-languages/apex/apex.js new file mode 100644 index 00000000..925dcd76 Binary files /dev/null and b/app/web/public-br/min/vs/basic-languages/apex/apex.js differ diff --git a/app/web/public-br/min/vs/basic-languages/azcli/azcli.js b/app/web/public-br/min/vs/basic-languages/azcli/azcli.js new file mode 100644 index 00000000..862dc6eb Binary files /dev/null and b/app/web/public-br/min/vs/basic-languages/azcli/azcli.js differ diff --git a/app/web/public-br/min/vs/basic-languages/bat/bat.js b/app/web/public-br/min/vs/basic-languages/bat/bat.js new file mode 100644 index 00000000..ff2cf400 Binary files /dev/null and b/app/web/public-br/min/vs/basic-languages/bat/bat.js differ diff --git a/app/web/public-br/min/vs/basic-languages/bicep/bicep.js b/app/web/public-br/min/vs/basic-languages/bicep/bicep.js new file mode 100644 index 00000000..be5eb269 Binary files /dev/null and b/app/web/public-br/min/vs/basic-languages/bicep/bicep.js differ diff --git a/app/web/public-br/min/vs/basic-languages/cameligo/cameligo.js b/app/web/public-br/min/vs/basic-languages/cameligo/cameligo.js new file mode 100644 index 00000000..ed45f746 Binary files /dev/null and b/app/web/public-br/min/vs/basic-languages/cameligo/cameligo.js differ diff --git a/app/web/public-br/min/vs/basic-languages/clojure/clojure.js b/app/web/public-br/min/vs/basic-languages/clojure/clojure.js new file mode 100644 index 00000000..da630792 Binary files /dev/null and b/app/web/public-br/min/vs/basic-languages/clojure/clojure.js differ diff --git a/app/web/public-br/min/vs/basic-languages/coffee/coffee.js b/app/web/public-br/min/vs/basic-languages/coffee/coffee.js new file mode 100644 index 00000000..8a1b1c2a Binary files /dev/null and b/app/web/public-br/min/vs/basic-languages/coffee/coffee.js differ diff --git a/app/web/public-br/min/vs/basic-languages/cpp/cpp.js b/app/web/public-br/min/vs/basic-languages/cpp/cpp.js new file mode 100644 index 00000000..29235852 Binary files /dev/null and b/app/web/public-br/min/vs/basic-languages/cpp/cpp.js differ diff --git a/app/web/public-br/min/vs/basic-languages/csharp/csharp.js b/app/web/public-br/min/vs/basic-languages/csharp/csharp.js new file mode 100644 index 00000000..2171149a Binary files /dev/null and b/app/web/public-br/min/vs/basic-languages/csharp/csharp.js differ diff --git a/app/web/public-br/min/vs/basic-languages/csp/csp.js b/app/web/public-br/min/vs/basic-languages/csp/csp.js new file mode 100644 index 00000000..459d1414 --- /dev/null +++ b/app/web/public-br/min/vs/basic-languages/csp/csp.js @@ -0,0 +1,8 @@ +@2R/Uワ$ޫc}=qf%ʡC7 PAzw6 +x$@|>*n }3 +Ң4x{4讽|:t۫I+?U"KKE +߽殄%.nAKk$z m)KHgbҌef%mOZؐ[΅7+&ĀiA:s&+_=SJr&{-r^8 &9i// J$j847]Cp +a-M]I޵^abt"* +&>$@̠[1d2 f~6pj\M҂X \ No newline at end of file diff --git a/app/web/public-br/min/vs/basic-languages/css/css.js b/app/web/public-br/min/vs/basic-languages/css/css.js new file mode 100644 index 00000000..59f4b696 Binary files /dev/null and b/app/web/public-br/min/vs/basic-languages/css/css.js differ diff --git a/app/web/public-br/min/vs/basic-languages/cypher/cypher.js b/app/web/public-br/min/vs/basic-languages/cypher/cypher.js new file mode 100644 index 00000000..4039b8b2 Binary files /dev/null and b/app/web/public-br/min/vs/basic-languages/cypher/cypher.js differ diff --git a/app/web/public-br/min/vs/basic-languages/dart/dart.js b/app/web/public-br/min/vs/basic-languages/dart/dart.js new file mode 100644 index 00000000..04cacd4d Binary files /dev/null and b/app/web/public-br/min/vs/basic-languages/dart/dart.js differ diff --git a/app/web/public-br/min/vs/basic-languages/dockerfile/dockerfile.js b/app/web/public-br/min/vs/basic-languages/dockerfile/dockerfile.js new file mode 100644 index 00000000..8f7c434e Binary files /dev/null and b/app/web/public-br/min/vs/basic-languages/dockerfile/dockerfile.js differ diff --git a/app/web/public-br/min/vs/basic-languages/ecl/ecl.js b/app/web/public-br/min/vs/basic-languages/ecl/ecl.js new file mode 100644 index 00000000..261fea79 Binary files /dev/null and b/app/web/public-br/min/vs/basic-languages/ecl/ecl.js differ diff --git a/app/web/public-br/min/vs/basic-languages/elixir/elixir.js b/app/web/public-br/min/vs/basic-languages/elixir/elixir.js new file mode 100644 index 00000000..9868b14a Binary files /dev/null and b/app/web/public-br/min/vs/basic-languages/elixir/elixir.js differ diff --git a/app/web/public-br/min/vs/basic-languages/flow9/flow9.js b/app/web/public-br/min/vs/basic-languages/flow9/flow9.js new file mode 100644 index 00000000..2c641c7a Binary files /dev/null and b/app/web/public-br/min/vs/basic-languages/flow9/flow9.js differ diff --git a/app/web/public-br/min/vs/basic-languages/freemarker2/freemarker2.js b/app/web/public-br/min/vs/basic-languages/freemarker2/freemarker2.js new file mode 100644 index 00000000..d01e925b Binary files /dev/null and b/app/web/public-br/min/vs/basic-languages/freemarker2/freemarker2.js differ diff --git a/app/web/public-br/min/vs/basic-languages/fsharp/fsharp.js b/app/web/public-br/min/vs/basic-languages/fsharp/fsharp.js new file mode 100644 index 00000000..5dd86a4f Binary files /dev/null and b/app/web/public-br/min/vs/basic-languages/fsharp/fsharp.js differ diff --git a/app/web/public-br/min/vs/basic-languages/go/go.js b/app/web/public-br/min/vs/basic-languages/go/go.js new file mode 100644 index 00000000..9a2ba564 Binary files /dev/null and b/app/web/public-br/min/vs/basic-languages/go/go.js differ diff --git a/app/web/public-br/min/vs/basic-languages/graphql/graphql.js b/app/web/public-br/min/vs/basic-languages/graphql/graphql.js new file mode 100644 index 00000000..62bb8f80 Binary files /dev/null and b/app/web/public-br/min/vs/basic-languages/graphql/graphql.js differ diff --git a/app/web/public-br/min/vs/basic-languages/handlebars/handlebars.js b/app/web/public-br/min/vs/basic-languages/handlebars/handlebars.js new file mode 100644 index 00000000..1eefbc40 Binary files /dev/null and b/app/web/public-br/min/vs/basic-languages/handlebars/handlebars.js differ diff --git a/app/web/public-br/min/vs/basic-languages/hcl/hcl.js b/app/web/public-br/min/vs/basic-languages/hcl/hcl.js new file mode 100644 index 00000000..802b74ed Binary files /dev/null and b/app/web/public-br/min/vs/basic-languages/hcl/hcl.js differ diff --git a/app/web/public-br/min/vs/basic-languages/html/html.js b/app/web/public-br/min/vs/basic-languages/html/html.js new file mode 100644 index 00000000..2a2258b3 Binary files /dev/null and b/app/web/public-br/min/vs/basic-languages/html/html.js differ diff --git a/app/web/public-br/min/vs/basic-languages/ini/ini.js b/app/web/public-br/min/vs/basic-languages/ini/ini.js new file mode 100644 index 00000000..27e1fc0b Binary files /dev/null and b/app/web/public-br/min/vs/basic-languages/ini/ini.js differ diff --git a/app/web/public-br/min/vs/basic-languages/java/java.js b/app/web/public-br/min/vs/basic-languages/java/java.js new file mode 100644 index 00000000..3aed6db8 Binary files /dev/null and b/app/web/public-br/min/vs/basic-languages/java/java.js differ diff --git a/app/web/public-br/min/vs/basic-languages/javascript/javascript.js b/app/web/public-br/min/vs/basic-languages/javascript/javascript.js new file mode 100644 index 00000000..c6107aae Binary files /dev/null and b/app/web/public-br/min/vs/basic-languages/javascript/javascript.js differ diff --git a/app/web/public-br/min/vs/basic-languages/julia/julia.js b/app/web/public-br/min/vs/basic-languages/julia/julia.js new file mode 100644 index 00000000..43504b48 Binary files /dev/null and b/app/web/public-br/min/vs/basic-languages/julia/julia.js differ diff --git a/app/web/public-br/min/vs/basic-languages/kotlin/kotlin.js b/app/web/public-br/min/vs/basic-languages/kotlin/kotlin.js new file mode 100644 index 00000000..038a337c Binary files /dev/null and b/app/web/public-br/min/vs/basic-languages/kotlin/kotlin.js differ diff --git a/app/web/public-br/min/vs/basic-languages/less/less.js b/app/web/public-br/min/vs/basic-languages/less/less.js new file mode 100644 index 00000000..7ce6a265 Binary files /dev/null and b/app/web/public-br/min/vs/basic-languages/less/less.js differ diff --git a/app/web/public-br/min/vs/basic-languages/lexon/lexon.js b/app/web/public-br/min/vs/basic-languages/lexon/lexon.js new file mode 100644 index 00000000..ff7eebcd Binary files /dev/null and b/app/web/public-br/min/vs/basic-languages/lexon/lexon.js differ diff --git a/app/web/public-br/min/vs/basic-languages/liquid/liquid.js b/app/web/public-br/min/vs/basic-languages/liquid/liquid.js new file mode 100644 index 00000000..486ba985 Binary files /dev/null and b/app/web/public-br/min/vs/basic-languages/liquid/liquid.js differ diff --git a/app/web/public-br/min/vs/basic-languages/lua/lua.js b/app/web/public-br/min/vs/basic-languages/lua/lua.js new file mode 100644 index 00000000..320dddcc Binary files /dev/null and b/app/web/public-br/min/vs/basic-languages/lua/lua.js differ diff --git a/app/web/public-br/min/vs/basic-languages/m3/m3.js b/app/web/public-br/min/vs/basic-languages/m3/m3.js new file mode 100644 index 00000000..54abd835 Binary files /dev/null and b/app/web/public-br/min/vs/basic-languages/m3/m3.js differ diff --git a/app/web/public-br/min/vs/basic-languages/markdown/markdown.js b/app/web/public-br/min/vs/basic-languages/markdown/markdown.js new file mode 100644 index 00000000..412439d9 Binary files /dev/null and b/app/web/public-br/min/vs/basic-languages/markdown/markdown.js differ diff --git a/app/web/public-br/min/vs/basic-languages/mips/mips.js b/app/web/public-br/min/vs/basic-languages/mips/mips.js new file mode 100644 index 00000000..4dce71c3 Binary files /dev/null and b/app/web/public-br/min/vs/basic-languages/mips/mips.js differ diff --git a/app/web/public-br/min/vs/basic-languages/msdax/msdax.js b/app/web/public-br/min/vs/basic-languages/msdax/msdax.js new file mode 100644 index 00000000..3f12949e Binary files /dev/null and b/app/web/public-br/min/vs/basic-languages/msdax/msdax.js differ diff --git a/app/web/public-br/min/vs/basic-languages/mysql/mysql.js b/app/web/public-br/min/vs/basic-languages/mysql/mysql.js new file mode 100644 index 00000000..4da504e5 Binary files /dev/null and b/app/web/public-br/min/vs/basic-languages/mysql/mysql.js differ diff --git a/app/web/public-br/min/vs/basic-languages/objective-c/objective-c.js b/app/web/public-br/min/vs/basic-languages/objective-c/objective-c.js new file mode 100644 index 00000000..69cecdcc Binary files /dev/null and b/app/web/public-br/min/vs/basic-languages/objective-c/objective-c.js differ diff --git a/app/web/public-br/min/vs/basic-languages/pascal/pascal.js b/app/web/public-br/min/vs/basic-languages/pascal/pascal.js new file mode 100644 index 00000000..7f409e80 Binary files /dev/null and b/app/web/public-br/min/vs/basic-languages/pascal/pascal.js differ diff --git a/app/web/public-br/min/vs/basic-languages/pascaligo/pascaligo.js b/app/web/public-br/min/vs/basic-languages/pascaligo/pascaligo.js new file mode 100644 index 00000000..48c6dd99 Binary files /dev/null and b/app/web/public-br/min/vs/basic-languages/pascaligo/pascaligo.js differ diff --git a/app/web/public-br/min/vs/basic-languages/perl/perl.js b/app/web/public-br/min/vs/basic-languages/perl/perl.js new file mode 100644 index 00000000..ae7b6d63 Binary files /dev/null and b/app/web/public-br/min/vs/basic-languages/perl/perl.js differ diff --git a/app/web/public-br/min/vs/basic-languages/pgsql/pgsql.js b/app/web/public-br/min/vs/basic-languages/pgsql/pgsql.js new file mode 100644 index 00000000..b431f5bf Binary files /dev/null and b/app/web/public-br/min/vs/basic-languages/pgsql/pgsql.js differ diff --git a/app/web/public-br/min/vs/basic-languages/php/php.js b/app/web/public-br/min/vs/basic-languages/php/php.js new file mode 100644 index 00000000..3deb4dcf Binary files /dev/null and b/app/web/public-br/min/vs/basic-languages/php/php.js differ diff --git a/app/web/public-br/min/vs/basic-languages/pla/pla.js b/app/web/public-br/min/vs/basic-languages/pla/pla.js new file mode 100644 index 00000000..70f08b1c Binary files /dev/null and b/app/web/public-br/min/vs/basic-languages/pla/pla.js differ diff --git a/app/web/public-br/min/vs/basic-languages/postiats/postiats.js b/app/web/public-br/min/vs/basic-languages/postiats/postiats.js new file mode 100644 index 00000000..fbb87398 Binary files /dev/null and b/app/web/public-br/min/vs/basic-languages/postiats/postiats.js differ diff --git a/app/web/public-br/min/vs/basic-languages/powerquery/powerquery.js b/app/web/public-br/min/vs/basic-languages/powerquery/powerquery.js new file mode 100644 index 00000000..9c65eca9 Binary files /dev/null and b/app/web/public-br/min/vs/basic-languages/powerquery/powerquery.js differ diff --git a/app/web/public-br/min/vs/basic-languages/powershell/powershell.js b/app/web/public-br/min/vs/basic-languages/powershell/powershell.js new file mode 100644 index 00000000..ed6ccc2d Binary files /dev/null and b/app/web/public-br/min/vs/basic-languages/powershell/powershell.js differ diff --git a/app/web/public-br/min/vs/basic-languages/protobuf/protobuf.js b/app/web/public-br/min/vs/basic-languages/protobuf/protobuf.js new file mode 100644 index 00000000..98549138 Binary files /dev/null and b/app/web/public-br/min/vs/basic-languages/protobuf/protobuf.js differ diff --git a/app/web/public-br/min/vs/basic-languages/pug/pug.js b/app/web/public-br/min/vs/basic-languages/pug/pug.js new file mode 100644 index 00000000..af0ada5e Binary files /dev/null and b/app/web/public-br/min/vs/basic-languages/pug/pug.js differ diff --git a/app/web/public-br/min/vs/basic-languages/python/python.js b/app/web/public-br/min/vs/basic-languages/python/python.js new file mode 100644 index 00000000..383c9c3e Binary files /dev/null and b/app/web/public-br/min/vs/basic-languages/python/python.js differ diff --git a/app/web/public-br/min/vs/basic-languages/qsharp/qsharp.js b/app/web/public-br/min/vs/basic-languages/qsharp/qsharp.js new file mode 100644 index 00000000..42b9f7f0 Binary files /dev/null and b/app/web/public-br/min/vs/basic-languages/qsharp/qsharp.js differ diff --git a/app/web/public-br/min/vs/basic-languages/r/r.js b/app/web/public-br/min/vs/basic-languages/r/r.js new file mode 100644 index 00000000..8e420d04 Binary files /dev/null and b/app/web/public-br/min/vs/basic-languages/r/r.js differ diff --git a/app/web/public-br/min/vs/basic-languages/razor/razor.js b/app/web/public-br/min/vs/basic-languages/razor/razor.js new file mode 100644 index 00000000..f3ab2e9b Binary files /dev/null and b/app/web/public-br/min/vs/basic-languages/razor/razor.js differ diff --git a/app/web/public-br/min/vs/basic-languages/redis/redis.js b/app/web/public-br/min/vs/basic-languages/redis/redis.js new file mode 100644 index 00000000..69f05948 Binary files /dev/null and b/app/web/public-br/min/vs/basic-languages/redis/redis.js differ diff --git a/app/web/public-br/min/vs/basic-languages/redshift/redshift.js b/app/web/public-br/min/vs/basic-languages/redshift/redshift.js new file mode 100644 index 00000000..528778eb Binary files /dev/null and b/app/web/public-br/min/vs/basic-languages/redshift/redshift.js differ diff --git a/app/web/public-br/min/vs/basic-languages/restructuredtext/restructuredtext.js b/app/web/public-br/min/vs/basic-languages/restructuredtext/restructuredtext.js new file mode 100644 index 00000000..6d32a61f Binary files /dev/null and b/app/web/public-br/min/vs/basic-languages/restructuredtext/restructuredtext.js differ diff --git a/app/web/public-br/min/vs/basic-languages/ruby/ruby.js b/app/web/public-br/min/vs/basic-languages/ruby/ruby.js new file mode 100644 index 00000000..4f113ebc Binary files /dev/null and b/app/web/public-br/min/vs/basic-languages/ruby/ruby.js differ diff --git a/app/web/public-br/min/vs/basic-languages/rust/rust.js b/app/web/public-br/min/vs/basic-languages/rust/rust.js new file mode 100644 index 00000000..3ec01fb6 Binary files /dev/null and b/app/web/public-br/min/vs/basic-languages/rust/rust.js differ diff --git a/app/web/public-br/min/vs/basic-languages/sb/sb.js b/app/web/public-br/min/vs/basic-languages/sb/sb.js new file mode 100644 index 00000000..305e74ec Binary files /dev/null and b/app/web/public-br/min/vs/basic-languages/sb/sb.js differ diff --git a/app/web/public-br/min/vs/basic-languages/scala/scala.js b/app/web/public-br/min/vs/basic-languages/scala/scala.js new file mode 100644 index 00000000..bc14bb63 Binary files /dev/null and b/app/web/public-br/min/vs/basic-languages/scala/scala.js differ diff --git a/app/web/public-br/min/vs/basic-languages/scheme/scheme.js b/app/web/public-br/min/vs/basic-languages/scheme/scheme.js new file mode 100644 index 00000000..443e272d Binary files /dev/null and b/app/web/public-br/min/vs/basic-languages/scheme/scheme.js differ diff --git a/app/web/public-br/min/vs/basic-languages/scss/scss.js b/app/web/public-br/min/vs/basic-languages/scss/scss.js new file mode 100644 index 00000000..5a4484fa Binary files /dev/null and b/app/web/public-br/min/vs/basic-languages/scss/scss.js differ diff --git a/app/web/public-br/min/vs/basic-languages/shell/shell.js b/app/web/public-br/min/vs/basic-languages/shell/shell.js new file mode 100644 index 00000000..ea3f1b66 Binary files /dev/null and b/app/web/public-br/min/vs/basic-languages/shell/shell.js differ diff --git a/app/web/public-br/min/vs/basic-languages/solidity/solidity.js b/app/web/public-br/min/vs/basic-languages/solidity/solidity.js new file mode 100644 index 00000000..07a266a2 Binary files /dev/null and b/app/web/public-br/min/vs/basic-languages/solidity/solidity.js differ diff --git a/app/web/public-br/min/vs/basic-languages/sophia/sophia.js b/app/web/public-br/min/vs/basic-languages/sophia/sophia.js new file mode 100644 index 00000000..30d15073 Binary files /dev/null and b/app/web/public-br/min/vs/basic-languages/sophia/sophia.js differ diff --git a/app/web/public-br/min/vs/basic-languages/sparql/sparql.js b/app/web/public-br/min/vs/basic-languages/sparql/sparql.js new file mode 100644 index 00000000..637f905b Binary files /dev/null and b/app/web/public-br/min/vs/basic-languages/sparql/sparql.js differ diff --git a/app/web/public-br/min/vs/basic-languages/sql/sql.js b/app/web/public-br/min/vs/basic-languages/sql/sql.js new file mode 100644 index 00000000..0f5f88a2 Binary files /dev/null and b/app/web/public-br/min/vs/basic-languages/sql/sql.js differ diff --git a/app/web/public-br/min/vs/basic-languages/st/st.js b/app/web/public-br/min/vs/basic-languages/st/st.js new file mode 100644 index 00000000..e3fae99e Binary files /dev/null and b/app/web/public-br/min/vs/basic-languages/st/st.js differ diff --git a/app/web/public-br/min/vs/basic-languages/swift/swift.js b/app/web/public-br/min/vs/basic-languages/swift/swift.js new file mode 100644 index 00000000..076d8a4a Binary files /dev/null and b/app/web/public-br/min/vs/basic-languages/swift/swift.js differ diff --git a/app/web/public-br/min/vs/basic-languages/systemverilog/systemverilog.js b/app/web/public-br/min/vs/basic-languages/systemverilog/systemverilog.js new file mode 100644 index 00000000..c5af134f Binary files /dev/null and b/app/web/public-br/min/vs/basic-languages/systemverilog/systemverilog.js differ diff --git a/app/web/public-br/min/vs/basic-languages/tcl/tcl.js b/app/web/public-br/min/vs/basic-languages/tcl/tcl.js new file mode 100644 index 00000000..9c05bff9 Binary files /dev/null and b/app/web/public-br/min/vs/basic-languages/tcl/tcl.js differ diff --git a/app/web/public-br/min/vs/basic-languages/twig/twig.js b/app/web/public-br/min/vs/basic-languages/twig/twig.js new file mode 100644 index 00000000..2f5f6587 Binary files /dev/null and b/app/web/public-br/min/vs/basic-languages/twig/twig.js differ diff --git a/app/web/public-br/min/vs/basic-languages/typescript/typescript.js b/app/web/public-br/min/vs/basic-languages/typescript/typescript.js new file mode 100644 index 00000000..4c8d14ac Binary files /dev/null and b/app/web/public-br/min/vs/basic-languages/typescript/typescript.js differ diff --git a/app/web/public-br/min/vs/basic-languages/vb/vb.js b/app/web/public-br/min/vs/basic-languages/vb/vb.js new file mode 100644 index 00000000..86ab62f2 Binary files /dev/null and b/app/web/public-br/min/vs/basic-languages/vb/vb.js differ diff --git a/app/web/public-br/min/vs/basic-languages/wgsl/wgsl.js b/app/web/public-br/min/vs/basic-languages/wgsl/wgsl.js new file mode 100644 index 00000000..67f4e2ab Binary files /dev/null and b/app/web/public-br/min/vs/basic-languages/wgsl/wgsl.js differ diff --git a/app/web/public-br/min/vs/basic-languages/xml/xml.js b/app/web/public-br/min/vs/basic-languages/xml/xml.js new file mode 100644 index 00000000..ec0877f5 Binary files /dev/null and b/app/web/public-br/min/vs/basic-languages/xml/xml.js differ diff --git a/app/web/public-br/min/vs/basic-languages/yaml/yaml.js b/app/web/public-br/min/vs/basic-languages/yaml/yaml.js new file mode 100644 index 00000000..039a44fc Binary files /dev/null and b/app/web/public-br/min/vs/basic-languages/yaml/yaml.js differ diff --git a/app/web/public-br/min/vs/editor/editor.main.css b/app/web/public-br/min/vs/editor/editor.main.css new file mode 100644 index 00000000..638dc9a4 Binary files /dev/null and b/app/web/public-br/min/vs/editor/editor.main.css differ diff --git a/app/web/public-br/min/vs/editor/editor.main.js b/app/web/public-br/min/vs/editor/editor.main.js new file mode 100644 index 00000000..894750a6 Binary files /dev/null and b/app/web/public-br/min/vs/editor/editor.main.js differ diff --git a/app/web/public-br/min/vs/editor/editor.main.nls.de.js b/app/web/public-br/min/vs/editor/editor.main.nls.de.js new file mode 100644 index 00000000..62370cd3 Binary files /dev/null and b/app/web/public-br/min/vs/editor/editor.main.nls.de.js differ diff --git a/app/web/public-br/min/vs/editor/editor.main.nls.es.js b/app/web/public-br/min/vs/editor/editor.main.nls.es.js new file mode 100644 index 00000000..5818212d Binary files /dev/null and b/app/web/public-br/min/vs/editor/editor.main.nls.es.js differ diff --git a/app/web/public-br/min/vs/editor/editor.main.nls.fr.js b/app/web/public-br/min/vs/editor/editor.main.nls.fr.js new file mode 100644 index 00000000..d962c75d Binary files /dev/null and b/app/web/public-br/min/vs/editor/editor.main.nls.fr.js differ diff --git a/app/web/public-br/min/vs/editor/editor.main.nls.it.js b/app/web/public-br/min/vs/editor/editor.main.nls.it.js new file mode 100644 index 00000000..4a87dd8e Binary files /dev/null and b/app/web/public-br/min/vs/editor/editor.main.nls.it.js differ diff --git a/app/web/public-br/min/vs/editor/editor.main.nls.ja.js b/app/web/public-br/min/vs/editor/editor.main.nls.ja.js new file mode 100644 index 00000000..1665eda3 Binary files /dev/null and b/app/web/public-br/min/vs/editor/editor.main.nls.ja.js differ diff --git a/app/web/public-br/min/vs/editor/editor.main.nls.js b/app/web/public-br/min/vs/editor/editor.main.nls.js new file mode 100644 index 00000000..2e2d18a0 Binary files /dev/null and b/app/web/public-br/min/vs/editor/editor.main.nls.js differ diff --git a/app/web/public-br/min/vs/editor/editor.main.nls.ko.js b/app/web/public-br/min/vs/editor/editor.main.nls.ko.js new file mode 100644 index 00000000..984e4c44 Binary files /dev/null and b/app/web/public-br/min/vs/editor/editor.main.nls.ko.js differ diff --git a/app/web/public-br/min/vs/editor/editor.main.nls.ru.js b/app/web/public-br/min/vs/editor/editor.main.nls.ru.js new file mode 100644 index 00000000..afe6341b Binary files /dev/null and b/app/web/public-br/min/vs/editor/editor.main.nls.ru.js differ diff --git a/app/web/public-br/min/vs/editor/editor.main.nls.zh-cn.js b/app/web/public-br/min/vs/editor/editor.main.nls.zh-cn.js new file mode 100644 index 00000000..5ddc34db Binary files /dev/null and b/app/web/public-br/min/vs/editor/editor.main.nls.zh-cn.js differ diff --git a/app/web/public-br/min/vs/editor/editor.main.nls.zh-tw.js b/app/web/public-br/min/vs/editor/editor.main.nls.zh-tw.js new file mode 100644 index 00000000..35fc5d14 Binary files /dev/null and b/app/web/public-br/min/vs/editor/editor.main.nls.zh-tw.js differ diff --git a/app/web/public-br/min/vs/language/css/cssMode.js b/app/web/public-br/min/vs/language/css/cssMode.js new file mode 100644 index 00000000..d8eb34c4 Binary files /dev/null and b/app/web/public-br/min/vs/language/css/cssMode.js differ diff --git a/app/web/public-br/min/vs/language/css/cssWorker.js b/app/web/public-br/min/vs/language/css/cssWorker.js new file mode 100644 index 00000000..483ae22a Binary files /dev/null and b/app/web/public-br/min/vs/language/css/cssWorker.js differ diff --git a/app/web/public-br/min/vs/language/html/htmlMode.js b/app/web/public-br/min/vs/language/html/htmlMode.js new file mode 100644 index 00000000..4f44095f Binary files /dev/null and b/app/web/public-br/min/vs/language/html/htmlMode.js differ diff --git a/app/web/public-br/min/vs/language/html/htmlWorker.js b/app/web/public-br/min/vs/language/html/htmlWorker.js new file mode 100644 index 00000000..5855be29 Binary files /dev/null and b/app/web/public-br/min/vs/language/html/htmlWorker.js differ diff --git a/app/web/public-br/min/vs/language/json/jsonMode.js b/app/web/public-br/min/vs/language/json/jsonMode.js new file mode 100644 index 00000000..8a5ee510 Binary files /dev/null and b/app/web/public-br/min/vs/language/json/jsonMode.js differ diff --git a/app/web/public-br/min/vs/language/json/jsonWorker.js b/app/web/public-br/min/vs/language/json/jsonWorker.js new file mode 100644 index 00000000..7395032f Binary files /dev/null and b/app/web/public-br/min/vs/language/json/jsonWorker.js differ diff --git a/app/web/public-br/min/vs/language/typescript/tsMode.js b/app/web/public-br/min/vs/language/typescript/tsMode.js new file mode 100644 index 00000000..42737b72 Binary files /dev/null and b/app/web/public-br/min/vs/language/typescript/tsMode.js differ diff --git a/app/web/public-br/min/vs/language/typescript/tsWorker.js b/app/web/public-br/min/vs/language/typescript/tsWorker.js new file mode 100644 index 00000000..0b99175a Binary files /dev/null and b/app/web/public-br/min/vs/language/typescript/tsWorker.js differ diff --git a/app/web/public-br/min/vs/loader.js b/app/web/public-br/min/vs/loader.js new file mode 100644 index 00000000..64bd0bc3 Binary files /dev/null and b/app/web/public-br/min/vs/loader.js differ diff --git a/app/web/public/images/bg-auth.png b/app/web/public/images/bg-auth.png deleted file mode 100644 index 1348fd80..00000000 Binary files a/app/web/public/images/bg-auth.png and /dev/null differ diff --git a/app/web/public/images/blank.jpg b/app/web/public/images/blank.jpg deleted file mode 100644 index 1cda9a53..00000000 Binary files a/app/web/public/images/blank.jpg and /dev/null differ diff --git a/app/web/public/images/template/1/mobile-0.png b/app/web/public/images/template/1/mobile-0.png deleted file mode 100644 index 61f0f640..00000000 Binary files a/app/web/public/images/template/1/mobile-0.png and /dev/null differ diff --git a/app/web/public/images/template/1/preview-desktop-0.png b/app/web/public/images/template/1/preview-desktop-0.png deleted file mode 100644 index 6a800ed0..00000000 Binary files a/app/web/public/images/template/1/preview-desktop-0.png and /dev/null differ diff --git a/app/web/src/base/root.tsx b/app/web/src/base/root.tsx index 42b6af17..dddd9b1b 100644 --- a/app/web/src/base/root.tsx +++ b/app/web/src/base/root.tsx @@ -3,6 +3,7 @@ import { FC, Suspense, lazy } from "react"; import { GlobalContext, useLocal } from "web-utils"; import { Loading } from "../utils/ui/loading"; import { w } from "../utils/types/general"; +import * as pages from "./pages"; export const Root: FC<{}> = ({}) => { const local = useLocal( @@ -13,7 +14,6 @@ export const Root: FC<{}> = ({}) => { Page: null as any, }, async () => { - const pages = await import("./pages"); for (const [_, v] of Object.entries(pages)) { local.router.insert(v.url, { url: v.url, @@ -36,7 +36,7 @@ export const Root: FC<{}> = ({}) => { w.params = found.params; local.Page = found.Page; } - + if (!local.Page) { return ; } diff --git a/app/web/src/index.tsx b/app/web/src/index.tsx index 67139e20..8217d661 100644 --- a/app/web/src/index.tsx +++ b/app/web/src/index.tsx @@ -6,17 +6,8 @@ import { createAPI, createDB, reloadDBAPI } from "./utils/script/init-api"; import { w } from "./utils/types/general"; const start = async () => { - const sw = await registerServiceWorker(); - - defineReact(); - await defineWindow(false); - const base = `${location.protocol}//${location.host}`; - w.serverurl = base; - await reloadDBAPI(base); - w.api = createAPI(base); - w.db = createDB(base); - if (!["localhost", "127.0.0.1"].includes(location.hostname)) { + const sw = await registerServiceWorker(); navigator.serviceWorker.addEventListener("message", (e) => { if (e.data.type === "activated") { if (e.data.shouldRefresh && sw) { @@ -55,6 +46,14 @@ const start = async () => { }); } + defineReact(); + await defineWindow(false); + const base = `${location.protocol}//${location.host}`; + w.serverurl = base; + await reloadDBAPI(base, "prod"); + w.api = createAPI(base); + w.db = createDB(base); + const el = document.getElementById("root"); if (el) { createRoot(el).render(); diff --git a/app/web/src/utils/script/init-api.ts b/app/web/src/utils/script/init-api.ts index b5de9a05..4b90c124 100644 --- a/app/web/src/utils/script/init-api.ts +++ b/app/web/src/utils/script/init-api.ts @@ -64,6 +64,7 @@ export const initApi = async (config: any, mode: "dev" | "prod" = "dev") => { if (url) { if (!w.prasiApi[url]) { try { + await reloadDBAPI(url, mode); } catch (e) {} } diff --git a/bun.lockb b/bun.lockb index a358c1b0..48a1f4a4 100755 Binary files a/bun.lockb and b/bun.lockb differ diff --git a/pkgs/core/build.ts b/pkgs/core/build.ts index 60997759..d6f03962 100644 --- a/pkgs/core/build.ts +++ b/pkgs/core/build.ts @@ -1,9 +1,12 @@ import { spawn } from "bun"; import { dir } from "dir"; -import { removeAsync } from "fs-jetpack"; +import { statSync } from "fs"; +import { listAsync, removeAsync, writeAsync } from "fs-jetpack"; +import brotliPromise from "brotli-wasm"; +const brotli = await brotliPromise; + await removeAsync(dir.path("app/static")); await removeAsync(dir.path("app/web/.parcel-cache")); - await removeAsync(dir.path("app/static")); const args = [ @@ -23,3 +26,27 @@ const parcel = spawn({ stdio: ["ignore", "inherit", "inherit"], }); await parcel.exited; + +listAsync(dir.path("app/static")).then(async (files) => { + if (files) { + await removeAsync(dir.path("app/static-br")); + await Promise.all( + files + .filter((e) => statSync(dir.path(`app/static/${e}`)).isFile()) + .map(async (file) => { + const br = brotli.compress( + new Uint8Array( + await Bun.file(dir.path(`app/static/${file}`)).arrayBuffer() + ) + ); + if (br) { + console.log(`Compressing ${file}`); + await writeAsync( + dir.path(`app/static-br/${file}`), + Buffer.from(br) + ); + } + }) + ); + } +}); diff --git a/pkgs/core/package.json b/pkgs/core/package.json index 396858c8..ea3eda0a 100644 --- a/pkgs/core/package.json +++ b/pkgs/core/package.json @@ -6,6 +6,7 @@ "@swc/core": "^1.3.91", "@types/mime": "^3.0.2", "@types/unzipper": "^0.10.7", + "brotli-wasm": "^2.0.1", "execa": "^8.0.1", "fs-jetpack": "^5.1.0", "lmdb": "^2.8.5", diff --git a/pkgs/core/server/create.ts b/pkgs/core/server/create.ts index cdefdb17..62c7c4fd 100644 --- a/pkgs/core/server/create.ts +++ b/pkgs/core/server/create.ts @@ -1,14 +1,21 @@ -import { WebSocketHandler } from "bun"; +import { WebSocketHandler, gzipSync } from "bun"; import { createRouter } from "radix3"; import { wsHandler } from "../../../app/srv/ws/handler"; import { dir } from "../utils/dir"; import { g } from "../utils/global"; import { serveAPI } from "./serve-api"; +import brotliPromise from "brotli-wasm"; +const brotli = await brotliPromise; -const cache = { +export const cache = { static: {} as Record< string, - { type: string; content: ReadableStream } + { + type: string; + content: ArrayBuffer; + br?: Uint8Array; + gz?: Uint8Array; + } >, }; @@ -88,11 +95,29 @@ export const createServer = async () => { const file = Bun.file(dir.path(`${webPath}${url.pathname}`)); if ((await file.exists()) && file.type !== "application/octet-stream") { - cache.static[url.pathname] = { - type: file.type, - content: file.stream(), - }; + if (!cache.static[url.pathname]) { + cache.static[url.pathname] = { + type: file.type, + content: await file.arrayBuffer(), + }; + } const found = cache.static[url.pathname]; + const enc = req.headers.get("accept-encoding"); + if (enc) { + if (enc.includes("br") && found.br) { + const res = new Response(found.br); + res.headers.set("Content-Encoding", "br"); + return res; + } else if (enc.includes("gz")) { + if (!found.gz) { + found.gz = gzipSync(new Uint8Array(found.content)); + } + const res = new Response(found.gz); + res.headers.set("Content-Encoding", "gzip"); + return res; + } + } + return new Response(found.content); } } catch (e) { diff --git a/pkgs/core/utils/parcel.ts b/pkgs/core/utils/parcel.ts index c7a39e6e..76f4d9ea 100644 --- a/pkgs/core/utils/parcel.ts +++ b/pkgs/core/utils/parcel.ts @@ -1,7 +1,16 @@ -import { dirAsync, removeAsync } from "fs-jetpack"; +import { spawn } from "bun"; +import { + dirAsync, + inspectTreeAsync, + writeAsync +} from "fs-jetpack"; +import { InspectTreeResult } from "fs-jetpack/types"; +import { cache } from "../server/create"; import { dir } from "./dir"; import { g } from "./global"; -import { spawn } from "bun"; + +import brotliPromise from "brotli-wasm"; +const brotli = await brotliPromise; const decoder = new TextDecoder(); export const parcelBuild = async () => { @@ -15,6 +24,62 @@ export const parcelBuild = async () => { "--dist-dir", dir.path(`app/static`), ]; + if (g.mode === "prod") { + setTimeout(() => { + inspectTreeAsync(dir.path("app/static")).then((tree) => { + if (tree) { + const walk = async (item: InspectTreeResult, parent: string[]) => { + if (item.type === "file") { + let path = `${parent.slice(1).join("/")}/${item.name}`; + if (!path.startsWith("/")) path = `/${path}`; + + if (!cache.static[path]) { + const file = Bun.file(dir.path(`/app/static${path}`)); + cache.static[path] = { + type: item.type, + content: await file.arrayBuffer(), + }; + } + const found = cache.static[path]; + + const staticBr = Bun.file(dir.path(`app/static-br${path}`)); + if (await staticBr.exists()) { + found.br = new Uint8Array(await staticBr.arrayBuffer()); + } else { + const pubFile = Bun.file(dir.path(`/app/web/public${path}`)); + const pubBr = Bun.file(dir.path(`/app/web/public-br${path}`)); + if (await pubFile.exists()) { + if (await pubBr.exists()) { + found.br = new Uint8Array(await pubBr.arrayBuffer()); + } else { + found.br = brotli.compress( + new Uint8Array(cache.static[path].content) + ); + if (found.br) { + await writeAsync( + dir.path(`/app/web/public-br${path}`), + Buffer.from(found.br) + ); + } + } + } else { + found.br = brotli.compress( + new Uint8Array(cache.static[path].content) + ); + } + } + } else if (item.type === "dir") { + for (const child of item.children) { + await walk(child, [...parent, item.name]); + } + } + }; + walk(tree, []); + } + }); + }, 1000); + } + if (g.mode === "dev") { g.log.info(`Building web with parcel`);