@40q/40q-cli 1.0.6 → 1.0.8

Sign up to get free protection for your applications and to get access to all the features.
package/dist/index.js ADDED
@@ -0,0 +1,5 @@
1
+ #!/usr/bin/env node
2
+ "use strict";
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ const _40qCli_1 = require("./src/40qCli");
5
+ _40qCli_1.q40Cli.init();
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.styles = exports.save = exports.edit = exports.attributes = exports.category = exports.title = exports.name = void 0;
4
+ const i18n_1 = require("@wordpress/i18n");
5
+ const components_1 = require("@wordpress/components");
6
+ const block_editor_1 = require("@wordpress/block-editor");
7
+ /* Block name */
8
+ exports.name = "by40q/section-header";
9
+ /* Block title */
10
+ exports.title = (0, i18n_1.__)("Section Header", "40q");
11
+ /* Block category */
12
+ exports.category = "text";
13
+ /* Block attributes */
14
+ exports.attributes = {
15
+ title: {
16
+ type: "string",
17
+ default: "40Q",
18
+ },
19
+ };
20
+ /* Block edit */
21
+ const edit = ({ attributes, setAttributes }) => {
22
+ const { title } = attributes;
23
+ const blockProps = (0, block_editor_1.useBlockProps)();
24
+ return (<>
25
+ <block_editor_1.InspectorControls>
26
+ <components_1.PanelBody title={(0, i18n_1.__)("Section Header Settings")} initialOpen></components_1.PanelBody>
27
+ </block_editor_1.InspectorControls>
28
+
29
+ <div {...blockProps}>
30
+ <block_editor_1.RichText tagName="h2" placeholder={(0, i18n_1.__)("40Q")} value={title} onChange={(title) => setAttributes({ title })}/>
31
+ </div>
32
+ </>);
33
+ };
34
+ exports.edit = edit;
35
+ /* Block save */
36
+ const save = ({ attributes }) => <></>;
37
+ exports.save = save;
38
+ /* Block styles */
39
+ exports.styles = [];
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.q40Cli = void 0;
7
+ const yargs_1 = __importDefault(require("yargs"));
8
+ const helpers_1 = require("yargs/helpers");
9
+ const Setup_command_1 = require("./commands/Setup/Setup.command");
10
+ const Codegen_command_1 = require("./commands/Codegen/Codegen.command");
11
+ class q40Cli {
12
+ static init() {
13
+ (0, yargs_1.default)((0, helpers_1.hideBin)(process.argv))
14
+ .command('setup [tool]', 'Setup a tool', Setup_command_1.SetupCommand.builder, Setup_command_1.SetupCommand.handler)
15
+ .command('codegen [type] [template]', 'Generate code from a template', Codegen_command_1.CodegenCommand.builder, Codegen_command_1.CodegenCommand.handler)
16
+ .help().argv;
17
+ }
18
+ }
19
+ exports.q40Cli = q40Cli;
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.CodegenCommand = void 0;
16
+ const inquirer_1 = __importDefault(require("inquirer"));
17
+ const GenerateBlock_1 = require("./Generators/GenerateBlock");
18
+ const Codegen_types_1 = require("./Codegen.types");
19
+ class CodegenCommand {
20
+ static builder(yargs) {
21
+ yargs.positional('type', {
22
+ describe: 'Type of code piece to generate',
23
+ choices: Codegen_types_1.typeChoices,
24
+ demandOption: true,
25
+ type: 'string',
26
+ });
27
+ yargs.positional('template', {
28
+ describe: 'Template to use for code generation',
29
+ choices: Codegen_types_1.templateChoices,
30
+ demandOption: false,
31
+ type: 'string',
32
+ });
33
+ }
34
+ static handler(argv) {
35
+ var _a;
36
+ return __awaiter(this, void 0, void 0, function* () {
37
+ const type = argv.type;
38
+ const template = ((_a = argv.template) !== null && _a !== void 0 ? _a : 'default');
39
+ if (type === 'block') {
40
+ const answers = yield inquirer_1.default.prompt([
41
+ {
42
+ type: 'input',
43
+ name: 'name',
44
+ message: 'Please enter a name for the block:',
45
+ default: template || 'section-header',
46
+ },
47
+ ]);
48
+ const name = (answers === null || answers === void 0 ? void 0 : answers.name) || null;
49
+ const blockGenerator = new GenerateBlock_1.GenerateBlock(template, name);
50
+ return blockGenerator.run();
51
+ }
52
+ });
53
+ }
54
+ }
55
+ exports.CodegenCommand = CodegenCommand;
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.templateChoices = exports.typeChoices = void 0;
4
+ const config_1 = require("../../config");
5
+ exports.typeChoices = config_1.config.typeChoices;
6
+ exports.templateChoices = config_1.config.templateChoices.block;
@@ -0,0 +1,87 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ exports.GenerateBlock = void 0;
30
+ const fs = __importStar(require("fs"));
31
+ const path_1 = __importDefault(require("path"));
32
+ const child_process_1 = require("child_process");
33
+ const cliRoot_1 = require("../../../lib/cliRoot");
34
+ class GenerateBlock {
35
+ constructor(template, name) {
36
+ this.template = 'default';
37
+ this.name = '';
38
+ this.title = '';
39
+ this.camelCaseName = '';
40
+ this.template = template;
41
+ this.name = name !== null && name !== void 0 ? name : '';
42
+ this.camelCaseName = this.toCamelCase(this.name);
43
+ this.title = this.parseName(this.name);
44
+ }
45
+ run() {
46
+ this.createBlockFolder();
47
+ this.createBlockFiles();
48
+ }
49
+ createBlockFolder() {
50
+ (0, child_process_1.execSync)(`mkdir -p resources/scripts/editor/blocks/${this.name}`);
51
+ }
52
+ createBlockFiles() {
53
+ var _a, _b;
54
+ fs.writeFileSync(path_1.default.join(process.cwd(), `resources/scripts/editor/blocks/${this.name}/${this.name}.tsx`), this.getTemplate('tsx')
55
+ .replace(/{{name}}/g, (_a = this.name) !== null && _a !== void 0 ? _a : '')
56
+ .replace(/{{title}}/g, this.title));
57
+ fs.writeFileSync(path_1.default.join(process.cwd(), `resources/views/blocks/${this.name}.blade.php`), this.getTemplate('blade'));
58
+ fs.writeFileSync(path_1.default.join(process.cwd(), `app/Blocks/${this.camelCaseName}.php`), this.getTemplate('php')
59
+ .replace(/{{name}}/g, (_b = this.name) !== null && _b !== void 0 ? _b : '')
60
+ .replace(/{{camelCaseName}}/g, this.camelCaseName));
61
+ }
62
+ parseName(name) {
63
+ return name
64
+ .split('-')
65
+ .map((word) => {
66
+ return word.charAt(0).toUpperCase() + word.slice(1);
67
+ })
68
+ .join(' ');
69
+ }
70
+ toCamelCase(name) {
71
+ var _a;
72
+ return ((_a = name.split('-').reduce((acc, word) => {
73
+ return acc + word.charAt(0).toUpperCase() + word.slice(1);
74
+ }, '')) !== null && _a !== void 0 ? _a : '');
75
+ }
76
+ getTemplate(name) {
77
+ try {
78
+ const cliRoot = (0, cliRoot_1.findCliRoot)(__dirname);
79
+ const templateFolder = `templates/blocks/${this.template}`;
80
+ return fs.readFileSync(path_1.default.join(cliRoot, `${templateFolder}/${name}.txt`), 'utf8');
81
+ }
82
+ catch (e) {
83
+ return '';
84
+ }
85
+ }
86
+ }
87
+ exports.GenerateBlock = GenerateBlock;
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Command = void 0;
4
+ class Command {
5
+ static builder(yargs) { }
6
+ static handler(argv) { }
7
+ }
8
+ exports.Command = Command;
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SetupCommand = void 0;
4
+ const child_process_1 = require("child_process");
5
+ const eslintrc = `
6
+ {
7
+ "extends": ["@40q/eslint-config"]
8
+ }
9
+ `;
10
+ const huskyrc = `
11
+ {
12
+ "hooks": {
13
+ "pre-commit": "lint-staged"
14
+ }
15
+ }
16
+ `;
17
+ const lintstagedrc = `
18
+ {
19
+ "*.{js,jsx,ts,tsx}": ["eslint --fix"]
20
+ }
21
+ `;
22
+ class SetupCommand {
23
+ static builder(yargs) {
24
+ yargs.positional('tool', {
25
+ describe: 'Name of the tool to setup',
26
+ type: 'string',
27
+ });
28
+ }
29
+ static handler(argv) {
30
+ SetupCommand.setupTool(argv.tool);
31
+ }
32
+ static setupTool(tool) {
33
+ switch (tool) {
34
+ case 'eslint':
35
+ this.setupEslint();
36
+ break;
37
+ default:
38
+ console.error(`Unknown tool: ${tool}. Please specify a supported tool.`);
39
+ }
40
+ }
41
+ static setupEslint() {
42
+ console.log('Installing dependencies...');
43
+ (0, child_process_1.execSync)('yarn add --dev eslint @40q/eslint-config husky lint-staged');
44
+ console.log('Creating .eslintrc.json...');
45
+ (0, child_process_1.execSync)(`echo '${eslintrc}' > .eslintrc.json`);
46
+ console.log('Creating .huskyrc.json...');
47
+ (0, child_process_1.execSync)(`echo '${huskyrc}' > .huskyrc.json`);
48
+ console.log('Creating .lintstagedrc.json...');
49
+ (0, child_process_1.execSync)(`echo '${lintstagedrc}' > .lintstagedrc.json`);
50
+ console.log('Done!');
51
+ }
52
+ }
53
+ exports.SetupCommand = SetupCommand;
@@ -1,13 +1,12 @@
1
- import { ArgumentsCamelCase, Argv } from 'yargs';
2
- import { execSync } from 'child_process';
3
- import { Command } from '../Command';
4
-
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SetupCommand = void 0;
4
+ const child_process_1 = require("child_process");
5
5
  const eslintrc = `
6
6
  {
7
7
  "extends": ["@40q/eslint-config"]
8
8
  }
9
9
  `;
