@thi.ng/dlogic 1.0.48 → 2.0.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
@@ -3,7 +3,7 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
- ## [1.0.48](https://github.com/thi-ng/umbrella/compare/@thi.ng/dlogic@1.0.47...@thi.ng/dlogic@1.0.48) (2021-08-08)
6
+ ## [2.0.2](https://github.com/thi-ng/umbrella/compare/@thi.ng/dlogic@2.0.1...@thi.ng/dlogic@2.0.2) (2021-10-15)
7
7
 
8
8
  **Note:** Version bump only for package @thi.ng/dlogic
9
9
 
@@ -11,7 +11,7 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline
11
11
 
12
12
 
13
13
 
14
- ## [1.0.47](https://github.com/thi-ng/umbrella/compare/@thi.ng/dlogic@1.0.46...@thi.ng/dlogic@1.0.47) (2021-08-08)
14
+ ## [2.0.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/dlogic@2.0.0...@thi.ng/dlogic@2.0.1) (2021-10-13)
15
15
 
16
16
  **Note:** Version bump only for package @thi.ng/dlogic
17
17
 
@@ -19,48 +19,49 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline
19
19
 
20
20
 
21
21
 
22
- ## [1.0.46](https://github.com/thi-ng/umbrella/compare/@thi.ng/dlogic@1.0.45...@thi.ng/dlogic@1.0.46) (2021-08-04)
22
+ # [2.0.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/dlogic@1.0.49...@thi.ng/dlogic@2.0.0) (2021-10-12)
23
23
 
24
- **Note:** Version bump only for package @thi.ng/dlogic
25
-
26
-
27
-
28
-
29
-
30
- ## [1.0.45](https://github.com/thi-ng/umbrella/compare/@thi.ng/dlogic@1.0.44...@thi.ng/dlogic@1.0.45) (2021-07-01)
31
24
 
32
- **Note:** Version bump only for package @thi.ng/dlogic
25
+ ### Build System
33
26
 
