Visual Studio Online “Monaco”: the backend is in node.js

Probably to some surprise for some of you: the backend of Monaco is written in node.js, and actually a quite new version of node.js: version v0.10.21 (at the time of writing this post). Because it is running on IIS, it uses iisnode to run the site.

The backend uses the following node modules:

The code base itself consists of the following files:

D:\Program Files (x86)\SiteExtensions/Monaco/1.0.0-20131104/server/availableLanguages.js
D:\Program Files (x86)\SiteExtensions/Monaco/1.0.0-20131104/server/config/db.js
D:\Program Files (x86)\SiteExtensions/Monaco/1.0.0-20131104/server/config/home.js
D:\Program Files (x86)\SiteExtensions/Monaco/1.0.0-20131104/server/config/logger.js
D:\Program Files (x86)\SiteExtensions/Monaco/1.0.0-20131104/server/config/tools.js
D:\Program Files (x86)\SiteExtensions/Monaco/1.0.0-20131104/server/config/workspaces.js
D:\Program Files (x86)\SiteExtensions/Monaco/1.0.0-20131104/server/config.js
D:\Program Files (x86)\SiteExtensions/Monaco/1.0.0-20131104/server/contrib/config/config.contribution.js
D:\Program Files (x86)\SiteExtensions/Monaco/1.0.0-20131104/server/contrib/contributions.js
D:\Program Files (x86)\SiteExtensions/Monaco/1.0.0-20131104/server/contrib/event/event.contribution.js
D:\Program Files (x86)\SiteExtensions/Monaco/1.0.0-20131104/server/contrib/event/event.js
D:\Program Files (x86)\SiteExtensions/Monaco/1.0.0-20131104/server/contrib/event/eventImpl.js
D:\Program Files (x86)\SiteExtensions/Monaco/1.0.0-20131104/server/contrib/experiment/experiment.contribution.js
D:\Program Files (x86)\SiteExtensions/Monaco/1.0.0-20131104/server/contrib/feedback/feedback.contribution.js
D:\Program Files (x86)\SiteExtensions/Monaco/1.0.0-20131104/server/contrib/files/files.contribution.js
D:\Program Files (x86)\SiteExtensions/Monaco/1.0.0-20131104/server/contrib/files/files.js
D:\Program Files (x86)\SiteExtensions/Monaco/1.0.0-20131104/server/contrib/files/stat.js
D:\Program Files (x86)\SiteExtensions/Monaco/1.0.0-20131104/server/contrib/git/git.config.js
D:\Program Files (x86)\SiteExtensions/Monaco/1.0.0-20131104/server/contrib/git/git.contribution.js
D:\Program Files (x86)\SiteExtensions/Monaco/1.0.0-20131104/server/contrib/git/git.js
D:\Program Files (x86)\SiteExtensions/Monaco/1.0.0-20131104/server/contrib/output/output.contribution.js
D:\Program Files (x86)\SiteExtensions/Monaco/1.0.0-20131104/server/contrib/process/commands/any.js
D:\Program Files (x86)\SiteExtensions/Monaco/1.0.0-20131104/server/contrib/process/commands/azure.js
D:\Program Files (x86)\SiteExtensions/Monaco/1.0.0-20131104/server/contrib/process/commands/commands.js
D:\Program Files (x86)\SiteExtensions/Monaco/1.0.0-20131104/server/contrib/process/commands/express.js
D:\Program Files (x86)\SiteExtensions/Monaco/1.0.0-20131104/server/contrib/process/commands/fs.js
D:\Program Files (x86)\SiteExtensions/Monaco/1.0.0-20131104/server/contrib/process/commands/git.js
D:\Program Files (x86)\SiteExtensions/Monaco/1.0.0-20131104/server/contrib/process/commands/help.js
D:\Program Files (x86)\SiteExtensions/Monaco/1.0.0-20131104/server/contrib/process/commands/init.js
D:\Program Files (x86)\SiteExtensions/Monaco/1.0.0-20131104/server/contrib/process/commands/jake.js
D:\Program Files (x86)\SiteExtensions/Monaco/1.0.0-20131104/server/contrib/process/commands/mocha.js
D:\Program Files (x86)\SiteExtensions/Monaco/1.0.0-20131104/server/contrib/process/commands/monaco-editor.js
D:\Program Files (x86)\SiteExtensions/Monaco/1.0.0-20131104/server/contrib/process/commands/msbuild.js
D:\Program Files (x86)\SiteExtensions/Monaco/1.0.0-20131104/server/contrib/process/commands/msdeploy/echo.bat
D:\Program Files (x86)\SiteExtensions/Monaco/1.0.0-20131104/server/contrib/process/commands/msdeploy/Microsoft.Web.Delegation.dll
D:\Program Files (x86)\SiteExtensions/Monaco/1.0.0-20131104/server/contrib/process/commands/msdeploy/Microsoft.Web.Deployment.dll
D:\Program Files (x86)\SiteExtensions/Monaco/1.0.0-20131104/server/contrib/process/commands/msdeploy/msdeploy.exe
D:\Program Files (x86)\SiteExtensions/Monaco/1.0.0-20131104/server/contrib/process/commands/msdeploy/msdeploy.js
D:\Program Files (x86)\SiteExtensions/Monaco/1.0.0-20131104/server/contrib/process/commands/msdeploy/publish.js
D:\Program Files (x86)\SiteExtensions/Monaco/1.0.0-20131104/server/contrib/process/commands/nake.js
D:\Program Files (x86)\SiteExtensions/Monaco/1.0.0-20131104/server/contrib/process/commands/nodejs.js
D:\Program Files (x86)\SiteExtensions/Monaco/1.0.0-20131104/server/contrib/process/commands/npm.js
D:\Program Files (x86)\SiteExtensions/Monaco/1.0.0-20131104/server/contrib/process/commands/nuget.js
D:\Program Files (x86)\SiteExtensions/Monaco/1.0.0-20131104/server/contrib/process/commands/ps.js
D:\Program Files (x86)\SiteExtensions/Monaco/1.0.0-20131104/server/contrib/process/commands/setup.js
D:\Program Files (x86)\SiteExtensions/Monaco/1.0.0-20131104/server/contrib/process/commands/tsc.js
D:\Program Files (x86)\SiteExtensions/Monaco/1.0.0-20131104/server/contrib/process/process.contribution.js
D:\Program Files (x86)\SiteExtensions/Monaco/1.0.0-20131104/server/contrib/process/shell/parser.js
D:\Program Files (x86)\SiteExtensions/Monaco/1.0.0-20131104/server/contrib/process/shell/shell.js
D:\Program Files (x86)\SiteExtensions/Monaco/1.0.0-20131104/server/contrib/search/fileSearch.js
D:\Program Files (x86)\SiteExtensions/Monaco/1.0.0-20131104/server/contrib/search/index/index.js
D:\Program Files (x86)\SiteExtensions/Monaco/1.0.0-20131104/server/contrib/search/search.contribution.js
D:\Program Files (x86)\SiteExtensions/Monaco/1.0.0-20131104/server/contrib/search/search.js
D:\Program Files (x86)\SiteExtensions/Monaco/1.0.0-20131104/server/contrib/search/searchApp.js
D:\Program Files (x86)\SiteExtensions/Monaco/1.0.0-20131104/server/contrib/search/textSearch.js
D:\Program Files (x86)\SiteExtensions/Monaco/1.0.0-20131104/server/contrib/strongbox/strongbox.contribution.js
D:\Program Files (x86)\SiteExtensions/Monaco/1.0.0-20131104/server/contrib/telemetry/telemetry.contribution.js
D:\Program Files (x86)\SiteExtensions/Monaco/1.0.0-20131104/server/contrib/telemetry/telemetry.js
D:\Program Files (x86)\SiteExtensions/Monaco/1.0.0-20131104/server/contrib/telemetry/telemetryClient.js
D:\Program Files (x86)\SiteExtensions/Monaco/1.0.0-20131104/server/contrib/tfs/tfs.contribution.js
D:\Program Files (x86)\SiteExtensions/Monaco/1.0.0-20131104/server/contrib/tfs/tfs.js
D:\Program Files (x86)\SiteExtensions/Monaco/1.0.0-20131104/server/contrib/typescript/build/tsc.js
D:\Program Files (x86)\SiteExtensions/Monaco/1.0.0-20131104/server/contrib/typescript/lib/lib.d.ts
D:\Program Files (x86)\SiteExtensions/Monaco/1.0.0-20131104/server/contrib/typescript/lib/typescriptServices.js
D:\Program Files (x86)\SiteExtensions/Monaco/1.0.0-20131104/server/contrib/typescript/routes/filesRoute.js
D:\Program Files (x86)\SiteExtensions/Monaco/1.0.0-20131104/server/contrib/typescript/routes/graphRoute.js
D:\Program Files (x86)\SiteExtensions/Monaco/1.0.0-20131104/server/contrib/typescript/routes/projectRoute.js
D:\Program Files (x86)\SiteExtensions/Monaco/1.0.0-20131104/server/contrib/typescript/service/references.js
D:\Program Files (x86)\SiteExtensions/Monaco/1.0.0-20131104/server/contrib/typescript/service/requireRunner.js
D:\Program Files (x86)\SiteExtensions/Monaco/1.0.0-20131104/server/contrib/typescript/service/resolver.js
D:\Program Files (x86)\SiteExtensions/Monaco/1.0.0-20131104/server/contrib/typescript/service/serverLanguageService.js
D:\Program Files (x86)\SiteExtensions/Monaco/1.0.0-20131104/server/contrib/typescript/typescript.contribution.js
D:\Program Files (x86)\SiteExtensions/Monaco/1.0.0-20131104/server/controller/eventChannel.js
D:\Program Files (x86)\SiteExtensions/Monaco/1.0.0-20131104/server/controller/events.js
D:\Program Files (x86)\SiteExtensions/Monaco/1.0.0-20131104/server/controller/log.js
D:\Program Files (x86)\SiteExtensions/Monaco/1.0.0-20131104/server/controller/monaco.js
D:\Program Files (x86)\SiteExtensions/Monaco/1.0.0-20131104/server/controller/ping.js
D:\Program Files (x86)\SiteExtensions/Monaco/1.0.0-20131104/server/controller/public.js
D:\Program Files (x86)\SiteExtensions/Monaco/1.0.0-20131104/server/controller/workspace.js
D:\Program Files (x86)\SiteExtensions/Monaco/1.0.0-20131104/server/home/.gitconfig
D:\Program Files (x86)\SiteExtensions/Monaco/1.0.0-20131104/server/home/bin/cred.js
D:\Program Files (x86)\SiteExtensions/Monaco/1.0.0-20131104/server/home/bin/cred.sh
D:\Program Files (x86)\SiteExtensions/Monaco/1.0.0-20131104/server/home/empty.cmd
D:\Program Files (x86)\SiteExtensions/Monaco/1.0.0-20131104/server/home/empty.sh
D:\Program Files (x86)\SiteExtensions/Monaco/1.0.0-20131104/server/lib/assert.js
D:\Program Files (x86)\SiteExtensions/Monaco/1.0.0-20131104/server/lib/async.js
D:\Program Files (x86)\SiteExtensions/Monaco/1.0.0-20131104/server/lib/cache.js
D:\Program Files (x86)\SiteExtensions/Monaco/1.0.0-20131104/server/lib/cli.js
D:\Program Files (x86)\SiteExtensions/Monaco/1.0.0-20131104/server/lib/collections.js
D:\Program Files (x86)\SiteExtensions/Monaco/1.0.0-20131104/server/lib/config.js
D:\Program Files (x86)\SiteExtensions/Monaco/1.0.0-20131104/server/lib/db/db.js
D:\Program Files (x86)\SiteExtensions/Monaco/1.0.0-20131104/server/lib/db/engines/inmemory.js
D:\Program Files (x86)\SiteExtensions/Monaco/1.0.0-20131104/server/lib/db/engines/jsondb.js
D:\Program Files (x86)\SiteExtensions/Monaco/1.0.0-20131104/server/lib/encoding.js
D:\Program Files (x86)\SiteExtensions/Monaco/1.0.0-20131104/server/lib/errors.js
D:\Program Files (x86)\SiteExtensions/Monaco/1.0.0-20131104/server/lib/eventBus.js
D:\Program Files (x86)\SiteExtensions/Monaco/1.0.0-20131104/server/lib/events.js
D:\Program Files (x86)\SiteExtensions/Monaco/1.0.0-20131104/server/lib/extcp.js
D:\Program Files (x86)\SiteExtensions/Monaco/1.0.0-20131104/server/lib/extfs.js
D:\Program Files (x86)\SiteExtensions/Monaco/1.0.0-20131104/server/lib/extnet.js
D:\Program Files (x86)\SiteExtensions/Monaco/1.0.0-20131104/server/lib/extpath.js
D:\Program Files (x86)\SiteExtensions/Monaco/1.0.0-20131104/server/lib/flow.js
D:\Program Files (x86)\SiteExtensions/Monaco/1.0.0-20131104/server/lib/http2.js
D:\Program Files (x86)\SiteExtensions/Monaco/1.0.0-20131104/server/lib/import.js
D:\Program Files (x86)\SiteExtensions/Monaco/1.0.0-20131104/server/lib/injector.js
D:\Program Files (x86)\SiteExtensions/Monaco/1.0.0-20131104/server/lib/injectorService.js
D:\Program Files (x86)\SiteExtensions/Monaco/1.0.0-20131104/server/lib/jshtm.js
D:\Program Files (x86)\SiteExtensions/Monaco/1.0.0-20131104/server/lib/logger.js
D:\Program Files (x86)\SiteExtensions/Monaco/1.0.0-20131104/server/lib/mime.js
D:\Program Files (x86)\SiteExtensions/Monaco/1.0.0-20131104/server/lib/nls.js
D:\Program Files (x86)\SiteExtensions/Monaco/1.0.0-20131104/server/lib/node.js
D:\Program Files (x86)\SiteExtensions/Monaco/1.0.0-20131104/server/lib/performance.js
D:\Program Files (x86)\SiteExtensions/Monaco/1.0.0-20131104/server/lib/pfs.js
D:\Program Files (x86)\SiteExtensions/Monaco/1.0.0-20131104/server/lib/process/process.js
D:\Program Files (x86)\SiteExtensions/Monaco/1.0.0-20131104/server/lib/process/ProcessUtils.cs
D:\Program Files (x86)\SiteExtensions/Monaco/1.0.0-20131104/server/lib/process/processUtils.dll
D:\Program Files (x86)\SiteExtensions/Monaco/1.0.0-20131104/server/lib/promises.js
D:\Program Files (x86)\SiteExtensions/Monaco/1.0.0-20131104/server/lib/route.js
D:\Program Files (x86)\SiteExtensions/Monaco/1.0.0-20131104/server/lib/siteextension.js
D:\Program Files (x86)\SiteExtensions/Monaco/1.0.0-20131104/server/lib/stream.js
D:\Program Files (x86)\SiteExtensions/Monaco/1.0.0-20131104/server/lib/strings.js
D:\Program Files (x86)\SiteExtensions/Monaco/1.0.0-20131104/server/lib/system.js
D:\Program Files (x86)\SiteExtensions/Monaco/1.0.0-20131104/server/lib/temp.js
D:\Program Files (x86)\SiteExtensions/Monaco/1.0.0-20131104/server/lib/types.js
D:\Program Files (x86)\SiteExtensions/Monaco/1.0.0-20131104/server/lib/typeScript/tsc.js
D:\Program Files (x86)\SiteExtensions/Monaco/1.0.0-20131104/server/lib/typeScript/typescript.js
D:\Program Files (x86)\SiteExtensions/Monaco/1.0.0-20131104/server/lib/typeScript/typescriptServices.js
D:\Program Files (x86)\SiteExtensions/Monaco/1.0.0-20131104/server/lib/utils.js
D:\Program Files (x86)\SiteExtensions/Monaco/1.0.0-20131104/server/lib/uuid.js
D:\Program Files (x86)\SiteExtensions/Monaco/1.0.0-20131104/server/lib/watcher/fileWatcher.cs
D:\Program Files (x86)\SiteExtensions/Monaco/1.0.0-20131104/server/lib/watcher/fileWatcher.dll
D:\Program Files (x86)\SiteExtensions/Monaco/1.0.0-20131104/server/lib/watcher/watcher.js
D:\Program Files (x86)\SiteExtensions/Monaco/1.0.0-20131104/server/lib/watcher/watcher.win32.js
D:\Program Files (x86)\SiteExtensions/Monaco/1.0.0-20131104/server/lib/zip/zip.cs
D:\Program Files (x86)\SiteExtensions/Monaco/1.0.0-20131104/server/lib/zip/zip.dll
D:\Program Files (x86)\SiteExtensions/Monaco/1.0.0-20131104/server/lib/zip/zip.js
D:\Program Files (x86)\SiteExtensions/Monaco/1.0.0-20131104/server/middleware/access.js
D:\Program Files (x86)\SiteExtensions/Monaco/1.0.0-20131104/server/middleware/cache.js
D:\Program Files (x86)\SiteExtensions/Monaco/1.0.0-20131104/server/middleware/logger.js
D:\Program Files (x86)\SiteExtensions/Monaco/1.0.0-20131104/server/middleware/security.js
D:\Program Files (x86)\SiteExtensions/Monaco/1.0.0-20131104/server/middleware/upload.js
D:\Program Files (x86)\SiteExtensions/Monaco/1.0.0-20131104/server/middleware.js
D:\Program Files (x86)\SiteExtensions/Monaco/1.0.0-20131104/server/model/modelDb.js
D:\Program Files (x86)\SiteExtensions/Monaco/1.0.0-20131104/server/model/workspace.js
D:\Program Files (x86)\SiteExtensions/Monaco/1.0.0-20131104/server/monaco.impl.js
D:\Program Files (x86)\SiteExtensions/Monaco/1.0.0-20131104/server/monaco.js
D:\Program Files (x86)\SiteExtensions/Monaco/1.0.0-20131104/server/platform.js
D:\Program Files (x86)\SiteExtensions/Monaco/1.0.0-20131104/server/routes.js
D:\Program Files (x86)\SiteExtensions/Monaco/1.0.0-20131104/server/run-siteextension.js
D:\Program Files (x86)\SiteExtensions/Monaco/1.0.0-20131104/server/run.js
D:\Program Files (x86)\SiteExtensions/Monaco/1.0.0-20131104/server/version.js
D:\Program Files (x86)\SiteExtensions/Monaco/1.0.0-20131104/server/view/dashboard.jshtm
D:\Program Files (x86)\SiteExtensions/Monaco/1.0.0-20131104/server/view/error.jshtm
D:\Program Files (x86)\SiteExtensions/Monaco/1.0.0-20131104/server/view/log.jshtm
D:\Program Files (x86)\SiteExtensions/Monaco/1.0.0-20131104/server/view/monaco.jshtm
D:\Program Files (x86)\SiteExtensions/Monaco/1.0.0-20131104/server/view/workbench.jshtm
D:\Program Files (x86)\SiteExtensions/Monaco/1.0.0-20131104/server.js
D:\Program Files (x86)\SiteExtensions/Monaco/1.0.0-20131104/web.config

No Comments