formulab 0.28.0 → 0.28.1
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 +37 -0
- package/README.md +13 -8
- package/dist/automotive/evCharging.d.ts +4 -0
- package/dist/automotive/evCharging.d.ts.map +1 -1
- package/dist/automotive/evCharging.js +4 -0
- package/dist/automotive/evCharging.js.map +1 -1
- package/dist/metal/tolerance.d.ts +5 -0
- package/dist/metal/tolerance.d.ts.map +1 -1
- package/dist/metal/tolerance.js +5 -0
- package/dist/metal/tolerance.js.map +1 -1
- package/dist/metal/welding.d.ts +6 -0
- package/dist/metal/welding.d.ts.map +1 -1
- package/dist/metal/welding.js +21 -4
- package/dist/metal/welding.js.map +1 -1
- package/package.json +5 -3
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,43 @@ All notable changes to this project will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [0.28.1] - 2026-08-16
|
|
9
|
+
|
|
10
|
+
Golden reference test coverage for the Metal domain's remaining two functions, a deprecation
|
|
11
|
+
notice, and doc/tooling accuracy fixes.
|
|
12
|
+
|
|
13
|
+
### Fixed
|
|
14
|
+
|
|
15
|
+
- **`metal/welding` — the aluminum electrode list included a designation that doesn't exist.**
|
|
16
|
+
`E5356` is not classified under AWS A5.3 (the specification this function's SMAW rod-diameter/
|
|
17
|
+
current-range output represents) — AWS A5.3 covers exactly three SMAW aluminum electrodes
|
|
18
|
+
(E1100, E3003, E4043); "5356" only exists as a GTAW/GMAW filler-wire alloy under AWS A5.10's
|
|
19
|
+
`ER5356` designation, a different welding process. Replaced with `E3003` (a real A5.3
|
|
20
|
+
designation). `welding({ baseMetal: 'aluminum', ... })` could previously recommend a rod that
|
|
21
|
+
doesn't exist.
|
|
22
|
+
|
|
23
|
+
### Added
|
|
24
|
+
|
|
25
|
+
- Golden reference tests credited for `metal/tolerance` (already golden — cell-level ISO 286-1/
|
|
26
|
+
286-2 transcriptions with a documented prior defect fix, just missing a formal citation) and
|
|
27
|
+
`metal/welding` (cross-checked against all five AWS specifications it uses).
|
|
28
|
+
- Two new dev-only scripts (not part of the published library surface, same category as
|
|
29
|
+
`audit-constant-provenance.mjs`): `check:dependency-drift` (checks `pnpm outdated` + the
|
|
30
|
+
declared Node engine floor's EOL date; backed by a new monthly-scheduled CI workflow that
|
|
31
|
+
files/updates a tracking issue on drift) and `check:function-counts` (verifies README's
|
|
32
|
+
Verification Status table against the codebase using a documented counting convention).
|
|
33
|
+
|
|
34
|
+
### Changed
|
|
35
|
+
|
|
36
|
+
- **`automotive/evCharging` is deprecated in favor of `chargingLoss`.** `chargingLoss` computes
|
|
37
|
+
the same energy/charging-time values from the same inputs and additionally provides a charger/
|
|
38
|
+
battery loss breakdown, charger-type default efficiencies, ambient-temperature derating, and
|
|
39
|
+
cited standards. `evCharging` is unchanged and not scheduled for removal.
|
|
40
|
+
- Corrected the project's own function/test-count claims, which had drifted out of sync with
|
|
41
|
+
each other and with the codebase: README's Features bullet, Verification Status table (5
|
|
42
|
+
domains), and test count; `package.json`'s description field. All now verified by
|
|
43
|
+
`check:function-counts` rather than hand-maintained.
|
|
44
|
+
|
|
8
45
|
## [0.28.0] - 2026-08-16
|
|
9
46
|
|
|
10
47
|
### Added
|
package/README.md
CHANGED
|
@@ -11,29 +11,34 @@ A comprehensive collection of engineering formulas and calculations for manufact
|
|
|
11
11
|
|
|
12
12
|
## Features
|
|
13
13
|
|
|
14
|
-
- **
|
|
14
|
+
- **203 industrial calculations + 8 type guards** — OEE, Cpk, SPC control charts, Gage R&R, Weibull, metal weight, CNC machining, GD&T, pipe flow, CBM, NIOSH lifting, PMV/PPD, arc flash, battery SOH, GHG emissions, PID tuning, and more
|
|
15
15
|
- **15 specialized domains** — Quality, Metal, Chemical, Electronics, Construction, Automotive, Logistics, Energy, Safety, Food, Utility, Battery, Environmental, Machining, Industrial Engineering
|
|
16
16
|
- **Zero dependencies** — Lightweight and fast
|
|
17
17
|
- **TypeScript first** — Full type definitions included
|
|
18
18
|
- **Tree-shakeable** — Import only what you need
|
|
19
|
-
- **3,
|
|
19
|
+
- **3,036 tests** — Coverage thresholds: 90% lines, 95% functions, 85% branches ([CI pipeline](https://github.com/iyulab/formulab/actions/workflows/ci.yml))
|
|
20
20
|
- **Research-based** — Golden reference tests verified against NIOSH 94-110, AIAG/ASTM E2587, JIPM, ASME B16.5, ISO 22514-2, and more
|
|
21
21
|
|
|
22
22
|
## Verification Status
|
|
23
23
|
|
|
24
|
+
> **Functions** counts primary calculation functions only — type guards (8 total, listed
|
|
25
|
+
> separately above) and helper accessor/lookup functions (`getX`) and exported constants
|
|
26
|
+
> (`ALL_CAPS`) are not counted here. Verified against the codebase by
|
|
27
|
+
> `pnpm check:function-counts` (`scripts/count-functions.mjs`).
|
|
28
|
+
|
|
24
29
|
| Domain | Functions | Golden Tests | Key References |
|
|
25
30
|
|--------|-----------|-------------|----------------|
|
|
26
31
|
| Quality | 21 | oee, cpk, controlChart, gageRR | ISO 22400-2, AIAG/ASTM E2587, JIPM, AIAG MSA |
|
|
27
|
-
| Metal |
|
|
32
|
+
| Metal | 32 | metalWeight, flangeSpec, pipeSpec, pressFit, spring, weldStrength, tolerance, welding | Machinery's Handbook, ASME B36.10/B16.5, ISO 286, AWS A5 series |
|
|
28
33
|
| Logistics | 17 | cbm | Physical formula |
|
|
29
34
|
| Safety | 14 | nioshLifting | NIOSH 94-110, ISO 7730, IEEE 1584, OSHA |
|
|
30
35
|
| Chemical | 12 | pid, reliefValve | Darcy-Weisbach, Fourier, API 520, ISA |
|
|
31
|
-
| Electronics |
|
|
32
|
-
| Construction |
|
|
36
|
+
| Electronics | 11 | awgProperties, resistorDecode | IPC-2221, IEC 60062 |
|
|
37
|
+
| Construction | 13 | momentOfInertia | AISC, Timoshenko, Roark's (momentOfInertia only — see note) |
|
|
33
38
|
| Automotive | 9 | chargingLoss | AASHTO, SAE J1772 |
|
|
34
39
|
| Energy | 15 | degreeDay, windOutput | NREL PVWatts, ISO 50001 |
|
|
35
|
-
| Food |
|
|
36
|
-
| Utility |
|
|
40
|
+
| Food | 6 | waterActivity, stabilityStudy | HACCP, ICH Q1A |
|
|
41
|
+
| Utility | 16 | — | — |
|
|
37
42
|
| Battery | 10 | stateOfHealth, thermalRunaway | IEEE 1188, IEC 62620, Battery University |
|
|
38
43
|
| Environmental | 10 | gwpCalculator | GHG Protocol, IPCC AR6, IEA 2023 |
|
|
39
44
|
| Machining | 12 | all 12 functions — truePosition, gaugeBlockStack, boltCircle, sineBarHeight, effectiveDiameter, radialChipThinning, cuspHeight, boringBarDeflection, toolDeflection, cycleTimeEstimator, threadOverWires, triangleSolver | Machinery's Handbook, ASME Y14.5/B1.2, Sandvik Coromant |
|
|
@@ -322,7 +327,7 @@ import { batteryRuntime, evCharging, torque, brakingDistance, chargingLoss } fro
|
|
|
322
327
|
|----------|-------------|
|
|
323
328
|
| `brakingDistance()` | Stopping distance (AASHTO method) |
|
|
324
329
|
| `batteryRuntime()` | Battery capacity/runtime |
|
|
325
|
-
| `evCharging()` | EV charging time estimation |
|
|
330
|
+
| `evCharging()` | EV charging time estimation *(deprecated — use `chargingLoss()`)* |
|
|
326
331
|
| `fuelEconomy()` | Fuel economy conversion |
|
|
327
332
|
| `gearRatio()` | Gear ratio calculation |
|
|
328
333
|
| `tireCompare()` | Tire size comparison |
|
|
@@ -7,6 +7,10 @@ import type { ChargingInput, ChargingResult } from './types.js';
|
|
|
7
7
|
* - Energy From Grid (kWh) = Energy Needed / Efficiency
|
|
8
8
|
* - Charging Time (h) = Energy From Grid / Charger Power
|
|
9
9
|
*
|
|
10
|
+
* @deprecated Use {@link chargingLoss} instead — it computes the same energy and charging-time
|
|
11
|
+
* values from a single combined efficiency, and additionally provides a charger/battery loss
|
|
12
|
+
* breakdown with standard citations, charger-type default efficiencies, and ambient-temperature
|
|
13
|
+
* derating. `evCharging` is unchanged and will keep working; no removal is planned.
|
|
10
14
|
* @param input - Charging parameters
|
|
11
15
|
* @returns Charging result with energy and time
|
|
12
16
|
* @throws RangeError if socEndPercent is not greater than socStartPercent,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"evCharging.d.ts","sourceRoot":"","sources":["../../src/automotive/evCharging.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEhE
|
|
1
|
+
{"version":3,"file":"evCharging.d.ts","sourceRoot":"","sources":["../../src/automotive/evCharging.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEhE;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,aAAa,GAAG,cAAc,CAsB/D"}
|
|
@@ -7,6 +7,10 @@ import { roundTo } from '../utils.js';
|
|
|
7
7
|
* - Energy From Grid (kWh) = Energy Needed / Efficiency
|
|
8
8
|
* - Charging Time (h) = Energy From Grid / Charger Power
|
|
9
9
|
*
|
|
10
|
+
* @deprecated Use {@link chargingLoss} instead — it computes the same energy and charging-time
|
|
11
|
+
* values from a single combined efficiency, and additionally provides a charger/battery loss
|
|
12
|
+
* breakdown with standard citations, charger-type default efficiencies, and ambient-temperature
|
|
13
|
+
* derating. `evCharging` is unchanged and will keep working; no removal is planned.
|
|
10
14
|
* @param input - Charging parameters
|
|
11
15
|
* @returns Charging result with energy and time
|
|
12
16
|
* @throws RangeError if socEndPercent is not greater than socStartPercent,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"evCharging.js","sourceRoot":"","sources":["../../src/automotive/evCharging.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAGtC
|
|
1
|
+
{"version":3,"file":"evCharging.js","sourceRoot":"","sources":["../../src/automotive/evCharging.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAGtC;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,UAAU,CAAC,KAAoB;IAC7C,MAAM,EAAE,kBAAkB,EAAE,cAAc,EAAE,eAAe,EAAE,aAAa,EAAE,UAAU,EAAE,GAAG,KAAK,CAAC;IAEjG,IAAI,aAAa,IAAI,eAAe,EAAE,CAAC;QACrC,MAAM,IAAI,UAAU,CAAC,oDAAoD,CAAC,CAAC;IAC7E,CAAC;IACD,IAAI,cAAc,IAAI,CAAC,EAAE,CAAC;QACxB,MAAM,IAAI,UAAU,CAAC,uCAAuC,CAAC,CAAC;IAChE,CAAC;IAED,MAAM,OAAO,GAAG,CAAC,aAAa,GAAG,eAAe,CAAC,GAAG,GAAG,CAAC;IACxD,MAAM,YAAY,GAAG,kBAAkB,GAAG,OAAO,CAAC;IAClD,MAAM,cAAc,GAAG,YAAY,GAAG,UAAU,CAAC;IACjD,MAAM,iBAAiB,GAAG,cAAc,GAAG,cAAc,CAAC;IAC1D,MAAM,mBAAmB,GAAG,iBAAiB,GAAG,EAAE,CAAC;IAEnD,OAAO;QACL,YAAY,EAAE,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;QACtC,cAAc,EAAE,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC;QAC1C,iBAAiB,EAAE,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAC;QAChD,mBAAmB,EAAE,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAAC;KACrD,CAAC;AACJ,CAAC"}
|
|
@@ -16,6 +16,11 @@ export declare const ISO286_SIZE_RANGES: ReadonlyArray<{
|
|
|
16
16
|
/**
|
|
17
17
|
* Calculate ISO tolerance band for a given nominal size and tolerance class.
|
|
18
18
|
*
|
|
19
|
+
* @reference ISO 286-1:2010 (tolerance-grade table, IT4-IT14) and ISO 286-2:2010 (fundamental
|
|
20
|
+
* deviation tables for hole/shaft letters). Cell-level values are transcribed from and
|
|
21
|
+
* golden-tested against the published tables — see `tolerance.test.ts`'s "against the ISO
|
|
22
|
+
* 286-1/286-2 table" describe blocks, including the ISO 286-1 delta-term correction (K/M/N/P
|
|
23
|
+
* above H) documented there.
|
|
19
24
|
* @throws RangeError if the nominal size is out of range, the IT grade is unknown,
|
|
20
25
|
* or the deviation letter is unknown
|
|
21
26
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tolerance.d.ts","sourceRoot":"","sources":["../../src/metal/tolerance.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAQlE;;;;;;;;;GASG;AACH,eAAO,MAAM,kBAAkB,EAAE,aAAa,CAAC;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAC7B,CAAC;AAmEnE
|
|
1
|
+
{"version":3,"file":"tolerance.d.ts","sourceRoot":"","sources":["../../src/metal/tolerance.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAQlE;;;;;;;;;GASG;AACH,eAAO,MAAM,kBAAkB,EAAE,aAAa,CAAC;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAC7B,CAAC;AAmEnE;;;;;;;;;;GAUG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,cAAc,GAAG,eAAe,CAgFhE"}
|
package/dist/metal/tolerance.js
CHANGED
|
@@ -79,6 +79,11 @@ function getToleranceValue(nominal, itGrade) {
|
|
|
79
79
|
/**
|
|
80
80
|
* Calculate ISO tolerance band for a given nominal size and tolerance class.
|
|
81
81
|
*
|
|
82
|
+
* @reference ISO 286-1:2010 (tolerance-grade table, IT4-IT14) and ISO 286-2:2010 (fundamental
|
|
83
|
+
* deviation tables for hole/shaft letters). Cell-level values are transcribed from and
|
|
84
|
+
* golden-tested against the published tables — see `tolerance.test.ts`'s "against the ISO
|
|
85
|
+
* 286-1/286-2 table" describe blocks, including the ISO 286-1 delta-term correction (K/M/N/P
|
|
86
|
+
* above H) documented there.
|
|
82
87
|
* @throws RangeError if the nominal size is out of range, the IT grade is unknown,
|
|
83
88
|
* or the deviation letter is unknown
|
|
84
89
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tolerance.js","sourceRoot":"","sources":["../../src/metal/tolerance.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"tolerance.js","sourceRoot":"","sources":["../../src/metal/tolerance.ts"],"names":[],"mappings":"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"}
|
package/dist/metal/welding.d.ts
CHANGED
|
@@ -1,6 +1,12 @@
|
|
|
1
1
|
import type { WeldingInput, WeldingResult } from './types.js';
|
|
2
2
|
/**
|
|
3
3
|
* Recommend welding electrodes based on base metal and joint parameters.
|
|
4
|
+
*
|
|
5
|
+
* @reference Electrode designations and position capability per the AWS specifications cited on
|
|
6
|
+
* `ELECTRODES` above. Rod-diameter-by-thickness and current-per-diameter (25-45 A/mm) are
|
|
7
|
+
* general SMAW shop-practice rules of thumb, not values stated by a specific AWS specification
|
|
8
|
+
* — published rules of thumb for both vary noticeably by source, welder skill, and joint
|
|
9
|
+
* design, so treat these as a starting point rather than a cited standard.
|
|
4
10
|
*/
|
|
5
11
|
export declare function welding(input: WeldingInput): WeldingResult;
|
|
6
12
|
//# sourceMappingURL=welding.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"welding.d.ts","sourceRoot":"","sources":["../../src/metal/welding.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAgC,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"welding.d.ts","sourceRoot":"","sources":["../../src/metal/welding.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAgC,MAAM,YAAY,CAAC;AAsD5F;;;;;;;;GAQG;AACH,wBAAgB,OAAO,CAAC,KAAK,EAAE,YAAY,GAAG,aAAa,CAsC1D"}
|
package/dist/metal/welding.js
CHANGED
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
import { roundTo } from '../utils.js';
|
|
2
|
-
|
|
2
|
+
/**
|
|
3
|
+
* Electrode recommendation database by base metal, covering the SMAW (stick) process only.
|
|
4
|
+
*
|
|
5
|
+
* @reference AWS A5.1 (mild steel), AWS A5.5 (low-alloy steel), AWS A5.4 (stainless steel),
|
|
6
|
+
* AWS A5.15 (cast iron), AWS A5.3 (aluminum — the SMAW-specific specification; distinct from
|
|
7
|
+
* AWS A5.10, which covers bare aluminum filler *rod/wire* for GTAW/GMAW under an "ER" prefix,
|
|
8
|
+
* not SMAW electrodes).
|
|
9
|
+
*/
|
|
3
10
|
const ELECTRODES = {
|
|
4
11
|
mildSteel: [
|
|
5
12
|
{ designation: 'E6010', awsClass: 'AWS A5.1', characteristics: 'Deep penetration, all positions, DC+' },
|
|
@@ -24,11 +31,15 @@ const ELECTRODES = {
|
|
|
24
31
|
],
|
|
25
32
|
aluminum: [
|
|
26
33
|
{ designation: 'E4043', awsClass: 'AWS A5.3', characteristics: '5% Si, general purpose, 6xxx series' },
|
|
27
|
-
{ designation: '
|
|
34
|
+
{ designation: 'E3003', awsClass: 'AWS A5.3', characteristics: 'Al-Mn alloy, dissimilar aluminum grades, seawater service' },
|
|
28
35
|
],
|
|
29
36
|
};
|
|
30
|
-
// All-position electrodes
|
|
31
|
-
|
|
37
|
+
// All-position electrodes. For mild/low-alloy/stainless steel this follows the AWS A5.1-family
|
|
38
|
+
// designation's own position digit (the digit before the coating-type digit: 1 = all positions,
|
|
39
|
+
// 2 = flat/horizontal only — e.g. E7018 vs. E7024). AWS A5.3/A5.15 (aluminum/cast iron) don't
|
|
40
|
+
// encode position in the designation the same way; those two entries reflect general shop
|
|
41
|
+
// practice for covered aluminum/nickel electrodes rather than a standard-stated position code.
|
|
42
|
+
const ALL_POSITION = new Set(['E6010', 'E6013', 'E7018', 'E7018-A1', 'E8018-B2', 'E9018-B3', 'E308L-16', 'E309L-16', 'E316L-16', 'ENi-CI', 'ENiFe-CI', 'ESt', 'E4043', 'E3003']);
|
|
32
43
|
// Thickness to rod diameter mapping (mm)
|
|
33
44
|
function getRodDiameter(thickness) {
|
|
34
45
|
if (thickness <= 3)
|
|
@@ -43,6 +54,12 @@ function getRodDiameter(thickness) {
|
|
|
43
54
|
}
|
|
44
55
|
/**
|
|
45
56
|
* Recommend welding electrodes based on base metal and joint parameters.
|
|
57
|
+
*
|
|
58
|
+
* @reference Electrode designations and position capability per the AWS specifications cited on
|
|
59
|
+
* `ELECTRODES` above. Rod-diameter-by-thickness and current-per-diameter (25-45 A/mm) are
|
|
60
|
+
* general SMAW shop-practice rules of thumb, not values stated by a specific AWS specification
|
|
61
|
+
* — published rules of thumb for both vary noticeably by source, welder skill, and joint
|
|
62
|
+
* design, so treat these as a starting point rather than a cited standard.
|
|
46
63
|
*/
|
|
47
64
|
export function welding(input) {
|
|
48
65
|
const { baseMetal, position, thickness } = input;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"welding.js","sourceRoot":"","sources":["../../src/metal/welding.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAGtC
|
|
1
|
+
{"version":3,"file":"welding.js","sourceRoot":"","sources":["../../src/metal/welding.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "formulab",
|
|
3
|
-
"version": "0.28.
|
|
4
|
-
"description": "Manufacturing & Engineering calculation formulas library -
|
|
3
|
+
"version": "0.28.1",
|
|
4
|
+
"description": "Manufacturing & Engineering calculation formulas library - 203 industrial calculations across 15 domains for OEE, Cpk, SPC, FMEA, Nelson Rules, metal weight, CNC machining, GD&T, battery, environmental, pipe flow, logistics, IE time study, and more",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
7
7
|
"types": "./dist/index.d.ts",
|
|
@@ -173,6 +173,8 @@
|
|
|
173
173
|
"test:watch": "vitest",
|
|
174
174
|
"docs:api": "typedoc",
|
|
175
175
|
"clean": "node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"",
|
|
176
|
-
"audit:constant-provenance": "node scripts/audit-constant-provenance.mjs src"
|
|
176
|
+
"audit:constant-provenance": "node scripts/audit-constant-provenance.mjs src",
|
|
177
|
+
"check:dependency-drift": "node scripts/check-dependency-drift.mjs",
|
|
178
|
+
"check:function-counts": "node scripts/count-functions.mjs"
|
|
177
179
|
}
|
|
178
180
|
}
|