Skip to content

Commit 9d4eab6

Browse files
committed
feat!: Add basic gedcom parser
1 parent c7cb891 commit 9d4eab6

File tree

198 files changed

+9675
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

198 files changed

+9675
-0
lines changed

.eslintrc.js

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
module.exports = {
2+
root: true,
3+
parser: '@typescript-eslint/parser',
4+
plugins: ['@typescript-eslint', 'node', 'prettier'],
5+
parserOptions: {
6+
tsconfigRootDir: __dirname,
7+
project: ['./tsconfig.json'],
8+
},
9+
extends: [
10+
'eslint:recommended',
11+
'plugin:node/recommended',
12+
'plugin:@typescript-eslint/eslint-recommended',
13+
'plugin:@typescript-eslint/recommended',
14+
'plugin:@typescript-eslint/recommended-requiring-type-checking',
15+
'plugin:prettier/recommended',
16+
],
17+
rules: {
18+
'prettier/prettier': 'warn',
19+
'node/no-missing-import': 'off',
20+
'node/no-empty-function': 'off',
21+
'node/no-unsupported-features/es-syntax': 'off',
22+
'node/no-missing-require': 'off',
23+
'node/shebang': 'off',
24+
'@typescript-eslint/no-use-before-define': 'off',
25+
quotes: ['warn', 'single', { avoidEscape: true }],
26+
'node/no-unpublished-import': 'off',
27+
'@typescript-eslint/no-unsafe-assignment': 'off',
28+
'@typescript-eslint/no-var-requires': 'off',
29+
'@typescript-eslint/ban-ts-comment': 'off',
30+
'@typescript-eslint/no-explicit-any': 'off',
31+
},
32+
};

.github/ISSUE_TEMPLATE/bug_report.md

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
---
2+
name: "🐛 Bug Report"
3+
about: Report a reproducible bug or regression.
4+
title: ''
5+
labels: bug
6+
assignees: ''
7+
8+
---
9+
10+
## Current Behavior
11+
12+
<!-- Describe how the issue manifests. -->
13+
14+
## Expected Behavior
15+
16+
<!-- Describe what the desired behavior would be. -->
17+
18+
## Steps to Reproduce the Problem
19+
20+
1.
21+
1.
22+
1.
23+
24+
## Environment
25+
26+
- Version: <!-- Version set in package.json -->
27+
- Platform: <!-- Win/Mac/Linux -->
28+
- Node.js Version: <!-- Output of running `node -v` -->
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
---
2+
name: 🌈 Feature request
3+
about: Suggest an amazing new idea for this project
4+
title: ''
5+
labels: enhancement
6+
assignees: ''
7+
8+
---
9+
10+
## Feature Request
11+
12+
**Is your feature request related to a problem? Please describe.**
13+
<!-- A clear and concise description of what the problem is. Ex. I have an issue when [...] -->
14+
15+
**Describe the solution you'd like**
16+
<!-- A clear and concise description of what you want to happen. Add any considered drawbacks. -->
17+
18+
**Describe alternatives you've considered**
19+
<!-- A clear and concise description of any alternative solutions or features you've considered. -->
20+
21+
## Are you willing to resolve this issue by submitting a Pull Request?
22+
23+
<!--
24+
Remember that first-time contributors are welcome! 🙌
25+
-->
26+
27+
- [ ] Yes, I have the time, and I know how to start.
28+
- [ ] Yes, I have the time, but I don't know how to start. I would need guidance.
29+
- [ ] No, I don't have the time, although I believe I could do it if I had the time...
30+
- [ ] No, I don't have the time and I wouldn't even know how to start.
31+
32+
<!--
33+
👋 Have a great day and thank you for the feature request!
34+
-->

.github/workflows/pr.yml

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
name: Lint and test
2+
3+
on:
4+
pull_request:
5+
types: [reopened, synchronize, labeled]
6+
7+
jobs:
8+
build:
9+
name: Lint and test
10+
runs-on: ubuntu-latest
11+
steps:
12+
- name: Check-out
13+
uses: actions/checkout@v4
14+
- name: Setup Node.js
15+
uses: actions/setup-node@v4
16+
with:
17+
node-version: '20'
18+
- name: Get npm cache
19+
uses: actions/cache@v3
20+
id: cache-modules
21+
with:
22+
path: ./node_modules
23+
key: modules-${{ hashFiles('package-lock.json') }}
24+
- name: Install dependencies
25+
run: npm install
26+
- name: Build
27+
run: npm run build
28+
- name: Lint
29+
run: npm run lint
30+
- name: Test
31+
run: npm run test
32+

