diff --git a/samples/misc/ES2015Transpilation/.gitignore b/samples/misc/ES2015Transpilation/.gitignore new file mode 100644 index 0000000..2ccbe46 --- /dev/null +++ b/samples/misc/ES2015Transpilation/.gitignore @@ -0,0 +1 @@ +/node_modules/ diff --git a/samples/misc/ES2015Transpilation/Controllers/HomeController.cs b/samples/misc/ES2015Transpilation/Controllers/HomeController.cs new file mode 100755 index 0000000..9d9dd3e --- /dev/null +++ b/samples/misc/ES2015Transpilation/Controllers/HomeController.cs @@ -0,0 +1,18 @@ +using System.Threading.Tasks; +using Microsoft.AspNet.Mvc; + +namespace ES2015Example.Controllers +{ + public class HomeController : Controller + { + public async Task Index(int pageIndex) + { + return View(); + } + + public IActionResult Error() + { + return View("~/Views/Shared/Error.cshtml"); + } + } +} diff --git a/samples/misc/ES2015Transpilation/Controllers/ScriptController.cs b/samples/misc/ES2015Transpilation/Controllers/ScriptController.cs new file mode 100644 index 0000000..62f0878 --- /dev/null +++ b/samples/misc/ES2015Transpilation/Controllers/ScriptController.cs @@ -0,0 +1,19 @@ +using System.Threading.Tasks; +using Microsoft.AspNet.Mvc; +using Microsoft.AspNet.NodeServices; + +namespace ES2015Example.Controllers +{ + public class ScriptController : Controller + { + private static NodeInstance nodeInstance = new NodeInstance(); + + public async Task Transpile(string filename) + { + // TODO: Don't hard-code wwwroot; use proper path conversions + var fileContents = System.IO.File.ReadAllText("wwwroot/" + filename); + var transpiledResult = await nodeInstance.Invoke("transpilation.js", fileContents); + return Content(transpiledResult, "application/javascript"); + } + } +} diff --git a/samples/misc/ES2015Transpilation/Startup.cs b/samples/misc/ES2015Transpilation/Startup.cs new file mode 100755 index 0000000..b3584db --- /dev/null +++ b/samples/misc/ES2015Transpilation/Startup.cs @@ -0,0 +1,78 @@ +using Microsoft.AspNet.Builder; +using Microsoft.AspNet.Hosting; +using Microsoft.AspNet.Routing.Template; +using Microsoft.Dnx.Runtime; +using Microsoft.Framework.Configuration; +using Microsoft.Framework.DependencyInjection; +using Microsoft.Framework.Logging; + +namespace ES2015Example +{ + public class Startup + { + public Startup(IHostingEnvironment env, IApplicationEnvironment appEnv) + { + // Setup configuration sources. + var builder = new ConfigurationBuilder() + .SetBasePath(appEnv.ApplicationBasePath) + .AddJsonFile("appsettings.json") + .AddEnvironmentVariables(); + Configuration = builder.Build(); + } + + public IConfigurationRoot Configuration { get; set; } + + // This method gets called by the runtime. + public void ConfigureServices(IServiceCollection services) + { + // Add MVC services to the services container. + services.AddMvc(); + } + + // Configure is called after ConfigureServices is called. + public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory) + { + loggerFactory.MinimumLevel = LogLevel.Information; + loggerFactory.AddConsole(); + loggerFactory.AddDebug(); + + // Configure the HTTP request pipeline. + + // Add the platform handler to the request pipeline. + app.UseIISPlatformHandler(); + + // Add the following to the request pipeline only in development environment. + if (env.IsDevelopment()) + { + app.UseDeveloperExceptionPage(); + } + else + { + // Add Error handling middleware which catches all application specific errors and + // send the request to the following path or controller action. + app.UseExceptionHandler("/Home/Error"); + } + + app.UseMvc(routes => { + routes.MapRoute( + name: "Script", + template: "{*filename}", + defaults: new { controller="Script", action="Transpile" }, + constraints: new { filename = @"js/(.*?)\.js" } + ); + }); + + // Add static files to the request pipeline. + app.UseStaticFiles(); + + // Add MVC to the request pipeline. + app.UseMvc(routes => + { + routes.MapRoute( + name: "default", + template: "{controller}/{action?}/{id?}", + defaults: new { controller="Home", action = "Index" }); + }); + } + } +} diff --git a/samples/misc/ES2015Transpilation/Views/Home/Index.cshtml b/samples/misc/ES2015Transpilation/Views/Home/Index.cshtml new file mode 100755 index 0000000..5b5e2f2 --- /dev/null +++ b/samples/misc/ES2015Transpilation/Views/Home/Index.cshtml @@ -0,0 +1,6 @@ +Hello + +@section scripts { + + +} diff --git a/samples/misc/ES2015Transpilation/Views/Shared/Error.cshtml b/samples/misc/ES2015Transpilation/Views/Shared/Error.cshtml new file mode 100755 index 0000000..a288cb0 --- /dev/null +++ b/samples/misc/ES2015Transpilation/Views/Shared/Error.cshtml @@ -0,0 +1,6 @@ +@{ + ViewData["Title"] = "Error"; +} + +

Error.

+

An error occurred while processing your request.

diff --git a/samples/misc/ES2015Transpilation/Views/Shared/_Layout.cshtml b/samples/misc/ES2015Transpilation/Views/Shared/_Layout.cshtml new file mode 100755 index 0000000..2e8aa72 --- /dev/null +++ b/samples/misc/ES2015Transpilation/Views/Shared/_Layout.cshtml @@ -0,0 +1,11 @@ + + + + + ES2015 Example + + + @RenderBody() + @RenderSection("scripts", required: false) + + diff --git a/samples/misc/ES2015Transpilation/Views/_ViewImports.cshtml b/samples/misc/ES2015Transpilation/Views/_ViewImports.cshtml new file mode 100755 index 0000000..7b6d0ab --- /dev/null +++ b/samples/misc/ES2015Transpilation/Views/_ViewImports.cshtml @@ -0,0 +1,2 @@ +@using ES2015Example +@addTagHelper "*, Microsoft.AspNet.Mvc.TagHelpers" diff --git a/samples/misc/ES2015Transpilation/Views/_ViewStart.cshtml b/samples/misc/ES2015Transpilation/Views/_ViewStart.cshtml new file mode 100755 index 0000000..66b5da2 --- /dev/null +++ b/samples/misc/ES2015Transpilation/Views/_ViewStart.cshtml @@ -0,0 +1,3 @@ +@{ + Layout = "_Layout"; +} diff --git a/samples/misc/ES2015Transpilation/appsettings.json b/samples/misc/ES2015Transpilation/appsettings.json new file mode 100755 index 0000000..0967ef4 --- /dev/null +++ b/samples/misc/ES2015Transpilation/appsettings.json @@ -0,0 +1 @@ +{} diff --git a/samples/misc/ES2015Transpilation/jsconfig.json b/samples/misc/ES2015Transpilation/jsconfig.json new file mode 100644 index 0000000..875bb90 --- /dev/null +++ b/samples/misc/ES2015Transpilation/jsconfig.json @@ -0,0 +1,6 @@ +{ + "compilerOptions": { + "target": "ES6", + "module": "commonjs" + } +} diff --git a/samples/misc/ES2015Transpilation/package.json b/samples/misc/ES2015Transpilation/package.json new file mode 100644 index 0000000..c3436cf --- /dev/null +++ b/samples/misc/ES2015Transpilation/package.json @@ -0,0 +1,9 @@ +{ + "name": "ES2015Example", + "version": "0.0.0", + "dependencies": { + "babel-core": "^5.8.29", + "body-parser": "^1.14.1", + "express": "^4.13.3" + } +} diff --git a/samples/misc/ES2015Transpilation/project.json b/samples/misc/ES2015Transpilation/project.json new file mode 100755 index 0000000..f6542c9 --- /dev/null +++ b/samples/misc/ES2015Transpilation/project.json @@ -0,0 +1,45 @@ +{ + "webroot": "wwwroot", + "version": "1.0.0-*", + "tooling": { + "defaultNamespace": "ES2015Example" + }, + "dependencies": { + "Microsoft.AspNet.Diagnostics": "1.0.0-beta8", + "Microsoft.AspNet.IISPlatformHandler": "1.0.0-beta8", + "Microsoft.AspNet.Mvc": "6.0.0-beta8", + "Microsoft.AspNet.Mvc.TagHelpers": "6.0.0-beta8", + "Microsoft.AspNet.Server.Kestrel": "1.0.0-beta8", + "Microsoft.AspNet.StaticFiles": "1.0.0-beta8", + "Microsoft.AspNet.Tooling.Razor": "1.0.0-beta8", + "Microsoft.Framework.Configuration.Json": "1.0.0-beta8", + "Microsoft.Framework.Logging": "1.0.0-beta8", + "Microsoft.Framework.Logging.Console": "1.0.0-beta8", + "Microsoft.Framework.Logging.Debug": "1.0.0-beta8", + "Microsoft.AspNet.NodeServices": "1.0.0-alpha1" + }, + "commands": { + "web": "Microsoft.AspNet.Server.Kestrel" + }, + "frameworks": { + "dnx451": {}, + "dnxcore50": {} + }, + "exclude": [ + "wwwroot", + "node_modules", + "bower_components" + ], + "publishExclude": [ + "node_modules", + "bower_components", + "**.xproj", + "**.user", + "**.vspscc" + ], + "scripts": { + "prepublish": [ + "npm install" + ] + } +} \ No newline at end of file diff --git a/samples/misc/ES2015Transpilation/transpilation.js b/samples/misc/ES2015Transpilation/transpilation.js new file mode 100644 index 0000000..785e59b --- /dev/null +++ b/samples/misc/ES2015Transpilation/transpilation.js @@ -0,0 +1,6 @@ +var babelCore = require('babel-core'); + +module.exports = function(cb, fileContents) { + var result = babelCore.transform(fileContents, {}); + cb(null, result.code); +} diff --git a/samples/misc/ES2015Transpilation/wwwroot/favicon.ico b/samples/misc/ES2015Transpilation/wwwroot/favicon.ico new file mode 100755 index 0000000..a3a7999 Binary files /dev/null and b/samples/misc/ES2015Transpilation/wwwroot/favicon.ico differ diff --git a/samples/misc/ES2015Transpilation/wwwroot/js/greeting.js b/samples/misc/ES2015Transpilation/wwwroot/js/greeting.js new file mode 100644 index 0000000..c1142cf --- /dev/null +++ b/samples/misc/ES2015Transpilation/wwwroot/js/greeting.js @@ -0,0 +1,5 @@ +export default class Greeting { + getMessage() { + return 'Hello from the ES2015 class'; + } +} diff --git a/samples/misc/ES2015Transpilation/wwwroot/js/main.js b/samples/misc/ES2015Transpilation/wwwroot/js/main.js new file mode 100644 index 0000000..e9e4e92 --- /dev/null +++ b/samples/misc/ES2015Transpilation/wwwroot/js/main.js @@ -0,0 +1,3 @@ +import Greeting from './greeting.js'; + +console.log(new Greeting().getMessage()); diff --git a/samples/misc/ES2015Transpilation/wwwroot/lib/system.js b/samples/misc/ES2015Transpilation/wwwroot/lib/system.js new file mode 100644 index 0000000..c4dcce0 --- /dev/null +++ b/samples/misc/ES2015Transpilation/wwwroot/lib/system.js @@ -0,0 +1,5 @@ +/* + * SystemJS v0.18.4 + */ +!function(){function e(){!function(e){function t(e,t){var n;if(e instanceof Error){var n=new Error(e.message,e.fileName,e.lineNumber);g?(n.message=e.message+"\n "+t,n.stack=e.stack):(n.message=e.message,n.stack=e.stack+"\n "+t)}else n=e+"\n "+t;return n}function n(e,n,a){try{new Function(e).call(a)}catch(r){throw t(r,"Evaluating "+n)}}function a(){}function r(t){this._loader={loaderObj:this,loads:[],modules:{},importPromises:{},moduleRecords:{}},b(this,"global",{get:function(){return e}})}function o(){r.call(this),this.paths={}}function s(e,t){var n,a="",r=0;for(var o in e){var s=o.split("*");if(s.length>2)throw new TypeError("Only one wildcard in a path is permitted");if(1==s.length){if(t==o){a=o;break}}else{var i=o.split("/").length;i>=r&&t.substr(0,s[0].length)==s[0]&&t.substr(t.length-s[1].length)==s[1]&&(r=i,a=o,n=t.substr(s[0].length,t.length-s[1].length-s[0].length))}}var l=e[a]||t;return n&&(l=l.replace("*",n)),l}function i(){}function l(){o.call(this),k.call(this)}function u(){}function d(e,t){l.prototype[e]=t(l.prototype[e])}function c(e){k=e(k||function(){})}function f(e){for(var t=[],n=0,a=e.length;a>n;n++)-1==x.call(t,e[n])&&t.push(e[n]);return t}function m(e,t,n){for(var a in t)n&&a in e||(e[a]=t[a])}function p(e,t){for(var n=e.split(".");n.length;)t=t[n.shift()];return t}function h(){if(O[this.baseURL])return O[this.baseURL];"/"!=this.baseURL[this.baseURL.length-1]&&(this.baseURL+="/");var e=new _(this.baseURL,w);return this.baseURL=e.href,O[this.baseURL]=e}var v="undefined"==typeof window&&"undefined"!=typeof self&&"undefined"!=typeof importScripts,g="undefined"!=typeof window&&"undefined"!=typeof document,y="undefined"!=typeof process&&!!process.platform.match(/^win/);e.console||(e.console={assert:function(){}});var b,x=Array.prototype.indexOf||function(e){for(var t=0,n=this.length;n>t;t++)if(this[t]===e)return t;return-1};!function(){try{Object.defineProperty({},"a",{})&&(b=Object.defineProperty)}catch(e){b=function(e,t,n){try{e[t]=n.value||n.get.call(e)}catch(a){}}}}();var w;if("undefined"!=typeof document&&document.getElementsByTagName){if(w=document.baseURI,!w){var S=document.getElementsByTagName("base");w=S[0]&&S[0].href||window.location.href}w=w.split("#")[0].split("?")[0],w=w.substr(0,w.lastIndexOf("/")+1)}else if("undefined"!=typeof process&&process.cwd)w="file://"+(y?"/":"")+process.cwd()+"/",y&&(w=w.replace(/\\/g,"/"));else{if("undefined"==typeof location)throw new TypeError("No environment baseURI");w=e.location.href}var _=e.URLPolyfill||e.URL;!function(){function o(e){return{status:"loading",name:e,linkSets:[],dependencies:[],metadata:{}}}function s(e,t,n){return new Promise(c({step:n.address?"fetch":"locate",loader:e,moduleName:t,moduleMetadata:n&&n.metadata||{},moduleSource:n.source,moduleAddress:n.address}))}function i(e,t,n,a){return new Promise(function(r,o){r(e.loaderObj.normalize(t,n,a))}).then(function(t){var n;if(e.modules[t])return n=o(t),n.status="linked",n.module=e.modules[t],n;for(var a=0,r=e.loads.length;r>a;a++)if(n=e.loads[a],n.name==t)return n;return n=o(t),e.loads.push(n),l(e,n),n})}function l(e,t){u(e,t,Promise.resolve().then(function(){return e.loaderObj.locate({name:t.name,metadata:t.metadata})}))}function u(e,t,n){d(e,t,n.then(function(n){return"loading"==t.status?(t.address=n,e.loaderObj.fetch({name:t.name,metadata:t.metadata,address:n})):void 0}))}function d(t,a,r){r.then(function(r){return"loading"==a.status?Promise.resolve(t.loaderObj.translate({name:a.name,metadata:a.metadata,address:a.address,source:r})).then(function(e){return a.source=e,t.loaderObj.instantiate({name:a.name,metadata:a.metadata,address:a.address,source:e})}).then(function(r){if(void 0===r)return a.address=a.address||"",a.isDeclarative=!0,j.call(t.loaderObj,a).then(function(t){var r=e.System,o=r.register;r.register=function(e,t,n){"string"!=typeof e&&(n=t,t=e),a.declare=n,a.depsList=t},n(t,a.address,{}),r.register=o});if("object"!=typeof r)throw TypeError("Invalid instantiate return value");a.depsList=r.deps||[],a.execute=r.execute,a.isDeclarative=!1}).then(function(){a.dependencies=[];for(var e=a.depsList,n=[],r=0,o=e.length;o>r;r++)(function(e,r){n.push(i(t,e,a.name,a.address).then(function(t){if(a.dependencies[r]={key:e,value:t.name},"linked"!=t.status)for(var n=a.linkSets.concat([]),o=0,s=n.length;s>o;o++)m(n[o],t)}))})(e[r],r);return Promise.all(n)}).then(function(){a.status="loaded";for(var e=a.linkSets.concat([]),t=0,n=e.length;n>t;t++)h(e[t],a)}):void 0})["catch"](function(e){a.status="failed",a.exception=e;for(var t=a.linkSets.concat([]),n=0,r=t.length;r>n;n++)v(t[n],a,e)})}function c(e){return function(t,n){var a=e.loader,r=e.moduleName,s=e.step;if(a.modules[r])throw new TypeError('"'+r+'" already exists in the module table');for(var i,c=0,m=a.loads.length;m>c;c++)if(a.loads[c].name==r)return i=a.loads[c],"translate"!=s||i.source||(i.address=e.moduleAddress,d(a,i,Promise.resolve(e.moduleSource))),i.linkSets[0].done.then(function(){t(i)});var p=o(r);p.metadata=e.moduleMetadata;var h=f(a,p);a.loads.push(p),t(h.done),"locate"==s?l(a,p):"fetch"==s?u(a,p,Promise.resolve(e.moduleAddress)):(p.address=e.moduleAddress,d(a,p,Promise.resolve(e.moduleSource)))}}function f(e,t){var n={loader:e,loads:[],startingLoad:t,loadingCount:0};return n.done=new Promise(function(e,t){n.resolve=e,n.reject=t}),m(n,t),n}function m(e,t){for(var n=0,a=e.loads.length;a>n;n++)if(e.loads[n]==t)return;e.loads.push(t),t.linkSets.push(e),"loaded"!=t.status&&e.loadingCount++;for(var r=e.loader,n=0,a=t.dependencies.length;a>n;n++){var o=t.dependencies[n].value;if(!r.modules[o])for(var s=0,i=r.loads.length;i>s;s++)if(r.loads[s].name==o){m(e,r.loads[s]);break}}}function p(e){var t=!1;try{S(e,function(n,a){v(e,n,a),t=!0})}catch(n){v(e,null,n),t=!0}return t}function h(e,t){if(e.loadingCount--,!(e.loadingCount>0)){var n=e.startingLoad;if(e.loader.loaderObj.execute===!1){for(var a=[].concat(e.loads),r=0,o=a.length;o>r;r++){var t=a[r];t.module=t.isDeclarative?{name:t.name,module:M({}),evaluated:!0}:{module:M({})},t.status="linked",g(e.loader,t)}return e.resolve(n)}var s=p(e);s||e.resolve(n)}}function v(e,n,a){var r=e.loader;n?(n&&e.loads[0].name!=n.name&&(a=t(a,"Error loading "+n.name+" from "+e.loads[0].name)),n&&(a=t(a,"Error loading "+n.name))):a=t(a,"Error linking "+e.loads[0].name);for(var o=e.loads.concat([]),s=0,i=o.length;i>s;s++){var n=o[s];r.loaderObj.failed=r.loaderObj.failed||[],-1==x.call(r.loaderObj.failed,n)&&r.loaderObj.failed.push(n);var l=x.call(n.linkSets,e);if(n.linkSets.splice(l,1),0==n.linkSets.length){var u=x.call(e.loader.loads,n);-1!=u&&e.loader.loads.splice(u,1)}}e.reject(a)}function g(e,t){if(e.loaderObj.trace){e.loaderObj.loads||(e.loaderObj.loads={});var n={};t.dependencies.forEach(function(e){n[e.key]=e.value}),e.loaderObj.loads[t.name]={name:t.name,deps:t.dependencies.map(function(e){return e.key}),depMap:n,address:t.address,metadata:t.metadata,source:t.source,kind:t.isDeclarative?"declarative":"dynamic"}}t.name&&(e.modules[t.name]=t.module);var a=x.call(e.loads,t);-1!=a&&e.loads.splice(a,1);for(var r=0,o=t.linkSets.length;o>r;r++)a=x.call(t.linkSets[r].loads,t),-1!=a&&t.linkSets[r].loads.splice(a,1);t.linkSets.splice(0,t.linkSets.length)}function y(e,t,n){try{var r=t.execute()}catch(o){return void n(t,o)}return r&&r instanceof a?r:void n(t,new TypeError("Execution must define a Module instance"))}function w(e,t,n){var a=e._loader.importPromises;return a[t]=n.then(function(e){return a[t]=void 0,e},function(e){throw a[t]=void 0,e})}function S(e,t){var n=e.loader;if(e.loads.length)for(var a=e.loads.concat([]),r=0;rr;r++){var s=e.normalizedDeps[r],i=t.defined[s];if(i&&!i.evaluated){var l=e.groupIndex+(i.declarative!=e.declarative);if(void 0===i.groupIndex||i.groupIndex=0;l--){for(var u=r[l],d=0;da;a++){var o=s.importers[a];if(!o.locked){var l=x.call(o.dependencies,s);o.setters[l](i)}}return s.locked=!1,t});if(s.setters=l.setters,s.execute=l.execute,!s.setters||!s.execute)throw new TypeError("Invalid System.register form for "+t.name);for(var u=0,d=t.normalizedDeps.length;d>u;u++){var c,f=t.normalizedDeps[u],m=n.defined[f],p=a[f];p?c=p.exports:m&&!m.declarative?c=m.esModule:m?(o(m,n),p=m.module,c=p.exports):c=n.get(f),p&&p.importers?(p.importers.push(s),s.dependencies.push(p)):s.dependencies.push(null),s.setters[u]&&s.setters[u](c)}}}function s(e,t){var n,a=t.defined[e];if(a)a.declarative?u(e,[],t):a.evaluated||i(a,t),n=a.module.exports;else if(n=t.get(e),!n)throw new Error("Unable to load dependency "+e+".");return(!a||a.declarative)&&n&&n.__useDefault?n["default"]:n}function i(t,n){if(!t.module){var a={},r=t.module={exports:a,id:t.name};if(!t.executingRequire)for(var o=0,l=t.normalizedDeps.length;l>o;o++){var u=t.normalizedDeps[o],d=n.defined[u];d&&i(d,n)}t.evaluated=!0;var c=t.execute.call(e,function(e){for(var a=0,r=t.deps.length;r>a;a++)if(t.deps[a]==e)return s(t.normalizedDeps[a],n);throw new TypeError("Module "+e+" not declared as a dependency.")},a,r);if(c&&(r.exports=c),a=r.exports,a&&a.__esModule)t.esModule=a;else{if(t.esModule={},"object"==typeof a||"function"==typeof a)if(Object.getOwnPropertyDescriptor){var f;for(var m in a)(f=Object.getOwnPropertyDescriptor(a,m))&&Object.defineProperty(t.esModule,m,f)}else{var p=a&&a.hasOwnProperty;for(var m in a)(!p||a.hasOwnProperty(m))&&(t.esModule[m]=a[m])}t.esModule["default"]=a,b(t.esModule,"__useDefault",{value:!0})}}}function u(t,n,a){var r=a.defined[t];if(r&&!r.evaluated&&r.declarative){n.push(t);for(var o=0,s=r.normalizedDeps.length;s>o;o++){var i=r.normalizedDeps[o];-1==x.call(n,i)&&(a.defined[i]?u(i,n,a):a.get(i))}r.evaluated||(r.evaluated=!0,r.module.execute.call(e))}}var m,p;l.prototype.register=function(e,n,a){return"string"!=typeof e&&(a=n,n=e,e=null),"boolean"==typeof a?this.registerDynamic.apply(this,arguments):void t(this,e,{declarative:!0,deps:n,declare:a})},l.prototype.registerDynamic=function(e,n,a,r){"string"!=typeof e&&(r=a,a=n,n=e,e=null),t(this,e,{declarative:!1,deps:n,execute:r,executingRequire:a})},c(function(e){return function(){e.call(this),this.defined={},this._loader.moduleRecords={}}}),d("onScriptLoad",function(e){return function(t){e.call(this,t),m&&(t.metadata.entry=m),p&&(t.metadata.format=t.metadata.format||"defined",t.metadata.registered=!0,p=!1,m=null)}}),d("delete",function(e){return function(t){return delete this._loader.moduleRecords[t],delete this.defined[t],e.call(this,t)}});var h=/^\s*(\/\*.*\*\/\s*|\/\/[^\n]*\s*)*System\.register(Dynamic)?\s*\(/;d("fetch",function(e){return function(t){return this.defined[t.name]?(t.metadata.format="defined",""):(m=null,p=!1,"register"==t.metadata.format&&(t.metadata.scriptLoad=!0),t.metadata.deps=t.metadata.deps||[],e.call(this,t))}}),d("translate",function(e){return function(t){return Promise.resolve(e.call(this,t)).then(function(e){return"string"==typeof t.metadata.deps&&(t.metadata.deps=t.metadata.deps.split(",")),t.metadata.deps=t.metadata.deps||[],("register"==t.metadata.format||!t.metadata.format&&t.source.match(h))&&(t.metadata.format="register"),e})}}),d("instantiate",function(e){return function(e){var t,n=this;if(n.defined[e.name])t=n.defined[e.name],t.deps=t.deps.concat(e.metadata.deps);else if(e.metadata.entry)t=e.metadata.entry;else if(e.metadata.execute)t={declarative:!1,deps:e.metadata.deps||[],execute:e.metadata.execute,executingRequire:e.metadata.executingRequire};else if(!("register"!=e.metadata.format&&"esm"!=e.metadata.format&&"es6"!=e.metadata.format||(m=null,p=!1,M.call(n,e),m?t=m:e.metadata.bundle=!0,!t&&n.defined[e.name]&&(t=n.defined[e.name]),p||e.metadata.registered)))throw new TypeError(e.name+" detected as System.register but didn't execute.");t||(t={declarative:!1,deps:e.metadata.deps,execute:function(){return n.newModule({})}}),n.defined[e.name]=t,t.deps=f(t.deps),t.name=e.name;for(var r=[],o=0,s=t.deps.length;s>o;o++)r.push(Promise.resolve(n.normalize(t.deps[o],e.name)));return Promise.all(r).then(function(r){return t.normalizedDeps=r,{deps:t.deps,execute:function(){return a(e.name,n),u(e.name,[],n),n.defined[e.name]=void 0,n.newModule(t.declarative?t.module.exports:t.esModule)}}})}})}(),function(){var t=/(^\s*|[}\);\n]\s*)(import\s+(['"]|(\*\s+as\s+)?[^"'\(\)\n;]+\s+from\s+['"]|\{)|export\s+\*\s+from\s+["']|export\s+(\{|default|function|class|var|const|let|async\s+function))/,n=/\$traceurRuntime\s*\./,a=/babelHelpers\s*\./;d("translate",function(r){return function(o){var s=this;return r.call(s,o).then(function(r){if("esm"==o.metadata.format||"es6"==o.metadata.format||!o.metadata.format&&r.match(t))return o.metadata.format="esm",s._loadedTranspiler=s._loadedTranspiler||!1,s.pluginLoader&&(s.pluginLoader._loadedTranspiler=s._loadedTranspiler||!1),R.call(s,o).then(function(e){return o.metadata.sourceMap=void 0,e});if(s._loadedTranspiler===!1&&o.name==s.normalizeSync(s.transpiler)&&(r.length>100&&(o.metadata.format=o.metadata.format||"global","traceur"===s.transpiler&&(o.metadata.exports="traceur"),"typescript"===s.transpiler&&(o.metadata.exports="ts")),s._loadedTranspiler=!0),s._loadedTranspilerRuntime===!1&&(o.name==s.normalizeSync("traceur-runtime")||o.name==s.normalizeSync("babel/external-helpers*"))&&(r.length>100&&(o.metadata.format=o.metadata.format||"global"),s._loadedTranspilerRuntime=!0),"register"==o.metadata.format&&s._loadedTranspilerRuntime!==!0){if(!e.$traceurRuntime&&o.source.match(n))return s._loadedTranspilerRuntime=s._loadedTranspilerRuntime||!1,s["import"]("traceur-runtime").then(function(){return r});if(!e.babelHelpers&&o.source.match(a))return s._loadedTranspilerRuntime=s._loadedTranspilerRuntime||!1,s["import"]("babel/external-helpers").then(function(){return r})}return r})}})}();var T="undefined"!=typeof self?"self":"global";d("onScriptLoad",function(t){return function(n){if("global"==n.metadata.format){n.metadata.registered=!0;var a=p(n.metadata.exports,e);n.metadata.execute=function(){return a}}return t.call(this,n)}}),d("fetch",function(e){return function(t){return t.metadata.exports&&(t.metadata.format="global"),"global"!=t.metadata.format||!t.metadata.exports||t.metadata.globals||t.metadata.deps&&0!=t.metadata.deps.length||(t.metadata.scriptLoad=!0),e.call(this,t)}}),d("instantiate",function(t){return function(n){var a=this;if(n.metadata.format||(n.metadata.format="global"),n.metadata.globals)for(var r in n.metadata.globals)n.metadata.deps.push(n.metadata.globals[r]);return"global"!=n.metadata.format||n.metadata.registered||(n.metadata.execute=function(t,r,o){var s;if(n.metadata.globals){s={};for(var i in n.metadata.globals)s[i]=t(n.metadata.globals[i])}var l=n.metadata.exports,u=a.get("@@global-helpers").prepareGlobal(o.id,l,s);l&&(n.source+="\n"+T+'["'+l+'"] = '+l+";");var d=e.define,c=e.require;return e.define=void 0,e.module=void 0,e.exports=void 0,M.call(a,n),e.require=c,e.define=d,u()}),t.call(this,n)}}),c(function(t){return function(){function n(t){if(Object.keys)Object.keys(e).forEach(t);else for(var n in e)s.call(e,n)&&t(n)}function a(t){n(function(n){if(-1==x.call(i,n)){try{var a=e[n]}catch(r){i.push(n)}t(n,a)}})}var r=this;t.call(r);var o,s=Object.prototype.hasOwnProperty,i=["_g","sessionStorage","localStorage","clipboardData","frames","external"];r.set("@@global-helpers",r.newModule({prepareGlobal:function(t,n,r){var s;if(r){s={};for(var i in r)s[i]=r[i],e[i]=r[i]}return n||(o={},a(function(e,t){o[e]=t})),function(){var t;if(n)t=p(n,e);else{var r,i,l={};a(function(e,t){o[e]!==t&&"undefined"!=typeof t&&(l[e]=t,"undefined"!=typeof r?i||r===t||(i=!0):r=t)}),t=i?l:r}if(s)for(var u in s)e[u]=s[u];return t}}}))}}),function(){function t(e){a.lastIndex=0;var t=[];e.length/e.split("\n").length<200&&(e=e.replace(r,""));for(var n;n=a.exec(e);)t.push(n[1].substr(1,n[1].length-2));return t}var n=/(?:^\uFEFF?|[^$_a-zA-Z\xA0-\uFFFF.]|module\.)exports\s*(\[['"]|\.)|(?:^\uFEFF?|[^$_a-zA-Z\xA0-\uFFFF.])module\.exports\s*[=,]/,a=/(?:^\uFEFF?|[^$_a-zA-Z\xA0-\uFFFF."'])require\s*\(\s*("[^"\\]*(?:\\.[^"\\]*)*"|'[^'\\]*(?:\\.[^'\\]*)*')\s*\)/g,r=/(\/\*([\s\S]*?)\*\/|([^:]|^)\/\/(.*)$)/gm;if("undefined"!=typeof window&&"undefined"!=typeof document&&window.location)var o=location.protocol+"//"+location.hostname+(location.port?":"+location.port:"");c(function(e){return function(){e.call(this),"undefined"!=typeof require&&require.resolve&&"undefined"!=typeof process&&(this._nodeRequire=require)}}),d("instantiate",function(r){return function(s){var i=this;if(s.metadata.format||(n.lastIndex=0,a.lastIndex=0,(a.exec(s.source)||n.exec(s.source))&&(s.metadata.format="cjs")),"cjs"==s.metadata.format){var l=s.metadata.deps||[];s.metadata.deps=l.concat(t(s.source)),s.metadata.executingRequire=!0,s.metadata.execute=function(t,n,a){for(var r=0;r=i)continue;r=s,o=i}r&&(t=this.map[r]+t.substr(r.length))}return e.call(this,t,n,a)}}),d("normalize",function(e){return function(t,n){var a=e.call(this,t,n);return this.has(a)?a:a.match(L)?(this.defaultJSExtensions&&".js"!=a.substr(a.length-3,3)&&(a+=".js"),a):(a=s(this.paths,a)||a,this.defaultJSExtensions&&".js"!=a.substr(a.length-3,3)&&(a+=".js"),"."==a[0]||"/"==a[0]?new _(a,P).href:new _(a,h.call(this)).href)}}),function(){function e(e){for(var t in this.packages)if(e.substr(0,t.length)===t&&(e.length===t.length||"/"===e[t.length]))return t}function t(e,t){var n=e.packages[t];return n.env?e["import"](n.map["@env"]||"@system-env",t).then(function(a){ +var r={};for(var o in n)"map"!==o&"env"!==o&&(r[o]=n[o]);r.map={};for(var o in n.map)r.map[o]=n.map[o];for(var s in n.env)if(a[s]){var i=n.env[s];i.main&&(r.main=i.main);for(var l in i.map)r.map[l]=i.map[l]}return e.packages[t]=r,r}):Promise.resolve(n)}function n(e,t){var n,a=0;for(var r in e)if(t.substr(0,r.length)==r&&(t.length==r.length||"/"==t[r.length])){var o=r.split("/").length;if(a>=o)continue;n=r,a=o}return n?e[n]+t.substr(n.length):void 0}c(function(e){return function(){e.call(this),this.packages={}}}),l.prototype.normalizeSync=l.prototype.normalize,d("normalize",function(a){return function(r,o){if(o)var s=e.call(this,o)||this.defaultJSExtensions&&".js"==o.substr(o.length-3,3)&&e.call(this,o.substr(0,o.length-3));if(s&&"."!==r[0]){var i=this.packages[s].map;i&&(r=n(i,r)||r,"."===r[0]&&(o=s+"/"))}var l=this.defaultJSExtensions&&".js"!=r.substr(r.length-3,3),u=a.call(this,r,o);".js"!=u.substr(u.length-3,3)&&(l=!1),l&&(u=u.substr(0,u.length-3));var d=e.call(this,u);return d?t(this,d).then(function(e){if(d===u&&e.main&&(u+="/"+("./"==e.main.substr(0,2)?e.main.substr(2):e.main)),"/"==u.substr(d.length))return u;var t="";e.meta&&e.meta[u.substr(d.length+1)]||("defaultExtension"in e?e.defaultExtension!==!1&&-1==u.split("/").pop().indexOf(".")&&(t="."+e.defaultExtension):l&&(t=".js"));var a="."+u.substr(d.length),r=n(e.map,a)||t&&n(e.map,a+t);return r?u="./"==r.substr(0,2)?d+r.substr(1):r:u+=t,u}):(l&&(u+=".js"),u)}}),d("locate",function(t){return function(n){var a=this;return Promise.resolve(t.call(this,n)).then(function(t){var r=e.call(a,n.name);if(r){var o=a.packages[r];if(o.format&&(n.metadata.format=n.metadata.format||o.format),o.loader&&(n.metadata.loader=n.metadata.loader||o.loader),o.meta){var s,i={},l=0;for(var u in o.meta)if(s=u.indexOf("*"),-1!==s&&u.substr(0,s)===n.name.substr(0,s)&&u.substr(s+1)===n.name.substr(n.name.length-u.length+s+1)){var d=u.split("/").length;d>l&&(bestDetph=d),m(i,o.meta[u],l!=d)}var c=o.meta[n.name.substr(r.length+1)];c&&m(i,c),i.alias&&"./"==i.alias.substr(0,2)&&(i.alias=r+i.alias.substr(1)),i.loader&&"./"==i.loader.substr(0,2)&&(i.loader=r+i.loader.substr(1)),m(n.metadata,i)}}return t})}})}(),function(){function e(e,t,n,a){var r,o=this;n&&-1!=(r=n.indexOf("!"))&&(n=n.substr(0,r));var s=t.lastIndexOf("!");if(-1!=s){var i=t.substr(0,s),l=t.substr(s+1)||i.substr(i.lastIndexOf(".")+1),u=o.defaultJSExtensions&&".js"!=i.substr(i.length-3,3);return a?(i=o.normalizeSync(i,n),l=o.normalizeSync(l,n),u&&".js"==i.substr(i.length-3,3)&&(i=i.substr(0,i.length-3)),i+"!"+l):Promise.all([o.normalize(i,n),o.normalize(l,n)]).then(function(e){return i=e[0],u&&".js"==i.substr(i.length-3,3)&&(i=i.substr(0,i.length-3)),i+"!"+e[1]})}return e.call(o,t,n)}d("normalize",function(t){return function(n,a){return e.call(this,t,n,a,!1)}}),d("normalizeSync",function(t){return function(n,a){return e.call(this,t,n,a,!0)}}),d("locate",function(e){return function(t){var n=this,a=t.name,r=a.lastIndexOf("!");return-1!=r&&(t.metadata.loader=a.substr(r+1),t.name=a.substr(0,r)),e.call(n,t).then(function(e){var r=t.metadata.loader;if(!r)return e;if(n.defined&&n.defined[a])return e;var o=n.pluginLoader||n;return o["import"](r).then(function(r){return t.metadata.loaderModule=r,t.metadata.loaderArgument=a,t.address=e,r.locate?r.locate.call(n,t):e})})}}),d("fetch",function(e){return function(t){var n=this;return t.metadata.loaderModule&&t.metadata.loaderModule.fetch?(t.metadata.scriptLoad=!1,t.metadata.loaderModule.fetch.call(n,t,function(t){return e.call(n,t)})):e.call(n,t)}}),d("translate",function(e){return function(t){var n=this;return t.metadata.loaderModule&&t.metadata.loaderModule.translate?Promise.resolve(t.metadata.loaderModule.translate.call(n,t)).then(function(a){return"string"==typeof a&&(t.source=a),e.call(n,t)}):e.call(n,t)}}),d("instantiate",function(e){return function(t){var n=this;return t.metadata.loaderModule&&t.metadata.loaderModule.instantiate?Promise.resolve(t.metadata.loaderModule.instantiate.call(n,t)).then(function(a){return t.metadata.format="defined",t.metadata.execute=function(){return a},e.call(n,t)}):e.call(n,t)}})}(),function(){d("fetch",function(e){return function(t){var n=t.metadata.alias;return n?(t.metadata.format="defined",this.defined[t.name]={declarative:!0,deps:[n],declare:function(e){return{setters:[function(t){for(var n in t)e(n,t[n])}],execute:function(){}}}},""):e.call(this,t)}})}(),function(){function e(e,t,n){for(var a,r=t.split(".");r.length>1;)a=r.shift(),e=e[a]=e[a]||{};a=r.shift(),a in e||(e[a]=n)}c(function(e){return function(){this.meta={},e.call(this)}}),d("locate",function(e){return function(t){var n,a=this.meta,r=t.name,o=0;for(var s in a)if(n=x.call(s,"*"),-1!==n&&s.substr(0,n)===r.substr(0,n)&&s.substr(n+1)===r.substr(r.length-s.length+n+1)){var i=s.split("/").length;i>o&&(bestDetph=i),m(t.metadata,a[s],o!=i)}return a[r]&&m(t.metadata,a[r]),e.call(this,t)}});var t=/^(\s*\/\*.*\*\/|\s*\/\/[^\n]*|\s*"[^"]+"\s*;?|\s*'[^']+'\s*;?)+/,n=/\/\*.*\*\/|\/\/[^\n]*|"[^"]+"\s*;?|'[^']+'\s*;?/g;d("translate",function(a){return function(r){var o=r.source.match(t);if(o)for(var s=o[0].match(n),i=0;i')}else if("undefined"!=typeof importScripts){var o="";try{throw new Error("_")}catch(n){n.stack.replace(/(?:at|@).*(http.+):[\d]+:[\d]+/,function(e,t){o=t.replace(/\/[^\/]*$/,"/")})}importScripts(o+"system-polyfills.js"),e()}else e()}(); diff --git a/samples/misc/ES2015Transpilation/wwwroot/web.config b/samples/misc/ES2015Transpilation/wwwroot/web.config new file mode 100644 index 0000000..db6e6f4 --- /dev/null +++ b/samples/misc/ES2015Transpilation/wwwroot/web.config @@ -0,0 +1,9 @@ + + + + + + + + +