compact, modular JavaScript wrappers for the ArcGIS REST API that run in Node.js and modern browsers.
- Example
- API Reference
- Instructions
- Packages
- FAQ
- Issues
- Versioning
- Contributing
- Code of Conduct
- CHANGELOG
- License
import { request } from "@esri/arcgis-rest-request";
const url =
"https://www.arcgis.com/sharing/rest/content/items/6e03e8c26aad4b9c92a87c1063ddb0e3/data";
request(url).then((response) => {
console.log(response); // WebMap JSON
});
The documentation is published at https://esri.github.io/arcgis-rest-js/ (source code here).
You can install dependencies by cloning the repository and running:
npm install
Afterward, for a list of all available commands run npm run
.
For all packages
npm run build
- builds all distributions of every package withultra
, inside each package builds are done in parallel withnpm-run-all
. Output is errors only.npm run build:esm
,npm run build:cjs
,npm run build:bundled
- as as the above but only one of our target distributions.npm run dev:esm
,npm run dev:cjs
,npm run dev:bundled
- runs the appropriate watch command in all packages.
For a specific package
npm run build -w @esri/arcgis-rest-request
- run all builds in a specific workspacenpm run dev -w @esri/arcgis-rest-request
- run all dev commands in a specific workspacenpm run build:esm -w @esri/arcgis-rest-request
- run the esm build in a specific workspacenpm run dev:esm -w @esri/arcgis-rest-request
- run the esm dev command in a specific workspacenpm run build:cjs -w @esri/arcgis-rest-request
- run the common js build in a specific workspacenpm run dev:cjs -w @esri/arcgis-rest-request
- run the common js dev command in a specific workspacenpm run build:bundled -w @esri/arcgis-rest-request
- run the rollup build in a specific workspacenpm run dev:bundled -w @esri/arcgis-rest-request
- run the rollup dev command in a specific workspace
- In
/packages
, create a new folder with your desired new package name - Each package will have it’s own local
package.json
and tsconfig.json if using typescript - Create a folder in your new package called
src
in which your code will be defined - After creating your custom package, go to the root
package.json
, under the propertyworkspaces
, add the title of your custom package - Run
npm build:esm
- Check in the root
node_modules/@esri
that your new custom package has been added - Go into
/demos
, create a new folder and title what you want to call your demo - Add a local
package.json
in your new demo folder. Add your custom package name as a dependency and be sure to have at least these properties in yourpackage.json
,dependency, name, version, - description, license, type, main, scripts, and author
. - Add a
.gitignore
in the root level of your demo folder that ignorenode_modules
. Be sure to ignore anenv
file as well if your demo is using any personal keys or tokens. - Run
mpm install
within the/demos
directory and make sure your demo folder has it's own local node_modules. - In your
demo/index
, import your custom package. - To run your demo be sure to have script that has a property
start
in your demo directory and your script is pointing to the correct index file. - Run
npm run start
while being in your/demos/custom-demo
directory. - Add a readme describing your demo.
@esri/arcgis-rest-request
- Core module implementing basic request code, shared TypeScript types and common utilities.@esri/arcgis-rest-portal
- Methods for working with ArcGIS Online/Enterprise content and users.@esri/arcgis-rest-feature-service
- Functions for querying, editing, and administering hosted feature layers and feature services.@esri/arcgis-rest-geocoding
- Geocoding wrapper for@esri/arcgis-rest-js
@esri/arcgis-rest-routing
- Routing and directions wrapper for@esri/arcgis-rest-js
.
If something isn't working the way you expected, please take a look at previously logged issues first. Have you found a new bug? Want to request a new feature? We'd love to hear from you.
If you're looking for help you can also post issues on Stack Overflow with the esri-oss
tag.
For transparency into the release cycle and in striving to maintain backward compatibility, @esri/arcgis-rest-js is maintained under Semantic Versioning guidelines and will adhere to these rules whenever possible.
For more information on SemVer, please visit https://semver.org/.
Esri welcomes contributions from anyone and everyone. Please see our guidelines for contributing.
Copyright © 2017-2022 Esri
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
A copy of the license is available in the repository's LICENSE file.