Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: SBoudrias/Inquirer.js
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: inquirer@10.0.3
Choose a base ref
...
head repository: SBoudrias/Inquirer.js
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: f2c4983dd390c6244fb4668a8e87c9e786e4326f
Choose a head ref
  • 3 commits
  • 23 files changed
  • 3 contributors

Commits on Jul 19, 2024

  1. Fix references to default branch

    masaru-iritani authored and SBoudrias committed Jul 19, 2024
    Copy the full SHA
    3cdf71a View commit details
  2. Fixed bug where overriding a boolean value with an object path caused…

    … a runtime error (#1476)
    
    Fixes #1473
    
    ---------
    
    Co-authored-by: Simon Boudrias <admin@simonboudrias.com>
    andrewmcgivery and SBoudrias authored Jul 19, 2024
    Copy the full SHA
    19126b6 View commit details
  3. Publish

     - @inquirer/checkbox@2.4.1
     - @inquirer/confirm@3.1.16
     - @inquirer/core@9.0.4
     - @inquirer/demo@0.7.5
     - @inquirer/editor@2.1.16
     - @inquirer/expand@2.1.16
     - @inquirer/input@2.2.3
     - inquirer@10.0.4
     - @inquirer/number@1.0.4
     - @inquirer/password@2.1.16
     - @inquirer/prompts@5.2.1
     - @inquirer/rawlist@2.1.16
     - @inquirer/select@2.4.1
     - @inquirer/testing@2.1.27
    SBoudrias committed Jul 19, 2024
    Copy the full SHA
    f2c4983 View commit details
4 changes: 2 additions & 2 deletions .github/workflows/codeql-analysis.yml
Original file line number Diff line number Diff line change
@@ -8,10 +8,10 @@ name: 'CodeQL'

on:
push:
branches: ['master']
branches: ['main']
pull_request:
# The branches below must be a subset of the branches above
branches: ['master']
branches: ['main']
schedule:
- cron: '35 6 * * 0'

8 changes: 4 additions & 4 deletions packages/checkbox/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@inquirer/checkbox",
"version": "2.4.0",
"version": "2.4.1",
"engines": {
"node": ">=18"
},
@@ -55,16 +55,16 @@
],
"author": "Simon Boudrias <admin@simonboudrias.com>",
"license": "MIT",
"homepage": "https://github.com/SBoudrias/Inquirer.js/blob/master/packages/checkbox/README.md",
"homepage": "https://github.com/SBoudrias/Inquirer.js/blob/main/packages/checkbox/README.md",
"dependencies": {
"@inquirer/core": "^9.0.3",
"@inquirer/core": "^9.0.4",
"@inquirer/figures": "^1.0.4",
"@inquirer/type": "^1.5.0",
"ansi-escapes": "^4.3.2",
"yoctocolors-cjs": "^2.1.2"
},
"devDependencies": {
"@inquirer/testing": "^2.1.26"
"@inquirer/testing": "^2.1.27"
},
"scripts": {
"tsc": "yarn run tsc:esm && yarn run tsc:cjs",
8 changes: 4 additions & 4 deletions packages/confirm/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@inquirer/confirm",
"version": "3.1.15",
"version": "3.1.16",
"description": "Inquirer confirm prompt",
"main": "./dist/cjs/index.js",
"typings": "./dist/cjs/types/index.d.ts",
@@ -52,13 +52,13 @@
],
"author": "Simon Boudrias <admin@simonboudrias.com>",
"license": "MIT",
"homepage": "https://github.com/SBoudrias/Inquirer.js/blob/master/packages/confirm/README.md",
"homepage": "https://github.com/SBoudrias/Inquirer.js/blob/main/packages/confirm/README.md",
"dependencies": {
"@inquirer/core": "^9.0.3",
"@inquirer/core": "^9.0.4",
"@inquirer/type": "^1.5.0"
},
"devDependencies": {
"@inquirer/testing": "^2.1.26"
"@inquirer/testing": "^2.1.27"
},
"scripts": {
"tsc": "yarn run tsc:esm && yarn run tsc:cjs",
16 changes: 8 additions & 8 deletions packages/core/README.md
Original file line number Diff line number Diff line change
@@ -79,14 +79,14 @@ const answer = await confirm({ message: 'Do you want to continue?' });

See more examples:

- [Confirm Prompt](https://github.com/SBoudrias/Inquirer.js/blob/master/packages/confirm/src/index.mts)
- [Input Prompt](https://github.com/SBoudrias/Inquirer.js/blob/master/packages/input/src/index.mts)
- [Password Prompt](https://github.com/SBoudrias/Inquirer.js/blob/master/packages/password/src/index.mts)
- [Editor Prompt](https://github.com/SBoudrias/Inquirer.js/blob/master/packages/editor/src/index.mts)
- [Select Prompt](https://github.com/SBoudrias/Inquirer.js/blob/master/packages/select/src/index.mts)
- [Checkbox Prompt](https://github.com/SBoudrias/Inquirer.js/blob/master/packages/checkbox/src/index.mts)
- [Rawlist Prompt](https://github.com/SBoudrias/Inquirer.js/blob/master/packages/rawlist/src/index.mts)
- [Expand Prompt](https://github.com/SBoudrias/Inquirer.js/blob/master/packages/expand/src/index.mts)
- [Confirm Prompt](https://github.com/SBoudrias/Inquirer.js/blob/main/packages/confirm/src/index.mts)
- [Input Prompt](https://github.com/SBoudrias/Inquirer.js/blob/main/packages/input/src/index.mts)
- [Password Prompt](https://github.com/SBoudrias/Inquirer.js/blob/main/packages/password/src/index.mts)
- [Editor Prompt](https://github.com/SBoudrias/Inquirer.js/blob/main/packages/editor/src/index.mts)
- [Select Prompt](https://github.com/SBoudrias/Inquirer.js/blob/main/packages/select/src/index.mts)
- [Checkbox Prompt](https://github.com/SBoudrias/Inquirer.js/blob/main/packages/checkbox/src/index.mts)
- [Rawlist Prompt](https://github.com/SBoudrias/Inquirer.js/blob/main/packages/rawlist/src/index.mts)
- [Expand Prompt](https://github.com/SBoudrias/Inquirer.js/blob/main/packages/expand/src/index.mts)

## API

6 changes: 3 additions & 3 deletions packages/core/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@inquirer/core",
"version": "9.0.3",
"version": "9.0.4",
"engines": {
"node": ">=18"
},
@@ -55,7 +55,7 @@
],
"author": "Simon Boudrias <admin@simonboudrias.com>",
"license": "MIT",
"homepage": "https://github.com/SBoudrias/Inquirer.js/blob/master/packages/core/README.md",
"homepage": "https://github.com/SBoudrias/Inquirer.js/blob/main/packages/core/README.md",
"dependencies": {
"@inquirer/figures": "^1.0.4",
"@inquirer/type": "^1.5.0",
@@ -72,7 +72,7 @@
"yoctocolors-cjs": "^2.1.2"
},
"devDependencies": {
"@inquirer/testing": "^2.1.26"
"@inquirer/testing": "^2.1.27"
},
"scripts": {
"tsc": "yarn run tsc:esm && yarn run tsc:cjs",
6 changes: 3 additions & 3 deletions packages/demo/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@inquirer/demo",
"version": "0.7.4",
"version": "0.7.5",
"engines": {
"node": ">=18"
},
@@ -61,8 +61,8 @@
"license": "MIT",
"homepage": "https://github.com/SBoudrias/Inquirer.js",
"dependencies": {
"@inquirer/core": "^9.0.3",
"@inquirer/prompts": "^5.2.0",
"@inquirer/core": "^9.0.4",
"@inquirer/prompts": "^5.2.1",
"yoctocolors-cjs": "^2.1.2"
},
"publishConfig": {
8 changes: 4 additions & 4 deletions packages/editor/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@inquirer/editor",
"version": "2.1.15",
"version": "2.1.16",
"description": "Inquirer multiline editor prompt",
"main": "./dist/cjs/index.js",
"typings": "./dist/cjs/types/index.d.ts",
@@ -52,14 +52,14 @@
],
"author": "Simon Boudrias <admin@simonboudrias.com>",
"license": "MIT",
"homepage": "https://github.com/SBoudrias/Inquirer.js/blob/master/packages/editor/README.md",
"homepage": "https://github.com/SBoudrias/Inquirer.js/blob/main/packages/editor/README.md",
"dependencies": {
"@inquirer/core": "^9.0.3",
"@inquirer/core": "^9.0.4",
"@inquirer/type": "^1.5.0",
"external-editor": "^3.1.0"
},
"devDependencies": {
"@inquirer/testing": "^2.1.26"
"@inquirer/testing": "^2.1.27"
},
"scripts": {
"tsc": "yarn run tsc:esm && yarn run tsc:cjs",
8 changes: 4 additions & 4 deletions packages/expand/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@inquirer/expand",
"version": "2.1.15",
"version": "2.1.16",
"description": "Inquirer checkbox prompt",
"main": "./dist/cjs/index.js",
"typings": "./dist/cjs/types/index.d.ts",
@@ -52,14 +52,14 @@
],
"author": "Simon Boudrias <admin@simonboudrias.com>",
"license": "MIT",
"homepage": "https://github.com/SBoudrias/Inquirer.js/blob/master/packages/expand/README.md",
"homepage": "https://github.com/SBoudrias/Inquirer.js/blob/main/packages/expand/README.md",
"dependencies": {
"@inquirer/core": "^9.0.3",
"@inquirer/core": "^9.0.4",
"@inquirer/type": "^1.5.0",
"yoctocolors-cjs": "^2.1.2"
},
"devDependencies": {
"@inquirer/testing": "^2.1.26"
"@inquirer/testing": "^2.1.27"
},
"scripts": {
"tsc": "yarn run tsc:esm && yarn run tsc:cjs",
8 changes: 4 additions & 4 deletions packages/input/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@inquirer/input",
"version": "2.2.2",
"version": "2.2.3",
"description": "Inquirer input text prompt",
"main": "./dist/cjs/index.js",
"typings": "./dist/cjs/types/index.d.ts",
@@ -52,13 +52,13 @@
],
"author": "Simon Boudrias <admin@simonboudrias.com>",
"license": "MIT",
"homepage": "https://github.com/SBoudrias/Inquirer.js/blob/master/packages/input/README.md",
"homepage": "https://github.com/SBoudrias/Inquirer.js/blob/main/packages/input/README.md",
"dependencies": {
"@inquirer/core": "^9.0.3",
"@inquirer/core": "^9.0.4",
"@inquirer/type": "^1.5.0"
},
"devDependencies": {
"@inquirer/testing": "^2.1.26"
"@inquirer/testing": "^2.1.27"
},
"scripts": {
"tsc": "yarn run tsc:esm && yarn run tsc:cjs",
6 changes: 3 additions & 3 deletions packages/inquirer/README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
<img width="75px" height="75px" align="right" alt="Inquirer Logo" src="https://raw.githubusercontent.com/SBoudrias/Inquirer.js/master/assets/inquirer_readme.svg?sanitize=true" title="Inquirer.js"/>
<img width="75px" height="75px" align="right" alt="Inquirer Logo" src="https://raw.githubusercontent.com/SBoudrias/Inquirer.js/main/assets/inquirer_readme.svg?sanitize=true" title="Inquirer.js"/>

# Inquirer.js

@@ -98,7 +98,7 @@ inquirer

### Examples (Run it and see it)

Check out the [`packages/inquirer/examples/`](https://github.com/SBoudrias/Inquirer.js/tree/master/packages/inquirer/examples) folder for code and interface examples.
Check out the [`packages/inquirer/examples/`](https://github.com/SBoudrias/Inquirer.js/tree/main/packages/inquirer/examples) folder for code and interface examples.

```shell
yarn node packages/inquirer/examples/pizza.js
@@ -421,7 +421,7 @@ Licensed under the MIT license.

<a name="plugins"></a>

You can build custom prompts, or use open sourced ones. See [`@inquirer/core` documentation for building custom prompts](https://github.com/SBoudrias/Inquirer.js/tree/master/packages/core).
You can build custom prompts, or use open sourced ones. See [`@inquirer/core` documentation for building custom prompts](https://github.com/SBoudrias/Inquirer.js/tree/main/packages/core).

You can either call the custom prompts directly (preferred), or you can register them (depreciated):

6 changes: 3 additions & 3 deletions packages/inquirer/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "inquirer",
"version": "10.0.3",
"version": "10.0.4",
"description": "A collection of common interactive command line user interfaces.",
"author": "Simon Boudrias <admin@simonboudrias.com>",
"main": "./dist/cjs/index.js",
@@ -55,15 +55,15 @@
},
"license": "MIT",
"dependencies": {
"@inquirer/prompts": "^5.2.0",
"@inquirer/prompts": "^5.2.1",
"@inquirer/type": "^1.5.0",
"@types/mute-stream": "^0.0.4",
"ansi-escapes": "^4.3.2",
"mute-stream": "^1.0.0",
"run-async": "^3.0.0",
"rxjs": "^7.8.1"
},
"homepage": "https://github.com/SBoudrias/Inquirer.js/blob/master/packages/inquirer/README.md",
"homepage": "https://github.com/SBoudrias/Inquirer.js/blob/main/packages/inquirer/README.md",
"sideEffects": false,
"scripts": {
"tsc": "yarn run tsc:esm && yarn run tsc:cjs",
4 changes: 2 additions & 2 deletions packages/inquirer/src/ui/prompt.mts
Original file line number Diff line number Diff line change
@@ -25,15 +25,15 @@ import type {
StreamOptions,
} from '../types.mjs';

const _ = {
export const _ = {
set: (obj: object, path: string = '', value: unknown): void => {
let pointer: any = obj;
path.split('.').forEach((key, index, arr) => {
if (key === '__proto__' || key === 'constructor') return;

if (index === arr.length - 1) {
pointer[key] = value;
} else if (!(key in pointer)) {
} else if (!(key in pointer) || typeof pointer[key] !== 'object') {
pointer[key] = {};
}

44 changes: 44 additions & 0 deletions packages/inquirer/test/inquirer.test.mts
Original file line number Diff line number Diff line change
@@ -12,6 +12,7 @@ import { Observable } from 'rxjs';
import type { InquirerReadline } from '@inquirer/type';
import inquirer, { type QuestionMap } from '../src/index.mjs';
import type { Answers, Question } from '../src/types.mjs';
import { _ } from '../src/ui/prompt.mjs';

declare module '../src/index.mjs' {
interface QuestionMap {
@@ -888,3 +889,46 @@ describe('Non-TTY checks', () => {
await expect(promise).resolves.toEqual({ q1: 'bar' });
});
});

describe('set utility function tests', () => {
it('Should set an objects property when provided a path and a value', () => {
const obj: any = {};
const path = 'a.b';
const value = 'c';

_.set(obj, path, value);

expect(obj.a.b).toBe('c');
});

it('Should set an objects property when provided a path and an array value', () => {
const obj: any = {};
const path = 'a.b';
const value = ['c', 'd'];

_.set(obj, path, value);

expect(obj.a.b[0]).toBe('c');
expect(obj.a.b[1]).toBe('d');
});

it('Should replace a boolean with an object when a path is provided that overrides that boolean', () => {
const obj: any = { a: true };
const path = 'a.b';
const value = 'c';

_.set(obj, path, value);

expect(obj.a.b).toBe('c');
});

it('Should replace a string with an object when a path is provided that overrides that string', () => {
const obj: any = { a: 'test' };
const path = 'a.b';
const value = 'c';

_.set(obj, path, value);

expect(obj.a.b).toBe('c');
});
});
8 changes: 4 additions & 4 deletions packages/number/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@inquirer/number",
"version": "1.0.3",
"version": "1.0.4",
"description": "Inquirer number prompt",
"main": "./dist/cjs/index.js",
"typings": "./dist/cjs/types/index.d.ts",
@@ -52,13 +52,13 @@
],
"author": "Simon Boudrias <admin@simonboudrias.com>",
"license": "MIT",
"homepage": "https://github.com/SBoudrias/Inquirer.js/blob/master/packages/number/README.md",
"homepage": "https://github.com/SBoudrias/Inquirer.js/blob/main/packages/number/README.md",
"dependencies": {
"@inquirer/core": "^9.0.3",
"@inquirer/core": "^9.0.4",
"@inquirer/type": "^1.5.0"
},
"devDependencies": {
"@inquirer/testing": "^2.1.26"
"@inquirer/testing": "^2.1.27"
},
"scripts": {
"tsc": "yarn run tsc:esm && yarn run tsc:cjs",
8 changes: 4 additions & 4 deletions packages/password/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@inquirer/password",
"version": "2.1.15",
"version": "2.1.16",
"engines": {
"node": ">=18"
},
@@ -55,14 +55,14 @@
],
"author": "Simon Boudrias <admin@simonboudrias.com>",
"license": "MIT",
"homepage": "https://github.com/SBoudrias/Inquirer.js/blob/master/packages/password/README.md",
"homepage": "https://github.com/SBoudrias/Inquirer.js/blob/main/packages/password/README.md",
"dependencies": {
"@inquirer/core": "^9.0.3",
"@inquirer/core": "^9.0.4",
"@inquirer/type": "^1.5.0",
"ansi-escapes": "^4.3.2"
},
"devDependencies": {
"@inquirer/testing": "^2.1.26"
"@inquirer/testing": "^2.1.27"
},
"scripts": {
"tsc": "yarn run tsc:esm && yarn run tsc:cjs",
Loading