MapLargeInc.CLI 1.0.85

dotnet tool install --global MapLargeInc.CLI --version 1.0.85
                    
This package contains a .NET tool you can call from the shell/command line.
dotnet new tool-manifest
                    
if you are setting up this repo
dotnet tool install --local MapLargeInc.CLI --version 1.0.85
                    
This package contains a .NET tool you can call from the shell/command line.
#tool dotnet:?package=MapLargeInc.CLI&version=1.0.85
                    
nuke :add-package MapLargeInc.CLI --version 1.0.85
                    

MapLarge CLI

The MapLarge CLI provides tools for:

  • Administering MapLarge server instances
  • Developing extensions using the Application Development Kit (ADK)

With these tools, a local developer can create a new extension project, create new components, run the extension locally during development, and finally deploy the built and finished package to the MapLarge Server of their choice.

Setting up your local ADK environment

The MapLarge ADK (Application Development Kit) is a set of tools that allow developers to build and package extensions for the MapLarge server.

Follow these steps to setup your local environment.

Install Microsoft .NET SDK 8.0

https://dotnet.microsoft.com/en-us/download/dotnet/8.0

Install Node.js

https://nodejs.org/en/download

Install MapLarge CLI

The ADK comes bundled with the MapLarge CLI (command-line interface). You can install the CLI from a Nuget tool package via the command prompt.

$ dotnet tool install -g MapLargeInc.CLI --add-source [path to folder containing nupkg file] --version [package version number]

To validate the installation, run the following command to see the installed version of the CLI.

$ maplarge version
Trust ASP.NET dev certificates

To trust Microsoft's ASP.NET developer certificates, run the following:

$ dotnet dev-certs https --trust

Create an empty ADK project

One or more MapLarge extensions can be developed inside a single ADK project. To create an empty ADK project, run the following:

$ maplarge adk create-project -name MyExtensions

Change directory to your newly created project folder:

$ cd MyExtensions

Open Visual Studio Code

We recommend Visual Studio Code for developing client-side extensions for MapLarge. You can quickly open VS Code from the command prompt by running:

$ code .

Suggestion: You may use a Terminal Window inside VS Code to run CLI commands.

Adding a MapLarge extension to your ADK project

You may wish to create an empty extension, an extension based on a template, or clone an existing extension from source control.

Create an empty extension

To create a new, empty extension, run the following:

$ maplarge adk create-extension -name MyExtension

You should see a new folder for your extension inside the extensions/ folder in your project.

Create an extension from a template

To list available templates, run the following:

$ maplarge adk list-templates

To create an extension using a template, include the -template option, followed by the template name. For example:

$ maplarge adk create-extension -name MyExtension -template client-extension-empty
Clone an extension from source control

To clone an existing extension from source control, you must first determine the folder structure of the repo. Some repos house a single extension, while others contain multiple.

Single-extension Repo

A single-extension repo will contain a client/ and/or server/ folders and a manifest.json file in the root of the repo, among other files. For example:

client/
server/
manifest.json

To clone this repo, you may use the MapLarge CLI to clone the extension:

$ maplarge adk create-extension -name MyExtension -clone https://url-to repo-to-clone
Multi-extension Repo

A multi-extension repo will likely contain folders for each extension at the root of the repo, like this:

MyExtension/
    client/
    server/
    manifest.json
AnotherExtension/
    client/
    manifest.json

In this case, you'll need to clone your repo using git directly.

From the root of your ADK project, run the following, taking care to specify that you want your local clone to be put in the extensions/ folder.

$ git clone https://url-to-repo-to-clone extensions

Initialize your ADK project

To build, debug, and package MapLarge extensions, you must initialize your ADK project against a MapLarge server instance. There are two ways to do so.

Init against a remote server

Initialize your project against a running MapLarge server instance. The following command will download several configuration files, TypeScript declarations, and DLLs needed to package an extension that is compatible with that server's particular version.

$ maplarge adk init -remoteServer https://maplarge-instance-domain \
    -profile my-specific-instance-name

The -profile option will save the remote server URL (among other options like username/password), allowing you to run other commands (e.g. package, deploy) without needing to include such options every time.

Init against a local repository of server source code

Internal MapLarge developers who have cloned the server source code locally main initialize an ADK project against the local version, allowing them to make server changes in conjuction with ADK extension development.

