Add .gitignore to exclude all node packages and lock files
This commit is contained in:
+54
@@ -0,0 +1,54 @@
|
||||
"use strict";
|
||||
var __importDefault = (this && this.__importDefault) || function (mod) {
|
||||
return (mod && mod.__esModule) ? mod : { "default": mod };
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.getInputProps = void 0;
|
||||
const node_fs_1 = __importDefault(require("node:fs"));
|
||||
const node_os_1 = __importDefault(require("node:os"));
|
||||
const node_path_1 = __importDefault(require("node:path"));
|
||||
const log_1 = require("./log");
|
||||
const parsed_cli_1 = require("./parsed-cli");
|
||||
const getInputProps = (onUpdate, logLevel) => {
|
||||
if (!parsed_cli_1.parsedCli.props) {
|
||||
return {};
|
||||
}
|
||||
const jsonFile = node_path_1.default.resolve(process.cwd(), parsed_cli_1.parsedCli.props);
|
||||
try {
|
||||
if (node_fs_1.default.existsSync(jsonFile)) {
|
||||
const rawJsonData = node_fs_1.default.readFileSync(jsonFile, 'utf-8');
|
||||
if (onUpdate) {
|
||||
node_fs_1.default.watchFile(jsonFile, { interval: 100 }, () => {
|
||||
try {
|
||||
onUpdate(JSON.parse(node_fs_1.default.readFileSync(jsonFile, 'utf-8')));
|
||||
log_1.Log.info({ indent: false, logLevel }, `Updated input props from ${jsonFile}.`);
|
||||
}
|
||||
catch (_a) {
|
||||
log_1.Log.error({ indent: false, logLevel }, `${jsonFile} contains invalid JSON. Did not apply new input props.`);
|
||||
}
|
||||
});
|
||||
}
|
||||
return JSON.parse(rawJsonData);
|
||||
}
|
||||
return JSON.parse(parsed_cli_1.parsedCli.props);
|
||||
}
|
||||
catch (_a) {
|
||||
log_1.Log.error({ indent: false, logLevel }, 'You passed --props but it was neither valid JSON nor a file path to a valid JSON file. Provided value: ' +
|
||||
parsed_cli_1.parsedCli.props);
|
||||
log_1.Log.info({ indent: false, logLevel }, 'Got the following value:', parsed_cli_1.parsedCli.props);
|
||||
log_1.Log.error({ indent: false, logLevel }, 'Check that your input is parseable using `JSON.parse` and try again.');
|
||||
if (node_os_1.default.platform() === 'win32') {
|
||||
const logOptions = {
|
||||
indent: false,
|
||||
logLevel,
|
||||
};
|
||||
log_1.Log.warn(logOptions, 'Note: Windows handles escaping of quotes very weirdly in the command line.');
|
||||
log_1.Log.warn(logOptions, 'This might have led to you having this problem.');
|
||||
log_1.Log.warn(logOptions, 'Consider using the alternative API for --props which is to pass');
|
||||
log_1.Log.warn(logOptions, 'a path to a JSON file:');
|
||||
log_1.Log.warn(logOptions, ' --props=path/to/props.json');
|
||||
}
|
||||
process.exit(1);
|
||||
}
|
||||
};
|
||||
exports.getInputProps = getInputProps;
|
||||
Reference in New Issue
Block a user