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

@sap-ux/ui5-application-inquirer

v0.6.5

Published

Prompts module that can prompt users for inputs required for UI5 application writing

Downloads

480

Readme

@sap-ux/ui5-application-inquirer

Provides Inquirer based prompting to allow input and validation of data required to generate a UI5 application

Installation

Npm npm install --save @sap-ux/ui5-application-inquirer

Yarn yarn add @sap-ux/ui5-application-inquirer

Pnpm pnpm add @sap-ux/ui5-application-inquirer

Explainer

Prompts may be retrieved using getPrompts and then executed in another prompting module that supports inquirer type prompts. However, it is recommended to call prompt so that unanswered prompts can be assigned defaults if provided via prompt options before returning, otherwise this needs to be taken care of by the callers prompting functionality. Note that hidden prompts, for example those hidden behind the advanced option, may not have been executed, depending on the users selection of showAdvanced. In addition, previous answers need to be provided to default functions, and this is taken care of when calling prompt but would need to be handled by the consumers prompting framework if using the prompts returned by getPrompts directly.

getPrompts is provided to allow consumers to access prompts. There may be cases where these can be transformed to support other prompting frameworks. Most prompt configuration is possible via UI5ApplicationInquirerOptions and calling prompt.

Configurability of prompts is entirely controlled using the UI5ApplicationInquirerOptions parameter. Note that if a prompt is hidden specifiying the hide property as true, the prompt validation or default functions will not be execute and so there may not be an answer provided for that prompt name. It is advisable therefore to provide a default value or function when hiding prompts that are not specified as advanced option prompts.

Similarly if a prompt is set to be grouped under advanced options by specifying advancedOption as true, these prompts may not be executed if the end-user chooses not to set them. In this case a default will be provided based on the current fallback defaults or default provided as the property default. See Inquirer.js for valid default properties.

Inquirer usage example:

In the following example the prompts are customised as follows:

  • Provides a default application name of 'travelApp'
  • Provides additional validation of description to be less than 50 characters
  • Hides the UI5 version prompt behind an advanced confirm prompt
import { type UI5ApplicationPromptOptions, type UI5ApplicationAnswerspromptNames, prompt } from '@sap-ux/ui5-application-inquirer';
import { type InquirerAdapter } from '@sap-ux/inquirer-common';
import inquirer from 'inquirer';

const promptOptions: UI5ApplicationPromptOptions = {
    // Provides a default UI5 application name
    [promptNames.name]: {
        default: 'travelApp'
    },
    // Adds additional validation to description prompt
    [promptNames.description]: {
        validate: (description, previousAnsers) => {
            if (description.length > 50) {
                return 'Please enter a description less than 50 characters'
            }
        }
    },
    // Hide behind `showAdvanced` prompt
    [promptNames.ui5Version]: {
        advanced: true
    }
}

const inquirerAdapter: InquirerAdapter = {
    prompt: inquirer.prompt
};

// ui5AppAnswers will contain all values required to generate a UI5 app
const ui5AppAnswers: UI5ApplicationAnswers = await prompt(
    inquirerAdapter,
    promptOptions
);

License

Read License.

Keywords

SAP UI5 Application Inquirer Prompting Generator