$ maplarge adk init -remoteServer https://localhost:1234 \
    -localServerRoot "local-path-to-server-repo-root" \
    -profile local

This option recompiles all of the server TypeScript, so it may take significantly longer to init against a local source repo.

Running your local client-side extension

After initializing a client-side extension, you may run and debug the extension.

$ maplarge adk run

This command will compile the TypeScript and LESS files, and start a local ASP.NET server instance that will host your extension. While your extension is hosted locally, any communication with the MapLarge server instance (e.g. queries) will be sent to the server you initialized against. This means that your MapLarge server instance must be running while your local ADK project runs.

While your local project is running, changes to extension source files (e.g. TypeScript files) will automatically trigger a recompile of the extension. After it finishes, you may refresh your browser to see the changes.

Packaging an extension for deployment

In addition to debugging an extension locally (using run), you may also package up an extension and install it directly on a MapLarge server instance, just how it would be in production.

$ maplarge adk package -extensions MyExtension

The package command will create a ZIP file and deposit it in the .adk/.deploy/ folder. This ZIP file may be installed on a MapLarge instance via the sidebar menu: Admin → Extensions.

Deploying an extension from the command-line

The CLI allows developers to package, upload, and install an extension using a single command.

$ maplarge adk deploy -extensions MyExtension \
    -user user@domain.com \
    -password mypassword \
    -profile my-specific-instance-name \
    -install

Note: after running the above command, subsequent deploy calls may leave off the authentication parameters, since they are saved to the profile.

maplarge adk deploy -extensions MyExtension -profile my-specific-instance-name -install

Server-side Plugins

ADK projects also support server-side plugins. Code for these plugins resides in the server/ folder of an extension. An extension may include both client-side and server-side components. We recommend developers use Visual Studio to develop server-side plugins.

Server-side plugins must be deployed to a running MapLarge server instance in order to execute them.

CLI Help

For all CLI commands, you may include the -? option to see a list of options.

Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

This package has no dependencies.

Version Downloads Last Updated
1.0.85 1,317 3/5/2026
1.0.84 9,874 2/13/2026
1.0.83 16,903 1/13/2026
1.0.82 37,884 11/12/2025
1.0.81 15,985 10/21/2025
1.0.80 26,872 9/25/2025
1.0.79 282 9/25/2025
1.0.78 5,982 9/19/2025
1.0.77 11,012 9/5/2025
1.0.76 162 9/5/2025
1.0.75 4,842 8/21/2025
1.0.74 14,717 5/21/2025
1.0.73 925 5/16/2025
1.0.72 1,073 4/11/2025
1.0.71 408 4/3/2025
1.0.70 256 3/19/2025
1.0.69 363 3/6/2025
1.0.68 272 2/21/2025
1.0.67 256 2/20/2025
Loading failed

