mirror of
https://github.com/Kong/insomnia
synced 2024-11-08 23:00:30 +00:00
42 lines
921 B
TypeScript
42 lines
921 B
TypeScript
import fs from 'fs';
|
|
import mkdirp from 'mkdirp';
|
|
import path from 'path';
|
|
import rimraf from 'rimraf';
|
|
|
|
import { PLUGIN_PATH } from '../common/constants';
|
|
|
|
export async function createPlugin(
|
|
moduleName: string,
|
|
version: string,
|
|
mainJs: string,
|
|
) {
|
|
const pluginDir = path.join(PLUGIN_PATH, moduleName);
|
|
|
|
if (fs.existsSync(pluginDir)) {
|
|
throw new Error(`Plugin already exists at "${pluginDir}"`);
|
|
}
|
|
|
|
rimraf.sync(pluginDir);
|
|
mkdirp.sync(pluginDir);
|
|
// Write package.json
|
|
fs.writeFileSync(
|
|
path.join(pluginDir, 'package.json'),
|
|
JSON.stringify(
|
|
{
|
|
name: moduleName,
|
|
version,
|
|
private: true,
|
|
insomnia: {
|
|
name: moduleName.replace(/^insomnia-plugin-/, ''),
|
|
description: '',
|
|
},
|
|
main: 'main.js',
|
|
},
|
|
null,
|
|
2,
|
|
),
|
|
);
|
|
// Write main JS file
|
|
fs.writeFileSync(path.join(pluginDir, 'main.js'), mainJs);
|
|
}
|