npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@adobe/aio-cli-plugin-aem

v1.2.0

Published

AEM-related plugins to Adobe I/O CLI

Downloads

140

Readme

Overview

Plugin to Adobe I/O CLI for executing commands related to Adobe Experience Manager.

Usage

To install the and use the command locally:

$ npm install -g @adobe/aio-cli-plugin-aem
$ aio-aem COMMAND
running command...
$ aio-aem (-v|--version|version)
@adobe/aio-cli-plugin-aem/1.2.0 linux-x64 node-v18.16.1
$ aio-aem --help [COMMAND]
USAGE
  $ aio-aem COMMAND
...

Adding New Commands

To add a new command, do the following:

  • Create a new javascript file, named after the command, in src/commands/aem.
  • Use the contents of src/commands/aem/upload.js as a starting point for your command, paying particular attention to the command's flags, args, and description. For additional information and features, see https://oclif.io.
  • Ensure that the file's exports include an object with a property matching the command name.

Testing Commands

There are a couple options for running commands through the locally cloned repository.

// run command through Node.js
node bin/run aem:COMMAND
// run command as a binary (Mac)
./bin/run aem:COMMAND
// run command as a binary (Windows)
bin/run.cmd aem:COMMAND
// run using specifed NPM command
npm link // only needs to be run once
aio-aem aem:COMMAND

Commands

aio-aem aem:upload FILES_FOLDERS

Upload asset binaries to AEM

Upload asset binaries to AEM
Uploads one or more files to a target AEM instance. The upload process uses the
direct binary access algorithm, so the target instance must have direct binary
access enabled; otherwise the upload will fail.

The process will upload the files or directories (optionally recursively) provided in
the command.

Note that the process will only work with AEM instances that use basic
(i.e. non-SSO) authentication.

USAGE
  $ aio-aem aem:upload FILES_FOLDERS

ARGUMENTS
  FILES_FOLDERS  Space-delimited list of files and folders to upload.

OPTIONS
  -c, --credential=credential  [default: admin:admin] AEM credential
                               The username and password for authenticating with the
                               target AEM instance. Should be in the format
                               <username>:<password>.

  -d, --deep                   Whether or not to recursively upload
                               all descendant folders and files

  -h, --host=host              [default: http://localhost:4502] AEM host
                               The host value of the AEM instance where files will be
                               uploaded. This should include everything in the host's
                               URL up until /content/dam.

  -l, --log=log                [default: upload-${timestamp}.log] Log file path
                               The local path to where the process's log messages
                               should be saved.

  -o, --output=output          [default: result-${timestamp}.html] Result html file path
                               The local path to where the process's metrics will be
                               saved in html format.

  -r, --threads=threads        [default: 5] Maximum threads
                               Maximum number of files to upload concurrently.

  -t, --target=target          [default: /content/dam/aem-upload-${timestamp}] Target AEM folder
                               The folder in the target AEM instance where asset
                               binaries should be uploaded. Should always begin with
                               /content/dam.

  -v, --version                Show version

  --help                       Show help

DESCRIPTION
  Uploads one or more files to a target AEM instance. The upload process uses the
  direct binary access algorithm, so the target instance must have direct binary
  access enabled; otherwise the upload will fail.

  The process will upload the files or directories (optionally recursively) provided in
  the command.

  Note that the process will only work with AEM instances that use basic
  (i.e. non-SSO) authentication.

EXAMPLES
  $ aio aem:upload myimage.jpg
  $ aio aem:upload -h http://myaeminstance -c admin:12345 myimage.jpg

See code: src/commands/aem/upload.js

Proxy Support

The AEM plugin supports proxies inline with the AIO CLI. See the documentation there for details.

Releasing

This module uses semantic-release when publishing new versions. The process is initiated upon merging commits to the master branch. Review semantic-release's documentation for commit message format.

PRs whose messages do not meet semantic-release's format will not generate a new release.

Release notes are generated based on git commit messages. Release notes will appear in CHANGELOG.md.

Contributing

Contributions are welcomed! Read the Contributing Guide for more information.

Licensing

This project is licensed under the Apache V2 License. See LICENSE for more information.