10
-
11
10
  const huskyrc = `
12
11
  {
13
12
  "hooks": {
@@ -15,51 +14,40 @@ const huskyrc = `
15
14
  }
16
15
  }
17
16
  `;
18
-
19
17
  const lintstagedrc = `
20
18
  {
21
19
  "*.{js,jsx,ts,tsx}": ["eslint --fix"]
22
20
  }
23
21
  `;
24
-
25
- export class SetupCommand implements Command {
26
- static builder(yargs: Argv<{}>) {
22
+ class SetupCommand {
23
+ static builder(yargs) {
27
24
  yargs.positional('tool', {
28
25
  describe: 'Name of the tool to setup',
29
26
  type: 'string',
30
27
  });
31
28
  }
32
-
33
- static handler(argv: ArgumentsCamelCase<{}>) {
34
- SetupCommand.setupTool(argv.tool as string);
29
+ static handler(argv) {
30
+ SetupCommand.setupTool(argv.tool);
35
31
  }
36
-
37
- static setupTool(tool: string) {
32
+ static setupTool(tool) {
38
33
  switch (tool) {
39
34
  case 'eslint':
40
35
  this.setupEslint();
41
36
  break;
42
-
43
37
  default:
44
- console.error(
45
- `Unknown tool: ${tool}. Please specify a supported tool.`
46
- );
38
+ console.error(`Unknown tool: ${tool}. Please specify a supported tool.`);
47
39
  }
48
40
  }
49
-
50
41
  static setupEslint() {
51
42
  console.log('Installing dependencies...');
52
- execSync('yarn add --dev eslint @40q/eslint-config husky lint-staged');
53
-
43
+ (0, child_process_1.execSync)('yarn add --dev eslint @40q/eslint-config husky lint-staged');
54
44
  console.log('Creating .eslintrc.json...');
55
- execSync(`echo '${eslintrc}' > .eslintrc.json`);
56
-
45
+ (0, child_process_1.execSync)(`echo '${eslintrc}' > .eslintrc.json`);
57
46
  console.log('Creating .huskyrc.json...');
58
- execSync(`echo '${huskyrc}' > .huskyrc.json`);
59
-
47
+ (0, child_process_1.execSync)(`echo '${huskyrc}' > .huskyrc.json`);
60
48
  console.log('Creating .lintstagedrc.json...');
61
- execSync(`echo '${lintstagedrc}' > .lintstagedrc.json`);
62
-
49
+ (0, child_process_1.execSync)(`echo '${lintstagedrc}' > .lintstagedrc.json`);
63
50
  console.log('Done!');
64
51
  }
65
52
  }
53
+ exports.SetupCommand = SetupCommand;
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.config = void 0;
4
+ exports.config = {
5
+ typeChoices: ['block'],
6
+ templateChoices: {
7
+ block: ['section-header']
8
+ },
9
+ };
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.findCliRoot = void 0;
27
+ const fs = __importStar(require("fs"));
28
+ const path = __importStar(require("path"));
29
+ function findCliRoot(startDir) {
30
+ let currentDir = startDir;
31
+ while (currentDir !== path.parse(currentDir).root) {
32
+ if (fs.existsSync(path.join(currentDir, '.cliroot'))) {
33
+ return currentDir;
34
+ }
35
+ currentDir = path.dirname(currentDir);
36
+ }
37
+ throw new Error('CLI root directory with .cliroot marker not found.');
38
+ }
39
+ exports.findCliRoot = findCliRoot;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@40q/40q-cli",
3
- "version": "1.0.6",
3
+ "version": "1.0.8",
4
4
  "description": "40q CLI tool",
5
5
  "main": "index.js",
6
6
  "bin": {
@@ -26,5 +26,10 @@
26
26
  "@types/yargs": "^17.0.29",
27
27
  "ts-node": "^10.9.1",
28
28
  "typescript": "^5.2.2"
29
- }
29
+ },
30
+ "files": [
31
+ "dist/",
32
+ "templates/",
33
+ ".cliroot"
34
+ ]
30
35
  }
package/index.ts DELETED
@@ -1,5 +0,0 @@
1
- #!/usr/bin/env node
2
-
3
- import { q40Cli } from './src/40qCli';
4
-
5
- q40Cli.init();
package/src/40qCli.ts DELETED
@@ -1,23 +0,0 @@
1
- import yargs from 'yargs';
2
- import { hideBin } from 'yargs/helpers';
3
- import { SetupCommand } from './commands/Setup/Setup.command';
4
- import { CodegenCommand } from './commands/Codegen/Codegen.command';
5
-
6
- export class q40Cli {
7
- static init() {
8
- yargs(hideBin(process.argv))
9
- .command(
10
- 'setup [tool]',
11
- 'Setup a tool',
12
- SetupCommand.builder,
13
- SetupCommand.handler
14
- )
15
- .command(
16
- 'codegen [type] [template]',
17
- 'Generate code from a template',
18
- CodegenCommand.builder,
19
- CodegenCommand.handler
20
- )
21
- .help().argv;
22
- }
23
- }
@@ -1,46 +0,0 @@
1
- import { ArgumentsCamelCase, Argv } from 'yargs';
2
- import { Command } from '../Command';
3
- import inquirer from 'inquirer';
4
- import { GenerateBlock } from './Generators/GenerateBlock';
5
- import { Templates, Types, templateChoices, typeChoices } from './Codegen.types';
6
-
7
- export class CodegenCommand implements Command {
8
- static builder(yargs: Argv<{}>) {
9
- yargs.positional('type', {
10
- describe: 'Type of code piece to generate',
11
- choices: typeChoices,
12
- demandOption: true,
13
- type: 'string',
14
- });
15
-
16
- yargs.positional('template', {
17
- describe: 'Template to use for code generation',
18
- choices: templateChoices,
19
- demandOption: false,
20
- type: 'string',
21
- });
22
- }
23
-
24
- static async handler(argv: ArgumentsCamelCase<{}>) {
25
- const type = argv.type as Types;
26
- const template = (argv.template ?? 'default') as Templates;
27
-
28
- if (type === 'block') {
29
- const answers = await inquirer.prompt(
30
- [
31
- {
32
- type: 'input',
33
- name: 'name',
34
- message: 'Please enter a name for the block:',
35
- default: template || 'section-header',
36
- },
37
- ],
38
- );
39
-
40
- const name = (answers?.name as string) || null;
41
-
42
- const blockGenerator = new GenerateBlock(template, name);
43
- return blockGenerator.run();
44
- }
45
- }
46
- }
@@ -1,7 +0,0 @@
1
- import { config } from '../../config';
2
-
3
- export const typeChoices = config.typeChoices;
4
- export type Types = (typeof typeChoices)[number];
5
-
6
- export const templateChoices = config.templateChoices.block;
7
- export type Templates = (typeof templateChoices)[number] | 'default';
@@ -1,85 +0,0 @@
1
- import * as fs from 'fs';
2
- import path from 'path';
3
- import { execSync } from 'child_process';
4
- import { Templates } from '../Codegen.types';
5
- import { findCliRoot } from '../../../lib/cliRoot';
6
-
7
- export class GenerateBlock {
8
- private template: Templates = 'default';
9
- private name: string = '';
10
- private title: string = '';
11
- private camelCaseName: string = '';
12
-
13
- constructor(template: Templates, name: string | null) {
14
- this.template = template;
15
- this.name = name ?? '';
16
- this.camelCaseName = this.toCamelCase(this.name);
17
- this.title = this.parseName(this.name);
18
- }
19
-
20
- public run() {
21
- this.createBlockFolder();
22
- this.createBlockFiles();
23
- }
24
-
25
- private createBlockFolder() {
26
- execSync(`mkdir -p resources/scripts/editor/blocks/${this.name}`);
27
- }
28
-
29
- private createBlockFiles() {
30
- fs.writeFileSync(
31
- path.join(
32
- process.cwd(),
33
- `resources/scripts/editor/blocks/${this.name}/${this.name}.tsx`
34
- ),
35
- this.getTemplate('tsx')
36
- .replace(/{{name}}/g, this.name ?? '')
37
- .replace(/{{title}}/g, this.title)
38
- );
39
-
40
- fs.writeFileSync(
41
- path.join(
42
- process.cwd(),
43
- `resources/views/blocks/${this.name}.blade.php`
44
- ),
45
- this.getTemplate('blade')
46
- );
47
-
48
- fs.writeFileSync(
49
- path.join(process.cwd(), `app/Blocks/${this.camelCaseName}.php`),
50
- this.getTemplate('php')
51
- .replace(/{{name}}/g, this.name ?? '')
52
- .replace(/{{camelCaseName}}/g, this.camelCaseName)
53
- );
54
- }
55
-
56
- private parseName(name: string) {
57
- return name
58
- .split('-')
59
- .map((word) => {
60
- return word.charAt(0).toUpperCase() + word.slice(1);
61
- })
62
- .join(' ');
63
- }
64
-
65
- private toCamelCase(name: string) {
66
- return (
67
- name.split('-').reduce((acc, word) => {
68
- return acc + word.charAt(0).toUpperCase() + word.slice(1);
69
- }, '') ?? ''
70
- );
71
- }
72
-
73
- private getTemplate(name: string) {
74
- try {
75
- const cliRoot = findCliRoot(__dirname);
76
- const templateFolder = `templates/blocks/${this.template}`;
77
- return fs.readFileSync(
78
- path.join(cliRoot, `${templateFolder}/${name}.txt`),
79
- 'utf8'
80
- );
81
- } catch (e) {
82
- return '';
83
- }
84
- }
85
- }
@@ -1,6 +0,0 @@
1
- import { ArgumentsCamelCase, Argv } from 'yargs';
2
-
3
- export abstract class Command {
4
- static builder(yargs: Argv<{}>): void {}
5
- static handler(argv: ArgumentsCamelCase<{}>): void {}
6
- }
package/src/config.ts DELETED
@@ -1,6 +0,0 @@
1
- export const config = {
2
- typeChoices: ['block'] as const,
3
- templateChoices: {
4
- block: ['section-header'] as const
5
- },
6
- }
@@ -1,16 +0,0 @@
1
- import * as fs from 'fs';
2
- import * as path from 'path';
3
-
4
- export function findCliRoot(startDir: string): string {
5
- let currentDir = startDir;
6
-
7
- while (currentDir !== path.parse(currentDir).root) {
8
- if (fs.existsSync(path.join(currentDir, '.cliroot'))) {
9
- return currentDir;
10
- }
11
-
12
- currentDir = path.dirname(currentDir);
13
- }
14
-
15
- throw new Error('CLI root directory with .cliroot marker not found.');
16
- }
package/tsconfig.json DELETED
@@ -1,12 +0,0 @@
1
- {
2
- "compilerOptions": {
3
- "target": "es2016",
4
- "module": "CommonJS",
5
- "moduleResolution": "node",
6
- "esModuleInterop": true,
7
- "forceConsistentCasingInFileNames": true,
8
- "strict": true,
9
- "skipLibCheck": true,
10
- "outDir": "./dist"
11
- }
12
- }