minotor 7.0.2 → 8.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.cspell.json +11 -1
- package/CHANGELOG.md +8 -3
- package/README.md +26 -24
- package/dist/cli.mjs +1243 -267
- package/dist/cli.mjs.map +1 -1
- package/dist/gtfs/transfers.d.ts +13 -4
- package/dist/gtfs/trips.d.ts +12 -7
- package/dist/parser.cjs.js +494 -71
- package/dist/parser.cjs.js.map +1 -1
- package/dist/parser.esm.js +494 -71
- package/dist/parser.esm.js.map +1 -1
- package/dist/router.cjs.js +1 -1
- package/dist/router.cjs.js.map +1 -1
- package/dist/router.d.ts +2 -2
- package/dist/router.esm.js +1 -1
- package/dist/router.esm.js.map +1 -1
- package/dist/router.umd.js +1 -1
- package/dist/router.umd.js.map +1 -1
- package/dist/routing/__tests__/plotter.test.d.ts +1 -0
- package/dist/routing/plotter.d.ts +42 -3
- package/dist/routing/result.d.ts +23 -7
- package/dist/routing/route.d.ts +2 -0
- package/dist/routing/router.d.ts +78 -19
- package/dist/timetable/__tests__/tripId.test.d.ts +1 -0
- package/dist/timetable/io.d.ts +4 -2
- package/dist/timetable/proto/timetable.d.ts +13 -1
- package/dist/timetable/route.d.ts +41 -8
- package/dist/timetable/timetable.d.ts +18 -3
- package/dist/timetable/tripId.d.ts +15 -0
- package/package.json +1 -1
- package/src/__e2e__/router.test.ts +114 -105
- package/src/__e2e__/timetable/stops.bin +2 -2
- package/src/__e2e__/timetable/timetable.bin +2 -2
- package/src/cli/repl.ts +259 -1
- package/src/gtfs/__tests__/transfers.test.ts +468 -12
- package/src/gtfs/__tests__/trips.test.ts +350 -28
- package/src/gtfs/parser.ts +16 -4
- package/src/gtfs/transfers.ts +61 -18
- package/src/gtfs/trips.ts +97 -22
- package/src/router.ts +2 -2
- package/src/routing/__tests__/plotter.test.ts +230 -0
- package/src/routing/__tests__/result.test.ts +486 -125
- package/src/routing/__tests__/route.test.ts +7 -3
- package/src/routing/__tests__/router.test.ts +378 -172
- package/src/routing/plotter.ts +279 -48
- package/src/routing/result.ts +114 -34
- package/src/routing/route.ts +0 -3
- package/src/routing/router.ts +332 -211
- package/src/timetable/__tests__/io.test.ts +33 -1
- package/src/timetable/__tests__/route.test.ts +10 -3
- package/src/timetable/__tests__/timetable.test.ts +225 -57
- package/src/timetable/__tests__/tripId.test.ts +27 -0
- package/src/timetable/io.ts +71 -10
- package/src/timetable/proto/timetable.proto +14 -2
- package/src/timetable/proto/timetable.ts +218 -20
- package/src/timetable/route.ts +152 -19
- package/src/timetable/timetable.ts +45 -6
- package/src/timetable/tripId.ts +29 -0
package/.cspell.json
CHANGED
|
@@ -41,7 +41,17 @@
|
|
|
41
41
|
"Moritz",
|
|
42
42
|
"Haut",
|
|
43
43
|
"Rhin",
|
|
44
|
-
"Olten"
|
|
44
|
+
"Olten",
|
|
45
|
+
"graphviz",
|
|
46
|
+
"rankdir",
|
|
47
|
+
"bgcolor",
|
|
48
|
+
"nodesep",
|
|
49
|
+
"ranksep",
|
|
50
|
+
"fontname",
|
|
51
|
+
"dropoff",
|
|
52
|
+
"boardable",
|
|
53
|
+
"alightable",
|
|
54
|
+
"penwidth"
|
|
45
55
|
],
|
|
46
56
|
"flagWords": [],
|
|
47
57
|
"ignorePaths": [
|
package/CHANGELOG.md
CHANGED
|
@@ -1,6 +1,11 @@
|
|
|
1
|
-
|
|
1
|
+
# [8.0.0](https://github.com/aubryio/minotor/compare/v7.0.2...v8.0.0) (2025-11-15)
|
|
2
2
|
|
|
3
3
|
|
|
4
|
-
###
|
|
4
|
+
### Features
|
|
5
5
|
|
|
6
|
-
*
|
|
6
|
+
* support for trip-to-trip in-seat transfers ([#30](https://github.com/aubryio/minotor/issues/30)) ([dc61870](https://github.com/aubryio/minotor/commit/dc6187084c02c0e7211793c146e0dc47c1ace23e))
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### BREAKING CHANGES
|
|
10
|
+
|
|
11
|
+
* Timetable binary format was updated and is not compatible with the previous one.
|
package/README.md
CHANGED
|
@@ -134,19 +134,34 @@ Make sure you have a working [node](https://nodejs.org) environment.
|
|
|
134
134
|
|
|
135
135
|
`protoc` also needs to be available on the build system.
|
|
136
136
|
|
|
137
|
-
Ubuntu: `
|
|
138
|
-
Fedora: `
|
|
137
|
+
Ubuntu: `apt install -y protobuf-compiler` |
|
|
138
|
+
Fedora: `dnf install -y protobuf-compiler` |
|
|
139
139
|
MacOS: `brew install protobuf`
|
|
140
140
|
|
|
141
141
|
### Debugging
|
|
142
142
|
|
|
143
|
-
|
|
143
|
+
Using the npm script `repl`, or `minotor repl` if the project is installed globally, it is possible to inspect the internals
|
|
144
|
+
of the router.
|
|
144
145
|
|
|
145
|
-
|
|
146
|
+
#### Inspect a stop
|
|
147
|
+
|
|
148
|
+
`minotor> .inspect stop <id|sourceId|name>`
|
|
149
|
+
|
|
150
|
+
#### Inspect a route
|
|
151
|
+
|
|
152
|
+
`minotor> .inspect route <id>`
|
|
153
|
+
|
|
154
|
+
#### Plot the routing graph
|
|
155
|
+
|
|
156
|
+
Make sure you have `graphviz` installed.
|
|
157
|
+
|
|
158
|
+
Ubuntu: `apt install -y graphviz` |
|
|
159
|
+
Fedora: `dnf install -y graphviz` |
|
|
160
|
+
MacOS: `brew install graphviz`
|
|
146
161
|
|
|
147
162
|
`minotor> .plot from <stationId> to <stationId> at <HH:mm> [with <N> transfers] [to <graph.dot>]`
|
|
148
163
|
|
|
149
|
-
`dot -Ksfdp -Tsvg graph.dot -o graph.svg
|
|
164
|
+
`dot -Ksfdp -Tsvg graph.dot -o graph.svg`
|
|
150
165
|
|
|
151
166
|
### Build
|
|
152
167
|
|
|
@@ -161,6 +176,9 @@ Using the npm script `repl`, or `minotor repl` if the project is installed globa
|
|
|
161
176
|
### End-to-End Tests
|
|
162
177
|
|
|
163
178
|
- `e2e`: runs end-to-end tests, using a real data from a day in the Swiss GTFS dataset
|
|
179
|
+
|
|
180
|
+
### Performance Tests
|
|
181
|
+
|
|
164
182
|
- `perf`: runs a basic performance test, using a real data from a day in the Swiss GTFS dataset
|
|
165
183
|
|
|
166
184
|
Note that performance tests are not included in the CI pipeline and must be run manually.
|
|
@@ -177,22 +195,6 @@ Note that performance tests are not included in the CI pipeline and must be run
|
|
|
177
195
|
|
|
178
196
|
Releases are automatically published to npm when merging to the `main` or `beta` (pre-release) branch.
|
|
179
197
|
|
|
180
|
-
## Roadmap
|
|
181
|
-
|
|
182
|
-
The project is under active development
|
|
183
|
-
Contact [the author](https://aubry.io/) for feature requests.
|
|
184
|
-
|
|
185
|
-
- Route/Trip-based transfer support
|
|
186
|
-
- Favor shorter trips with less transfers in case of tie
|
|
187
|
-
- Arrive-by support
|
|
188
|
-
- Range queries
|
|
189
|
-
- Transfer preferences
|
|
190
|
-
- Route/Trip metadata support
|
|
191
|
-
- Routing filters based on metadata e.g. bicycle support, wheelchair access
|
|
192
|
-
- More routing options (slower/faster transfers, etc.)
|
|
193
|
-
- Improved stop search (sort by stop importance)
|
|
194
|
-
- Real-time timetable support (tripId/routeId mapping)
|
|
195
|
-
- Support for exporting a calendar range as opposed to a single day
|
|
196
|
-
- Support for GTFS `frequencies.txt`
|
|
197
|
-
- Load multiple GTFS archives at once
|
|
198
|
-
- NeTEx support
|
|
198
|
+
## Roadmap and requests
|
|
199
|
+
|
|
200
|
+
The project is under active development, use github issues for reporting bugs and requesting features (make sure to not create duplicates and follow the templates). For custom development, consulting, integrations, or other special requests, feel free to contact [the author](https://aubry.io/).
|