@karmaniverous/get-dotenv 2.4.1 → 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.
@@ -2,12 +2,11 @@
2
2
 
3
3
  // Import npm packages.
4
4
  import spawn from 'cross-spawn';
5
- import branch from 'git-branch';
6
5
  import _ from 'lodash';
7
6
  import { parseArgsStringToArgv } from 'string-argv';
8
7
 
9
8
  // Import package exports.
10
- import { getDotenv } from '@karmaniverous/get-dotenv';
9
+ import { getDotenv, parseBranch } from '@karmaniverous/get-dotenv';
11
10
 
12
11
  // Create CLI.
13
12
  import { program } from 'commander';
@@ -118,11 +117,12 @@ const {
118
117
 
119
118
  if (command && program.args.length) program.error('command specified twice');
120
119
 
120
+ if (branchToDefault) {
121
+ var { envToken } = parseBranch();
122
+ }
123
+
121
124
  // Get environment.
122
- const env =
123
- environment ??
124
- defaultEnvironment ??
125
- (branchToDefault ? branch.sync() : undefined);
125
+ const env = environment ?? envToken ?? defaultEnvironment;
126
126
 
127
127
  // Load dotenvs.
128
128
  await getDotenv({
@@ -8,7 +8,7 @@ var _dotenvExpand = require("dotenv-expand");
8
8
  var _fsExtra = _interopRequireDefault(require("fs-extra"));
9
9
  var _path = _interopRequireDefault(require("path"));
10
10
  var _uuid = require("uuid");
11
- var _readDotenv = require("../readDotEnv/readDotenv.js");
11
+ var _readDotenv = require("./readDotenv.js");
12
12
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
13
  // npm imports
14
14
 
@@ -15,4 +15,11 @@ Object.defineProperty(exports, "getDotenvSync", {
15
15
  return _getDotenv.getDotenvSync;
16
16
  }
17
17
  });
18
- var _getDotenv = require("./getDotenv/getDotenv.js");
18
+ Object.defineProperty(exports, "parseBranch", {
19
+ enumerable: true,
20
+ get: function () {
21
+ return _parseBranch.parseBranch;
22
+ }
23
+ });
24
+ var _getDotenv = require("./getDotenv.js");
25
+ var _parseBranch = require("./parseBranch.js");
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.parseBranch = void 0;
7
+ var _gitBranch = _interopRequireDefault(require("git-branch"));
8
+ var _lodash = _interopRequireDefault(require("lodash"));
9
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
10
+ // npm imports
11
+
12
+ const parseBranch = branchName => {
13
+ try {
14
+ branchName ??= _gitBranch.default.sync();
15
+ } catch {
16
+ branchName ??= '';
17
+ }
18
+ return _lodash.default.omitBy(branchName.match(/^(?<branchType>[^/\s]+)(?:\/(?<branchLabel>[^/\s]+)(?:\/(?<envToken>[^/\s]+))?)?$/)?.groups ?? {}, _lodash.default.isNil);
19
+ };
20
+ exports.parseBranch = parseBranch;
@@ -5,7 +5,7 @@ import path from 'path';
5
5
  import { v4 as uuid } from 'uuid';
6
6
 
7
7
  // lib imports
8
- import { readDotenv, readDotenvSync } from '../readDotEnv/readDotenv.js';
8
+ import { readDotenv, readDotenvSync } from './readDotenv.js';
9
9
 
10
10
  /**
11
11
  * get-dotenv options type
package/lib/index.js CHANGED
@@ -1 +1,2 @@
1
- export { getDotenv, getDotenvSync } from './getDotenv/getDotenv.js';
1
+ export { getDotenv, getDotenvSync } from './getDotenv.js';
2
+ export { parseBranch } from './parseBranch.js';
@@ -0,0 +1,18 @@
1
+ // npm imports
2
+ import branch from 'git-branch';
3
+ import _ from 'lodash';
4
+
5
+ export const parseBranch = (branchName) => {
6
+ try {
7
+ branchName ??= branch.sync();
8
+ } catch {
9
+ branchName ??= '';
10
+ }
11
+
12
+ return _.omitBy(
13
+ branchName.match(
14
+ /^(?<branchType>[^/\s]+)(?:\/(?<branchLabel>[^/\s]+)(?:\/(?<envToken>[^/\s]+))?)?$/
15
+ )?.groups ?? {},
16
+ _.isNil
17
+ );
18
+ };
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "bin": {
4
4
  "getdotenv": "bin/getdotenv/index.js"
5
5
  },
6
- "version": "2.4.1",
6
+ "version": "2.4.2",
7
7
  "publishConfig": {
8
8
  "access": "public"
9
9
  },
File without changes