2 Commits

Author SHA1 Message Date
Alix von Schirp
5d223831ce Merge pull request #5 from cis-oss/release/v.0.1.0 2025-09-01 12:19:37 +02:00
c1c8eda3b2 release(v0.1.0): set version string, remove private: true 2025-09-01 00:15:35 +02:00
37 changed files with 196 additions and 1975 deletions

View File

@@ -2,21 +2,11 @@ on: [push, pull_request]
jobs:
check:
runs-on: ubuntu-22.04
strategy:
matrix:
node-version: [20, 22]
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v5
uses: actions/checkout@v4
- name: Install Deps
uses: pnpm/action-setup@v4
- name: Setup Node
uses: actions/setup-node@v5
with:
node-version: ${{ matrix.node-version }}
cache: "pnpm"
- name: Install
run: pnpm install
run: npm install -g pnpm && pnpm install
- name: Typecheck & Lint
run: SKIP_ENV_VALIDATION=true pnpm turbo check
run: pnpm check

145
.gitignore vendored
View File

@@ -1,127 +1,38 @@
### Node template
# Logs
logs
*.log
lerna-debug.log*
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
# Diagnostic reports (https://nodejs.org/api/report.html)
report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json
# dependencies
/node_modules
/.pnp
.pnp.js
# Runtime data
pids
*.pid
*.seed
*.pid.lock
# testing
/coverage
# Directory for instrumented libs generated by jscoverage/JSCover
lib-cov
# production
docs/
dist/
# Coverage directory used by tools like istanbul
coverage
*.lcov
# misc
.DS_Store
*.pem
# nyc test coverage
.nyc_output
# debug
npm-debug.log*
yarn-debug.log*
yarn-error.log*
.pnpm-debug.log*
# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
.grunt
# local env files
# do not commit any .env files to git, except for the .env.example file.
.env
.env*.local
# Bower dependency directory (https://bower.io/)
bower_components
# typescript
*.tsbuildinfo
# node-waf configuration
.lock-wscript
# eslint
.eslintcache
# Compiled binary addons (https://nodejs.org/api/addons.html)
build/Release
# idea files
.idea
# Dependency directories
node_modules/
jspm_packages/
# Snowpack dependency directory (https://snowpack.dev/)
web_modules/
# TypeScript cache
# Optional npm cache directory
.npm
# Optional eslint cache
# Optional stylelint cache
.stylelintcache
# Microbundle cache
.rpt2_cache/
.rts2_cache_cjs/
.rts2_cache_es/
.rts2_cache_umd/
# Optional REPL history
.node_repl_history
# Output of 'npm pack'
*.tgz
# Yarn Integrity file
.yarn-integrity
# dotenv environment variable files
.env.development.local
.env.test.local
.env.production.local
.env.local
# parcel-bundler cache (https://parceljs.org/)
.cache
.parcel-cache
# Next.js build output
.next
out
# Nuxt.js build / generate output
.nuxt
dist
# Gatsby files
.cache/
# Comment in the public line in if your project uses Gatsby and not Next.js
# https://nextjs.org/blog/next-9-1#public-directory-support
# public
# vuepress build output
.vuepress/dist
# vuepress v2.x temp and cache directory
.temp
# Docusaurus cache and generated files
.docusaurus
# Serverless directories
.serverless/
# FuseBox cache
.fusebox/
# DynamoDB Local files
.dynamodb/
# TernJS port file
.tern-port
# Stores VSCode versions used for testing VSCode extensions
.vscode-test
# yarn v2
.yarn/cache
.yarn/unplugged
.yarn/build-state.yml
.yarn/install-state.gz
.pnp.*
### Turbo template
# Turborepo task cache
.turbo

View File

@@ -1,18 +0,0 @@
import globals from "globals";
import pluginJs from "@eslint/js";
import tseslint from "typescript-eslint";
import eslintConfigPrettier from "eslint-config-prettier";
import onlyWarn from "eslint-plugin-only-warn";
/** @type {import('eslint').Linter.Config[]} */
export default [
{ languageOptions: { globals: globals.node } },
pluginJs.configs.recommended,
...tseslint.configs.recommended,
eslintConfigPrettier,
{
plugins: {
onlyWarn,
},
},
];

