Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Monorepo #138

Merged
merged 44 commits into from
Jan 5, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
44 commits
Select commit Hold shift + click to select a range
e7ed02d
refactor(config): restructure project into multi-package setup
suddenlyGiovanni Dec 28, 2024
5d8b61a
chore(package): update version and remove workspaces
suddenlyGiovanni Dec 28, 2024
1770fa9
chore: lint code with Biome [skip ci]
suddenlyGiovanni Dec 28, 2024
46e7c04
chore(deps): update pnpm-lock dependencies
suddenlyGiovanni Jan 1, 2025
4c9aa9a
fix(schema-resume): include missing files in package output
suddenlyGiovanni Jan 1, 2025
92be9db
fix(workflows): scope build and publish to schema-resume
suddenlyGiovanni Jan 1, 2025
128cc8c
fix(npmrc): correct spacing in scoped registry entries
suddenlyGiovanni Jan 1, 2025
885cb1e
chore(deps): update versions in pnpm-lock.yaml
suddenlyGiovanni Jan 4, 2025
6b40999
`chore(idea): add webResources configuration file`
suddenlyGiovanni Jan 4, 2025
e3f6fd4
feat(resume): add local schema and update dependencies
suddenlyGiovanni Jan 4, 2025
7f5f3b0
feat(resume): add YAML support and schema export
suddenlyGiovanni Jan 4, 2025
5a92ed2
chore(config): standardize JSON formatting across modules
suddenlyGiovanni Jan 4, 2025
d109573
chore(schema-resume): update biome config formatting
suddenlyGiovanni Jan 4, 2025
f940ba0
fix(resume): update biome config to ignore schema.json
suddenlyGiovanni Jan 4, 2025
5e663db
chore: lint code with Biome [skip ci]
suddenlyGiovanni Jan 4, 2025
33b20c4
refactor(resume): update imports and dependencies cleanup
suddenlyGiovanni Jan 4, 2025
2f92db9
chore: lint code with Biome [skip ci]
suddenlyGiovanni Jan 4, 2025
2879f7a
chore(workspace): rename pnpm-workspace.yam to .yaml
suddenlyGiovanni Jan 4, 2025
007030b
chore(resume): add development scripts and clean lockfiles
suddenlyGiovanni Jan 4, 2025
729ab9d
chore(resume, schema-resume): use catalog reference for effect
suddenlyGiovanni Jan 4, 2025
81722d2
refactor(schema-resume): enhance config and utility functions
suddenlyGiovanni Jan 4, 2025
66bf066
build(schema-resume): add development dependencies
suddenlyGiovanni Jan 4, 2025
c5152f1
chore(resume): update configs and scripts for tooling
suddenlyGiovanni Jan 4, 2025
ecc3af2
chore: lint code with Biome [skip ci]
suddenlyGiovanni Jan 4, 2025
776ee6d
chore(workflows): streamline pull request checks setup
suddenlyGiovanni Jan 4, 2025
b5c57d7
refactor(resume): update import paths for consistency
suddenlyGiovanni Jan 4, 2025
76576d5
chore: lint code with Biome [skip ci]
suddenlyGiovanni Jan 4, 2025
a5021bc
feat(setup): enhance Node.js and pnpm setup in GitHub Actions
suddenlyGiovanni Jan 4, 2025
e1a6d7c
fix(resume): correct path to resume.yml in tests
suddenlyGiovanni Jan 4, 2025
6bc7f5a
feat(package): add Vitest dependencies and update lockfile
suddenlyGiovanni Jan 4, 2025
3059ba0
test(schema-resume): remove unused snapshot test
suddenlyGiovanni Jan 4, 2025
6de2c3e
ci(workflows): switch to Vitest for test execution
suddenlyGiovanni Jan 4, 2025
a95de06
feat(resume): add metadata to package.json
suddenlyGiovanni Jan 4, 2025
02ffdbf
feat(biome): enable LSP-based formatting support
suddenlyGiovanni Jan 4, 2025
59b3d88
test(config): centralize coverage setup in root config
suddenlyGiovanni Jan 4, 2025
fda40b2
feat(package): add @vitest/ui dependency
suddenlyGiovanni Jan 4, 2025
3cc9247
ci(workflows): update Codecov config and token handling
suddenlyGiovanni Jan 4, 2025
c4fd97b
fix(workflows): update unit test command in PR checks
suddenlyGiovanni Jan 4, 2025
5e08af9
fix(npm): update virtual-store-dir path in .npmrc
suddenlyGiovanni Jan 5, 2025
bc303fd
chore(dependencies): switch to pnpm catalog for deps
suddenlyGiovanni Jan 5, 2025
f54db2f
chore: lint code with Biome [skip ci]
suddenlyGiovanni Jan 5, 2025
8d35925
refactor(resume): reorganize files and update paths
suddenlyGiovanni Jan 5, 2025
416b5b9
fix(resume): update file paths in biome.json
suddenlyGiovanni Jan 5, 2025
3a01202
refactor(resume): replace Biome setup with custom action
suddenlyGiovanni Jan 5, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 9 additions & 9 deletions .changeset/config.json
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
{
"$schema": "https://unpkg.com/@changesets/config@3.0.0/schema.json",
"changelog": "@changesets/cli/changelog",
"commit": false,
"fixed": [],
"linked": [],
"access": "restricted",
"baseBranch": "main",
"updateInternalDependencies": "patch",
"ignore": []
"$schema": "https://unpkg.com/@changesets/config@3.0.0/schema.json",
"changelog": "@changesets/cli/changelog",
"commit": false,
"fixed": [["@suddenlygiovanni/*"]],
"linked": [],
"access": "restricted",
"baseBranch": "main",
"updateInternalDependencies": "patch",
"ignore": []
}
2 changes: 2 additions & 0 deletions .changeset/shiny-seas-check.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
---
---
31 changes: 24 additions & 7 deletions .github/actions/setup/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,21 +7,38 @@ inputs:
runs:
using: composite
steps:
- name: 🛠️ Install node
uses: actions/setup-node@v4
with:
node-version-file: '.nvmrc'
registry-url: 'https://npm.pkg.github.com'

