Explorar o código

Improve parcel sample

Alex Dima %!s(int64=6) %!d(string=hai) anos
pai
achega
3ec5c9d2e3

+ 3 - 2
browser-esm-parcel/index.html

@@ -18,10 +18,11 @@ To run this sample, you need to:
 
 <pre>
 $/browser-esm-parcel> npm install .
-$/browser-esm-parcel> ./node_modules/.bin/parcel build src/index.html
+$/browser-esm-parcel> npm run build
+$/browser-esm-parcel> npm run simpleserver
 </pre>
 
-Then, <a href="./dist">open the ./dist folder</a>.
+Then, open <a href="http://localhost:9999">http://localhost:9999</a>.
 
 </body>
 </html>

+ 200 - 6
browser-esm-parcel/package-lock.json

@@ -951,6 +951,12 @@
       "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=",
       "dev": true
     },
+    "async": {
+      "version": "1.5.2",
+      "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz",
+      "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=",
+      "dev": true
+    },
     "async-each": {
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.1.tgz",
@@ -1741,6 +1747,12 @@
       "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=",
       "dev": true
     },
+    "corser": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/corser/-/corser-2.0.1.tgz",
+      "integrity": "sha1-jtolLsqrWEDc2XXOuQ2TcMgZ/4c=",
+      "dev": true
+    },
     "cosmiconfig": {
       "version": "5.0.6",
       "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.0.6.tgz",
@@ -2275,6 +2287,32 @@
         "readable-stream": "^2.0.2"
       }
     },
+    "ecstatic": {
+      "version": "3.3.1",
+      "resolved": "https://registry.npmjs.org/ecstatic/-/ecstatic-3.3.1.tgz",
+      "integrity": "sha512-/rrctvxZ78HMI/tPIsqdvFKHHscxR3IJuKrZI2ZoUgkt2SiufyLFBmcco+aqQBIu6P1qBsUNG3drAAGLx80vTQ==",
+      "dev": true,
+      "requires": {
+        "he": "^1.1.1",
+        "mime": "^1.6.0",
+        "minimist": "^1.1.0",
+        "url-join": "^2.0.5"
+      },
+      "dependencies": {
+        "mime": {
+          "version": "1.6.0",
+          "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
+          "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==",
+          "dev": true
+        },
+        "minimist": {
+          "version": "1.2.0",
+          "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
+          "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
+          "dev": true
+        }
+      }
+    },
     "editorconfig": {
       "version": "0.15.0",
       "resolved": "https://registry.npmjs.org/editorconfig/-/editorconfig-0.15.0.tgz",
@@ -2418,6 +2456,12 @@
       "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=",
       "dev": true
     },
+    "eventemitter3": {
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-3.1.0.tgz",
+      "integrity": "sha512-ivIvhpq/Y0uSjcHDcOIccjmYjGLcP09MFGE7ysAwkAvkXfpZlC985pH2/ui64DKazbTW/4kN3yqozUxlXzI6cA==",
+      "dev": true
+    },
     "events": {
       "version": "1.1.1",
       "resolved": "http://registry.npmjs.org/events/-/events-1.1.1.tgz",
@@ -2645,6 +2689,26 @@
       "integrity": "sha1-2uRqnXj74lKSJYzB54CkHZXAN4I=",
       "dev": true
     },
