@urbankitstudio/atlas 0.6.3 → 0.6.4
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 +11 -1
- package/data/california.json +2 -2
- package/data/new-york.json +4 -4
- package/data/south-carolina.json +5 -5
- package/data/texas.json +8 -8
- package/dist/index.cjs +19 -19
- package/dist/index.js +19 -19
- package/package.json +7 -5
package/README.md
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
# @urbankitstudio/atlas
|
|
2
2
|
|
|
3
|
+
[](https://socket.dev/npm/package/@urbankitstudio/atlas)
|
|
4
|
+
|
|
3
5
|
JS SDK for the **UrbanKit County Parcel REST API Atlas** — a curated index of public ArcGIS REST endpoints for US county parcel data, with searchable field metadata, sample queries, and license info.
|
|
4
6
|
|
|
5
7
|
Use it to:
|
|
@@ -132,12 +134,20 @@ Omit `?fips=` to get every tracked county in one call.
|
|
|
132
134
|
|
|
133
135
|
## Coverage today
|
|
134
136
|
|
|
135
|
-
The atlas bundles **171 counties across all 50 US states** (174 verified endpoints), covering the largest counties in each. Call `listStates()` to enumerate the full set.
|
|
137
|
+
The atlas bundles **171 counties across all 50 US states** (174 verified endpoints), covering the largest counties in each. Call `listStates()` to enumerate the full set.
|
|
138
|
+
|
|
139
|
+
Every state has at least one county on record, and 166 of the 171 carry a verified endpoint. The other 5 have `hasPublicRest: false` and an empty `endpoints` array, with `notes` recording the reason and who to contact. Those reasons vary: a subscription-only regional GIS partner, a statewide server that requires an auth token, a state with no county-level parcel authority. They ship rather than being omitted, so `findCounty()` still resolves them. **Check `hasPublicRest`** rather than assuming every county has an endpoint; `totals.countiesWithEndpoint` gives the queryable count directly.
|
|
136
140
|
|
|
137
141
|
Counties are added as their public REST endpoints are verified. Package versions bump when data refreshes — pin to a minor range (`^0.x`) to receive new counties without breaking changes.
|
|
138
142
|
|
|
139
143
|
The live, browseable atlas lives at [urbankitstudio.com/parcel-atlas](https://urbankitstudio.com/parcel-atlas).
|
|
140
144
|
|
|
145
|
+
## Socket flags `urlStrings` — that's the atlas, not a leak
|
|
146
|
+
|
|
147
|
+
[Socket](https://socket.dev/npm/package/@urbankitstudio/atlas)'s supply-chain scanner flags this package for `urlStrings`: code and data containing many literal URLs. That flag is doing its job correctly, and the answer is not to hide the URLs — **they are the product.** Every one is a public, government-run ArcGIS REST endpoint for county parcel data, plus the two `urbankitstudio.com` URLs this SDK references for live status (`LIVE_STATUS_URL`, above) and parcel-lookup deep links. The package does not call any of them itself; it hands them to you as data (`sideEffects: false`, zero runtime dependencies).
|
|
148
|
+
|
|
149
|
+
Socket also flags `unpopularPackage` — a download-count signal, not a code issue, that install growth resolves on its own.
|
|
150
|
+
|
|
141
151
|
## License
|
|
142
152
|
|
|
143
153
|
MIT — see [LICENSE](./LICENSE). © 2026 UrbanKit Studio.
|
package/data/california.json
CHANGED
|
@@ -218,7 +218,7 @@
|
|
|
218
218
|
"status": "restricted",
|
|
219
219
|
"basis": {
|
|
220
220
|
"type": "county_cited_statute",
|
|
221
|
-
"note": "Every row's OwnerName value is the literal string \"Protected Per CA Gov Code 7928.205\" rather than a name. The county applies the redaction server-side to the whole layer and cites that section itself. The section protects the home address of elected and appointed officials, so this is the county's own reading applied to every parcel, not a statewide rule
|
|
221
|
+
"note": "Every row's OwnerName value is the literal string \"Protected Per CA Gov Code 7928.205\" rather than a name. The county applies the redaction server-side to the whole layer and cites that section itself. The section protects the home address of elected and appointed officials, so this is the county's own reading applied to every parcel, not a statewide rule. Read narrowly, the section would cover a small number of parcels. The county applies it to every one.",
|
|
222
222
|
"citation": "Cal. Gov. Code 7928.205",
|
|
223
223
|
"attributedTo": "San Bernardino County",
|
|
224
224
|
"sourceUrl": "https://leginfo.legislature.ca.gov/faces/codes_displaySection.xhtml?sectionNum=7928.205&lawCode=GOV"
|
|
@@ -271,7 +271,7 @@
|
|
|
271
271
|
"url": "https://gis-public.sandiegocounty.gov/",
|
|
272
272
|
"email": null
|
|
273
273
|
},
|
|
274
|
-
"notes": "16 fields confirmed 2026-09-03 on the County of San Diego's public parcel layer (service copyright 'SanGIS, County of San Diego Assessor', service description 'County of San Diego Assessors Parcels (PARCELS_ALL) redacted for public use', ~1.09M rows, maxRecordCount 1000, native State Plane feet, add outSR=4326 for lon/lat): APN, APN_8, SITUS_ADDRESS (house number), SITUS_PRE_DIR, SITUS_STREET, SITUS_SUFFIX, SITUS_POST_DIR, SITUS_FRACTION, SITUS_BUILDING, SITUS_SUITE, SITUS_ZIP, SITUS_JURIS, ACREAGE, QUAL_CLASS_SHAPE and geometry. No owner name, mailing address, sale date, value or community name: the county redacts them on every public derivative. Until 2026-09-03 this entry pointed at the City of San Diego's GeocoderMerged/MapServer/1
|
|
274
|
+
"notes": "16 fields confirmed 2026-09-03 on the County of San Diego's public parcel layer (service copyright 'SanGIS, County of San Diego Assessor', service description 'County of San Diego Assessors Parcels (PARCELS_ALL) redacted for public use', ~1.09M rows, maxRecordCount 1000, native State Plane feet, add outSR=4326 for lon/lat): APN, APN_8, SITUS_ADDRESS (house number), SITUS_PRE_DIR, SITUS_STREET, SITUS_SUFFIX, SITUS_POST_DIR, SITUS_FRACTION, SITUS_BUILDING, SITUS_SUITE, SITUS_ZIP, SITUS_JURIS, ACREAGE, QUAL_CLASS_SHAPE and geometry. No owner name, mailing address, sale date, value or community name: the county redacts them on every public derivative. Until 2026-09-03 this entry pointed at the City of San Diego's GeocoderMerged/MapServer/1, which then served owner names (OWN_NAME1-3, OWN_ADDR1-4) and answered ArcGIS error 500 'Service GeocoderMerged/MapServer not started' from 2026-09-02 20:45Z (autoheal #581); a made-up service name on that host errored differently, so the service existed and was stopped. Probed 2026-09-17: the city service is RUNNING again, reports 56 fields, and no longer serves owner names. Asking it for OWN_NAME1/2/3 returns ArcGIS error 400 'Failed to execute query' while the identical request for APN and ASR_TOTAL returns a feature, so the field was withdrawn rather than the service being down. It still reports displayFieldName 'OWN_NAME1' in every response, so a metadata-only or liveness-only check reads this endpoint as owner-bearing and healthy. Do not restore it as the owner source on a restart signal alone: ask for the field.",
|
|
275
275
|
"capabilityOverrides": {
|
|
276
276
|
"owner_name": {
|
|
277
277
|
"status": "not_published",
|
package/data/new-york.json
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
"lastUpdated": "2026-05-14",
|
|
6
6
|
"counties": [
|
|
7
7
|
{
|
|
8
|
-
"id": "ny-
|
|
8
|
+
"id": "ny-bronx",
|
|
9
9
|
"state": "NY",
|
|
10
10
|
"stateName": "New York",
|
|
11
11
|
"stateSlug": "new-york",
|
|
@@ -271,7 +271,7 @@
|
|
|
271
271
|
"notes": "54 fields confirmed. Includes PIN (21-char unique parcel ID), SBL (section-block-lot key), OWNER1, OWNER2, mailing address (MAILAD1/MAILAD2), property address (STREET, CITY, ZIP, ZIP4), property class (CLASS), property type/description, school district (SCHOOL, SCHL_DIST), SWIS code, lot dimensions (FRONT, DEPTH), acreage (ASSESSACRE, CALCACRES). Owner query tested and confirmed: UPPER(OWNER1) LIKE UPPER('%SMITH%') returns real residential parcels. This is the 2023 vintage Erie County parcel dataset. Erie County, NY is the Buffalo metropolitan area (FIPS 36029)."
|
|
272
272
|
},
|
|
273
273
|
{
|
|
274
|
-
"id": "ny-
|
|
274
|
+
"id": "ny-kings",
|
|
275
275
|
"state": "NY",
|
|
276
276
|
"stateName": "New York",
|
|
277
277
|
"stateSlug": "new-york",
|
|
@@ -776,7 +776,7 @@
|
|
|
776
776
|
"capabilityOverrides": null
|
|
777
777
|
},
|
|
778
778
|
{
|
|
779
|
-
"id": "ny-
|
|
779
|
+
"id": "ny-queens",
|
|
780
780
|
"state": "NY",
|
|
781
781
|
"stateName": "New York",
|
|
782
782
|
"stateSlug": "new-york",
|
|
@@ -933,7 +933,7 @@
|
|
|
933
933
|
"notes": "Queens is served by the same citywide MAPPLUTO layer as the other four boroughs; the registry scopes this county to Borough='QN' so an owner search here does not return another borough's parcels. Address lookups are scoped by geography already."
|
|
934
934
|
},
|
|
935
935
|
{
|
|
936
|
-
"id": "ny-
|
|
936
|
+
"id": "ny-richmond",
|
|
937
937
|
"state": "NY",
|
|
938
938
|
"stateName": "New York",
|
|
939
939
|
"stateSlug": "new-york",
|
package/data/south-carolina.json
CHANGED
|
@@ -63,9 +63,9 @@
|
|
|
63
63
|
"hasPublicRest": true,
|
|
64
64
|
"endpoints": [
|
|
65
65
|
{
|
|
66
|
-
"url": "https://gisccapps.charlestoncounty.org/arcgis/rest/services/GIS_VIEWER/New_Parcel_Search/MapServer/
|
|
66
|
+
"url": "https://gisccapps.charlestoncounty.org/arcgis/rest/services/GIS_VIEWER/New_Parcel_Search/MapServer/4",
|
|
67
67
|
"serviceType": "MapServer",
|
|
68
|
-
"layerIndex":
|
|
68
|
+
"layerIndex": 4,
|
|
69
69
|
"layerName": "Parcels",
|
|
70
70
|
"supportsQuery": true,
|
|
71
71
|
"corsEnabled": null,
|
|
@@ -82,11 +82,11 @@
|
|
|
82
82
|
{ "name": "LEGAL_DESCR", "label": "Legal Description", "searchable": false },
|
|
83
83
|
{ "name": "SUBDIVISION", "label": "Subdivision", "searchable": false }
|
|
84
84
|
],
|
|
85
|
-
"sampleQuery": "https://gisccapps.charlestoncounty.org/arcgis/rest/services/GIS_VIEWER/New_Parcel_Search/MapServer/
|
|
85
|
+
"sampleQuery": "https://gisccapps.charlestoncounty.org/arcgis/rest/services/GIS_VIEWER/New_Parcel_Search/MapServer/4/query?where=UPPER(OWNER1)+LIKE+UPPER(%27%25SMITH%25%27)&outFields=PID,OWNER1,OWNER2,MAIL_ST_NAME&returnGeometry=false&f=json&resultRecordCount=10",
|
|
86
86
|
"license": "public",
|
|
87
87
|
"licenseUrl": "https://charleston-county-gis-chascogis.hub.arcgis.com/",
|
|
88
88
|
"status": "live",
|
|
89
|
-
"lastVerified": "2026-
|
|
89
|
+
"lastVerified": "2026-09-17",
|
|
90
90
|
"verifiedBy": "manual"
|
|
91
91
|
}
|
|
92
92
|
],
|
|
@@ -95,7 +95,7 @@
|
|
|
95
95
|
"url": "https://charleston-county-gis-chascogis.hub.arcgis.com/",
|
|
96
96
|
"email": null
|
|
97
97
|
},
|
|
98
|
-
"notes": "Charleston County (pop. 430,000; includes Charleston, North Charleston, Mount Pleasant)
|
|
98
|
+
"notes": "Charleston County (pop. 430,000; includes Charleston, North Charleston, Mount Pleasant). Parcels live on GIS_VIEWER/New_Parcel_Search/MapServer layer 4. Field names are unqualified (PID, OWNER1, ...); the FEATURES.SDE.* prefixes an older revision of this entry described no longer apply, and neither GPIN nor ACRES_CAL exists here. Layer 4 carries 27 fields, including several the registry does not map: ACREAGE, CLASS_CODE, DEED_BOOK_PAGE, PLAT_BOOK_PAGE, SALE_PRICE, RECORDED_DATE and DOC_DATE. WATCH THIS COUNTY: it has now renumbered its parcel layer twice. 2026-06-06 moved Parcel_Search/4 to New_Parcel_Search/61 after the old service 404'd; 2026-09-17 moved it again to New_Parcel_Search/4, which is why the endpoint sat down with last_ok_at null. Both times the service name and the field names survived and only the layer index changed, so an index-only drift check would catch the next one. Re-verified live 2026-09-17: layer 61 answers ArcGIS error 404 'Layer not found' while layer 4 returns features for both query shapes the tool sends, UPPER(OWNER1) LIKE and PID LIKE."
|
|
99
99
|
}
|
|
100
100
|
]
|
|
101
101
|
}
|
package/data/texas.json
CHANGED
|
@@ -365,18 +365,18 @@
|
|
|
365
365
|
"supportsQuery": true,
|
|
366
366
|
"corsEnabled": null,
|
|
367
367
|
"searchFields": [
|
|
368
|
-
{ "name": "
|
|
369
|
-
{ "name": "
|
|
370
|
-
{ "name": "
|
|
368
|
+
{ "name": "CAD_Reference_Number", "label": "CAD Reference Number (R-number)", "searchable": true },
|
|
369
|
+
{ "name": "Property_Number", "label": "Property Number", "searchable": true },
|
|
370
|
+
{ "name": "Owner_Name", "label": "Owner Name", "searchable": true },
|
|
371
371
|
{ "name": "Situs", "label": "Situs Address", "searchable": true },
|
|
372
|
-
{ "name": "
|
|
373
|
-
{ "name": "
|
|
372
|
+
{ "name": "Owner_Address_1", "label": "Owner Mailing Address", "searchable": false },
|
|
373
|
+
{ "name": "Owner_City", "label": "Owner City", "searchable": false }
|
|
374
374
|
],
|
|
375
|
-
"sampleQuery": "https://gisportal.fortbendcountytx.gov/arcgis/rest/services/InteractiveMap/Parcels_Public/FeatureServer/1/query?where=UPPER(
|
|
375
|
+
"sampleQuery": "https://gisportal.fortbendcountytx.gov/arcgis/rest/services/InteractiveMap/Parcels_Public/FeatureServer/1/query?where=UPPER(Owner_Name)%20LIKE%20UPPER('%25SMITH%25')&outFields=CAD_Reference_Number,Owner_Name,Situs&returnGeometry=false&f=json&resultRecordCount=10",
|
|
376
376
|
"license": "public",
|
|
377
377
|
"licenseUrl": "https://fbcad-open-data-hub-fortbend.hub.arcgis.com/",
|
|
378
378
|
"status": "live",
|
|
379
|
-
"lastVerified": "2026-
|
|
379
|
+
"lastVerified": "2026-09-12",
|
|
380
380
|
"verifiedBy": "manual"
|
|
381
381
|
}
|
|
382
382
|
],
|
|
@@ -385,7 +385,7 @@
|
|
|
385
385
|
"url": "https://www.fbcad.org/",
|
|
386
386
|
"email": null
|
|
387
387
|
},
|
|
388
|
-
"notes": "Fort Bend County, Texas (Katy / Sugar Land / Missouri City, southwest Houston metro, pop. ~880K) serves parcels from a Fort Bend County GIS MapServer sourced from Fort Bend Central Appraisal District (FBCAD). Owner name is
|
|
388
|
+
"notes": "Fort Bend County, Texas (Katy / Sugar Land / Missouri City, southwest Houston metro, pop. ~880K) serves parcels from a Fort Bend County GIS MapServer sourced from Fort Bend Central Appraisal District (FBCAD). Owner name is Owner_Name (the layer display field); owner mailing is Owner_Address_1/2/3 with Owner_City/Owner_State/Owner_Zip; the site address is Situs; identifiers are CAD_Reference_Number (R-number, e.g. R328356) and Property_Number. Owner search uses UPPER(Owner_Name) LIKE. Verified live 2026-05-30 (OwnerName = Shimmel John). Under Texas Tax Code §25.025, protected persons (peace officers, judges, family-violence victims) may have their owner/address records withheld. MIGRATED 2026-06-06: gisweb.fortbendcountytx.gov was decommissioned (Cloudflare 522) -- the public service moved to gisportal.fortbendcountytx.gov InteractiveMap/Parcels_Public/FeatureServer/1 (ArcGIS 11.3, 359,954 parcels; OwnerName search re-verified live), and at that point the field names had dropped their underscores (CADReferenceNumber, OwnerName). RENAMED BACK 2026-09-12: the same layer (the service's only layer) publishes the underscore names again (Owner_Name, CAD_Reference_Number, Property_Number, Owner_Address_1, Owner_City; 49 fields, displayField Owner_Name). The liveness probe read that rename as field-drift on 2026-09-10 and autoheal PR #632 tried to drop the five fields; nothing was removed upstream, so the fields were re-pointed at the current names and owner search re-verified live (10 rows for %SMITH%, e.g. R100208)."
|
|
389
389
|
},
|
|
390
390
|
{
|
|
391
391
|
"id": "tx-williamson",
|
package/dist/index.cjs
CHANGED
|
@@ -1235,7 +1235,7 @@ var california_default = {
|
|
|
1235
1235
|
status: "restricted",
|
|
1236
1236
|
basis: {
|
|
1237
1237
|
type: "county_cited_statute",
|
|
1238
|
-
note: `Every row's OwnerName value is the literal string "Protected Per CA Gov Code 7928.205" rather than a name. The county applies the redaction server-side to the whole layer and cites that section itself. The section protects the home address of elected and appointed officials, so this is the county's own reading applied to every parcel, not a statewide rule
|
|
1238
|
+
note: `Every row's OwnerName value is the literal string "Protected Per CA Gov Code 7928.205" rather than a name. The county applies the redaction server-side to the whole layer and cites that section itself. The section protects the home address of elected and appointed officials, so this is the county's own reading applied to every parcel, not a statewide rule. Read narrowly, the section would cover a small number of parcels. The county applies it to every one.`,
|
|
1239
1239
|
citation: "Cal. Gov. Code 7928.205",
|
|
1240
1240
|
attributedTo: "San Bernardino County",
|
|
1241
1241
|
sourceUrl: "https://leginfo.legislature.ca.gov/faces/codes_displaySection.xhtml?sectionNum=7928.205&lawCode=GOV"
|
|
@@ -1288,7 +1288,7 @@ var california_default = {
|
|
|
1288
1288
|
url: "https://gis-public.sandiegocounty.gov/",
|
|
1289
1289
|
email: null
|
|
1290
1290
|
},
|
|
1291
|
-
notes: "16 fields confirmed 2026-09-03 on the County of San Diego's public parcel layer (service copyright 'SanGIS, County of San Diego Assessor', service description 'County of San Diego Assessors Parcels (PARCELS_ALL) redacted for public use', ~1.09M rows, maxRecordCount 1000, native State Plane feet, add outSR=4326 for lon/lat): APN, APN_8, SITUS_ADDRESS (house number), SITUS_PRE_DIR, SITUS_STREET, SITUS_SUFFIX, SITUS_POST_DIR, SITUS_FRACTION, SITUS_BUILDING, SITUS_SUITE, SITUS_ZIP, SITUS_JURIS, ACREAGE, QUAL_CLASS_SHAPE and geometry. No owner name, mailing address, sale date, value or community name: the county redacts them on every public derivative. Until 2026-09-03 this entry pointed at the City of San Diego's GeocoderMerged/MapServer/1
|
|
1291
|
+
notes: "16 fields confirmed 2026-09-03 on the County of San Diego's public parcel layer (service copyright 'SanGIS, County of San Diego Assessor', service description 'County of San Diego Assessors Parcels (PARCELS_ALL) redacted for public use', ~1.09M rows, maxRecordCount 1000, native State Plane feet, add outSR=4326 for lon/lat): APN, APN_8, SITUS_ADDRESS (house number), SITUS_PRE_DIR, SITUS_STREET, SITUS_SUFFIX, SITUS_POST_DIR, SITUS_FRACTION, SITUS_BUILDING, SITUS_SUITE, SITUS_ZIP, SITUS_JURIS, ACREAGE, QUAL_CLASS_SHAPE and geometry. No owner name, mailing address, sale date, value or community name: the county redacts them on every public derivative. Until 2026-09-03 this entry pointed at the City of San Diego's GeocoderMerged/MapServer/1, which then served owner names (OWN_NAME1-3, OWN_ADDR1-4) and answered ArcGIS error 500 'Service GeocoderMerged/MapServer not started' from 2026-09-02 20:45Z (autoheal #581); a made-up service name on that host errored differently, so the service existed and was stopped. Probed 2026-09-17: the city service is RUNNING again, reports 56 fields, and no longer serves owner names. Asking it for OWN_NAME1/2/3 returns ArcGIS error 400 'Failed to execute query' while the identical request for APN and ASR_TOTAL returns a feature, so the field was withdrawn rather than the service being down. It still reports displayFieldName 'OWN_NAME1' in every response, so a metadata-only or liveness-only check reads this endpoint as owner-bearing and healthy. Do not restore it as the owner source on a restart signal alone: ask for the field.",
|
|
1292
1292
|
capabilityOverrides: {
|
|
1293
1293
|
owner_name: {
|
|
1294
1294
|
status: "not_published",
|
|
@@ -7818,7 +7818,7 @@ var new_york_default = {
|
|
|
7818
7818
|
lastUpdated: "2026-05-14",
|
|
7819
7819
|
counties: [
|
|
7820
7820
|
{
|
|
7821
|
-
id: "ny-
|
|
7821
|
+
id: "ny-bronx",
|
|
7822
7822
|
state: "NY",
|
|
7823
7823
|
stateName: "New York",
|
|
7824
7824
|
stateSlug: "new-york",
|
|
@@ -8084,7 +8084,7 @@ var new_york_default = {
|
|
|
8084
8084
|
notes: "54 fields confirmed. Includes PIN (21-char unique parcel ID), SBL (section-block-lot key), OWNER1, OWNER2, mailing address (MAILAD1/MAILAD2), property address (STREET, CITY, ZIP, ZIP4), property class (CLASS), property type/description, school district (SCHOOL, SCHL_DIST), SWIS code, lot dimensions (FRONT, DEPTH), acreage (ASSESSACRE, CALCACRES). Owner query tested and confirmed: UPPER(OWNER1) LIKE UPPER('%SMITH%') returns real residential parcels. This is the 2023 vintage Erie County parcel dataset. Erie County, NY is the Buffalo metropolitan area (FIPS 36029)."
|
|
8085
8085
|
},
|
|
8086
8086
|
{
|
|
8087
|
-
id: "ny-
|
|
8087
|
+
id: "ny-kings",
|
|
8088
8088
|
state: "NY",
|
|
8089
8089
|
stateName: "New York",
|
|
8090
8090
|
stateSlug: "new-york",
|
|
@@ -8589,7 +8589,7 @@ var new_york_default = {
|
|
|
8589
8589
|
capabilityOverrides: null
|
|
8590
8590
|
},
|
|
8591
8591
|
{
|
|
8592
|
-
id: "ny-
|
|
8592
|
+
id: "ny-queens",
|
|
8593
8593
|
state: "NY",
|
|
8594
8594
|
stateName: "New York",
|
|
8595
8595
|
stateSlug: "new-york",
|
|
@@ -8746,7 +8746,7 @@ var new_york_default = {
|
|
|
8746
8746
|
notes: "Queens is served by the same citywide MAPPLUTO layer as the other four boroughs; the registry scopes this county to Borough='QN' so an owner search here does not return another borough's parcels. Address lookups are scoped by geography already."
|
|
8747
8747
|
},
|
|
8748
8748
|
{
|
|
8749
|
-
id: "ny-
|
|
8749
|
+
id: "ny-richmond",
|
|
8750
8750
|
state: "NY",
|
|
8751
8751
|
stateName: "New York",
|
|
8752
8752
|
stateSlug: "new-york",
|
|
@@ -10634,9 +10634,9 @@ var south_carolina_default = {
|
|
|
10634
10634
|
hasPublicRest: true,
|
|
10635
10635
|
endpoints: [
|
|
10636
10636
|
{
|
|
10637
|
-
url: "https://gisccapps.charlestoncounty.org/arcgis/rest/services/GIS_VIEWER/New_Parcel_Search/MapServer/
|
|
10637
|
+
url: "https://gisccapps.charlestoncounty.org/arcgis/rest/services/GIS_VIEWER/New_Parcel_Search/MapServer/4",
|
|
10638
10638
|
serviceType: "MapServer",
|
|
10639
|
-
layerIndex:
|
|
10639
|
+
layerIndex: 4,
|
|
10640
10640
|
layerName: "Parcels",
|
|
10641
10641
|
supportsQuery: true,
|
|
10642
10642
|
corsEnabled: null,
|
|
@@ -10653,11 +10653,11 @@ var south_carolina_default = {
|
|
|
10653
10653
|
{ name: "LEGAL_DESCR", label: "Legal Description", searchable: false },
|
|
10654
10654
|
{ name: "SUBDIVISION", label: "Subdivision", searchable: false }
|
|
10655
10655
|
],
|
|
10656
|
-
sampleQuery: "https://gisccapps.charlestoncounty.org/arcgis/rest/services/GIS_VIEWER/New_Parcel_Search/MapServer/
|
|
10656
|
+
sampleQuery: "https://gisccapps.charlestoncounty.org/arcgis/rest/services/GIS_VIEWER/New_Parcel_Search/MapServer/4/query?where=UPPER(OWNER1)+LIKE+UPPER(%27%25SMITH%25%27)&outFields=PID,OWNER1,OWNER2,MAIL_ST_NAME&returnGeometry=false&f=json&resultRecordCount=10",
|
|
10657
10657
|
license: "public",
|
|
10658
10658
|
licenseUrl: "https://charleston-county-gis-chascogis.hub.arcgis.com/",
|
|
10659
10659
|
status: "live",
|
|
10660
|
-
lastVerified: "2026-
|
|
10660
|
+
lastVerified: "2026-09-17",
|
|
10661
10661
|
verifiedBy: "manual"
|
|
10662
10662
|
}
|
|
10663
10663
|
],
|
|
@@ -10666,7 +10666,7 @@ var south_carolina_default = {
|
|
|
10666
10666
|
url: "https://charleston-county-gis-chascogis.hub.arcgis.com/",
|
|
10667
10667
|
email: null
|
|
10668
10668
|
},
|
|
10669
|
-
notes:
|
|
10669
|
+
notes: "Charleston County (pop. 430,000; includes Charleston, North Charleston, Mount Pleasant). Parcels live on GIS_VIEWER/New_Parcel_Search/MapServer layer 4. Field names are unqualified (PID, OWNER1, ...); the FEATURES.SDE.* prefixes an older revision of this entry described no longer apply, and neither GPIN nor ACRES_CAL exists here. Layer 4 carries 27 fields, including several the registry does not map: ACREAGE, CLASS_CODE, DEED_BOOK_PAGE, PLAT_BOOK_PAGE, SALE_PRICE, RECORDED_DATE and DOC_DATE. WATCH THIS COUNTY: it has now renumbered its parcel layer twice. 2026-06-06 moved Parcel_Search/4 to New_Parcel_Search/61 after the old service 404'd; 2026-09-17 moved it again to New_Parcel_Search/4, which is why the endpoint sat down with last_ok_at null. Both times the service name and the field names survived and only the layer index changed, so an index-only drift check would catch the next one. Re-verified live 2026-09-17: layer 61 answers ArcGIS error 404 'Layer not found' while layer 4 returns features for both query shapes the tool sends, UPPER(OWNER1) LIKE and PID LIKE."
|
|
10670
10670
|
}
|
|
10671
10671
|
]
|
|
10672
10672
|
};
|
|
@@ -11255,18 +11255,18 @@ var texas_default = {
|
|
|
11255
11255
|
supportsQuery: true,
|
|
11256
11256
|
corsEnabled: null,
|
|
11257
11257
|
searchFields: [
|
|
11258
|
-
{ name: "
|
|
11259
|
-
{ name: "
|
|
11260
|
-
{ name: "
|
|
11258
|
+
{ name: "CAD_Reference_Number", label: "CAD Reference Number (R-number)", searchable: true },
|
|
11259
|
+
{ name: "Property_Number", label: "Property Number", searchable: true },
|
|
11260
|
+
{ name: "Owner_Name", label: "Owner Name", searchable: true },
|
|
11261
11261
|
{ name: "Situs", label: "Situs Address", searchable: true },
|
|
11262
|
-
{ name: "
|
|
11263
|
-
{ name: "
|
|
11262
|
+
{ name: "Owner_Address_1", label: "Owner Mailing Address", searchable: false },
|
|
11263
|
+
{ name: "Owner_City", label: "Owner City", searchable: false }
|
|
11264
11264
|
],
|
|
11265
|
-
sampleQuery: "https://gisportal.fortbendcountytx.gov/arcgis/rest/services/InteractiveMap/Parcels_Public/FeatureServer/1/query?where=UPPER(
|
|
11265
|
+
sampleQuery: "https://gisportal.fortbendcountytx.gov/arcgis/rest/services/InteractiveMap/Parcels_Public/FeatureServer/1/query?where=UPPER(Owner_Name)%20LIKE%20UPPER('%25SMITH%25')&outFields=CAD_Reference_Number,Owner_Name,Situs&returnGeometry=false&f=json&resultRecordCount=10",
|
|
11266
11266
|
license: "public",
|
|
11267
11267
|
licenseUrl: "https://fbcad-open-data-hub-fortbend.hub.arcgis.com/",
|
|
11268
11268
|
status: "live",
|
|
11269
|
-
lastVerified: "2026-
|
|
11269
|
+
lastVerified: "2026-09-12",
|
|
11270
11270
|
verifiedBy: "manual"
|
|
11271
11271
|
}
|
|
11272
11272
|
],
|
|
@@ -11275,7 +11275,7 @@ var texas_default = {
|
|
|
11275
11275
|
url: "https://www.fbcad.org/",
|
|
11276
11276
|
email: null
|
|
11277
11277
|
},
|
|
11278
|
-
notes: "Fort Bend County, Texas (Katy / Sugar Land / Missouri City, southwest Houston metro, pop. ~880K) serves parcels from a Fort Bend County GIS MapServer sourced from Fort Bend Central Appraisal District (FBCAD). Owner name is
|
|
11278
|
+
notes: "Fort Bend County, Texas (Katy / Sugar Land / Missouri City, southwest Houston metro, pop. ~880K) serves parcels from a Fort Bend County GIS MapServer sourced from Fort Bend Central Appraisal District (FBCAD). Owner name is Owner_Name (the layer display field); owner mailing is Owner_Address_1/2/3 with Owner_City/Owner_State/Owner_Zip; the site address is Situs; identifiers are CAD_Reference_Number (R-number, e.g. R328356) and Property_Number. Owner search uses UPPER(Owner_Name) LIKE. Verified live 2026-05-30 (OwnerName = Shimmel John). Under Texas Tax Code \xA725.025, protected persons (peace officers, judges, family-violence victims) may have their owner/address records withheld. MIGRATED 2026-06-06: gisweb.fortbendcountytx.gov was decommissioned (Cloudflare 522) -- the public service moved to gisportal.fortbendcountytx.gov InteractiveMap/Parcels_Public/FeatureServer/1 (ArcGIS 11.3, 359,954 parcels; OwnerName search re-verified live), and at that point the field names had dropped their underscores (CADReferenceNumber, OwnerName). RENAMED BACK 2026-09-12: the same layer (the service's only layer) publishes the underscore names again (Owner_Name, CAD_Reference_Number, Property_Number, Owner_Address_1, Owner_City; 49 fields, displayField Owner_Name). The liveness probe read that rename as field-drift on 2026-09-10 and autoheal PR #632 tried to drop the five fields; nothing was removed upstream, so the fields were re-pointed at the current names and owner search re-verified live (10 rows for %SMITH%, e.g. R100208)."
|
|
11279
11279
|
},
|
|
11280
11280
|
{
|
|
11281
11281
|
id: "tx-williamson",
|
package/dist/index.js
CHANGED
|
@@ -1233,7 +1233,7 @@ var california_default = {
|
|
|
1233
1233
|
status: "restricted",
|
|
1234
1234
|
basis: {
|
|
1235
1235
|
type: "county_cited_statute",
|
|
1236
|
-
note: `Every row's OwnerName value is the literal string "Protected Per CA Gov Code 7928.205" rather than a name. The county applies the redaction server-side to the whole layer and cites that section itself. The section protects the home address of elected and appointed officials, so this is the county's own reading applied to every parcel, not a statewide rule
|
|
1236
|
+
note: `Every row's OwnerName value is the literal string "Protected Per CA Gov Code 7928.205" rather than a name. The county applies the redaction server-side to the whole layer and cites that section itself. The section protects the home address of elected and appointed officials, so this is the county's own reading applied to every parcel, not a statewide rule. Read narrowly, the section would cover a small number of parcels. The county applies it to every one.`,
|
|
1237
1237
|
citation: "Cal. Gov. Code 7928.205",
|
|
1238
1238
|
attributedTo: "San Bernardino County",
|
|
1239
1239
|
sourceUrl: "https://leginfo.legislature.ca.gov/faces/codes_displaySection.xhtml?sectionNum=7928.205&lawCode=GOV"
|
|
@@ -1286,7 +1286,7 @@ var california_default = {
|
|
|
1286
1286
|
url: "https://gis-public.sandiegocounty.gov/",
|
|
1287
1287
|
email: null
|
|
1288
1288
|
},
|
|
1289
|
-
notes: "16 fields confirmed 2026-09-03 on the County of San Diego's public parcel layer (service copyright 'SanGIS, County of San Diego Assessor', service description 'County of San Diego Assessors Parcels (PARCELS_ALL) redacted for public use', ~1.09M rows, maxRecordCount 1000, native State Plane feet, add outSR=4326 for lon/lat): APN, APN_8, SITUS_ADDRESS (house number), SITUS_PRE_DIR, SITUS_STREET, SITUS_SUFFIX, SITUS_POST_DIR, SITUS_FRACTION, SITUS_BUILDING, SITUS_SUITE, SITUS_ZIP, SITUS_JURIS, ACREAGE, QUAL_CLASS_SHAPE and geometry. No owner name, mailing address, sale date, value or community name: the county redacts them on every public derivative. Until 2026-09-03 this entry pointed at the City of San Diego's GeocoderMerged/MapServer/1
|
|
1289
|
+
notes: "16 fields confirmed 2026-09-03 on the County of San Diego's public parcel layer (service copyright 'SanGIS, County of San Diego Assessor', service description 'County of San Diego Assessors Parcels (PARCELS_ALL) redacted for public use', ~1.09M rows, maxRecordCount 1000, native State Plane feet, add outSR=4326 for lon/lat): APN, APN_8, SITUS_ADDRESS (house number), SITUS_PRE_DIR, SITUS_STREET, SITUS_SUFFIX, SITUS_POST_DIR, SITUS_FRACTION, SITUS_BUILDING, SITUS_SUITE, SITUS_ZIP, SITUS_JURIS, ACREAGE, QUAL_CLASS_SHAPE and geometry. No owner name, mailing address, sale date, value or community name: the county redacts them on every public derivative. Until 2026-09-03 this entry pointed at the City of San Diego's GeocoderMerged/MapServer/1, which then served owner names (OWN_NAME1-3, OWN_ADDR1-4) and answered ArcGIS error 500 'Service GeocoderMerged/MapServer not started' from 2026-09-02 20:45Z (autoheal #581); a made-up service name on that host errored differently, so the service existed and was stopped. Probed 2026-09-17: the city service is RUNNING again, reports 56 fields, and no longer serves owner names. Asking it for OWN_NAME1/2/3 returns ArcGIS error 400 'Failed to execute query' while the identical request for APN and ASR_TOTAL returns a feature, so the field was withdrawn rather than the service being down. It still reports displayFieldName 'OWN_NAME1' in every response, so a metadata-only or liveness-only check reads this endpoint as owner-bearing and healthy. Do not restore it as the owner source on a restart signal alone: ask for the field.",
|
|
1290
1290
|
capabilityOverrides: {
|
|
1291
1291
|
owner_name: {
|
|
1292
1292
|
status: "not_published",
|
|
@@ -7816,7 +7816,7 @@ var new_york_default = {
|
|
|
7816
7816
|
lastUpdated: "2026-05-14",
|
|
7817
7817
|
counties: [
|
|
7818
7818
|
{
|
|
7819
|
-
id: "ny-
|
|
7819
|
+
id: "ny-bronx",
|
|
7820
7820
|
state: "NY",
|
|
7821
7821
|
stateName: "New York",
|
|
7822
7822
|
stateSlug: "new-york",
|
|
@@ -8082,7 +8082,7 @@ var new_york_default = {
|
|
|
8082
8082
|
notes: "54 fields confirmed. Includes PIN (21-char unique parcel ID), SBL (section-block-lot key), OWNER1, OWNER2, mailing address (MAILAD1/MAILAD2), property address (STREET, CITY, ZIP, ZIP4), property class (CLASS), property type/description, school district (SCHOOL, SCHL_DIST), SWIS code, lot dimensions (FRONT, DEPTH), acreage (ASSESSACRE, CALCACRES). Owner query tested and confirmed: UPPER(OWNER1) LIKE UPPER('%SMITH%') returns real residential parcels. This is the 2023 vintage Erie County parcel dataset. Erie County, NY is the Buffalo metropolitan area (FIPS 36029)."
|
|
8083
8083
|
},
|
|
8084
8084
|
{
|
|
8085
|
-
id: "ny-
|
|
8085
|
+
id: "ny-kings",
|
|
8086
8086
|
state: "NY",
|
|
8087
8087
|
stateName: "New York",
|
|
8088
8088
|
stateSlug: "new-york",
|
|
@@ -8587,7 +8587,7 @@ var new_york_default = {
|
|
|
8587
8587
|
capabilityOverrides: null
|
|
8588
8588
|
},
|
|
8589
8589
|
{
|
|
8590
|
-
id: "ny-
|
|
8590
|
+
id: "ny-queens",
|
|
8591
8591
|
state: "NY",
|
|
8592
8592
|
stateName: "New York",
|
|
8593
8593
|
stateSlug: "new-york",
|
|
@@ -8744,7 +8744,7 @@ var new_york_default = {
|
|
|
8744
8744
|
notes: "Queens is served by the same citywide MAPPLUTO layer as the other four boroughs; the registry scopes this county to Borough='QN' so an owner search here does not return another borough's parcels. Address lookups are scoped by geography already."
|
|
8745
8745
|
},
|
|
8746
8746
|
{
|
|
8747
|
-
id: "ny-
|
|
8747
|
+
id: "ny-richmond",
|
|
8748
8748
|
state: "NY",
|
|
8749
8749
|
stateName: "New York",
|
|
8750
8750
|
stateSlug: "new-york",
|
|
@@ -10632,9 +10632,9 @@ var south_carolina_default = {
|
|
|
10632
10632
|
hasPublicRest: true,
|
|
10633
10633
|
endpoints: [
|
|
10634
10634
|
{
|
|
10635
|
-
url: "https://gisccapps.charlestoncounty.org/arcgis/rest/services/GIS_VIEWER/New_Parcel_Search/MapServer/
|
|
10635
|
+
url: "https://gisccapps.charlestoncounty.org/arcgis/rest/services/GIS_VIEWER/New_Parcel_Search/MapServer/4",
|
|
10636
10636
|
serviceType: "MapServer",
|
|
10637
|
-
layerIndex:
|
|
10637
|
+
layerIndex: 4,
|
|
10638
10638
|
layerName: "Parcels",
|
|
10639
10639
|
supportsQuery: true,
|
|
10640
10640
|
corsEnabled: null,
|
|
@@ -10651,11 +10651,11 @@ var south_carolina_default = {
|
|
|
10651
10651
|
{ name: "LEGAL_DESCR", label: "Legal Description", searchable: false },
|
|
10652
10652
|
{ name: "SUBDIVISION", label: "Subdivision", searchable: false }
|
|
10653
10653
|
],
|
|
10654
|
-
sampleQuery: "https://gisccapps.charlestoncounty.org/arcgis/rest/services/GIS_VIEWER/New_Parcel_Search/MapServer/
|
|
10654
|
+
sampleQuery: "https://gisccapps.charlestoncounty.org/arcgis/rest/services/GIS_VIEWER/New_Parcel_Search/MapServer/4/query?where=UPPER(OWNER1)+LIKE+UPPER(%27%25SMITH%25%27)&outFields=PID,OWNER1,OWNER2,MAIL_ST_NAME&returnGeometry=false&f=json&resultRecordCount=10",
|
|
10655
10655
|
license: "public",
|
|
10656
10656
|
licenseUrl: "https://charleston-county-gis-chascogis.hub.arcgis.com/",
|
|
10657
10657
|
status: "live",
|
|
10658
|
-
lastVerified: "2026-
|
|
10658
|
+
lastVerified: "2026-09-17",
|
|
10659
10659
|
verifiedBy: "manual"
|
|
10660
10660
|
}
|
|
10661
10661
|
],
|
|
@@ -10664,7 +10664,7 @@ var south_carolina_default = {
|
|
|
10664
10664
|
url: "https://charleston-county-gis-chascogis.hub.arcgis.com/",
|
|
10665
10665
|
email: null
|
|
10666
10666
|
},
|
|
10667
|
-
notes:
|
|
10667
|
+
notes: "Charleston County (pop. 430,000; includes Charleston, North Charleston, Mount Pleasant). Parcels live on GIS_VIEWER/New_Parcel_Search/MapServer layer 4. Field names are unqualified (PID, OWNER1, ...); the FEATURES.SDE.* prefixes an older revision of this entry described no longer apply, and neither GPIN nor ACRES_CAL exists here. Layer 4 carries 27 fields, including several the registry does not map: ACREAGE, CLASS_CODE, DEED_BOOK_PAGE, PLAT_BOOK_PAGE, SALE_PRICE, RECORDED_DATE and DOC_DATE. WATCH THIS COUNTY: it has now renumbered its parcel layer twice. 2026-06-06 moved Parcel_Search/4 to New_Parcel_Search/61 after the old service 404'd; 2026-09-17 moved it again to New_Parcel_Search/4, which is why the endpoint sat down with last_ok_at null. Both times the service name and the field names survived and only the layer index changed, so an index-only drift check would catch the next one. Re-verified live 2026-09-17: layer 61 answers ArcGIS error 404 'Layer not found' while layer 4 returns features for both query shapes the tool sends, UPPER(OWNER1) LIKE and PID LIKE."
|
|
10668
10668
|
}
|
|
10669
10669
|
]
|
|
10670
10670
|
};
|
|
@@ -11253,18 +11253,18 @@ var texas_default = {
|
|
|
11253
11253
|
supportsQuery: true,
|
|
11254
11254
|
corsEnabled: null,
|
|
11255
11255
|
searchFields: [
|
|
11256
|
-
{ name: "
|
|
11257
|
-
{ name: "
|
|
11258
|
-
{ name: "
|
|
11256
|
+
{ name: "CAD_Reference_Number", label: "CAD Reference Number (R-number)", searchable: true },
|
|
11257
|
+
{ name: "Property_Number", label: "Property Number", searchable: true },
|
|
11258
|
+
{ name: "Owner_Name", label: "Owner Name", searchable: true },
|
|
11259
11259
|
{ name: "Situs", label: "Situs Address", searchable: true },
|
|
11260
|
-
{ name: "
|
|
11261
|
-
{ name: "
|
|
11260
|
+
{ name: "Owner_Address_1", label: "Owner Mailing Address", searchable: false },
|
|
11261
|
+
{ name: "Owner_City", label: "Owner City", searchable: false }
|
|
11262
11262
|
],
|
|
11263
|
-
sampleQuery: "https://gisportal.fortbendcountytx.gov/arcgis/rest/services/InteractiveMap/Parcels_Public/FeatureServer/1/query?where=UPPER(
|
|
11263
|
+
sampleQuery: "https://gisportal.fortbendcountytx.gov/arcgis/rest/services/InteractiveMap/Parcels_Public/FeatureServer/1/query?where=UPPER(Owner_Name)%20LIKE%20UPPER('%25SMITH%25')&outFields=CAD_Reference_Number,Owner_Name,Situs&returnGeometry=false&f=json&resultRecordCount=10",
|
|
11264
11264
|
license: "public",
|
|
11265
11265
|
licenseUrl: "https://fbcad-open-data-hub-fortbend.hub.arcgis.com/",
|
|
11266
11266
|
status: "live",
|
|
11267
|
-
lastVerified: "2026-
|
|
11267
|
+
lastVerified: "2026-09-12",
|
|
11268
11268
|
verifiedBy: "manual"
|
|
11269
11269
|
}
|
|
11270
11270
|
],
|
|
@@ -11273,7 +11273,7 @@ var texas_default = {
|
|
|
11273
11273
|
url: "https://www.fbcad.org/",
|
|
11274
11274
|
email: null
|
|
11275
11275
|
},
|
|
11276
|
-
notes: "Fort Bend County, Texas (Katy / Sugar Land / Missouri City, southwest Houston metro, pop. ~880K) serves parcels from a Fort Bend County GIS MapServer sourced from Fort Bend Central Appraisal District (FBCAD). Owner name is
|
|
11276
|
+
notes: "Fort Bend County, Texas (Katy / Sugar Land / Missouri City, southwest Houston metro, pop. ~880K) serves parcels from a Fort Bend County GIS MapServer sourced from Fort Bend Central Appraisal District (FBCAD). Owner name is Owner_Name (the layer display field); owner mailing is Owner_Address_1/2/3 with Owner_City/Owner_State/Owner_Zip; the site address is Situs; identifiers are CAD_Reference_Number (R-number, e.g. R328356) and Property_Number. Owner search uses UPPER(Owner_Name) LIKE. Verified live 2026-05-30 (OwnerName = Shimmel John). Under Texas Tax Code \xA725.025, protected persons (peace officers, judges, family-violence victims) may have their owner/address records withheld. MIGRATED 2026-06-06: gisweb.fortbendcountytx.gov was decommissioned (Cloudflare 522) -- the public service moved to gisportal.fortbendcountytx.gov InteractiveMap/Parcels_Public/FeatureServer/1 (ArcGIS 11.3, 359,954 parcels; OwnerName search re-verified live), and at that point the field names had dropped their underscores (CADReferenceNumber, OwnerName). RENAMED BACK 2026-09-12: the same layer (the service's only layer) publishes the underscore names again (Owner_Name, CAD_Reference_Number, Property_Number, Owner_Address_1, Owner_City; 49 fields, displayField Owner_Name). The liveness probe read that rename as field-drift on 2026-09-10 and autoheal PR #632 tried to drop the five fields; nothing was removed upstream, so the fields were re-pointed at the current names and owner search re-verified live (10 rows for %SMITH%, e.g. R100208)."
|
|
11277
11277
|
},
|
|
11278
11278
|
{
|
|
11279
11279
|
id: "tx-williamson",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@urbankitstudio/atlas",
|
|
3
|
-
"version": "0.6.
|
|
3
|
+
"version": "0.6.4",
|
|
4
4
|
"description": "JS SDK for the UrbanKit County Parcel REST API Atlas: 171 counties across all 50 US states, 174 verified public ArcGIS REST endpoints for county parcel data, with searchable field metadata, sample queries and license info.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"parcel",
|
|
@@ -12,16 +12,17 @@
|
|
|
12
12
|
"api",
|
|
13
13
|
"geojson",
|
|
14
14
|
"featureserver",
|
|
15
|
-
"mapserver"
|
|
15
|
+
"mapserver",
|
|
16
|
+
"real-estate",
|
|
17
|
+
"property"
|
|
16
18
|
],
|
|
17
19
|
"homepage": "https://urbankitstudio.com/parcel-atlas",
|
|
18
20
|
"repository": {
|
|
19
21
|
"type": "git",
|
|
20
|
-
"url": "git+https://github.com/
|
|
21
|
-
"directory": "packages/atlas"
|
|
22
|
+
"url": "git+https://github.com/urbankitstudio/atlas.git"
|
|
22
23
|
},
|
|
23
24
|
"bugs": {
|
|
24
|
-
"url": "https://github.com/
|
|
25
|
+
"url": "https://github.com/urbankitstudio/atlas/issues"
|
|
25
26
|
},
|
|
26
27
|
"author": "UrbanKit Studio <urbankitstudio@gmail.com>",
|
|
27
28
|
"license": "MIT",
|
|
@@ -55,6 +56,7 @@
|
|
|
55
56
|
"prepublishOnly": "npm run typecheck && npm run test && npm run build"
|
|
56
57
|
},
|
|
57
58
|
"devDependencies": {
|
|
59
|
+
"@types/node": "^26.0.0",
|
|
58
60
|
"tsup": "^8.3.5",
|
|
59
61
|
"typescript": "^5.8.3",
|
|
60
62
|
"vitest": "^4.1.10"
|