v1.0.85
- Fixed an issue where init was not waiting for PluginDependencies.zip to copy before extracting.
- Added UseCors to the ADK server so cross origin requests work properly.
v1.0.84
- Fixes Javascript sourcemaps.
- Allow customization of exclude array in tsconfig.
- Fixes an issue where git branch incorporation into pre-release package names fails when the root of the git repo is nested below the ADK project root folder.
- Added `json` sub-commands for reading and writing JSON properties in JSON files (e.g. customizing properties manifest.json).
v1.0.83
- Added `--pre-release` option for `package` and `deploy` commands.
- Added keyword `GITBRANCH` for `--pre-release` option to incorporate git branch names into extension versions.
- Added POSIX aliases for `--increment-version` (`-i`), `--pre-release` (`-r`), and `--extension` (`-e`, `-extensions`).
- Fixed an issue where the first module in the JS file of an extension would be appended to a wrapper line and would be missed in the BundleDirectory.
- Fixes escape sequences for TeamCity service messages.
- Place extension release notes file in predictable location in ADK package.
- Consistently use auth credentials provided by a CLI profile for all network requests.
- Replace potentially missing tsconfig.json file when running `maplarge adk update-version`.
- Honor `-allowUntrustedCerts` option for all admin group commands.
v1.0.82
- Added an `--if-exists` flag to the `adk exec` command to skip running a command if it does not exist in the DevAutomation scripts.
- Added `OverwriteOnInstall` in the `Config` section to enable or disable overwriting config on extension install. Default behavior is `true`, to overwrite on install.
v1.0.81
- Switched to NuGetVersion to support prerelease and build versions.
- Deprecated incrementVersion `REVISION`
- Deprecated incrementVersion `BUILD` and was replaced with `PATCH` Versions should be `MAJOR.MINOR.PATCH` to follow semver.
- Added autogenerated Markdown documentation for the CLI and a command to print the location of the documenation after CLI installation.
- Added command to extract data by key from the manifest of an extension ZIP.
- Added -install option to `maplarge admin extension push` command.
- Support for bundling official release notes for extensions.
- Support for SERVER_INSTALLED keyword when downloading an extension's schema.
v1.0.80
- Fixed bug in DevAutomation that neglected to pay attention to profile rules when executing automation scripts.
v1.0.79
- Added commands for downloading an extension's config and associated schema.
v1.0.78
- New template for adding Playwright testing to an ADK project.
- Added command "adk new feature" to facilitate installing new types of templates.
- Added special keywords INSTALLED and ALL_NOT_INSTALLED to allow more flexibility when installing and deleting extensions.
v1.0.77
- Added support for .packageignore file to exclude files and folders from designated folders in the manifest.
- Added command for retrieving a list of uploaded extension versions from a server (maplarge admin extension list-versions).
- Added command for remotely updating an extension's configuration JSON (maplarge admin extension config update).
- Support for defining ETL Workflows in an extension manifest.
- Added Commands property to DevAutomation events for more granular control of when scripts run.
- Support for build events (e.g. compileTypeScript, compileStyles, etc.) in DevAutomation.
v1.0.75
- Added validation for extension dependency versions, including --bypass-dependency-failures flag.
- Added support for SERVER_INSTALLED and LATEST option values for downloading extensions.
- Fixed passing arguments to Powershell scripts for DevAutomation.
- Use pwsh for DevAutomation Powershell scripts.
- Prevent _static files from being included in compile operations.
- Improvements to cluster commands.
- Added Config section to the extension manifest, including schema validation for extension configs.
- Added Assets section to the extension manifest.
v1.0.74
- Fixes bug in ADK extension deploy command.
- Improved intellisense for DevAutomation events.
v1.0.73
- Upgrade ES target to ES2022 for servers 4.99 or higher.
- Add option to `adk init` to override the ES target.
- Add option `-purgeOtherVersions` to `adk deploy` to automatically delete unnecessary prior extension versions.
- Removed compileOnSave property from tsconfig template.
v1.0.72
- Support for -seedVersion option, allowing users to set an extension's version to a literal value or the version installed on a specified server; may be used in conjunciton with -incrementVersion to auto increment an extension version when iteratively deploying to a development environment.
v1.0.71
- ADK templates updated to follow better patterns/practices.
- A new "raptor" extension template has been created (and set to the default).
v1.0.70
- The "adk create-project" command now has interaction. When a name is not provided for a project, it will prompt for a name. Additionally, it will ask whether or not to enable strict mode. Use "-no-interact" to avoid interactions and enable by default. Use `-disable-strict` to disable strict mode.
- The "adk create-project" and "adk create-extension" commands are now marked as deprecated. In their place are "adk new project" (or "adk new p" for short) and "adk new extension" (or "adk new e" / "adk new ext" for short).
- A "adk new component" (or "adk new c" for short) command has been created to add component templates. The current components are "viewModel" ("vm" for short) for a Raptor ViewModel and "page" ("p" for short) for a Raptor page view definition.
v1.0.69
- Support for ADK event-based script automation (DevAutomation)
- Updated to TypeScript 5.7 when initialized against remote servers using core version 4.99 or higher
- Options added to the "adk update-version" command to initialize after updating in one step. Use the "-i"/"--init" option to init after updating with the last used profile or provide "-p"/"--profile" to specify which profile to initialize with.
v1.0.68
- Add icon to nuget packaging
- Expand package README.md
v1.0.67
- Defaults to strict mode for client-side tsconfig
- Adds -allowUntrustedCerts option for bypassing SSL certificate validation
v1.0.66
- Updates auto-bundling of release notes
- Changes nuget package name to MapLargeInc.CLI
v1.0.0.29
- Added auto-bundling of release notes
- Fixed incorrect path to PluginDependencies in server-plugins ADK template