+    "follow-redirects": {
+      "version": "1.7.0",
+      "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.7.0.tgz",
+      "integrity": "sha512-m/pZQy4Gj287eNy94nivy5wchN3Kp+Q5WgUPNy5lJSZ3sgkVKSYV/ZChMAQVIgx1SqfZ2zBZtPA2YlXIWxxJOQ==",
+      "dev": true,
+      "requires": {
+        "debug": "^3.2.6"
+      },
+      "dependencies": {
+        "debug": {
+          "version": "3.2.6",
+          "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz",
+          "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==",
+          "dev": true,
+          "requires": {
+            "ms": "^2.1.1"
+          }
+        }
+      }
+    },
     "for-in": {
       "version": "1.0.2",
       "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz",
@@ -2713,12 +2777,14 @@
         "balanced-match": {
           "version": "1.0.0",
           "bundled": true,
-          "dev": true
+          "dev": true,
+          "optional": true
         },
         "brace-expansion": {
           "version": "1.1.11",
           "bundled": true,
           "dev": true,
+          "optional": true,
           "requires": {
             "balanced-match": "^1.0.0",
             "concat-map": "0.0.1"
@@ -2733,17 +2799,20 @@
         "code-point-at": {
           "version": "1.1.0",
           "bundled": true,
-          "dev": true
+          "dev": true,
+          "optional": true
         },
         "concat-map": {
           "version": "0.0.1",
           "bundled": true,
-          "dev": true
+          "dev": true,
+          "optional": true
         },
         "console-control-strings": {
           "version": "1.1.0",
           "bundled": true,
-          "dev": true
+          "dev": true,
+          "optional": true
         },
         "core-util-is": {
           "version": "1.0.2",
@@ -2860,7 +2929,8 @@
         "inherits": {
           "version": "2.0.3",
           "bundled": true,
-          "dev": true
+          "dev": true,
+          "optional": true
         },
         "ini": {
           "version": "1.3.5",
@@ -2872,6 +2942,7 @@
           "version": "1.0.0",
           "bundled": true,
           "dev": true,
+          "optional": true,
           "requires": {
             "number-is-nan": "^1.0.0"
           }
@@ -2886,6 +2957,7 @@
           "version": "3.0.4",
           "bundled": true,
           "dev": true,
+          "optional": true,
           "requires": {
             "brace-expansion": "^1.1.7"
           }
@@ -2997,7 +3069,8 @@
         "number-is-nan": {
           "version": "1.0.1",
           "bundled": true,
-          "dev": true
+          "dev": true,
+          "optional": true
         },
         "object-assign": {
           "version": "4.1.1",
@@ -3130,6 +3203,7 @@
           "version": "1.0.2",
           "bundled": true,
           "dev": true,
+          "optional": true,
           "requires": {
             "code-point-at": "^1.0.0",
             "is-fullwidth-code-point": "^1.0.0",
@@ -3359,6 +3433,12 @@
         "minimalistic-assert": "^1.0.1"
       }
     },
+    "he": {
+      "version": "1.2.0",
+      "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz",
+      "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==",
+      "dev": true
+    },
     "hex-color-regex": {
       "version": "1.1.0",
       "resolved": "https://registry.npmjs.org/hex-color-regex/-/hex-color-regex-1.1.0.tgz",
@@ -3860,6 +3940,41 @@
         "statuses": ">= 1.4.0 < 2"
       }
     },
+    "http-proxy": {
+      "version": "1.17.0",
+      "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.17.0.tgz",
+      "integrity": "sha512-Taqn+3nNvYRfJ3bGvKfBSRwy1v6eePlm3oc/aWVxZp57DQr5Eq3xhKJi7Z4hZpS8PC3H4qI+Yly5EmFacGuA/g==",
+      "dev": true,
+      "requires": {
+        "eventemitter3": "^3.0.0",
+        "follow-redirects": "^1.0.0",
+        "requires-port": "^1.0.0"
+      }
+    },
+    "http-server": {
+      "version": "0.11.1",
+      "resolved": "https://registry.npmjs.org/http-server/-/http-server-0.11.1.tgz",
+      "integrity": "sha512-6JeGDGoujJLmhjiRGlt8yK8Z9Kl0vnl/dQoQZlc4oeqaUoAKQg94NILLfrY3oWzSyFaQCVNTcKE5PZ3cH8VP9w==",
+      "dev": true,
+      "requires": {
+        "colors": "1.0.3",
+        "corser": "~2.0.0",
+        "ecstatic": "^3.0.0",
+        "http-proxy": "^1.8.1",
+        "opener": "~1.4.0",
+        "optimist": "0.6.x",
+        "portfinder": "^1.0.13",
+        "union": "~0.4.3"
+      },
+      "dependencies": {
+        "colors": {
+          "version": "1.0.3",
+          "resolved": "https://registry.npmjs.org/colors/-/colors-1.0.3.tgz",
+          "integrity": "sha1-BDP0TYCWgP3rYO0mDxsMJi6CpAs=",
+          "dev": true
+        }
+      }
+    },
     "https-browserify": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz",
@@ -4699,6 +4814,12 @@
         "mimic-fn": "^1.0.0"
       }
     },
+    "opener": {
+      "version": "1.4.3",
+      "resolved": "https://registry.npmjs.org/opener/-/opener-1.4.3.tgz",
+      "integrity": "sha1-XG2ixdflgx6P+jlklQ+NZnSskLg=",
+      "dev": true
+    },
     "opn": {
       "version": "5.4.0",
       "resolved": "https://registry.npmjs.org/opn/-/opn-5.4.0.tgz",
@@ -4708,6 +4829,24 @@
         "is-wsl": "^1.1.0"
       }
     },
+    "optimist": {
+      "version": "0.6.1",
+      "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz",
+      "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=",
+      "dev": true,
+      "requires": {
+        "minimist": "~0.0.1",
+        "wordwrap": "~0.0.2"
+      },
+      "dependencies": {
+        "wordwrap": {
+          "version": "0.0.3",
+          "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz",
+          "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=",
+          "dev": true
+        }
+      }
+    },
     "optionator": {
       "version": "0.8.2",
       "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz",
@@ -4919,6 +5058,34 @@
       "integrity": "sha1-GN4vl+S/epVRrXURlCtUlverpmA=",
       "dev": true
     },
+    "portfinder": {
+      "version": "1.0.20",
+      "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.20.tgz",
+      "integrity": "sha512-Yxe4mTyDzTd59PZJY4ojZR8F+E5e97iq2ZOHPz3HDgSvYC5siNad2tLooQ5y5QHyQhc3xVqvyk/eNA3wuoa7Sw==",
+      "dev": true,
+      "requires": {
+        "async": "^1.5.2",
+        "debug": "^2.2.0",
+        "mkdirp": "0.5.x"
+      },
+      "dependencies": {
+        "debug": {
+          "version": "2.6.9",
+          "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+          "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+          "dev": true,
+          "requires": {
+            "ms": "2.0.0"
+          }
+        },
+        "ms": {
+          "version": "2.0.0",
+          "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+          "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
+          "dev": true
+        }
+      }
+    },
     "posix-character-classes": {
       "version": "0.1.1",
       "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz",
@@ -6157,6 +6324,12 @@
       "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=",
       "dev": true
     },
+    "qs": {
+      "version": "2.3.3",
+      "resolved": "https://registry.npmjs.org/qs/-/qs-2.3.3.tgz",
+      "integrity": "sha1-6eha2+ddoLvkyOBHaghikPhjtAQ=",
+      "dev": true
+    },
     "query-string": {
       "version": "4.3.4",
       "resolved": "https://registry.npmjs.org/query-string/-/query-string-4.3.4.tgz",
@@ -6363,6 +6536,12 @@
       "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=",
       "dev": true
     },
+    "requires-port": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz",
+      "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=",
+      "dev": true
+    },
     "resolve": {
       "version": "1.8.1",
       "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.8.1.tgz",
@@ -7160,6 +7339,15 @@
         "tiny-inflate": "^1.0.0"
       }
     },
