GithubHelp home page GithubHelp logo

feidianbo / arcgis-js-cli Goto Github PK

View Code? Open in Web Editor NEW

This project forked from esri/arcgis-js-cli

0.0 1.0 0.0 1.55 MB

CLI to build a template application and widgets using the ArcGIS API for JavaScript

License: Apache License 2.0

JavaScript 27.06% TypeScript 58.86% CSS 1.46% HTML 3.85% SCSS 7.24% EJS 1.52%

arcgis-js-cli's Introduction

@arcgis/cli

npm version build status apache licensed

This CLI will allow you to quickly scaffold various applications for the ArcGIS API for JavaScript.

Usage

Prerequisites

You will need node v8+.

  • NOTE FOR WINDOWS USERS - You may need to install the Windows-Build-Tools to compile npm modules for this project. npm install --global --production windows-build-tools

Installation

From NPM

npm install -g @arcgis/cli

In a terminal, run:

arcgis --help

This will output the following:

Usage: arcgis <name> [dest] -t <type>

Commands:
  arcgis create <name> [dest]  Create a new application.
  arcgis init [type]           Initialize a new application in current directory
  arcgis widget <name> [type]  Create a new Widget.
  arcgis styles <subcommand>   Run commands to work with a custom CSS
                               theme

Quick Start

default template webpack application

arcgis create jsapi-app

vite template application

arcgis create jsapi-vite-app -t vite

Sample Apps

Features

Create a new application

$ arcgis create <name> [dest]

Create a new application.

Options:
  --version   Show version number                                                        [boolean]
  --name, -n  directory and package name for the new app
  --dest      Directory to create the application in                                     [default: <name>]
  --type, -t  A project template           [choices: "jsapi". "vite"] [default: "jsapi"]
  -h, --help  Show help                                                                  [boolean]

Initialize a new application in current directory

$ arcgis init [type]

Initialize a new application in current directory

Options:
  --version   Show version number                                                        [boolean]
  --type, -t  A project template           [choices: "jsapi". "vite"]                  [default: "jsapi"]
  -h, --help  Show help                                                                  [boolean]

Create a new widget

$ arcgis widget <name> [type]

Create a new Widget.

Options:
  --version   Show version number                                      [boolean]
  --name, -n  Name of new widget
  --type, -t  A widget template            [choices: "jsapi", "exb"] [default: "jsapi"]
  -h, --help  Show help                                                [boolean]

Experience Builder Widgets

The CLI can be used to scaffold custom widgets for the ArcGIS Experience Builder Developer Edition.

You will want to run the CLI in the extracted root directory of your Experience Builder installation.

arcgis widget my-widget -t exb

This will install your widget in the Experience Builder folder structure as follows.

<Experience-Builder-Installation>\client\your-extensions\widgets\MyWidget\

Author a custom theme

Create a new CSS theme.

$ arcgis styles <subcommand>

Run subcommands to work with a custom CSS theme

Commands:
  arcgis styles create [theme]   Create a custom theme
  arcgis styles preview [theme]  Launch theme-preview test page
  arcgis styles eject [theme]    Eject a built theme ready for deployment
  arcgis styles list             List existing themes in the current project
  arcgis styles clean            Removes any local scaffolding. This should be
                                 used when no more theme authoring is to be done
                                 in the working directory.
  arcgis styles scaffold         Sets up project scaffolding. This is done
                                 automatically when creating a theme for the
                                 first time.

Create a new theme

$ arcgis styles create [theme]

Create a custom theme

Positionals:
  theme  the name of the theme to create   [string] [default: "my-custom-theme"]

Options:
      --version            Show version number                             [boolean]
      -e, --with-examples  when specified, the created theme will include examples
                           from the API                                    [boolean]
      -b, --with-base      when specified, the created theme will include base files
                           for local overrides (advanced)                  [boolean]
      -f, --force          overwrites a theme if it already exists         [boolean]
      -h, --help           Show help                                       [boolean]

Preview a theme

$ arcgis styles preview [theme]

Launch theme-preview test page

Positionals:
  theme  the name of the theme to preview (this is only needed if there is more
         than one theme in the workspace)  [string] [default: "my-custom-theme"]

Options:
      --version      Show version number                                   [boolean]
      -p, --port     port to use for the preview page                       [number]
      -h, --help     Show help                                             [boolean]

Eject a theme

$ arcgis styles eject [theme]

Eject a built theme ready for deployment

Positionals:
  theme  the name of the theme to eject (this is only needed if there is more
         than one theme in the workspace)  [string] [default: "my-custom-theme"]

Options:
      --version      Show version number                                   [boolean]
      -h, --help     Show help                                             [boolean]

List themes

$ arcgis styles list

List existing themes in the current project

Options:
      --version      Show version number                                   [boolean]
      -h, --help     Show help                                             [boolean]

Clean themes workspace

$ arcgis styles clean

Removes any local scaffolding. This should be used when no more theme authoring
is to be done in the working directory.

Options:
      --version      Show version number                                   [boolean]
      -f, --force    required to clean any local scaffolding used by this utility
                                                                           [boolean]
      -h, --help     Show help                                             [boolean]

Scaffold styling workspace

$ arcgis styles scaffold

Sets up project scaffolding. This is done automatically when creating a theme
for the first time.

Options:
      --version      Show version number                                   [boolean]
      -f, --force    forces creation of project scaffolding                [boolean]
      -h, --help     Show help                                             [boolean]

Issues

Find a bug or want to request a new feature enhancement? Let us know by submitting an issue.

Contributing

Anyone and everyone is welcome to contribute. We do accept pull requests.

  1. Get involved
  2. Report issues
  3. Contribute code
  4. Improve documentation

Licensing

Copyright 2020 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

http://www.apache.org/licenses/LICENSE-2.0

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

arcgis-js-cli's People

Contributors

biboba avatar cov-gis avatar davewilton avatar dependabot[bot] avatar gavinr avatar gavinr-maps avatar jcartwright-noaa avatar jcfranco avatar odoe avatar ralucanicola avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.