@snaptrude/create-snaptrude-plugin 0.0.2 → 0.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +2 -2
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -29,7 +29,7 @@ var import_prompts = require("@inquirer/prompts");
|
|
|
29
29
|
// package.json
|
|
30
30
|
var package_default = {
|
|
31
31
|
name: "@snaptrude/create-snaptrude-plugin",
|
|
32
|
-
version: "0.0.
|
|
32
|
+
version: "0.0.3",
|
|
33
33
|
type: "module",
|
|
34
34
|
main: "./dist/index.js",
|
|
35
35
|
module: "./dist/index.js",
|
|
@@ -92,7 +92,7 @@ async function removeUnwantedFiles(targetDir, verbose = true) {
|
|
|
92
92
|
}
|
|
93
93
|
}
|
|
94
94
|
var EXAMPLES_REPO = "https://bitbucket.org/snaptrude/snaptrude-plugin-examples.git";
|
|
95
|
-
var EXAMPLES_REPO_COMMIT = "
|
|
95
|
+
var EXAMPLES_REPO_COMMIT = "f6550198c36a81ebb9b1aa045ced965c3b6839dd";
|
|
96
96
|
var EXAMPLE_PATH_IN_REPO = "snaptrude-plugin";
|
|
97
97
|
async function createExampleRepo(targetDir, verbose = true) {
|
|
98
98
|
if (verbose) console.log(`Creating example repo in ${targetDir}`);
|
package/dist/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts","../package.json"],"sourcesContent":["#!/usr/bin/env node\n\nimport { input } from \"@inquirer/prompts\"\nimport packageJson from \"../package.json\"\nimport updateCheck from \"update-check\"\nimport { Command, Option } from \"@commander-js/extra-typings\"\nimport simpleGit from \"simple-git\"\nimport { cp, mkdir, readFile, rm, writeFile, mkdtemp } from \"node:fs/promises\"\nimport { join } from \"node:path\"\nimport { tmpdir } from \"node:os\"\n\n/**\n * Check for updates.\n */\nconst CHECK_UPDATE = false\n\nconst DEFAULT_VERBOSE = false\nconst DEFAULT_PLUGIN_NAME = \"my-plugin\"\n\nasync function updatePackageJson(targetDir: string, pluginName: string) {\n const packageJsonPath = join(targetDir, \"package.json\")\n const packageJson = await readFile(packageJsonPath, \"utf8\")\n const packageJsonObject = JSON.parse(packageJson)\n packageJsonObject.name = pluginName\n await writeFile(packageJsonPath, JSON.stringify(packageJsonObject, null, 2))\n}\n\nconst UNWANTED_DIRS: string[] = []\nconst UNWANTED_FILES: string[] = []\n\nasync function removeUnwantedFiles(targetDir: string, verbose: boolean = true) {\n if (verbose) console.log(`Removing unwanted files from ${targetDir}`)\n for (const dir of UNWANTED_DIRS) {\n await rm(join(targetDir, dir), { recursive: true, force: true })\n }\n for (const file of UNWANTED_FILES) {\n await rm(join(targetDir, file), { force: true })\n }\n}\n\nconst EXAMPLES_REPO =\n \"https://bitbucket.org/snaptrude/snaptrude-plugin-examples.git\"\nconst EXAMPLES_REPO_COMMIT = \"
|
|
1
|
+
{"version":3,"sources":["../src/index.ts","../package.json"],"sourcesContent":["#!/usr/bin/env node\n\nimport { input } from \"@inquirer/prompts\"\nimport packageJson from \"../package.json\"\nimport updateCheck from \"update-check\"\nimport { Command, Option } from \"@commander-js/extra-typings\"\nimport simpleGit from \"simple-git\"\nimport { cp, mkdir, readFile, rm, writeFile, mkdtemp } from \"node:fs/promises\"\nimport { join } from \"node:path\"\nimport { tmpdir } from \"node:os\"\n\n/**\n * Check for updates.\n */\nconst CHECK_UPDATE = false\n\nconst DEFAULT_VERBOSE = false\nconst DEFAULT_PLUGIN_NAME = \"my-plugin\"\n\nasync function updatePackageJson(targetDir: string, pluginName: string) {\n const packageJsonPath = join(targetDir, \"package.json\")\n const packageJson = await readFile(packageJsonPath, \"utf8\")\n const packageJsonObject = JSON.parse(packageJson)\n packageJsonObject.name = pluginName\n await writeFile(packageJsonPath, JSON.stringify(packageJsonObject, null, 2))\n}\n\nconst UNWANTED_DIRS: string[] = []\nconst UNWANTED_FILES: string[] = []\n\nasync function removeUnwantedFiles(targetDir: string, verbose: boolean = true) {\n if (verbose) console.log(`Removing unwanted files from ${targetDir}`)\n for (const dir of UNWANTED_DIRS) {\n await rm(join(targetDir, dir), { recursive: true, force: true })\n }\n for (const file of UNWANTED_FILES) {\n await rm(join(targetDir, file), { force: true })\n }\n}\n\nconst EXAMPLES_REPO =\n \"https://bitbucket.org/snaptrude/snaptrude-plugin-examples.git\"\nconst EXAMPLES_REPO_COMMIT = \"f6550198c36a81ebb9b1aa045ced965c3b6839dd\"\nconst EXAMPLE_PATH_IN_REPO = \"snaptrude-plugin\"\n\nasync function createExampleRepo(targetDir: string, verbose: boolean = true) {\n if (verbose) console.log(`Creating example repo in ${targetDir}`)\n const tmpDir = await mkdtemp(join(tmpdir(), \"snaptrude-plugin-\"))\n if (verbose) console.log(`Create temporary directory for clone: ${tmpDir}`)\n try {\n const git = simpleGit(tmpDir)\n if (verbose) console.log(`Cloning example repo to ${tmpDir}`)\n // Shallow clone the repo into the temp directory\n await git.clone(EXAMPLES_REPO, \".\", [\"--no-checkout\", \"--depth=1\"])\n\n if (verbose)\n console.log(`Fetching specific commit: ${EXAMPLES_REPO_COMMIT}`)\n await git.fetch([\"origin\", EXAMPLES_REPO_COMMIT, \"--depth=1\"])\n if (verbose)\n console.log(`Checking out specific commit: ${EXAMPLES_REPO_COMMIT}`)\n await git.checkout(EXAMPLES_REPO_COMMIT)\n if (verbose)\n console.log(`Copying example directory to target: ${targetDir}`)\n await cp(join(tmpDir, EXAMPLE_PATH_IN_REPO), targetDir, { recursive: true })\n } catch (error) {\n console.error(\"Error cloning example repo:\", error)\n throw error\n } finally {\n if (verbose) console.log(`Cleaning up temporary directory: ${tmpDir}`)\n await rm(tmpDir, { recursive: true, force: true })\n }\n}\n\nasync function createPlugin(\n targetDir: string,\n pluginName: string,\n verbose: boolean = true,\n) {\n await createExampleRepo(targetDir, verbose)\n await removeUnwantedFiles(targetDir, verbose)\n await updatePackageJson(targetDir, pluginName)\n if (verbose) console.log(`Plugin created successfully in ${targetDir}`)\n}\n\nasync function runCliMode() {\n const program = new Command()\n .version(packageJson.version)\n .addOption(\n new Option(\"-v, --verbose\", \"Verbose output\").default(DEFAULT_VERBOSE),\n )\n .addOption(new Option(\"-n, --name <name>\", \"The name of the plugin\"))\n program.parse()\n return program.opts()\n}\n\nasync function runInteractiveMode() {\n const pluginName = await input({\n message: \"What is the name of your plugin?\",\n required: true,\n default: DEFAULT_PLUGIN_NAME,\n validate: (value) => {\n if (!/^[a-z0-9-]+$/.test(value)) {\n return \"Plugin name must only contain lowercase letters, numbers, and hyphens\"\n }\n return true\n },\n })\n return { pluginName }\n}\n\nasync function main() {\n if (CHECK_UPDATE) {\n const update = await updateCheck(packageJson)\n if (update)\n console.log(\n `Update available: ${update.latest} (current: ${packageJson.version})`,\n )\n }\n console.log(`${packageJson.name} v${packageJson.version}`)\n\n const cliOpts = await runCliMode()\n const cwd = process.cwd()\n if (cliOpts.verbose) console.log(\"Verbose output enabled\")\n if (cliOpts.verbose) console.log(\"Current working directory:\", cwd)\n const pluginName = cliOpts.name ?? (await runInteractiveMode()).pluginName\n const pluginDir = join(cwd, pluginName)\n if (cliOpts.verbose) console.log(`Creating plugin: ${pluginName}`)\n await mkdir(pluginDir, { recursive: true })\n await createPlugin(pluginDir, pluginName, cliOpts.verbose)\n}\n\nmain()\n","{\n \"name\": \"@snaptrude/create-snaptrude-plugin\",\n \"version\": \"0.0.3\",\n \"type\": \"module\",\n \"main\": \"./dist/index.js\",\n \"module\": \"./dist/index.js\",\n \"types\": \"./dist/index.d.ts\",\n \"bin\": {\n \"create-snaptrude-plugin\": \"dist/index.js\"\n },\n \"files\": [\n \"dist\"\n ],\n \"publishConfig\": {\n \"access\": \"public\"\n },\n \"scripts\": {\n \"check-types\": \"tsc --noEmit\",\n \"build\": \"tsup\",\n \"dev\": \"tsup --watch\",\n \"clean-dist\": \"rm -rf dist\"\n },\n \"devDependencies\": {\n \"@types/node\": \"^25.3.5\",\n \"tsup\": \"^8.5.1\",\n \"typescript\": \"^5.5.4\"\n },\n \"dependencies\": {\n \"@commander-js/extra-typings\": \"^14.0.0\",\n \"@inquirer/prompts\": \"^8.3.0\",\n \"commander\": \"^14.0.3\",\n \"simple-git\": \"^3.32.3\",\n \"update-check\": \"^1.5.4\"\n }\n}\n"],"mappings":"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","names":["simpleGit","updateCheck"]}
|
package/dist/index.js
CHANGED
|
@@ -6,7 +6,7 @@ import { input } from "@inquirer/prompts";
|
|
|
6
6
|
// package.json
|
|
7
7
|
var package_default = {
|
|
8
8
|
name: "@snaptrude/create-snaptrude-plugin",
|
|
9
|
-
version: "0.0.
|
|
9
|
+
version: "0.0.3",
|
|
10
10
|
type: "module",
|
|
11
11
|
main: "./dist/index.js",
|
|
12
12
|
module: "./dist/index.js",
|
|
@@ -69,7 +69,7 @@ async function removeUnwantedFiles(targetDir, verbose = true) {
|
|
|
69
69
|
}
|
|
70
70
|
}
|
|
71
71
|
var EXAMPLES_REPO = "https://bitbucket.org/snaptrude/snaptrude-plugin-examples.git";
|
|
72
|
-
var EXAMPLES_REPO_COMMIT = "
|
|
72
|
+
var EXAMPLES_REPO_COMMIT = "f6550198c36a81ebb9b1aa045ced965c3b6839dd";
|
|
73
73
|
var EXAMPLE_PATH_IN_REPO = "snaptrude-plugin";
|
|
74
74
|
async function createExampleRepo(targetDir, verbose = true) {
|
|
75
75
|
if (verbose) console.log(`Creating example repo in ${targetDir}`);
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts","../package.json"],"sourcesContent":["#!/usr/bin/env node\n\nimport { input } from \"@inquirer/prompts\"\nimport packageJson from \"../package.json\"\nimport updateCheck from \"update-check\"\nimport { Command, Option } from \"@commander-js/extra-typings\"\nimport simpleGit from \"simple-git\"\nimport { cp, mkdir, readFile, rm, writeFile, mkdtemp } from \"node:fs/promises\"\nimport { join } from \"node:path\"\nimport { tmpdir } from \"node:os\"\n\n/**\n * Check for updates.\n */\nconst CHECK_UPDATE = false\n\nconst DEFAULT_VERBOSE = false\nconst DEFAULT_PLUGIN_NAME = \"my-plugin\"\n\nasync function updatePackageJson(targetDir: string, pluginName: string) {\n const packageJsonPath = join(targetDir, \"package.json\")\n const packageJson = await readFile(packageJsonPath, \"utf8\")\n const packageJsonObject = JSON.parse(packageJson)\n packageJsonObject.name = pluginName\n await writeFile(packageJsonPath, JSON.stringify(packageJsonObject, null, 2))\n}\n\nconst UNWANTED_DIRS: string[] = []\nconst UNWANTED_FILES: string[] = []\n\nasync function removeUnwantedFiles(targetDir: string, verbose: boolean = true) {\n if (verbose) console.log(`Removing unwanted files from ${targetDir}`)\n for (const dir of UNWANTED_DIRS) {\n await rm(join(targetDir, dir), { recursive: true, force: true })\n }\n for (const file of UNWANTED_FILES) {\n await rm(join(targetDir, file), { force: true })\n }\n}\n\nconst EXAMPLES_REPO =\n \"https://bitbucket.org/snaptrude/snaptrude-plugin-examples.git\"\nconst EXAMPLES_REPO_COMMIT = \"
|
|
1
|
+
{"version":3,"sources":["../src/index.ts","../package.json"],"sourcesContent":["#!/usr/bin/env node\n\nimport { input } from \"@inquirer/prompts\"\nimport packageJson from \"../package.json\"\nimport updateCheck from \"update-check\"\nimport { Command, Option } from \"@commander-js/extra-typings\"\nimport simpleGit from \"simple-git\"\nimport { cp, mkdir, readFile, rm, writeFile, mkdtemp } from \"node:fs/promises\"\nimport { join } from \"node:path\"\nimport { tmpdir } from \"node:os\"\n\n/**\n * Check for updates.\n */\nconst CHECK_UPDATE = false\n\nconst DEFAULT_VERBOSE = false\nconst DEFAULT_PLUGIN_NAME = \"my-plugin\"\n\nasync function updatePackageJson(targetDir: string, pluginName: string) {\n const packageJsonPath = join(targetDir, \"package.json\")\n const packageJson = await readFile(packageJsonPath, \"utf8\")\n const packageJsonObject = JSON.parse(packageJson)\n packageJsonObject.name = pluginName\n await writeFile(packageJsonPath, JSON.stringify(packageJsonObject, null, 2))\n}\n\nconst UNWANTED_DIRS: string[] = []\nconst UNWANTED_FILES: string[] = []\n\nasync function removeUnwantedFiles(targetDir: string, verbose: boolean = true) {\n if (verbose) console.log(`Removing unwanted files from ${targetDir}`)\n for (const dir of UNWANTED_DIRS) {\n await rm(join(targetDir, dir), { recursive: true, force: true })\n }\n for (const file of UNWANTED_FILES) {\n await rm(join(targetDir, file), { force: true })\n }\n}\n\nconst EXAMPLES_REPO =\n \"https://bitbucket.org/snaptrude/snaptrude-plugin-examples.git\"\nconst EXAMPLES_REPO_COMMIT = \"f6550198c36a81ebb9b1aa045ced965c3b6839dd\"\nconst EXAMPLE_PATH_IN_REPO = \"snaptrude-plugin\"\n\nasync function createExampleRepo(targetDir: string, verbose: boolean = true) {\n if (verbose) console.log(`Creating example repo in ${targetDir}`)\n const tmpDir = await mkdtemp(join(tmpdir(), \"snaptrude-plugin-\"))\n if (verbose) console.log(`Create temporary directory for clone: ${tmpDir}`)\n try {\n const git = simpleGit(tmpDir)\n if (verbose) console.log(`Cloning example repo to ${tmpDir}`)\n // Shallow clone the repo into the temp directory\n await git.clone(EXAMPLES_REPO, \".\", [\"--no-checkout\", \"--depth=1\"])\n\n if (verbose)\n console.log(`Fetching specific commit: ${EXAMPLES_REPO_COMMIT}`)\n await git.fetch([\"origin\", EXAMPLES_REPO_COMMIT, \"--depth=1\"])\n if (verbose)\n console.log(`Checking out specific commit: ${EXAMPLES_REPO_COMMIT}`)\n await git.checkout(EXAMPLES_REPO_COMMIT)\n if (verbose)\n console.log(`Copying example directory to target: ${targetDir}`)\n await cp(join(tmpDir, EXAMPLE_PATH_IN_REPO), targetDir, { recursive: true })\n } catch (error) {\n console.error(\"Error cloning example repo:\", error)\n throw error\n } finally {\n if (verbose) console.log(`Cleaning up temporary directory: ${tmpDir}`)\n await rm(tmpDir, { recursive: true, force: true })\n }\n}\n\nasync function createPlugin(\n targetDir: string,\n pluginName: string,\n verbose: boolean = true,\n) {\n await createExampleRepo(targetDir, verbose)\n await removeUnwantedFiles(targetDir, verbose)\n await updatePackageJson(targetDir, pluginName)\n if (verbose) console.log(`Plugin created successfully in ${targetDir}`)\n}\n\nasync function runCliMode() {\n const program = new Command()\n .version(packageJson.version)\n .addOption(\n new Option(\"-v, --verbose\", \"Verbose output\").default(DEFAULT_VERBOSE),\n )\n .addOption(new Option(\"-n, --name <name>\", \"The name of the plugin\"))\n program.parse()\n return program.opts()\n}\n\nasync function runInteractiveMode() {\n const pluginName = await input({\n message: \"What is the name of your plugin?\",\n required: true,\n default: DEFAULT_PLUGIN_NAME,\n validate: (value) => {\n if (!/^[a-z0-9-]+$/.test(value)) {\n return \"Plugin name must only contain lowercase letters, numbers, and hyphens\"\n }\n return true\n },\n })\n return { pluginName }\n}\n\nasync function main() {\n if (CHECK_UPDATE) {\n const update = await updateCheck(packageJson)\n if (update)\n console.log(\n `Update available: ${update.latest} (current: ${packageJson.version})`,\n )\n }\n console.log(`${packageJson.name} v${packageJson.version}`)\n\n const cliOpts = await runCliMode()\n const cwd = process.cwd()\n if (cliOpts.verbose) console.log(\"Verbose output enabled\")\n if (cliOpts.verbose) console.log(\"Current working directory:\", cwd)\n const pluginName = cliOpts.name ?? (await runInteractiveMode()).pluginName\n const pluginDir = join(cwd, pluginName)\n if (cliOpts.verbose) console.log(`Creating plugin: ${pluginName}`)\n await mkdir(pluginDir, { recursive: true })\n await createPlugin(pluginDir, pluginName, cliOpts.verbose)\n}\n\nmain()\n","{\n \"name\": \"@snaptrude/create-snaptrude-plugin\",\n \"version\": \"0.0.3\",\n \"type\": \"module\",\n \"main\": \"./dist/index.js\",\n \"module\": \"./dist/index.js\",\n \"types\": \"./dist/index.d.ts\",\n \"bin\": {\n \"create-snaptrude-plugin\": \"dist/index.js\"\n },\n \"files\": [\n \"dist\"\n ],\n \"publishConfig\": {\n \"access\": \"public\"\n },\n \"scripts\": {\n \"check-types\": \"tsc --noEmit\",\n \"build\": \"tsup\",\n \"dev\": \"tsup --watch\",\n \"clean-dist\": \"rm -rf dist\"\n },\n \"devDependencies\": {\n \"@types/node\": \"^25.3.5\",\n \"tsup\": \"^8.5.1\",\n \"typescript\": \"^5.5.4\"\n },\n \"dependencies\": {\n \"@commander-js/extra-typings\": \"^14.0.0\",\n \"@inquirer/prompts\": \"^8.3.0\",\n \"commander\": \"^14.0.3\",\n \"simple-git\": \"^3.32.3\",\n \"update-check\": \"^1.5.4\"\n }\n}\n"],"mappings":"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","names":[]}
|