diff --git a/lib/bin.js b/lib/bin.js old mode 100644 new mode 100755 diff --git a/lib/core-filemap-with-aliases.js b/lib/core-filemap-with-aliases.js index ed04cd3..e15d680 100644 --- a/lib/core-filemap-with-aliases.js +++ b/lib/core-filemap-with-aliases.js @@ -29,9 +29,9 @@ class FilemapWithAliases extends Filemap { const right = foldLevels(path.relative(this.wd, abspath)) const middle = middleRight.substring(0, middleRight.lastIndexOf(right)) - const alias = `/~${hash(middle)}` // think of a more readable solution + const alias = `/~${hash(middle)}` // todo a readable solution if (!this.aliases.has(alias)) { - const base = path.join(this.wd, middle.substring(0, middle.length - path.sep.length)) + const base = path.join(this.packageScope, middle.substring(0, middle.length - path.sep.length)) this.aliases.set(alias, base) } diff --git a/lib/core-processing-with-cache.js b/lib/core-processing-with-cache.js index ddefb4f..dc84538 100644 --- a/lib/core-processing-with-cache.js +++ b/lib/core-processing-with-cache.js @@ -42,9 +42,10 @@ class ProcessingWithCache extends Processing { const mtime = new Date(stats.mtime).getTime() if (this._isValid(meta, mtime)) { - meta.dependencies.forEach(url => - this.child(url, { captureDependency: true }) - ) + meta.dependencies.forEach(url => { + // add dependency to the list and build alias + this.child(url, { captureDependency: true }).publicUrl() + }) return [fs.createReadStream(this.fileStorage.getPath(key))] } diff --git a/lib/core-urlmap-with-aliases.js b/lib/core-urlmap-with-aliases.js index 39bdd1e..2104837 100644 --- a/lib/core-urlmap-with-aliases.js +++ b/lib/core-urlmap-with-aliases.js @@ -21,9 +21,11 @@ class UrlmapWithAliases extends Urlmap { assert(typeof referer === 'string') if (isAlias.test(url)) { - const alias = url.substring(0, url.indexOf('/', 1)) + const offset = url.startsWith('./') ? 1 : 0 + const alias = url.substring(offset, url.indexOf('/', offset + 1)) + if (this.aliases.has(alias)) { - url = path.join(this.aliases.get(alias), url.substring(alias.length + 1)) + url = path.join(this.aliases.get(alias), url.substring(offset + alias.length + 1)) const options = { extensions: this.extensions } return resolveUrl(url, referer, options) diff --git a/package.json b/package.json index 1a88e68..7c62da1 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "under-the-wave", - "version": "1.3.1", + "version": "1.3.2", "bin": { "under-the-wave": "./lib/bin.js", "wave": "./lib/bin.js"