@nodesecure/rc 1.5.0 → 2.1.0

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/LICENSE CHANGED
@@ -1,6 +1,6 @@
1
1
  MIT License
2
2
 
3
- Copyright (c) 2021 NodeSecure
3
+ Copyright (c) 2021-2024 NodeSecure
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
package/README.md CHANGED
@@ -21,7 +21,7 @@ NodeSecure runtime configuration.
21
21
 
22
22
  ## Requirements
23
23
 
24
- - [Node.js](https://nodejs.org/en/) v16 or higher
24
+ - [Node.js](https://nodejs.org/en/) v18 or higher
25
25
 
26
26
  ## Getting Started
27
27
 
@@ -167,6 +167,17 @@ export interface memoizedOptions {
167
167
  ```
168
168
  If the `defaultValue` property is at null, then this value will be returned when `memoized` is called.
169
169
 
170
+ ### maybeMemoized(): Option< Partial< RC > >
171
+
172
+ Same as memoized but return an Option monad.
173
+
174
+ ```ts
175
+ import * as RC from "@nodesecure/rc";
176
+
177
+ const memoized = RC.maybeMemoized()
178
+ .unwrapOr({}); // Some default RC here
179
+ ```
180
+
170
181
  ### clearMemoized(): void
171
182
  Clear/reset memoized RC
172
183
 
@@ -1,3 +1,4 @@
1
+ import { Option } from "@openally/result";
1
2
  import { RC } from "../rc.js";
2
3
  export interface memoizeOptions {
3
4
  /**
@@ -11,4 +12,5 @@ export interface memoizedOptions {
11
12
  defaultValue: Partial<RC>;
12
13
  }
13
14
  export declare function memoized(options?: memoizedOptions): Partial<RC> | null;
15
+ export declare function maybeMemoized(): Option<Partial<RC>>;
14
16
  export declare function clearMemoized(): void;
@@ -1,5 +1,6 @@
1
1
  // Import Third-party Dependencies
2
2
  import merge from "lodash.merge";
3
+ import { Some, None } from "@openally/result";
3
4
  let memoizedValue = null;
4
5
  export function memoize(payload, options = {}) {
5
6
  const { overwrite = true } = options;
@@ -14,6 +15,11 @@ export function memoized(options) {
14
15
  const { defaultValue = null } = options ?? {};
15
16
  return memoizedValue ?? defaultValue;
16
17
  }
18
+ export function maybeMemoized() {
19
+ return memoizedValue === null ?
20
+ None :
21
+ Some(memoizedValue);
22
+ }
17
23
  export function clearMemoized() {
18
24
  memoizedValue = null;
19
25
  }
@@ -1 +1 @@
1
- {"version":3,"file":"memoize.js","sourceRoot":"","sources":["../../src/functions/memoize.ts"],"names":[],"mappings":"AAAA,kCAAkC;AAClC,OAAO,KAAK,MAAM,cAAc,CAAC;AAKjC,IAAI,aAAa,GAAuB,IAAI,CAAC;AAU7C,MAAM,UAAU,OAAO,CACrB,OAAoB,EACpB,UAA0B,EAAE;IAE5B,MAAM,EAAE,SAAS,GAAG,IAAI,EAAE,GAAG,OAAO,CAAC;IAErC,IAAI,aAAa,KAAK,IAAI,IAAI,SAAS,EAAE;QACvC,aAAa,GAAG,OAAO,CAAC;KACzB;SACI;QACH,aAAa,GAAG,KAAK,CAAC,EAAE,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC;KACnD;AACH,CAAC;AAMD,MAAM,UAAU,QAAQ,CACtB,OAAyB;IAEzB,MAAM,EAAE,YAAY,GAAG,IAAI,EAAE,GAAG,OAAO,IAAI,EAAE,CAAC;IAE9C,OAAO,aAAa,IAAI,YAAY,CAAC;AACvC,CAAC;AAED,MAAM,UAAU,aAAa;IAC3B,aAAa,GAAG,IAAI,CAAC;AACvB,CAAC"}
1
+ {"version":3,"file":"memoize.js","sourceRoot":"","sources":["../../src/functions/memoize.ts"],"names":[],"mappings":"AAAA,kCAAkC;AAClC,OAAO,KAAK,MAAM,cAAc,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAU,MAAM,kBAAkB,CAAC;AAKtD,IAAI,aAAa,GAAuB,IAAI,CAAC;AAU7C,MAAM,UAAU,OAAO,CACrB,OAAoB,EACpB,UAA0B,EAAE;IAE5B,MAAM,EAAE,SAAS,GAAG,IAAI,EAAE,GAAG,OAAO,CAAC;IAErC,IAAI,aAAa,KAAK,IAAI,IAAI,SAAS,EAAE,CAAC;QACxC,aAAa,GAAG,OAAO,CAAC;IAC1B,CAAC;SACI,CAAC;QACJ,aAAa,GAAG,KAAK,CAAC,EAAE,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC;IACpD,CAAC;AACH,CAAC;AAMD,MAAM,UAAU,QAAQ,CACtB,OAAyB;IAEzB,MAAM,EAAE,YAAY,GAAG,IAAI,EAAE,GAAG,OAAO,IAAI,EAAE,CAAC;IAE9C,OAAO,aAAa,IAAI,YAAY,CAAC;AACvC,CAAC;AAED,MAAM,UAAU,aAAa;IAC3B,OAAO,aAAa,KAAK,IAAI,CAAC,CAAC;QAC7B,IAAI,CAAC,CAAC;QACN,IAAI,CAAC,aAAa,CAAC,CAAC;AACxB,CAAC;AAED,MAAM,UAAU,aAAa;IAC3B,aAAa,GAAG,IAAI,CAAC;AACvB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"read.js","sourceRoot":"","sources":["../../src/functions/read.ts"],"names":[],"mappings":"AAAA,8BAA8B;AAC9B,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAEnC,kCAAkC;AAClC,OAAO,MAAM,MAAM,gBAAgB,CAAC;AACpC,OAAO,EAAE,EAAE,EAAE,GAAG,EAAU,MAAM,kBAAkB,CAAC;AAGnD,+BAA+B;AAC/B,OAAO,EAAM,UAAU,EAAE,iBAAiB,EAAoB,MAAM,UAAU,CAAC;AAC/E,OAAO,KAAK,SAAS,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AA0BvC,MAAM,CAAC,KAAK,UAAU,IAAI,CACxB,QAAQ,GAAG,OAAO,CAAC,GAAG,EAAE,EACxB,UAAuB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;IAE1C,IAAI;QACF,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,GAAG,KAAK,EAAE,GAAG,OAAO,CAAC;QAE/G,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,kBAAkB,CAAC,CAAC;QAClE,MAAM,GAAG,GAAG,IAAI,MAAM,CAAK,OAAO,EAAE;YAClC,aAAa,EAAE,UAAU;YACzB,eAAe,EAAE,oBAAoB;SACtC,CAAC,CAAC;QAEH,MAAM,GAAG,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;QAC9E,IAAI,oBAAoB,EAAE;YACxB,MAAM,IAAI,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;SAClC;QACD,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC;QAE3B,IAAI,SAAS,EAAE;YACb,OAAO,CAAC,MAAM,CAAC,CAAC;SACjB;QAED,MAAM,GAAG,CAAC,KAAK,EAAE,CAAC;QAElB,OAAO,EAAE,CAAC,MAAM,CAAC,CAAC;KACnB;IACD,OAAO,KAAK,EAAE;QACZ,OAAO,GAAG,CAAC,KAA8B,CAAC,CAAC;KAC5C;AACH,CAAC"}
1
+ {"version":3,"file":"read.js","sourceRoot":"","sources":["../../src/functions/read.ts"],"names":[],"mappings":"AAAA,8BAA8B;AAC9B,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAEnC,kCAAkC;AAClC,OAAO,MAAM,MAAM,gBAAgB,CAAC;AACpC,OAAO,EAAE,EAAE,EAAE,GAAG,EAAU,MAAM,kBAAkB,CAAC;AAGnD,+BAA+B;AAC/B,OAAO,EAAM,UAAU,EAAE,iBAAiB,EAAoB,MAAM,UAAU,CAAC;AAC/E,OAAO,KAAK,SAAS,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AA0BvC,MAAM,CAAC,KAAK,UAAU,IAAI,CACxB,QAAQ,GAAG,OAAO,CAAC,GAAG,EAAE,EACxB,UAAuB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;IAE1C,IAAI,CAAC;QACH,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,GAAG,KAAK,EAAE,GAAG,OAAO,CAAC;QAE/G,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,kBAAkB,CAAC,CAAC;QAClE,MAAM,GAAG,GAAG,IAAI,MAAM,CAAK,OAAO,EAAE;YAClC,aAAa,EAAE,UAAU;YACzB,eAAe,EAAE,oBAAoB;SACtC,CAAC,CAAC;QAEH,MAAM,GAAG,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;QAC9E,IAAI,oBAAoB,EAAE,CAAC;YACzB,MAAM,IAAI,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;QACnC,CAAC;QACD,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC;QAE3B,IAAI,SAAS,EAAE,CAAC;YACd,OAAO,CAAC,MAAM,CAAC,CAAC;QAClB,CAAC;QAED,MAAM,GAAG,CAAC,KAAK,EAAE,CAAC;QAElB,OAAO,EAAE,CAAC,MAAM,CAAC,CAAC;IACpB,CAAC;IACD,OAAO,KAAK,EAAE,CAAC;QACb,OAAO,GAAG,CAAC,KAA8B,CAAC,CAAC;IAC7C,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"write.js","sourceRoot":"","sources":["../../src/functions/write.ts"],"names":[],"mappings":"AAAA,8BAA8B;AAC9B,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,kCAAkC;AAClC,OAAO,MAAM,MAAM,gBAAgB,CAAC;AACpC,OAAO,EAAE,EAAE,EAAE,GAAG,EAAU,MAAM,kBAAkB,CAAC;AAEnD,+BAA+B;AAC/B,OAAO,EAAM,UAAU,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,KAAK,SAAS,MAAM,iBAAiB,CAAC;AAmB7C,MAAM,CAAC,KAAK,UAAU,KAAK,CACzB,QAAQ,GAAG,OAAO,CAAC,GAAG,EAAE,EACxB,OAAqB;IAErB,IAAI;QACF,MAAM,EAAE,OAAO,EAAE,aAAa,GAAG,KAAK,EAAE,GAAG,OAAO,CAAC;QAEnD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,kBAAkB,CAAC,CAAC;QAClE,MAAM,GAAG,GAAG,IAAI,MAAM,CAAK,OAAO,EAAE;YAClC,aAAa,EAAE,UAAU;SAC1B,CAAC,CAAC;QACH,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;QAEjB,MAAM,eAAe,GAAG,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,OAAa,CAAC;QAC5F,GAAG,CAAC,OAAO,GAAG,eAAe,CAAC;QAE9B,MAAM,GAAG,CAAC,KAAK,EAAE,CAAC;QAElB,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;KACnB;IACD,OAAO,KAAK,EAAE;QACZ,OAAO,GAAG,CAAC,KAA8B,CAAC,CAAC;KAC5C;AACH,CAAC"}
1
+ {"version":3,"file":"write.js","sourceRoot":"","sources":["../../src/functions/write.ts"],"names":[],"mappings":"AAAA,8BAA8B;AAC9B,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,kCAAkC;AAClC,OAAO,MAAM,MAAM,gBAAgB,CAAC;AACpC,OAAO,EAAE,EAAE,EAAE,GAAG,EAAU,MAAM,kBAAkB,CAAC;AAEnD,+BAA+B;AAC/B,OAAO,EAAM,UAAU,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,KAAK,SAAS,MAAM,iBAAiB,CAAC;AAmB7C,MAAM,CAAC,KAAK,UAAU,KAAK,CACzB,QAAQ,GAAG,OAAO,CAAC,GAAG,EAAE,EACxB,OAAqB;IAErB,IAAI,CAAC;QACH,MAAM,EAAE,OAAO,EAAE,aAAa,GAAG,KAAK,EAAE,GAAG,OAAO,CAAC;QAEnD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,kBAAkB,CAAC,CAAC;QAClE,MAAM,GAAG,GAAG,IAAI,MAAM,CAAK,OAAO,EAAE;YAClC,aAAa,EAAE,UAAU;SAC1B,CAAC,CAAC;QACH,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;QAEjB,MAAM,eAAe,GAAG,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,OAAa,CAAC;QAC5F,GAAG,CAAC,OAAO,GAAG,eAAe,CAAC;QAE9B,MAAM,GAAG,CAAC,KAAK,EAAE,CAAC;QAElB,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IACpB,CAAC;IACD,OAAO,KAAK,EAAE,CAAC;QACb,OAAO,GAAG,CAAC,KAA8B,CAAC,CAAC;IAC7C,CAAC;AACH,CAAC"}
package/dist/index.d.ts CHANGED
@@ -2,4 +2,4 @@ export * from "./functions/read.js";
2
2
  export * from "./functions/write.js";
3
3
  export * from "./functions/memoize.js";
4
4
  export * as CONSTANTS from "./constants.js";
5
- export { RC, Author, JSONSchema, homedir } from "./rc.js";
5
+ export { type RC, type Author, JSONSchema, homedir } from "./rc.js";
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAC;AAE5C,OAAO,EAAc,UAAU,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAC;AAE5C,OAAO,EAAwB,UAAU,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC"}
@@ -11,7 +11,7 @@ export interface ReportConfiguration {
11
11
  /**
12
12
  * URL to a logo to show on the final HTML/PDF Report
13
13
  */
14
- logoUrl: string;
14
+ logoUrl?: string;
15
15
  /**
16
16
  * Show/categorize internal dependencies as transitive
17
17
  * @default false
@@ -40,6 +40,11 @@ export interface ReportConfiguration {
40
40
  * @default html,pdf
41
41
  */
42
42
  reporters?: ("html" | "pdf")[];
43
+ /**
44
+ * Show/Hide flags emojis next to packages.
45
+ * @default true
46
+ */
47
+ showFlags?: boolean;
43
48
  charts?: ReportChart[];
44
49
  }
45
50
  export interface ReportChart {
@@ -1 +1 @@
1
- {"version":3,"file":"report.js","sourceRoot":"","sources":["../../src/projects/report.ts"],"names":[],"mappings":"AAqEA,MAAM,UAAU,2BAA2B;IACzC,MAAM,MAAM,GAAiC;QAC3C,KAAK,EAAE,OAAgB;QACvB,yBAAyB,EAAE,KAAK;QAChC,SAAS,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC;QAC1B,MAAM,EAAE;YACN;gBACE,IAAI,EAAE,YAAqB;gBAC3B,OAAO,EAAE,IAAI;gBACb,aAAa,EAAE,uBAAuB;aACvC;YACD;gBACE,IAAI,EAAE,UAAmB;gBACzB,OAAO,EAAE,IAAI;gBACb,aAAa,EAAE,oBAAoB;aACpC;YACD;gBACE,IAAI,EAAE,UAAmB;gBACzB,OAAO,EAAE,IAAI;gBACb,IAAI,EAAE,eAAwB;gBAC9B,aAAa,EAAE,uBAAuB;aACvC;YACD;gBACE,IAAI,EAAE,OAAgB;gBACtB,OAAO,EAAE,IAAI;gBACb,IAAI,EAAE,eAAwB;gBAC9B,aAAa,EAAE,uBAAuB;aACvC;SACF;KACF,CAAC;IAEF,OAAO,EAAE,MAAM,EAAE,CAAC;AACpB,CAAC"}
1
+ {"version":3,"file":"report.js","sourceRoot":"","sources":["../../src/projects/report.ts"],"names":[],"mappings":"AA0EA,MAAM,UAAU,2BAA2B;IACzC,MAAM,MAAM,GAAiC;QAC3C,KAAK,EAAE,OAAgB;QACvB,yBAAyB,EAAE,KAAK;QAChC,SAAS,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC;QAC1B,MAAM,EAAE;YACN;gBACE,IAAI,EAAE,YAAqB;gBAC3B,OAAO,EAAE,IAAI;gBACb,aAAa,EAAE,uBAAuB;aACvC;YACD;gBACE,IAAI,EAAE,UAAmB;gBACzB,OAAO,EAAE,IAAI;gBACb,aAAa,EAAE,oBAAoB;aACpC;YACD;gBACE,IAAI,EAAE,UAAmB;gBACzB,OAAO,EAAE,IAAI;gBACb,IAAI,EAAE,eAAwB;gBAC9B,aAAa,EAAE,uBAAuB;aACvC;YACD;gBACE,IAAI,EAAE,OAAgB;gBACtB,OAAO,EAAE,IAAI;gBACb,IAAI,EAAE,eAAwB;gBAC9B,aAAa,EAAE,uBAAuB;aACvC;SACF;KACF,CAAC;IAEF,OAAO,EAAE,MAAM,EAAE,CAAC;AACpB,CAAC"}
package/dist/rc.d.ts CHANGED
@@ -1,8 +1,8 @@
1
1
  import i18n from "@nodesecure/i18n";
2
2
  import * as vuln from "@nodesecure/vuln";
3
- import { generateCIConfiguration, CiConfiguration, CiWarnings } from "./projects/ci.js";
4
- import { generateReportConfiguration, ReportConfiguration, ReportChart } from "./projects/report.js";
5
- import { generateScannerConfiguration, ScannerConfiguration, Author } from "./projects/scanner.js";
3
+ import { generateCIConfiguration, type CiConfiguration, type CiWarnings } from "./projects/ci.js";
4
+ import { generateReportConfiguration, type ReportConfiguration, type ReportChart } from "./projects/report.js";
5
+ import { generateScannerConfiguration, type ScannerConfiguration, type Author } from "./projects/scanner.js";
6
6
  export declare const JSONSchema: any;
7
7
  export interface RC {
8
8
  /** version of the rc package used to generate the nodesecurerc file */
@@ -22,6 +22,11 @@ export interface RC {
22
22
  * @default `npm`
23
23
  */
24
24
  strategy?: vuln.Strategy.Kind;
25
+ /**
26
+ * Package Registry (default to NPM public registry)
27
+ * @default `https://registry.npmjs.org`
28
+ */
29
+ registry?: string;
25
30
  /** NodeSecure scanner Object configuration */
26
31
  scanner?: ScannerConfiguration;
27
32
  /** NodeSecure ci Object configuration */
package/dist/rc.js CHANGED
@@ -19,7 +19,8 @@ export function generateDefaultRC(mode = "minimal") {
19
19
  const minimalRC = {
20
20
  version: "1.0.0",
21
21
  i18n: "english",
22
- strategy: "npm"
22
+ strategy: "npm",
23
+ registry: "https://registry.npmjs.org"
23
24
  };
24
25
  const complete = modes.has("complete");
25
26
  return Object.assign(minimalRC, complete || modes.has("ci") ? generateCIConfiguration() : {}, complete || modes.has("report") ? generateReportConfiguration() : {}, complete || modes.has("scanner") ? generateScannerConfiguration() : {});
package/dist/rc.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"rc.js","sourceRoot":"","sources":["../src/rc.ts"],"names":[],"mappings":"AAAA,8BAA8B;AAC9B,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAM7B,+BAA+B;AAC/B,OAAO,EAAE,8BAA8B,EAAE,MAAM,gBAAgB,CAAC;AAChE,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAExD,OAAO,EAAE,uBAAuB,EAA+B,MAAM,kBAAkB,CAAC;AACxF,OAAO,EAAE,2BAA2B,EAAoC,MAAM,sBAAsB,CAAC;AACrG,OAAO,EAAE,4BAA4B,EAAgC,MAAM,uBAAuB,CAAC;AAEnG,YAAY;AACZ,MAAM,CAAC,MAAM,UAAU,GAAG,kBAAkB,EAAE,CAAC;AA8B/C;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAAC,OAA8C,SAAS;IACvF,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAEhE,MAAM,SAAS,GAAG;QAChB,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,SAAkB;QACxB,QAAQ,EAAE,KAAc;KACzB,CAAC;IACF,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAEvC,OAAO,MAAM,CAAC,MAAM,CAClB,SAAS,EACT,QAAQ,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,uBAAuB,EAAE,CAAC,CAAC,CAAC,EAAE,EAC5D,QAAQ,IAAI,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,2BAA2B,EAAE,CAAC,CAAC,CAAC,EAAE,EACpE,QAAQ,IAAI,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,4BAA4B,EAAE,CAAC,CAAC,CAAC,EAAE,CACvE,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,OAAO;IACrB,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,8BAA8B,CAAC,CAAC;AACjE,CAAC;AAED,OAAO,EACL,uBAAuB,EAIvB,2BAA2B,EAI3B,4BAA4B,EAG7B,CAAC"}
1
+ {"version":3,"file":"rc.js","sourceRoot":"","sources":["../src/rc.ts"],"names":[],"mappings":"AAAA,8BAA8B;AAC9B,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAM7B,+BAA+B;AAC/B,OAAO,EAAE,8BAA8B,EAAE,MAAM,gBAAgB,CAAC;AAChE,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAExD,OAAO,EAAE,uBAAuB,EAAyC,MAAM,kBAAkB,CAAC;AAClG,OAAO,EAAE,2BAA2B,EAA8C,MAAM,sBAAsB,CAAC;AAC/G,OAAO,EAAE,4BAA4B,EAA0C,MAAM,uBAAuB,CAAC;AAE7G,YAAY;AACZ,MAAM,CAAC,MAAM,UAAU,GAAG,kBAAkB,EAAE,CAAC;AAmC/C;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAAC,OAA8C,SAAS;IACvF,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAEhE,MAAM,SAAS,GAAG;QAChB,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,SAAkB;QACxB,QAAQ,EAAE,KAAc;QACxB,QAAQ,EAAE,4BAA4B;KACvC,CAAC;IACF,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAEvC,OAAO,MAAM,CAAC,MAAM,CAClB,SAAS,EACT,QAAQ,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,uBAAuB,EAAE,CAAC,CAAC,CAAC,EAAE,EAC5D,QAAQ,IAAI,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,2BAA2B,EAAE,CAAC,CAAC,CAAC,EAAE,EACpE,QAAQ,IAAI,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,4BAA4B,EAAE,CAAC,CAAC,CAAC,EAAE,CACvE,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,OAAO;IACrB,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,8BAA8B,CAAC,CAAC;AACjE,CAAC;AAED,OAAO,EACL,uBAAuB,EAIvB,2BAA2B,EAI3B,4BAA4B,EAG7B,CAAC"}
@@ -3,8 +3,7 @@
3
3
  "type": "object",
4
4
  "additionalProperties": false,
5
5
  "required": [
6
- "title",
7
- "logoUrl"
6
+ "title"
8
7
  ],
9
8
  "properties": {
10
9
  "theme": {
@@ -23,7 +22,7 @@
23
22
  "logoUrl": {
24
23
  "type": "string",
25
24
  "description": "Logo",
26
- "default": "https://avatars0.githubusercontent.com/u/29552883?s=200&v=4"
25
+ "nullable": true
27
26
  },
28
27
  "includeTransitiveInternal": {
29
28
  "type": "boolean",
@@ -88,6 +87,10 @@
88
87
  "pdf"
89
88
  ]
90
89
  },
90
+ "showFlags": {
91
+ "type": "boolean",
92
+ "default": true
93
+ },
91
94
  "charts": {
92
95
  "type": "array",
93
96
  "items": {
@@ -25,6 +25,12 @@
25
25
  "default": "npm",
26
26
  "description": "Vulnerability strategy to use"
27
27
  },
28
+ "registry": {
29
+ "type": "string",
30
+ "description": "Package Registry (default to NPM public registry)",
31
+ "pattern": "^(https?|http?)://",
32
+ "default": "https://registry.npmjs.org"
33
+ },
28
34
  "scanner": {
29
35
  "$ref": "#/$defs/scanner"
30
36
  },
package/package.json CHANGED
@@ -1,17 +1,18 @@
1
1
  {
2
2
  "name": "@nodesecure/rc",
3
- "version": "1.5.0",
3
+ "version": "2.1.0",
4
4
  "description": "NodeSecure runtime configuration",
5
5
  "exports": "./dist/index.js",
6
6
  "type": "module",
7
7
  "types": "./dist/index.d.ts",
8
8
  "engines": {
9
- "node": ">=16"
9
+ "node": ">=18"
10
10
  },
11
11
  "scripts": {
12
12
  "build": "tsc",
13
13
  "prepublishOnly": "npm run build",
14
- "test": "mocha --parallel && npm run test:tsd",
14
+ "test-only": "glob -c \"tsx --test\" \"test/**/*.spec.ts\"",
15
+ "test": "npm run test-only && npm run test:tsd",
15
16
  "test:tsd": "npm run build && tsd",
16
17
  "coverage": "c8 -r html npm test",
17
18
  "lint": "cross-env eslint src/*.ts"
@@ -36,29 +37,25 @@
36
37
  "homepage": "https://github.com/NodeSecure/rc#readme",
37
38
  "devDependencies": {
38
39
  "@nodesecure/eslint-config": "^1.8.0",
39
- "@types/chai": "^4.3.5",
40
40
  "@types/lodash.merge": "^4.6.7",
41
- "@types/mocha": "^10.0.1",
42
41
  "@types/node": "^20.5.8",
43
42
  "@types/zen-observable": "^0.8.4",
44
43
  "ajv": "^8.12.0",
45
- "c8": "^8.0.1",
46
- "chai": "^4.3.8",
47
- "eslint": "^8.48.0",
48
- "mocha": "^10.2.0",
49
- "tape": "^5.6.6",
50
- "ts-node": "^10.9.1",
51
- "tsd": "^0.29.0",
44
+ "c8": "^9.1.0",
45
+ "eslint": "^9.2.0",
46
+ "glob": "^10.3.10",
47
+ "tsd": "^0.31.0",
48
+ "tsx": "^4.9.3",
52
49
  "typescript": "^5.2.2"
53
50
  },
54
51
  "dependencies": {
55
- "@nodesecure/i18n": "^3.3.0",
56
- "@nodesecure/js-x-ray": "^6.1.1",
52
+ "@nodesecure/i18n": "^4.0.0",
53
+ "@nodesecure/js-x-ray": "^7.0.0",
57
54
  "@nodesecure/vuln": "^1.7.0",
58
- "@openally/result": "^1.2.0",
55
+ "@openally/result": "^1.2.1",
59
56
  "@slimio/config": "^1.2.0",
60
57
  "lodash.merge": "^4.6.2",
61
- "type-fest": "^4.3.1"
58
+ "type-fest": "^4.15.0"
62
59
  },
63
60
  "tsd": {
64
61
  "directory": "test/types",