- name: Configure .npmrc
shell: bash
run: echo "//npm.pkg.github.com/:_authToken=${{ inputs.github_token }}" >> ~/.npmrc


- name: 🗂️ Install pnpm
uses: pnpm/action-setup@v3
uses: pnpm/action-setup@v4
with:
package_json_file: 'package.json'
run_install: false

- name: 🛠️ Install node
uses: actions/setup-node@v4
- name: Get pnpm store directory
shell: bash
run: |
echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV

- name: Setup pnpm cache
uses: actions/cache@v4
with:
cache: 'pnpm'
node-version-file: '.nvmrc'
registry-url: 'https://npm.pkg.github.com'
path: ${{ env.STORE_PATH }}
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
restore-keys: |
${{ runner.os }}-pnpm-store-

- name: 🧩 Install dependencies
shell: bash
env:
NODE_AUTH_TOKEN: ${{ inputs.github_token }}
run: pnpm install --frozen-lockfile --prod=false
run: pnpm install --recursive --frozen-lockfile --prod=false
3 changes: 2 additions & 1 deletion .github/workflows/published.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,9 @@ jobs:

- name: 🏗️Run Build
run: pnpm run build
run: pnpm run --filter @suddenlygiovanni/schema-resume build
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[actionlint] reported by reviewdog 🐶
key "run" is duplicated in element of "steps" section. previously defined at line:25,col:9 [syntax-check]


- name: 📦 Publish package
run: pnpm publish --no-git-checks
run: pnpm --filter @suddenlygiovanni/schema-resume publish --no-git-checks
env:
NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
26 changes: 7 additions & 19 deletions .github/workflows/pull-request-checks-workflow.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,37 +14,25 @@ jobs:
with:
fetch-depth: 0

- name: 🧬 Setup Biome
uses: biomejs/setup-biome@v2

