universal-parcel-scraper 0.2.1-main.296 → 0.3.0-main.302
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/README.md +56 -21
- package/data/carrier.schema.json +5 -3
- package/data/catalog.json +6 -6
- package/dist/app.d.ts +11 -0
- package/dist/app.js +11 -0
- package/dist/browser/scraper.js +1386 -1568
- package/dist/carriers/aliexpress/adapter.d.ts +5 -3
- package/dist/carriers/aliexpress/adapter.js +28 -8
- package/dist/carriers/amazon-shipping/adapter.d.ts +3 -2
- package/dist/carriers/amazon-shipping/adapter.js +15 -10
- package/dist/carriers/amazon-shipping/eligibility.d.ts +2 -1
- package/dist/carriers/amazon-shipping/eligibility.js +2 -2
- package/dist/carriers/aramex/adapter.d.ts +2 -0
- package/dist/carriers/aramex/adapter.js +5 -3
- package/dist/carriers/aramex/parser.js +2 -2
- package/dist/carriers/asendia/adapter.d.ts +8 -0
- package/dist/carriers/asendia/adapter.js +66 -11
- package/dist/carriers/asendia/probe.d.ts +2 -0
- package/dist/carriers/asendia/probe.js +9 -7
- package/dist/carriers/australia-post/adapter.js +2 -2
- package/dist/carriers/austrian-post/adapter.js +2 -2
- package/dist/carriers/blue-dart/parser.js +2 -2
- package/dist/carriers/bpost/parser.js +2 -2
- package/dist/carriers/bring-posten/parser.js +2 -2
- package/dist/carriers/brt/parser.js +2 -2
- package/dist/carriers/c-chez-vous/adapter.d.ts +3 -2
- package/dist/carriers/c-chez-vous/adapter.js +15 -10
- package/dist/carriers/canada-post/adapter.d.ts +1 -0
- package/dist/carriers/canada-post/adapter.js +5 -3
- package/dist/carriers/canada-post/parser.js +2 -2
- package/dist/carriers/canpar/parser.js +2 -2
- package/dist/carriers/ciblex/parser.js +2 -2
- package/dist/carriers/colis-prive/adapter.d.ts +3 -2
- package/dist/carriers/colis-prive/adapter.js +14 -10
- package/dist/carriers/colisweb/adapter.d.ts +3 -2
- package/dist/carriers/colisweb/adapter.js +13 -8
- package/dist/carriers/correios-br/parser.js +2 -2
- package/dist/carriers/correos-chile/parser.js +3 -3
- package/dist/carriers/correos-express/parser.js +2 -2
- package/dist/carriers/correos-spain/adapter.d.ts +4 -2
- package/dist/carriers/correos-spain/adapter.js +16 -8
- package/dist/carriers/ctt/adapter.d.ts +2 -2
- package/dist/carriers/ctt/adapter.js +30 -25
- package/dist/carriers/ctt-express/parser.js +2 -2
- package/dist/carriers/dachser/adapter.d.ts +3 -2
- package/dist/carriers/dachser/adapter.js +28 -12
- package/dist/carriers/delhivery/parser.js +2 -2
- package/dist/carriers/dhl/adapter.d.ts +2 -2
- package/dist/carriers/dhl/adapter.js +50 -22
- package/dist/carriers/dhl-ecommerce/adapter.d.ts +3 -3
- package/dist/carriers/dhl-ecommerce/adapter.js +9 -9
- package/dist/carriers/dpd/adapter.d.ts +3 -3
- package/dist/carriers/dpd/adapter.js +111 -57
- package/dist/carriers/dpd/carrier.json +1 -1
- package/dist/carriers/dpd-fr/adapter.d.ts +2 -2
- package/dist/carriers/dpd-fr/adapter.js +29 -20
- package/dist/carriers/dtdc/parser.js +2 -2
- package/dist/carriers/ecoscooting/parser.js +2 -2
- package/dist/carriers/ems/adapter.js +2 -2
- package/dist/carriers/estafeta/parser.js +2 -2
- package/dist/carriers/evri/adapter.js +2 -2
- package/dist/carriers/fedex/adapter.d.ts +2 -2
- package/dist/carriers/fedex/adapter.js +15 -11
- package/dist/carriers/four-px/adapter.js +2 -2
- package/dist/carriers/geodis/adapter.d.ts +3 -2
- package/dist/carriers/geodis/adapter.js +13 -8
- package/dist/carriers/gls-ch/adapter.d.ts +4 -3
- package/dist/carriers/gls-ch/adapter.js +27 -19
- package/dist/carriers/gls-ch/carrier.json +1 -1
- package/dist/carriers/gls-de/adapter.d.ts +3 -3
- package/dist/carriers/gls-de/adapter.js +14 -9
- package/dist/carriers/gls-de/carrier.json +1 -1
- package/dist/carriers/gls-fr/adapter.d.ts +3 -2
- package/dist/carriers/gls-fr/adapter.js +16 -11
- package/dist/carriers/gofo/parser.js +2 -2
- package/dist/carriers/heppner/adapter.d.ts +4 -2
- package/dist/carriers/heppner/adapter.js +19 -14
- package/dist/carriers/heppner/carrier.json +1 -1
- package/dist/carriers/hermes/adapter.d.ts +3 -2
- package/dist/carriers/hermes/adapter.js +13 -8
- package/dist/carriers/hermes-de/adapter.d.ts +3 -2
- package/dist/carriers/hermes-de/adapter.js +16 -12
- package/dist/carriers/india-post/adapter.d.ts +2 -2
- package/dist/carriers/india-post/adapter.js +42 -21
- package/dist/carriers/inpost/adapter.d.ts +4 -2
- package/dist/carriers/inpost/adapter.js +17 -10
- package/dist/carriers/japan-post/adapter.js +2 -2
- package/dist/carriers/korea-post/adapter.js +2 -2
- package/dist/carriers/la-poste/adapter.d.ts +4 -2
- package/dist/carriers/la-poste/adapter.js +18 -13
- package/dist/carriers/landmark-global/parser.js +2 -2
- package/dist/carriers/mondial-relay/adapter.d.ts +2 -2
- package/dist/carriers/mondial-relay/adapter.js +27 -18
- package/dist/carriers/mondial-relay/carrier.json +1 -1
- package/dist/carriers/mrw/parser.js +3 -3
- package/dist/carriers/nacex/parser.js +2 -2
- package/dist/carriers/ninja-van/parser.js +2 -2
- package/dist/carriers/nz-post/parser.js +2 -2
- package/dist/carriers/ontrac/parser.js +2 -2
- package/dist/carriers/paack/adapter.d.ts +4 -2
- package/dist/carriers/paack/adapter.js +24 -14
- package/dist/carriers/paack/carrier.json +1 -1
- package/dist/carriers/packeta/adapter.d.ts +4 -2
- package/dist/carriers/packeta/adapter.js +16 -8
- package/dist/carriers/planzer/adapter.d.ts +5 -3
- package/dist/carriers/planzer/adapter.js +35 -12
- package/dist/carriers/planzer/shared.d.ts +4 -1
- package/dist/carriers/planzer/shared.js +20 -6
- package/dist/carriers/poczta-polska/parser.js +2 -2
- package/dist/carriers/pos-malaysia/adapter.d.ts +2 -0
- package/dist/carriers/pos-malaysia/adapter.js +9 -5
- package/dist/carriers/poste-italiane/adapter.d.ts +4 -2
- package/dist/carriers/poste-italiane/adapter.js +16 -8
- package/dist/carriers/posti/adapter.js +2 -2
- package/dist/carriers/postlogistics/adapter.d.ts +6 -4
- package/dist/carriers/postlogistics/adapter.js +49 -17
- package/dist/carriers/postlogistics/status.d.ts +2 -0
- package/dist/carriers/postlogistics/status.js +2 -0
- package/dist/carriers/postnord/parser.js +2 -2
- package/dist/carriers/purolator/parser.js +2 -2
- package/dist/carriers/relais-colis/adapter.js +2 -2
- package/dist/carriers/royal-mail/adapter.d.ts +2 -2
- package/dist/carriers/royal-mail/adapter.js +15 -11
- package/dist/carriers/seur/parser.js +2 -2
- package/dist/carriers/sf-express/parser.js +2 -2
- package/dist/carriers/singapore-post/adapter.js +2 -2
- package/dist/carriers/spring-gds/adapter.d.ts +2 -0
- package/dist/carriers/spring-gds/adapter.js +16 -15
- package/dist/carriers/sunyou/adapter.d.ts +5 -3
- package/dist/carriers/sunyou/adapter.js +16 -9
- package/dist/carriers/swiss-post/adapter.d.ts +4 -4
- package/dist/carriers/swiss-post/adapter.js +33 -15
- package/dist/carriers/swiss-post-cargo/adapter.d.ts +3 -2
- package/dist/carriers/swiss-post-cargo/adapter.js +14 -9
- package/dist/carriers/the-courier-guy/number.js +3 -2
- package/dist/carriers/tipsa/parser.js +3 -3
- package/dist/carriers/tnt/adapter.js +3 -3
- package/dist/carriers/ukrposhta/adapter.js +20 -62
- package/dist/carriers/ukrposhta/parser.js +2 -2
- package/dist/carriers/uniuni/parser.js +3 -3
- package/dist/carriers/ups/adapter.d.ts +2 -2
- package/dist/carriers/ups/adapter.js +40 -32
- package/dist/carriers/usps/adapter.d.ts +2 -2
- package/dist/carriers/usps/adapter.js +15 -11
- package/dist/carriers/yamato/adapter.js +2 -2
- package/dist/carriers/yanwen/adapter.js +2 -2
- package/dist/carriers/yto/parser.js +2 -2
- package/dist/carriers/yunda/parser.js +2 -2
- package/dist/carriers/yunexpress/adapter.js +21 -39
- package/dist/cli/index.js +18 -2
- package/dist/core/adapter/index.d.ts +18 -1
- package/dist/core/adapter/index.js +28 -4
- package/dist/core/adapter/track.js +21 -7
- package/dist/core/catalog/index.d.ts +1 -15
- package/dist/core/catalog/index.js +3 -106
- package/dist/core/catalog/inputs.d.ts +2 -2
- package/dist/core/catalog/inputs.js +4 -4
- package/dist/core/catalog/parcel.d.ts +53 -0
- package/dist/core/catalog/parcel.js +105 -0
- package/dist/core/catalog/types.d.ts +1 -29
- package/dist/core/errors/hint.d.ts +7 -0
- package/dist/core/errors/hint.js +11 -1
- package/dist/core/errors/index.d.ts +8 -1
- package/dist/core/errors/index.js +11 -0
- package/dist/core/runner/index.d.ts +23 -1
- package/dist/core/runner/index.js +71 -14
- package/dist/core/transport/boundedFetch.js +24 -19
- package/dist/core/transport/browser.d.ts +1 -0
- package/dist/core/transport/browser.js +76 -99
- package/dist/core/transport/index.d.ts +4 -1
- package/dist/core/transport/index.js +3 -1
- package/dist/core/transport/localBrowser.d.ts +24 -0
- package/dist/core/transport/localBrowser.js +87 -0
- package/dist/core/transport/trawl.d.ts +6 -0
- package/dist/core/transport/trawl.js +30 -9
- package/dist/core/transport/userAgent.d.ts +8 -0
- package/dist/core/transport/userAgent.js +15 -0
- package/dist/data/catalog.json +6 -6
- package/dist/facade/index.d.ts +3 -0
- package/dist/facade/index.js +17 -7
- package/dist/generated/catalog.d.ts +6 -6
- package/dist/generated/catalog.js +6 -6
- package/dist/index.d.ts +0 -4
- package/dist/index.js +0 -4
- package/dist/providers/parcelsapp/adapter.d.ts +1 -1
- package/dist/providers/parcelsapp/adapter.js +13 -10
- package/dist/providers/parcelsapp/http.d.ts +1 -1
- package/dist/providers/parcelsapp/http.js +2 -2
- package/dist/providers/postal-ninja/adapter.d.ts +2 -2
- package/dist/providers/postal-ninja/adapter.js +6 -6
- package/dist/providers/seventeentrack/adapter.d.ts +1 -1
- package/dist/providers/seventeentrack/adapter.js +7 -7
- package/dist/providers/shared/capture.d.ts +2 -0
- package/dist/providers/shared/capture.js +1 -1
- package/dist/providers/shared/result.js +4 -2
- package/dist/providers/ship24/adapter.d.ts +2 -2
- package/dist/providers/ship24/adapter.js +7 -7
- package/dist/providers/ship24/http.d.ts +1 -1
- package/dist/providers/ship24/http.js +4 -3
- package/dist/providers/universal.d.ts +3 -2
- package/dist/providers/universal.js +20 -2
- package/dist/providers/upu/adapter.js +2 -2
- package/dist/scripts/carrier-canary.js +2 -1
- package/dist/server/index.d.ts +15 -0
- package/dist/server/index.js +90 -12
- package/dist/server/openapi.json +399 -52
- package/package.json +5 -1
package/README.md
CHANGED
|
@@ -1,22 +1,26 @@
|
|
|
1
1
|
<div align="center">
|
|
2
2
|
|
|
3
|
-
<img src="docs/assets/
|
|
3
|
+
<img src="docs/assets/pip.svg" width="112" alt="Pip, a kraft parcel with a face">
|
|
4
4
|
|
|
5
5
|
# Universal Parcel Scraper
|
|
6
6
|
|
|
7
7
|
**Parcel tracking that asks the carrier directly, from your own machine.**
|
|
8
8
|
|
|
9
|
+
The engine behind [Peek](https://github.com/plhery/delivery-tracker), the open-source parcel tracker for iPhone and the web.
|
|
10
|
+
|
|
9
11
|
[](https://www.npmjs.com/package/universal-parcel-scraper)
|
|
10
12
|
[](https://github.com/plhery/universal-parcel-scraper/actions/workflows/ci.yml)
|
|
11
13
|
[](LICENSE)
|
|
12
14
|
|
|
13
15
|
<!-- GENERATED:summary -->
|
|
14
|
-
**
|
|
16
|
+
**3,500+ carriers** through **85 dedicated adapters** and **5 universal fallbacks**
|
|
17
|
+
|
|
18
|
+
<sub>105 carriers in the catalog · 58 countries represented</sub>
|
|
15
19
|
<!-- /GENERATED:summary -->
|
|
16
20
|
|
|
17
21
|
[Try it](#try-it) · [Ways to run it](#ways-to-run-it) · [Coverage](#how-much-can-it-track) · [Carriers](carriers/) · [Add a carrier](CONTRIBUTING.md)
|
|
18
22
|
|
|
19
|
-
<img src="docs/assets/
|
|
23
|
+
<img src="docs/assets/terminal.svg" width="840" alt="A terminal session: the detect command names UPS as the carrier of a tracking number, then the track command prints a parcel's scans with their stages">
|
|
20
24
|
|
|
21
25
|
</div>
|
|
22
26
|
|
|
@@ -24,10 +28,15 @@ Give it a tracking number. It works out which carrier the number belongs to and
|
|
|
24
28
|
history from that carrier's own website. What comes back has one shape, so a UPS parcel and
|
|
25
29
|
a Poczta Polska parcel look the same to your code.
|
|
26
30
|
|
|
27
|
-
There is no account to open and no API key.
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
+
There is no account to open and no API key. The carriers it knows best each have a dedicated
|
|
32
|
+
adapter in [their own folder](carriers/), with a README on how that site is read. For the
|
|
33
|
+
rest it can ask the universal trackers such as 17TRACK and Ship24, which is where the big
|
|
34
|
+
number above comes from. Those stay off until you switch them on, and each one you enable
|
|
35
|
+
sees the numbers you send it.
|
|
36
|
+
|
|
37
|
+
It started as the tracking engine inside [Peek](https://github.com/plhery/delivery-tracker)
|
|
38
|
+
and was pulled out so it can be used on its own. It runs as a command-line tool and as a Node
|
|
39
|
+
library, and it can serve the same lookups over HTTP.
|
|
31
40
|
|
|
32
41
|
## Try it
|
|
33
42
|
|
|
@@ -124,20 +133,22 @@ curl http://127.0.0.1:8080/v1/track \
|
|
|
124
133
|
memory and rate-limits callers. It has no database and never polls on its own.
|
|
125
134
|
|
|
126
135
|
Set `SCRAPER_TOKEN` to require a bearer token. `SCRAPER_DEMO_PAGE=true` serves a small page
|
|
127
|
-
at `/` for trying numbers by hand.
|
|
136
|
+
at `/` for trying numbers by hand. Behind a reverse proxy, set `SCRAPER_TRUSTED_PROXIES` so
|
|
137
|
+
the rate limit counts each caller and not the proxy. The other settings are in
|
|
138
|
+
[.env.example](.env.example).
|
|
128
139
|
|
|
129
140
|
### Docker
|
|
130
141
|
|
|
131
142
|
```sh
|
|
132
|
-
docker run --rm -p 127.0.0.1:8080:8080 ghcr.io/plhery/universal-parcel-scraper:0.
|
|
143
|
+
docker run --rm -p 127.0.0.1:8080:8080 ghcr.io/plhery/universal-parcel-scraper:0.3.0
|
|
133
144
|
```
|
|
134
145
|
|
|
135
146
|
The image runs `serve` and ships Chromium, for the carriers that only answer a real browser.
|
|
136
147
|
|
|
137
148
|
## What you can build with it
|
|
138
149
|
|
|
139
|
-
- **A tracking
|
|
140
|
-
an
|
|
150
|
+
- **A parcel-tracking app.** [Peek](https://github.com/plhery/delivery-tracker) is the
|
|
151
|
+
full-size example: an iPhone and web app built on this package.
|
|
141
152
|
- **A Home Assistant sensor** for the parcel you are waiting on.
|
|
142
153
|
[The config is in examples](examples/home-assistant.yaml).
|
|
143
154
|
- **Order status inside a shop or help desk**, so customers are not sent off to the carrier's
|
|
@@ -154,7 +165,7 @@ are yours to do.
|
|
|
154
165
|
|
|
155
166
|
<picture>
|
|
156
167
|
<source media="(prefers-color-scheme: dark)" srcset="docs/assets/how-it-works-dark.svg">
|
|
157
|
-
<img src="docs/assets/how-it-works-light.svg" width="840" alt="An input is detected offline and
|
|
168
|
+
<img src="docs/assets/how-it-works-light.svg" width="840" alt="An input is detected offline and fetched by the carrier's dedicated adapter, or by a fallback you enabled when that finds no history. Each scan's wording is filed under a stage, and the result is one timeline.">
|
|
158
169
|
</picture>
|
|
159
170
|
|
|
160
171
|
Each adapter uses plain HTTP wherever the carrier's site allows it. Some sites only answer a
|
|
@@ -168,6 +179,9 @@ npm install playwright-core sharp onnxruntime-web
|
|
|
168
179
|
Then pass `chromiumPath` or `trawlUrl` to `createTracker()`. The CLI and the server read
|
|
169
180
|
`TRACKING_CHROMIUM_PATH` and `FLARESOLVERR_URL`.
|
|
170
181
|
|
|
182
|
+
Where a carrier accepts a plain client, the adapter names itself with the package's default
|
|
183
|
+
User-Agent. Pass `userAgent`, or set `SCRAPER_USER_AGENT`, to send your own.
|
|
184
|
+
|
|
171
185
|
When the adapter finds no history, the lookup can move on to an aggregator. Only UPU is on
|
|
172
186
|
by default, for the postal numbers it can serve. The commercial ones are opt-in, and each
|
|
173
187
|
one you enable receives the tracking number:
|
|
@@ -176,14 +190,35 @@ one you enable receives the tracking number:
|
|
|
176
190
|
createTracker({ providers: ['ParcelsApp', 'Ship24', '17TRACK', 'Postal Ninja', 'UPU'] });
|
|
177
191
|
```
|
|
178
192
|
|
|
193
|
+
### One stage list
|
|
194
|
+
|
|
195
|
+
Carriers describe the same moment in their own words, or with a bare code. Each carrier
|
|
196
|
+
folder keeps a `statuses.json` with the codes and wordings seen from that carrier and the
|
|
197
|
+
stage each one means. Every entry also says how it was confirmed, by a live reply or the
|
|
198
|
+
carrier's own documentation for instance.
|
|
199
|
+
|
|
200
|
+
<!-- GENERATED:stages -->
|
|
201
|
+
<picture>
|
|
202
|
+
<source media="(prefers-color-scheme: dark)" srcset="docs/assets/stages-dark.svg">
|
|
203
|
+
<img src="docs/assets/stages-light.svg" alt="DHL: Die Sendung wurde in das Zustellfahrzeug geladen.; Mondial Relay: En cours de livraison; Correios Brazil: Objeto saiu para entrega ao destinatário; Correos Express: EN REPARTO; Yamato Transport: 配達中; La Poste / Colissimo: DISTOU. All are filed under out_for_delivery." width="760">
|
|
204
|
+
</picture>
|
|
205
|
+
|
|
206
|
+
The folders hold 1,671 recorded statuses from 88 carriers.
|
|
207
|
+
<!-- /GENERATED:stages -->
|
|
208
|
+
|
|
209
|
+
A scan nobody has recorded yet goes through a shared classifier that reads English, French,
|
|
210
|
+
German, Italian, Spanish, Portuguese and Polish. Each scan in the result carries a
|
|
211
|
+
`stage_source` saying which of the two decided.
|
|
212
|
+
|
|
179
213
|
[ARCHITECTURE.md](ARCHITECTURE.md) has the rest.
|
|
180
214
|
|
|
181
215
|
## How much can it track?
|
|
182
216
|
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
217
|
+
The number at the top of this page is reach: with the fallbacks on, a lookup can go to the
|
|
218
|
+
largest aggregator, and [reach.json](docs/reach.json) records how many carriers each one
|
|
219
|
+
says it follows. Whether a real parcel comes back with its history is a different question,
|
|
220
|
+
so each source was run on its own against the same **100-carrier reference set**. The top
|
|
221
|
+
bar counts a carrier when any source below it returned a history.
|
|
187
222
|
|
|
188
223
|
<!-- GENERATED:coverage -->
|
|
189
224
|
<picture>
|
|
@@ -220,15 +255,15 @@ or a promise about today, because parcels expire and carrier sites change.
|
|
|
220
255
|
| Account | None | Sign-up and an API key |
|
|
221
256
|
| Cost | Your own compute | A plan or a per-shipment price |
|
|
222
257
|
| Who sees the tracking number | The carrier, plus any fallback you enable | The vendor, then the carrier |
|
|
223
|
-
| Carriers |
|
|
258
|
+
| Carriers | Dedicated adapters for the [catalog](carriers/), fallbacks for the rest | One large catalog |
|
|
224
259
|
| Updates | You poll | Webhooks |
|
|
225
260
|
| When a carrier changes its site | The adapter breaks until it is fixed here | The vendor deals with it |
|
|
226
261
|
| Hosting | Yours | Theirs |
|
|
227
262
|
|
|
228
|
-
If you want
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
263
|
+
If you want webhooks and nothing to run, a hosted API is the better choice. This project is
|
|
264
|
+
for when the numbers should stay on your side, or when a price per parcel makes no sense for
|
|
265
|
+
what you are building. Vendor catalog totals are not comparable with the reference test
|
|
266
|
+
above.
|
|
232
267
|
|
|
233
268
|
## Privacy and limits
|
|
234
269
|
|
package/data/carrier.schema.json
CHANGED
|
@@ -273,9 +273,11 @@
|
|
|
273
273
|
],
|
|
274
274
|
"properties": {
|
|
275
275
|
"field": {
|
|
276
|
-
"description": "Input name
|
|
277
|
-
"
|
|
278
|
-
|
|
276
|
+
"description": "Input name. The generator checks that the validator is one this input accepts.",
|
|
277
|
+
"enum": [
|
|
278
|
+
"trackingUrl",
|
|
279
|
+
"postcode"
|
|
280
|
+
]
|
|
279
281
|
},
|
|
280
282
|
"validator": {
|
|
281
283
|
"type": "string",
|
package/data/catalog.json
CHANGED
|
@@ -713,7 +713,7 @@
|
|
|
713
713
|
"adapter": "gls-ch",
|
|
714
714
|
"requirements": [
|
|
715
715
|
{
|
|
716
|
-
"field": "
|
|
716
|
+
"field": "postcode",
|
|
717
717
|
"validator": "swissPostcode",
|
|
718
718
|
"label": "Delivery postcode",
|
|
719
719
|
"type": "text",
|
|
@@ -780,7 +780,7 @@
|
|
|
780
780
|
"adapter": "dpd",
|
|
781
781
|
"requirements": [
|
|
782
782
|
{
|
|
783
|
-
"field": "
|
|
783
|
+
"field": "postcode",
|
|
784
784
|
"validator": "swissPostcode",
|
|
785
785
|
"optional": true,
|
|
786
786
|
"label": "Delivery postcode",
|
|
@@ -879,7 +879,7 @@
|
|
|
879
879
|
"adapter": "mondial-relay",
|
|
880
880
|
"requirements": [
|
|
881
881
|
{
|
|
882
|
-
"field": "
|
|
882
|
+
"field": "postcode",
|
|
883
883
|
"whenTrackingNumber": "^(?![0-9]{26}$).*$",
|
|
884
884
|
"validator": "francePostcode",
|
|
885
885
|
"label": "Delivery postcode",
|
|
@@ -1268,7 +1268,7 @@
|
|
|
1268
1268
|
"adapter": "heppner",
|
|
1269
1269
|
"requirements": [
|
|
1270
1270
|
{
|
|
1271
|
-
"field": "
|
|
1271
|
+
"field": "postcode",
|
|
1272
1272
|
"validator": "swissOrFrancePostcode",
|
|
1273
1273
|
"label": "Delivery postcode",
|
|
1274
1274
|
"type": "text",
|
|
@@ -1350,7 +1350,7 @@
|
|
|
1350
1350
|
"adapter": "paack",
|
|
1351
1351
|
"requirements": [
|
|
1352
1352
|
{
|
|
1353
|
-
"field": "
|
|
1353
|
+
"field": "postcode",
|
|
1354
1354
|
"validator": "paackPostcode",
|
|
1355
1355
|
"label": "Delivery postcode",
|
|
1356
1356
|
"type": "text",
|
|
@@ -1545,7 +1545,7 @@
|
|
|
1545
1545
|
"adapter": "gls-de",
|
|
1546
1546
|
"requirements": [
|
|
1547
1547
|
{
|
|
1548
|
-
"field": "
|
|
1548
|
+
"field": "postcode",
|
|
1549
1549
|
"validator": "swissOrFrancePostcode",
|
|
1550
1550
|
"label": "Delivery postcode",
|
|
1551
1551
|
"type": "text",
|
package/dist/app.d.ts
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Helpers shaped for the parcel app this package was extracted from: its
|
|
3
|
+
* parcel view, carrier-name hints for provider results, and the clock helpers
|
|
4
|
+
* its sync uses. They change with that app and carry no stability promise;
|
|
5
|
+
* the tracking contract is the other entry points.
|
|
6
|
+
*/
|
|
7
|
+
export * from './core/catalog/parcel.js';
|
|
8
|
+
export * from './core/catalog/hints.js';
|
|
9
|
+
export * from './core/time/result.js';
|
|
10
|
+
export { universalCarrierHints } from './providers/shared/hints.js';
|
|
11
|
+
export { recognitionAskedCarriers } from './core/catalog/recognition.js';
|
package/dist/app.js
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Helpers shaped for the parcel app this package was extracted from: its
|
|
3
|
+
* parcel view, carrier-name hints for provider results, and the clock helpers
|
|
4
|
+
* its sync uses. They change with that app and carry no stability promise;
|
|
5
|
+
* the tracking contract is the other entry points.
|
|
6
|
+
*/
|
|
7
|
+
export * from './core/catalog/parcel.js';
|
|
8
|
+
export * from './core/catalog/hints.js';
|
|
9
|
+
export * from './core/time/result.js';
|
|
10
|
+
export { universalCarrierHints } from './providers/shared/hints.js';
|
|
11
|
+
export { recognitionAskedCarriers } from './core/catalog/recognition.js';
|