View File

@@ -1,32 +0,0 @@
{
"name": "@repo/configs",
"version": "0.0.0",
"exports": {
"./eslint": "./eslint.config.mjs",
"./jest": "./jest.config.mjs",
"./typedoc": "./typedoc.config.mjs"
},
"devDependencies": {
"@eslint/js": "^9.22.0",
"@shipgirl/typedoc-plugin-versions": "^0.3.0",
"@types/jest": "^29.5.14",
"eslint": "^9.22.0",
"eslint-config-prettier": "^10.1.1",
"eslint-plugin-only-warn": "^1.1.0",
"globals": "^16.4.0",
"jest": "^29.7.0",
"prettier": "3.5.3",
"ts-jest": "^29.2.6",
"typedoc": "^0.27.9",
"typedoc-github-theme": "^0.2.1",
"typedoc-plugin-coverage": "^3.4.1",
"typedoc-plugin-extras": "^4.0.0",
"typedoc-plugin-include-example": "^2.0.2",
"typedoc-plugin-inline-sources": "^1.2.1",
"typedoc-plugin-mdn-links": "^5.0.1",
"typedoc-plugin-zod": "^1.4.0",
"typescript": "^5.5.3",
"typescript-eslint": "^8.26.0"
},
"private": true
}

View File

@@ -1,7 +1,20 @@
import repoConfig from "@repo/configs/eslint";
import globals from "globals";
import pluginJs from "@eslint/js";
import tseslint from "typescript-eslint";
import eslintConfigPrettier from "eslint-config-prettier";
import onlyWarn from "eslint-plugin-only-warn";
/** @type {import('eslint').Linter.Config[]} */
export default [
...repoConfig,
{ ignores: ["dist/**", "docs/**"] },
{ files: ["**/*.{ts}"] },
{ ignores: ["dist/**", "docs/**", ".*/**", "**/.*", "**/*.config.*"] },
{ files: ["**/*.{js,mjs,cjs,ts}"] },
{ languageOptions: { globals: globals.node } },
pluginJs.configs.recommended,
...tseslint.configs.recommended,
eslintConfigPrettier,
{
plugins: {
onlyWarn,
},
},
];

View File

@@ -1,7 +0,0 @@
import repoConfig from "@repo/configs/eslint";
export default [
...repoConfig,
{ ignores: ["dist/**", "docs/**"] },
{ files: ["**/*.{ts}"] },
];

View File

@@ -1,3 +0,0 @@
import repoCofig from "@repo/configs/jest";
export default [...repoCofig];

View File

@@ -1,65 +0,0 @@
{
"name": "@cis-oss/notify-push",
"description": "Send push notifications to your users. Meta package wrapping several @cis-oss packages. See README.md for more information.",
"homepage": "https://cis-oss.github.io/notify",
"version": "0.0.1",
"main": "src/index.ts",
"author": {
"email": "hi@b00tload.space",
"name": "Alix von Schirp",
"url": "https://b00tload.space"
},
"repository": {
"type": "git",
"url": "git+https://github.com/cis-oss/pushover.git"
},
"bugs": {
"url": "https://github.com/cis-oss/pushover/issues"
},
"keywords": [
"mobile",
"notification",
"notifications",
"push",
"pushover"
],
"dependencies": {
"@cis-oss/pushover": "workspace:"
},
"files": [
"dist/**/*.{js,ts,map}"
],
"scripts": {
"build": "tsc",
"build:watch": "tsc --watch",
"check": "pnpm run lint:ci && pnpm run typecheck",
"clean": "shx rm -rf dist/",
"docs:generate": "typedoc",
"format:check": "prettier --check .",
"lint": "eslint .",
"lint:ci": "eslint --max-warnings 0",
"prepublishOnly": "pnpm run clean && pnpm run build",
"test": "jest",
"typecheck": "tsc --noEmit"
},
"private": true,
"license": "MIT",
"maintainers": [
{
"name": "Alix von Schirp",
"email": "hi@b00tload.space",
"url": "https://b00tload.space"
},
{
"name": "Ole",
"email": "jateute123@gmail.com",
"url": "https://github.com/jateute"
}
],
"packageManager": "pnpm@10.6.5",
"publishConfig": {
"main": "dist/index.js",
"types": "dist/index.d.ts"
},
"type": "module"
}

