From 4b8a8dc97706ebc1b42ef5d26e8d24dc212fd9ca Mon Sep 17 00:00:00 2001 From: Sven Slootweg Date: Sun, 20 May 2018 19:07:56 +0200 Subject: [PATCH] Initial commit --- .gitignore | 1 + README.md | 3 +++ index.js | 14 ++++++++++++++ package-lock.json | 26 ++++++++++++++++++++++++++ package.json | 23 +++++++++++++++++++++++ 5 files changed, 67 insertions(+) create mode 100644 .gitignore create mode 100644 README.md create mode 100644 index.js create mode 100644 package-lock.json create mode 100644 package.json diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..3c3629e --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +node_modules diff --git a/README.md b/README.md new file mode 100644 index 0000000..78cfc73 --- /dev/null +++ b/README.md @@ -0,0 +1,3 @@ +# webpack-preset-loader + +Documentation coming soon. diff --git a/index.js b/index.js new file mode 100644 index 0000000..21b04fc --- /dev/null +++ b/index.js @@ -0,0 +1,14 @@ +"use strict"; + +const deepmerge = require("deepmerge"); +const isPlainObject = require("is-plain-object"); + +module.exports = function loadPresets(presets, customConfiguration) { + let config = deepmerge.all([customConfiguration].concat(presets), { + isMergeableObject: function (obj) { + return (isPlainObject(obj) || Array.isArray(obj)); + } + }); + + return config; +}; diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..89734ad --- /dev/null +++ b/package-lock.json @@ -0,0 +1,26 @@ +{ + "name": "webpack-preset-loader", + "version": "1.0.0", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "deepmerge": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-2.1.0.tgz", + "integrity": "sha512-Q89Z26KAfA3lpPGhbF6XMfYAm3jIV3avViy6KOJ2JLzFbeWHOvPQUu5aSJIWXap3gDZC2y1eF5HXEPI2wGqgvw==" + }, + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "requires": { + "isobject": "^3.0.1" + } + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..2678cdd --- /dev/null +++ b/package.json @@ -0,0 +1,23 @@ +{ + "name": "webpack-preset-loader", + "version": "1.0.0", + "description": "A tool for using Webpack presets", + "main": "index.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "repository": { + "type": "git", + "url": "git@git.cryto.net:joepie91/node-webpack-preset-loader.git" + }, + "keywords": [ + "webpack", + "preset" + ], + "author": "Sven Slootweg ", + "license": "WTFPL", + "dependencies": { + "deepmerge": "^2.1.0", + "is-plain-object": "^2.0.4" + } +}