semantic-release-yaml 1.0.0 → 1.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/src/get-error.d.ts +3 -0
- package/dist/src/index.d.ts +3 -0
- package/dist/src/verify-commands.d.ts +2 -0
- package/dist/src/yaml.d.ts +3 -0
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var e=require("path"),t=require("lodash/template"),r=require("js-yaml"),n=require("fs"),i=require("lodash/set"),o=require("lodash"),a=require("aggregate-error"),l=require("@semantic-release/error"),s=require("lodash/isString"),d=require("util");function
|
|
1
|
+
var e=require("path"),t=require("lodash/template"),r=require("js-yaml"),n=require("fs"),i=require("lodash/set"),o=require("lodash"),a=require("aggregate-error"),l=require("@semantic-release/error"),s=require("lodash/isString"),d=require("util");function c(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var u=/*#__PURE__*/c(e),f=/*#__PURE__*/c(t),p=/*#__PURE__*/c(r),m=/*#__PURE__*/c(n),g=/*#__PURE__*/c(i),h=/*#__PURE__*/c(a),w=/*#__PURE__*/c(l),y=/*#__PURE__*/c(s);const q=["cwd","env","stdout","stderr","logger"],[v]="https://github.com/meesvandongen/semantic-release-yaml#readme".split("#"),b=e=>y.default(e)?e:d.inspect(e,{breakLength:Infinity,depth:2,maxArrayLength:5}),$=e=>`${v}/blob/master/${e}`,E={cmd:e=>({message:`Invalid \`cmd\` option for phase \`${e.phase}\`.`,details:`The [\`cmd\` option](${$("README.md#options")}) is required and must be a non empty \`String\`.\n\nYour configuration for the \`cmd\` option is \`${b(e.template)}\`.`}),cwd:e=>({message:"Invalid `cwd` option.",details:`The [\`cwd\` option](${$("README.md#options")}) if defined, must be a non empty \`String\`.\n\nYour configuration for the \`cwd\` option is \`${b(e.cwd)}\`.`})};function S(e,t){const{message:r,details:n}=E[e](t);return new w.default(r,e,n)}const j=e=>o.isString(e)&&e.trim().length>0,A={cmd:j,cwd:(M=j,e=>o.isNil(e)||M(e))};var M;exports.prepare=function(e,t){const r=e.commands.filter(e=>"prepare"===e.phase);if(r.length>0)return function(e){const t=e.flatMap(e=>Object.keys(A).reduce((t,r)=>(0,A[r])(e[r])?t:t.concat(S(r,e)),[]));if(t.length>0)throw new h.default(t)}(r),r.forEach(e=>{((e,t)=>{let{cwd:r=process.cwd(),logger:n}=t,i=function(e,t){if(null==e)return{};var r,n,i={},o=Object.keys(e);for(n=0;n<o.length;n++)t.indexOf(r=o[n])>=0||(i[r]=e[r]);return i}(t,q);const o=f.default(e.template)(i);n.log("Call script %s",o);const a=e.cwd?u.default.resolve(r,e.cwd):r,l=u.default.resolve(a,e.file),s=p.default.load(m.default.readFileSync(l,"utf8"));if("object"!=typeof s||null===s)throw new Error(`The file ${l} is not a valid YAML file.`);g.default(s,e.selector,o),m.default.writeFileSync(l,p.default.dump(s))})(e,t)}),"Prepared"};
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../src/get-error.ts","../src/verify-commands.ts","../src/index.ts","../src/yaml.ts"],"sourcesContent":["import SemanticReleaseError from \"@semantic-release/error\";\nimport isString from \"lodash/isString\";\nimport { inspect } from \"util\";\nimport { Command } from \"./definitions/configuration.interface\";\
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../src/get-error.ts","../src/verify-commands.ts","../src/index.ts","../src/yaml.ts"],"sourcesContent":["import SemanticReleaseError from \"@semantic-release/error\";\nimport isString from \"lodash/isString\";\nimport { inspect } from \"util\";\nimport { Command } from \"./definitions/configuration.interface\";\nimport pkg from \"../package.json\";\n\nconst [homepage] = pkg.homepage.split(\"#\");\nconst stringify = (object) =>\n isString(object)\n ? object\n : inspect(object, { breakLength: Infinity, depth: 2, maxArrayLength: 5 });\nconst linkify = (file) => `${homepage}/blob/master/${file}`;\n\nconst errors = {\n cmd: (command: Command) => ({\n message: `Invalid \\`cmd\\` option for phase \\`${command.phase}\\`.`,\n details: `The [\\`cmd\\` option](${linkify(\n `README.md#options`\n )}) is required and must be a non empty \\`String\\`.\n\nYour configuration for the \\`cmd\\` option is \\`${stringify(\n command.template\n )}\\`.`,\n }),\n cwd: (command: Command) => ({\n message: \"Invalid `cwd` option.\",\n details: `The [\\`cwd\\` option](${linkify(\n \"README.md#options\"\n )}) if defined, must be a non empty \\`String\\`.\n\nYour configuration for the \\`cwd\\` option is \\`${stringify(command.cwd)}\\`.`,\n }),\n};\n\nexport function getError(\n commandKey: string,\n command: Command\n): SemanticReleaseError {\n const { message, details } = errors[commandKey](command);\n return new SemanticReleaseError(message, commandKey, details);\n}\n","import { Command } from \"./definitions/configuration.interface\";\nimport { isNil } from \"lodash\";\nimport { isString } from \"lodash\";\nimport AggregateError from \"aggregate-error\";\nimport { getError } from \"./get-error\";\n\nconst isNonEmptyString = (value: unknown) =>\n isString(value) && value.trim().length > 0;\n\nconst isOptional =\n (validator: (value: unknown) => boolean) => (value: unknown) =>\n isNil(value) || validator(value);\n\nconst VALIDATORS = {\n cmd: isNonEmptyString,\n cwd: isOptional(isNonEmptyString),\n};\n\nexport function verifyCommands(commands: Array<Command>) {\n const errors = commands.flatMap((command) =>\n Object.keys(VALIDATORS).reduce((errors, key) => {\n const validator = VALIDATORS[key];\n const value = command[key];\n\n if (!validator(value)) {\n return errors.concat(getError(key, command));\n }\n return errors;\n }, [])\n );\n\n if (errors.length > 0) {\n throw new AggregateError(errors);\n }\n}\n","import { yaml } from \"./yaml\";\nimport { verifyCommands } from \"./verify-commands\";\nimport { Configuration } from \"./definitions/configuration.interface\";\nimport { SemanticContext } from \"./definitions/semantic-context.interface\";\n\nexport function prepare(pluginConfig: Configuration, context: SemanticContext) {\n const commands = pluginConfig.commands.filter(command => command.phase === \"prepare\");\n\n if (commands.length > 0) {\n verifyCommands(commands);\n\n commands.forEach(command => {\n yaml(command, context);\n });\n return \"Prepared\";\n }\n}\n","import path from \"path\";\nimport template from \"lodash/template\";\nimport jsYaml from \"js-yaml\";\nimport fs from \"fs\";\nimport { Command } from \"./definitions/configuration.interface\";\nimport { SemanticContext } from \"./definitions/semantic-context.interface\";\nimport set from \"lodash/set\";\n\nexport const yaml = (\n command: Command,\n {\n cwd = process.cwd(),\n env,\n stdout,\n stderr,\n logger,\n ...context\n }: SemanticContext\n) => {\n const newValue = template(command.template)(context);\n\n logger.log(\"Call script %s\", newValue);\n\n const workingDirectory = command.cwd ? path.resolve(cwd, command.cwd) : cwd;\n const pathToFile = path.resolve(workingDirectory, command.file);\n\n const yamlFile = jsYaml.load(fs.readFileSync(pathToFile, \"utf8\"));\n\n if (typeof yamlFile !== \"object\" || yamlFile === null) {\n throw new Error(`The file ${pathToFile} is not a valid YAML file.`);\n }\n set(yamlFile, command.selector, newValue);\n\n fs.writeFileSync(pathToFile, jsYaml.dump(yamlFile));\n};\n"],"names":["homepage","split","stringify","object","isString","inspect","breakLength","Infinity","depth","maxArrayLength","linkify","file","errors","cmd","command","message","phase","details","template","cwd","getError","commandKey","SemanticReleaseError","isNonEmptyString","value","trim","length","VALIDATORS","validator","isNil","pluginConfig","context","commands","filter","flatMap","Object","keys","reduce","key","concat","AggregateError","verifyCommands","forEach","process","logger","newValue","log","workingDirectory","path","resolve","pathToFile","yamlFile","jsYaml","load","fs","readFileSync","Error","set","selector","writeFileSync","dump","yaml"],"mappings":"mhBAMOA,mEAAyBC,MAAM,KAChCC,EAAaC,GACjBC,UAASD,GACLA,EACAE,UAAQF,EAAQ,CAAEG,YAAaC,SAAUC,MAAO,EAAGC,eAAgB,IACnEC,EAAWC,MAAYX,iBAAwBW,IAE/CC,EAAS,CACbC,IAAMC,KACJC,8CAA+CD,EAAQE,WACvDC,gCAAiCP,6HAIYR,EAC3CY,EAAQI,iBAGZC,IAAML,KACJC,QAAS,wBACTE,gCAAiCP,EAC/B,uHAG2CR,EAAUY,EAAQK,sBAInDC,EACdC,EACAP,GAEA,MAAMC,QAAEA,EAAFE,QAAWA,GAAYL,EAAOS,GAAYP,GAChD,WAAWQ,UAAqBP,EAASM,EAAYJ,GCjCvD,MAAMM,EAAoBC,GACxBpB,WAASoB,IAAUA,EAAMC,OAAOC,OAAS,EAMrCC,EAAa,CACjBd,IAAKU,EACLJ,KALCS,EAKeL,EAL6BC,GAC3CK,QAAML,IAAUI,EAAUJ,KAD3BI,IAAAA,2BCLqBE,EAA6BC,GACnD,MAAMC,EAAWF,EAAaE,SAASC,OAAOnB,GAA6B,YAAlBA,EAAQE,OAEjE,GAAIgB,EAASN,OAAS,EAMpB,gBDI2BM,GAC7B,MAAMpB,EAASoB,EAASE,QAASpB,GAC/BqB,OAAOC,KAAKT,GAAYU,OAAO,CAACzB,EAAQ0B,KAIjCV,EAHaD,EAAWW,IACfxB,EAAQwB,IAKf1B,EAFEA,EAAO2B,OAAOnB,EAASkB,EAAKxB,IAGpC,KAGL,GAAIF,EAAOc,OAAS,EAClB,UAAUc,UAAe5B,GCvBzB6B,CAAeT,GAEfA,EAASU,QAAQ5B,ICHD,EAClBA,WACAK,IACEA,EAAMwB,QAAQxB,MADhByB,OAKEA,KACGb,0IAGL,MAAMc,EAAW3B,UAASJ,EAAQI,SAAjBA,CAA2Ba,GAE5Ca,EAAOE,IAAI,iBAAkBD,GAE7B,MAAME,EAAmBjC,EAAQK,IAAM6B,UAAKC,QAAQ9B,EAAKL,EAAQK,KAAOA,EAClE+B,EAAaF,UAAKC,QAAQF,EAAkBjC,EAAQH,MAEpDwC,EAAWC,UAAOC,KAAKC,UAAGC,aAAaL,EAAY,SAEzD,GAAwB,iBAAbC,GAAsC,OAAbA,EAClC,UAAUK,kBAAkBN,+BAE9BO,UAAIN,EAAUrC,EAAQ4C,SAAUb,GAEhCS,UAAGK,cAAcT,EAAYE,UAAOQ,KAAKT,KDrBrCU,CAAK/C,EAASiB,KAET"}
|
package/package.json
CHANGED