@behavioral-contracts/verify-cli 1.0.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/LICENSE +119 -0
- package/README.md +694 -0
- package/dist/analyze-results.js +253 -0
- package/dist/analyzer.d.ts +366 -0
- package/dist/analyzer.d.ts.map +1 -0
- package/dist/analyzer.js +2592 -0
- package/dist/analyzer.js.map +1 -0
- package/dist/analyzers/async-error-analyzer.d.ts +72 -0
- package/dist/analyzers/async-error-analyzer.d.ts.map +1 -0
- package/dist/analyzers/async-error-analyzer.js +243 -0
- package/dist/analyzers/async-error-analyzer.js.map +1 -0
- package/dist/analyzers/event-listener-analyzer.d.ts +102 -0
- package/dist/analyzers/event-listener-analyzer.d.ts.map +1 -0
- package/dist/analyzers/event-listener-analyzer.js +253 -0
- package/dist/analyzers/event-listener-analyzer.js.map +1 -0
- package/dist/analyzers/react-query-analyzer.d.ts +66 -0
- package/dist/analyzers/react-query-analyzer.d.ts.map +1 -0
- package/dist/analyzers/react-query-analyzer.js +341 -0
- package/dist/analyzers/react-query-analyzer.js.map +1 -0
- package/dist/analyzers/return-value-analyzer.d.ts +61 -0
- package/dist/analyzers/return-value-analyzer.d.ts.map +1 -0
- package/dist/analyzers/return-value-analyzer.js +225 -0
- package/dist/analyzers/return-value-analyzer.js.map +1 -0
- package/dist/code-snippet.d.ts +48 -0
- package/dist/code-snippet.d.ts.map +1 -0
- package/dist/code-snippet.js +84 -0
- package/dist/code-snippet.js.map +1 -0
- package/dist/corpus-loader.d.ts +33 -0
- package/dist/corpus-loader.d.ts.map +1 -0
- package/dist/corpus-loader.js +155 -0
- package/dist/corpus-loader.js.map +1 -0
- package/dist/fixture-tester.d.ts +28 -0
- package/dist/fixture-tester.d.ts.map +1 -0
- package/dist/fixture-tester.js +176 -0
- package/dist/fixture-tester.js.map +1 -0
- package/dist/index.d.ts +6 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +375 -0
- package/dist/index.js.map +1 -0
- package/dist/package-discovery.d.ts +62 -0
- package/dist/package-discovery.d.ts.map +1 -0
- package/dist/package-discovery.js +299 -0
- package/dist/package-discovery.js.map +1 -0
- package/dist/reporter.d.ts +43 -0
- package/dist/reporter.d.ts.map +1 -0
- package/dist/reporter.js +347 -0
- package/dist/reporter.js.map +1 -0
- package/dist/reporters/benchmarking.d.ts +70 -0
- package/dist/reporters/benchmarking.d.ts.map +1 -0
- package/dist/reporters/benchmarking.js +191 -0
- package/dist/reporters/benchmarking.js.map +1 -0
- package/dist/reporters/d3-visualizer.d.ts +40 -0
- package/dist/reporters/d3-visualizer.d.ts.map +1 -0
- package/dist/reporters/d3-visualizer.js +803 -0
- package/dist/reporters/d3-visualizer.js.map +1 -0
- package/dist/reporters/health-score.d.ts +33 -0
- package/dist/reporters/health-score.d.ts.map +1 -0
- package/dist/reporters/health-score.js +149 -0
- package/dist/reporters/health-score.js.map +1 -0
- package/dist/reporters/index.d.ts +11 -0
- package/dist/reporters/index.d.ts.map +1 -0
- package/dist/reporters/index.js +11 -0
- package/dist/reporters/index.js.map +1 -0
- package/dist/reporters/package-breakdown.d.ts +48 -0
- package/dist/reporters/package-breakdown.d.ts.map +1 -0
- package/dist/reporters/package-breakdown.js +185 -0
- package/dist/reporters/package-breakdown.js.map +1 -0
- package/dist/reporters/positive-evidence.d.ts +42 -0
- package/dist/reporters/positive-evidence.d.ts.map +1 -0
- package/dist/reporters/positive-evidence.js +436 -0
- package/dist/reporters/positive-evidence.js.map +1 -0
- package/dist/tsconfig-generator.d.ts +17 -0
- package/dist/tsconfig-generator.d.ts.map +1 -0
- package/dist/tsconfig-generator.js +107 -0
- package/dist/tsconfig-generator.js.map +1 -0
- package/dist/types.d.ts +298 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +5 -0
- package/dist/types.js.map +1 -0
- package/package.json +59 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
GNU AFFERO GENERAL PUBLIC LICENSE
|
|
2
|
+
Version 3, 19 November 2007
|
|
3
|
+
|
|
4
|
+
Copyright (C) 2026 Behavioral Contracts Contributors
|
|
5
|
+
|
|
6
|
+
This program is free software: you can redistribute it and/or modify
|
|
7
|
+
it under the terms of the GNU Affero General Public License as published by
|
|
8
|
+
the Free Software Foundation, either version 3 of the License, or
|
|
9
|
+
(at your option) any later version.
|
|
10
|
+
|
|
11
|
+
This program is distributed in the hope that it will be useful,
|
|
12
|
+
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
13
|
+
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
14
|
+
GNU Affero General Public License for more details.
|
|
15
|
+
|
|
16
|
+
You should have received a copy of the GNU Affero General Public License
|
|
17
|
+
along with this program. If not, see <https://www.gnu.org/licenses/>.
|
|
18
|
+
|
|
19
|
+
Full license text: https://www.gnu.org/licenses/agpl-3.0.txt
|
|
20
|
+
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
ADDITIONAL PERMISSIONS (AGPL Section 7):
|
|
24
|
+
|
|
25
|
+
None currently granted. If you need different licensing terms, contact us.
|
|
26
|
+
|
|
27
|
+
---
|
|
28
|
+
|
|
29
|
+
WHY AGPL-3.0?
|
|
30
|
+
|
|
31
|
+
This license keeps the analyzer open while protecting against proprietary SaaS competitors:
|
|
32
|
+
|
|
33
|
+
✅ Anyone can use locally (free forever)
|
|
34
|
+
✅ Anyone can self-host (free forever)
|
|
35
|
+
✅ Anyone can modify and redistribute (open source)
|
|
36
|
+
✅ Companies can integrate into CI/CD (free forever)
|
|
37
|
+
❌ If you offer this as a SaaS, you MUST open source your modifications
|
|
38
|
+
|
|
39
|
+
KEY POINT: The AGPL "network use" clause means if you run this as a web service (SaaS),
|
|
40
|
+
you must provide the source code to your users.
|
|
41
|
+
|
|
42
|
+
This prevents vendors from taking our work, adding proprietary features, and offering
|
|
43
|
+
closed SaaS - which is exactly what happened to Redis (they used BSD license and lost
|
|
44
|
+
to AWS ElastiCache).
|
|
45
|
+
|
|
46
|
+
---
|
|
47
|
+
|
|
48
|
+
DUAL LICENSING NOTE:
|
|
49
|
+
|
|
50
|
+
As the copyright holders, Behavioral Contracts can offer this software under alternative
|
|
51
|
+
commercial licenses for organizations that cannot comply with AGPL-3.0.
|
|
52
|
+
|
|
53
|
+
For commercial licensing inquiries, contact: [Your contact email]
|
|
54
|
+
|
|
55
|
+
---
|
|
56
|
+
|
|
57
|
+
WHAT THIS MEANS FOR YOU:
|
|
58
|
+
|
|
59
|
+
Individual Developers:
|
|
60
|
+
✅ Use freely in your projects
|
|
61
|
+
✅ No restrictions for local use
|
|
62
|
+
✅ Contribute improvements back (open source)
|
|
63
|
+
|
|
64
|
+
Companies (Internal Use):
|
|
65
|
+
✅ Run in your CI/CD pipelines
|
|
66
|
+
✅ Self-host for your organization
|
|
67
|
+
✅ Modify for internal use
|
|
68
|
+
✅ No cost, no restrictions
|
|
69
|
+
|
|
70
|
+
Companies (SaaS Providers):
|
|
71
|
+
✅ You can build SaaS using this tool
|
|
72
|
+
❌ But you must open source your SaaS code (AGPL requirement)
|
|
73
|
+
⚠️ Or contact us for commercial licensing
|
|
74
|
+
|
|
75
|
+
Examples:
|
|
76
|
+
- Running in GitHub Actions: ✅ Fine (not SaaS)
|
|
77
|
+
- Self-hosting for your team: ✅ Fine (internal use)
|
|
78
|
+
- Building public SaaS like "ContractCheckr.com": ❌ Must open source OR get commercial license
|
|
79
|
+
- Integrating into closed-source IDE: ❌ Must open source IDE OR get commercial license
|
|
80
|
+
|
|
81
|
+
---
|
|
82
|
+
|
|
83
|
+
WHY NOT MIT OR APACHE?
|
|
84
|
+
|
|
85
|
+
MIT/Apache would allow competitors to:
|
|
86
|
+
1. Fork our code
|
|
87
|
+
2. Add proprietary features
|
|
88
|
+
3. Offer closed SaaS
|
|
89
|
+
4. Never contribute back
|
|
90
|
+
|
|
91
|
+
AGPL prevents this while keeping the tool free for everyone except those building
|
|
92
|
+
competing SaaS products.
|
|
93
|
+
|
|
94
|
+
We chose AGPL because:
|
|
95
|
+
- Proven by GitLab ($15B valuation, AGPL)
|
|
96
|
+
- Proven by Sentry ($3B valuation, similar model)
|
|
97
|
+
- Protects open source from cloud providers
|
|
98
|
+
- Encourages community contributions
|
|
99
|
+
- Ensures improvements flow back
|
|
100
|
+
|
|
101
|
+
---
|
|
102
|
+
|
|
103
|
+
COMPARISON TO OTHER LICENSES:
|
|
104
|
+
|
|
105
|
+
MIT (too permissive):
|
|
106
|
+
❌ Allows proprietary SaaS
|
|
107
|
+
❌ No obligation to contribute back
|
|
108
|
+
Result: AWS takes your work, makes money, contributes nothing
|
|
109
|
+
|
|
110
|
+
GPL v3 (better, but not enough):
|
|
111
|
+
✅ Requires source sharing
|
|
112
|
+
❌ Doesn't cover network use (SaaS loophole)
|
|
113
|
+
Result: SaaS providers can still close it off
|
|
114
|
+
|
|
115
|
+
AGPL v3 (what we chose):
|
|
116
|
+
✅ Requires source sharing
|
|
117
|
+
✅ Covers network use (closes SaaS loophole)
|
|
118
|
+
✅ Forces SaaS providers to open source
|
|
119
|
+
Result: Everyone benefits from improvements
|