message: add commander to create command fix the jest test in create
diff: -// import path from "path";
  -// import { supportedLangs } from "../../commands/create";
  -// import { clearStyle, w3Cli } from "./utils";
  +import path from "path";
  +import { clearStyle, w3Cli } from "./utils";
  -// import { runCLI } from "@web3api/test-env-js";
  +import { runCLI } from "@web3api/test-env-js";
  //import rimraf from "rimraf";
  -// const HELP = `
  -// w3 create command <project-name> [options]
  -// Commands:
  -// api <lang> Create a Web3API project
  -// langs: ${supportedLangs.api.join(", ")}
  -// app <lang> Create a Web3API application
  -// langs: ${supportedLangs.app.join(", ")}
  -// plugin <lang> Create a Web3API plugin
  -// langs: ${supportedLangs.plugin.join(", ")}
  +const supportedLangs: { [key: string]: string[] } = {
  + api: ["assemblyscript", "interface"],
  + app: ["typescript-node", "typescript-react"],
  + plugin: ["typescript"],
  +};
  -// Options:
  -// -h, --help Show usage information
  -// -o, --output-dir <path> Output directory for the new project
  +const HELP = `Usage: w3 create|c [options] [command]
  -// `;
  +Create a new project with w3 CLI
  -// describe("e2e tests for create command", () => {
  -// const projectRoot = path.resolve(__dirname, "../project");
  +Options:
  + -h, --help display help for command
  -// test("Should show help text", async () => {
  -// const { exitCode: code, stdout: output, stderr: error } = await runCLI({
  -// args: ["create", "--help"],
  -// cwd: projectRoot,
  -// cli: w3Cli,
  -// });
  +Commands:
  + api [options] <lang> Create a Web3API project langs: assemblyscript,
  + interface
  + app [options] <lang> Create a Web3API application langs: typescript-node,
  + typescript-react
  + plugin [options] <lang> Create a Web3API plugin langs: typescript
  + help [command] display help for command
  +`;
  -// expect(code).toEqual(1);
  -// expect(error).toBe("");
  -// expect(clearStyle(output)).toEqual("Please provide a command\n" + HELP);
  -// });
  +describe("e2e tests for create command", () => {
  + const projectRoot = path.resolve(__dirname, "../project");
  -// test("Should throw error for missing parameter - type", async () => {
  -// const { exitCode: code, stdout: output, stderr: error } = await runCLI({
  -// args: ["create"],
  -// cwd: projectRoot,
  -// cli: w3Cli,
  -// });
  + test("Should show help text", async () => {
  + const { exitCode: code, stdout: output, stderr: error } = await runCLI({
  + args: ["create", "--help"],
  + cwd: projectRoot,
  + cli: w3Cli,
  + });
  -// expect(code).toEqual(1);
  -// expect(error).toBe("");
  -// expect(clearStyle(output)).toEqual(`Please provide a command
  -// ${HELP}`);
  -// });
  + expect(code).toEqual(0);
  + expect(error).toBe("");
  + expect(clearStyle(output)).toEqual(HELP);
  + });
  +
  + test("Should throw error for missing parameter - type", async () => {
  + const { exitCode: code, stdout: output, stderr: error } = await runCLI({
  + args: ["create"],
  + cwd: projectRoot,
  + cli: w3Cli,
  + });
  +
  + expect(code).toEqual(1);
  + expect(error).toBe("");
  + expect(clearStyle(output)).toEqual(`${HELP}`);
  + });
  // test("Should throw error for missing parameter - lang", async () => {
  // const { exitCode: code, stdout: output, stderr: error } = await runCLI({
  // rimraf.sync(`${projectRoot}/test`);
  // }, 60000);
  -// });
  +});
  