View File

@@ -1,3 +0,0 @@
import { Pushover } from "@cis-oss/pushover";
export { Pushover };

View File

@@ -1,12 +0,0 @@
{
"extends": "@repo/configs/tsconfig.json",
"compilerOptions": {
/* Path Aliases */
"baseUrl": "./src",
"paths": {
"~/*": ["./src/*"]
}
},
"include": ["src/**/*.ts", "src/**/*.tsx"],
"exclude": ["node_modules/**/*", "docs/**/*", "dist/**/*"]
}

View File

@@ -1,7 +0,0 @@
import repoConfig from "@repo/configs/eslint";
export default [
...repoConfig,
{ ignores: ["dist/**", "docs/**"] },
{ files: ["**/*.{ts}"] },
];

View File

@@ -1,3 +0,0 @@
import repoCofig from "@repo/configs/jest";
export default [...repoCofig];

View File

@@ -1,65 +0,0 @@
{
"name": "@cis-oss/notify",
"description": "Send push notifications to your users. Meta package wrapping several @cis-oss packages. See README.md for more information.",
"homepage": "https://cis-oss.github.io/notify",
"version": "0.0.1",
"main": "src/index.ts",
"author": {
"email": "hi@b00tload.space",
"name": "Alix von Schirp",
"url": "https://b00tload.space"
},
"repository": {
"type": "git",
"url": "git+https://github.com/cis-oss/pushover.git"
},
"bugs": {
"url": "https://github.com/cis-oss/pushover/issues"
},
"keywords": [
"mobile",
"notification",
"notifications",
"push",
"pushover"
],
"dependencies": {
"@cis-oss/pushover": "workspace:"
},
"files": [
"dist/**/*.{js,ts,map}"
],
"scripts": {
"build": "tsc",
"build:watch": "tsc --watch",
"check": "pnpm run lint:ci && pnpm run typecheck",
"clean": "shx rm -rf dist/",
"docs:generate": "typedoc",
"format:check": "prettier --check .",
"lint": "eslint .",
"lint:ci": "eslint --max-warnings 0",
"prepublishOnly": "pnpm run clean && pnpm run build",
"test": "jest",
"typecheck": "tsc --noEmit"
},
"private": true,
"license": "MIT",
"maintainers": [
{
"name": "Alix von Schirp",
"email": "hi@b00tload.space",
"url": "https://b00tload.space"
},
{
"name": "Ole",
"email": "jateute123@gmail.com",
"url": "https://github.com/jateute"
}
],
"packageManager": "pnpm@10.6.5",
"publishConfig": {
"main": "dist/index.js",
"types": "dist/index.d.ts"
},
"type": "module"
}

View File

@@ -1,3 +0,0 @@
import { Pushover } from "@cis-oss/pushover";
export { Pushover };

View File

@@ -1,12 +0,0 @@
{
"extends": "@repo/configs/tsconfig.json",
"compilerOptions": {
/* Path Aliases */
"baseUrl": "./src",
"paths": {
"~/*": ["./src/*"]
}
},
"include": ["src/**/*.ts", "src/**/*.tsx"],
"exclude": ["node_modules/**/*", "docs/**/*", "dist/**/*"]
}

View File

