@nest-boot/bullmq 7.3.1 → 7.3.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.
@@ -1,33 +1,26 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.loadConfigFromEnv = loadConfigFromEnv;
4
+ function normalizeHostname(hostname) {
5
+ if (hostname.startsWith("[") && hostname.endsWith("]")) {
6
+ return hostname.slice(1, -1);
7
+ }
8
+ return hostname;
9
+ }
4
10
  function loadConfigFromEnv() {
5
11
  if (process.env.REDIS_URL) {
6
12
  const url = new URL(process.env.REDIS_URL);
7
13
  const port = url.port;
8
14
  const database = url.pathname.split("/")[1];
9
15
  return {
10
- host: url.hostname,
16
+ host: normalizeHostname(url.hostname),
11
17
  port: port ? +port : undefined,
12
18
  db: database ? +database : undefined,
13
- username: url.username,
14
- password: url.password,
19
+ username: decodeURIComponent(url.username),
20
+ password: decodeURIComponent(url.password),
15
21
  ...(url.protocol === "rediss:" ? { tls: {} } : {}),
16
22
  };
17
23
  }
18
- const host = process.env.REDIS_HOST;
19
- const port = process.env.REDIS_PORT;
20
- const database = process.env.REDIS_DB ?? process.env.REDIS_DATABASE;
21
- const username = process.env.REDIS_USER ?? process.env.REDIS_USERNAME;
22
- const password = process.env.REDIS_PASS ?? process.env.REDIS_PASSWORD;
23
- const tls = !!process.env.REDIS_TLS;
24
- return {
25
- host,
26
- ...(port ? { port: +port } : {}),
27
- ...(database ? { db: +database } : {}),
28
- username,
29
- password,
30
- ...(tls ? { tls: {} } : {}),
31
- };
24
+ return {};
32
25
  }
33
26
  //# sourceMappingURL=load-config-from-env.util.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"load-config-from-env.util.js","sourceRoot":"","sources":["../../src/utils/load-config-from-env.util.ts"],"names":[],"mappings":";;AAEA,8CA+BC;AA/BD,SAAgB,iBAAiB;IAC/B,IAAI,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QAC1B,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC3C,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;QACtB,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAE5C,OAAO;YACL,IAAI,EAAE,GAAG,CAAC,QAAQ;YAClB,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;YAC9B,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;YACpC,QAAQ,EAAE,GAAG,CAAC,QAAQ;YACtB,QAAQ,EAAE,GAAG,CAAC,QAAQ;YACtB,GAAG,CAAC,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACnD,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC;IACpC,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC;IACpC,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;IACpE,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;IACtE,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;IACtE,MAAM,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC;IAEpC,OAAO;QACL,IAAI;QACJ,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAChC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACtC,QAAQ;QACR,QAAQ;QACR,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC5B,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"load-config-from-env.util.js","sourceRoot":"","sources":["../../src/utils/load-config-from-env.util.ts"],"names":[],"mappings":";;AAUA,8CAiBC;AAzBD,SAAS,iBAAiB,CAAC,QAAgB;IACzC,IAAI,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACvD,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC/B,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAgB,iBAAiB;IAC/B,IAAI,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QAC1B,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC3C,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;QACtB,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAE5C,OAAO;YACL,IAAI,EAAE,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC;YACrC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;YAC9B,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;YACpC,QAAQ,EAAE,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC;YAC1C,QAAQ,EAAE,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC;YAC1C,GAAG,CAAC,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACnD,CAAC;IACJ,CAAC;IAED,OAAO,EAAE,CAAC;AACZ,CAAC"}
@@ -4,20 +4,22 @@ const load_config_from_env_util_1 = require("./load-config-from-env.util");
4
4
  const ORIGINAL_ENV = process.env;