- name: 🧬 check code for errors (with Biome)
run: |
biome ci \
--formatter-enabled=false \
--linter-enabled=true \
--organize-imports-enabled=false \
--vcs-enabled=true \
--vcs-use-ignore-file=true \
--no-errors-on-unmatched \
--reporter=github \
.

- name: 📦 Setup Node, Pnpm and install deps
uses: ./.github/actions/setup
with:
github_token: ${{ secrets.GITHUB_TOKEN }}

- name: 🧬 check code for errors (with Biome)
run: pnpm run -r lint:ci --reporter=github

- name: 🧪 Run unit tests
run: pnpm run test -- --coverage
run: pnpm exec vitest run --coverage

- name: 🛫 Upload coverage to Codecov
uses: codecov/codecov-action@v5
with:
directory: ./coverage/reports/
fail_ci_if_error: false
name: codecov-umbrella
token: ${{ secrets.CODECOV_TOKEN }}
verbose: true
files: ./coverage/coverage-final.json
env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}

- name: 🦋 Require changesets
run: pnpm exec changeset status --since=origin/main
24 changes: 5 additions & 19 deletions .github/workflows/push-checks-workflow.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,31 +16,17 @@ jobs:
with:
fetch-depth: 0

- name: 🧬 Setup Biome
uses: biomejs/setup-biome@v2

- name: 👣 Retrieve Git REF
run: echo "GIT_REF=$(git rev-parse origin/main)" >> $GITHUB_ENV
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[actionlint] reported by reviewdog 🐶
shellcheck reported issue in this script: SC2086:info:1:48: Double quote to prevent globbing and word splitting [shellcheck]


- name: 🐛 Debug Git REF
run: echo "${{ env.GIT_REF }}"
- name: 📦 Setup Node, Pnpm and install deps
uses: ./.github/actions/setup
with:
github_token: ${{ secrets.GITHUB_TOKEN }}

- name: 💅 Format code (with Biome)
continue-on-error: true
run: |
biome check \
--write \
--changed \
--since=${{ env.GIT_REF }} \
--formatter-enabled=true \
--linter-enabled=false \
--organize-imports-enabled=true \
--vcs-enabled=true \
--vcs-use-ignore-file=true \
--no-errors-on-unmatched \
--log-level=warn \
--reporter=github \
.
run: pnpm run -r format:write --since=${{ env.GIT_REF }}

- name: 🚦 Git Auto Commit Lint fixes (with Biome)
uses: stefanzweifel/git-auto-commit-action@v5.0.1
Expand Down
4 changes: 3 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -136,6 +136,8 @@ dist
/.idea/misc.xml
/.idea/modules.xml
/.idea/vcs.xml


/resume.iml
/lib
/.direnv/
/packages/schema-resume/lib/
3 changes: 2 additions & 1 deletion .idea/biome.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

26 changes: 26 additions & 0 deletions .idea/jsonSchemas.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

