Skip to content

Commit 8b31810

Browse files
committed
chore: initial commit
0 parents  commit 8b31810

11 files changed

Lines changed: 5010 additions & 0 deletions

File tree

.github/renovate.json

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
{
2+
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
3+
"extends": [
4+
"github>luxass/renovate-config"
5+
]
6+
}

.github/workflows/ci.yaml

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
name: CI
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
pull_request:
8+
types:
9+
- opened
10+
- synchronize
11+
12+
permissions: {}
13+
14+
jobs:
15+
build:
16+
runs-on: ubuntu-latest
17+
steps:
18+
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
19+
with:
20+
persist-credentials: false
21+
22+
- name: setup pnpm
23+
uses: pnpm/action-setup@a7487c7e89a18df4991f7f222e4898a00d66ddda # v4.1.0
24+
25+
- name: setup node
26+
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
27+
with:
28+
node-version: lts/*
29+
30+
- name: install dependencies
31+
run: pnpm install
32+
33+
- name: build
34+
run: pnpm build
35+
36+
- name: lint
37+
run: pnpm lint
38+
39+
- name: typecheck
40+
run: pnpm typecheck

.github/workflows/release.yaml

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
name: Release
2+
3+
on:
4+
push:
5+
tags:
6+
- "v*"
7+
8+
jobs:
9+
release:
10+
permissions:
11+
id-token: write
12+
contents: write
13+
runs-on: ubuntu-latest
14+
steps:
15+
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
16+
with:
17+
fetch-depth: 0
18+
persist-credentials: false
19+
20+
- name: setup pnpm
21+
uses: pnpm/action-setup@a7487c7e89a18df4991f7f222e4898a00d66ddda # v4.1.0
22+
23+
- name: setup node
24+
uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v4.2.0
25+
with:
26+
registry-url: "https://registry.npmjs.org"
27+
node-version: lts/*
28+
29+
- run: pnpx changelogithub
30+
env:
31+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
32+
33+
- name: install dependencies
34+
run: pnpm install --frozen-lockfile
35+
36+
- name: build
37+
run: pnpm build
38+
39+
- name: publish to npm
40+
run: pnpm publish --access public --no-git-checks
41+
env:
42+
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
43+
NPM_CONFIG_PROVENANCE: true
44+
45+
- name: print dirty files
46+
run: git status --porcelain

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
node_modules
2+
dist
3+
data-files

LICENSE

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
MIT License
2+
3+
Copyright (c) 2025-PRESENT Lucas Nørgård
4+
5+
Permission is hereby granted, free of charge, to any person obtaining a copy
6+
of this software and associated documentation files (the "Software"), to deal
7+
in the Software without restriction, including without limitation the rights
8+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+
copies of the Software, and to permit persons to whom the Software is
10+
furnished to do so, subject to the following conditions:
11+
12+
The above copyright notice and this permission notice shall be included in all
13+
copies or substantial portions of the Software.
14+
15+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21+
SOFTWARE.

README.md

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
# @ucdjs/ucd-fields
2+
3+
[![npm version][npm-version-src]][npm-version-href]
4+
[![npm downloads][npm-downloads-src]][npm-downloads-href]
5+
6+
UCD (Unicode Character Database) fields for JavaScript.
7+
8+
## Installation
9+
10+
```bash
11+
npm install @ucdjs/ucd-fields
12+
```
13+
14+
## Usage
15+
16+
```ts
17+
import { ArabicShaping, BidiBrackets } from "@ucdjs/ucd-fields/v16.0.0";
18+
19+
console.log(ArabicShaping); // { "0": "No Arabic Shaping", "1": "Arabic Shaping" }
20+
console.log(BidiBrackets); // { "0": "No Bidi Brackets", "1": "Bidi Brackets" }
21+
22+
```
23+
24+
## 📄 License
25+
26+
Published under [MIT License](./LICENSE).
27+
28+
<!-- Badges -->
29+
30+
[npm-version-src]: https://img.shields.io/npm/v/@ucdjs/ucd-fields?style=flat&colorA=18181B&colorB=4169E1
31+
[npm-version-href]: https://npmjs.com/package/@ucdjs/ucd-fields
32+
[npm-downloads-src]: https://img.shields.io/npm/dm/@ucdjs/ucd-fields?style=flat&colorA=18181B&colorB=4169E1
33+
[npm-downloads-href]: https://npmjs.com/package/@ucdjs/ucd-fields

eslint.config.mjs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
// @ts-check
2+
import { luxass } from "@luxass/eslint-config";
3+
4+
export default luxass({
5+
formatters: true,
6+
});

package.json

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
{
2+
"name": "@ucdjs/ucd-fields",
3+
"version": "0.0.0",
4+
"description": "All UCD file fields",
5+
"type": "module",
6+
"author": {
7+
"name": "Lucas Nørgård",
8+
"email": "lucasnrgaard@gmail.com",
9+
"url": "https://luxass.dev"
10+
},
11+
"packageManager": "pnpm@10.9.0",
12+
"license": "MIT",
13+
"homepage": "https://github.com/ucdjs/ucd-fields#readme",
14+
"repository": {
15+
"type": "git",
16+
"url": "git+https://github.com/ucdjs/ucd-fields.git"
17+
},
18+
"bugs": "https://github.com/ucdjs/ucd-fields/issues",
19+
"keywords": [
20+
"unicode",
21+
"ucd",
22+
"ucdjs",
23+
"character",
24+
"database",
25+
"fields"
26+
],
27+
"exports": {
28+
".": "./dist/index.js",
29+
"./package.json": "./package.json"
30+
},
31+
"main": "./dist/index.js",
32+
"module": "./dist/index.js",
33+
"types": "./dist/index.d.ts",
34+
"publishConfig": {
35+
"access": "public"
36+
},
37+
"files": [
38+
"dist"
39+
],
40+
"scripts": {
41+
"build": "tsdown",
42+
"dev": "tsdown --watch",
43+
"test": "vitest --run",
44+
"lint": "eslint .",
45+
"typecheck": "tsc --noEmit",
46+
"gen:data-files": "npx @ucdjs/cli@latest generate --output-dir=./data-files all"
47+
},
48+
"dependencies": {
49+
"farver": "^0.4.2",
50+
"yargs-parser": "^21.1.1"
51+
},
52+
"devDependencies": {
53+
"@luxass/eslint-config": "^4.18.1",
54+
"@types/node": "^22.10.9",
55+
"@types/yargs-parser": "^21.0.3",
56+
"eslint": "^9.25.1",
57+
"publint": "^0.3.12",
58+
"tsdown": "^0.9.8",
59+
"typescript": "^5.8.3",
60+
"vitest": "^3.1.2"
61+
}
62+
}

0 commit comments

Comments
 (0)