27
+ * major update of ALL pkgs (export maps, ESM only) ([0d1d6ea](https://github.com/thi-ng/umbrella/commit/0d1d6ea9fab2a645d6c5f2bf2591459b939c09b6))
34
28
 
35
29
 
30
+ ### BREAKING CHANGES
36
31
 
32
+ * discontinue CommonJS & UMD versions
37
33
 
38
- ## [1.0.44](https://github.com/thi-ng/umbrella/compare/@thi.ng/dlogic@1.0.43...@thi.ng/dlogic@1.0.44) (2021-06-08)
34
+ - only ESM modules will be published from now on
35
+ - CJS obsolete due to ESM support in recent versions of node:
36
+ - i.e. launch NodeJS via:
37
+ - `node --experimental-specifier-resolution=node --experimental-repl-await`
38
+ - in the node REPL use `await import(...)` instead of `require()`
39
+ - UMD obsolete due to widespread browser support for ESM
39
40
 
40
- **Note:** Version bump only for package @thi.ng/dlogic
41
+ Also:
42
+ - normalize/restructure/reorg all package.json files
43
+ - cleanup all build scripts, remove obsolete
44
+ - switch from mocha to @thi.ng/testament for all tests
41
45
 
42
46
 
43
47
 
44
48
 
45
49
 
46
- # [1.0.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/dlogic@0.1.2...@thi.ng/dlogic@1.0.0) (2019-01-21)
47
50
 
48
- ### Build System
51
+ # [1.0.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/dlogic@0.1.2...@thi.ng/dlogic@1.0.0) (2019-01-21)
49
52
 
50
- * update package build scripts & outputs, imports in ~50 packages ([b54b703](https://github.com/thi-ng/umbrella/commit/b54b703))
53
+ ### Build System
51
54
 
52
- ### BREAKING CHANGES
55
+ - update package build scripts & outputs, imports in ~50 packages ([b54b703](https://github.com/thi-ng/umbrella/commit/b54b703))
53
56
 
54
- * enabled multi-outputs (ES6 modules, CJS, UMD)
57
+ ### BREAKING CHANGES
55
58
 
56
- - build scripts now first build ES6 modules in package root, then call
57
- `scripts/bundle-module` to build minified CJS & UMD bundles in `/lib`
58
- - all imports MUST be updated to only refer to package level
59
- (not individual files anymore). tree shaking in user land will get rid of
60
- all unused imported symbols.
59
+ - enabled multi-outputs (ES6 modules, CJS, UMD)
60
+ - build scripts now first build ES6 modules in package root, then call `scripts/bundle-module` to build minified CJS & UMD bundles in `/lib`
61
+ - all imports MUST be updated to only refer to package level (not individual files anymore). tree shaking in user land will get rid of all unused imported symbols.
61
62
 
62
- # 0.1.0 (2018-10-17)
63
+ # 0.1.0 (2018-10-17)
63
64
 
64
- ### Features
65
+ ### Features
65
66
 
66
- * **dlogic:** add [@thi](https://github.com/thi).ng/dlogic package ([405cf51](https://github.com/thi-ng/umbrella/commit/405cf51))
67
+ - **dlogic:** add [@thi](https://github.com/thi).ng/dlogic package ([405cf51](https://github.com/thi-ng/umbrella/commit/405cf51))
package/README.md CHANGED
@@ -40,15 +40,24 @@ for binary versions of most of the ops provided by this package.
40
40
  yarn add @thi.ng/dlogic
41
41
  ```
42
42
 
43
+ ES module import:
44
+
43
45
  ```html
44
- // ES module
45
- <script type="module" src="https://unpkg.com/@thi.ng/dlogic?module" crossorigin></script>
46
+ <script type="module" src="https://cdn.skypack.dev/@thi.ng/dlogic"></script>
47
+ ```
48
+
49
+ [Skypack documentation](https://docs.skypack.dev/)
50
+
51
+ For Node.js REPL:
52
+
53
+ ```text
54
+ # with flag only for < v16
55
+ node --experimental-repl-await
46
56
 
47
- // UMD
48
- <script src="https://unpkg.com/@thi.ng/dlogic/lib/index.umd.js" crossorigin></script>
57
+ > const dlogic = await import("@thi.ng/dlogic");
49
58
  ```
50
59
 
51
- Package sizes (gzipped, pre-treeshake): ESM: 378 bytes / CJS: 478 bytes / UMD: 529 bytes
60
+ Package sizes (gzipped, pre-treeshake): ESM: 378 bytes
52
61
 
53
62
  ## Dependencies
54
63
 
package/package.json CHANGED
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "name": "@thi.ng/dlogic",
3
- "version": "1.0.48",
3
+ "version": "2.0.2",
4
4
  "description": "Assorted digital logic ops / constructs",
5
+ "type": "module",
5
6
  "module": "./index.js",
6
- "main": "./lib/index.js",
7
- "umd:main": "./lib/index.umd.js",
8
7
  "typings": "./index.d.ts",
8
+ "sideEffects": false,
9
9
  "repository": {
10
10
  "type": "git",
11
11
  "url": "https://github.com/thi-ng/umbrella.git"
@@ -24,27 +24,21 @@
24
24
  "author": "Karsten Schmidt <k+npm@thi.ng>",
25
25
  "license": "Apache-2.0",
26
26
  "scripts": {
27
- "build": "yarn clean && yarn build:es6 && node ../../scripts/bundle-module",
28
- "build:release": "yarn clean && yarn build:es6 && node ../../scripts/bundle-module all",
29
- "build:es6": "tsc --declaration",
30
- "build:test": "rimraf build && tsc -p test/tsconfig.json",
31
- "build:check": "tsc --isolatedModules --noEmit",
32
- "test": "mocha test",
33
- "cover": "nyc mocha test && nyc report --reporter=lcov",
34
- "clean": "rimraf *.js *.d.ts *.map .nyc_output build coverage doc lib",
35
- "doc:readme": "ts-node -P ../../tools/tsconfig.json ../../tools/src/readme.ts",
36
- "doc": "typedoc --excludePrivate --out doc --theme ../../tools/doc/typedoc-theme src/index.ts",
27
+ "build": "yarn clean && tsc --declaration",
28
+ "clean": "rimraf *.js *.d.ts *.map doc",
29
+ "doc": "typedoc --excludePrivate --excludeInternal --out doc src/index.ts",
37
30
  "doc:ae": "mkdir -p .ae/doc .ae/temp && node_modules/.bin/api-extractor run --local --verbose",
38
- "pub": "yarn build:release && yarn publish --access public"
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"
39
35
  },
40
36
  "dependencies": {
41
- "@thi.ng/api": "^7.1.9"
37
+ "@thi.ng/api": "^8.0.2"
38
+ },
39
+ "devDependencies": {
40
+ "@thi.ng/testament": "^0.1.2"
42
41
  },
43
- "files": [
44
- "*.js",
45
- "*.d.ts",
46
- "lib"
47
- ],
48
42
  "keywords": [
49
43
  "boolean",
50
44
  "digital",
@@ -56,9 +50,20 @@
56
50
  "publishConfig": {
57
51
  "access": "public"
58
52
  },
59
- "sideEffects": false,
53
+ "engines": {
54
+ "node": ">=12.7"
55
+ },
56
+ "files": [
57
+ "*.js",
58
+ "*.d.ts"
59
+ ],
60
+ "exports": {
61
+ ".": {
62
+ "import": "./index.js"
63
+ }
64
+ },
60
65
  "thi.ng": {
61
66
  "year": 2017
62
67
  },
63
- "gitHead": "538019e9d8ca6c5fee4754af93ad454c0674dc72"
68
+ "gitHead": "3c5f903104da150588946a94bb118ad559ad395d"
64
69
  }
package/lib/index.js DELETED
@@ -1,69 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- const not = (x) => !x;
6
- const nand = (a, b) => !(a && b);
7
- const and = (a, b) => a && b;
8
- const or = (a, b) => a || b;
9
- const nor = (a, b) => !(a || b);
10
- const xor = (a, b) => a !== b;
11
- const xnor = (a, b) => a === b;
12
- const imply = (a, b) => !a || b;
13
- const aoi21 = (a, b, c) => !(a || (b && c));
14
- const aoi22 = (a, b, c, d) => !((a && b) || (c && d));
15
- const oai21 = (a, b, c) => !(a && (b || c));
16
- const oai22 = (a, b, c, d) => !((a || b) && (c || d));
17
- const mux = (a, b, s) => (a && !s) || (b && s);
18
- const demux = (i, s) => [
19
- i && !s,
20
- i && s,
21
- ];
22
- const hadd1 = (a, b) => ({
23
- s: a !== b,
24
- c: a && b,
25
- });
26
- const fadd1 = (a, b, c) => ({
27
- s: (a !== b) !== c,
28
- c: (a !== b && c) || (a && b),
29
- });
30
- const rca = (a, b, c) => {
31
- const s = [];
32
- for (let n = a.length, i = 0; i < n; i++) {
33
- const r = fadd1(a[i], b[i], c);
34
- s.push(r.s);
35
- c = r.c;
36
- }
37
- return { s, c };
38
- };
39
- const delay = (n) => {
40
- const buf = new Array(n).fill(false);
41
- let i = 0;
42
- return n > 0
43
- ? (x) => {
44
- const y = buf[i];
45
- buf[i++] = x;
46
- i %= n;
47
- return y;
48
- }
49
- : (x) => x;
50
- };
51
-
52
- exports.and = and;
53
- exports.aoi21 = aoi21;
54
- exports.aoi22 = aoi22;
55
- exports.delay = delay;
56
- exports.demux = demux;
57
- exports.fadd1 = fadd1;
58
- exports.hadd1 = hadd1;
59
- exports.imply = imply;
60
- exports.mux = mux;
61
- exports.nand = nand;
62
- exports.nor = nor;
63
- exports.not = not;
64
- exports.oai21 = oai21;
65
- exports.oai22 = oai22;
66
- exports.or = or;
67
- exports.rca = rca;
68
- exports.xnor = xnor;
69
- exports.xor = xor;
package/lib/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":["../index.js"],"sourcesContent":null,"names":[],"mappings":"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"}
package/lib/index.umd.js DELETED
@@ -1 +0,0 @@
1
- !function(e,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports):"function"==typeof define&&define.amd?define(["exports"],n):n(((e="undefined"!=typeof globalThis?globalThis:e||self).thi=e.thi||{},e.thi.ng=e.thi.ng||{},e.thi.ng.dlogic={}))}(this,(function(e){"use strict";const n=(e,n,t)=>({s:e!==n!==t,c:e!==n&&t||e&&n});e.and=(e,n)=>e&&n,e.aoi21=(e,n,t)=>!(e||n&&t),e.aoi22=(e,n,t,o)=>!(e&&n||t&&o),e.delay=e=>{const n=new Array(e).fill(!1);let t=0;return e>0?o=>{const i=n[t];return n[t++]=o,t%=e,i}:e=>e},e.demux=(e,n)=>[e&&!n,e&&n],e.fadd1=n,e.hadd1=(e,n)=>({s:e!==n,c:e&&n}),e.imply=(e,n)=>!e||n,e.mux=(e,n,t)=>e&&!t||n&&t,e.nand=(e,n)=>!(e&&n),e.nor=(e,n)=>!(e||n),e.not=e=>!e,e.oai21=(e,n,t)=>!(e&&(n||t)),e.oai22=(e,n,t,o)=>!((e||n)&&(t||o)),e.or=(e,n)=>e||n,e.rca=(e,t,o)=>{const i=[];for(let d=e.length,r=0;r<d;r++){const d=n(e[r],t[r],o);i.push(d.s),o=d.c}return{s:i,c:o}},e.xnor=(e,n)=>e===n,e.xor=(e,n)=>e!==n,Object.defineProperty(e,"__esModule",{value:!0})}));
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.umd.js","sources":["../index.js"],"sourcesContent":null,"names":[],"mappings":"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"}