generated from nhcarrigan/template
Compare commits
3 Commits
57366fd082
..
v1.0.0
| Author | SHA1 | Date | |
|---|---|---|---|
| 88326b802e | |||
| 71308283ef | |||
| 186fe97f30 |
@@ -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 v22
|
||||||
|
uses: actions/setup-node@v4
|
||||||
|
with:
|
||||||
|
node-version: 22
|
||||||
|
|
||||||
|
- name: Setup pnpm
|
||||||
|
uses: pnpm/action-setup@v2
|
||||||
|
with:
|
||||||
|
version: 9
|
||||||
|
|
||||||
|
- 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
|
||||||
@@ -1,20 +1,10 @@
|
|||||||
# New Repository Template
|
# Chibika
|
||||||
|
|
||||||
This template contains all of our basic files for a new GitHub repository. There is also a handy workflow that will create an issue on a new repository made from this template, with a checklist for the steps we usually take in setting up a new repository.
|
A Discord application that sends ASCII art on demand!
|
||||||
|
|
||||||
If you're starting a Node.JS project with TypeScript, we have a [specific template](https://github.com/naomi-lgbt/nodejs-typescript-template) for that purpose.
|
|
||||||
|
|
||||||
## Readme
|
|
||||||
|
|
||||||
Delete all of the above text (including this line), and uncomment the below text to use our standard readme template.
|
|
||||||
|
|
||||||
<!-- # Project Name
|
|
||||||
|
|
||||||
Project Description
|
|
||||||
|
|
||||||
## Live Version
|
## Live Version
|
||||||
|
|
||||||
This page is currently deployed. [View the live website.]
|
This page is currently deployed. [Add to your Discord!](https://discord.com/oauth2/authorize?client_id=1396225647269122098)
|
||||||
|
|
||||||
## Feedback and Bugs
|
## Feedback and Bugs
|
||||||
|
|
||||||
@@ -36,4 +26,4 @@ Copyright held by Naomi Carrigan.
|
|||||||
|
|
||||||
## Contact
|
## Contact
|
||||||
|
|
||||||
We may be contacted through our [Chat Server](http://chat.nhcarrigan.com) or via email at `contact@nhcarrigan.com`. -->
|
We may be contacted through our [Chat Server](http://chat.nhcarrigan.com) or via email at `contact@nhcarrigan.com`.
|
||||||
|
|||||||
+4
-3
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "chibika",
|
"name": "chibika",
|
||||||
"version": "0.0.0",
|
"version": "1.0.0",
|
||||||
"description": "A bot that shares ASCII art.",
|
"description": "A bot that shares ASCII art.",
|
||||||
"main": "index.js",
|
"main": "index.js",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
@@ -8,7 +8,7 @@
|
|||||||
"lint": "eslint ./src --max-warnings 0",
|
"lint": "eslint ./src --max-warnings 0",
|
||||||
"build": "tsc",
|
"build": "tsc",
|
||||||
"start": "op run --env-file=./prod.env -- node ./prod/index.js",
|
"start": "op run --env-file=./prod.env -- node ./prod/index.js",
|
||||||
"test": "echo 'No tests yet' && exit 0"
|
"test": "vitest run"
|
||||||
},
|
},
|
||||||
"keywords": [],
|
"keywords": [],
|
||||||
"author": "",
|
"author": "",
|
||||||
@@ -18,7 +18,8 @@
|
|||||||
"@nhcarrigan/eslint-config": "5.2.0",
|
"@nhcarrigan/eslint-config": "5.2.0",
|
||||||
"@nhcarrigan/typescript-config": "4.0.0",
|
"@nhcarrigan/typescript-config": "4.0.0",
|
||||||
"eslint": "9.31.0",
|
"eslint": "9.31.0",
|
||||||
"typescript": "5.8.3"
|
"typescript": "5.8.3",
|
||||||
|
"vitest": "3.2.4"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@nhcarrigan/logger": "1.0.0",
|
"@nhcarrigan/logger": "1.0.0",
|
||||||
|
|||||||
Generated
+3
@@ -30,6 +30,9 @@ importers:
|
|||||||
typescript:
|
typescript:
|
||||||
specifier: 5.8.3
|
specifier: 5.8.3
|
||||||
version: 5.8.3
|
version: 5.8.3
|
||||||
|
vitest:
|
||||||
|
specifier: 3.2.4
|
||||||
|
version: 3.2.4(@types/node@24.0.15)
|
||||||
|
|
||||||
packages:
|
packages:
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,37 @@
|
|||||||
|
/**
|
||||||
|
* @copyright nhcarrigan
|
||||||
|
* @license Naomi's Public License
|
||||||
|
* @author Naomi Carrigan
|
||||||
|
*/
|
||||||
|
|
||||||
|
import { describe, it, expect } from "vitest";
|
||||||
|
import { anime } from "../src/assets/anime.js";
|
||||||
|
import { cats } from "../src/assets/cats.js";
|
||||||
|
import { emoji } from "../src/assets/emoji.js";
|
||||||
|
|
||||||
|
const uniqueAnime = new Set(anime.map((art) => {
|
||||||
|
return art.text;
|
||||||
|
}));
|
||||||
|
const uniqueCats = new Set(cats.map((art) => {
|
||||||
|
return art.text;
|
||||||
|
}));
|
||||||
|
const uniqueEmoji = new Set(emoji.map((art) => {
|
||||||
|
return art.text;
|
||||||
|
}));
|
||||||
|
|
||||||
|
describe("assets", () => {
|
||||||
|
it("anime should be unique", () => {
|
||||||
|
expect.assertions(1);
|
||||||
|
expect(uniqueAnime.size, "anime has duplicate art").toBe(anime.length);
|
||||||
|
});
|
||||||
|
|
||||||
|
it("cats should be unique", () => {
|
||||||
|
expect.assertions(1);
|
||||||
|
expect(uniqueCats.size, "cats has duplicate art").toBe(cats.length);
|
||||||
|
});
|
||||||
|
|
||||||
|
it("emoji should be unique", () => {
|
||||||
|
expect.assertions(1);
|
||||||
|
expect(uniqueEmoji.size, "emoji has duplicate art").toBe(emoji.length);
|
||||||
|
});
|
||||||
|
});
|
||||||
+2
-1
@@ -3,5 +3,6 @@
|
|||||||
"compilerOptions": {
|
"compilerOptions": {
|
||||||
"rootDir": "./src",
|
"rootDir": "./src",
|
||||||
"outDir": "./prod"
|
"outDir": "./prod"
|
||||||
}
|
},
|
||||||
|
"exclude": ["test", "vitest.config.ts"]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,10 @@
|
|||||||
|
/**
|
||||||
|
* @copyright nhcarrigan
|
||||||
|
* @license Naomi's Public License
|
||||||
|
* @author Naomi Carrigan
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
import { defineConfig } from "vitest/config";
|
||||||
|
|
||||||
|
export default defineConfig({});
|
||||||
Reference in New Issue
Block a user