15 changes: 15 additions & 0 deletions .idea/webResources.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions .npmrc
Original file line number Diff line number Diff line change
Expand Up @@ -51,13 +51,13 @@ symlink = true
; When false, pnpm will not write any files to the modules directory (node_modules).
; default to `true`
enable-modules-dir = true
`

; The directory with links to the store. All direct and indirect dependencies of
; the project are linked into this directory.
; Or you can set the virtual store to .pnpm and add it to .gitignore. This will
; make stacktraces cleaner as paths to dependencies will be one directory higher.
; default to `node_modules/.pnpm`
virtual-store-dir = .pnpm
virtual-store-dir = node_modules/.pnpm

; default to `auto`
package-import-method = auto
Expand Down
18 changes: 1 addition & 17 deletions biome.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
{
"$schema": "./node_modules/@biomejs/biome/configuration_schema.json",
"files": {
"include": ["./src/*"],
"ignore": ["node_modules", ".pnpm", "./~"]
},
"vcs": {
Expand Down Expand Up @@ -61,27 +60,12 @@
"attributePosition": "multiline"
}
},
"css": {
"formatter": {
"enabled": true
}
},
"overrides": [
{
"include": ["**/*.snapshot.json"],
"include": ["**/*.snapshot.json", "packages/resume/src/schema.json"],
"formatter": {
"enabled": false
}
},
{
"include": ["src/test/test-utils.ts"],
"linter": {
"rules": {
"suspicious": {
"noExplicitAny": "off"
}
}
}
}
]
}
64 changes: 14 additions & 50 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,65 +1,29 @@
{
"name": "@suddenlygiovanni/resume",
"version": "13.3.1",
"type": "module",
"exports": {
"./resume.yml": "./resume.yml",
"./schema-resume": "./src/schema-resume/index.ts",
"./schema-primitive": "./src/schema-primitive/index.ts"
},
"publishConfig": {
"registry": "https://npm.pkg.github.com",
"exports": {
"./schema-resume": "./lib/schema-resume/index.js",
"./schema-primitive": "./lib/schema-primitive/index.js"
}
},
"files": [
"lib/**",
"README.md"
],
"author": {
"name": "Giovanni Ravalico",
"email": "15946771+suddenlygiovanni@users.noreply.github.com",
"url": "https://wwww.suddenlygiovanni.dev/resume"
},
"repository": {
"type": "git",
"url": "https://github.com/suddenlyGiovanni/resume.git"
},
"version": "13.3.1",
"private": true,
"scripts": {
"build": "tsc -b tsconfig.build.json",
"ci:publish": "pmpm publish",
"typecheck": "tsc --noEmit",
"changeset:add": "pnpm exec changeset add",
"changeset:empty": "pnpm exec changeset --empty",
"changeset:publish": "pnpm exec changeset publish",
"changeset:version": "pnpm exec changeset version",
"format": "biome format .",
"format:write": "pnpm format --write",
"test": "vitest"
"changeset:version": "pnpm exec changeset version"
},
"license": "UNLICENSED",
"peerDependencieqs": {
"effect": "~3.12.0"
},
"devDependencies": {
"@biomejs/biome": "1.9.4",
"@changesets/cli": "2.27.11",
"@std/yaml": "npm:@jsr/std__yaml@1.0.5",
"@tsconfig/node22": "22.0.0",
"@tsconfig/strictest": "2.0.5",
"@types/json-schema": "7.0.15",
"@types/node": "22.10.5",
"@vitest/coverage-v8": "3.0.0-beta.3",
"@vitest/ui": "3.0.0-beta.3",
"effect": "3.12.0",
"typescript": "5.7.2",
"vite-tsconfig-paths": "5.1.4",
"vitest": "3.0.0-beta.3"
"@biomejs/biome": "catalog:",
"@changesets/cli": "catalog:",
"@tsconfig/node23": "catalog:",
"@tsconfig/strictest": "catalog:",
"@types/node": "catalog:",
"@vitest/coverage-v8": "catalog:",
"@vitest/ui": "catalog:",
"typescript": "catalog:",
"vitest": "catalog:"
},
"packageManager": "pnpm@9.15.2+sha512.93e57b0126f0df74ce6bff29680394c0ba54ec47246b9cf321f0121d8d9bb03f750a705f24edc3c1180853afd7c2c3b94196d0a3d53d3e069d9e2793ef11f321",
"engines": {
"node": ">=23"
"node": ">=23",
"pnpm": ">=9.15"
}
}
20 changes: 20 additions & 0 deletions packages/resume/biome.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
{
"$schema": "../../node_modules/@biomejs/biome/configuration_schema.json",
"extends": ["../../biome.json"],
"files": {
"include": ["./src/**/*", "./test/**/*"],
"ignore": ["./src/schema.json", "./src/resume.yml"]
},
"overrides": [
{
"include": ["src/**/*.spec.ts"],
"linter": {
"rules": {
"correctness": {
"noNodejsModules": "off"
}
}
}
}
]
}
Loading
Loading