Skip to content

Commit 4dfcd21

Browse files
committed
feat: enhance development workflow and fix documentation generation
1 parent 2bb01e5 commit 4dfcd21

4 files changed

Lines changed: 174 additions & 8 deletions

File tree

package-lock.json

Lines changed: 58 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 39 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,14 +8,49 @@
88
],
99
"scripts": {
1010
"build": "lerna run build",
11+
"build:web": "npm --prefix packages/core/web run build",
12+
"build:android": "cd packages/core/android && ./gradlew build",
13+
"build:flutter": "cd packages/core/flutter && flutter packages get",
1114
"test:web": "lerna run test --scope=@kompkit/core",
1215
"test:android": "cd packages/core/android && ./gradlew test",
1316
"test:flutter": "cd packages/core/flutter && flutter test",
1417
"test": "npm run test:web && npm run test:android && npm run test:flutter",
18+
"test:watch": "npm --prefix packages/core/web run test -- --watch",
19+
"lint:web": "npm --prefix packages/core/web run lint",
20+
"lint:android": "cd packages/core/android && ./gradlew ktlintCheck",
21+
"lint:flutter": "cd packages/core/flutter && dart analyze",
22+
"lint": "npm run lint:web && npm run lint:android && npm run lint:flutter",
23+
"format:web": "npm --prefix packages/core/web run format",
24+
"format:android": "cd packages/core/android && ./gradlew ktlintFormat",
25+
"format:flutter": "cd packages/core/flutter && dart format .",
26+
"format": "npm run format:web && npm run format:android && npm run format:flutter",
27+
"clean:web": "npm --prefix packages/core/web run clean",
28+
"clean:android": "cd packages/core/android && ./gradlew clean",
29+
"clean:flutter": "cd packages/core/flutter && flutter clean",
30+
"clean": "npm run clean:web && npm run clean:android && npm run clean:flutter",
31+
"clean:docs": "rm -rf docs/api/web/* docs/api/android/* docs/api/flutter/*",
32+
"clean:all": "npm run clean && npm run clean:docs",
1533
"docs:web": "npm --prefix packages/core/web run docs",
1634
"docs:android": "cd packages/core/android && ./gradlew copyDokkaToDocs",
1735
"docs:flutter": "cd packages/core/flutter && dart doc --output ../../../docs/api/flutter",
18-
"docs:all": "npm run docs:web && npm run docs:android && npm run docs:flutter"
36+
"docs:all": "npm run docs:web && npm run docs:android && npm run docs:flutter",
37+
"docs:clean": "npm run clean:docs && npm run docs:all",
38+
"serve:web": "cd docs/api/web && python3 -m http.server 3000",
39+
"serve:android": "cd docs/api/android && python3 -m http.server 3001",
40+
"serve:flutter": "cd docs/api/flutter && python3 -m http.server 3002",
41+
"serve:all": "concurrently \"npm run serve:web\" \"npm run serve:android\" \"npm run serve:flutter\"",
42+
"dev:web": "npm --prefix packages/core/web run dev",
43+
"dev:docs": "npm run docs:all && npm run serve:all",
44+
"check": "npm run lint && npm run test",
45+
"check:web": "npm run lint:web && npm run test:web",
46+
"check:android": "npm run lint:android && npm run test:android",
47+
"check:flutter": "npm run lint:flutter && npm run test:flutter",
48+
"install:all": "npm install && cd packages/core/flutter && flutter packages get",
49+
"version:check": "node --version && npm --version && flutter --version && ./packages/core/android/gradlew --version",
50+
"deps:update": "npm update && cd packages/core/flutter && flutter packages upgrade",
51+
"release:prepare": "npm run clean:all && npm run install:all && npm run check && npm run build && npm run docs:all",
52+
"ci": "npm run install:all && npm run check && npm run build",
53+
"help": "node scripts/help.js"
1954
},
2055
"keywords": [
2156
"utilities",
@@ -30,10 +65,11 @@
3065
"author": "",
3166
"license": "MIT",
3267
"devDependencies": {
68+
"concurrently": "^9.2.1",
3369
"lerna": "^8.0.0",
3470
"tsup": "^8.0.0",
35-
"typescript": "^5.6.0",
3671
"typedoc": "^0.28.14",
72+
"typescript": "^5.6.0",
3773
"vitest": "^1.6.0"
3874
}
39-
}
75+
}

