Skip to content

Commit 2bc6ed9

Browse files
fathybdevongovett
authored andcommitted
Fix generating names when outside of the entry directory (#1206)
1 parent cae25f6 commit 2bc6ed9

7 files changed

Lines changed: 36 additions & 2 deletions

File tree

src/Bundle.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -142,7 +142,7 @@ class Bundle {
142142
Path.dirname(entryAsset.name)
143143
),
144144
name + ext
145-
);
145+
).replace(/\.\.(\/|\\)/g, '__$1');
146146
}
147147

148148
// If this is an index file, use the parent directory name instead
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
import '../b/nested'
2+
3+
navigator.serviceWorker.register('../b/worker-outside.js');
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
navigator.serviceWorker.register('worker-nested.js', { scope: './' });
File renamed without changes.
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
self.addEventListener('message', () => {});

test/integration/service-worker/index.js

Lines changed: 0 additions & 1 deletion
This file was deleted.

test/javascript.js

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -220,6 +220,36 @@ describe('javascript', function() {
220220
});
221221
});
222222

223+
it('should support bundling service-workers', async function() {
224+
let b = await bundle(__dirname + '/integration/service-worker/a/index.js');
225+
226+
assertBundleTree(b, {
227+
name: 'index.js',
228+
assets: ['index.js', 'index.js'],
229+
childBundles: [
230+
{
231+
type: 'map'
232+
},
233+
{
234+
assets: ['worker-nested.js'],
235+
childBundles: [
236+
{
237+
type: 'map'
238+
}
239+
]
240+
},
241+
{
242+
assets: ['worker-outside.js'],
243+
childBundles: [
244+
{
245+
type: 'map'
246+
}
247+
]
248+
}
249+
]
250+
});
251+
});
252+
223253
it('should dynamic import files which import raw files', async function() {
224254
let b = await bundle(
225255
__dirname + '/integration/dynamic-references-raw/index.js'

0 commit comments

Comments
 (0)