8 Commits

Author SHA1 Message Date
hikari f406b2b48c chore: replace .npmrc with pnpm-workspace.yaml
Node.js CI / CI (push) Successful in 30s
Security Scan and Upload / Security & DefectDojo Upload (push) Successful in 1m42s
2026-03-02 16:27:22 -08:00
minori 47b686cdf7 Merge pull request 'deps: update typescript to 5.9.3' (#12) from dependencies/update-typescript into main
Node.js CI / CI (push) Successful in 22s
Security Scan and Upload / Security & DefectDojo Upload (push) Successful in 56s
2026-03-02 07:01:19 -08:00
minori 866ede7542 Merge pull request 'deps: update @types/node-schedule to 2.1.8' (#9) from dependencies/update--types-node-schedule into main
Node.js CI / CI (push) Successful in 28s
Security Scan and Upload / Security & DefectDojo Upload (push) Successful in 1m51s
2026-02-25 07:01:22 -08:00
minori c3346f7519 Merge pull request 'deps: update @nhcarrigan/logger to 1.1.1' (#6) from dependencies/update--nhcarrigan-logger into main
Node.js CI / CI (push) Successful in 31s
Security Scan and Upload / Security & DefectDojo Upload (push) Successful in 1m18s
2026-02-23 20:44:43 -08:00
minori 668c304731 deps: update typescript to 5.9.3
Node.js CI / CI (pull_request) Successful in 28s
Security Scan and Upload / Security & DefectDojo Upload (pull_request) Successful in 1m39s
2026-02-04 08:22:40 -08:00
minori 35e2bbf16a deps: update @types/node-schedule to 2.1.8
Node.js CI / CI (pull_request) Successful in 27s
Security Scan and Upload / Security & DefectDojo Upload (pull_request) Successful in 1m28s
2026-02-04 08:22:19 -08:00
minori 1801f8d1de deps: update @nhcarrigan/logger to 1.1.1
Node.js CI / CI (pull_request) Successful in 29s
Security Scan and Upload / Security & DefectDojo Upload (pull_request) Successful in 1m22s
2026-02-04 08:22:03 -08:00
hikari 2a8f9bd7ae docs: update feedback section to use support forum
Node.js CI / CI (push) Successful in 19s
Security Scan and Upload / Security & DefectDojo Upload (push) Successful in 1m33s
2026-01-26 12:37:05 -08:00
13 changed files with 170 additions and 494 deletions
-2
View File
@@ -1,4 +1,2 @@
node_modules
prod
generated/prisma
-25
View File
@@ -1,25 +0,0 @@
# Package Manager Configuration
# Force pnpm usage - breaks npm/yarn intentionally
node-linker=pnpm
# Security: Disable all lifecycle scripts
ignore-scripts=true
enable-pre-post-scripts=false
# Security: Require packages to be 10+ days old before installation
minimum-release-age=14400
# Security: Verify package integrity hashes
verify-store-integrity=true
# Security: Enforce strict trust policies
trust-policy=strict
# Security: Strict peer dependency resolution
strict-peer-dependencies=true
# Performance: Use symlinks for node_modules
symlink=true
# Lockfile: Ensure lockfile is not modified during install
frozen-lockfile=false
+1 -4
View File
@@ -2,8 +2,5 @@
"editor.codeActionsOnSave": {
"source.fixAll.eslint": "explicit"
},
"eslint.validate": [
"typescript"
],
"prisma.pinToPrisma6": true
"eslint.validate": ["typescript"]
}
+1 -1
View File
@@ -18,7 +18,7 @@ This page is currently deployed. [View the live website.]
## Feedback and Bugs
If you have feedback or a bug report, please feel free to open a GitHub issue!
If you have feedback or a bug report, please [log a ticket on our forum](https://support.nhcarrigan.com).
## Contributing
+5 -7
View File
@@ -7,7 +7,7 @@
"scripts": {
"build": "rm -rf prod && tsc",
"lint": "eslint src --max-warnings 0",
"start": "op run --env-file=prod.env --no-masking -- node prod/src/index.js",
"start": "op run --env-file=prod.env --no-masking -- node prod/index.js",
"test": "echo \"No tests yet!\" && exit 0"
},
"keywords": [],
@@ -17,17 +17,15 @@
"@nhcarrigan/eslint-config": "5.2.0",
"@nhcarrigan/typescript-config": "4.0.0",
"@types/node": "24.0.6",
"@types/node-schedule": "2.1.7",
"@types/node-schedule": "2.1.8",
"@vitest/coverage-istanbul": "3.2.4",
"eslint": "9.30.0",
"typescript": "5.8.3",
"typescript": "5.9.3",
"vitest": "3.2.4"
},
"dependencies": {
"@nhcarrigan/logger": "1.0.0",
"@prisma/client": "6.19.1",
"@nhcarrigan/logger": "1.1.1",
"discord.js": "14.21.0",
"node-schedule": "2.1.1",
"prisma": "6.19"
"node-schedule": "2.1.1"
}
}
+140 -409
View File
File diff suppressed because it is too large Load Diff
+21
View File
@@ -0,0 +1,21 @@
# Security
# Do not execute any scripts of installed packages (project scripts still run)
ignoreDepScripts: true
# Do not automatically run pre/post scripts (e.g. preinstall, postbuild)
enablePrePostScripts: false
# Only allow packages published at least 10 days ago (reduces risk of compromised packages)
minimumReleaseAge: 14400
# Fail if a package's trust level has decreased compared to previous releases
trustPolicy: no-downgrade
# Ignore trust policy for packages published more than 1 year ago (predates provenance signing)
trustPolicyIgnoreAfter: 525960
# Fail if there are missing or invalid peer dependencies
strictPeerDependencies: true
# Prevent transitive dependencies from using exotic sources (git repos, direct tarball URLs)
blockExoticSubdeps: true
# Lockfile
# Allow the lockfile to be updated during install (set to true in CI for stricter reproducibility)
preferFrozenLockfile: false
-24
View File
@@ -1,24 +0,0 @@
// This is your Prisma schema file,
// learn more about it in the docs: https://pris.ly/d/prisma-schema
// Looking for ways to speed up your queries, or scale easily with your serverless or edge functions?
// Try Prisma Accelerate: https://pris.ly/cli/accelerate-init
generator client {
provider = "prisma-client"
output = "../generated/prisma"
}
datasource db {
provider = "mongodb"
url = env("DATABASE_URL")
}
model ServerData {
id String @id @default(auto()) @map("_id") @db.ObjectId
serverId String
channelId String
roleId String
message String
cron String
}
+1 -2
View File
@@ -1,3 +1,2 @@
DISCORD_TOKEN="op://Environment Variables - Naomi/Standup Bot/discord_token"
LOG_TOKEN="op://Environment Variables - Naomi/Alert Server/api_auth"
DATABASE_URL="op://Environment Variables - Naomi/Standup Bot/database_url"
LOG_TOKEN="op://Environment Variables - Naomi/Alert Server/api_auth"
-2
View File
@@ -6,7 +6,6 @@
import { Client, Events, GatewayIntentBits } from "discord.js";
import { scheduleJob } from "node-schedule";
import { channels } from "./config/channels.js";
import { prisma } from "./lib/prisma.js";
import { standup } from "./modules/standup.js";
import { logger } from "./utils/logger.js";
@@ -23,7 +22,6 @@ process.on("unhandledRejection", (error) => {
process.on("uncaughtException", (error) => {
if (error instanceof Error) {
void logger.error("Uncaught Exception", error);
void prisma.$disconnect();
return;
}
void logger.error("uncaught exception", new Error(String(error)));
-5
View File
@@ -1,5 +0,0 @@
import { PrismaClient } from "../../generated/prisma/client.js";
const prisma = new PrismaClient();
export { prisma };
-12
View File
@@ -1,12 +0,0 @@
import { defineConfig } from "prisma/config";
export default defineConfig({
datasource: {
url: process.env.DATABASE_URL ?? "",
},
engine: "classic",
migrations: {
path: "prisma/migrations",
},
schema: "prisma/schema.prisma",
});
+1 -1
View File
@@ -1,7 +1,7 @@
{
"include": ["**/*.ts"],
"extends": "@nhcarrigan/typescript-config",
"compilerOptions": {
"rootDir": "./src",
"outDir": "./prod"
},
"exclude": ["test/**/*.ts", "vitest.config.ts"]