mirror of
https://github.com/discordjs/discord.js.git
synced 2026-03-11 00:53:31 +01:00
* fix(ExceptText): don't display import("d..-types/v10"). in return type
* Squashed 'packages/api-extractor-model/' content from commit 39ecb196c
git-subtree-dir: packages/api-extractor-model
git-subtree-split: 39ecb196ca210bdf84ba6c9cadb1bb93571849d7
* Squashed 'packages/api-extractor/' content from commit 341ad6c51
git-subtree-dir: packages/api-extractor
git-subtree-split: 341ad6c51b01656d4f73b74ad4bdb3095f9262c4
* feat(api-extractor): add api-extractor and -model
* fix: package.json docs script
* fix(SourcLink): use <> instead of function syntax
* fix: make packages private
* fix: rest params showing in docs, added labels
* fix: missed two files
* fix: cpy-cli & pnpm-lock
* fix: increase icon size
* fix: icon size again
46 lines
1.7 KiB
TypeScript
46 lines
1.7 KiB
TypeScript
// Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license.
|
|
// See LICENSE in the project root for license information.
|
|
|
|
import * as path from 'node:path';
|
|
import { FileSystem } from '@rushstack/node-core-library';
|
|
import { CommandLineAction } from '@rushstack/ts-command-line';
|
|
import colors from 'colors';
|
|
import { ExtractorConfig } from '../api/ExtractorConfig.js';
|
|
import type { ApiExtractorCommandLine } from './ApiExtractorCommandLine.js';
|
|
|
|
export class InitAction extends CommandLineAction {
|
|
public constructor(_parser: ApiExtractorCommandLine) {
|
|
super({
|
|
actionName: 'init',
|
|
summary: `Create an ${ExtractorConfig.FILENAME} config file`,
|
|
documentation:
|
|
`Use this command when setting up API Extractor for a new project. It writes an` +
|
|
` ${ExtractorConfig.FILENAME} config file template with code comments that describe all the settings.` +
|
|
` The file will be written in the current directory.`,
|
|
});
|
|
}
|
|
|
|
protected async onExecute(): Promise<void> {
|
|
// override
|
|
const inputFilePath: string = path.resolve(__dirname, './schemas/api-extractor-template.json');
|
|
const outputFilePath: string = path.resolve(ExtractorConfig.FILENAME);
|
|
|
|
if (FileSystem.exists(outputFilePath)) {
|
|
console.log(colors.red('The output file already exists:'));
|
|
console.log('\n ' + outputFilePath + '\n');
|
|
throw new Error('Unable to write output file');
|
|
}
|
|
|
|
console.log(colors.green('Writing file: ') + outputFilePath);
|
|
FileSystem.copyFile({
|
|
sourcePath: inputFilePath,
|
|
destinationPath: outputFilePath,
|
|
});
|
|
|
|
console.log(
|
|
'\nThe recommended location for this file is in the project\'s "config" subfolder,\n' +
|
|
'or else in the top-level folder with package.json.',
|
|
);
|
|
}
|
|
}
|