Skip to content

Commit 3ac120d

Browse files
committed
setup: Created project structure and setup monorep with react
1 parent 989f7ad commit 3ac120d

31 files changed

+8958
-0
lines changed

.github/workflows/release.yml

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
name: Release
2+
3+
on:
4+
push:
5+
branches: [main]
6+
7+
jobs:
8+
release:
9+
runs-on: ubuntu-latest
10+
if: github.ref == 'refs/heads/main'
11+
12+
steps:
13+
- uses: actions/checkout@v4
14+
with:
15+
fetch-depth: 0
16+
token: ${{ secrets.GITHUB_TOKEN }}
17+
18+
- name: Setup Node.js
19+
uses: actions/setup-node@v4
20+
with:
21+
node-version-file: '.nvmrc'
22+
registry-url: 'https://registry.npmjs.org'
23+
24+
- name: Setup pnpm
25+
uses: pnpm/action-setup@v2
26+
with:
27+
version: 8
28+
29+
- name: Install dependencies
30+
run: pnpm install --frozen-lockfile
31+
32+
- name: Build packages
33+
run: pnpm turbo build
34+
35+
- name: Run tests
36+
run: pnpm turbo test
37+
38+
- name: Release
39+
env:
40+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
41+
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
42+
run: pnpm semantic-release

.gitignore

Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
# Dependencies
2+
node_modules
3+
packages/core/node_modules
4+
.pnp
5+
.pnp.js
6+
7+
# Testing
8+
coverage
9+
.nyc_output
10+
11+
# Build outputs
12+
dist
13+
build
14+
out
15+
.next
16+
.nuxt
17+
.cache
18+
.turbo
19+
packages/core/dist
20+
21+
22+
# Environment files
23+
.env
24+
.env.local
25+
.env.*.local
26+
.env.development.local
27+
.env.test.local
28+
.env.production.local
29+
30+
# Debug logs
31+
npm-debug.log*
32+
yarn-debug.log*
33+
yarn-error.log*
34+
pnpm-debug.log*
35+
36+
# Editor directories and files
37+
.idea
38+
.DS_Store
39+
*.suo
40+
*.ntvs*
41+
*.njsproj
42+
*.sln
43+
*.sw?
44+
.vscode/*
45+
!.vscode/extensions.json
46+
!.vscode/settings.json
47+
48+
# TypeScript
49+
*.tsbuildinfo
50+
51+
# Vercel
52+
.vercel
53+
54+
# Package manager specific
55+
.pnpm-store/
56+
57+
# Project specific
58+
# Don't ignore the lib directory in vanilla-js-demo
59+
!examples/vanilla-js-demo/lib
60+
61+
# Temporary files
62+
*.log
63+
*.tmp
64+
.temp
65+
.tmp
66+
67+
# OS generated files
68+
.DS_Store
69+
.DS_Store?
70+
._*
71+
.Spotlight-V100
72+
.Trashes
73+
ehthumbs.db
74+
Thumbs.db
75+
76+
# Do NOT ignore pnpm-lock.yaml
77+
!pnpm-lock.yaml

.husky/commit-msg

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
#!/usr/bin/env sh
2+
. "$(dirname -- "$0")/_/husky.sh"
3+
4+
echo "📝 Validating commit message..."
5+
npx --no -- commitlint --edit $1

.husky/pre-commit

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
#!/usr/bin/env sh
2+
. "$(dirname -- "$0")/_/husky.sh"
3+
4+
echo "🔍 Running pre-commit checks..."
5+
6+
# Run lint-staged
7+
npx lint-staged
8+
9+
# Type checking
10+
echo "📝 Type checking..."
11+
pnpm turbo type-check
12+
13+
# Run tests for changed packages
14+
echo "🧪 Running tests..."
15+
pnpm turbo test --filter='...[HEAD~1]'
16+
17+
echo "✅ Pre-commit checks completed"

.husky/pre-push

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
#!/usr/bin/env sh
2+
. "$(dirname -- "$0")/_/husky.sh"
3+
4+
echo "🚀 Running pre-push checks..."
5+
6+
# Build all packages
7+
echo "🔨 Building packages..."
8+
pnpm turbo build
9+
10+
# Run full test suite
11+
echo "🧪 Running full test suite..."
12+
pnpm turbo test
13+
14+
# Check formatting
15+
echo "💄 Checking code formatting..."
16+
pnpm format:check
17+
18+
echo "✅ Pre-push checks completed"

.releaserc.json

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
{
2+
"branches": ["main", "master"],
3+
"plugins": [
4+
"@semantic-release/commit-analyzer",
5+
"@semantic-release/release-notes-generator",
6+
[
7+
"@semantic-release/changelog",
8+
{
9+
"changelogFile": "CHANGELOG.md"
10+
}
11+
],
12+
"@semantic-release/npm",
13+
[
14+
"@semantic-release/git",
15+
{
16+
"assets": ["package.json", "CHANGELOG.md"],
17+
"message": "chore(release): ${nextRelease.version} [skip ci]\n\n${nextRelease.notes}"
18+
}
19+
],
20+
"@semantic-release/github"
21+
]
22+
}

.vite/deps/_metadata.json

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
{
2+
"hash": "ece40896",
3+
"configHash": "a0fc0252",
4+
"lockfileHash": "e3b0c442",
5+
"browserHash": "68ab1855",
6+
"optimized": {},
7+
"chunks": {}
8+
}

.vite/deps/package.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
{
2+
"type": "module"
3+
}

LICENCE

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) 2024 Lakin Mohapatra
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: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
# MonoDog
2+
3+
4+
The dashboard will provide visual management and monitoring capabilities for packages in monorepos using pnpm, turbo, or Nx. It will be distributed as an npm package installable in any monorepo to auto-generate a web UI for package oversight.
5+
6+
## Why MonoDog
7+
8+
The Monorepo Dashboard addresses the complexity of managing many interconnected packages. It automates critical, error-prone tasks like semantic versioning and CI/CD, while providing immediate visual feedback on dependencies and package health. This optimization leads to faster development cycles and more reliable releases.
9+
10+
## Installation
11+
12+
### Install Package
13+
14+
```bash
15+
# npm
16+
npm install @lakinmindfire/monodog
17+
18+
# pnpm
19+
pnpm add @lakinmindfire/monodog
20+
```
21+
22+
23+
## License
24+
25+
Licensed under the MIT License, Copyright © Mindfire Solutions

0 commit comments

Comments
 (0)