@@ -1,36 +1,100 @@
{
"name": "@repo/root",
"description": "",
"version": "0.0.0",
"name": "@cis-oss/pushover",
"description": "A client for Pushover, a service for sending notifications. Written in TypeScript. Supports sending to multiple users.",
"homepage": "https://cis-oss.github.io/pushover",
"version": "0.1.0",
"main": "src/index.ts",
"author": {
"email": "hi@b00tload.space",
"name": "Alix von Schirp",
"url": "https://b00tload.space"
},
"repository": {
"type": "git",
"url": "git+https://github.com/cis-oss/pushover.git"
},
"bugs": {
"url": "https://github.com/cis-oss/pushover/issues"
},
"keywords": [
"mobile",
"notification",
"notifications",
"push",
"pushover"
],
"dependencies": {
"zod": "^3.24.2"
},
"devDependencies": {
"@repo/configs": "workspace:",
"@turbo/gen": "^2.5.6",
"@eslint/js": "^9.22.0",
"@shipgirl/typedoc-plugin-versions": "^0.3.0",
"@types/jest": "^29.5.14",
"@types/node": "^22.13.10",
"eslint": "^9.22.0",
"eslint-config-prettier": "^10.1.1",
"eslint-plugin-only-warn": "^1.1.0",
"finepack": "^2.12.7",
"globals": "^16.0.0",
"husky": "^9.1.7",
"jest": "^29.7.0",
"lint-staged": "^15.4.3",
"prettier": "3.5.3",
"simple-git": "^3.30.0",
"turbo": "^2.5.6"
"shx": "^0.4.0",
"ts-jest": "^29.2.6",
"tsx": "^4.19.3",
"typedoc": "^0.27.9",
"typedoc-github-theme": "^0.2.1",
"typedoc-plugin-coverage": "^3.4.1",
"typedoc-plugin-extras": "^4.0.0",
"typedoc-plugin-include-example": "^2.0.2",
"typedoc-plugin-inline-sources": "^1.2.1",
"typedoc-plugin-mdn-links": "^5.0.1",
"typedoc-plugin-zod": "^1.4.0",
"typescript": "^5.5.3",
"typescript-eslint": "^8.26.0"
},
"files": [],
"files": [
"dist/**/*.{js,ts,map}"
],
"scripts": {
"prepare": "husky"
"build": "tsc",
"build:watch": "tsc --watch",
"check": "pnpm run lint && pnpm run typecheck",
"clean": "shx rm -rf dist/",
"docs:generate": "typedoc",
"format:check": "prettier --check .",
"lint": "eslint --cache .",
"prepare": "husky",
"prepublishOnly": "pnpm run clean && pnpm run build",
"test": "jest",
"typecheck": "tsc --noEmit"
},
"private": true,
"license": "MIT",
"husky": {
"shell": "bash"
},
"lint-staged": {
"package.json": "finepack",
"*.{js,ts,jsx,tsx}": "eslint --fix .",
"*.{js,ts,jsx,tsx}": "eslint --cache --fix .",
"*.{js,ts,jsx,tsx,json,css,md}": "prettier --write"
},
"packageManager": "pnpm@10.26.1"
"maintainers": [
{
"name": "Alix von Schirp",
"email": "hi@b00tload.space",
"url": "https://b00tload.space"
},
{
"name": "Ole",
"email": "jateute123@gmail.com",
"url": "https://github.com/jateute"
}
],
"packageManager": "pnpm@10.6.5",
"publishConfig": {
"main": "dist/index.js",
"types": "dist/index.d.ts"
},
"type": "module"
}

View File

@@ -1,7 +0,0 @@
import repoConfig from "@repo/configs/eslint";
export default [
...repoConfig,
{ ignores: ["dist/**", "docs/**"] },
{ files: ["**/*.{ts}"] },
];

View File

@@ -1,3 +0,0 @@
import repoCofig from "@repo/configs/jest";
export default [...repoCofig];

View File

