@halospv3/hce.shared-config 2.3.2 → 2.4.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.
Files changed (44) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/README.md +159 -77
  3. package/cjs/debug.cjs +13 -0
  4. package/cjs/debug.cjs.map +1 -0
  5. package/cjs/debug.d.ts +4 -0
  6. package/cjs/debug.d.ts.map +1 -0
  7. package/cjs/dotnet/MSBuildProject.cjs +1 -1
  8. package/cjs/dotnet/dotnetHelpers.cjs +83 -87
  9. package/cjs/dotnet/dotnetHelpers.cjs.map +1 -1
  10. package/cjs/dotnet/dotnetHelpers.d.ts +3 -3
  11. package/cjs/dotnet/dotnetHelpers.d.ts.map +1 -1
  12. package/cjs/eslintConfig.cjs +6 -3
  13. package/cjs/eslintConfig.cjs.map +1 -1
  14. package/cjs/eslintConfig.d.ts.map +1 -1
  15. package/cjs/semantic-release__commit-analyzer.d.cjs +2 -0
  16. package/cjs/semantic-release__commit-analyzer.d.cjs.map +1 -0
  17. package/cjs/semanticReleaseConfig.cjs +27 -10
  18. package/cjs/semanticReleaseConfig.cjs.map +1 -1
  19. package/cjs/semanticReleaseConfig.d.ts +1 -1
  20. package/cjs/semanticReleaseConfig.d.ts.map +1 -1
  21. package/cjs/semanticReleaseConfigDotnet-wrapper.mjs +2 -1
  22. package/cjs/semanticReleaseConfigDotnet.cjs +54 -22
  23. package/cjs/semanticReleaseConfigDotnet.cjs.map +1 -1
  24. package/cjs/semanticReleaseConfigDotnet.d.ts +22 -4
  25. package/cjs/semanticReleaseConfigDotnet.d.ts.map +1 -1
  26. package/cjs/setupGitPluginSpec.cjs +2 -1
  27. package/cjs/setupGitPluginSpec.cjs.map +1 -1
  28. package/cjs/setupGitPluginSpec.d.ts +1 -0
  29. package/cjs/setupGitPluginSpec.d.ts.map +1 -1
  30. package/dotnet/.github/workflows/_unit_test.yml +0 -2
  31. package/dotnet/.github/workflows/ci.yml +2 -2
  32. package/dotnet/.github/workflows/dotnet-release.yml +9 -23
  33. package/dotnet/.github/workflows/sample-dotnet-build.yml +5 -3
  34. package/dotnet/HCE.Shared.CI.props +1 -1
  35. package/dotnet/HCE.Shared.props +4 -2
  36. package/package.json +7 -7
  37. package/src/debug.ts +9 -0
  38. package/src/dotnet/dotnetHelpers.ts +113 -108
  39. package/src/eslintConfig.ts +4 -1
  40. package/src/semantic-release__commit-analyzer.d.ts +44 -0
  41. package/src/semantic-release__git.d.ts +24 -0
  42. package/src/semanticReleaseConfig.ts +45 -8
  43. package/src/semanticReleaseConfigDotnet.ts +68 -23
  44. package/src/setupGitPluginSpec.ts +2 -1
@@ -3,15 +3,18 @@
3
3
  const jsonc = require('eslint-plugin-jsonc');
4
4
  const tseslint = require('typescript-eslint');
5
5
  const eslint = require('@eslint/js');
6
- const globals = require('globals');
6
+ const node_module = require('node:module');
7
+ var _documentCurrentScript = typeof document !== 'undefined' ? document.currentScript : null;
7
8
  const _interopDefault = e => e && e.__esModule ? e : {
8
9
  default: e
9
10
  };
10
11
  const jsonc__default = /*#__PURE__*/_interopDefault(jsonc);
11
12
  const tseslint__default = /*#__PURE__*/_interopDefault(tseslint);
12
13
  const eslint__default = /*#__PURE__*/_interopDefault(eslint);
13
- const globals__default = /*#__PURE__*/_interopDefault(globals);
14
14
 
15
+ // CJS compatibility; it started transpiling to a top-level await after upgrading from packemon 4.0.1 to 4.1.0
16
+ const require$1 = node_module.createRequire(typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : _documentCurrentScript && _documentCurrentScript.src || new URL('eslintConfig.cjs', document.baseURI).href);
17
+ const globals = require$1("globals");
15
18
  // https://eslint.org/docs/latest/use/configure/migration-guide#using-eslintrc-configs-in-flat-config
16
19
  // https://www.google.com/search?q=javascript+recurse+through+object+and+remove+undefined+properties
17
20
 
@@ -48,7 +51,7 @@ const eslintConfig = tseslint__default.default.config({
48
51
  maximumDefaultProjectFileMatchCount_THIS_WILL_SLOW_DOWN_LINTING: 32
49
52
  }
50
53
  },
51
- globals: globals__default.default.node
54
+ globals: globals.node
52
55
  }
53
56
  }, globalIgnores);
54
57
  module.exports = eslintConfig;
