Msw: Success message of "msw init" contains a misleading API example

Created on 9 Mar 2020  Â·  5Comments  Â·  Source: mswjs/msw

Current behavior

Current success message of running msw init command is:

https://github.com/open-draft/msw/blob/1fc124726f2d6b1e76e5cb7bfe306d94b3061acd/cli/init.js#L29-L34

The API example illustrated in the message is misleading, as the library does not export the msw namespace, neither that namespace has the start() method.

Expected behavior

The message of successfully running the msw init command should link the developer to the documentation.

bug

All 5 comments

console.log(`
${chalk.green('Service Worker successfully created!')}
Continue by creating a mocking module and starting the Service Worker:

  Define mocks: ${chalk.cyan.bold(
    'https://redd.gitbook.io/msw/getting-started#define-mocks',
  )}
`)

image

Link to short link should be better, but short links on the Internet may not be very stable.

@kettanaito msw cli can feedback more help information, including information such as examples or documentation

now cli

$ npx msw

image

command check

yargs
    // ......
    .help()
    .demandCommand().argv
$ npx msw

image

command example

(yargs) => {
      // builder
      yargs
        .positional('publicDir', {
          type: 'string',
          description: 'Relative path to server public directory',
          required: true,
          normalize: true,
        },
        .example('init', 'msw init public')
        .help()
    },

image

@hehehai, that anchor to #define-mocks is a great idea! Agree, shortlinks take less space, but unless it's self-hosted it won't be reliable. Documentation's link structure may also change, but I see no bulletproof way of binding docs and this message. I'd go with the link you've suggested.

Maybe let's omit the Define mocks: part? The message above already explains what the link has to do.

$ npx msw init

Service Worker successfully created!
Continue by creating a mocking definition module and staring the Service Worker:

<LINK HERE>

What do you think? Also, please, feel free to implement this if you've got time. I'll gladly review and merge. Thank you.

@kettanaito Yes this is a good idea

What do you think of demandCommand and example below, which can give developers some feedback on their use.

now cli,No feedback

$ npx msw

image

command check

yargs
  // ......
  .help()
  .demandCommand().argv
$ npx msw

image

command example

(yargs) => {
      // builder
      yargs
        .positional('publicDir', {
          type: 'string',
          description: 'Relative path to server public directory',
          required: true,
          normalize: true,
        },
        .example('init', 'msw init public')
        .help()
    },

image

@hehehai .demandCommand() looks good to me. Would prevent people from accidentally running msw alone. Also great find regarding .example(). Agree with both decisions, thanks for the opinion on this!

Fixed by #63. Released in 0.8.1.

Thank you, @hehehai! Your contributions are highly appreciated.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

lukesmurray picture lukesmurray  Â·  3Comments

baker-travis picture baker-travis  Â·  3Comments

slowselfip picture slowselfip  Â·  3Comments

tomalexhughes picture tomalexhughes  Â·  3Comments

dashed picture dashed  Â·  3Comments