semantic-release-yaml 1.0.0 → 1.0.5
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/README.md +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/src/get-error.d.ts +2 -0
- package/dist/{index.d.ts → src/index.d.ts} +1 -1
- package/dist/{verify-commands.d.ts → src/verify-commands.d.ts} +0 -0
- package/dist/{yaml.d.ts → src/yaml.d.ts} +0 -0
- package/package.json +1 -1
- package/dist/get-error.d.ts +0 -3
package/README.md
CHANGED
package/dist/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var e=require("path"),
|
|
1
|
+
var e=require("path"),r=require("lodash/template"),t=require("js-yaml"),a=require("fs"),l=require("lodash/set"),i=require("lodash"),o=require("aggregate-error"),n=require("@semantic-release/error"),s=require("lodash/isString"),d=require("util");function u(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var f=/*#__PURE__*/u(e),c=/*#__PURE__*/u(r),p=/*#__PURE__*/u(t),h=/*#__PURE__*/u(a),g=/*#__PURE__*/u(l),m=/*#__PURE__*/u(o),v=/*#__PURE__*/u(n),y=/*#__PURE__*/u(s);const w=["cwd","env","stdout","stderr","logger"],[q]="https://github.com/meesvandongen/semantic-release-yaml#readme".split("#"),k=e=>i.isString(e)&&e.trim().length>0,b=[{key:"cwd",validator:(j=k,e=>i.isNil(e)||j(e))},{key:"file",validator:k},{key:"phase",validator:k},{key:"selector",validator:k},{key:"template",validator:k}];var j;exports.prepare=function(e,r){const t=e.commands.filter(e=>"prepare"===e.phase);if(t.length>0)return function(e){const r=e.flatMap(e=>b.reduce((r,{key:t,validator:a})=>a(e[t])?r:r.concat(function(e,r){const t=[`for usage, see ${q}/blob/master/README.md#options`,"",`Your configuration for the \`${e}\` option is \`${a=r[e],y.default(a)?a:d.inspect(a,{breakLength:Infinity,depth:2,maxArrayLength:5})}\`.`].join("\n");var a;return new v.default(`Invalid \`${e}\` option.`,e,t)}(t,e)),[]));if(r.length>0)throw new m.default(r)}(t),t.forEach(e=>{((e,r)=>{let{cwd:t=process.cwd(),logger:a}=r,l=function(e,r){if(null==e)return{};var t,a,l={},i=Object.keys(e);for(a=0;a<i.length;a++)r.indexOf(t=i[a])>=0||(l[t]=e[t]);return l}(r,w);const i=c.default(e.template)(l);a.log("Call script %s",i);const o=e.cwd?f.default.resolve(t,e.cwd):t,n=f.default.resolve(o,e.file),s=p.default.load(h.default.readFileSync(n,"utf8"));if("object"!=typeof s||null===s)throw new Error(`The file ${n} is not a valid YAML file.`);g.default(s,e.selector,i),h.default.writeFileSync(n,p.default.dump(s))})(e,r)}),"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(\"#\");\n\nfunction stringify(object: unknown) {\n if (isString(object)) {\n return object;\n }\n return inspect(object, {\n breakLength: Infinity,\n depth: 2,\n maxArrayLength: 5,\n });\n}\n\nfunction linkify(file: string) {\n return `${homepage}/blob/master/${file}`;\n}\n\nexport function getError(key: keyof Command, command: Command): Error {\n const message = [\n `for usage, see ${linkify(\"README.md#options\")}`,\n \"\",\n `Your configuration for the \\`${key}\\` option is \\`${stringify(\n command[key]\n )}\\`.`,\n ].join(\"\\n\");\n return new SemanticReleaseError(`Invalid \\`${key}\\` option.`, key, message);\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\ninterface Validator {\n key: keyof Command;\n validator: (value: unknown) => boolean;\n}\nconst validators: Array<Validator> = [\n { key: \"cwd\", validator: isOptional(isNonEmptyString) },\n { key: \"file\", validator: isNonEmptyString },\n { key: \"phase\", validator: isNonEmptyString },\n { key: \"selector\", validator: isNonEmptyString },\n { key: \"template\", validator: isNonEmptyString },\n];\n\nexport function verifyCommands(commands: Array<Command>) {\n const errors = commands.flatMap((command) =>\n validators.reduce((errors, { key, validator }) => {\n const value = command[key];\n\n if (!validator(value)) {\n return errors.concat(getError(key, command));\n }\n return errors;\n }, [] as Array<Error>)\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","isNonEmptyString","value","isString","trim","length","validators","key","validator","isNil","pluginConfig","context","commands","filter","command","phase","errors","flatMap","reduce","concat","message","object","inspect","breakLength","Infinity","depth","maxArrayLength","join","SemanticReleaseError","getError","AggregateError","verifyCommands","forEach","cwd","process","logger","newValue","template","log","workingDirectory","path","resolve","pathToFile","file","yamlFile","jsYaml","load","fs","readFileSync","Error","set","selector","writeFileSync","dump","yaml"],"mappings":"mhBAMOA,mEAAyBC,MAAM,KCAhCC,EAAoBC,GACxBC,WAASD,IAAUA,EAAME,OAAOC,OAAS,EAUrCC,EAA+B,CACnC,CAAEC,IAAK,MAAOC,WARbA,EAQmCP,EARSC,GAC3CO,QAAMP,IAAUM,EAAUN,KAQ5B,CAAEK,IAAK,OAAQC,UAAWP,GAC1B,CAAEM,IAAK,QAASC,UAAWP,GAC3B,CAAEM,IAAK,WAAYC,UAAWP,GAC9B,CAAEM,IAAK,WAAYC,UAAWP,IAZ7BO,IAAAA,2BCLqBE,EAA6BC,GACnD,MAAMC,EAAWF,EAAaE,SAASC,OAAOC,GAA6B,YAAlBA,EAAQC,OAEjE,GAAIH,EAASP,OAAS,EAMpB,gBDW2BO,GAC7B,MAAMI,EAASJ,EAASK,QAASH,GAC/BR,EAAWY,OAAO,CAACF,GAAUT,IAAAA,EAAKC,UAAAA,KAG3BA,EAFSM,EAAQP,IAKfS,EAFEA,EAAOG,gBDRGZ,EAAoBO,GAC3C,MAAMM,EAAU,mBAJNrB,kCAMR,mCACgCQ,mBAnBjBc,EAoBbP,EAAQP,GAnBRJ,UAASkB,GACJA,EAEFC,UAAQD,EAAQ,CACrBE,YAAaC,SACbC,MAAO,EACPC,eAAgB,UAehBC,KAAK,MAtBT,IAAmBN,EAuBjB,WAAWO,uBAAkCrB,cAAiBA,EAAKa,GCAxCS,CAAStB,EAAKO,IAGpC,KAGL,GAAIE,EAAOX,OAAS,EAClB,UAAUyB,UAAed,GC7BzBe,CAAenB,GAEfA,EAASoB,QAAQlB,ICHD,EAClBA,WACAmB,IACEA,EAAMC,QAAQD,MADhBE,OAKEA,KACGxB,0IAGL,MAAMyB,EAAWC,UAASvB,EAAQuB,SAAjBA,CAA2B1B,GAE5CwB,EAAOG,IAAI,iBAAkBF,GAE7B,MAAMG,EAAmBzB,EAAQmB,IAAMO,UAAKC,QAAQR,EAAKnB,EAAQmB,KAAOA,EAClES,EAAaF,UAAKC,QAAQF,EAAkBzB,EAAQ6B,MAEpDC,EAAWC,UAAOC,KAAKC,UAAGC,aAAaN,EAAY,SAEzD,GAAwB,iBAAbE,GAAsC,OAAbA,EAClC,UAAUK,kBAAkBP,+BAE9BQ,UAAIN,EAAU9B,EAAQqC,SAAUf,GAEhCW,UAAGK,cAAcV,EAAYG,UAAOQ,KAAKT,KDrBrCU,CAAKxC,EAASH,KAET"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { Configuration } from "./definitions/configuration.interface";
|
|
2
2
|
import { SemanticContext } from "./definitions/semantic-context.interface";
|
|
3
|
-
export declare function prepare(pluginConfig: Configuration, context: SemanticContext):
|
|
3
|
+
export declare function prepare(pluginConfig: Configuration, context: SemanticContext): "Prepared" | undefined;
|
|
File without changes
|
|
File without changes
|
package/package.json
CHANGED
package/dist/get-error.d.ts
DELETED