Giter Club home page Giter Club logo

aio-cli-plugin-aem-rde's Issues

Set and document exit codes

Similar to adobe/aio-cli-plugin-cloudmanager#215 all commands should indicate failures also via the exit code in order to ease using the commands in automation scripts. Currently failures just lead to log messages (e.g. in

} catch (err) {
progressBar.stop();
spinner.stop();
if (err instanceof String && err.endsWith('Concurrent modification')) {
cli.log(
'Your RDE is waiting for the upload of a previous invocation of the "install" command.'
);
cli.log('You can ignore this by using the "--force" flag.');
} else {
cli.log(err);
}
}
).)

It would be good to reuse the exit code categories defined in https://github.com/adobe/aio-cli-plugin-cloudmanager#exit-codes.

Pull Request action fails to check out code if branch is on a fork

If you look at #27, you'll see that the git checkout fails, with the following.

  /usr/bin/git -c protocol.version=2 fetch --no-tags --prune --progress --no-recurse-submodules --depth=1 origin +refs/heads/SKYOPS-46671*:refs/remotes/origin/SKYOPS-46671* +refs/tags/SKYOPS-46671*:refs/tags/SKYOPS-46671*
  The process '/usr/bin/git' failed with exit code 1

That change is on a branch on a fork

#28 is the same change but then on a 'local' branch where it works.

So the PR action doesn't work if the branch is on a fork.

Update dependencies

Update dependencies to latest compatible versions and allow the use of modern node js versions.

Allow the status to be exported as json

We would like to use the RDE env in a CI / CD environment, where we need to know if the environment is available before installing a next package.

The aem:rde:status is a textual description, it is non-parseable for an automated system.

Feature request:

  • Add a json output for the status command

Allow the reset command to be executed in the background

Expected Behaviour

Triggering the aio aem:rde reset command in a CI / CD pipeline is commonly the last command to be executed. The build status could already be set to succeeded or failed independently of the reset of the environment. It should be possible to trigger a reset without waiting for the finishing of that reset

Actual Behaviour

Currently the reset command is always blocking

Log login exception with context "aio-cli-plugin-cloudmanager"

Currently the code in getTokenAndKey silently catches all exceptions and falls back to the context cli.
That makes it close to impossible to debug issues with the context aio-cli-plugin-cloudmanager. Therefore I would suggest the following:

Only fall back to cli if there is no config at all for aio-cli-plugin-cloudmanager and pass the original exception to the caller otherwise.

Plugins handles status code insufficiently

Some API endpoints return status code 404 in case an ID was not found.
In example:
$ aio aem rde inspect inventory foobar
which then results in an API error message, which it actually is not.

› Error: [RDECLI:UNEXPECTED_API_ERROR] There was an unexpected API error code 404 with message Not Found. Please, try again later and if the error persists, report it. › Code: UNEXPECTED_API_ERROR

Check all API calls (when provided with an ID) to be handled correctly.

Improve log tailing and colorize log messages

The output of tailing logs is currently very choppy, because a batch of log lines is fetched every 1500ms and dumped onto the console in one go. When using the real "tail" command, lines are output as they arrive, which makes the output feel more fluid, and easier to track with the eyes. This ticket aims at achieving this effect.

Different colors for log lines of different severities would also be nice.

Conflicting requirements in package.json

In the package.json I see the following requirements (

):

"engines": {
    "npm": "^8.0.0",
    "node": "^16.13 || >=18"
  },

This leads to warning during installation, as newer versions of node (e.g. the latest LTS) ship with NPM 9.x. (https://nodejs.org/en/download/releases/):

npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: '@adobe/[email protected]',
npm WARN EBADENGINE   required: { npm: '^8.0.0', node: '^16.13 || >=18' },
npm WARN EBADENGINE   current: { node: 'v19.6.0', npm: '9.4.0' }
npm WARN EBADENGINE }

I think that adding a requirement on the node version is sufficient.

Set error exit code (!= 0) for "Error: 403 - Forbidden"

When I call e.g. aem:rde:reset I get back the output Error: 403 - Forbidden however the CLI exits with the success exit code (0). In case of errors always indicate that with an exit code != 0 to ease automatically evaluating the outcome. This is related to #18 .

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.