rhachet-roles-bhuild 0.5.7 → 0.5.9

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.
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.setBranchBehaviorBind = void 0;
4
4
  const fs_1 = require("fs");
5
+ const helpful_errors_1 = require("helpful-errors");
5
6
  const path_1 = require("path");
6
7
  const flattenBranchName_1 = require("./flattenBranchName");
7
8
  const getBranchBehaviorBind_1 = require("./getBranchBehaviorBind");
@@ -13,7 +14,11 @@ const getBranchBehaviorBind_1 = require("./getBranchBehaviorBind");
13
14
  * @returns success status and message
14
15
  */
15
16
  const setBranchBehaviorBind = (input, context) => {
16
- const flatBranch = (0, flattenBranchName_1.flattenBranchName)({ branchName: input.branchName });
17
+ // reject bind to main or master branch
18
+ const branchesProtected = ['main', 'master'];
19
+ if (branchesProtected.includes(input.branchName))
20
+ throw new helpful_errors_1.BadRequestError(`can not bind '${input.branchName}' branch to a behavior. please switch to a scoped branch first, then run bind again`, { branchName: input.branchName, branchesProtected });
21
+ const branchFlat = (0, flattenBranchName_1.flattenBranchName)({ branchName: input.branchName });
17
22
  // check if already bound
18
23
  const bound = (0, getBranchBehaviorBind_1.getBranchBehaviorBind)({ branchName: input.branchName }, context);
19
24
  if (bound.behaviorDir) {
@@ -35,10 +40,8 @@ const setBranchBehaviorBind = (input, context) => {
35
40
  const bindDir = (0, path_1.join)(input.behaviorDir, '.bind');
36
41
  (0, fs_1.mkdirSync)(bindDir, { recursive: true });
37
42
  // create bind flag with metadata
38
- const flagPath = (0, path_1.join)(bindDir, `${flatBranch}.flag`);
39
- const boundAt = new Date().toISOString().replace(/\.\d{3}Z$/, 'Z');
43
+ const flagPath = (0, path_1.join)(bindDir, `${branchFlat}.flag`);
40
44
  (0, fs_1.writeFileSync)(flagPath, `branch: ${input.branchName}
41
- bound_at: ${boundAt}
42
45
  bound_by: ${input.boundBy ?? 'bind.behavior skill'}
43
46
  `);
44
47
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"setBranchBehaviorBind.js","sourceRoot":"","sources":["../../../../src/domain.operations/behavior/bind/setBranchBehaviorBind.ts"],"names":[],"mappings":";;;AAAA,2BAA8C;AAC9C,+BAAsC;AAEtC,2DAAwD;AACxD,mEAAgE;AAEhE;;;;;;GAMG;AACI,MAAM,qBAAqB,GAAG,CACnC,KAIC,EACD,OAA0B,EACqC,EAAE;IACjE,MAAM,UAAU,GAAG,IAAA,qCAAiB,EAAC,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC;IAEvE,yBAAyB;IACzB,MAAM,KAAK,GAAG,IAAA,6CAAqB,EACjC,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,EAChC,OAAO,CACR,CAAC;IAEF,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;QACtB,IAAI,KAAK,CAAC,WAAW,KAAK,KAAK,CAAC,WAAW,EAAE,CAAC;YAC5C,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE,qBAAqB,IAAA,eAAQ,EAAC,KAAK,CAAC,WAAW,CAAC,EAAE;gBAC3D,YAAY,EAAE,IAAI;aACnB,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,OAAO,EAAE,+CAA+C,IAAA,eAAQ,EAAC,KAAK,CAAC,WAAW,CAAC,EAAE;aACtF,CAAC;QACJ,CAAC;IACH,CAAC;IAED,kCAAkC;IAClC,MAAM,OAAO,GAAG,IAAA,WAAI,EAAC,KAAK,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IACjD,IAAA,cAAS,EAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAExC,iCAAiC;IACjC,MAAM,QAAQ,GAAG,IAAA,WAAI,EAAC,OAAO,EAAE,GAAG,UAAU,OAAO,CAAC,CAAC;IACrD,MAAM,OAAO,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;IACnE,IAAA,kBAAa,EACX,QAAQ,EACR,WAAW,KAAK,CAAC,UAAU;YACnB,OAAO;YACP,KAAK,CAAC,OAAO,IAAI,qBAAqB;CACjD,CACE,CAAC;IAEF,OAAO;QACL,OAAO,EAAE,IAAI;QACb,OAAO,EAAE,iBAAiB,KAAK,CAAC,UAAU,SAAS,IAAA,eAAQ,EAAC,KAAK,CAAC,WAAW,CAAC,EAAE;KACjF,CAAC;AACJ,CAAC,CAAC;AAlDW,QAAA,qBAAqB,yBAkDhC"}
1
+ {"version":3,"file":"setBranchBehaviorBind.js","sourceRoot":"","sources":["../../../../src/domain.operations/behavior/bind/setBranchBehaviorBind.ts"],"names":[],"mappings":";;;AAAA,2BAA8C;AAC9C,mDAAiD;AACjD,+BAAsC;AAEtC,2DAAwD;AACxD,mEAAgE;AAEhE;;;;;;GAMG;AACI,MAAM,qBAAqB,GAAG,CACnC,KAIC,EACD,OAA0B,EACqC,EAAE;IACjE,uCAAuC;IACvC,MAAM,iBAAiB,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC7C,IAAI,iBAAiB,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC;QAC9C,MAAM,IAAI,gCAAe,CACvB,iBAAiB,KAAK,CAAC,UAAU,qFAAqF,EACtH,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,iBAAiB,EAAE,CACpD,CAAC;IAEJ,MAAM,UAAU,GAAG,IAAA,qCAAiB,EAAC,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC;IAEvE,yBAAyB;IACzB,MAAM,KAAK,GAAG,IAAA,6CAAqB,EACjC,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,EAChC,OAAO,CACR,CAAC;IAEF,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;QACtB,IAAI,KAAK,CAAC,WAAW,KAAK,KAAK,CAAC,WAAW,EAAE,CAAC;YAC5C,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE,qBAAqB,IAAA,eAAQ,EAAC,KAAK,CAAC,WAAW,CAAC,EAAE;gBAC3D,YAAY,EAAE,IAAI;aACnB,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,OAAO,EAAE,+CAA+C,IAAA,eAAQ,EAAC,KAAK,CAAC,WAAW,CAAC,EAAE;aACtF,CAAC;QACJ,CAAC;IACH,CAAC;IAED,kCAAkC;IAClC,MAAM,OAAO,GAAG,IAAA,WAAI,EAAC,KAAK,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IACjD,IAAA,cAAS,EAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAExC,iCAAiC;IACjC,MAAM,QAAQ,GAAG,IAAA,WAAI,EAAC,OAAO,EAAE,GAAG,UAAU,OAAO,CAAC,CAAC;IACrD,IAAA,kBAAa,EACX,QAAQ,EACR,WAAW,KAAK,CAAC,UAAU;YACnB,KAAK,CAAC,OAAO,IAAI,qBAAqB;CACjD,CACE,CAAC;IAEF,OAAO;QACL,OAAO,EAAE,IAAI;QACb,OAAO,EAAE,iBAAiB,KAAK,CAAC,UAAU,SAAS,IAAA,eAAQ,EAAC,KAAK,CAAC,WAAW,CAAC,EAAE;KACjF,CAAC;AACJ,CAAC,CAAC;AAxDW,QAAA,qBAAqB,yBAwDhC"}
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "rhachet-roles-bhuild",
3
3
  "author": "ehmpathy",
4
4
  "description": "roles for building resilient systems, via rhachet",
5
- "version": "0.5.7",
5
+ "version": "0.5.9",
6
6
  "repository": "ehmpathy/rhachet-roles-bhuild",
7
7
  "homepage": "https://github.com/ehmpathy/rhachet-roles-bhuild",
8
8
  "keywords": [
@@ -51,7 +51,7 @@
51
51
  "prepare:husky": "husky install && chmod ug+x .husky/*",
52
52
  "prepare": "if [ -e .git ] && [ -z $CI ]; then npm run prepare:husky && npm run prepare:rhachet; fi",
53
53
  "test:format:biome": "biome format",
54
- "prepare:rhachet": "rhachet init && rhachet roles link --role mechanic && rhachet roles init --role mechanic"
54
+ "prepare:rhachet": "rhachet init && rhachet roles link --role mechanic && rhachet roles init --role mechanic && rhachet roles link --role behaver && rhachet roles init --role behaver && rhachet roles link --role reviewer && rhachet roles init --role reviewer"
55
55
  },
56
56
  "dependencies": {
57
57
  "domain-objects": "0.31.9",