packages/core/android/build.gradle.kts

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,8 +34,11 @@ tasks.test {
3434

3535
tasks.register<Copy>("copyDokkaToDocs") {
3636
dependsOn(tasks.named("dokkaHtml"))
37-
from(layout.buildDirectory.dir("dokka/html"))
38-
into(layout.projectDirectory.dir("../../docs/api/android"))
37+
from(layout.buildDirectory.dir("dokka/html")) {
38+
include("**/*")
39+
}
40+
into(layout.projectDirectory.dir("../../../docs/api/android"))
41+
duplicatesStrategy = DuplicatesStrategy.INCLUDE
3942
}
4043

4144
// ktlint configuration

scripts/help.js

Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
#!/usr/bin/env node
2+
3+
console.log(`
4+
🚀 KompKit Development Scripts
5+
6+
📦 BUILD COMMANDS:
7+
npm run build - Build all platforms
8+
npm run build:web - Build Web (TypeScript)
9+
npm run build:android - Build Android (Kotlin)
10+
npm run build:flutter - Build Flutter (Dart)
11+
12+
🧪 TEST COMMANDS:
13+
npm run test - Run all tests
14+
npm run test:web - Test Web platform
15+
npm run test:android - Test Android platform
16+
npm run test:flutter - Test Flutter platform
17+
npm run test:watch - Watch mode for Web tests
18+
19+
🔍 LINT & FORMAT:
20+
npm run lint - Lint all platforms
21+
npm run lint:web - Lint Web code
22+
npm run lint:android - Lint Android code (ktlint)
23+
npm run lint:flutter - Lint Flutter code (dart analyze)
24+
npm run format - Format all platforms
25+
npm run format:web - Format Web code
26+
npm run format:android - Format Android code (ktlint)
27+
npm run format:flutter - Format Flutter code
28+
29+
🧹 CLEAN COMMANDS:
30+
npm run clean - Clean all build artifacts
31+
npm run clean:web - Clean Web build
32+
npm run clean:android - Clean Android build
33+
npm run clean:flutter - Clean Flutter build
34+
npm run clean:docs - Clean generated docs
35+
npm run clean:all - Clean everything
36+
37+
📚 DOCUMENTATION:
38+
npm run docs:all - Generate all documentation
39+
npm run docs:web - Generate Web docs
40+
npm run docs:android - Generate Android docs
41+
npm run docs:flutter - Generate Flutter docs
42+
npm run docs:clean - Clean & regenerate docs
43+
44+
🌐 SERVE DOCUMENTATION:
45+
npm run serve:web - Serve Web docs (port 3000)
46+
npm run serve:android - Serve Android docs (port 3001)
47+
npm run serve:flutter - Serve Flutter docs (port 3002)
48+
npm run serve:all - Serve all docs simultaneously
49+
50+
🛠️ DEVELOPMENT:
51+
npm run dev:web - Web development mode
52+
npm run dev:docs - Generate & serve all docs
53+
54+
✅ QUALITY CHECKS:
55+
npm run check - Run lint + test for all
56+
npm run check:web - Check Web platform
57+
npm run check:android - Check Android platform
58+
npm run check:flutter - Check Flutter platform
59+
60+
🔧 MAINTENANCE:
61+
npm run install:all - Install all dependencies
62+
npm run version:check - Check tool versions
63+
npm run deps:update - Update dependencies
64+
npm run release:prepare - Prepare for release
65+
npm run ci - CI pipeline (install + check + build)
66+
67+
💡 EXAMPLES:
68+
npm run check # Quick quality check
69+
npm run dev:docs # Work on documentation
70+
npm run release:prepare # Before releasing
71+
npm run serve:all # View all docs at once
72+
`);

0 commit comments

Comments
 (0)