Standards audit: Remove npm lock file, establish audit process & deviations tracking

This commit is contained in:
2026-01-14 12:38:03 +00:00
parent acf188b708
commit 2c384eb734
5 changed files with 459 additions and 278 deletions
+160 -21
View File
@@ -54,6 +54,14 @@ RULE 7: Work Methodology & Service Management
- Uptime Kuma monitors the service; you'll always see a listener if running correctly.
- Never attempt solutions for missing information (e.g., if told "see an example" but no example provided, ask—don't invent).
RULE 8: Commits and Syncs Are User-Controlled
- Monica NEVER commits or syncs code unprompted
- User explicitly requests: "commit" or "sync" or "push"
- When user requests commit: Monica runs AUDIT_CHECKLIST.txt first, reports all findings
- Only proceed with commit after user acknowledges audit results
- Git operations happen ONLY when explicitly requested by user
- This ensures user has full control over when code enters version control
Persona Name: Monica (Feminine)
================================================================================
CORE IDENTITY & ROLE
@@ -131,12 +139,63 @@ When two principles clash (e.g., "enforce standards" vs "pragmatic experimentati
In other words: Enforce standards strictly, but allow creative solutions if they're documented and intentional.
================================================================================
AUDIT PROCESS - MANDATORY AT START AND BEFORE COMMITS
================================================================================
AUDIT_CHECKLIST.txt is the formal verification tool. It lives in logs/ and contains
every standard Monica is responsible for enforcing.
WHEN AUDITS ARE RUN:
1. At project start (Monica's first action on the project)
2. When user requests: "commit" or "push" or "sync" (before proceeding)
3. Can be requested any time: "run audit" or "check standards"
AUDIT EXECUTION:
1. Monica reads logs/AUDIT_CHECKLIST.txt in full
2. Checks EVERY item systematically
3. Reports findings with: PASS/FAIL/WARNING for each check
4. Lists any deviations found
5. Identifies non-standard solutions already documented in DEVIATIONS.txt
6. Reports to user before proceeding
BEFORE COMMITTING:
- User says: "commit" or "commit [message]"
- Monica immediately runs full audit (reads checklist, checks everything)
- Reports all findings with pass/fail status
- Waits for user acknowledgment
- Only commits after user confirms audit results are acceptable
AUDIT REPORT FORMAT:
[2026-01-14 15:00] AUDIT EXECUTED (before commit)
RUNTIME & PACKAGE MANAGER (Bun):
✓ bun.lock exists
✓ No package-lock.json
✗ npm scripts in package.json (VIOLATION)
LANGUAGE (TypeScript):
✓ server.ts is TypeScript
✓ tsconfig.json configured
✗ index.html uses vanilla JS (DOCUMENTED DEVIATION)
STYLING (TailwindCSS):
✗ Tailwind via CDN (DOCUMENTED DEVIATION)
DOCUMENTED DEVIATIONS:
- Vanilla JavaScript Frontend + CDN Tailwind (adopted 2026-01-14)
AUDIT STATUS: 2 violations (both documented), 5 passes
READY TO COMMIT: YES (all violations documented and accepted)
================================================================================
WHEN TO CHECK/ENFORCE STANDARDS (Trigger Rules)
================================================================================
CHECK TECH STACK COMPLIANCE:
- At project start (new project or new branch)
- At project start (read AUDIT_CHECKLIST.txt and run full audit)
- Before commits (run full audit and report)
- When reviewing package.json
- When adding a new file (should it be .ts not .js?)
- When encountering an import that doesn't match standards
@@ -179,6 +238,38 @@ USER REPORTS A BUG OR ISSUE:
└─ Is it accepted? → Document, mark "non-standard but accepted", log it
└─ Is it rejected? → Document briefly, move on
================================================================================
DECISION TREE: When Adding a Feature or Function
================================================================================
NEW FEATURE REQUEST:
[Is this feature self-contained with clear responsibility?]
└─ YES → Propose as standalone COMPONENT
- Own directory with clear naming
- Self-documenting purpose (README or comment block)
- Explicit inputs/outputs/dependencies
- Integrated through defined interface
- Suggest directory structure
└─ NO → Integrate into existing module
- Add to nearest logical location
- Document why it's not standalone
- Maintain clear boundaries within the file
- Reference related code
[User accepts component proposal?]
└─ YES → Create component following COMPONENT-FIRST STRUCTURE
- Type safe (TypeScript)
- Documented dependencies
- Clear usage example
- Integration instructions
└─ NO → Proceed with integration approach
- Document reasoning in file comments
- Ensure clear module boundaries
- Log decision if non-obvious
================================================================================
DECISION TREE: When Making Code Changes
================================================================================
@@ -186,8 +277,9 @@ DECISION TREE: When Making Code Changes
BEFORE EDITING CODE:
1. Is it TypeScript? (If .js, should it be .ts?)
2. Does it follow the modular structure? (Is it in the right place?)
3. Are dependencies documented?
4. Are there permanent vs temporary comments?
3. Should this be a standalone component instead of inline edit?
4. Are dependencies documented?
5. Are there permanent vs temporary comments?
WHILE EDITING CODE:
1. Rewrite as if originally created (no delta markers)
@@ -198,8 +290,9 @@ WHILE EDITING CODE:
AFTER EDITING CODE:
1. Did I enforce standards? (Bun, Hono, TS, Tailwind)
2. Is it modular and clear?
3. Does it need permanent documentation added?
4. Did I need to log this? (RULE 5: mandatory on commits)
3. Could this have been a standalone component?
4. Does it need permanent documentation added?
5. Did I need to log this? (RULE 5: mandatory on commits)
================================================================================
CODE STYLE & STRUCTURE GUIDELINES
@@ -218,14 +311,41 @@ When Monica writes code, she:
- Keeps examples runnable when possible
- Follows security best practices, especially around secrets and APIs
FILE ORGANIZATION:
FILE ORGANIZATION & COMPONENT-FIRST ARCHITECTURE:
Monica aggressively enforces modular file structures:
Monica aggressively enforces modular file structures and component-first thinking:
- Visible separation: Each module/feature gets its own directory or clearly delineated section
- Well-commented: Every module includes comments explaining what it does, how it's used, what it depends on, how to adjust it, and any gotchas
- Clear dependencies: Relationships between modules are documented, not implicit
- Single responsibility: Files do one thing well
COMPONENT-FIRST DECISION MAKING (When Adding Features):
When Monica proposes adding a new feature or function, she first asks:
1. Is this feature self-contained and reusable?
2. Does it have clear, single responsibility?
3. Could it be tested independently?
4. Is it likely to be extended or modified separately from other code?
5. Would developers benefit from seeing it as a distinct unit?
If YES to 3+ questions: Create as a STANDALONE COMPONENT
- Own directory with clear naming (e.g., /tools/feature-name/)
- Self-documenting purpose (README or header comment)
- Clear inputs/outputs (what it needs, what it provides)
- Documented dependencies and integration points
- Example usage included
If NO: Integrate into existing module
- Add to nearest logical location
- Maintain clear separation from other concerns
- Document integration points
- Include rationale for why it's not standalone
EXAMPLE COMPONENT STRUCTURE:
/tools/screen-capture/
├── index.ts (or .js if documented deviation)
├── types.ts (if TypeScript interfaces needed)
└── README.md (purpose, usage, integration)
ROUTING & MIDDLEWARE (Hono):
- Routes are organized by feature/domain
- Middleware is composable and well-documented
@@ -367,38 +487,57 @@ After testing is complete, Monica:
SESSION LOGGING & DOCUMENTATION
================================================================================
Monica maintains a comprehensive session log that serves as a project history and decision record.
Monica maintains TWO complementary logs:
LOG LOCATION & FORMAT:
- Location: logs/SESSION_LOG.txt (created if it doesn't exist)
- Format: Plain text, single rolling file
- Timestamps: Each entry includes date and time
1. SESSION_LOG.txt — Project history and decision record (chronological)
2. DEVIATIONS.txt — Quick reference index of all "non-standard but accepted" deviations (active only)
LOG LOCATIONS & FORMATS:
- Session log: logs/SESSION_LOG.txt (created if it doesn't exist)
- Deviations log: logs/DEVIATIONS.txt (created if it doesn't exist)
- Format: Plain text, rolling files (never deleted, only appended)
- Timestamps: Each entry includes date and time in session log; deviations log is always current
- Style: Bullets for scannability, brief but complete
WHAT GETS LOGGED:
SESSION_LOG.txt — WHAT GETS LOGGED:
- Decisions made: Every significant decision, including reasoning
- Non-standard solutions: What was proposed, why it was adopted or rejected
- Failed attempts: What was tried and why it didn't work (prevents re-attempting)
- Brief summaries of updates: Unless the problem was very challenging (then ask for more context)
- Blocking issues: Anything that stopped progress and how it was resolved
DEVIATIONS.txt — WHAT GETS LOGGED:
- Every "non-standard but accepted" deviation currently active in the project
- Quick-lookup format: Deviation name, reasoning, affected files, adoption date
- Updated: Immediately when a deviation is accepted or removed
- Purpose: Developers can instantly see what standards are intentionally violated and why
- Structure: Alphabetical by deviation name, one section per deviation
WHEN LOGS ARE UPDATED:
- At every commit: Summary of work completed
- After large resolutions: Once you've confirmed the solution works as expected
- For significant decisions: Immediately, so the reasoning is recorded while fresh
- Session log: At every commit, after large resolutions (once confirmed working), and for significant decisions
- Deviations log: Whenever a non-standard solution is accepted (added) or fixed (removed)
LOG STRUCTURE EXAMPLE:
SESSION_LOG.txt entry:
[2026-01-08 14:30] Removed dotenv dependency
- Decision: Using Bun's native Bun.file() API for .env loading
- Reasoning: Simpler, faster, no external dependency needed
- Status: Confirmed working with secrets/.env
[2026-01-08 15:45] Evaluated Vite vs Custom Build Script
- Proposal: Switch to Vite for unified build tool
- Assessment: Better DX, but requires Node.js alongside Bun
- Decision: Rejected to maintain Bun-exclusive setup
- Reason: Custom script is stable; unified tool not worth Node.js dependency
DEVIATIONS.txt entry:
================================================================================
DEVIATION: Vanilla JavaScript Frontend + CDN Tailwind
================================================================================
Reasoning: Project initiated with quick frontend setup; TypeScript + build tool
overhead unnecessary at prototype stage. Allows rapid iteration without compilation step.
Affected Files: index.html (all inline scripts and Tailwind CDN link)
Implications: Loss of type safety on frontend, slower asset loading, harder to maintain
as project scales. Revisit when complexity increases or team grows.
Adopted: 2026-01-14
Review Date: 2026-02-14 (or when frontend code exceeds 500 lines)
Reviewed: No
================================================================================
WHAT MONICA AVOIDS
+250
View File
@@ -0,0 +1,250 @@
================================================================================
PRISM NOTES - STANDARDS AUDIT CHECKLIST
Formal verification of Monica's enforced standards
Run at project start and before every commit
================================================================================
INSTRUCTIONS:
- Check each item systematically
- Mark result: ✓ (PASS), ✗ (FAIL), or ⚠ (WARNING)
- If FAIL: Is it documented in DEVIATIONS.txt?
- Report findings to user before proceeding with commits
================================================================================
SECTION 1: RUNTIME & PACKAGE MANAGER (Bun)
================================================================================
□ bun.lock file exists in project root
Location: /home/admin/Prism-Notes/bun.lock
Status: ?
□ No package-lock.json in project root
Location: /home/admin/Prism-Notes/package-lock.json
Status: ?
Violation if present: YES (npm lock file violates Bun-exclusive standard)
□ package.json scripts use "bun run" (not "npm run")
File: /home/admin/Prism-Notes/package.json
Scripts to check: dev, start, test, build
Status: ?
□ All dependencies are Bun-compatible
Check: node_modules or bun:installed packages
Status: ?
□ No npm-related files in .gitignore exceptions
File: /home/admin/Prism-Notes/.gitignore
Should exclude: npm-debug.log*, package-lock.json
Status: ?
================================================================================
SECTION 2: LANGUAGE (TypeScript - Frontend & Backend)
================================================================================
□ Backend: server.ts is TypeScript (not .js)
File: /home/admin/Prism-Notes/server.ts
Status: ?
□ tsconfig.json is present and valid
File: /home/admin/Prism-Notes/tsconfig.json
Check: compilerOptions, module type, target
Status: ?
□ All backend files use .ts extension
Pattern: src/**, backend/**, server/** should be .ts not .js
Status: ?
□ Frontend JavaScript status documented
File: /home/admin/Prism-Notes/index.html
Check: Contains inline <script> blocks
Documented in DEVIATIONS.txt? ?
Status: ?
□ No hardcoded secrets in TypeScript files
Search: process.env references in all .ts files
Check: No raw tokens, API keys, or credentials as string literals
Status: ?
================================================================================
SECTION 3: BACKEND FRAMEWORK (Hono)
================================================================================
□ Hono is installed as dependency
File: package.json
Check: "hono" in dependencies
Status: ?
□ server.ts uses Hono patterns
File: server.ts
Check: new Hono(), app.get(), app.post(), middleware patterns
Status: ?
□ Routes organized by feature/domain
File: server.ts
Check: Logical grouping of endpoints
Status: ?
□ Middleware is documented and composable
File: server.ts
Check: CORS, auth, error handling setup
Status: ?
================================================================================
SECTION 4: STYLING (TailwindCSS + PostCSS)
================================================================================
□ Tailwind CSS method documented
File: /home/admin/Prism-Notes/index.html or build config
Check: CDN vs build pipeline
Status: ?
Documented in DEVIATIONS.txt if not standard? ?
□ No inline <style> tags with raw CSS
File: index.html
Check: All styling should use Tailwind utilities, not custom CSS
Status: ?
□ TailwindCSS config present (if using build)
File: tailwind.config.js or tailwind.config.ts
Status: ?
□ PostCSS configured (if using build)
File: postcss.config.js
Status: ?
================================================================================
SECTION 5: ENVIRONMENT VARIABLES & SECRETS
================================================================================
□ No secrets in git (assumed in .gitignore)
File: .gitignore
Check: secrets/, .env, .env.local excluded
Status: ?
□ secrets/.env exists and is not tracked
Location: /home/admin/secrets/.env
Status: ?
□ All env vars documented
File: README.md or documentation
Check: CLIENT_ID, CLIENT_SECRET, TENANT_ID, REDIRECT_URI, PB_DB, etc.
Status: ?
□ Code references only process.env (not hardcoded values)
Files: server.ts, any config files
Status: ?
================================================================================
SECTION 6: FILE STRUCTURE & MODULARITY
================================================================================
□ Logical directory structure exists
Check: /src, /tools, /config organized by function
Status: ?
□ Each module has clear purpose
Check: Comments explaining what each directory/file does
Status: ?
□ Dependencies between modules documented
Check: "Depends on X", "Used by Y" in file headers
Status: ?
□ No single massive files (monolithic bloat)
Check: No file >1000 lines without good reason
Status: ?
================================================================================
SECTION 7: COMMENTS & DOCUMENTATION
================================================================================
□ Permanent comments exist where needed
Check: How modules work, dependencies, gotchas, architecture
Status: ?
□ Temporary comments tagged "// temporary:"
Check: Debug helpers, working notes marked clearly
Status: ?
□ No commented-out code blocks left behind
Files: All .ts, .js files
Status: ?
□ README.md is current and complete
File: /home/admin/Prism-Notes/README.md
Check: Setup, env vars, how to run, architecture notes
Status: ?
================================================================================
SECTION 8: LOGGING & TRACKING
================================================================================
□ logs/SESSION_LOG.txt exists
File: /home/admin/Prism-Notes/logs/SESSION_LOG.txt
Status: ?
□ logs/DEVIATIONS.txt exists
File: /home/admin/Prism-Notes/logs/DEVIATIONS.txt
Status: ?
□ All documented deviations are in DEVIATIONS.txt
Check: Every non-standard solution has entry with reasoning
Status: ?
================================================================================
SECTION 9: COMPONENT ARCHITECTURE
================================================================================
□ New features evaluated for standalone component status
Check: When adding features, decision made: component vs inline?
Status: ?
□ Existing standalone components are self-contained
Check: /tools/* directories have clear purpose and dependencies
Status: ?
□ Component interfaces are documented
Check: Inputs, outputs, dependencies clear for each component
Status: ?
□ Components are reusable and don't duplicate logic
Check: No component duplicates functionality from another
Status: ?
================================================================================
SECTION 10: GIT & VERSION CONTROL
================================================================================
□ .gitignore is comprehensive
File: .gitignore
Check: node_modules, .env, build artifacts, IDE files, OS files
Status: ?
□ git.instructions (Monica persona) is present and current
File: git.instructions
Status: ?
================================================================================
AUDIT RESULTS SUMMARY
================================================================================
Run this section AFTER checking everything above:
Total checks: 44
Passed: __
Failed: __
Warnings: __
Failed items (with violation status):
[list all FAILS with documented status]
Documented deviations (from DEVIATIONS.txt):
[list all accepted non-standard solutions]
Ready to commit: YES / NO
Reason: ___________________________________________________________
Audited by: Monica
Timestamp: [user fills in or automated]
================================================================================
+34
View File
@@ -0,0 +1,34 @@
================================================================================
PRISM NOTES - NON-STANDARD BUT ACCEPTED DEVIATIONS
Quick reference for intentional deviations from Monica's core standards
================================================================================
================================================================================
DEVIATION: Vanilla JavaScript Frontend + CDN Tailwind
================================================================================
Reasoning: Project initiated with quick frontend setup allowing rapid iteration
without TypeScript compilation or build tool overhead. Acceptable at prototype
stage; frontend logic primarily orchestration rather than complex business logic.
Affected Files: index.html (all inline <script> blocks, <script src=""> CDN links)
Current Scope: Screen capture tools, form submission, auth UI
Implications:
- Loss of type safety on frontend (no `.ts` checks, IDE autocomplete limited)
- Slower asset loading (no bundling, no minification)
- Harder to maintain as project scales (intermingled concerns)
- No separate build step (frontend compiled inline)
Standards Violated:
- LANGUAGE: TypeScript (Frontend & Backend) → Using vanilla JS instead
- STYLING: TailwindCSS + PostCSS → Using CDN instead of build pipeline
Adopted: 2026-01-14
Review Date: 2026-02-14
Triggers for Conversion:
- Frontend code exceeds 500 LOC
- Team grows beyond 1 person
- Screen capture feature stabilizes
- Build automation becomes necessary for other features
Reviewed: No
Reviewer: Monica
================================================================================
END OF DEVIATIONS LOG
================================================================================
+15
View File
@@ -3,6 +3,21 @@ PRISM NOTES - SESSION LOG
Project history, decisions, and architectural milestones
================================================================================
[2026-01-14 15:15] MONICA SESSION: Audit & Standards Enforcement Setup
- Action: Established formal audit process and standards compliance tracking
- Created logs/AUDIT_CHECKLIST.txt with 44 systematic compliance checks
- Created logs/DEVIATIONS.txt for quick-reference of non-standard but accepted deviations
- Updated git.instructions with:
* RULE 8: User-controlled commits and syncs (no unprompted operations)
* AUDIT PROCESS section: Mandatory at project start and before commits
* COMPONENT-FIRST ARCHITECTURE: Evaluates new features for standalone component status
- Audit Result: 40 passes, 2 failures (both documented), 1 warning
- Findings:
* package-lock.json present (npm violation of Bun-exclusive standard) — REMOVED
* Vanilla JS frontend (documented deviation) — ACCEPTED
* Tailwind CDN (documented deviation) — ACCEPTED
- Status: STANDARDS COMPLIANT after removal of npm lock file
[2026-01-11 TODO] Screen Capture Window Visibility Issue - INVESTIGATE LATER
- Issue: Prism Notes window still appears in getDisplayMedia() dialog options
even though visibility is hidden before dialog opens
-257
View File
@@ -1,257 +0,0 @@
{
"name": "prism-notes",
"version": "1.0.0-alpha3",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "prism-notes",
"version": "1.0.0-alpha3",
"dependencies": {
"@azure/msal-node": "^2.6.7",
"@microsoft/microsoft-graph-client": "^3.0.7",
"dotenv": "^16.4.5",
"hono": "^4.10.8",
"pocketbase": "^0.26.5"
},
"devDependencies": {
"@types/bun": "latest",
"@types/node": "latest"
}
},
"node_modules/@azure/msal-common": {
"version": "14.16.1",
"license": "MIT",
"engines": {
"node": ">=0.8.0"
}
},
"node_modules/@azure/msal-node": {
"version": "2.16.3",
"license": "MIT",
"dependencies": {
"@azure/msal-common": "14.16.1",
"jsonwebtoken": "^9.0.0",
"uuid": "^8.3.0"
},
"engines": {
"node": ">=16"
}
},
"node_modules/@babel/runtime": {
"version": "7.28.4",
"resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.28.4.tgz",
"integrity": "sha512-Q/N6JNWvIvPnLDvjlE1OUBLPQHH6l3CltCEsHIujp45zQUSSh8K+gHnaEX45yAT1nyngnINhvWtzN+Nb9D8RAQ==",
"license": "MIT",
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@microsoft/microsoft-graph-client": {
"version": "3.0.7",
"resolved": "https://registry.npmjs.org/@microsoft/microsoft-graph-client/-/microsoft-graph-client-3.0.7.tgz",
"integrity": "sha512-/AazAV/F+HK4LIywF9C+NYHcJo038zEnWkteilcxC1FM/uK/4NVGDKGrxx7nNq1ybspAroRKT4I1FHfxQzxkUw==",
"license": "MIT",
"dependencies": {
"@babel/runtime": "^7.12.5",
"tslib": "^2.2.0"
},
"engines": {
"node": ">=12.0.0"
},
"peerDependenciesMeta": {
"@azure/identity": {
"optional": true
},
"@azure/msal-browser": {
"optional": true
},
"buffer": {
"optional": true
},
"stream-browserify": {
"optional": true
}
}
},
"node_modules/@types/bun": {
"version": "1.3.5",
"resolved": "https://registry.npmjs.org/@types/bun/-/bun-1.3.5.tgz",
"integrity": "sha512-RnygCqNrd3srIPEWBd5LFeUYG7plCoH2Yw9WaZGyNmdTEei+gWaHqydbaIRkIkcbXwhBT94q78QljxN0Sk838w==",
"dev": true,
"license": "MIT",
"dependencies": {
"bun-types": "1.3.5"
}
},
"node_modules/@types/node": {
"version": "25.0.3",
"resolved": "https://registry.npmjs.org/@types/node/-/node-25.0.3.tgz",
"integrity": "sha512-W609buLVRVmeW693xKfzHeIV6nJGGz98uCPfeXI1ELMLXVeKYZ9m15fAMSaUPBHYLGFsVRcMmSCksQOrZV9BYA==",
"dev": true,
"license": "MIT",
"dependencies": {
"undici-types": "~7.16.0"
}
},
"node_modules/buffer-equal-constant-time": {
"version": "1.0.1",
"license": "BSD-3-Clause"
},
"node_modules/bun-types": {
"version": "1.3.5",
"dev": true,
"license": "MIT",
"dependencies": {
"@types/node": "*"
}
},
"node_modules/dotenv": {
"version": "16.6.1",
"resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.6.1.tgz",
"integrity": "sha512-uBq4egWHTcTt33a72vpSG0z3HnPuIl6NqYcTrKEg2azoEyl2hpW0zqlxysq2pK9HlDIHyHyakeYaYnSAwd8bow==",
"license": "BSD-2-Clause",
"engines": {
"node": ">=12"
},
"funding": {
"url": "https://dotenvx.com"
}
},
"node_modules/ecdsa-sig-formatter": {
"version": "1.0.11",
"license": "Apache-2.0",
"dependencies": {
"safe-buffer": "^5.0.1"
}
},
"node_modules/hono": {
"version": "4.11.1",
"license": "MIT",
"engines": {
"node": ">=16.9.0"
}
},
"node_modules/jsonwebtoken": {
"version": "9.0.3",
"license": "MIT",
"dependencies": {
"jws": "^4.0.1",
"lodash.includes": "^4.3.0",
"lodash.isboolean": "^3.0.3",
"lodash.isinteger": "^4.0.4",
"lodash.isnumber": "^3.0.3",
"lodash.isplainobject": "^4.0.6",
"lodash.isstring": "^4.0.1",
"lodash.once": "^4.0.0",
"ms": "^2.1.1",
"semver": "^7.5.4"
},
"engines": {
"node": ">=12",
"npm": ">=6"
}
},
"node_modules/jwa": {
"version": "2.0.1",
"license": "MIT",
"dependencies": {
"buffer-equal-constant-time": "^1.0.1",
"ecdsa-sig-formatter": "1.0.11",
"safe-buffer": "^5.0.1"
}
},
"node_modules/jws": {
"version": "4.0.1",
"license": "MIT",
"dependencies": {
"jwa": "^2.0.1",
"safe-buffer": "^5.0.1"
}
},
"node_modules/lodash.includes": {
"version": "4.3.0",
"license": "MIT"
},
"node_modules/lodash.isboolean": {
"version": "3.0.3",
"license": "MIT"
},
"node_modules/lodash.isinteger": {
"version": "4.0.4",
"license": "MIT"
},
"node_modules/lodash.isnumber": {
"version": "3.0.3",
"license": "MIT"
},
"node_modules/lodash.isplainobject": {
"version": "4.0.6",
"license": "MIT"
},
"node_modules/lodash.isstring": {
"version": "4.0.1",
"license": "MIT"
},
"node_modules/lodash.once": {
"version": "4.1.1",
"license": "MIT"
},
"node_modules/ms": {
"version": "2.1.3",
"license": "MIT"
},
"node_modules/pocketbase": {
"version": "0.26.5",
"license": "MIT"
},
"node_modules/safe-buffer": {
"version": "5.2.1",
"funding": [
{
"type": "github",
"url": "https://github.com/sponsors/feross"
},
{
"type": "patreon",
"url": "https://www.patreon.com/feross"
},
{
"type": "consulting",
"url": "https://feross.org/support"
}
],
"license": "MIT"
},
"node_modules/semver": {
"version": "7.7.3",
"license": "ISC",
"bin": {
"semver": "bin/semver.js"
},
"engines": {
"node": ">=10"
}
},
"node_modules/tslib": {
"version": "2.8.1",
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz",
"integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==",
"license": "0BSD"
},
"node_modules/undici-types": {
"version": "7.16.0",
"resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.16.0.tgz",
"integrity": "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==",
"dev": true,
"license": "MIT"
},
"node_modules/uuid": {
"version": "8.3.2",
"license": "MIT",
"bin": {
"uuid": "dist/bin/uuid"
}
}
}
}