diff --git a/demo/index.html b/demo/index.html index 0a9f646..38c23e2 100644 --- a/demo/index.html +++ b/demo/index.html @@ -13,6 +13,7 @@ paths: { es6: '../es6', babel: '../node_modules/@babel/standalone/babel.min', + 'lit-html': '../node_modules/lit-html', 'babel-plugin-module-resolver': '../node_modules/babel-plugin-module-resolver-standalone/index' } }); diff --git a/demo/src/class.js b/demo/src/class.js index 22ff7ce..b76007b 100644 --- a/demo/src/class.js +++ b/demo/src/class.js @@ -1,6 +1,5 @@ -import sum from 'src/sum'; - -console.log( sum(1,2) ); +import sum from './sub/sum'; +import {html, render} from 'lit-html/lit-html'; class A { constructor(a) { @@ -9,3 +8,6 @@ class A { } new A('world!'); + +var h = "Hello", w = "world"; +render(html`${h} ${w}, 1 + 2 = ${sum(1,2)}!`, document.body); diff --git a/demo/src/sub/sum.js b/demo/src/sub/sum.js new file mode 100644 index 0000000..3aa83b1 --- /dev/null +++ b/demo/src/sub/sum.js @@ -0,0 +1,2 @@ +import sum from './sum2'; +export default (a, b) => sum(a, b); \ No newline at end of file diff --git a/demo/src/sum.js b/demo/src/sub/sum2.js similarity index 100% rename from demo/src/sum.js rename to demo/src/sub/sum2.js diff --git a/es6.js b/es6.js index 060d7a9..d0aa16d 100644 --- a/es6.js +++ b/es6.js @@ -37,9 +37,12 @@ define([ babel.registerPlugin('module-resolver', moduleResolver); - function resolvePath (sourcePath) { + function resolvePath (sourcePath, currentFile) { if (sourcePath.indexOf('!') < 0) { - return 'es6!' + sourcePath; + // If sourcePath is relative (ex: "./foo"), it's relative to currentFile. + var absSourcePath = /^\.?\.\//.test(sourcePath) ? currentFile.replace(/[^/]*$/, "") + sourcePath : + sourcePath; + return 'es6!' + absSourcePath; } } var excludedOptions = ['extraPlugins', 'resolveModuleSource']; @@ -66,7 +69,7 @@ define([ return { //>>excludeStart('excludeBabel', pragmas.excludeBabel) load: function (name, req, onload, config) { - var sourceFileName = name + fileExtension; + var sourceFileName = /\./.test(name) ? name : name + fileExtension; var url = req.toUrl(sourceFileName); if (url.indexOf('empty:') === 0) { @@ -92,7 +95,7 @@ return { _buildMap[name] = code; } - onload.fromText(code); + onload.fromText(code); }); }, diff --git a/package-lock.json b/package-lock.json index 216f300..a2db110 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1684,6 +1684,11 @@ "dev": true, "optional": true }, + "lit-html": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/lit-html/-/lit-html-1.1.2.tgz", + "integrity": "sha512-FFlUMKHKi+qG1x1iHNZ1hrtc/zHmfYTyrSvs3/wBTvaNtpZjOZGWzU7efGYVpgp6KvWeKF6ql9/KsCq6Z/mEDA==" + }, "lodash": { "version": "4.17.11", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", diff --git a/package.json b/package.json index 3526f7f..cdc9d5e 100644 --- a/package.json +++ b/package.json @@ -26,5 +26,8 @@ "@babel/standalone": "7.4.2", "babel-plugin-module-resolver-standalone": "0.0.1", "requirejs": "^2.3.6" + }, + "dependencies": { + "lit-html": "^1.1.2" } }