@@ -1,71 +0,0 @@
{
"name": "@cis-oss/pushover",
"description": "A client for Pushover, a service for sending notifications. Written in TypeScript. Supports sending to multiple users.",
"homepage": "https://cis-oss.github.io/pushover",
"version": "0.0.10",
"main": "src/index.ts",
"author": {
"email": "hi@b00tload.space",
"name": "Alix von Schirp",
"url": "https://b00tload.space"
},
"repository": {
"type": "git",
"url": "git+https://github.com/cis-oss/pushover.git"
},
"bugs": {
"url": "https://github.com/cis-oss/pushover/issues"
},
"keywords": [
"mobile",
"notification",
"notifications",
"push",
"pushover"
],
"dependencies": {
"zod": "^3.24.2"
},
"devDependencies": {
"@repo/configs": "workspace:",
"@types/node": "^22.13.10",
"shx": "^0.4.0",
"tsx": "4.19.3",
"typescript": "5.5.3"
},
"files": [
"dist/**/*.{js,ts,map}"
],
"scripts": {
"build": "tsc",
"build:watch": "tsc --watch",
"check": "pnpm run lint:ci && pnpm run typecheck",
"clean": "shx rm -rf dist/",
"docs:generate": "typedoc",
"format:check": "prettier --check .",
"lint": "eslint .",
"lint:ci": "eslint --max-warnings 0",
"prepublishOnly": "pnpm run clean && pnpm run build",
"test": "jest",
"typecheck": "tsc --noEmit"
},
"private": true,
"license": "MIT",
"maintainers": [
{
"name": "Alix von Schirp",
"email": "hi@b00tload.space",
"url": "https://b00tload.space"
},
{
"name": "Ole",
"email": "jateute123@gmail.com",
"url": "https://github.com/jateute"
}
],
"publishConfig": {
"main": "dist/index.js",
"types": "dist/index.d.ts"
},
"type": "module"
}

View File

@@ -1,13 +0,0 @@
{
"extends": "@repo/configs/tsconfig",
"compilerOptions": {
"outDir": "dist",
/* Path Aliases */
"baseUrl": "./src",
"paths": {
"~/*": ["./src/*"]
}
},
"include": ["src/**/*.ts", "src/**/*.tsx"],
"exclude": ["node_modules/**/*", "docs/**/*", "dist/**/*"]
}

1320
pnpm-lock.yaml generated

File diff suppressed because it is too large Load Diff

View File

@@ -1,7 +0,0 @@
packages:
- meta/*
- packages/*
- config
catalogMode: prefer

View File

@@ -12,7 +12,6 @@ import type {
} from "./Pushover";
export default Pushover;
export { Pushover };
export type {
PushoverRecipient,

View File

@@ -1,7 +0,0 @@
import repoConfig from "@repo/configs/eslint";
export default [
...repoConfig,
{ ignores: ["dist/**", "docs/**"] },
{ files: ["**/*.{ts}"] },
];

View File

@@ -1,3 +0,0 @@
import repoCofig from "@repo/configs/jest";
export default [...repoCofig];

View File

