@thi.ng/system 2.0.8 → 2.1.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.
package/CHANGELOG.md CHANGED
@@ -1,69 +1,102 @@
1
1
  # Change Log
2
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
- ## [2.0.8](https://github.com/thi-ng/umbrella/compare/@thi.ng/system@2.0.7...@thi.ng/system@2.0.8) (2021-11-03)
3
+ - **Last updated**: 2021-11-21T17:09:28Z
4
+ - **Generator**: [thi.ng/monopub](https://thi.ng/monopub)
7
5
 
8
- **Note:** Version bump only for package @thi.ng/system
6
+ All notable changes to this project will be documented in this file.
7
+ See [Conventional Commits](https://conventionalcommits.org/) for commit guidelines.
9
8
 
9
+ **Note:** Unlisted _patch_ versions only involve non-code or otherwise excluded changes
10
+ and/or version bumps of transitive dependencies.
10
11
 
12
+ ## [2.1.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/system@2.1.0) (2021-11-17)
11
13
 
14
+ #### 🚀 Features
12
15
 
16
+ - Using workspaces for local tools ([bf7a404](https://github.com/thi-ng/umbrella/commit/bf7a404))
17
+ Improving the overall build ergonomics
18
+ - introduced a tools workspaces
19
+ - imported it in all needed packages/examples
20
+ - inclusive project root
13
21
 
14
- # [2.0.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/system@1.0.8...@thi.ng/system@2.0.0) (2021-10-12)
22
+ #### ♻️ Refactoring
15
23
 
24
+ - testrunner to binary ([4ebbbb2](https://github.com/thi-ng/umbrella/commit/4ebbbb2))
25
+ this commit reverts (partly) changes made in:
26
+ ef346d7a8753590dc9094108a3d861a8dbd5dd2c
27
+ overall purpose is better testament ergonomics:
28
+ instead of having to pass NODE_OPTIONS with every invocation
29
+ having a binary to handle this for us.
16
30
 
17
- ### Build System
31
+ ### [2.0.9](https://github.com/thi-ng/umbrella/tree/@thi.ng/system@2.0.9) (2021-11-10)
18
32
 
19
- * major update of ALL pkgs (export maps, ESM only) ([0d1d6ea](https://github.com/thi-ng/umbrella/commit/0d1d6ea9fab2a645d6c5f2bf2591459b939c09b6))
33
+ #### ♻️ Refactoring
20
34
 
35
+ - update all countdown loops ([a5f374b](https://github.com/thi-ng/umbrella/commit/a5f374b))
21
36
 
22
- ### BREAKING CHANGES
37
+ ### [2.0.1](https://github.com/thi-ng/umbrella/tree/@thi.ng/system@2.0.1) (2021-10-13)
23
38
 
24
- * discontinue CommonJS & UMD versions
39
+ #### ♻️ Refactoring
25
40
 
26
- - only ESM modules will be published from now on
27
- - CJS obsolete due to ESM support in recent versions of node:
28
- - i.e. launch NodeJS via:
29
- - `node --experimental-specifier-resolution=node --experimental-repl-await`
30
- - in the node REPL use `await import(...)` instead of `require()`
31
- - UMD obsolete due to widespread browser support for ESM
41
+ - update imports in all tests/pkgs ([effd591](https://github.com/thi-ng/umbrella/commit/effd591))
42
+ - update imports in all pkgs ([5fa2b6f](https://github.com/thi-ng/umbrella/commit/5fa2b6f))
43
+ - add .js suffix for all relative imports
32
44
 
33
- Also:
34
- - normalize/restructure/reorg all package.json files
35
- - cleanup all build scripts, remove obsolete
36
- - switch from mocha to @thi.ng/testament for all tests
45
+ # [2.0.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/system@2.0.0) (2021-10-12)
37
46
 
47
+ #### 🛑 Breaking changes
38
48
 
49
+ - major update of ALL pkgs (export maps, ESM only) ([0d1d6ea](https://github.com/thi-ng/umbrella/commit/0d1d6ea))
50
+ - BREAKING CHANGE: discontinue CommonJS & UMD versions
51
+ - only ESM modules will be published from now on
52
+ - CJS obsolete due to ESM support in recent versions of node:
53
+ - i.e. launch NodeJS via:
54
+ - `node --experimental-specifier-resolution=node --experimental-repl-await`
55
+ - in the node REPL use `await import(...)` instead of `require()`
56
+ - UMD obsolete due to widespread browser support for ESM
57
+ Also:
58
+ - normalize/restructure/reorg all package.json files
59
+ - cleanup all build scripts, remove obsolete
60
+ - switch from mocha to [@thi.ng/testament](https://github.com/thi-ng/umbrella/tree/main/packages/testament) for all tests
39
61
 
62
+ #### ♻️ Refactoring
40
63
 
64
+ - update deps & imports in various pkgs ([e1cf29e](https://github.com/thi-ng/umbrella/commit/e1cf29e))
65
+ - largely related to recent updates/restructuring of these packages:
66
+ - api
67
+ - defmulti
68
+ - errors
69
+ - logger
70
+ - update imports ([138571a](https://github.com/thi-ng/umbrella/commit/138571a))
71
+ - update all tests in _all_ pkgs ([8b582bc](https://github.com/thi-ng/umbrella/commit/8b582bc))
72
+ - update all to use [@thi.ng/testament](https://github.com/thi-ng/umbrella/tree/main/packages/testament)
41
73
 
74
+ ## [0.3.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/system@0.3.0) (2021-03-30)
42
75
 
43
- ## [1.0.7](https://github.com/thi-ng/umbrella/compare/@thi.ng/system@1.0.6...@thi.ng/system@1.0.7) (2021-08-22)
76
+ #### 🚀 Features
44
77
 
45
- **Note:** Version bump only for package @thi.ng/system
78
+ - add package LOGGER ([f67364c](https://github.com/thi-ng/umbrella/commit/f67364c))
46
79
 
47
- # [0.3.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/system@0.2.48...@thi.ng/system@0.3.0) (2021-03-30)
80
+ ### [0.2.31](https://github.com/thi-ng/umbrella/tree/@thi.ng/system@0.2.31) (2020-12-07)
48
81
 
49
- ### Features
82
+ #### ♻️ Refactoring
50
83
 
51
- - **system:** add package LOGGER ([f67364c](https://github.com/thi-ng/umbrella/commit/f67364cb12f7a868e005a8f6ea7759d9fc03c216))
84
+ - update type-only imports in remaining pkgs ([b22aa30](https://github.com/thi-ng/umbrella/commit/b22aa30))
52
85
 
53
- ## [0.2.26](https://github.com/thi-ng/umbrella/compare/@thi.ng/system@0.2.25...@thi.ng/system@0.2.26) (2020-09-13)
86
+ ### [0.2.26](https://github.com/thi-ng/umbrella/tree/@thi.ng/system@0.2.26) (2020-09-13)
54
87
 
55
- ### Bug Fixes
88
+ #### 🩹 Bug fixes
56
89
 
57
- - **system:** fix [#247](https://github.com/thi-ng/umbrella/issues/247), allow custom keys in ILifecycle ([a7b8680](https://github.com/thi-ng/umbrella/commit/a7b86804255f22cbdbcaf128854ba615fb5cf20f))
90
+ - fix [#247](https://github.com/thi-ng/umbrella/issues/247), allow custom keys in ILifecycle ([a7b8680](https://github.com/thi-ng/umbrella/commit/a7b8680))
58
91
 
59
- # [0.2.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/system@0.1.0...@thi.ng/system@0.2.0) (2020-04-03)
92
+ ## [0.2.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/system@0.2.0) (2020-04-03)
60
93
 
61
- ### Features
94
+ #### 🚀 Features
62
95
 
63
- - **system:** update ILifecycle, keep graph, add/update docs ([791c67d](https://github.com/thi-ng/umbrella/commit/791c67d446c5fae041831a16b250b5cfd62312d0))
96
+ - update ILifecycle, keep graph, add/update docs ([791c67d](https://github.com/thi-ng/umbrella/commit/791c67d))
64
97
 
65
- # 0.1.0 (2020-04-02)
98
+ ## [0.1.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/system@0.1.0) (2020-04-02)
66
99
 
67
- ### Features
100
+ #### 🚀 Features
68
101
 
69
- - **system:** import as new pkg, add tests, readme ([709d896](https://github.com/thi-ng/umbrella/commit/709d896cee964dc876e1e53c95a3b77a00d8c433))
102
+ - import as new pkg, add tests, readme ([709d896](https://github.com/thi-ng/umbrella/commit/709d896))
package/README.md CHANGED
@@ -58,7 +58,7 @@ node --experimental-repl-await
58
58
  > const system = await import("@thi.ng/system");
59
59
  ```
60
60
 
61
- Package sizes (gzipped, pre-treeshake): ESM: 419 bytes
61
+ Package sizes (gzipped, pre-treeshake): ESM: 426 bytes
62
62
 
63
63
  ## Dependencies
64
64
 
package/package.json CHANGED
@@ -1,80 +1,85 @@
1
1
  {
2
- "name": "@thi.ng/system",
3
- "version": "2.0.8",
4
- "description": "Minimal and explicit dependency-injection & lifecycle container for stateful app components",
5
- "type": "module",
6
- "module": "./index.js",
7
- "typings": "./index.d.ts",
8
- "sideEffects": false,
9
- "repository": {
10
- "type": "git",
11
- "url": "https://github.com/thi-ng/umbrella.git"
2
+ "name": "@thi.ng/system",
3
+ "version": "2.1.2",
4
+ "description": "Minimal and explicit dependency-injection & lifecycle container for stateful app components",
5
+ "type": "module",
6
+ "module": "./index.js",
7
+ "typings": "./index.d.ts",
8
+ "sideEffects": false,
9
+ "repository": {
10
+ "type": "git",
11
+ "url": "https://github.com/thi-ng/umbrella.git"
12
+ },
13
+ "homepage": "https://github.com/thi-ng/umbrella/tree/develop/packages/system#readme",
14
+ "funding": [
15
+ {
16
+ "type": "github",
17
+ "url": "https://github.com/sponsors/postspectacular"
12
18
  },
13
- "homepage": "https://github.com/thi-ng/umbrella/tree/develop/packages/system#readme",
14
- "funding": [
15
- {
16
- "type": "github",
17
- "url": "https://github.com/sponsors/postspectacular"
18
- },
19
- {
20
- "type": "patreon",
21
- "url": "https://patreon.com/thing_umbrella"
22
- }
23
- ],
24
- "author": "Karsten Schmidt <k+npm@thi.ng>",
25
- "license": "Apache-2.0",
26
- "scripts": {
27
- "build": "yarn clean && tsc --declaration",
28
- "clean": "rimraf *.js *.d.ts *.map doc",
29
- "doc": "typedoc --excludePrivate --excludeInternal --out doc src/index.ts",
30
- "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose",
31
- "doc:readme": "yarn doc:stats && ../../scripts/node-esm ../../tools/src/readme.ts",
32
- "doc:stats": "../../scripts/node-esm ../../tools/src/module-stats.ts",
33
- "pub": "yarn build && yarn publish --access public",
34
- "test": "testament test"
19
+ {
20
+ "type": "patreon",
21
+ "url": "https://patreon.com/thing_umbrella"
22
+ }
23
+ ],
24
+ "author": "Karsten Schmidt <k+npm@thi.ng>",
25
+ "license": "Apache-2.0",
26
+ "scripts": {
27
+ "build": "yarn clean && tsc --declaration",
28
+ "clean": "rimraf '*.js' '*.d.ts' '*.map' doc",
29
+ "doc": "typedoc --excludePrivate --excludeInternal --out doc src/index.ts",
30
+ "doc:ae": "mkdir -p .ae/doc .ae/temp && api-extractor run --local --verbose",
31
+ "doc:readme": "yarn doc:stats && tools:readme",
32
+ "doc:stats": "tools:module-stats",
33
+ "pub": "yarn npm publish --access public",
34
+ "test": "testament test"
35
+ },
36
+ "dependencies": {
37
+ "@thi.ng/api": "^8.3.2",
38
+ "@thi.ng/dgraph": "^2.1.2",
39
+ "@thi.ng/logger": "^1.1.2"
40
+ },
41
+ "devDependencies": {
42
+ "@microsoft/api-extractor": "^7.18.19",
43
+ "@thi.ng/testament": "^0.2.2",
44
+ "rimraf": "^3.0.2",
45
+ "tools": "^0.0.1",
46
+ "typedoc": "^0.22.9",
47
+ "typescript": "^4.5.2"
48
+ },
49
+ "keywords": [
50
+ "clojure",
51
+ "component",
52
+ "datastructure",
53
+ "dependency",
54
+ "graph",
55
+ "injection",
56
+ "sort",
57
+ "topology",
58
+ "typescript"
59
+ ],
60
+ "publishConfig": {
61
+ "access": "public"
62
+ },
63
+ "engines": {
64
+ "node": ">=12.7"
65
+ },
66
+ "files": [
67
+ "*.js",
68
+ "*.d.ts"
69
+ ],
70
+ "exports": {
71
+ ".": {
72
+ "import": "./index.js"
35
73
  },
36
- "dependencies": {
37
- "@thi.ng/api": "^8.1.0",
38
- "@thi.ng/dgraph": "^2.0.8",
39
- "@thi.ng/logger": "^1.0.6"
74
+ "./api": {
75
+ "import": "./api.js"
40
76
  },
41
- "devDependencies": {
42
- "@thi.ng/testament": "^0.1.6"
43
- },
44
- "keywords": [
45
- "clojure",
46
- "component",
47
- "datastructure",
48
- "dependency",
49
- "graph",
50
- "injection",
51
- "sort",
52
- "topology",
53
- "typescript"
54
- ],
55
- "publishConfig": {
56
- "access": "public"
57
- },
58
- "engines": {
59
- "node": ">=12.7"
60
- },
61
- "files": [
62
- "*.js",
63
- "*.d.ts"
64
- ],
65
- "exports": {
66
- ".": {
67
- "import": "./index.js"
68
- },
69
- "./api": {
70
- "import": "./api.js"
71
- },
72
- "./system": {
73
- "import": "./system.js"
74
- }
75
- },
76
- "thi.ng": {
77
- "year": 2020
78
- },
79
- "gitHead": "852cd2450617c86d15d18477dc634f17f04202eb"
80
- }
77
+ "./system": {
78
+ "import": "./system.js"
79
+ }
80
+ },
81
+ "thi.ng": {
82
+ "year": 2020
83
+ },
84
+ "gitHead": "e8a7c2a40191b391cef182c2978e5a6c85987a87\n"
85
+ }
package/system.js CHANGED
@@ -45,7 +45,7 @@ export class System {
45
45
  */
46
46
  async stop() {
47
47
  const topo = this.topology;
48
- for (let i = topo.length; --i >= 0;) {
48
+ for (let i = topo.length; i-- > 0;) {
49
49
  const id = topo[i];
50
50
  const comp = this.components[id];
51
51
  if (comp.stop && !(await comp.stop())) {