mirror of
https://github.com/shimataro/ssh-key-action.git
synced 2025-06-19 22:52:10 +10:00
* first action! (#1)
This commit is contained in:
parent
8deacc95b1
commit
ace1e6a69a
3750 changed files with 1155519 additions and 0 deletions
216
node_modules/rc-config-loader/lib/rc-config-loader.js
generated
vendored
Normal file
216
node_modules/rc-config-loader/lib/rc-config-loader.js
generated
vendored
Normal file
|
@ -0,0 +1,216 @@
|
|||
// MIT © 2017 azu
|
||||
// MIT © Zoltan Kochan
|
||||
// Original https://github.com/zkochan/rcfile
|
||||
"use strict";
|
||||
|
||||
function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
|
||||
|
||||
var path = require("path");
|
||||
|
||||
var debug = require("debug")("rc-config-loader");
|
||||
|
||||
var requireFromString = require("require-from-string");
|
||||
|
||||
var JSON5 = require("json5");
|
||||
|
||||
var fs = require("fs");
|
||||
|
||||
var pathExists = require("path-exists");
|
||||
|
||||
var objectAssign = require("object-assign");
|
||||
|
||||
var keys = require("object-keys");
|
||||
|
||||
var defaultLoaderByExt = {
|
||||
".js": loadJSConfigFile,
|
||||
".json": loadJSONConfigFile,
|
||||
".yaml": loadYAMLConfigFile,
|
||||
".yml": loadYAMLConfigFile
|
||||
};
|
||||
var defaultOptions = {
|
||||
// does look for `package.json`
|
||||
packageJSON: false,
|
||||
// treat default(no ext file) as some extension
|
||||
defaultExtension: [".json", ".yaml", ".yml", ".js"],
|
||||
cwd: process.cwd()
|
||||
};
|
||||
/**
|
||||
* @param {string} pkgName
|
||||
* @param {rcConfigLoaderOption} [opts]
|
||||
* @returns {{ config: Object, filePath:string } | undefined}
|
||||
*/
|
||||
|
||||
module.exports = function rcConfigLoader(pkgName) {
|
||||
var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
||||
// path/to/config or basename of config file.
|
||||
var configFileName = opts.configFileName || ".".concat(pkgName, "rc");
|
||||
var defaultExtension = opts.defaultExtension || defaultOptions.defaultExtension;
|
||||
var cwd = opts.cwd || defaultOptions.cwd;
|
||||
var packageJSON = opts.packageJSON || defaultOptions.packageJSON;
|
||||
var packageJSONFieldName = _typeof(packageJSON) === "object" ? packageJSON.fieldName : pkgName;
|
||||
var parts = splitPath(cwd);
|
||||
var loaders = Array.isArray(defaultExtension) ? defaultExtension.map(function (extension) {
|
||||
return defaultLoaderByExt[extension];
|
||||
}) : defaultLoaderByExt[defaultExtension];
|
||||
var loaderByExt = objectAssign({}, defaultLoaderByExt, {
|
||||
"": loaders
|
||||
});
|
||||
return findConfig({
|
||||
parts: parts,
|
||||
loaderByExt: loaderByExt,
|
||||
configFileName: configFileName,
|
||||
packageJSON: packageJSON,
|
||||
packageJSONFieldName: packageJSONFieldName
|
||||
});
|
||||
};
|
||||
/**
|
||||
*
|
||||
* @param {string[]} parts
|
||||
* @param {Object} loaderByExt
|
||||
* @param {string} configFileName
|
||||
* @param {boolean|Object} packageJSON
|
||||
* @param {string} packageJSONFieldName
|
||||
* @returns {{
|
||||
* config: string,
|
||||
* filePath: string
|
||||
* }|undefined}
|
||||
*/
|
||||
|
||||
|
||||
function findConfig(_ref) {
|
||||
var parts = _ref.parts,
|
||||
loaderByExt = _ref.loaderByExt,
|
||||
configFileName = _ref.configFileName,
|
||||
packageJSON = _ref.packageJSON,
|
||||
packageJSONFieldName = _ref.packageJSONFieldName;
|
||||
var exts = keys(loaderByExt);
|
||||
|
||||
while (exts.length) {
|
||||
var ext = exts.shift();
|
||||
var configLocation = join(parts, configFileName + ext);
|
||||
|
||||
if (!pathExists.sync(configLocation)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
var loaders = loaderByExt[ext];
|
||||
|
||||
if (!Array.isArray(loaders)) {
|
||||
var loader = loaders;
|
||||
var result = loader(configLocation);
|
||||
|
||||
if (!result) {
|
||||
continue;
|
||||
}
|
||||
|
||||
return {
|
||||
config: result,
|
||||
filePath: configLocation
|
||||
};
|
||||
}
|
||||
|
||||
for (var i = 0; i < loaders.length; i++) {
|
||||
var _loader = loaders[i];
|
||||
|
||||
var _result = _loader(configLocation, true);
|
||||
|
||||
if (!_result) {
|
||||
continue;
|
||||
}
|
||||
|
||||
return {
|
||||
config: _result,
|
||||
filePath: configLocation
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
if (packageJSON) {
|
||||
var pkgJSONLoc = join(parts, "package.json");
|
||||
|
||||
if (pathExists.sync(pkgJSONLoc)) {
|
||||
var pkgJSON = require(pkgJSONLoc);
|
||||
|
||||
if (pkgJSON[packageJSONFieldName]) {
|
||||
return {
|
||||
config: pkgJSON[packageJSONFieldName],
|
||||
filePath: pkgJSONLoc
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (parts.pop()) {
|
||||
return findConfig({
|
||||
parts: parts,
|
||||
loaderByExt: loaderByExt,
|
||||
configFileName: configFileName,
|
||||
packageJSON: packageJSON,
|
||||
packageJSONFieldName: packageJSONFieldName
|
||||
});
|
||||
}
|
||||
|
||||
return undefined;
|
||||
}
|
||||
|
||||
function splitPath(x) {
|
||||
return path.resolve(x || "").split(path.sep);
|
||||
}
|
||||
|
||||
function join(parts, filename) {
|
||||
return path.resolve(parts.join(path.sep) + path.sep, filename);
|
||||
}
|
||||
|
||||
function loadJSConfigFile(filePath, suppress) {
|
||||
debug("Loading JavaScript config file: ".concat(filePath));
|
||||
|
||||
try {
|
||||
var content = fs.readFileSync(filePath, "utf-8");
|
||||
return requireFromString(content, filePath);
|
||||
} catch (e) {
|
||||
debug("Error reading JavaScript file: ".concat(filePath));
|
||||
|
||||
if (!suppress) {
|
||||
e.message = "Cannot read config file: ".concat(filePath, "\nError: ").concat(e.message);
|
||||
throw e;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function loadJSONConfigFile(filePath, suppress) {
|
||||
debug("Loading JSON config file: ".concat(filePath));
|
||||
|
||||
try {
|
||||
return JSON5.parse(readFile(filePath));
|
||||
} catch (e) {
|
||||
debug("Error reading JSON file: ".concat(filePath));
|
||||
|
||||
if (!suppress) {
|
||||
e.message = "Cannot read config file: ".concat(filePath, "\nError: ").concat(e.message);
|
||||
throw e;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function readFile(filePath) {
|
||||
return fs.readFileSync(filePath, "utf8");
|
||||
}
|
||||
|
||||
function loadYAMLConfigFile(filePath, suppress) {
|
||||
debug("Loading YAML config file: ".concat(filePath)); // lazy load YAML to improve performance when not used
|
||||
|
||||
var yaml = require("js-yaml");
|
||||
|
||||
try {
|
||||
// empty YAML file can be null, so always use
|
||||
return yaml.safeLoad(readFile(filePath)) || {};
|
||||
} catch (e) {
|
||||
debug("Error reading YAML file: ".concat(filePath));
|
||||
|
||||
if (!suppress) {
|
||||
e.message = "Cannot read config file: ".concat(filePath, "\nError: ").concat(e.message);
|
||||
throw e;
|
||||
}
|
||||
}
|
||||
}
|
||||
//# sourceMappingURL=rc-config-loader.js.map
|
Loading…
Add table
Add a link
Reference in a new issue