@@ -1 +1 @@
1
- {"version":3,"file":"eslintConfig.cjs","sources":["../src/eslintConfig.ts"],"sourcesContent":null,"names":["tseslint","jsonc","eslint","globals"],"mappings":";;;;;;;;;;;;;;AAKA;AACA;AACA;AACA,MAAM,aAAa,GAAG;AACtB,EAAE,IAAI,EAAE,gBAAgB;AACxB,EAAE,OAAO,EAAE,CAAC,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,mBAAmB,EAAE,sBAAsB,CAAC;AAC3J,CAAC,CAAC;AACF,qBAAeA,yBAAQ,CAAC,MAAM,CAAC;AAC/B,EAAE,IAAI,EAAE,+EAA+E;AACvF,EAAE,OAAO,EAAEC,sBAAK,CAAC,OAAO,CAAC,4BAA4B,CAAC;AACtD,EAAE,KAAK,EAAE,CAAC,QAAQ,EAAE,WAAW,CAAC;AAChC,EAAE,OAAO,EAAE,aAAa,CAAC,OAAO;AAChC,CAAC,EAAE;AACH,EAAE,IAAI,EAAE,gFAAgF;AACxF,EAAE,OAAO,EAAEA,sBAAK,CAAC,OAAO,CAAC,6BAA6B,CAAC;AACvD,EAAE,KAAK,EAAE,CAAC,SAAS,EAAE,YAAY,CAAC;AAClC,EAAE,OAAO,EAAE,aAAa,CAAC,OAAO;AAChC,CAAC,EAAE;AACH,EAAE,IAAI,EAAE,gFAAgF;AACxF,EAAE,OAAO,EAAEA,sBAAK,CAAC,OAAO,CAAC,6BAA6B,CAAC;AACvD,EAAE,KAAK,EAAE,CAAC,SAAS,EAAE,YAAY,CAAC;AAClC,EAAE,OAAO,EAAE,aAAa,CAAC,OAAO;AAChC,CAAC,EAAE;AACH,EAAE,IAAI,EAAE,MAAM;AACd,EAAE,OAAO,EAAE,CAACC,uBAAM,CAAC,OAAO,CAAC,WAAW,EAAE,GAAGF,yBAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,GAAGA,yBAAQ,CAAC,OAAO,CAAC,SAAS,CAAC;AAClG,EAAE,KAAK,EAAE,CAAC,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,CAAC;AAC/E,EAAE,OAAO,EAAE,aAAa,CAAC,OAAO;AAChC,EAAE,eAAe,EAAE;AACnB,IAAI,aAAa,EAAE;AACnB,MAAM,OAAO,EAAE,IAAI;AACnB;AACA,MAAM,8BAA8B,EAAE;AACtC,QAAQ,2BAA2B,EAAE,CAAC,QAAQ,CAAC;AAC/C,QAAQ,+DAA+D,EAAE,EAAE;AAC3E,OAAO;AACP,KAAK;AACL,IAAI,OAAO,EAAEG,wBAAO,CAAC,IAAI;AACzB,GAAG;AACH,CAAC,EAAE,aAAa,CAAC;;;;"}
1
+ {"version":3,"file":"eslintConfig.cjs","sources":["../src/eslintConfig.ts"],"sourcesContent":null,"names":["require","createRequire","tseslint","jsonc","eslint"],"mappings":";;;;;;;;;;;;;;AAKA;AACA,MAAMA,SAAO,GAAGC,yBAAa,CAAC,qMAAe,CAAC,CAAC;AAC/C,MAAM,OAAO,GAAGD,SAAO,CAAC,SAAS,CAAC,CAAC;AACnC;AACA;AACA;AACA,MAAM,aAAa,GAAG;AACtB,EAAE,IAAI,EAAE,gBAAgB;AACxB,EAAE,OAAO,EAAE,CAAC,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,mBAAmB,EAAE,sBAAsB,CAAC;AAC3J,CAAC,CAAC;AACF,qBAAeE,yBAAQ,CAAC,MAAM,CAAC;AAC/B,EAAE,IAAI,EAAE,+EAA+E;AACvF,EAAE,OAAO,EAAEC,sBAAK,CAAC,OAAO,CAAC,4BAA4B,CAAC;AACtD,EAAE,KAAK,EAAE,CAAC,QAAQ,EAAE,WAAW,CAAC;AAChC,EAAE,OAAO,EAAE,aAAa,CAAC,OAAO;AAChC,CAAC,EAAE;AACH,EAAE,IAAI,EAAE,gFAAgF;AACxF,EAAE,OAAO,EAAEA,sBAAK,CAAC,OAAO,CAAC,6BAA6B,CAAC;AACvD,EAAE,KAAK,EAAE,CAAC,SAAS,EAAE,YAAY,CAAC;AAClC,EAAE,OAAO,EAAE,aAAa,CAAC,OAAO;AAChC,CAAC,EAAE;AACH,EAAE,IAAI,EAAE,gFAAgF;AACxF,EAAE,OAAO,EAAEA,sBAAK,CAAC,OAAO,CAAC,6BAA6B,CAAC;AACvD,EAAE,KAAK,EAAE,CAAC,SAAS,EAAE,YAAY,CAAC;AAClC,EAAE,OAAO,EAAE,aAAa,CAAC,OAAO;AAChC,CAAC,EAAE;AACH,EAAE,IAAI,EAAE,MAAM;AACd,EAAE,OAAO,EAAE,CAACC,uBAAM,CAAC,OAAO,CAAC,WAAW,EAAE,GAAGF,yBAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,GAAGA,yBAAQ,CAAC,OAAO,CAAC,SAAS,CAAC;AAClG,EAAE,KAAK,EAAE,CAAC,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,CAAC;AAC/E,EAAE,OAAO,EAAE,aAAa,CAAC,OAAO;AAChC,EAAE,eAAe,EAAE;AACnB,IAAI,aAAa,EAAE;AACnB,MAAM,OAAO,EAAE,IAAI;AACnB;AACA,MAAM,8BAA8B,EAAE;AACtC,QAAQ,2BAA2B,EAAE,CAAC,QAAQ,CAAC;AAC/C,QAAQ,+DAA+D,EAAE,EAAE;AAC3E,OAAO;AACP,KAAK;AACL,IAAI,OAAO,EAAE,OAAO,CAAC,IAAI;AACzB,GAAG;AACH,CAAC,EAAE,aAAa,CAAC;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"eslintConfig.d.ts","sourceRoot":"","sources":["../src/eslintConfig.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,0BAA0B,CAAC;;AAwBzD,wBA2DE"}
1
+ {"version":3,"file":"eslintConfig.d.ts","sourceRoot":"","sources":["../src/eslintConfig.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,0BAA0B,CAAC;;AA2BzD,wBA2DE"}
@@ -0,0 +1,2 @@
1
+ 'use strict';
2
+ //# sourceMappingURL=semantic-release__commit-analyzer.d.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"semantic-release__commit-analyzer.d.cjs","sources":[],"sourcesContent":null,"names":[],"mappings":";;"}
@@ -1,16 +1,33 @@
1
1
  'use strict';
2
2
 
3
- const node_fs = require('node:fs');
4
- const jsYaml = require('js-yaml');
5
- const findStaticConfig = require('./findStaticConfig.cjs');
6
- const _interopDefault = e => e && e.__esModule ? e : {
7
- default: e
8
- };
9
- const jsYaml__default = /*#__PURE__*/_interopDefault(jsYaml);
3
+ const setupGitPluginSpec = require('./setupGitPluginSpec.cjs');
10
4
  const defaultPlugins = ['@semantic-release/commit-analyzer', '@semantic-release/release-notes-generator', '@semantic-release/npm', '@semantic-release/github'];
11
- const baseConfig = jsYaml__default.default.load(node_fs.readFileSync(findStaticConfig.findStaticConfig(), {
12
- encoding: 'utf8'
13
- }));
5
+ const baseConfig = {
6
+ /** @see https://semantic-release.gitbook.io/semantic-release/usage/plugins#plugin-options-configuration */
7
+ preset: 'conventionalcommits',
8
+ branches: ['main', {
9
+ name: 'develop',
10
+ channel: 'develop',
11
+ prerelease: true
12
+ }],
13
+ plugins: [["@semantic-release/commit-analyzer", {}], ["semantic-release-export-data", {}], ["@semantic-release/release-notes-generator", {}], ["@semantic-release/changelog", {}], ["@semantic-release/git", setupGitPluginSpec.DefaultOptions],
14
+ // Arbitrary shell commands - https://github.com/semantic-release/exec
15
+ // hint: set 'prepareCmd' to`dotnet publish`.
16
+ // Because this is sorted after @semantic-release / git, the new Git tag will
17
+ // be visible to dotnet(and GitVersion).Dotnet artifacts will be
18
+ // versioned accordingly.
19
+ // Plugins' Steps: https://github.com/semantic-release/semantic-release/blob/master/docs/extending/plugins-list.md
20
+ ["@semantic-release/exec", {}], ["@semantic-release/github", {
21
+ assets: [{
22
+ path: './publish/*'
23
+ }]
24
+ }]]
25
+ };
26
+
27
+ /// (OPTIONAL) update static Version strings before Git plugin
28
+ // https://github.com/jpoehnelt/semantic-release-replace-plugin
29
+ // https://github.com/droidsolutions/semantic-release-update-file
30
+
14
31
  exports.baseConfig = baseConfig;
15
32
  exports.defaultPlugins = defaultPlugins;
16
33
  //# sourceMappingURL=semanticReleaseConfig.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"semanticReleaseConfig.cjs","sources":["../src/semanticReleaseConfig.ts"],"sourcesContent":null,"names":["jsYaml","readFileSync","findStaticConfig"],"mappings":";;;;;;;;;;AAGY,MAAC,cAAc,GAAG,CAAC,mCAAmC,EAAE,2CAA2C,EAAE,uBAAuB,EAAE,0BAA0B,EAAE;AAC1J,MAAC,UAAU,GAAGA,uBAAM,CAAC,IAAI,CAACC,oBAAY,CAACC,iCAAgB,EAAE,EAAE;AACvE,EAAE,QAAQ,EAAE,MAAM;AAClB,CAAC,CAAC;;;;;"}
1
+ {"version":3,"file":"semanticReleaseConfig.cjs","sources":["../src/semanticReleaseConfig.ts"],"sourcesContent":null,"names":["DefaultOptions"],"mappings":";;;;AACY,MAAC,cAAc,GAAG,CAAC,mCAAmC,EAAE,2CAA2C,EAAE,uBAAuB,EAAE,0BAA0B,EAAE;AAC1J,MAAC,UAAU,GAAG;AAC1B;AACA,EAAE,MAAM,EAAE,qBAAqB;AAC/B,EAAE,QAAQ,EAAE,CAAC,MAAM,EAAE;AACrB,IAAI,IAAI,EAAE,SAAS;AACnB,IAAI,OAAO,EAAE,SAAS;AACtB,IAAI,UAAU,EAAE,IAAI;AACpB,GAAG,CAAC;AACJ,EAAE,OAAO,EAAE,CAAC,CAAC,mCAAmC,EAAE,EAAE,CAAC,EAAE,CAAC,8BAA8B,EAAE,EAAE,CAAC,EAAE,CAAC,2CAA2C,EAAE,EAAE,CAAC,EAAE,CAAC,6BAA6B,EAAE,EAAE,CAAC,EAAE,CAAC,uBAAuB,EAAEA,iCAAc,CAAC;AAC9N;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,CAAC,wBAAwB,EAAE,EAAE,CAAC,EAAE,CAAC,0BAA0B,EAAE;AAC/D,IAAI,MAAM,EAAE,CAAC;AACb,MAAM,IAAI,EAAE,aAAa;AACzB,KAAK,CAAC;AACN,GAAG,CAAC,CAAC;AACL,EAAE;AACF;AACA;AACA;AACA;;;;;"}
@@ -1,4 +1,4 @@
1
1
  import type { Options, PluginSpec } from 'semantic-release';
2
- export declare const defaultPlugins: PluginSpec[];
2
+ export declare const defaultPlugins: readonly PluginSpec[];
3
3
  export declare const baseConfig: Options;
4
4
  //# sourceMappingURL=semanticReleaseConfig.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"semanticReleaseConfig.d.ts","sourceRoot":"","sources":["../src/semanticReleaseConfig.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAG5D,eAAO,MAAM,cAAc,cAK1B,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,OAEb,CAAC"}
1
+ {"version":3,"file":"semanticReleaseConfig.d.ts","sourceRoot":"","sources":["../src/semanticReleaseConfig.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAK5D,eAAO,MAAM,cAAc,EAAE,SAAS,UAAU,EAK/C,CAAC;AAEF,eAAO,MAAM,UAAU,SAmCX,CAAC"}
@@ -3,4 +3,5 @@
3
3
 
4
4
  import data from './semanticReleaseConfigDotnet.cjs';
5
5
 
6
- export const { appendPlugins, getConfig, insertAndEditPlugins } = data;
6
+ export const { appendPlugins, getConfig, insertAndEditPlugins } = data;
7
+ export default data.default;
@@ -2,13 +2,16 @@
2
2
 
3
3
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
4
4
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
5
- function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
5
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
6
6
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
7
7
  function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
8
- const node_console = require('node:console');
8
+ Object.defineProperty(exports, '__esModule', {
9
+ value: true
10
+ });
9
11
  const dotnetHelpers = require('./dotnet/dotnetHelpers.cjs');
10
12
  const semanticReleaseConfig = require('./semanticReleaseConfig.cjs');
11
13
  const setupGitPluginSpec = require('./setupGitPluginSpec.cjs');
14
+ const debug = require('./debug.cjs');
12
15
 
13
16
  /** Semantic-Release Config Factory (dotnet)
14
17
  * A functional Semantic-Release configuration for dotnet projects
@@ -34,16 +37,22 @@ const setupGitPluginSpec = require('./setupGitPluginSpec.cjs');
34
37
  * @returns a modified copy of {@link config}
35
38
  */
36
39
  function insertAndEditPlugins(config) {
37
- const newConfig = config;
38
40
  // const insertAndEditCommands = [];
39
- newConfig.plugins = [...(config.plugins ?? semanticReleaseConfig.defaultPlugins)];
40
- newConfig.plugins = setupGitPluginSpec.setupGitPluginSpec(newConfig.plugins);
41
- return newConfig;
41
+ config.plugins = [...(config.plugins ?? semanticReleaseConfig.defaultPlugins)];
42
+ config.plugins = setupGitPluginSpec.setupGitPluginSpec(config.plugins);
43
+ return config;
42
44
  }
45
+
46
+ /**
47
+ * Currently, only configures `@semantic-release/exec` with `prepareCmd: configurePrepareCmd(projectsToPublish, projectsToPackAndPush)` and `publishCmd: configureDotnetNugetPush()`
48
+ * @param config
49
+ * @param projectsToPublish
50
+ * @param projectsToPackAndPush
51
+ * @returns config with the specified plugins and plugin options.
52
+ */
43
53
  function appendPlugins(config, projectsToPublish, projectsToPackAndPush) {
44
- const newConfig = config;
45
- if (newConfig.plugins === undefined) throw new Error('Plugins array was undefined when it should be an array!');
46
- newConfig.plugins.push(
54
+ if (config.plugins === undefined) throw new Error('Plugins array was undefined when it should be an array!');
55
+ config.plugins.push(
47
56
  // APPEND this array of [pluginName, pluginConfig] to plugins
48
57
  // https://github.com/semantic-release/exec#usage
49
58
  ['@semantic-release/exec', {
@@ -51,28 +60,51 @@ function appendPlugins(config, projectsToPublish, projectsToPackAndPush) {
51
60
  prepareCmd: dotnetHelpers.configurePrepareCmd(projectsToPublish, projectsToPackAndPush),
52
61
  publishCmd: dotnetHelpers.configureDotnetNugetPush()
53
62
  }]);
54
- return newConfig;
63
+ return config;
55
64
  }
56
65
 
57
66
  /**
58
67
  * Configures {@link baseConfig} with `@semantic-release/exec` to `dotnet` publish, pack, and push.
59
- * @param projectsToPublish
60
- * @param projectsToPackAndPush
61
- * @returns a semantic-release Options object, based on @halospv3/hce.shared-config (our base config), with the `@semantic-release/exec` plugin configured to `dotnet` publish, pack, and push the provided projects.
68
+ * @param projectsToPublish An array of dotnet projects' relative paths. If
69
+ * empty or unspecified, tries getting projects' semi-colon-separated relative
70
+ * paths from the `PROJECTS_TO_PUBLISH` environment variable. If configured as
71
+ * recommended, the projects' publish outputs will be zipped to '$PWD/publish'
72
+ * for use in the `publish` semantic-release step (typically, GitHub release).
73
+ * @param projectsToPackAndPush An array of dotnet projects' relative paths. If
74
+ * false, `dotnet pack` and `dotnet nuget push` will be left out of the exec
75
+ * commands. If empty or unspecified, tries getting projects'
76
+ * semi-colon-separated relative paths from the `PROJECTS_TO_PACK_AND_PUSH`
77
+ * environment variable. If configured as recommended, `dotnet pack` will output
78
+ * the nupkg/snupk files to `$PWD/publish` where they will be globbed by `dotnet
79
+ * nuget push`.
80
+ * @returns a semantic-release Options object, based on `@halospv3/hce.shared-config` (our base config), with the `@semantic-release/exec` plugin configured to `dotnet publish`, `pack`, and `push` the specified projects.
62
81
  */
63
- function getConfig(projectsToPublish, projectsToPackAndPush) {
64
- if (process.argv.includes('--debug') || process.argv.includes('--verbose')) {
65
- node_console.log(`hce.shared-config:\n${JSON.stringify(semanticReleaseConfig.baseConfig, null, 2)}`);
82
+ function getConfig(projectsToPublish = [], projectsToPackAndPush = []) {
83
+ if (debug.enabled) {
84
+ debug('hce.shared-config:\n%o', semanticReleaseConfig.baseConfig);
85
+ }
86
+ const errors = [];
87
+ if (projectsToPublish.length === 0) {
88
+ const _ = process.env["PROJECTS_TO_PUBLISH"];
89
+ if (_ === undefined) errors.push(new Error("projectsToPublish.length must be > 0 or PROJECTS_TO_PUBLISH must be defined and contain at least one path."));else projectsToPublish = _.split(';');
90
+ }
91
+ if (projectsToPackAndPush && projectsToPackAndPush.length) {
92
+ const _ = process.env["PROJECTS_TO_PACK_AND_PUSH"];
93
+ if (_ === undefined) errors.push(new Error("projectsToPackAndPush.length must be > 0 or PROJECTS_TO_PACK_AND_PUSH must be defined and contain at least one path."));else projectsToPackAndPush = _.split(';');
94
+ }
95
+ if (errors.length > 0) {
96
+ throw new Error(["getConfig cannot continue. One or more errors occurred.", ...errors.map(v => v.message)].join('\n'));
66
97
  }
67
- let newConfig = _objectSpread({}, semanticReleaseConfig.baseConfig);
68
- newConfig = insertAndEditPlugins(newConfig);
69
- newConfig = appendPlugins(newConfig, projectsToPublish, projectsToPackAndPush);
70
- if (process.argv.includes('--debug') || process.argv.includes('--verbose')) {
71
- node_console.log(`modified plugins array:\n${JSON.stringify(newConfig.plugins, null, 2)}`);
98
+ let config = _objectSpread({}, semanticReleaseConfig.baseConfig);
99
+ config = insertAndEditPlugins(config);
100
+ if (projectsToPublish) config = appendPlugins(config, projectsToPublish, projectsToPackAndPush);
101
+ if (debug.enabled) {
102
+ debug('modified plugins array:\n%o', config.plugins);
72
103
  }
73
- return newConfig;
104
+ return config;
74
105
  }
75
106
  exports.appendPlugins = appendPlugins;
107
+ exports.default = getConfig;
76
108
  exports.getConfig = getConfig;
77
109
  exports.insertAndEditPlugins = insertAndEditPlugins;
78
110
  //# sourceMappingURL=semanticReleaseConfigDotnet.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"semanticReleaseConfigDotnet.cjs","sources":["../src/semanticReleaseConfigDotnet.ts"],"sourcesContent":null,"names":["defaultPlugins","setupGitPluginSpec","configurePrepareCmd","configureDotnetNugetPush","log","baseConfig"],"mappings":";;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAAS,oBAAoB,CAAC,MAAM,EAAE;AAC7C,EAAE,MAAM,SAAS,GAAG,MAAM,CAAC;AAC3B;AACA,EAAE,SAAS,CAAC,OAAO,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,IAAIA,oCAAc,EAAE,CAAC;AAC9D,EAAE,SAAS,CAAC,OAAO,GAAGC,qCAAkB,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;AAC5D,EAAE,OAAO,SAAS,CAAC;AACnB,CAAC;AACM,SAAS,aAAa,CAAC,MAAM,EAAE,iBAAiB,EAAE,qBAAqB,EAAE;AAChF,EAAE,MAAM,SAAS,GAAG,MAAM,CAAC;AAC3B,EAAE,IAAI,SAAS,CAAC,OAAO,KAAK,SAAS,EAAE,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;AAClH,EAAE,SAAS,CAAC,OAAO,CAAC,IAAI;AACxB;AACA;AACA,EAAE,CAAC,wBAAwB,EAAE;AAC7B;AACA,IAAI,UAAU,EAAEC,iCAAmB,CAAC,iBAAiB,EAAE,qBAAqB,CAAC;AAC7E,IAAI,UAAU,EAAEC,sCAAwB,EAAE;AAC1C,GAAG,CAAC,CAAC,CAAC;AACN,EAAE,OAAO,SAAS,CAAC;AACnB,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAAS,SAAS,CAAC,iBAAiB,EAAE,qBAAqB,EAAE;AACpE,EAAE,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE;AAC9E,IAAIC,gBAAG,CAAC,CAAC,oBAAoB,EAAE,IAAI,CAAC,SAAS,CAACC,gCAAU,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACtE,GAAG;AACH,EAAE,IAAI,SAAS,GAAG;AAClB,IAAI,GAAGA,gCAAU;AACjB,GAAG,CAAC;AACJ,EAAE,SAAS,GAAG,oBAAoB,CAAC,SAAS,CAAC,CAAC;AAC9C,EAAE,SAAS,GAAG,aAAa,CAAC,SAAS,EAAE,iBAAiB,EAAE,qBAAqB,CAAC,CAAC;AACjF,EAAE,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE;AAC9E,IAAID,gBAAG,CAAC,CAAC,yBAAyB,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClF,GAAG;AACH,EAAE,OAAO,SAAS,CAAC;AACnB;;;;;;"}
1
+ {"version":3,"file":"semanticReleaseConfigDotnet.cjs","sources":["../src/semanticReleaseConfigDotnet.ts"],"sourcesContent":null,"names":["defaultPlugins","setupGitPluginSpec","configurePrepareCmd","configureDotnetNugetPush","baseConfig"],"mappings":"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"}
@@ -22,12 +22,30 @@ import type { Options } from 'semantic-release';
22
22
  * @returns a modified copy of {@link config}
23
23
  */
24
24
  export declare function insertAndEditPlugins(config: Options): Options;
25
- export declare function appendPlugins(config: Options, projectsToPublish: string[], projectsToPackAndPush: string[]): Options;
26
25
  /**
27
- * Configures {@link baseConfig} with `@semantic-release/exec` to `dotnet` publish, pack, and push.
26
+ * Currently, only configures `@semantic-release/exec` with `prepareCmd: configurePrepareCmd(projectsToPublish, projectsToPackAndPush)` and `publishCmd: configureDotnetNugetPush()`
27
+ * @param config
28
28
  * @param projectsToPublish
29
29
  * @param projectsToPackAndPush
30
- * @returns a semantic-release Options object, based on @halospv3/hce.shared-config (our base config), with the `@semantic-release/exec` plugin configured to `dotnet` publish, pack, and push the provided projects.
30
+ * @returns config with the specified plugins and plugin options.
31
+ */
32
+ export declare function appendPlugins(config: Options, projectsToPublish: string[], projectsToPackAndPush: string[] | false): Options;
33
+ /**
34
+ * Configures {@link baseConfig} with `@semantic-release/exec` to `dotnet` publish, pack, and push.
35
+ * @param projectsToPublish An array of dotnet projects' relative paths. If
36
+ * empty or unspecified, tries getting projects' semi-colon-separated relative
37
+ * paths from the `PROJECTS_TO_PUBLISH` environment variable. If configured as
38
+ * recommended, the projects' publish outputs will be zipped to '$PWD/publish'
39
+ * for use in the `publish` semantic-release step (typically, GitHub release).
40
+ * @param projectsToPackAndPush An array of dotnet projects' relative paths. If
41
+ * false, `dotnet pack` and `dotnet nuget push` will be left out of the exec
42
+ * commands. If empty or unspecified, tries getting projects'
43
+ * semi-colon-separated relative paths from the `PROJECTS_TO_PACK_AND_PUSH`
44
+ * environment variable. If configured as recommended, `dotnet pack` will output
45
+ * the nupkg/snupk files to `$PWD/publish` where they will be globbed by `dotnet
46
+ * nuget push`.
47
+ * @returns a semantic-release Options object, based on `@halospv3/hce.shared-config` (our base config), with the `@semantic-release/exec` plugin configured to `dotnet publish`, `pack`, and `push` the specified projects.
31
48
  */
32
- export declare function getConfig(projectsToPublish: string[], projectsToPackAndPush: string[]): Options;
49
+ export declare function getConfig(projectsToPublish?: string[], projectsToPackAndPush?: string[] | false): Options;
50
+ export default getConfig;
33
51
  //# sourceMappingURL=semanticReleaseConfigDotnet.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"semanticReleaseConfigDotnet.d.ts","sourceRoot":"","sources":["../src/semanticReleaseConfigDotnet.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,KAAK,EAAE,OAAO,EAAc,MAAM,kBAAkB,CAAC;AAK5D;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAQ7D;AAED,wBAAgB,aAAa,CAC5B,MAAM,EAAE,OAAO,EACf,iBAAiB,EAAE,MAAM,EAAE,EAC3B,qBAAqB,EAAE,MAAM,EAAE,WAkB/B;AAED;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,iBAAiB,EAAE,MAAM,EAAE,EAAE,qBAAqB,EAAE,MAAM,EAAE,GAAG,OAAO,CAc/F"}
1
+ {"version":3,"file":"semanticReleaseConfigDotnet.d.ts","sourceRoot":"","sources":["../src/semanticReleaseConfigDotnet.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAc,MAAM,kBAAkB,CAAC;AAM5D;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAO7D;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAC5B,MAAM,EAAE,OAAO,EACf,iBAAiB,EAAE,MAAM,EAAE,EAC3B,qBAAqB,EAAE,MAAM,EAAE,GAAG,KAAK,GACrC,OAAO,CAgBT;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,SAAS,CAAC,iBAAiB,GAAE,MAAM,EAAO,EAAE,qBAAqB,GAAE,MAAM,EAAE,GAAG,KAAU,GAAG,OAAO,CA0CjH;AAED,eAAe,SAAS,CAAC"}
@@ -1,8 +1,9 @@
1
1
  'use strict';
2
2
 
3
3
  const GitPluginId = '@semantic-release/git';
4
+ /** As specified at https://github.com/semantic-release/git#options */
4
5
  const DefaultOptions = {
5
- assets: ['CHANGELOG.md', 'package.json', 'package-lock.json', 'npm-shrinkwrap.json'],
6
+ assets: ['README.md', 'CHANGELOG.md', 'package.json', 'package-lock.json', 'npm-shrinkwrap.json'],
6
7
  // eslint-disable-next-line no-template-curly-in-string
7
8
  message: 'chore(release): ${nextRelease.version} [skip ci]\n\n${nextRelease.notes}'
8
9
  };
@@ -1 +1 @@
1
- {"version":3,"file":"setupGitPluginSpec.cjs","sources":["../src/setupGitPluginSpec.ts"],"sourcesContent":null,"names":[],"mappings":"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"}
1
+ {"version":3,"file":"setupGitPluginSpec.cjs","sources":["../src/setupGitPluginSpec.ts"],"sourcesContent":null,"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import type { PluginSpec } from 'semantic-release';
2
2
  export declare const GitPluginId = "@semantic-release/git";
3
+ /** As specified at https://github.com/semantic-release/git#options */
3
4
  export declare const DefaultOptions: {
4
5
  assets: string[];
5
6
  message: string;
@@ -1 +1 @@
1
- {"version":3,"file":"setupGitPluginSpec.d.ts","sourceRoot":"","sources":["../src/setupGitPluginSpec.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAGnD,eAAO,MAAM,WAAW,0BAA0B,CAAC;AACnD,eAAO,MAAM,cAAc;;;CAIL,CAAC;AASvB;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,UAAU,EAAE,CA+CtE"}
1
+ {"version":3,"file":"setupGitPluginSpec.d.ts","sourceRoot":"","sources":["../src/setupGitPluginSpec.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAGnD,eAAO,MAAM,WAAW,0BAA0B,CAAC;AACnD,sEAAsE;AACtE,eAAO,MAAM,cAAc;;;CAIL,CAAC;AASvB;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,UAAU,EAAE,CA+CtE"}
@@ -17,14 +17,12 @@ jobs:
17
17
  - uses: actions/checkout@v4
18
18
  with:
19
19
  fetch-depth: 0
20
-
21
20
  - uses: actions/setup-node@v4
22
21
  with:
23
22
  cache: "npm"
24
23
  check-latest: true
25
24
  node-version-file: package.json
26
25
  - run: npm i -g npm@latest
27
-
28
26
  - run: npm ci
29
27
 
30
28
  - uses: actions/setup-dotnet@v4.0.0
@@ -4,7 +4,7 @@ name: CI
4
4
 
5
5
  on:
6
6
  push:
7
- branches-ignore: # if CI must run on these branches, Release will call CI
7
+ branches-ignore: # Ignore Release branches. The Release workflow will invoke CI
8
8
  - main
9
9
  - develop
10
10
  pull_request:
@@ -19,4 +19,4 @@ env:
19
19
  jobs:
20
20
  unit_test:
21
21
  name: Unit Test
22
- uses: ./.github/workflows/_unit_test.yml
22
+ uses: ./.github/workflows/_unit_test.yml # <- your unit test workflow here. Example: file://./_unit_test.yml
@@ -15,7 +15,7 @@ on:
15
15
  jobs:
16
16
  ci:
17
17
  name: CI # run test.yml. If it fails, this job fails.
18
- uses: ./.github/workflows/ci.yml
18
+ uses: ./.github/workflows/ci.yml # <- your CI workflow here. Example: 'file://./ci.yml'
19
19
  release:
20
20
  needs: [ci] # start 'release' if 'ci' completes successfully
21
21
  runs-on: ubuntu-latest
@@ -31,34 +31,20 @@ jobs:
31
31
  with:
32
32
  fetch-depth: 0 # Required by GitVersion, Semantic Release
33
33
  submodules: "recursive" # submodule fetch depth unknown
34
-
35
- - name: Setup Dotnet
36
- uses: actions/setup-dotnet@v4
37
-
38
- - name: Setup Node
39
- uses: actions/setup-node@v4
40
-
41
- - name: NPM - Update NPM to Latest
42
- run: npm install -g npm@latest
43
-
44
- - name: NPM - Clean Install
45
- run: npm ci # Required by Semantic Release
34
+ - uses: actions/setup-dotnet@v4
35
+ - uses: actions/setup-node@v4
36
+ - run: npm install -g npm@latest
37
+ - run: npm ci # Required by Semantic Release
46
38
 
47
39
  ################
48
40
  # RELEASE
49
- # `dotnet publish` must be executed by @semantic-release/exec
50
- # see 'dotnet/.releaserc.cjs'
41
+ # @semantic-release/exec should be configured to execute
42
+ # `dotnet publish`, `dotnet pack`, and `dotnet nuget push`
43
+ # You can use this package's semanticReleaseConfigDotnet exports to do so.
51
44
  ################
52
45
  # https://github.com/semantic-release/semantic-release
53
46
  - name: Semantic Release
54
47
  run: npx semantic-release
55
48
  env:
56
49
  GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
57
-
58
- - name: Publish to GitHub Packages
59
- working-directory: publish
60
- run: dotnet nuget push *.nupkg -s https://nuget.pkg.github.com/HaloSPV3/index.json -k ${{ secrets.GITHUB_TOKEN }}
61
-
62
- - name: Publish to nuget.org
63
- working-directory: publish
64
- run: dotnet nuget push *.nupkg -k ${{ secrets.NUGET_TOKEN }}
50
+ NUGET_TOKEN: ${{ secrets.NUGET_TOKEN }}
@@ -1,5 +1,5 @@
1
1
  # This workflow demonstrates the minimal requirements for
2
- # building, publishing, and packing a CSharp Project with DotNet CLI
2
+ # building with DotNet CLI
3
3
 
4
4
  on:
5
5
  push:
@@ -13,9 +13,11 @@ jobs:
13
13
  with:
14
14
  submodules: 'recursive'
15
15
  fetch-depth: 0
16
-
17
16
  - uses: actions/setup-dotnet@v4
18
17
 
19
18
  - run: dotnet build src/SPV3.csproj -c Release -p:ContinuousIntegrationBuild=true
20
- # ContinuousIntegrationBuild comes from dotnet/sourcelink. Make sure Deterministic is also true!
19
+ # ContinuousIntegrationBuild comes from dotnet/sourcelink.
20
+ # Make sure Deterministic is also true!
21
+ # If you use this package's dotnet props/targets files, you're good to go!
22
+ #
21
23
  # Alternatively, add a PropertyGroup with the condition " '$(CI)' != '' "
@@ -1,6 +1,6 @@
1
1
  <!-- Provides sane defaults for CI builds -->
2
2
  <Project>
3
- <PropertyGroup Condition="'$(CI)' != '' AND '$(CI)' != 'Debug'">
3
+ <PropertyGroup Condition="'$(CI)' == 'true'">
4
4
  <Configuration>Release</Configuration>
5
5
  <ContinuousIntegrationBuild>true</ContinuousIntegrationBuild>
6
6
  <Deterministic>true</Deterministic>
@@ -1,6 +1,8 @@
1
1
  <Project>
2
2
  <PropertyGroup>
3
- <HCESharedDir>$([System.IO.Path]::GetDirectoryName($(MSBuildThisFileDirectory)))</HCESharedDir>
4
- <GitVersion_Path Condition="'$(GitVersion_Path)' == ''">$(MSBuildThisFileDirectory)GitVersion.yml</GitVersion_Path>
3
+ <HCESharedDir Condition="!Exists('$(HCESharedDir)')">
4
+ $([System.IO.Path]::GetDirectoryName($([System.IO.Path]::GetDirectoryName($(MSBuildThisFileDirectory)))))
5
+ </HCESharedDir>
6
+ <GitVersion_Path Condition=" '$(GitVersion_Path)' == '' ">$(MSBuildThisFileDirectory)GitVersion.yml</GitVersion_Path>
5
7
  </PropertyGroup>
6
8
  </Project>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@halospv3/hce.shared-config",
3
- "version": "2.3.2",
3
+ "version": "2.4.2",
4
4
  "description": "Automate commit message quality, changelogs, and CI/CD releases. Exports a semantic-release shareable configuration deserialized from this package's '.releaserc.yml'. Shared resources for .NET projects are also distributed with this package.",
5
5
  "keywords": [
6
6
  "halo",
@@ -43,7 +43,7 @@
43
43
  "prepare": "husky",
44
44
  "presemantic-release": "npm run pack && npm run check",
45
45
  "semantic-release": "npx semantic-release",
46
- "test": "node --test --import tsx ./tests/**/*.test.ts",
46
+ "test": "npm run build && node --test --import tsx ./tests/**/*.test.ts",
47
47
  "type": "tsc --build",
48
48
  "validate": "packemon validate",
49
49
  "watch": "packemon watch"
@@ -68,7 +68,8 @@
68
68
  "@types/semantic-release": "^20.0.6",
69
69
  "@typescript-eslint/eslint-plugin": "^7.10.0",
70
70
  "@typescript-eslint/parser": "^7.10.0",
71
- "conventional-changelog-conventionalcommits": "^8.0.0",
71
+ "conventional-changelog-conventionalcommits": "^7.0.2",
72
+ "debug": "^4.3.4",
72
73
  "eslint-plugin-jsonc": "^2.15.1",
73
74
  "globals": "^15.3.0",
74
75
  "husky": "^9.0.11",
@@ -79,9 +80,9 @@
79
80
  "typescript-eslint": "^7.10.0"
80
81
  },
81
82
  "devDependencies": {
82
- "@babel/cli": "^7.24.5",
83
- "@babel/core": "^7.24.5",
84
- "@babel/eslint-parser": "^7.24.5",
83
+ "@babel/cli": "^7.24.6",
84
+ "@babel/core": "^7.24.6",
85
+ "@babel/eslint-parser": "^7.24.6",
85
86
  "@eslint/eslintrc": "^3.1.0",
86
87
  "@tsconfig/node-lts": "^20.1.2",
87
88
  "@types/babel__core": "^7.20.5",
@@ -89,7 +90,6 @@
89
90
  "@types/eslint__eslintrc": "^2.1.1",
90
91
  "ajv": "^8.13.0",
91
92
  "ajv-draft-04": "^1.0.0",
92
- "babel-plugin-cjs-esm-interop": "^4.0.0",
93
93
  "eslint": "^8.57.0",
94
94
  "node-fetch": "^3.3.2",
95
95
  "packemon": "^4.0.1",
package/src/debug.ts ADDED
@@ -0,0 +1,9 @@
1
+ import debug from 'debug';
2
+
3
+ const _debug = debug('@halospv3/hce.shared-config');
4
+
5
+ if (process.argv.some(v => v.includes('--debug')) || debug.enabled('*')) {
6
+ debug.enable(_debug.namespace);
7
+ }
8
+
9
+ export default _debug;