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 http://esri.github.io/arcgis-rest-js/ (source code here).
You can install dependencies by cloning the repository and running:
npm installAfterward, 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.jsonand tsconfig.json if using typescript - Create a folder in your new package called
srcin 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/@esrithat 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.jsonin 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
.gitignorein the root level of your demo folder that ignorenode_modules. Be sure to ignore anenvfile as well if your demo is using any personal keys or tokens. - Run
mpm installwithin the/demosdirectory 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
startin your demo directory and your script is pointing to the correct index file. - Run
npm run startwhile being in your/demos/custom-demodirectory. - 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 http://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.