.github/workflows/publish.yml

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
name: Publish release
2+
3+
on:
4+
release:
5+
types: [published]
6+
7+
jobs:
8+
build:
9+
name: Publish release
10+
runs-on: ubuntu-latest
11+
permissions:
12+
contents: read
13+
packages: write
14+
steps:
15+
- name: Check-out
16+
uses: actions/checkout@v4
17+
- uses: actions/setup-node@v4
18+
with:
19+
node-version: '20'
20+
registry-url: 'https://npm.pkg.github.com'
21+
scope: '@webaps'
22+
- uses: actions/cache@v3
23+
id: cache-modules
24+
with:
25+
path: ./node_modules
26+
key: modules-${{ hashFiles('package-lock.json') }}
27+
- name: Install dependencies
28+
run: npm install
29+
- name: Build
30+
run: npm run build
31+
- name: Publish
32+
run: npm publish --access public
33+
env:
34+
NODE_AUTH_TOKEN: ${{ secrets.GHCR_TOKEN }}
35+

.github/workflows/release.yml

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
name: Draft release
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
8+
jobs:
9+
build-release:
10+
name: Draft release
11+
runs-on: ubuntu-latest
12+
steps:
13+
- name: Check-out
14+
uses: actions/checkout@v4
15+
- name: Conventional Changelog Action
16+
id: changelog
17+
uses: TriPSs/[email protected]
18+
with:
19+
github-token: ${{ secrets.GHCR_TOKEN }}
20+
version-file: './package.json,./package-lock.json'
21+
- name: Create release
22+
uses: actions/create-release@v1
23+
if: ${{ steps.changelog.outputs.skipped == 'false' }}
24+
env:
25+
GITHUB_TOKEN: ${{ secrets.GHCR_TOKEN }}
26+
with:
27+
tag_name: ${{ steps.changelog.outputs.tag }}
28+
release_name: ${{ steps.changelog.outputs.tag }}
29+
body: ${{ steps.changelog.outputs.clean_changelog }}
30+
draft: true
31+

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -128,3 +128,5 @@ dist
128128
.yarn/build-state.yml
129129
.yarn/install-state.gz
130130
.pnp.*
131+
132+
.idea

.npmignore

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
/test
2+
/src
3+
/tsconfig.json
4+
/tsconfig.build.json
5+
/.eslintrc.js
6+
/.github
7+
/.prettierrc
8+
/jest.config.js

.prettierrc

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
{
2+
"singleQuote": true,
3+
"trailingComma": "es5",
4+
"arrowParens": "avoid",
5+
"printWidth": 120
6+
}

CHANGELOG.md

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
## [1.0.4](https://github.com/webaps/gedcom/compare/v1.0.3...v1.0.4) (2024-06-20)
2+
3+
4+
### Bug Fixes
5+
6+
* This should work now (take 4) ([bffd910](https://github.com/webaps/gedcom/commit/bffd910918e6ec1d54c7f3127e6d07144887e4b1))
7+
8+
9+
10+
## [1.0.3](https://github.com/webaps/gedcom/compare/v1.0.2...v1.0.3) (2024-06-20)
11+
12+
13+
### Bug Fixes
14+
15+
* This should work now (take 3) ([d4b25ca](https://github.com/webaps/gedcom/commit/d4b25ca524e1744b996feea82d572f714adf683c))
16+
17+
18+
19+
## [1.0.2](https://github.com/webaps/gedcom/compare/v1.0.1...v1.0.2) (2024-06-20)
20+
21+
22+
### Bug Fixes
23+
24+
* This should work now (take 2) ([82bf866](https://github.com/webaps/gedcom/commit/82bf8661991372bae0854a8722a07dbad6325088))
25+
26+
27+
28+
## [1.0.1](https://github.com/webaps/gedcom/compare/f00e0efaa1d345bd35c0c404a65763c04fcddccd...v1.0.1) (2024-06-20)
29+
30+
31+
### Bug Fixes
32+
33+
* This should work now ([f00e0ef](https://github.com/webaps/gedcom/commit/f00e0efaa1d345bd35c0c404a65763c04fcddccd))
34+
35+
36+

0 commit comments

Comments
 (0)