@substrate-system/debug 0.7.15 → 0.7.17

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/README.md CHANGED
@@ -10,6 +10,10 @@ A tiny JavaScript debugging utility that works in Node.js and browsers. Use envi
10
10
 
11
11
  This is based on [debug](https://github.com/debug-js/debug). It's been rewritten to use contemporary JS.
12
12
 
13
+ In the browser, this should work well with [vite](https://vite.dev/). As is
14
+ convention, this will look for an env variable prefixed with `VITE_`. So pass
15
+ env variables like `VITE_DEBUG="foo"`.
16
+
13
17
  **Featuring:**
14
18
  * Use [exports](https://github.com/substrate-system/debug/blob/main/package.json#L31) field in `package.json` to choose node JS or browser version
15
19
  * ESM only
@@ -20,144 +24,58 @@ Plus, [see the docs](https://substrate-system.github.io/debug/) generated by typ
20
24
 
21
25
  <!-- toc -->
22
26
 
27
+ - [config](#config)
28
+ * [namespace](#namespace)
23
29
  - [install](#install)
24
- - [TL;DR](#tldr)
25
- - [configure](#configure)
26
- - [example](#example)
27
- * [browser](#browser)
28
- * [Node JS](#node-js)
30
+ - [Node JS](#node-js)
31
+ * [NODE_ENV](#node_env)
29
32
  - [develop](#develop)
30
- * [browser](#browser-1)
33
+ * [browser](#browser)
31
34
  * [node](#node)
32
35
 
33
36
  <!-- tocstop -->
34
37
 
35
- ## install
36
-
37
- ```sh
38
- npm i -D @substrate-system/debug
39
- ```
40
-
41
- Use this with [vite](https://vitejs.dev/) in the [browser](#browser), or
42
- in [node](#node-JS).
43
-
44
- ------------------------------------------------------------------
45
-
46
- ## TL;DR
47
-
48
- There are two env variables to work with, `VITE_DEBUG` and `VITE_DEBUG_MODE` in the browser, and `DEBUG` and `NODE_ENV` in node.
49
-
50
- To determine if we should log something, first we check `NODE_ENV` / `VITE_DEBUG_MODE`. By default, in the browser we check `import.meta.env.DEV`, and in node, `NODE_ENV` should be either `development` or `test`. But -- [you can configure this](#configure).
51
-
52
- Next we check the namespace + the env variable `VITE_DEBUG` in the browser, and `DEBUG` in node.
38
+ ## config
53
39
 
54
- If the `DEBUG`/`VITE_DEBUG` variable is not set and you are in dev mode, then we log. If the `DEBUG`/`VITE_DEBUG` variable is set, then we only log if it matches the namespace that was passed in to debug, i.e.
40
+ ### namespace
41
+ If you pass in a variable of the form `VITE_DEBUG=example`, then this will log
42
+ any instances created with the `example` namespace:
55
43
 
56
44
  ```js
57
45
  import Debug from '@substrate-system/debug'
58
- const debug = Debug('hello-123')
59
-
60
- debug('hello world')
46
+ const debug = Debug('example')
61
47
  ```
62
48
 
63
- The character `*` is a wildcard. In the preceding example, `'hello world` would be logged if we started vite with either `VITE_DEBUG=hello-*` or `VITE_DEBUG=hello-123`.
64
-
65
-
66
- ------------------------------------------------------------------
67
-
68
- ## configure
49
+ If you create an instance without passing in a `namespace` string, then this
50
+ will log iff the website is in `DEV` mode (if `import.meta.env.DEV` is true).
69
51
 
70
- Set the property `shouldLog` on `Debug` to configure which modes we log in. In the browser, this function gets called with `import.meta.env.MODE`. In node, it is called with `process.env.NODE_ENV`.
71
-
72
- ```js
73
- import Debug from '@substrate-system/debug'
74
- Debug.shouldLog = (envString) => {
75
- return (envString === 'staging' || import.meta.env.DEV)
76
- }
77
- ```
52
+ Use an env variable of `*` to log everything.
78
53
 
79
- ## example
54
+ Build the site with a `NODE_ENV` variable to set `import.meta.env.DEV`:
80
55
 
81
- ### browser
82
- This is ergonomic with the [vite](https://vitejs.dev/) bundler. This module will look for an env variable prefixed with `VITE_`:
83
56
  ```sh
84
- VITE_DEBUG=fooo
85
- ```
86
-
87
- Given then above env variable in vite, you would log like this:
88
- ```js
89
- import Debug from '@substrate-system/debug'
90
- const debug = Debug('fooo')
91
- debug('hello fooo')
57
+ NODE_ENV=development vite build
92
58
  ```
93
59
 
94
- #### *
95
- Use an environment variable of `*` to log everything.
60
+ This will work too. Any value of `NODE_ENV`, except `production`, wil equate to
61
+ `import.meta.env.DEV` being true.
96
62
 
97
63
  ```sh
98
- VITE_DEBUG="*"
64
+ NODE_ENV=staging vite build
99
65
  ```
100
66
 
101
- #### DEV mode
102
-
103
- If you initialize this without a namespace, then it checks `import.meta.env.DEV`:
104
- ```js
105
- import Debug from '@substrate-system/debug'
106
- const debug = Debug()
107
- debug('debug works') // check if `import.meta.env.DEV`
108
- ```
109
-
110
- #### For example, in the staging environment:
111
-
112
- ```sh
113
- VITE_DEBUG_MODE=staging vite build --mode staging
114
- ```
115
-
116
- #### use multiple modes
117
- Can parse a comma separated list of modes.
118
-
119
- A `.env` file like this:
120
- ```sh
121
- VITE_DEBUG_MODE="test, staging"
122
- ```
123
-
124
- Will log in either "test" or "staging" modes, or if `import.meta.env.DEV` is true.
67
+ ## install
125
68
 
126
69
  ```sh
127
- vite --mode staging build
128
- ```
129
-
130
- **If you are in production** (`import.meta.env.PROD`) and there is no `VITE_DEBUG` env var, then this exports a noop, so debug will do nothing, and your bundle will be smaller.
131
-
132
- #### Use a namespace
133
- In your JS code:
134
- ```js
135
- import { createDebug } from '@substrate-system/debug'
136
- const debug = createDebug('fooo')
137
- debug('debug works')
138
- ```
139
-
140
- You would start that script with a `VITE_DEBUG=fooo` env var to see the log statements.
141
-
142
- #### Don't use a namespace
143
- If you call this without a `namespace` argument, it will look at the value of `import.meta.env.DEV`. If you are in DEV mode, then it will log things in a random color:
144
-
145
- ```js
146
- import { createDebug } from '@substrate-system/debug'
147
- const debug = createDebug('fooo')
148
- const debug2 = createDebug()
149
-
150
- debug('debug works')
151
- debug2('testing debug 2')
152
- setTimeout(() => {
153
- debug2('log again')
154
- }, 1000)
70
+ npm i -D @substrate-system/debug
155
71
  ```
156
72
 
157
- ![Screenshot of `debug` in a browser](screenshot2.png)
73
+ Use this with [vite](https://vitejs.dev/) in the [browser](#browser), or
74
+ in [node](#node-JS).
158
75
 
76
+ ------------------------------------------------------------------
159
77
 
160
- ### Node JS
78
+ ## Node JS
161
79
  Run your script with an env variable, `DEBUG`.
162
80
 
163
81
  ```js
@@ -172,7 +90,7 @@ Call this with an env var of `DEBUG=fooo`
172
90
  DEBUG=fooo node ./test/fixture/node.js
173
91
  ```
174
92
 
175
- #### NODE_ENV
93
+ ### NODE_ENV
176
94
  If you are in dev mode (`process.env.NODE_ENV === 'development'`), then this will log things in a random color if you don't initialize it with a namespace --
177
95
 
178
96
  ```js
@@ -186,21 +104,6 @@ Run the script like this:
186
104
  NODE_ENV=development node ./my-script.js
187
105
  ```
188
106
 
189
- ##### Configure the environment value
190
- Configure what `NODE_ENV` value will trigger logging by overriding the `shouldLog` function:
191
- ```js
192
- // in node only
193
- import Debug from '@substrate-system/debug'
194
-
195
- Debug.shouldLog = function (NODE_ENV) {
196
- return NODE_ENV === 'example'
197
- }
198
- const debug = Debug()
199
- // this will log iff we start this like
200
- // NODE_ENV="example" node my-program.js
201
- debug('testing')
202
- ```
203
-
204
107
  -------------------------------------------------------------------
205
108
 
206
109
  ## develop
@@ -1,8 +1,7 @@
1
1
  interface CreateDebugger {
2
2
  (env?: string): (...args: any[]) => void;
3
- shouldLog?: (env: string) => boolean;
4
3
  }
5
4
  declare let createDebug: CreateDebugger;
6
5
  export { createDebug };
7
6
  export default createDebug;
8
- //# sourceMappingURL=browser.d.ts.map
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/browser/index.ts"],"names":[],"mappings":"AAWA,UAAU,cAAc;IACpB,CAAC,GAAG,CAAC,EAAC,MAAM,GAAE,CAAC,GAAG,IAAI,EAAC,GAAG,EAAE,KAAG,IAAI,CAAC;CACvC;AAGD,QAAA,IAAI,WAAW,EAAC,cAAsD,CAAA;AA0BtE,OAAO,EAAE,WAAW,EAAE,CAAA;AACtB,eAAe,WAAW,CAAA"}
@@ -1,100 +1,15 @@
1
- import { generateRandomString, coerce, selectColor, createRegexFromEnvVar } from './common.js';
2
1
  import humanize from 'ms';
3
- const colors = [
4
- '#0000CC',
5
- '#0000FF',
6
- '#0033CC',
7
- '#0033FF',
8
- '#0066CC',
9
- '#0066FF',
10
- '#0099CC',
11
- '#0099FF',
12
- '#00CC00',
13
- '#00CC33',
14
- '#00CC66',
15
- '#00CC99',
16
- '#00CCCC',
17
- '#00CCFF',
18
- '#3300CC',
19
- '#3300FF',
20
- '#3333CC',
21
- '#3333FF',
22
- '#3366CC',
23
- '#3366FF',
24
- '#3399CC',
25
- '#3399FF',
26
- '#33CC00',
27
- '#33CC33',
28
- '#33CC66',
29
- '#33CC99',
30
- '#33CCCC',
31
- '#33CCFF',
32
- '#6600CC',
33
- '#6600FF',
34
- '#6633CC',
35
- '#6633FF',
36
- '#66CC00',
37
- '#66CC33',
38
- '#9900CC',
39
- '#9900FF',
40
- '#9933CC',
41
- '#9933FF',
42
- '#99CC00',
43
- '#99CC33',
44
- '#CC0000',
45
- '#CC0033',
46
- '#CC0066',
47
- '#CC0099',
48
- '#CC00CC',
49
- '#CC00FF',
50
- '#CC3300',
51
- '#CC3333',
52
- '#CC3366',
53
- '#CC3399',
54
- '#CC33CC',
55
- '#CC33FF',
56
- '#CC6600',
57
- '#CC6633',
58
- '#CC9900',
59
- '#CC9933',
60
- '#CCCC00',
61
- '#CCCC33',
62
- '#FF0000',
63
- '#FF0033',
64
- '#FF0066',
65
- '#FF0099',
66
- '#FF00CC',
67
- '#FF00FF',
68
- '#FF3300',
69
- '#FF3333',
70
- '#FF3366',
71
- '#FF3399',
72
- '#FF33CC',
73
- '#FF33FF',
74
- '#FF6600',
75
- '#FF6633',
76
- '#FF9900',
77
- '#FF9933',
78
- '#FFCC00',
79
- '#FFCC33'
80
- ];
2
+ import { generateRandomString, coerce, selectColor, createRegexFromEnvVar } from '../common.js';
3
+ import { colors } from './util.js';
81
4
  const log = console.log || (() => { });
82
5
  let randomNamespace = '';
83
6
  let createDebug = (_) => (..._args) => { };
84
- const modeVar = import.meta?.env?.VITE_DEBUG_MODE || '';
85
- let modes = [];
86
- if (modeVar) {
87
- modes = (modeVar.split(',')).map(mode => mode.trim());
88
- }
89
7
  if (import.meta?.env?.DEV ||
90
8
  import.meta?.env?.VITE_DEBUG ||
91
- (modes.length && modes.includes(import.meta.env.MODE))) {
9
+ !import.meta?.env?.PROD) {
92
10
  /**
93
- * Create a debugger with the given `namespace`, only
94
- * if we are in DEV mode.
95
- *
96
11
  * @param {string} [namespace]
97
- * @return {Function}
12
+ * @return {(...args:any[])=>void}
98
13
  */
99
14
  createDebug = function createDebug(namespace) {
100
15
  const prevTime = Number(new Date());
@@ -103,47 +18,35 @@ if (import.meta?.env?.DEV ||
103
18
  }
104
19
  const color = selectColor(namespace || randomNamespace, colors);
105
20
  const debug = function (...args) {
106
- if (isEnabled(namespace)) {
107
- return logger(namespace || 'DEV', args, { prevTime, color });
108
- }
21
+ return logger(namespace || 'DEV', args, { prevTime, color });
109
22
  };
110
23
  return debug;
111
24
  };
112
- createDebug.shouldLog = function (envString) {
113
- if (!envString) {
114
- return import.meta.env.DEV;
115
- }
116
- else {
117
- return (envString === 'development' || envString === 'test');
118
- }
119
- };
120
25
  }
121
26
  export { createDebug };
122
27
  export default createDebug;
123
28
  /**
124
29
  * Check if the given namespace is enabled.
30
+ * `namespace` is the name that is passed into debug.
31
+ * Need to check it against the env var.
125
32
  */
126
33
  function isEnabled(namespace) {
127
34
  if (import.meta.env.VITE_DEBUG === '*')
128
35
  return true;
129
- // if no namespace, check if we are in dev mode
130
- if (!namespace) {
131
- const ok = createDebug.shouldLog(import.meta.env.VITE_DEBUG_MODE);
132
- // check if we were passed a `vite_debug` variable
133
- if (ok && !import.meta.env.VITE_DEBUG)
134
- return true;
135
- return false;
36
+ if (namespace === 'DEV') { // if we were not called with a namespace
37
+ if (!import.meta.env.VITE_DEBUG) { // if no debug env var
38
+ // then log if DEV mode is true
39
+ return import.meta.env.DEV;
40
+ }
136
41
  }
137
- // else, we do have a namespace
138
- if (createDebug.shouldLog(import.meta.env.VITE_DEBUG_MODE)) {
139
- // are we in dev mode? then check the namespace
140
- const names = import.meta.env?.VITE_DEBUG;
141
- if (!names)
142
- return false;
143
- const envVars = createRegexFromEnvVar(names);
144
- return envVars.some(regex => regex.test(namespace));
42
+ // else, we were called with a namespace
43
+ // check the namespace
44
+ if (!import.meta.env.VITE_DEBUG) {
45
+ // called with a namespace, but no env var
46
+ return import.meta.env.DEV;
145
47
  }
146
- return false;
48
+ const envVars = createRegexFromEnvVar(namespace);
49
+ return envVars.some(regex => regex.test(import.meta.env.VITE_DEBUG));
147
50
  }
148
51
  /**
149
52
  * Map %j to `JSON.stringify()`, since no Web Inspectors do that by default.
@@ -161,6 +64,8 @@ function createFormatters() {
161
64
  };
162
65
  }
163
66
  function logger(namespace, args, { prevTime, color }) {
67
+ if (!isEnabled(namespace))
68
+ return;
164
69
  // Set `diff` timestamp
165
70
  const curr = Number(new Date());
166
71
  const diff = curr - (prevTime || curr);
@@ -255,4 +160,4 @@ function formatArgs({ diff, color, namespace, useColors }, args) {
255
160
  args.splice(lastC, 0, c);
256
161
  return args;
257
162
  }
258
- //# sourceMappingURL=browser.js.map
163
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/browser/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare const colors: string[];
2
+ //# sourceMappingURL=util.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../src/browser/util.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,MAAM,UA6ElB,CAAA"}
@@ -0,0 +1,79 @@
1
+ export const colors = [
2
+ '#0000CC',
3
+ '#0000FF',
4
+ '#0033CC',
5
+ '#0033FF',
6
+ '#0066CC',
7
+ '#0066FF',
8
+ '#0099CC',
9
+ '#0099FF',
10
+ '#00CC00',
11
+ '#00CC33',
12
+ '#00CC66',
13
+ '#00CC99',
14
+ '#00CCCC',
15
+ '#00CCFF',
16
+ '#3300CC',
17
+ '#3300FF',
18
+ '#3333CC',
19
+ '#3333FF',
20
+ '#3366CC',
21
+ '#3366FF',
22
+ '#3399CC',
23
+ '#3399FF',
24
+ '#33CC00',
25
+ '#33CC33',
26
+ '#33CC66',
27
+ '#33CC99',
28
+ '#33CCCC',
29
+ '#33CCFF',
30
+ '#6600CC',
31
+ '#6600FF',
32
+ '#6633CC',
33
+ '#6633FF',
34
+ '#66CC00',
35
+ '#66CC33',
36
+ '#9900CC',
37
+ '#9900FF',
38
+ '#9933CC',
39
+ '#9933FF',
40
+ '#99CC00',
41
+ '#99CC33',
42
+ '#CC0000',
43
+ '#CC0033',
44
+ '#CC0066',
45
+ '#CC0099',
46
+ '#CC00CC',
47
+ '#CC00FF',
48
+ '#CC3300',
49
+ '#CC3333',
50
+ '#CC3366',
51
+ '#CC3399',
52
+ '#CC33CC',
53
+ '#CC33FF',
54
+ '#CC6600',
55
+ '#CC6633',
56
+ '#CC9900',
57
+ '#CC9933',
58
+ '#CCCC00',
59
+ '#CCCC33',
60
+ '#FF0000',
61
+ '#FF0033',
62
+ '#FF0066',
63
+ '#FF0099',
64
+ '#FF00CC',
65
+ '#FF00FF',
66
+ '#FF3300',
67
+ '#FF3333',
68
+ '#FF3366',
69
+ '#FF3399',
70
+ '#FF33CC',
71
+ '#FF33FF',
72
+ '#FF6600',
73
+ '#FF6633',
74
+ '#FF9900',
75
+ '#FF9933',
76
+ '#FFCC00',
77
+ '#FFCC33'
78
+ ];
79
+ //# sourceMappingURL=util.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/browser/util.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,MAAM,GAAG;IAClB,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;CACZ,CAAA"}
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@substrate-system/debug",
3
3
  "description": "Debug utility",
4
4
  "type": "module",
5
- "version": "0.7.15",
5
+ "version": "0.7.17",
6
6
  "main": "./dist/node.js",
7
7
  "files": [
8
8
  "./dist/*"
@@ -10,8 +10,8 @@
10
10
  "exports": {
11
11
  ".": {
12
12
  "node": "./dist/node.js",
13
- "browser": "./dist/browser.js",
14
- "default": "./dist/browser.js"
13
+ "browser": "./dist/browser/index.js",
14
+ "default": "./dist/browser/index.js"
15
15
  },
16
16
  "./node": "./dist/node.js",
17
17
  "./browser": "./dist/browser.js"
@@ -24,9 +24,11 @@
24
24
  "build-browser-tests": "esbuild test/index.ts --platform=node --target=es2020 --bundle --keep-names > test/test-bundle.js",
25
25
  "test-tape-run": "npm run build-browser-tests && cat test/index.html | tape-run --input=html --static=test | tap-spec",
26
26
  "build": "mkdir -p dist && rm -rf dist/* && tsc --project tsconfig.build.json",
27
+ "build-example": "vite build",
28
+ "build-example:dev": "vite build --mode=\"development\"",
27
29
  "build-docs": "typedoc ./src/browser.ts ./src/node.ts",
28
30
  "toc": "markdown-toc --maxdepth 3 -i README.md",
29
- "start": "VITE_DEBUG_MODE=staging vite --mode=staging",
31
+ "start": "vite --mode=staging",
30
32
  "preversion": "npm run lint",
31
33
  "version": "npm run toc && git add README.md",
32
34
  "postversion": "git push --follow-tags && npm publish",
@@ -1 +0,0 @@
1
- {"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"AAyFA,UAAU,cAAc;IACpB,CAAC,GAAG,CAAC,EAAC,MAAM,GAAE,CAAC,GAAG,IAAI,EAAC,GAAG,EAAE,KAAG,IAAI,CAAC;IACpC,SAAS,CAAC,EAAC,CAAC,GAAG,EAAC,MAAM,KAAG,OAAO,CAAC;CACpC;AAGD,QAAA,IAAI,WAAW,EAAC,cAAsD,CAAA;AA6CtE,OAAO,EAAE,WAAW,EAAE,CAAA;AACtB,eAAe,WAAW,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"browser.js","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"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"}