Skip to content

Commit

Permalink
[Fix] Prevent build from breaking when .scss file is empty (#1193)
Browse files Browse the repository at this point in the history
  • Loading branch information
Chris Hayes authored and devongovett committed Apr 24, 2018
1 parent 18d795f commit 512d680
Show file tree
Hide file tree
Showing 8 changed files with 64 additions and 2 deletions.
2 changes: 1 addition & 1 deletion packages/core/parcel-bundler/src/assets/LESSAsset.js
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ class LESSAsset extends Asset {
return [
{
type: 'css',
value: this.ast.css,
value: this.ast ? this.ast.css : '',
hasDependencies: false
}
];
Expand Down
2 changes: 1 addition & 1 deletion packages/core/parcel-bundler/src/assets/SASSAsset.js
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ class SASSAsset extends Asset {
return [
{
type: 'css',
value: this.ast.css.toString(),
value: this.ast ? this.ast.css.toString() : '',
hasDependencies: false
}
];
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
require('./index.less');

module.exports = function () {
return 2;
};
Empty file.
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
require('./index.scss');

module.exports = function () {
return 2;
};
Empty file.
26 changes: 26 additions & 0 deletions packages/core/parcel-bundler/test/less.js
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,32 @@ describe('less', function() {
assert(css.includes('.base'));
});

it('should support requiring empty less files', async function() {
let b = await bundle(__dirname + '/integration/less-empty/index.js');

assertBundleTree(b, {
name: 'index.js',
assets: ['index.js', 'index.less'],
childBundles: [
{
type: 'map'
},
{
name: 'index.css',
assets: ['index.less'],
childBundles: []
}
]
});

let output = run(b);
assert.equal(typeof output, 'function');
assert.equal(output(), 2);

let css = fs.readFileSync(__dirname + '/dist/index.css', 'utf8');
assert.equal(css, '');
});

it('should support linking to assets with url() from less', async function() {
let b = await bundle(__dirname + '/integration/less-url/index.js');

Expand Down
26 changes: 26 additions & 0 deletions packages/core/parcel-bundler/test/sass.js
Original file line number Diff line number Diff line change
Expand Up @@ -82,6 +82,32 @@ describe('sass', function() {
assert(css.includes('.base'));
});

it('should support requiring empty scss files', async function() {
let b = await bundle(__dirname + '/integration/scss-empty/index.js');

assertBundleTree(b, {
name: 'index.js',
assets: ['index.js', 'index.scss'],
childBundles: [
{
type: 'map'
},
{
name: 'index.css',
assets: ['index.scss'],
childBundles: []
}
]
});

let output = run(b);
assert.equal(typeof output, 'function');
assert.equal(output(), 2);

let css = fs.readFileSync(__dirname + '/dist/index.css', 'utf8');
assert.equal(css, '');
});

it('should support linking to assets with url() from scss', async function() {
let b = await bundle(__dirname + '/integration/scss-url/index.js');

Expand Down

0 comments on commit 512d680

Please sign in to comment.