Skip to content

Commit cbf30ec

Browse files
chore: define feature set
Co-authored-by: MasterMarcoHD <MasterMarcoHD@users.noreply.github.com>
0 parents  commit cbf30ec

35 files changed

Lines changed: 1714 additions & 0 deletions

.fvmrc

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

.github/workflows/linting.yaml

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
name: Linting
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
pull_request:
8+
branches:
9+
- main
10+
11+
jobs:
12+
lint:
13+
name: Lint Check
14+
runs-on: ubuntu-latest
15+
16+
steps:
17+
- name: 📚 Checkout code
18+
uses: actions/checkout@v3
19+
20+
- name: 🐦 Set up Dart
21+
uses: dart-lang/setup-dart@v1
22+
with:
23+
sdk: stable
24+
25+
- name: 📦 Install dependencies
26+
run: dart pub get
27+
28+
- name: 🔍 Dart Analyze
29+
uses: ValentinVignal/action-dart-analyze@v0.17
30+
with:
31+
fail-on: format

.github/workflows/tests.yaml

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
name: Unit Tests
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
pull_request:
8+
branches:
9+
- main
10+
11+
jobs:
12+
test:
13+
name: Unit Testing
14+
runs-on: ubuntu-latest
15+
16+
steps:
17+
- name: 📚 Checkout code
18+
uses: actions/checkout@v3
19+
20+
- name: 🐦 Set up Dart
21+
uses: dart-lang/setup-dart@v1
22+
with:
23+
sdk: stable
24+
25+
- name: 📦 Install dependencies
26+
run: dart pub get
27+
28+
- name: 🧪 Run Tests
29+
run: dart test -r json > test-results.json
30+
continue-on-error: true
31+
32+
- name: 📊 Upload Test Results
33+
uses: actions/upload-artifact@v4.6.2
34+
with:
35+
name: test-results
36+
path: test-results.json
37+
38+
- name: 📝 Check Test Results
39+
run: |
40+
if grep -q '"result":"failure"' test-results.json; then
41+
echo "❌ Tests failed"
42+
exit 1
43+
fi
44+
echo "✅ All tests passed"

.gitignore

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
# https://dart.dev/guides/libraries/private-files
2+
# Created by `dart pub`
3+
.dart_tool/
4+
5+
# Avoid committing pubspec.lock for library packages; see
6+
# https://dart.dev/guides/libraries/private-files#pubspeclock.
7+
pubspec.lock
8+
9+
# FVM Version Cache
10+
.fvm/
11+
12+
grumpy_lints.log

.vscode/settings.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
{
2+
"dart.flutterSdkPath": ".fvm/versions/stable"
3+
}

CHANGELOG.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
## 1.0.0
2+
3+
- Initial version.

README.md

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
# Grumpy IO
2+
3+
Full IO mapping for Grumpy applications, providing a unified API for file system access, networking, and local storage across all platforms.
4+
5+
## Modules
6+
7+
- [ ] File System Module
8+
- [ ] File System CRUD operations
9+
- [ ] File Picker
10+
- [ ] Filesystem Watcher
11+
- [ ] File Metadata Extraction
12+
- [ ] Networking Module
13+
- [x] Network Requests
14+
- [ ] Typed Response parsing via datasources
15+
- [ ] WebSocket Support
16+
- [ ] Network Connectivity Monitoring
17+
- [ ] Data Streaming
18+
- [ ] Downloading, with progress tracking
19+
- [ ] Uploading, with progress tracking
20+
- [ ] Local Storage
21+
- [ ] App Directories
22+
- [ ] Temporary Directory/temp files
23+
- [ ] Persistent Directory
24+
- [ ] Cache Directory
25+
- [ ] Cookies
26+
- [ ] Process management (desktop only, noop for web and mobile)
27+
- [ ] Spawn processes
28+
- [ ] Inter-process communication (IPC)
29+
- [ ] Process monitoring and control
30+
- [ ] Force single app instance
31+
- [ ] Run shell commands
32+
- [ ] Command line argument parsing (via config)
33+
- [ ] System information
34+
- [ ] OS details
35+
- [ ] Hardware specifications
36+
- [ ] Environment variables

analysis_options.yaml

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
# This file configures the static analysis results for your project (errors,
2+
# warnings, and lints).
3+
#
4+
# This enables the 'recommended' set of lints from `package:lints`.
5+
# This set helps identify many issues that may lead to problems when running
6+
# or consuming Dart code, and enforces writing Dart using a single, idiomatic
7+
# style and format.
8+
#
9+
# If you want a smaller set of lints you can change this to specify
10+
# 'package:lints/core.yaml'. These are just the most critical lints
11+
# (the recommended set includes the core lints).
12+
# The core lints are also what is used by pub.dev for scoring packages.
13+
14+
include: package:lints/recommended.yaml
15+
16+
plugins:
17+
grumpy_lints:
18+
path: ../grumpy_lints
19+
diagnostics:
20+
leaf_preview_must_not_use_injectables_or_navigation: true
21+
must_call_in_constructor: true
22+
abstract_classes_should_set_log_group: true
23+
concrete_classes_should_set_log_tag: true
24+
base_class: true
25+
domain_factory_from_di: true
26+
prefer_domain_di_factory: true
27+
lifecycle_mixin_requires_singleton: true
28+
29+
analyzer:
30+
exclude:
31+
- "**/*.g.dart"
32+
- "**/*.freezed.dart"
33+
34+
linter:
35+
rules:
36+
public_member_api_docs: true
37+
package_prefixed_library_names: true
38+
library_private_types_in_public_api: true
39+
package_names: true
40+
lines_longer_than_80_chars: false
41+
sort_pub_dependencies: true
42+
join_return_with_assignment: true
43+
prefer_for_elements_to_map_fromIterable: true
44+
null_check_on_nullable_type_parameter: true
45+
enable_null_safety: true
46+
avoid_print: true
47+
prefer_final_locals: true
48+
prefer_const_constructors: true
49+
document_ignores: true
50+
prefer_single_quotes: true

example/grumpy_io_example.dart

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+

lib/grumpy_io.dart

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
export 'src/file_system_module/file_system_module.dart';
2+
export 'src/networking_module/networking_module.dart';

0 commit comments

Comments
 (0)