Research
Security News
Quasar RAT Disguised as an npm Package for Detecting Vulnerabilities in Ethereum Smart Contracts
Socket researchers uncover a malicious npm package posing as a tool for detecting vulnerabilities in Etherium smart contracts.
@sap-devx/inquirer-gui
Advanced tools
The master
branch now supports Vue3 and Vuetify3.
The Form
component, builtin plugins and all custom plugins were migrated.
The new versioning is 3.x.y.
We still keep master-maintenance
branch that is based on Vue2.
Please reserve the use of this branch exclusively for critical features or bug fixes.
Since we're still in the process of fully transitioning to Vue3, any changes made here will also need to be contributed to the master branch (Vue3 based).
When making changes, make sure to increase the version number based on the nature of the change. However, DO NOT increase the major version to 3, as that version is specifically reserved for the Vue3 release channel.
inquirer-gui
is a UI component that displays Inquirer.js-compliant questions in an interactive HTML form.
There are several use-cases for the consuming inquirer-gui
component:
We provide examples for some of the above use-cases.
First, clone this directory:
git clone https://github.com/SAP/inquirer-gui
Use the provided sample-app
:
npm install
cd sample-app
npm install
npm run serve
This will run the web server on localhost
on an available port. Open the provided link in the browser.
Use the provided sample-app-vite
:
npm install
cd sample-app-vite
npm install
npm run serve
This will run the web server on localhost
on an available port. Open the provided link in the browser.
Use the provided sample-app
and websocket-server
:
npm install
cd websocket-server
npm install
If using Visual Studio Code, run the WebSocket Server
debug configuration. This will start the sample WebSocket server that listens for requests on port 8081
.
cd sample-app
npm install
npm run serve
This will run the web server on localhost
on an available port. Open the provided link in the browser.
Use the provided sample-vscode-extension
:
cd sample-vscode-extension
npm install
npm run compile
npm run copy-dist
Open the sample-vscode-extension
as root folder and in the run configurations choose Launch Extension
.
If you change the source code of the extension itself you must re-run npm run compile
.
If changing the webview content don't forget to update the dist
folder by running npm run clean-dist && npm run copy-dist
.
The copy-dist
script creates the dist
folder containing the Vue Web application you want to load as webview in a VSCode extension panel and copy it to the extension.
Note that the vscode extension contains example code that loads the index.html, styles and scripts. In Vue3 using vite based configuration, the bundled code and structure has been changed so this code has to be adjusted accordingly.
If writing a Vue application, simply add the following line to your <template>
tag:
<Form ref="form" :questions="questions" @answered="onAnswered" />
The questions
property is an inquirer.js-compliant array of questions. E.g.:
[
{
type: "input",
name: "name",
message: "Your name (frontend)",
default: "Joe",
validate: function (input) {
if (input.length >= 2) {
return true;
} else {
return "Name must be at least 2 characters long";
}
}
}
]
The answered
event is fired when any answer is changed:
answers
, contains all answers.issues
, can be used to, for example, enable or disable a Next
button.inquirer-gui
provides built-in form elements for all built-in inquirer.js
question types:
list
, rawlist
expand
checkbox
confirm
input
(number, password and input)editor
inquirer-gui
supports custom form elements via its plugin
mechanism (see more here).
A form element plugin is a javascript
object with this structure:
{
questionType: '<inquirer-question-type>';
component: <MyVueComponent>;
}
Where questionType
is the string provided in the question's type
property, and component
is a Vue
component that renders questions of the given type.
There is example of a custom form element in the /sample-plugin
folder. It is defined as a Vue plugin
and was published as @sap-devx/inquirer-gui-date-plugin
on npm
.
Consume a custom form element as a Vue plugin
using the app.use()
method. The plugin is returned in the method's options
parameter. For example, refer to /sample-app/src/App.vue
:
import DatePlugin from "@sap-devx/inquirer-gui-date-plugin";
const options = {};
// use the Vue plugin
app.use(DatePlugin, options);
// register the inquirer-gui plugin with your form instance
form.registerPlugin(options.plugin);
releases
in github and click on Draft a new release
.Choose a tag
enter vx.y.z
- add the v
prefix to the current version from step (1) and click Publish release
. This will automatically trigger the publish script action in circleci and publish this npm module to npmjs.npm publish
command by an admin user.To get more help, support and information please open a github issue.
Contributing information can be found in the CONTRIBUTING.md file.
FAQs
Inquirer Graphical User Interface
The npm package @sap-devx/inquirer-gui receives a total of 4 weekly downloads. As such, @sap-devx/inquirer-gui popularity was classified as not popular.
We found that @sap-devx/inquirer-gui demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 3 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
Socket researchers uncover a malicious npm package posing as a tool for detecting vulnerabilities in Etherium smart contracts.
Security News
Research
A supply chain attack on Rspack's npm packages injected cryptomining malware, potentially impacting thousands of developers.
Research
Security News
Socket researchers discovered a malware campaign on npm delivering the Skuld infostealer via typosquatted packages, exposing sensitive data.