@@ -1,87 +0,0 @@
{
"name": "{{name}}",
"description": "{{description}}",
"homepage": "https://cis-oss.github.io/notify",
"version": "0.0.10",
"main": "src/index.ts",
"author": {
"email": "hi@b00tload.space",
"name": "Alix von Schirp",
"url": "https://b00tload.space"
},
"repository": {
"type": "git",
"url": "git+https://github.com/cis-oss/pushover.git"
},
"bugs": {
"url": "https://github.com/cis-oss/pushover/issues"
},
"keywords": [
"notification",
"notify"
],
"dependencies": {
"zod": "^3.24.2"
},
"devDependencies": {
"@eslint/js": "^9.22.0",
"@repo/configs": "workspace:",
"@shipgirl/typedoc-plugin-versions": "^0.3.0",
"@types/jest": "^29.5.14",
"@types/node": "^22.13.10",
"eslint": "^9.22.0",
"eslint-config-prettier": "^10.1.1",
"eslint-plugin-only-warn": "^1.1.0",
"globals": "^16.0.0",
"jest": "^29.7.0",
"shx": "^0.4.0",
"ts-jest": "^29.2.6",
"tsx": "^4.19.3",
"typedoc": "^0.27.9",
"typedoc-github-theme": "^0.2.1",
"typedoc-plugin-coverage": "^3.4.1",
"typedoc-plugin-extras": "^4.0.0",
"typedoc-plugin-include-example": "^2.0.2",
"typedoc-plugin-inline-sources": "^1.2.1",
"typedoc-plugin-mdn-links": "^5.0.1",
"typedoc-plugin-zod": "^1.4.0",
"typescript": "^5.5.3",
"typescript-eslint": "^8.26.0"
},
"files": [
"dist/**/*.{js,ts,map}"
],
"scripts": {
"build": "tsc",
"build:watch": "tsc --watch",
"check": "pnpm run lint:ci && pnpm run typecheck",
"clean": "shx rm -rf dist/",
"docs:generate": "typedoc",
"format:check": "prettier --check .",
"lint": "eslint .",
"lint:ci": "eslint --max-warnings 0",
"prepublishOnly": "pnpm run clean && pnpm run build",
"test": "jest",
"typecheck": "tsc --noEmit"
},
"private": true,
"license": "MIT",
"maintainers": [
{
"name": "Alix von Schirp",
"email": "hi@b00tload.space",
"url": "https://b00tload.space"
},
{
"name": "Ole",
"email": "jateute123@gmail.com",
"url": "https://github.com/jateute"
}
],
"packageManager": "pnpm@10.6.5",
"publishConfig": {
"main": "dist/index.js",
"types": "dist/index.d.ts"
},
"type": "module"
}

View File

@@ -1,12 +0,0 @@
{
"extends": "@repo/configs/tsconfig.json",
"compilerOptions": {
/* Path Aliases */
"baseUrl": "./src",
"paths": {
"~/*": ["./src/*"]
}
},
"include": ["src/**/*.ts", "src/**/*.tsx"],
"exclude": ["node_modules/**/*", "docs/**/*", "dist/**/*"]
}

View File

@@ -1,15 +0,0 @@
{
"$schema": "https://turborepo.com/schema.json",
"tasks": {
"build": {
"outputs": ["dist/**"]
},
"check": {
"dependsOn": ["^check"]
},
"dev": {
"persistent": true,
"cache": false
}
}
}

View File

@@ -1,79 +0,0 @@
// THIS IS FOR NOW UNLIKELY TO BE CONTINUED TO BE WORKED ON
import type { PlopTypes } from "@turbo/gen";
import * as fs from "node:fs";
import { simpleGit } from "simple-git";
export default function generator(plop: PlopTypes.NodePlopAPI): void {
const git = simpleGit();
const metaPackages = fs.readdirSync("meta").map((value) => {
const packageJson = JSON.parse(
fs.readFileSync(`meta/${value}/package.json`, "utf-8"),
);
return {
name: packageJson.name,
value: value,
};
});
// get git author info
const gitAuthor = {
name: git
.getConfig("user.name")
.then((res) => res.value)
.catch(() => ""),
email: git
.getConfig("user.email")
.then((res) => res.value)
.catch(() => ""),
};
// const gitAuthor = {
// name: (await git.getConfig("user.name")).value,
// email: (await git.getConfig("user.email")).value,
// };
// create a generator
plop.setGenerator("package", {
description: "Create a new notify package",
// gather information from the user
prompts: [
{
type: "input",
name: "name",
message: "Package name",
},
{
type: "input",
name: "description",
message: "Package description",
},
{
type: "input",
name: "author.name",
default: gitAuthor.name,
message: "Author name",
},
{
type: "input",
name: "author.email",
default: gitAuthor.email,
message: "Author email",
},
{
type: "checkbox",
name: "import.meta",
message: "In which meta packages should this package be included?",
choices: metaPackages,
},
],
// perform actions based on the prompts
actions: [
{
type: "addMany",
destination: "packages/{{name}}",
base: "templates/package",
templateFiles: "templates/package/**/*",
abortOnFail: true,
},
],
});
}