feat: scaffolding and infrastructure

This commit is contained in:
2025-08-11 14:44:17 -07:00
parent cdaeff99d1
commit 99a91b7c90
8 changed files with 4215 additions and 0 deletions

38
.gitea/workflows/ci.yml Normal file
View File

@@ -0,0 +1,38 @@
name: Node.js CI
on:
push:
branches:
- main
pull_request:
branches:
- main
jobs:
lint:
name: Lint and Test
steps:
- name: Checkout Source Files
uses: actions/checkout@v4
- name: Use Node.js v24
uses: actions/setup-node@v4
with:
node-version: 24
- name: Setup pnpm
uses: pnpm/action-setup@v2
with:
version: 10
- name: Install Dependencies
run: pnpm install
- name: Lint Source Files
run: pnpm run lint
- name: Verify Build
run: pnpm run build
- name: Run Tests
run: pnpm run test

2
.gitignore vendored Normal file
View File

@@ -0,0 +1,2 @@
prod
node_modules

6
.vscode/settings.json vendored Normal file
View File

@@ -0,0 +1,6 @@
{
"editor.codeActionsOnSave": {
"source.fixAll.eslint": "explicit"
},
"eslint.validate": ["typescript"]
}

5
eslint.config.js Normal file
View File

@@ -0,0 +1,5 @@
import NaomisConfig from '@nhcarrigan/eslint-config';
export default [
...NaomisConfig,
]

20
package.json Normal file
View File

@@ -0,0 +1,20 @@
{
"name": "lynira",
"version": "0.0.0",
"description": "Link shortening service managed via a Discord bot",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": [],
"author": "",
"license": "ISC",
"packageManager": "pnpm@10.14.0",
"devDependencies": {
"@nhcarrigan/eslint-config": "5.2.0",
"@nhcarrigan/typescript-config": "4.0.0",
"@types/node": "24.2.1",
"eslint": "9.33.0",
"typescript": "5.9.2"
}
}

4130
pnpm-lock.yaml generated Normal file

File diff suppressed because it is too large Load Diff

7
src/index.ts Normal file
View File

@@ -0,0 +1,7 @@
/**
* @copyright nhcarrigan
* @license Naomi's Public License
* @author Naomi Carrigan
*/
process.exit(0);

7
tsconfig.json Normal file
View File

@@ -0,0 +1,7 @@
{
"extends": "@nhcarrigan/typescript-config",
"compilerOptions": {
"outDir": "./prod",
"rootDir": "./src",
}
}