-
-
Notifications
You must be signed in to change notification settings - Fork 910
/
melos.yaml
116 lines (94 loc) · 3.25 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
114
115
116
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.4.0 <4.0.0"
flutter: ">=3.22.0"
dependencies:
meta: ^1.12.0
vector_math: ^2.1.4
dev_dependencies:
dartdoc: ^8.0.8
mocktail: ^1.0.3
test: any
publish:
hooks:
pre: melos devtools-build
scripts:
lint:all:
steps:
- analyze
- format
description: Run all static analysis checks.
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: ./scripts/doc-setup.sh
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" && python3 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:
steps:
- melos exec -- flutter test --coverage
- melos exec -- genhtml coverage/lcov.info --output-directory=coverage/
packageFilters:
dirExists: test
description: Generate coverage for the selected package.
upgrade: melos exec flutter pub upgrade
update-goldens:
run: melos exec -- flutter test --update-goldens
packageFilters:
dirExists: test
description: Re-generate all golden test files
devtools-build:
run: melos exec -- dart run devtools_extensions build_and_copy --source=. --dest=../flame/extension/devtools
packageFilters:
scope: flame_devtools
description: Builds the devtools and copies the build directory to the Flame package.
devtools-simulator:
run: melos exec -- flutter run -d chrome --dart-define=use_simulated_environment=true
packageFilters:
scope: flame_devtools
description: Runs the devtools in the simulated mode.