cerber-core 1.1.5 → 1.1.7

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.
Files changed (40) hide show
  1. package/CHANGELOG.md +111 -0
  2. package/README.md +206 -36
  3. package/bin/cerber +14 -1
  4. package/dev/templates/BACKEND_SCHEMA.ts.tpl +87 -50
  5. package/dev/templates/cerber-guardian.mjs.tpl +254 -148
  6. package/dev/templates/cerber.yml.tpl +96 -53
  7. package/dev/templates/pre-commit.tpl +4 -4
  8. package/dist/cli/contract-parser.d.ts.map +1 -1
  9. package/dist/cli/contract-parser.js +47 -20
  10. package/dist/cli/contract-parser.js.map +1 -1
  11. package/dist/cli/doctor.d.ts +16 -0
  12. package/dist/cli/doctor.d.ts.map +1 -0
  13. package/dist/cli/doctor.js +140 -0
  14. package/dist/cli/doctor.js.map +1 -0
  15. package/dist/cli/init.d.ts.map +1 -1
  16. package/dist/cli/init.js +93 -8
  17. package/dist/cli/init.js.map +1 -1
  18. package/dist/cli/override-validator.d.ts +27 -0
  19. package/dist/cli/override-validator.d.ts.map +1 -0
  20. package/dist/cli/override-validator.js +100 -0
  21. package/dist/cli/override-validator.js.map +1 -0
  22. package/dist/cli/template-generator.d.ts.map +1 -1
  23. package/dist/cli/template-generator.js +71 -16
  24. package/dist/cli/template-generator.js.map +1 -1
  25. package/dist/cli/types.d.ts +7 -0
  26. package/dist/cli/types.d.ts.map +1 -1
  27. package/dist/index.d.ts +3 -3
  28. package/dist/index.d.ts.map +1 -1
  29. package/dist/index.js +3 -3
  30. package/dist/index.js.map +1 -1
  31. package/package.json +10 -2
  32. package/solo/templates/BACKEND_SCHEMA.ts.tpl +87 -50
  33. package/solo/templates/cerber-guardian.mjs.tpl +254 -148
  34. package/solo/templates/cerber.yml.tpl +96 -53
  35. package/solo/templates/pre-commit.tpl +4 -4
  36. package/team/templates/BACKEND_SCHEMA.ts.tpl +87 -50
  37. package/team/templates/CODEOWNERS.tpl +18 -6
  38. package/team/templates/cerber-guardian.mjs.tpl +254 -148
  39. package/team/templates/cerber.yml.tpl +96 -53
  40. package/team/templates/pre-commit.tpl +4 -4
