nightingale-unit-testing 12.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/.editorconfig ADDED
@@ -0,0 +1,13 @@
1
+ # EditorConfig helps developers define and maintain consistent
2
+ # coding styles between different editors and IDEs
3
+ # http://editorconfig.org
4
+
5
+ root = true
6
+
7
+ [*]
8
+ indent_style = space
9
+ indent_size = 2
10
+ end_of_line = lf
11
+ charset = utf-8
12
+ trim_trailing_whitespace = true
13
+ insert_final_newline = true
package/.eslintrc.json ADDED
@@ -0,0 +1,5 @@
1
+ {
2
+ "root": true,
3
+ "extends": ["@pob/eslint-config/root-commonjs"],
4
+ "ignorePatterns": ["*.d.ts", "/dist"]
5
+ }
package/AUTHORS ADDED
@@ -0,0 +1 @@
1
+ Christophe Hurpeau <christophe@hurpeau.com>
package/CHANGELOG.md ADDED
@@ -0,0 +1,11 @@
1
+ # Change Log
2
+
3
+ All notable changes to this project will be documented in this file.
4
+ See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
+
6
+ # [12.1.0](https://github.com/christophehurpeau/nightingale/compare/v12.0.1...v12.1.0) (2021-12-15)
7
+
8
+
9
+ ### Features
10
+
11
+ * add nightingale-unit-testing ([d5ac010](https://github.com/christophehurpeau/nightingale/commit/d5ac01093d9d7e02cc62f0437f6bb03981853a3d))
package/LICENSE ADDED
@@ -0,0 +1,15 @@
1
+ Copyright (c) 2021 Christophe Hurpeau <christophe@hurpeau.com> (https://christophe.hurpeau.com)
2
+
3
+ Permission to use, copy, modify, and/or distribute this software for
4
+ any purpose with or without fee is hereby granted, provided that the
5
+ above copyright notice and this permission notice appear in all
6
+ copies.
7
+
8
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
9
+ WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
10
+ WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
11
+ AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
12
+ DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
13
+ PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
14
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
15
+ PERFORMANCE OF THIS SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,65 @@
1
+ <h3 align="center">
2
+ nightingale-unit-testing
3
+ </h3>
4
+
5
+ <p align="center">
6
+ nightingale default config for unit testing
7
+ </p>
8
+
9
+ <p align="center">
10
+ <a href="https://npmjs.org/package/nightingale-unit-testing"><img src="https://img.shields.io/npm/v/nightingale-unit-testing.svg?style=flat-square"></a>
11
+ </p>
12
+
13
+ ## Install
14
+
15
+ ```sh
16
+ npm install --save-dev nightingale-unit-testing
17
+ ```
18
+
19
+ ## Display a library logs
20
+
21
+ In your source file, use [nightingale-logger](https://www.npmjs.com/package/nightingale-logger).
22
+
23
+ In `test-setup` for example:
24
+
25
+ ```js
26
+ import 'nightingale-unit-testing';
27
+ ```
28
+
29
+ By default, only log above 'ERROR' are displayed
30
+
31
+ When running test, use `DEBUG` to show all logs.
32
+
33
+ Example with jest:
34
+
35
+ ```bash
36
+ DEBUG='my-lib' npm test
37
+ ```
38
+
39
+ You can also use `NIGHTINGALE_LIB_MIN_LEVEL` to change the default level of log (but applies to every libraries). See [nightingale-levels](https://www.npmjs.com/package/nightingale-levels) to know what values can be used.
40
+
41
+ ```bash
42
+ # display all logs above 'INFO'
43
+ NIGHTINGALE_LIB_MIN_LEVEL=200 npm test
44
+ ```
45
+
46
+ You can of course also combine the two
47
+
48
+ ```bash
49
+ # display all logs above 'INFO', unless it's `my-lib` for which all logs are displayed
50
+ NIGHTINGALE_LIB_MIN_LEVEL=200 DEBUG='my-lib' npm test
51
+ ```
52
+
53
+ ## Logging in tests
54
+
55
+ ```js
56
+ import { testLogger } from 'nightingale-unit-testing';
57
+
58
+ it('should test something', () => {
59
+ const value = 'hello world';
60
+ testLogger.inspectValue(value);
61
+ expect(value).toBe('hello world');
62
+ });
63
+ ```
64
+
65
+ By default, only log above 'DEBUG' are displayed in DEV and above 'INFO' in PRODUCTION (`process.env.NODE_ENV === 'production'`)
@@ -0,0 +1,25 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ const nightingale = require('nightingale');
6
+ const nightingaleConsole = require('nightingale-console');
7
+
8
+ const testMinLevel = process.env.NIGHTINGALE_TEST_MIN_LEVEL !== undefined && process.env.NIGHTINGALE_TEST_MIN_LEVEL !== '' ? Number(process.env.NIGHTINGALE_TEST_MIN_LEVEL) : process.env.NODE_ENV !== "production" ? nightingale.Level.DEBUG : nightingale.Level.INFO;
9
+ const libMinLevel = process.env.NIGHTINGALE_LIB_MIN_LEVEL !== undefined && process.env.NIGHTINGALE_LIB_MIN_LEVEL !== '' ? Number(process.env.NIGHTINGALE_LIB_MIN_LEVEL) : nightingale.Level.INFO;
10
+ const testLogger = new nightingale.Logger('unit-testing');
11
+ nightingale.configure([{
12
+ pattern: /^app(:|$)/,
13
+ handlers: [new nightingaleConsole.ConsoleHandler(testMinLevel)],
14
+ stop: true
15
+ }, {
16
+ handlers: [new nightingaleConsole.ConsoleHandler(libMinLevel)]
17
+ }]);
18
+
19
+ exports.Level = nightingale.Level;
20
+ exports.Logger = nightingale.Logger;
21
+ exports.addConfig = nightingale.addConfig;
22
+ exports.configure = nightingale.configure;
23
+ exports.levels = nightingale.levels;
24
+ exports.testLogger = testLogger;
25
+ //# sourceMappingURL=index-node14.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-node14.cjs.js","sources":["../src/index.ts"],"sourcesContent":["import { configure, Level, Logger } from 'nightingale';\nimport { ConsoleHandler } from 'nightingale-console';\n\nexport { configure, addConfig, levels, Level, Logger } from 'nightingale';\n\nconst testMinLevel =\n process.env.NIGHTINGALE_TEST_MIN_LEVEL !== undefined &&\n process.env.NIGHTINGALE_TEST_MIN_LEVEL !== ''\n ? Number(process.env.NIGHTINGALE_TEST_MIN_LEVEL)\n : __DEV__\n ? Level.DEBUG\n : Level.INFO;\n\nconst libMinLevel =\n process.env.NIGHTINGALE_LIB_MIN_LEVEL !== undefined &&\n process.env.NIGHTINGALE_LIB_MIN_LEVEL !== ''\n ? Number(process.env.NIGHTINGALE_LIB_MIN_LEVEL)\n : Level.INFO;\n\nexport const testLogger = new Logger('unit-testing');\n\nconfigure([\n {\n pattern: /^app(:|$)/,\n handlers: [new ConsoleHandler(testMinLevel)],\n stop: true,\n },\n {\n handlers: [new ConsoleHandler(libMinLevel)],\n },\n]);\n"],"names":["testMinLevel","process","env","NIGHTINGALE_TEST_MIN_LEVEL","undefined","Number","__DEV__","Level","DEBUG","INFO","libMinLevel","NIGHTINGALE_LIB_MIN_LEVEL","testLogger","Logger","configure","pattern","handlers","ConsoleHandler","stop"],"mappings":";;;;;;;AAKA,MAAMA,YAAY,GAChBC,OAAO,CAACC,GAAR,CAAYC,0BAAZ,KAA2CC,SAA3C,IACAH,OAAO,CAACC,GAAR,CAAYC,0BAAZ,KAA2C,EAD3C,GAEIE,MAAM,CAACJ,OAAO,CAACC,GAAR,CAAYC,0BAAb,CAFV,GAGIG,qCAAO,GACPC,iBAAK,CAACC,KADC,GAEPD,iBAAK,CAACE,IANZ;AAQA,MAAMC,WAAW,GACfT,OAAO,CAACC,GAAR,CAAYS,yBAAZ,KAA0CP,SAA1C,IACAH,OAAO,CAACC,GAAR,CAAYS,yBAAZ,KAA0C,EAD1C,GAEIN,MAAM,CAACJ,OAAO,CAACC,GAAR,CAAYS,yBAAb,CAFV,GAGIJ,iBAAK,CAACE,IAJZ;MAMaG,UAAU,GAAG,IAAIC,kBAAJ,CAAW,cAAX;AAE1BC,qBAAS,CAAC,CACR;AACEC,EAAAA,OAAO,EAAE,WADX;AAEEC,EAAAA,QAAQ,EAAE,CAAC,IAAIC,iCAAJ,CAAmBjB,YAAnB,CAAD,CAFZ;AAGEkB,EAAAA,IAAI,EAAE;AAHR,CADQ,EAMR;AACEF,EAAAA,QAAQ,EAAE,CAAC,IAAIC,iCAAJ,CAAmBP,WAAnB,CAAD;AADZ,CANQ,CAAD,CAAT;;;;;;;;;"}
@@ -0,0 +1,17 @@
1
+ import { Level, Logger, configure } from 'nightingale';
2
+ export { Level, Logger, addConfig, configure, levels } from 'nightingale';
3
+ import { ConsoleHandler } from 'nightingale-console';
4
+
5
+ const testMinLevel = process.env.NIGHTINGALE_TEST_MIN_LEVEL !== undefined && process.env.NIGHTINGALE_TEST_MIN_LEVEL !== '' ? Number(process.env.NIGHTINGALE_TEST_MIN_LEVEL) : process.env.NODE_ENV !== "production" ? Level.DEBUG : Level.INFO;
6
+ const libMinLevel = process.env.NIGHTINGALE_LIB_MIN_LEVEL !== undefined && process.env.NIGHTINGALE_LIB_MIN_LEVEL !== '' ? Number(process.env.NIGHTINGALE_LIB_MIN_LEVEL) : Level.INFO;
7
+ const testLogger = new Logger('unit-testing');
8
+ configure([{
9
+ pattern: /^app(:|$)/,
10
+ handlers: [new ConsoleHandler(testMinLevel)],
11
+ stop: true
12
+ }, {
13
+ handlers: [new ConsoleHandler(libMinLevel)]
14
+ }]);
15
+
16
+ export { testLogger };
17
+ //# sourceMappingURL=index-node14.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-node14.mjs","sources":["../src/index.ts"],"sourcesContent":["import { configure, Level, Logger } from 'nightingale';\nimport { ConsoleHandler } from 'nightingale-console';\n\nexport { configure, addConfig, levels, Level, Logger } from 'nightingale';\n\nconst testMinLevel =\n process.env.NIGHTINGALE_TEST_MIN_LEVEL !== undefined &&\n process.env.NIGHTINGALE_TEST_MIN_LEVEL !== ''\n ? Number(process.env.NIGHTINGALE_TEST_MIN_LEVEL)\n : __DEV__\n ? Level.DEBUG\n : Level.INFO;\n\nconst libMinLevel =\n process.env.NIGHTINGALE_LIB_MIN_LEVEL !== undefined &&\n process.env.NIGHTINGALE_LIB_MIN_LEVEL !== ''\n ? Number(process.env.NIGHTINGALE_LIB_MIN_LEVEL)\n : Level.INFO;\n\nexport const testLogger = new Logger('unit-testing');\n\nconfigure([\n {\n pattern: /^app(:|$)/,\n handlers: [new ConsoleHandler(testMinLevel)],\n stop: true,\n },\n {\n handlers: [new ConsoleHandler(libMinLevel)],\n },\n]);\n"],"names":["testMinLevel","process","env","NIGHTINGALE_TEST_MIN_LEVEL","undefined","Number","__DEV__","Level","DEBUG","INFO","libMinLevel","NIGHTINGALE_LIB_MIN_LEVEL","testLogger","Logger","configure","pattern","handlers","ConsoleHandler","stop"],"mappings":";;;;AAKA,MAAMA,YAAY,GAChBC,OAAO,CAACC,GAAR,CAAYC,0BAAZ,KAA2CC,SAA3C,IACAH,OAAO,CAACC,GAAR,CAAYC,0BAAZ,KAA2C,EAD3C,GAEIE,MAAM,CAACJ,OAAO,CAACC,GAAR,CAAYC,0BAAb,CAFV,GAGIG,qCAAO,GACPC,KAAK,CAACC,KADC,GAEPD,KAAK,CAACE,IANZ;AAQA,MAAMC,WAAW,GACfT,OAAO,CAACC,GAAR,CAAYS,yBAAZ,KAA0CP,SAA1C,IACAH,OAAO,CAACC,GAAR,CAAYS,yBAAZ,KAA0C,EAD1C,GAEIN,MAAM,CAACJ,OAAO,CAACC,GAAR,CAAYS,yBAAb,CAFV,GAGIJ,KAAK,CAACE,IAJZ;MAMaG,UAAU,GAAG,IAAIC,MAAJ,CAAW,cAAX;AAE1BC,SAAS,CAAC,CACR;AACEC,EAAAA,OAAO,EAAE,WADX;AAEEC,EAAAA,QAAQ,EAAE,CAAC,IAAIC,cAAJ,CAAmBjB,YAAnB,CAAD,CAFZ;AAGEkB,EAAAA,IAAI,EAAE;AAHR,CADQ,EAMR;AACEF,EAAAA,QAAQ,EAAE,CAAC,IAAIC,cAAJ,CAAmBP,WAAnB,CAAD;AADZ,CANQ,CAAD,CAAT;;;;"}
@@ -0,0 +1,4 @@
1
+ import { Logger } from 'nightingale';
2
+ export { configure, addConfig, levels, Level, Logger } from 'nightingale';
3
+ export declare const testLogger: Logger;
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,MAAM,EAAE,MAAM,aAAa,CAAC;AAGvD,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAgB1E,eAAO,MAAM,UAAU,QAA6B,CAAC"}
package/package.json ADDED
@@ -0,0 +1,70 @@
1
+ {
2
+ "name": "nightingale-unit-testing",
3
+ "version": "12.1.0",
4
+ "description": "nightingale default config for unit testing",
5
+ "keywords": [],
6
+ "author": "Christophe Hurpeau <christophe@hurpeau.com> (https://christophe.hurpeau.com)",
7
+ "license": "ISC",
8
+ "repository": {
9
+ "type": "git",
10
+ "url": "https://github.com/christophehurpeau/nightingale.git",
11
+ "directory": "packages/nightingale-unit-testing"
12
+ },
13
+ "homepage": "https://github.com/christophehurpeau/nightingale",
14
+ "type": "commonjs",
15
+ "engines": {
16
+ "node": "^14.13.1 || >=16.0.0"
17
+ },
18
+ "main": "./dist/index-node14.cjs.js",
19
+ "types": "./dist/index.d.ts",
20
+ "exports": {
21
+ "./package.json": "./package.json",
22
+ ".": {
23
+ "node": {
24
+ "import": "./dist/index-node14.mjs",
25
+ "require": "./dist/index-node14.cjs.js"
26
+ }
27
+ }
28
+ },
29
+ "module:node": "./dist/index-node14.mjs",
30
+ "sideEffects": false,
31
+ "scripts": {
32
+ "build": "pob-build && yarn run build:definitions",
33
+ "build:definitions": "tsc -p tsconfig.build.json",
34
+ "clean": "rm -Rf dist",
35
+ "lint": "yarn run lint:eslint",
36
+ "lint:eslint": "cd ../.. && yarn run eslint --report-unused-disable-directives --resolve-plugins-relative-to . --quiet packages/nightingale-unit-testing",
37
+ "watch": "pob-watch"
38
+ },
39
+ "prettier": {
40
+ "trailingComma": "all",
41
+ "singleQuote": true,
42
+ "arrowParens": "always"
43
+ },
44
+ "pob": {
45
+ "babelEnvs": [
46
+ {
47
+ "target": "node",
48
+ "version": "14",
49
+ "formats": [
50
+ "cjs",
51
+ "es"
52
+ ]
53
+ }
54
+ ],
55
+ "entries": [
56
+ "index"
57
+ ]
58
+ },
59
+ "dependencies": {
60
+ "@types/node": ">=14.0.0",
61
+ "nightingale": "12.1.0",
62
+ "nightingale-console": "12.1.0"
63
+ },
64
+ "devDependencies": {
65
+ "@babel/core": "7.16.0",
66
+ "pob-babel": "29.4.2",
67
+ "typescript": "4.5.4"
68
+ },
69
+ "gitHead": "f2f75856d32f444f0ed08b5ab903537cb1f4c38f"
70
+ }
@@ -0,0 +1,3 @@
1
+ import createRollupConfig from 'pob-babel/createRollupConfig.js';
2
+
3
+ export default createRollupConfig({});
@@ -0,0 +1,30 @@
1
+ {
2
+ "root": true,
3
+ "parser": "@typescript-eslint/parser",
4
+ "parserOptions": {
5
+ "project": "packages/nightingale-unit-testing/tsconfig.json"
6
+ },
7
+ "plugins": ["@typescript-eslint"],
8
+ "extends": [
9
+ "@pob/eslint-config-typescript",
10
+ "@pob/eslint-config-typescript/node"
11
+ ],
12
+ "ignorePatterns": ["*.d.ts"],
13
+ "overrides": [
14
+ {
15
+ "files": ["**/*.test.ts", "__tests__/**/*.ts"],
16
+ "extends": ["@pob/eslint-config-typescript/test"],
17
+ "env": {
18
+ "jest": true
19
+ },
20
+ "rules": {
21
+ "import/no-extraneous-dependencies": [
22
+ "error",
23
+ {
24
+ "devDependencies": true
25
+ }
26
+ ]
27
+ }
28
+ }
29
+ ]
30
+ }
package/src/index.ts ADDED
@@ -0,0 +1,31 @@
1
+ import { configure, Level, Logger } from 'nightingale';
2
+ import { ConsoleHandler } from 'nightingale-console';
3
+
4
+ export { configure, addConfig, levels, Level, Logger } from 'nightingale';
5
+
6
+ const testMinLevel =
7
+ process.env.NIGHTINGALE_TEST_MIN_LEVEL !== undefined &&
8
+ process.env.NIGHTINGALE_TEST_MIN_LEVEL !== ''
9
+ ? Number(process.env.NIGHTINGALE_TEST_MIN_LEVEL)
10
+ : __DEV__
11
+ ? Level.DEBUG
12
+ : Level.INFO;
13
+
14
+ const libMinLevel =
15
+ process.env.NIGHTINGALE_LIB_MIN_LEVEL !== undefined &&
16
+ process.env.NIGHTINGALE_LIB_MIN_LEVEL !== ''
17
+ ? Number(process.env.NIGHTINGALE_LIB_MIN_LEVEL)
18
+ : Level.INFO;
19
+
20
+ export const testLogger = new Logger('unit-testing');
21
+
22
+ configure([
23
+ {
24
+ pattern: /^app(:|$)/,
25
+ handlers: [new ConsoleHandler(testMinLevel)],
26
+ stop: true,
27
+ },
28
+ {
29
+ handlers: [new ConsoleHandler(libMinLevel)],
30
+ },
31
+ ]);