Skip to content
This repository was archived by the owner on Jul 9, 2025. It is now read-only.

Commit c0eecec

Browse files
docs: example shows how to connect modernizr (#51)
1 parent ae6977e commit c0eecec

File tree

6 files changed

+344
-0
lines changed

6 files changed

+344
-0
lines changed

README.md

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -270,6 +270,63 @@ import { default as figlet } from './figlet.js';
270270
console.log(figlet);
271271
```
272272

273+
### Modernizr
274+
275+
Example shows how to build [`modernizr`](https://www.npmjs.com/package/modernizr)
276+
277+
**src/modernizr.js**
278+
279+
```js
280+
const modernizr = require('modernizr');
281+
282+
module.exports = function(options) {
283+
return new Promise(function(resolve) {
284+
// It is impossible to throw an error because modernizr causes the process.exit(1)
285+
modernizr.build(options, function(output) {
286+
resolve({
287+
cacheable: true,
288+
code: `var modernizr; var hadGlobal = 'Modernizr' in window; var oldGlobal = window.Modernizr; ${output} modernizr = window.Modernizr; if (hadGlobal) { window.Modernizr = oldGlobal; } else { delete window.Modernizr; } export default modernizr;`,
289+
});
290+
});
291+
});
292+
};
293+
```
294+
295+
**webpack.config.js**
296+
297+
```js
298+
const path = require('path');
299+
module.exports = {
300+
module: {
301+
rules: [
302+
{
303+
test: path.resolve(__dirname, 'src', 'modernizr.js'),
304+
use: [
305+
{
306+
loader: 'val-loader',
307+
options: {
308+
minify: false,
309+
options: ['setClasses'],
310+
'feature-detects': [
311+
'test/css/flexbox',
312+
'test/es6/promises',
313+
'test/serviceworker',
314+
],
315+
},
316+
},
317+
],
318+
},
319+
],
320+
},
321+
};
322+
```
323+
324+
**src/entry.js**
325+
326+
```js
327+
import modenizr from './modernizr.js';
328+
```
329+
273330
## Contributing
274331

275332
Please take a moment to read our contributing guidelines if you haven't yet done so.

package-lock.json

Lines changed: 236 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,7 @@
6767
"jest-junit": "^10.0.0",
6868
"lint-staged": "^9.5.0",
6969
"memfs": "^3.0.1",
70+
"modernizr": "^3.10.0",
7071
"npm-run-all": "^4.1.5",
7172
"prettier": "^1.19.1",
7273
"standard-version": "^7.0.1",

test/__snapshots__/loader.test.js.snap

Lines changed: 16 additions & 0 deletions
Large diffs are not rendered by default.

test/fixtures/presets/modernizr.js

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
const modernizr = require("modernizr");
2+
3+
module.exports = function(options) {
4+
return new Promise(function(resolve) {
5+
// It is impossible to throw an error because modernizr causes the process.exit(1)
6+
modernizr.build(options, function(output) {
7+
resolve({
8+
cacheable: true,
9+
code: `var modernizr; var hadGlobal = 'Modernizr' in window; var oldGlobal = window.Modernizr; ${output} modernizr = window.Modernizr; if (hadGlobal) { window.Modernizr = oldGlobal; } else { delete window.Modernizr; } export default modernizr;`
10+
});
11+
});
12+
});
13+
};

0 commit comments

Comments
 (0)