diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index c571ba9..6eb236a 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -84,6 +84,13 @@ jobs: - run: echo "os - ${{ steps.info2.outputs.os }}" - run: echo "cpu - ${{ steps.info2.outputs.cpu }}" + - name: delete nested values + uses: ./ + with: + unset: scripts.watch,lint-staged,devDependencies + + - run: cat package.json + - name: Generate Changelog id: changelog uses: jaywcjlove/changelog-generator@main diff --git a/.husky/pre-commit b/.husky/pre-commit index cf0c46b..0bd0a27 100755 --- a/.husky/pre-commit +++ b/.husky/pre-commit @@ -2,3 +2,4 @@ . "$(dirname -- "$0")/_/husky.sh" npx --no-install lint-staged +git add lib/ \ No newline at end of file diff --git a/README.md b/README.md index 7fc014e..ca1f88b 100644 --- a/README.md +++ b/README.md @@ -47,6 +47,40 @@ Read and modify the contents of `package.json`. - run: echo "author - ${{ steps.info.outputs.author }}" ``` +### delete nested values + +```json +{ + "name": "github-action-package", + "author": "jaywcjlove", + "repository": { + "type": "git", + "url": "https://github.com/jaywcjlove/github-action-package" + }, + "keywords": [ + "actions", + "package" + ] +} +``` + +```yml +- name: package.json info + uses: jaywcjlove/github-action-package@main + with: + unset: repository.type,repository.url,keywords +``` + +Output: + +```json +{ + "name": "github-action-package", + "author": "jaywcjlove", + "repository": {} +} +``` + ## Inputs - `path` The path of the `package.json` file. Default: `package.json` @@ -54,6 +88,7 @@ Read and modify the contents of `package.json`. - `rename` Used to change "name" data in "package.json". - `version` Used to change "`version`" data in "package.json". - `description` Used to change "`description`" data in "package.json". +- `unset` delete "Object" nested values in "package.json". ### Output Parameters diff --git a/action.yml b/action.yml index 154fdc9..9bb0cd3 100644 --- a/action.yml +++ b/action.yml @@ -28,6 +28,10 @@ inputs: description: Used to change "`description`" data in "package.json". required: false + unset: + description: delete "Object" nested values + required: false + outputs: name: description: 'name field in package.json, The name of the package.' diff --git a/lib/index.js b/lib/index.js index cccee2b..5cbd901 100644 --- a/lib/index.js +++ b/lib/index.js @@ -7,8 +7,8 @@ "use strict"; -var _classCallCheck = (__webpack_require__(690)["default"]); -var _createClass = (__webpack_require__(728)["default"]); +var _classCallCheck = (__webpack_require__(6690)["default"]); +var _createClass = (__webpack_require__(9728)["default"]); var __createBinding = this && this.__createBinding || (Object.create ? function (o, m, k, k2) { if (k2 === undefined) k2 = k; Object.defineProperty(o, k2, { @@ -42,7 +42,7 @@ Object.defineProperty(exports, "__esModule", ({ value: true })); exports.issue = exports.issueCommand = void 0; -var os = __importStar(__webpack_require__(37)); +var os = __importStar(__webpack_require__(2037)); var utils_1 = __webpack_require__(600); /** * Commands @@ -111,13 +111,13 @@ function escapeProperty(s) { /***/ }), -/***/ 397: +/***/ 8397: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; -var _regeneratorRuntime = (__webpack_require__(61)["default"]); +var _regeneratorRuntime = (__webpack_require__(7061)["default"]); var __createBinding = this && this.__createBinding || (Object.create ? function (o, m, k, k2) { if (k2 === undefined) k2 = k; Object.defineProperty(o, k2, { @@ -179,10 +179,10 @@ Object.defineProperty(exports, "__esModule", ({ })); exports.getIDToken = exports.getState = exports.saveState = exports.group = exports.endGroup = exports.startGroup = exports.info = exports.notice = exports.warning = exports.error = exports.debug = exports.isDebug = exports.setFailed = exports.setCommandEcho = exports.setOutput = exports.getBooleanInput = exports.getMultilineInput = exports.getInput = exports.addPath = exports.setSecret = exports.exportVariable = exports.ExitCode = void 0; var command_1 = __webpack_require__(28); -var file_command_1 = __webpack_require__(35); +var file_command_1 = __webpack_require__(3035); var utils_1 = __webpack_require__(600); -var os = __importStar(__webpack_require__(37)); -var path = __importStar(__webpack_require__(17)); +var os = __importStar(__webpack_require__(2037)); +var path = __importStar(__webpack_require__(1017)); var oidc_utils_1 = __webpack_require__(335); /** * The code to exit an action @@ -502,7 +502,7 @@ exports.getIDToken = getIDToken; /** * Summary exports */ -var summary_1 = __webpack_require__(407); +var summary_1 = __webpack_require__(2407); Object.defineProperty(exports, "summary", ({ enumerable: true, get: function get() { @@ -512,7 +512,7 @@ Object.defineProperty(exports, "summary", ({ /** * @deprecated use core.summary */ -var summary_2 = __webpack_require__(407); +var summary_2 = __webpack_require__(2407); Object.defineProperty(exports, "markdownSummary", ({ enumerable: true, get: function get() { @@ -522,7 +522,7 @@ Object.defineProperty(exports, "markdownSummary", ({ /** * Path exports */ -var path_utils_1 = __webpack_require__(476); +var path_utils_1 = __webpack_require__(1476); Object.defineProperty(exports, "toPosixPath", ({ enumerable: true, get: function get() { @@ -544,7 +544,7 @@ Object.defineProperty(exports, "toPlatformPath", ({ /***/ }), -/***/ 35: +/***/ 3035: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -586,9 +586,9 @@ Object.defineProperty(exports, "__esModule", ({ exports.prepareKeyValueMessage = exports.issueFileCommand = void 0; // We use any as a valid input type /* eslint-disable @typescript-eslint/no-explicit-any */ -var fs = __importStar(__webpack_require__(147)); -var os = __importStar(__webpack_require__(37)); -var uuid_1 = __webpack_require__(779); +var fs = __importStar(__webpack_require__(7147)); +var os = __importStar(__webpack_require__(2037)); +var uuid_1 = __webpack_require__(6779); var utils_1 = __webpack_require__(600); function issueFileCommand(command, message) { var filePath = process.env["GITHUB_".concat(command)]; @@ -627,9 +627,9 @@ exports.prepareKeyValueMessage = prepareKeyValueMessage; "use strict"; -var _regeneratorRuntime = (__webpack_require__(61)["default"]); -var _classCallCheck = (__webpack_require__(690)["default"]); -var _createClass = (__webpack_require__(728)["default"]); +var _regeneratorRuntime = (__webpack_require__(7061)["default"]); +var _classCallCheck = (__webpack_require__(6690)["default"]); +var _createClass = (__webpack_require__(9728)["default"]); var __awaiter = this && this.__awaiter || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { @@ -661,9 +661,9 @@ Object.defineProperty(exports, "__esModule", ({ value: true })); exports.OidcClient = void 0; -var http_client_1 = __webpack_require__(440); -var auth_1 = __webpack_require__(39); -var core_1 = __webpack_require__(397); +var http_client_1 = __webpack_require__(5440); +var auth_1 = __webpack_require__(8039); +var core_1 = __webpack_require__(8397); var OidcClient = /*#__PURE__*/function () { function OidcClient() { _classCallCheck(this, OidcClient); @@ -772,7 +772,7 @@ exports.OidcClient = OidcClient; /***/ }), -/***/ 476: +/***/ 1476: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; @@ -811,7 +811,7 @@ Object.defineProperty(exports, "__esModule", ({ value: true })); exports.toPlatformPath = exports.toWin32Path = exports.toPosixPath = void 0; -var path = __importStar(__webpack_require__(17)); +var path = __importStar(__webpack_require__(1017)); /** * toPosixPath converts the given path to the posix form. On Windows, \\ will be * replaced with /. @@ -849,16 +849,16 @@ exports.toPlatformPath = toPlatformPath; /***/ }), -/***/ 407: +/***/ 2407: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; -var _slicedToArray = (__webpack_require__(424)["default"]); -var _regeneratorRuntime = (__webpack_require__(61)["default"]); -var _classCallCheck = (__webpack_require__(690)["default"]); -var _createClass = (__webpack_require__(728)["default"]); +var _slicedToArray = (__webpack_require__(7424)["default"]); +var _regeneratorRuntime = (__webpack_require__(7061)["default"]); +var _classCallCheck = (__webpack_require__(6690)["default"]); +var _createClass = (__webpack_require__(9728)["default"]); var __awaiter = this && this.__awaiter || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { @@ -890,8 +890,8 @@ Object.defineProperty(exports, "__esModule", ({ value: true })); exports.summary = exports.markdownSummary = exports.SUMMARY_DOCS_URL = exports.SUMMARY_ENV_VAR = void 0; -var os_1 = __webpack_require__(37); -var fs_1 = __webpack_require__(147); +var os_1 = __webpack_require__(2037); +var fs_1 = __webpack_require__(7147); var _fs_1$promises = fs_1.promises, access = _fs_1$promises.access, appendFile = _fs_1$promises.appendFile, @@ -1333,15 +1333,15 @@ exports.toCommandProperties = toCommandProperties; /***/ }), -/***/ 39: +/***/ 8039: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; -var _regeneratorRuntime = (__webpack_require__(61)["default"]); -var _classCallCheck = (__webpack_require__(690)["default"]); -var _createClass = (__webpack_require__(728)["default"]); +var _regeneratorRuntime = (__webpack_require__(7061)["default"]); +var _classCallCheck = (__webpack_require__(6690)["default"]); +var _createClass = (__webpack_require__(9728)["default"]); var __awaiter = this && this.__awaiter || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { @@ -1501,21 +1501,21 @@ exports.PersonalAccessTokenCredentialHandler = PersonalAccessTokenCredentialHand /***/ }), -/***/ 440: +/***/ 5440: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; /* eslint-disable @typescript-eslint/no-explicit-any */ -var _createForOfIteratorHelper = (__webpack_require__(704)["default"]); -var _regeneratorRuntime = (__webpack_require__(61)["default"]); -var _createClass = (__webpack_require__(728)["default"]); -var _classCallCheck = (__webpack_require__(690)["default"]); -var _assertThisInitialized = (__webpack_require__(115)["default"]); -var _inherits = (__webpack_require__(655)["default"]); -var _createSuper = (__webpack_require__(389)["default"]); -var _wrapNativeSuper = (__webpack_require__(496)["default"]); +var _createForOfIteratorHelper = (__webpack_require__(4704)["default"]); +var _regeneratorRuntime = (__webpack_require__(7061)["default"]); +var _createClass = (__webpack_require__(9728)["default"]); +var _classCallCheck = (__webpack_require__(6690)["default"]); +var _assertThisInitialized = (__webpack_require__(6115)["default"]); +var _inherits = (__webpack_require__(1655)["default"]); +var _createSuper = (__webpack_require__(6389)["default"]); +var _wrapNativeSuper = (__webpack_require__(3496)["default"]); var __createBinding = this && this.__createBinding || (Object.create ? function (o, m, k, k2) { if (k2 === undefined) k2 = k; Object.defineProperty(o, k2, { @@ -1576,10 +1576,10 @@ Object.defineProperty(exports, "__esModule", ({ value: true })); exports.HttpClient = exports.isHttps = exports.HttpClientResponse = exports.HttpClientError = exports.getProxyUrl = exports.MediaTypes = exports.Headers = exports.HttpCodes = void 0; -var http = __importStar(__webpack_require__(685)); -var https = __importStar(__webpack_require__(687)); -var pm = __importStar(__webpack_require__(537)); -var tunnel = __importStar(__webpack_require__(319)); +var http = __importStar(__webpack_require__(3685)); +var https = __importStar(__webpack_require__(5687)); +var pm = __importStar(__webpack_require__(4537)); +var tunnel = __importStar(__webpack_require__(8808)); var HttpCodes; (function (HttpCodes) { HttpCodes[HttpCodes["OK"] = 200] = "OK"; @@ -2480,13 +2480,13 @@ var lowercaseKeys = function lowercaseKeys(obj) { /***/ }), -/***/ 537: +/***/ 4537: /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; -var _createForOfIteratorHelper = (__webpack_require__(704)["default"]); +var _createForOfIteratorHelper = (__webpack_require__(4704)["default"]); Object.defineProperty(exports, "__esModule", ({ value: true })); @@ -2565,26 +2565,361 @@ exports.checkBypass = checkBypass; /***/ }), -/***/ 319: +/***/ 1191: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { -module.exports = __webpack_require__(938); +/*! + * get-value + * + * Copyright (c) 2014-2018, Jon Schlinkert. + * Released under the MIT License. + */ + +var isObject = __webpack_require__(5420); +module.exports = function (target, path, options) { + if (!isObject(options)) { + options = { + "default": options + }; + } + if (!isValidObject(target)) { + return typeof options["default"] !== 'undefined' ? options["default"] : target; + } + if (typeof path === 'number') { + path = String(path); + } + var isArray = Array.isArray(path); + var isString = typeof path === 'string'; + var splitChar = options.separator || '.'; + var joinChar = options.joinChar || (typeof splitChar === 'string' ? splitChar : '.'); + if (!isString && !isArray) { + return target; + } + if (isString && path in target) { + return isValid(path, target, options) ? target[path] : options["default"]; + } + var segs = isArray ? path : split(path, splitChar, options); + var len = segs.length; + var idx = 0; + do { + var prop = segs[idx]; + if (typeof prop === 'number') { + prop = String(prop); + } + while (prop && prop.slice(-1) === '\\') { + prop = join([prop.slice(0, -1), segs[++idx] || ''], joinChar, options); + } + if (prop in target) { + if (!isValid(prop, target, options)) { + return options["default"]; + } + target = target[prop]; + } else { + var hasProp = false; + var n = idx + 1; + while (n < len) { + prop = join([prop, segs[n++]], joinChar, options); + if (hasProp = prop in target) { + if (!isValid(prop, target, options)) { + return options["default"]; + } + target = target[prop]; + idx = n - 1; + break; + } + } + if (!hasProp) { + return options["default"]; + } + } + } while (++idx < len && isValidObject(target)); + if (idx === len) { + return target; + } + return options["default"]; +}; +function join(segs, joinChar, options) { + if (typeof options.join === 'function') { + return options.join(segs); + } + return segs[0] + joinChar + segs[1]; +} +function split(path, splitChar, options) { + if (typeof options.split === 'function') { + return options.split(path); + } + return path.split(splitChar); +} +function isValid(key, target, options) { + if (typeof options.isValid === 'function') { + return options.isValid(key, target); + } + return true; +} +function isValidObject(val) { + return isObject(val) || Array.isArray(val) || typeof val === 'function'; +} + +/***/ }), + +/***/ 3270: +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; +/*! + * has-value + * + * Copyright (c) 2014-2018, Jon Schlinkert. + * Released under the MIT License. + */ + + + +var get = __webpack_require__(1191); +var has = __webpack_require__(8230); +module.exports = function (obj, path, options) { + if (isObject(obj) && (typeof path === 'string' || Array.isArray(path))) { + return has(get(obj, path, options)); + } + return false; +}; +function isObject(val) { + return val != null && (typeof val === 'object' || typeof val === 'function' || Array.isArray(val)); +} + +/***/ }), + +/***/ 8230: +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; +/*! + * has-values + * + * Copyright (c) 2014-2018, Jon Schlinkert. + * Released under the MIT License. + */ + + + +var typeOf = __webpack_require__(5482); +module.exports = function has(val) { + switch (typeOf(val)) { + case 'boolean': + case 'date': + case 'function': + case 'null': + case 'number': + return true; + case 'undefined': + return false; + case 'regexp': + return val.source !== '(?:)' && val.source !== ''; + case 'buffer': + return val.toString() !== ''; + case 'error': + return val.message !== ''; + case 'string': + case 'arguments': + return val.length !== 0; + case 'file': + case 'map': + case 'set': + return val.size !== 0; + case 'array': + case 'object': + for (var _i = 0, _Object$keys = Object.keys(val); _i < _Object$keys.length; _i++) { + var key = _Object$keys[_i]; + if (has(val[key])) { + return true; + } + } + return false; + + // everything else + default: + { + return true; + } + } +}; + +/***/ }), + +/***/ 5420: +/***/ ((module) => { + +"use strict"; +/*! + * isobject + * + * Copyright (c) 2014-2017, Jon Schlinkert. + * Released under the MIT License. + */ + + + +module.exports = function isObject(val) { + return val != null && typeof val === 'object' && Array.isArray(val) === false; +}; + +/***/ }), + +/***/ 5482: +/***/ ((module) => { + +var toString = Object.prototype.toString; +module.exports = function kindOf(val) { + if (val === void 0) return 'undefined'; + if (val === null) return 'null'; + var type = typeof val; + if (type === 'boolean') return 'boolean'; + if (type === 'string') return 'string'; + if (type === 'number') return 'number'; + if (type === 'symbol') return 'symbol'; + if (type === 'function') { + return isGeneratorFn(val) ? 'generatorfunction' : 'function'; + } + if (isArray(val)) return 'array'; + if (isBuffer(val)) return 'buffer'; + if (isArguments(val)) return 'arguments'; + if (isDate(val)) return 'date'; + if (isError(val)) return 'error'; + if (isRegexp(val)) return 'regexp'; + switch (ctorName(val)) { + case 'Symbol': + return 'symbol'; + case 'Promise': + return 'promise'; + + // Set, Map, WeakSet, WeakMap + case 'WeakMap': + return 'weakmap'; + case 'WeakSet': + return 'weakset'; + case 'Map': + return 'map'; + case 'Set': + return 'set'; + + // 8-bit typed arrays + case 'Int8Array': + return 'int8array'; + case 'Uint8Array': + return 'uint8array'; + case 'Uint8ClampedArray': + return 'uint8clampedarray'; + + // 16-bit typed arrays + case 'Int16Array': + return 'int16array'; + case 'Uint16Array': + return 'uint16array'; + + // 32-bit typed arrays + case 'Int32Array': + return 'int32array'; + case 'Uint32Array': + return 'uint32array'; + case 'Float32Array': + return 'float32array'; + case 'Float64Array': + return 'float64array'; + } + if (isGeneratorObj(val)) { + return 'generator'; + } + + // Non-plain objects + type = toString.call(val); + switch (type) { + case '[object Object]': + return 'object'; + // iterators + case '[object Map Iterator]': + return 'mapiterator'; + case '[object Set Iterator]': + return 'setiterator'; + case '[object String Iterator]': + return 'stringiterator'; + case '[object Array Iterator]': + return 'arrayiterator'; + } + + // other + return type.slice(8, -1).toLowerCase().replace(/\s/g, ''); +}; +function ctorName(val) { + return typeof val.constructor === 'function' ? val.constructor.name : null; +} +function isArray(val) { + if (Array.isArray) return Array.isArray(val); + return val instanceof Array; +} +function isError(val) { + return val instanceof Error || typeof val.message === 'string' && val.constructor && typeof val.constructor.stackTraceLimit === 'number'; +} +function isDate(val) { + if (val instanceof Date) return true; + return typeof val.toDateString === 'function' && typeof val.getDate === 'function' && typeof val.setDate === 'function'; +} +function isRegexp(val) { + if (val instanceof RegExp) return true; + return typeof val.flags === 'string' && typeof val.ignoreCase === 'boolean' && typeof val.multiline === 'boolean' && typeof val.global === 'boolean'; +} +function isGeneratorFn(name, val) { + return ctorName(name) === 'GeneratorFunction'; +} +function isGeneratorObj(val) { + return typeof val["throw"] === 'function' && typeof val["return"] === 'function' && typeof val.next === 'function'; +} +function isArguments(val) { + try { + if (typeof val.length === 'number' && typeof val.callee === 'function') { + return true; + } + } catch (err) { + if (err.message.indexOf('callee') !== -1) { + return true; + } + } + return false; +} + +/** + * If you need to support Safari 5-7 (8-10 yr-old browser), + * take a look at https://github.com/feross/is-buffer + */ + +function isBuffer(val) { + if (val.constructor && typeof val.constructor.isBuffer === 'function') { + return val.constructor.isBuffer(val); + } + return false; +} + +/***/ }), + +/***/ 8808: +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +module.exports = __webpack_require__(7938); /***/ }), -/***/ 938: +/***/ 7938: /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; -var net = __webpack_require__(982); -var tls = __webpack_require__(404); -var http = __webpack_require__(685); -var https = __webpack_require__(687); -var events = __webpack_require__(361); -var assert = __webpack_require__(491); -var util = __webpack_require__(837); +var net = __webpack_require__(1808); +var tls = __webpack_require__(4404); +var http = __webpack_require__(3685); +var https = __webpack_require__(5687); +var events = __webpack_require__(2361); +var assert = __webpack_require__(9491); +var util = __webpack_require__(3837); exports.httpOverHttp = httpOverHttp; exports.httpsOverHttp = httpsOverHttp; exports.httpOverHttps = httpOverHttps; @@ -2811,7 +3146,79 @@ exports.debug = debug; // for test /***/ }), -/***/ 779: +/***/ 5116: +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +"use strict"; +/*! + * unset-value + * + * Copyright (c) 2015, 2017, Jon Schlinkert. + * Released under the MIT License. + */ + + + +var isObject = __webpack_require__(1269); +var has = __webpack_require__(3270); +var isUnsafeKey = function isUnsafeKey(key) { + return key === '__proto__' || key === 'constructor' || key === 'prototype'; +}; +var validateKey = function validateKey(key) { + if (isUnsafeKey(key)) { + throw new Error("Cannot set unsafe key: \"".concat(key, "\"")); + } +}; +module.exports = function unset(obj, prop) { + if (!isObject(obj)) { + throw new TypeError('expected an object.'); + } + var isArray = Array.isArray(prop); + if (!isArray && obj.hasOwnProperty(prop)) { + delete obj[prop]; + return true; + } + if (has(obj, prop)) { + var segs = isArray ? prop.slice() : prop.split('.'); + var last = segs.pop(); + while (segs.length && segs[segs.length - 1].slice(-1) === '\\') { + last = segs.pop().slice(0, -1) + '.' + last; + } + while (segs.length) { + prop = segs.shift(); + validateKey(prop); + obj = obj[prop]; + } + return delete obj[last]; + } + return true; +}; + +/***/ }), + +/***/ 1269: +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export */ __webpack_require__.d(__webpack_exports__, { +/* harmony export */ "default": () => (/* binding */ isObject) +/* harmony export */ }); +/*! + * isobject + * + * Copyright (c) 2014-2017, Jon Schlinkert. + * Released under the MIT License. + */ + +function isObject(val) { + return val != null && typeof val === 'object' && Array.isArray(val) === false; +} +; + +/***/ }), + +/***/ 6779: /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; @@ -3128,7 +3535,7 @@ function version(uuid) { /***/ }), -/***/ 491: +/***/ 9491: /***/ ((module) => { "use strict"; @@ -3136,7 +3543,7 @@ module.exports = require("assert"); /***/ }), -/***/ 361: +/***/ 2361: /***/ ((module) => { "use strict"; @@ -3144,7 +3551,7 @@ module.exports = require("events"); /***/ }), -/***/ 147: +/***/ 7147: /***/ ((module) => { "use strict"; @@ -3152,7 +3559,7 @@ module.exports = require("fs"); /***/ }), -/***/ 685: +/***/ 3685: /***/ ((module) => { "use strict"; @@ -3160,7 +3567,7 @@ module.exports = require("http"); /***/ }), -/***/ 687: +/***/ 5687: /***/ ((module) => { "use strict"; @@ -3168,7 +3575,7 @@ module.exports = require("https"); /***/ }), -/***/ 982: +/***/ 1808: /***/ ((module) => { "use strict"; @@ -3176,7 +3583,7 @@ module.exports = require("net"); /***/ }), -/***/ 37: +/***/ 2037: /***/ ((module) => { "use strict"; @@ -3184,7 +3591,7 @@ module.exports = require("os"); /***/ }), -/***/ 17: +/***/ 1017: /***/ ((module) => { "use strict"; @@ -3192,7 +3599,7 @@ module.exports = require("path"); /***/ }), -/***/ 404: +/***/ 4404: /***/ ((module) => { "use strict"; @@ -3200,7 +3607,7 @@ module.exports = require("tls"); /***/ }), -/***/ 837: +/***/ 3837: /***/ ((module) => { "use strict"; @@ -3208,7 +3615,7 @@ module.exports = require("util"); /***/ }), -/***/ 897: +/***/ 3897: /***/ ((module) => { function _arrayLikeToArray(arr, len) { @@ -3222,7 +3629,7 @@ module.exports = _arrayLikeToArray, module.exports.__esModule = true, module.exp /***/ }), -/***/ 372: +/***/ 5372: /***/ ((module) => { function _arrayWithHoles(arr) { @@ -3232,7 +3639,7 @@ module.exports = _arrayWithHoles, module.exports.__esModule = true, module.expor /***/ }), -/***/ 115: +/***/ 6115: /***/ ((module) => { function _assertThisInitialized(self) { @@ -3245,7 +3652,7 @@ module.exports = _assertThisInitialized, module.exports.__esModule = true, modul /***/ }), -/***/ 690: +/***/ 6690: /***/ ((module) => { function _classCallCheck(instance, Constructor) { @@ -3257,11 +3664,11 @@ module.exports = _classCallCheck, module.exports.__esModule = true, module.expor /***/ }), -/***/ 515: +/***/ 3515: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { -var setPrototypeOf = __webpack_require__(15); -var isNativeReflectConstruct = __webpack_require__(617); +var setPrototypeOf = __webpack_require__(6015); +var isNativeReflectConstruct = __webpack_require__(9617); function _construct(Parent, args, Class) { if (isNativeReflectConstruct()) { module.exports = _construct = Reflect.construct.bind(), module.exports.__esModule = true, module.exports["default"] = module.exports; @@ -3281,7 +3688,7 @@ module.exports = _construct, module.exports.__esModule = true, module.exports["d /***/ }), -/***/ 728: +/***/ 9728: /***/ ((module) => { function _defineProperties(target, props) { @@ -3305,10 +3712,10 @@ module.exports = _createClass, module.exports.__esModule = true, module.exports[ /***/ }), -/***/ 704: +/***/ 4704: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { -var unsupportedIterableToArray = __webpack_require__(116); +var unsupportedIterableToArray = __webpack_require__(6116); function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { @@ -3364,12 +3771,12 @@ module.exports = _createForOfIteratorHelper, module.exports.__esModule = true, m /***/ }), -/***/ 389: +/***/ 6389: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { -var getPrototypeOf = __webpack_require__(808); -var isNativeReflectConstruct = __webpack_require__(617); -var possibleConstructorReturn = __webpack_require__(993); +var getPrototypeOf = __webpack_require__(3808); +var isNativeReflectConstruct = __webpack_require__(9617); +var possibleConstructorReturn = __webpack_require__(4993); function _createSuper(Derived) { var hasNativeReflectConstruct = isNativeReflectConstruct(); return function _createSuperInternal() { @@ -3388,7 +3795,7 @@ module.exports = _createSuper, module.exports.__esModule = true, module.exports[ /***/ }), -/***/ 808: +/***/ 3808: /***/ ((module) => { function _getPrototypeOf(o) { @@ -3401,10 +3808,10 @@ module.exports = _getPrototypeOf, module.exports.__esModule = true, module.expor /***/ }), -/***/ 655: +/***/ 1655: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { -var setPrototypeOf = __webpack_require__(15); +var setPrototypeOf = __webpack_require__(6015); function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); @@ -3425,7 +3832,7 @@ module.exports = _inherits, module.exports.__esModule = true, module.exports["de /***/ }), -/***/ 86: +/***/ 6035: /***/ ((module) => { function _isNativeFunction(fn) { @@ -3435,7 +3842,7 @@ module.exports = _isNativeFunction, module.exports.__esModule = true, module.exp /***/ }), -/***/ 617: +/***/ 9617: /***/ ((module) => { function _isNativeReflectConstruct() { @@ -3453,7 +3860,7 @@ module.exports = _isNativeReflectConstruct, module.exports.__esModule = true, mo /***/ }), -/***/ 872: +/***/ 8872: /***/ ((module) => { function _iterableToArrayLimit(arr, i) { @@ -3484,7 +3891,7 @@ module.exports = _iterableToArrayLimit, module.exports.__esModule = true, module /***/ }), -/***/ 218: +/***/ 2218: /***/ ((module) => { function _nonIterableRest() { @@ -3494,11 +3901,11 @@ module.exports = _nonIterableRest, module.exports.__esModule = true, module.expo /***/ }), -/***/ 993: +/***/ 4993: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { -var _typeof = (__webpack_require__(698)["default"]); -var assertThisInitialized = __webpack_require__(115); +var _typeof = (__webpack_require__(8698)["default"]); +var assertThisInitialized = __webpack_require__(6115); function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; @@ -3511,10 +3918,10 @@ module.exports = _possibleConstructorReturn, module.exports.__esModule = true, m /***/ }), -/***/ 61: +/***/ 7061: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { -var _typeof = (__webpack_require__(698)["default"]); +var _typeof = (__webpack_require__(8698)["default"]); function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ module.exports = _regeneratorRuntime = function _regeneratorRuntime() { @@ -3817,7 +4224,7 @@ module.exports = _regeneratorRuntime, module.exports.__esModule = true, module.e /***/ }), -/***/ 15: +/***/ 6015: /***/ ((module) => { function _setPrototypeOf(o, p) { @@ -3831,13 +4238,13 @@ module.exports = _setPrototypeOf, module.exports.__esModule = true, module.expor /***/ }), -/***/ 424: +/***/ 7424: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { -var arrayWithHoles = __webpack_require__(372); -var iterableToArrayLimit = __webpack_require__(872); -var unsupportedIterableToArray = __webpack_require__(116); -var nonIterableRest = __webpack_require__(218); +var arrayWithHoles = __webpack_require__(5372); +var iterableToArrayLimit = __webpack_require__(8872); +var unsupportedIterableToArray = __webpack_require__(6116); +var nonIterableRest = __webpack_require__(2218); function _slicedToArray(arr, i) { return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest(); } @@ -3845,7 +4252,7 @@ module.exports = _slicedToArray, module.exports.__esModule = true, module.export /***/ }), -/***/ 698: +/***/ 8698: /***/ ((module) => { function _typeof(obj) { @@ -3861,10 +4268,10 @@ module.exports = _typeof, module.exports.__esModule = true, module.exports["defa /***/ }), -/***/ 116: +/***/ 6116: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { -var arrayLikeToArray = __webpack_require__(897); +var arrayLikeToArray = __webpack_require__(3897); function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return arrayLikeToArray(o, minLen); @@ -3877,13 +4284,13 @@ module.exports = _unsupportedIterableToArray, module.exports.__esModule = true, /***/ }), -/***/ 496: +/***/ 3496: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { -var getPrototypeOf = __webpack_require__(808); -var setPrototypeOf = __webpack_require__(15); -var isNativeFunction = __webpack_require__(86); -var construct = __webpack_require__(515); +var getPrototypeOf = __webpack_require__(3808); +var setPrototypeOf = __webpack_require__(6015); +var isNativeFunction = __webpack_require__(6035); +var construct = __webpack_require__(3515); function _wrapNativeSuper(Class) { var _cache = typeof Map === "function" ? new Map() : undefined; module.exports = _wrapNativeSuper = function _wrapNativeSuper(Class) { @@ -4331,22 +4738,25 @@ function _asyncToGenerator(fn) { }; } // EXTERNAL MODULE: external "path" -var external_path_ = __webpack_require__(17); +var external_path_ = __webpack_require__(1017); var external_path_default = /*#__PURE__*/__webpack_require__.n(external_path_); // EXTERNAL MODULE: external "fs" -var external_fs_ = __webpack_require__(147); +var external_fs_ = __webpack_require__(7147); var external_fs_default = /*#__PURE__*/__webpack_require__.n(external_fs_); // EXTERNAL MODULE: ./node_modules/@actions/core/lib/core.js -var core = __webpack_require__(397); +var core = __webpack_require__(8397); +// EXTERNAL MODULE: ./node_modules/unset-value/index.js +var unset_value = __webpack_require__(5116); +var unset_value_default = /*#__PURE__*/__webpack_require__.n(unset_value); ;// CONCATENATED MODULE: ./src/index.ts -;_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(){var pkgPath,data,rename,version,description,resolvePath,jsonStr,jsonObj,newData;return _regeneratorRuntime().wrap(function _callee$(_context){while(1){switch(_context.prev=_context.next){case 0:_context.prev=0;pkgPath=(0,core.getInput)('path');data=(0,core.getInput)('data');rename=(0,core.getInput)('rename');version=(0,core.getInput)('version');description=(0,core.getInput)('description');resolvePath=external_path_default().resolve(process.cwd(),pkgPath);if(external_fs_default().existsSync(resolvePath)){_context.next=9;break;}throw new Error("File \x1B[31;1m".concat(resolvePath,"\x1B[0m does not exist!"));case 9:_context.next=11;return external_fs_default().promises.readFile(resolvePath);case 11:_context.next=13;return _context.sent.toString();case 13:jsonStr=_context.sent;jsonObj=JSON.parse(jsonStr);if(data){newData=JSON.parse(data);jsonObj=Object.assign(jsonObj,newData);}if(rename){jsonObj=Object.assign(jsonObj,{name:rename});}if(version){jsonObj=Object.assign(jsonObj,{version:version});}if(description){jsonObj=Object.assign(jsonObj,{description:description});}_context.next=21;return external_fs_default().promises.writeFile(resolvePath,JSON.stringify(jsonObj,null,2));case 21:(0,core.startGroup)("\x1B[32;1m package.json\x1B[0m content: ");(0,core.info)("".concat(JSON.stringify(jsonObj,null,2)));(0,core.endGroup)();Object.keys(jsonObj).forEach(function(keyname){var value=jsonObj[keyname];if(typeof value==='string'||typeof value==='boolean'){(0,core.setOutput)(keyname,value);}else if(Array.isArray(value)){(0,core.setOutput)(keyname,value.join(','));}});// setOutput('name', jsonObj.name); +;_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(){var pkgPath,data,rename,version,unset,description,resolvePath,jsonStr,jsonObj,newData;return _regeneratorRuntime().wrap(function _callee$(_context){while(1){switch(_context.prev=_context.next){case 0:_context.prev=0;pkgPath=(0,core.getInput)('path');data=(0,core.getInput)('data');rename=(0,core.getInput)('rename');version=(0,core.getInput)('version');unset=(0,core.getInput)('unset');description=(0,core.getInput)('description');resolvePath=external_path_default().resolve(process.cwd(),pkgPath);if(external_fs_default().existsSync(resolvePath)){_context.next=10;break;}throw new Error("File \x1B[31;1m".concat(resolvePath,"\x1B[0m does not exist!"));case 10:_context.next=12;return external_fs_default().promises.readFile(resolvePath);case 12:_context.next=14;return _context.sent.toString();case 14:jsonStr=_context.sent;jsonObj=JSON.parse(jsonStr);if(data){newData=JSON.parse(data);jsonObj=Object.assign(jsonObj,newData);}if(rename){jsonObj=Object.assign(jsonObj,{name:rename});}if(version){jsonObj=Object.assign(jsonObj,{version:version});}if(description){jsonObj=Object.assign(jsonObj,{description:description});}if(unset&&typeof unset==='string'){unset.split(',').forEach(function(item){unset_value_default()(jsonObj,item.trim());});}_context.next=23;return external_fs_default().promises.writeFile(resolvePath,JSON.stringify(jsonObj,null,2));case 23:(0,core.startGroup)("\x1B[32;1m package.json\x1B[0m content: ");(0,core.info)("".concat(JSON.stringify(jsonObj,null,2)));(0,core.endGroup)();Object.keys(jsonObj).forEach(function(keyname){var value=jsonObj[keyname];if(typeof value==='string'||typeof value==='boolean'){(0,core.setOutput)(keyname,value);}else if(Array.isArray(value)){(0,core.setOutput)(keyname,value.join(','));}});// setOutput('name', jsonObj.name); // setOutput('version', jsonObj.version); // setOutput('description', jsonObj.description); // setOutput('keywords', (jsonObj.keywords || []).join(',')); // setOutput('license', jsonObj.license); // setOutput('homepage', jsonObj.homepage); // setOutput('os', (jsonObj.os || []).join(',')); -(0,core.setOutput)('author',(jsonObj.author||{}).name||jsonObj.author);(0,core.setOutput)('repository',(jsonObj.repository||{}).url||jsonObj.repository);_context.next=32;break;case 29:_context.prev=29;_context.t0=_context["catch"](0);(0,core.setFailed)(_context.t0.message);case 32:case"end":return _context.stop();}}},_callee,null,[[0,29]]);}))(); +(0,core.setOutput)('author',(jsonObj.author||{}).name||jsonObj.author);(0,core.setOutput)('repository',(jsonObj.repository||{}).url||jsonObj.repository);_context.next=34;break;case 31:_context.prev=31;_context.t0=_context["catch"](0);(0,core.setFailed)(_context.t0.message);case 34:case"end":return _context.stop();}}},_callee,null,[[0,31]]);}))(); })(); module.exports = __webpack_exports__; diff --git a/package.json b/package.json index c47a081..71b8fd3 100644 --- a/package.json +++ b/package.json @@ -28,7 +28,8 @@ "setup" ], "dependencies": { - "@actions/core": "^1.10.0" + "@actions/core": "^1.10.0", + "unset-value": "^2.0.1" }, "devDependencies": { "@kkt/ncc": "~1.0.12", diff --git a/src/index.ts b/src/index.ts index 9b46c17..cf83481 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,6 +1,7 @@ import path from 'path'; import fs from 'fs'; import { setFailed, setOutput, getInput, info, startGroup, endGroup } from '@actions/core'; +import removeValue from 'unset-value'; ;(async () => { try { @@ -8,6 +9,7 @@ import { setFailed, setOutput, getInput, info, startGroup, endGroup } from '@act const data = getInput('data'); const rename = getInput('rename'); const version = getInput('version'); + const unset = getInput('unset'); const description = getInput('description'); const resolvePath = path.resolve(process.cwd(), pkgPath); @@ -30,6 +32,12 @@ import { setFailed, setOutput, getInput, info, startGroup, endGroup } from '@act if (description) { jsonObj = Object.assign(jsonObj, { description }); } + + if (unset && typeof unset === 'string') { + unset.split(',').forEach((item) => { + removeValue(jsonObj, item.trim()) + }); + } await fs.promises.writeFile(resolvePath, JSON.stringify(jsonObj, null, 2)); startGroup(`\x1b[32;1m package.json\x1b[0m content: `);