@@ -1,53 +1,96 @@
1
- # Generated by Cerber init
2
- name: Cerber CI
3
-
4
- on:
5
- push:
6
- branches: {{CI_BRANCHES}}
7
- pull_request:
8
- branches: {{CI_BRANCHES}}
9
- workflow_dispatch:
10
-
11
- jobs:
12
- cerber-ci:
13
- name: Cerber CI
14
- runs-on: ubuntu-latest
15
-
16
- steps:
17
- - name: Checkout code
18
- uses: actions/checkout@v4
19
-
20
- - name: Setup Node.js
21
- uses: actions/setup-node@v4
22
- with:
23
- node-version: '20'
24
- cache: 'npm'
25
-
26
- - name: Install dependencies
27
- run: npm ci
28
-
29
- - name: Build (if script exists)
30
- run: |
31
- if npm run | grep -q "build"; then
32
- npm run build
33
- else
34
- echo "No build script defined; skipping"
35
- fi
36
-
37
- - name: Test (if script exists)
38
- run: |
39
- if npm run | grep -q "test"; then
40
- npm test
41
- else
42
- echo "No test script defined; skipping"
43
- fi
44
-
45
- - name: Run Guardian
46
- run: |
47
- if npm run | grep -q "cerber:guardian"; then
48
- npm run cerber:guardian
49
- else
50
- node scripts/cerber-guardian.mjs
51
- fi
52
-
53
- {{POST_DEPLOY_BLOCK}}
1
+ # Generated by Cerber init
2
+ name: Cerber CI
3
+
4
+ on:
5
+ push:
6
+ branches: {{CI_BRANCHES}}
7
+ pull_request:
8
+ branches: {{CI_BRANCHES}}
9
+ workflow_dispatch:
10
+
11
+ jobs:
12
+ cerber-integrity:
13
+ name: Cerber Self-Protection
14
+ runs-on: ubuntu-latest
15
+
16
+ steps:
17
+ - name: Checkout code
18
+ uses: actions/checkout@v4
19
+
20
+ - name: Verify protected files exist
21
+ run: |
22
+ echo "🛡️ Cerber Integrity Check"
23
+ MISSING=0
24
+
25
+ # Check core files
26
+ [ ! -f "CERBER.md" ] && echo "❌ CERBER.md missing" && MISSING=1
27
+ [ ! -f ".github/workflows/cerber.yml" ] && echo "❌ cerber.yml missing" && MISSING=1
28
+ [ ! -f "scripts/cerber-guardian.mjs" ] && echo "❌ cerber-guardian.mjs missing" && MISSING=1
29
+ [ ! -f ".husky/pre-commit" ] && echo "❌ pre-commit hook missing" && MISSING=1
30
+
31
+ # Check schema file (strict mode only)
32
+ SCHEMA_MODE=$(grep -A 10 "^schema:" CERBER.md | grep "mode:" | awk '{print $2}' | head -1)
33
+ if [ "$SCHEMA_MODE" = "strict" ]; then
34
+ SCHEMA_FILE=$(grep -A 10 "^schema:" CERBER.md | grep "file:" | awk '{print $2}' | head -1)
35
+ [ ! -f "$SCHEMA_FILE" ] && echo "❌ Schema file $SCHEMA_FILE missing (strict mode)" && MISSING=1
36
+ fi
37
+
38
+ if [ $MISSING -eq 1 ]; then
39
+ echo "🚨 Protected files missing. Cerber self-protection compromised."
40
+ exit 1
41
+ fi
42
+
43
+ echo "✅ All protected files present"
44
+
45
+ - name: Verify cerber-ci job exists
46
+ run: |
47
+ if ! grep -q "cerber-ci:" .github/workflows/cerber.yml; then
48
+ echo "🚨 Job 'cerber-ci' not found in cerber.yml"
49
+ echo "Never rename or remove the cerber-ci job ID"
50
+ exit 1
51
+ fi
52
+ echo "✅ cerber-ci job ID intact"
53
+
54
+ cerber-ci:
55
+ name: Cerber CI
56
+ runs-on: ubuntu-latest
57
+ needs: [cerber-integrity]
58
+
59
+ steps:
60
+ - name: Checkout code
61
+ uses: actions/checkout@v4
62
+
63
+ - name: Setup Node.js
64
+ uses: actions/setup-node@v4
65
+ with:
66
+ node-version: '20'
67
+ cache: 'npm'
68
+
69
+ - name: Install dependencies
70
+ run: npm ci
71
+
72
+ - name: Build (if script exists)
73
+ run: |
74
+ if npm run | grep -q "build"; then
75
+ npm run build
76
+ else
77
+ echo "No build script defined; skipping"
78
+ fi
79
+
80
+ - name: Test (if script exists)
81
+ run: |
82
+ if npm run | grep -q "test"; then
83
+ npm test
84
+ else
85
+ echo "No test script defined; skipping"
86
+ fi
87
+
88
+ - name: Run Guardian
89
+ run: |
90
+ if npm run | grep -q "cerber:guardian"; then
91
+ npm run cerber:guardian
92
+ else
93
+ node scripts/cerber-guardian.mjs
94
+ fi
95
+
96
+ {{POST_DEPLOY_BLOCK}}
@@ -1,4 +1,4 @@
1
- #!/bin/sh
2
- # Generated by Cerber init
3
-
4
- npm run cerber:guardian
1
+ #!/bin/sh
2
+ # Generated by Cerber init
3
+
4
+ npm run cerber:guardian