5
5
  describe("loadConfigFromEnv", () => {
6
6
  beforeEach(() => {
7
- process.env = Object.fromEntries(Object.entries(ORIGINAL_ENV).filter(([key]) => !key.startsWith("REDIS_")));
7
+ process.env = { ...ORIGINAL_ENV };
8
+ delete process.env.REDIS_URL;
8
9
  });
9
10
  afterAll(() => {
10
11
  process.env = ORIGINAL_ENV;
11
12
  });
12
13
  it("should load Redis config from URL", () => {
13
- process.env.REDIS_URL = "rediss://user:pass@redis.local:6380/2";
14
+ process.env.REDIS_URL =
15
+ "rediss://user%40example.com:p%40ss%2Fword@redis.local:6380/2";
14
16
  expect((0, load_config_from_env_util_1.loadConfigFromEnv)()).toEqual({
15
17
  db: 2,
16
18
  host: "redis.local",
17
- password: "pass",
19
+ password: "p@ss/word",
18
20
  port: 6380,
19
21
  tls: {},
20
- username: "user",
22
+ username: "user@example.com",
21
23
  });
22
24
  });
23
25
  it("should omit optional URL config when Redis URL does not include it", () => {
@@ -30,28 +32,15 @@ describe("loadConfigFromEnv", () => {
30
32
  username: "",
31
33
  });
32
34
  });
33
- it("should load Redis config from host variables", () => {
34
- process.env.REDIS_HOST = "redis.local";
35
- process.env.REDIS_PORT = "6379";
36
- process.env.REDIS_DATABASE = "3";
37
- process.env.REDIS_USERNAME = "user";
38
- process.env.REDIS_PASSWORD = "pass";
39
- process.env.REDIS_TLS = "true";
40
- expect((0, load_config_from_env_util_1.loadConfigFromEnv)()).toEqual({
41
- db: 3,
42
- host: "redis.local",
43
- password: "pass",
35
+ it("should strip brackets from an IPv6 URL hostname", () => {
36
+ process.env.REDIS_URL = "redis://[2001:db8::1]:6379/0";
37
+ expect((0, load_config_from_env_util_1.loadConfigFromEnv)()).toMatchObject({
38
+ host: "2001:db8::1",
44
39
  port: 6379,
45
- tls: {},
46
- username: "user",
47
40
  });
48
41
  });
49
- it("should omit optional config when environment variables are absent", () => {
50
- expect((0, load_config_from_env_util_1.loadConfigFromEnv)()).toEqual({
51
- host: undefined,
52
- password: undefined,
53
- username: undefined,
54
- });
42
+ it("should return empty config when REDIS_URL is absent", () => {
43
+ expect((0, load_config_from_env_util_1.loadConfigFromEnv)()).toEqual({});
55
44
  });
56
45
  });
57
46
  //# sourceMappingURL=load-config-from-env.util.spec.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"load-config-from-env.util.spec.js","sourceRoot":"","sources":["../../src/utils/load-config-from-env.util.spec.ts"],"names":[],"mappings":";;AAAA,2EAAgE;AAEhE,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC;AAEjC,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;IACjC,UAAU,CAAC,GAAG,EAAE;QACd,OAAO,CAAC,GAAG,GAAG,MAAM,CAAC,WAAW,CAC9B,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAC1E,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,GAAG,EAAE;QACZ,OAAO,CAAC,GAAG,GAAG,YAAY,CAAC;IAC7B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mCAAmC,EAAE,GAAG,EAAE;QAC3C,OAAO,CAAC,GAAG,CAAC,SAAS,GAAG,uCAAuC,CAAC;QAEhE,MAAM,CAAC,IAAA,6CAAiB,GAAE,CAAC,CAAC,OAAO,CAAC;YAClC,EAAE,EAAE,CAAC;YACL,IAAI,EAAE,aAAa;YACnB,QAAQ,EAAE,MAAM;YAChB,IAAI,EAAE,IAAI;YACV,GAAG,EAAE,EAAE;YACP,QAAQ,EAAE,MAAM;SACjB,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oEAAoE,EAAE,GAAG,EAAE;QAC5E,OAAO,CAAC,GAAG,CAAC,SAAS,GAAG,qBAAqB,CAAC;QAE9C,MAAM,CAAC,IAAA,6CAAiB,GAAE,CAAC,CAAC,OAAO,CAAC;YAClC,EAAE,EAAE,SAAS;YACb,IAAI,EAAE,aAAa;YACnB,QAAQ,EAAE,EAAE;YACZ,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,EAAE;SACb,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;QACtD,OAAO,CAAC,GAAG,CAAC,UAAU,GAAG,aAAa,CAAC;QACvC,OAAO,CAAC,GAAG,CAAC,UAAU,GAAG,MAAM,CAAC;QAChC,OAAO,CAAC,GAAG,CAAC,cAAc,GAAG,GAAG,CAAC;QACjC,OAAO,CAAC,GAAG,CAAC,cAAc,GAAG,MAAM,CAAC;QACpC,OAAO,CAAC,GAAG,CAAC,cAAc,GAAG,MAAM,CAAC;QACpC,OAAO,CAAC,GAAG,CAAC,SAAS,GAAG,MAAM,CAAC;QAE/B,MAAM,CAAC,IAAA,6CAAiB,GAAE,CAAC,CAAC,OAAO,CAAC;YAClC,EAAE,EAAE,CAAC;YACL,IAAI,EAAE,aAAa;YACnB,QAAQ,EAAE,MAAM;YAChB,IAAI,EAAE,IAAI;YACV,GAAG,EAAE,EAAE;YACP,QAAQ,EAAE,MAAM;SACjB,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mEAAmE,EAAE,GAAG,EAAE;QAC3E,MAAM,CAAC,IAAA,6CAAiB,GAAE,CAAC,CAAC,OAAO,CAAC;YAClC,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,SAAS;YACnB,QAAQ,EAAE,SAAS;SACpB,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"load-config-from-env.util.spec.js","sourceRoot":"","sources":["../../src/utils/load-config-from-env.util.spec.ts"],"names":[],"mappings":";;AAAA,2EAAgE;AAEhE,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC;AAEjC,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;IACjC,UAAU,CAAC,GAAG,EAAE;QACd,OAAO,CAAC,GAAG,GAAG,EAAE,GAAG,YAAY,EAAE,CAAC;QAClC,OAAO,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC;IAC/B,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,GAAG,EAAE;QACZ,OAAO,CAAC,GAAG,GAAG,YAAY,CAAC;IAC7B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mCAAmC,EAAE,GAAG,EAAE;QAC3C,OAAO,CAAC,GAAG,CAAC,SAAS;YACnB,8DAA8D,CAAC;QAEjE,MAAM,CAAC,IAAA,6CAAiB,GAAE,CAAC,CAAC,OAAO,CAAC;YAClC,EAAE,EAAE,CAAC;YACL,IAAI,EAAE,aAAa;YACnB,QAAQ,EAAE,WAAW;YACrB,IAAI,EAAE,IAAI;YACV,GAAG,EAAE,EAAE;YACP,QAAQ,EAAE,kBAAkB;SAC7B,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oEAAoE,EAAE,GAAG,EAAE;QAC5E,OAAO,CAAC,GAAG,CAAC,SAAS,GAAG,qBAAqB,CAAC;QAE9C,MAAM,CAAC,IAAA,6CAAiB,GAAE,CAAC,CAAC,OAAO,CAAC;YAClC,EAAE,EAAE,SAAS;YACb,IAAI,EAAE,aAAa;YACnB,QAAQ,EAAE,EAAE;YACZ,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,EAAE;SACb,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iDAAiD,EAAE,GAAG,EAAE;QACzD,OAAO,CAAC,GAAG,CAAC,SAAS,GAAG,8BAA8B,CAAC;QAEvD,MAAM,CAAC,IAAA,6CAAiB,GAAE,CAAC,CAAC,aAAa,CAAC;YACxC,IAAI,EAAE,aAAa;YACnB,IAAI,EAAE,IAAI;SACX,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qDAAqD,EAAE,GAAG,EAAE;QAC7D,MAAM,CAAC,IAAA,6CAAiB,GAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC1C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nest-boot/bullmq",
3
- "version": "7.3.1",
3
+ "version": "7.3.2",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "https://github.com/nest-boot/nest-boot.git",
@@ -38,10 +38,10 @@
38
38
  "rxjs": "^7.8.2",
39
39
  "ts-jest": "^29.4.4",
40
40
  "typescript": "^5.9.3",
41
- "@nest-boot/eslint-config": "^7.3.1",
42
- "@nest-boot/request-context": "^7.7.1",
43
- "@nest-boot/tsconfig": "^7.3.1",
44
- "@nest-boot/eslint-plugin": "^7.2.1"
41
+ "@nest-boot/eslint-config": "^7.3.2",
42
+ "@nest-boot/eslint-plugin": "^7.2.2",
43
+ "@nest-boot/request-context": "^7.7.2",
44
+ "@nest-boot/tsconfig": "^7.3.2"
45
45
  },
46
46
  "peerDependencies": {
47
47
  "@nest-boot/request-context": "^7.4.3",