+    "union": {
+      "version": "0.4.6",
+      "resolved": "https://registry.npmjs.org/union/-/union-0.4.6.tgz",
+      "integrity": "sha1-GY+9rrolTniLDvy2MLwR8kopWeA=",
+      "dev": true,
+      "requires": {
+        "qs": "~2.3.3"
+      }
+    },
     "union-value": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz",
@@ -7283,6 +7471,12 @@
         }
       }
     },
+    "url-join": {
+      "version": "2.0.5",
+      "resolved": "https://registry.npmjs.org/url-join/-/url-join-2.0.5.tgz",
+      "integrity": "sha1-WvIvGMBSoACkjXuCxenC4v7tpyg=",
+      "dev": true
+    },
     "use": {
       "version": "3.1.1",
       "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz",

+ 12 - 1
browser-esm-parcel/package.json

@@ -1,8 +1,19 @@
 {
   "name": "helloworld",
   "dependencies": {},
+  "scripts": {
+    "simpleserver": "http-server -c-1 ./dist -p 9999",
+    "build": "npm run build-index && npm run build-json && npm run build-css && npm run build-html && npm run build-ts && npm run build-worker",
+    "build-index": "parcel build src/index.html",
+    "build-json": "parcel build node_modules/monaco-editor/esm/vs/language/json/json.worker.js --no-source-maps",
+    "build-css": "parcel build node_modules/monaco-editor/esm/vs/language/css/css.worker.js --no-source-maps",
+    "build-html": "parcel build node_modules/monaco-editor/esm/vs/language/html/html.worker.js --no-source-maps",
+    "build-ts": "parcel build node_modules/monaco-editor/esm/vs/language/typescript/ts.worker.js --no-source-maps",
+    "build-worker": "parcel build node_modules/monaco-editor/esm/vs/editor/editor.worker.js --no-source-maps"
+  },
   "devDependencies": {
     "monaco-editor": "^0.14.3",
-    "parcel-bundler": "^1.10.1"
+    "parcel-bundler": "^1.10.1",
+    "http-server": "^0.11.1"
   }
 }

+ 13 - 113
browser-esm-parcel/src/index.js

@@ -1,129 +1,29 @@
 
-// (1) Desired editor features:
-import 'monaco-editor/esm/vs/editor/browser/controller/coreCommands.js';
-// import 'monaco-editor/esm/vs/editor/browser/widget/codeEditorWidget.js';
-// import 'monaco-editor/esm/vs/editor/browser/widget/diffEditorWidget.js';
-// import 'monaco-editor/esm/vs/editor/browser/widget/diffNavigator.js';
-// import 'monaco-editor/esm/vs/editor/contrib/bracketMatching/bracketMatching.js';
-// import 'monaco-editor/esm/vs/editor/contrib/caretOperations/caretOperations.js';
-// import 'monaco-editor/esm/vs/editor/contrib/caretOperations/transpose.js';
-// import 'monaco-editor/esm/vs/editor/contrib/clipboard/clipboard.js';
-// import 'monaco-editor/esm/vs/editor/contrib/codelens/codelensController.js';
-// import 'monaco-editor/esm/vs/editor/contrib/colorPicker/colorDetector.js';
-// import 'monaco-editor/esm/vs/editor/contrib/comment/comment.js';
-// import 'monaco-editor/esm/vs/editor/contrib/contextmenu/contextmenu.js';
-// import 'monaco-editor/esm/vs/editor/contrib/cursorUndo/cursorUndo.js';
-// import 'monaco-editor/esm/vs/editor/contrib/dnd/dnd.js';
-import 'monaco-editor/esm/vs/editor/contrib/find/findController.js';
-// import 'monaco-editor/esm/vs/editor/contrib/folding/folding.js';
-// import 'monaco-editor/esm/vs/editor/contrib/format/formatActions.js';
-// import 'monaco-editor/esm/vs/editor/contrib/goToDeclaration/goToDeclarationCommands.js';
-// import 'monaco-editor/esm/vs/editor/contrib/goToDeclaration/goToDeclarationMouse.js';
-// import 'monaco-editor/esm/vs/editor/contrib/gotoError/gotoError.js';
-// import 'monaco-editor/esm/vs/editor/contrib/hover/hover.js';
-// import 'monaco-editor/esm/vs/editor/contrib/inPlaceReplace/inPlaceReplace.js';
-// import 'monaco-editor/esm/vs/editor/contrib/linesOperations/linesOperations.js';
-// import 'monaco-editor/esm/vs/editor/contrib/links/links.js';
-// import 'monaco-editor/esm/vs/editor/contrib/multicursor/multicursor.js';
-// import 'monaco-editor/esm/vs/editor/contrib/parameterHints/parameterHints.js';
-// import 'monaco-editor/esm/vs/editor/contrib/quickFix/quickFixCommands.js';
-// import 'monaco-editor/esm/vs/editor/contrib/referenceSearch/referenceSearch.js';
-// import 'monaco-editor/esm/vs/editor/contrib/rename/rename.js';
-// import 'monaco-editor/esm/vs/editor/contrib/smartSelect/smartSelect.js';
-// import 'monaco-editor/esm/vs/editor/contrib/snippet/snippetController2.js';
-// import 'monaco-editor/esm/vs/editor/contrib/suggest/suggestController.js';
-// import 'monaco-editor/esm/vs/editor/contrib/toggleTabFocusMode/toggleTabFocusMode.js';
-// import 'monaco-editor/esm/vs/editor/contrib/wordHighlighter/wordHighlighter.js';
-// import 'monaco-editor/esm/vs/editor/contrib/wordOperations/wordOperations.js';
-// import 'monaco-editor/esm/vs/editor/standalone/browser/accessibilityHelp/accessibilityHelp.js';
-// import 'monaco-editor/esm/vs/editor/standalone/browser/inspectTokens/inspectTokens.js';
-// import 'monaco-editor/esm/vs/editor/standalone/browser/iPadShowKeyboard/iPadShowKeyboard.js';
-// import 'monaco-editor/esm/vs/editor/standalone/browser/quickOpen/quickOutline.js';
-// import 'monaco-editor/esm/vs/editor/standalone/browser/quickOpen/gotoLine.js';
-// import 'monaco-editor/esm/vs/editor/standalone/browser/quickOpen/quickCommand.js';
-// import 'monaco-editor/esm/vs/editor/standalone/browser/toggleHighContrast/toggleHighContrast.js';
-import * as monaco from 'monaco-editor/esm/vs/editor/editor.api.js';
-
-// (2) Desired languages:
-// import 'monaco-editor/esm/vs/language/typescript/monaco.contribution';
-// import 'monaco-editor/esm/vs/language/css/monaco.contribution';
-// import 'monaco-editor/esm/vs/language/json/monaco.contribution';
-// import 'monaco-editor/esm/vs/language/html/monaco.contribution';
-// import 'monaco-editor/esm/vs/basic-languages/bat/bat.contribution.js';
-// import 'monaco-editor/esm/vs/basic-languages/coffee/coffee.contribution.js';
-// import 'monaco-editor/esm/vs/basic-languages/cpp/cpp.contribution.js';
-// import 'monaco-editor/esm/vs/basic-languages/csharp/csharp.contribution.js';
-// import 'monaco-editor/esm/vs/basic-languages/csp/csp.contribution.js';
-// import 'monaco-editor/esm/vs/basic-languages/css/css.contribution.js';
-// import 'monaco-editor/esm/vs/basic-languages/dockerfile/dockerfile.contribution.js';
-// import 'monaco-editor/esm/vs/basic-languages/fsharp/fsharp.contribution.js';
-// import 'monaco-editor/esm/vs/basic-languages/go/go.contribution.js';
-// import 'monaco-editor/esm/vs/basic-languages/handlebars/handlebars.contribution.js';
-// import 'monaco-editor/esm/vs/basic-languages/html/html.contribution.js';
-// import 'monaco-editor/esm/vs/basic-languages/ini/ini.contribution.js';
-// import 'monaco-editor/esm/vs/basic-languages/java/java.contribution.js';
-// import 'monaco-editor/esm/vs/basic-languages/less/less.contribution.js';
-// import 'monaco-editor/esm/vs/basic-languages/lua/lua.contribution.js';
-// import 'monaco-editor/esm/vs/basic-languages/markdown/markdown.contribution.js';
-// import 'monaco-editor/esm/vs/basic-languages/msdax/msdax.contribution.js';
-// import 'monaco-editor/esm/vs/basic-languages/mysql/mysql.contribution.js';
-// import 'monaco-editor/esm/vs/basic-languages/objective-c/objective-c.contribution.js';
-// import 'monaco-editor/esm/vs/basic-languages/pgsql/pgsql.contribution.js';
-// import 'monaco-editor/esm/vs/basic-languages/php/php.contribution.js';
-// import 'monaco-editor/esm/vs/basic-languages/postiats/postiats.contribution.js';
-// import 'monaco-editor/esm/vs/basic-languages/powershell/powershell.contribution.js';
-// import 'monaco-editor/esm/vs/basic-languages/pug/pug.contribution.js';
-import 'monaco-editor/esm/vs/basic-languages/python/python.contribution.js';
-// import 'monaco-editor/esm/vs/basic-languages/r/r.contribution.js';
-// import 'monaco-editor/esm/vs/basic-languages/razor/razor.contribution.js';
-// import 'monaco-editor/esm/vs/basic-languages/redis/redis.contribution.js';
-// import 'monaco-editor/esm/vs/basic-languages/redshift/redshift.contribution.js';
-// import 'monaco-editor/esm/vs/basic-languages/ruby/ruby.contribution.js';
-// import 'monaco-editor/esm/vs/basic-languages/sb/sb.contribution.js';
-// import 'monaco-editor/esm/vs/basic-languages/scss/scss.contribution.js';
-// import 'monaco-editor/esm/vs/basic-languages/solidity/solidity.contribution.js';
-// import 'monaco-editor/esm/vs/basic-languages/sql/sql.contribution.js';
-// import 'monaco-editor/esm/vs/basic-languages/swift/swift.contribution.js';
-// import 'monaco-editor/esm/vs/basic-languages/vb/vb.contribution.js';
-// import 'monaco-editor/esm/vs/basic-languages/xml/xml.contribution.js';
-// import 'monaco-editor/esm/vs/basic-languages/yaml/yaml.contribution.js';
-// import 'monaco-editor/esm/vs/basic-languages/javascript/javascript.contribution';
-// import 'monaco-editor/esm/vs/basic-languages/typescript/typescript.contribution';
-
-
+import * as monaco from 'monaco-editor/esm/vs/editor/editor.main.js';
 
 self.MonacoEnvironment = {
-	getWorker: function (moduleId, label) {
+	getWorkerUrl: function (moduleId, label) {
 		if (label === 'json') {
-			return new Worker('../node_modules/monaco-editor/esm/vs/language/json/json.worker.js')
+			return './json.worker.js';
 		}
 		if (label === 'css') {
-			return new Worker('../node_modules/monaco-editor/esm/vs/language/css/css.worker.js')
+			return './css.worker.js';
 		}
 		if (label === 'html') {
-			return new Worker('../node_modules/monaco-editor/esm/vs/language/html/html.worker.js')
+			return './html.worker.js';
 		}
 		if (label === 'typescript' || label === 'javascript') {
-			return new Worker('../node_modules/monaco-editor/esm/vs/language/typescript/ts.worker.js')
+			return './ts.worker.js';
 		}
-		return new Worker('../node_modules/monaco-editor/esm/vs/editor/editor.worker.js')
-	}
-}
+		return './editor.worker.js';
+	},
+};
 
 monaco.editor.create(document.getElementById('container'), {
 	value: [
-		'from banana import *',
-		'',
-		'class Monkey:',
-		'	# Bananas the monkey can eat.',
-		'	capacity = 10',
-		'	def eat(self, N):',
-		'		\'\'\'Make the monkey eat N bananas!\'\'\'',
-		'		capacity = capacity - N*banana.size',
-		'',
-		'	def feeding_frenzy(self):',
-		'		eat(9.25)',
-		'		return "Yum yum"',
+		'function x() {',
+		'\tconsole.log("Hello world!");',
+		'}'
 	].join('\n'),
-	language: 'python'
+	language: 'javascript'
 });