json-import-loader
Advanced tools
Comparing version 1.1.1 to 1.2.0
@@ -1,2 +0,2 @@ | ||
export default function loadData(contentPath: any, options?: {}): any; | ||
export declare function load(contentPath: any, options: any): string; | ||
export declare function getData(contentPath: string, options?: { | ||
@@ -7,2 +7,2 @@ resolvers?: { | ||
}): any; | ||
export declare function load(contentPath: any, options: any): string; | ||
export default function loadData(contentPath: any, options?: {}): any; |
@@ -6,14 +6,10 @@ "use strict"; | ||
exports.__esModule = true; | ||
exports.load = load; | ||
exports.getData = getData; | ||
exports.default = loadData; | ||
exports.getData = getData; | ||
exports.load = load; | ||
require("core-js/modules/es6.regexp.replace"); | ||
require("core-js/modules/es6.array.find"); | ||
require("core-js/modules/es7.array.includes"); | ||
require("core-js/modules/es6.string.includes"); | ||
require("core-js/modules/es6.regexp.replace"); | ||
var _path = _interopRequireDefault(require("path")); | ||
@@ -23,16 +19,7 @@ | ||
function loadData(contentPath, options) { | ||
if (options === void 0) { | ||
options = {}; | ||
} | ||
return JSON.parse(getData(contentPath, options)); | ||
} | ||
function getData(contentPath, options) { | ||
// find all import occurrences and replace with the actual content | ||
return load(contentPath, options).replace(/"import!(.*?)"/gi, function (_, group) { | ||
return (// recursion is supported | ||
getData(_path.default.resolve(__dirname, _path.default.dirname(contentPath), group), options) | ||
); | ||
function resolvePath(contentPath, options) { | ||
return ['json', 'js'].concat(options.resolvers && Object.keys(options.resolvers) || []).map(function (extension) { | ||
return contentPath + "." + extension; | ||
}).find(function (path) { | ||
return _fs.default.existsSync(path); | ||
}); | ||
@@ -52,6 +39,10 @@ } | ||
} | ||
} | ||
if (extension === 'json') { | ||
return _fs.default.readFileSync(contentPath, 'utf8'); | ||
} // use normal require | ||
if (['json', 'js'].includes(extension)) { | ||
if (extension === 'js') { | ||
var result = require(contentPath); // if js export was a function, execute it and use the result | ||
@@ -81,3 +72,3 @@ | ||
return JSON.stringify(_result); | ||
return JSON.stringify(_result) || ''; | ||
} | ||
@@ -88,8 +79,18 @@ | ||
function resolvePath(contentPath, options) { | ||
return ['json', 'js'].concat(options.resolvers && Object.keys(options.resolvers) || []).map(function (extension) { | ||
return contentPath + "." + extension; | ||
}).find(function (path) { | ||
return _fs.default.existsSync(path); | ||
function getData(contentPath, options) { | ||
// find all import occurrences and replace with the actual content | ||
return load(contentPath, options).replace(/"import!(.*?)"/gi, function (_, group) { | ||
return (// recursion is supported | ||
getData(_path.default.resolve(__dirname, _path.default.dirname(contentPath), group), options) | ||
); | ||
}); | ||
} | ||
function loadData(contentPath, options) { | ||
if (options === void 0) { | ||
options = {}; | ||
} | ||
var data = getData(contentPath, options); | ||
return data ? JSON.parse(data) : {}; | ||
} |
{ | ||
"name": "json-import-loader", | ||
"version": "1.1.1", | ||
"version": "1.2.0", | ||
"description": "Allows import files into a json file, contains webpack-loader and node API.", | ||
@@ -5,0 +5,0 @@ "main": "./index.js", |
@@ -39,2 +39,4 @@ # json-import-loader | ||
**Note:** When used on an empty file, it will return an empty object. | ||
### Inline | ||
@@ -41,0 +43,0 @@ |
220784
113
211