forked from flame-engine/flame
-
Notifications
You must be signed in to change notification settings - Fork 0
/
melos.yaml
113 lines (94 loc) · 3.31 KB
/
melos.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
name: Flame
repository: https://github.com/flame-engine/flame
packages:
- packages/**
- examples/
- examples/games/**
- doc/**
command:
version:
# Only allow versioning to happen on main branch.
branch: main
# Generates a link to a prefilled GitHub release creation page.
releaseUrl: true
bootstrap:
environment:
sdk: ">=3.0.0 <4.0.0"
dependencies:
meta: ^1.9.1
vector_math: ^2.1.4
dev_dependencies:
dartdoc: ^6.3.0
mocktail: ^1.0.1
test: any
scripts:
lint:all:
run: melos run analyze && melos run format
description: Run all static analysis checks.
analyze:
run: |
melos exec -c 1 -- \
flutter analyze --fatal-infos
description: Run `flutter analyze` for all packages.
format:
run: melos exec dart format . --fix
description: Run `dart format` for all packages.
format-check:
run: melos exec dart format . --set-exit-if-changed
description: Run `dart format` checks for all packages.
markdown-check:
run: markdownlint . --ignore-path .markdownlintignore --config .markdownlint.yaml
description: Runs the markdown linting check.
markdown-fix:
run: markdownlint . --fix --ignore-path .markdownlintignore --config .markdownlint.yaml
description: Fixes the markdown linting errors.
dartdoc:
run: melos exec flutter pub run dartdoc
description: Run dartdoc checks for all packages.
doc-setup:
run: >
echo Checking python version: &&
python --version &&
(python -c "import sys; sys.exit(0 if sys.version_info >= (3,8) else 2)" ||
(echo Error: Python 3.8+ is required && exit 1)) &&
echo Installing required python modules: &&
python -m pip install -r "$MELOS_ROOT_PATH/doc/_sphinx/requirements.txt" &&
echo Installing dartdoc_json: &&
dart pub global activate dartdoc_json &&
echo Done.
description: Prepares the environment for documentation development.
doc-build:
run: cd "$MELOS_ROOT_PATH/doc/_sphinx" && make html
description: Create the sphinx html docs.
doc-serve:
run: cd "$MELOS_ROOT_PATH/doc/_sphinx" && make livehtml
description: Recompiles the docs every time there is a change in them and opens your browser.
doc-kill:
run: cd "$MELOS_ROOT_PATH/doc/_sphinx" && python kill-server.py
description: Kills any TCP processes running on port 8000.
doc-clean:
run: cd "$MELOS_ROOT_PATH/doc/_sphinx" && make clean
description: Removes all Sphinx's cached generated files.
doc-linkcheck:
run: cd "$MELOS_ROOT_PATH/doc/_sphinx" && make linkcheck
description: Checks whether there are any broken links in the docs.
test:select:
run: melos exec -c 1 -- flutter test
packageFilters:
dirExists: test
description: Run `flutter test` for selected packages.
test:
run: melos run test:select --no-select
description: Run all Flutter tests in this project.
coverage:
run: |
melos exec -- flutter test --coverage &&
melos exec -- genhtml coverage/lcov.info --output-directory=coverage/
packageFilters:
dirExists: test
description: Generate coverage for the selected package.
update-goldens:
run: melos exec -- flutter test --update-goldens
packageFilters:
dirExists: test
description: Re-generate all golden test files