node-power-user 1.0.1 → 1.0.5

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/CHANGELOG.md ADDED
@@ -0,0 +1,20 @@
1
+ # CHANGELOG
2
+
3
+ All notable changes to this project will be documented in this file.
4
+
5
+ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
6
+
7
+ ## Changelog Categories
8
+
9
+ - `BREAKING` for breaking changes.
10
+ - `Added` for new features.
11
+ - `Changed` for changes in existing functionality.
12
+ - `Deprecated` for soon-to-be removed features.
13
+ - `Removed` for now removed features.
14
+ - `Fixed` for any bug fixes.
15
+ - `Security` in case of vulnerabilities.
16
+
17
+ ---
18
+ ## [1.0.0] - 2024-06-19
19
+ ### Added
20
+ - Initial release of the project 🚀
package/LICENSE CHANGED
@@ -1,6 +1,6 @@
1
1
  MIT License
2
2
 
3
- Copyright (c) 2020 ITW Creative Works
3
+ Copyright (c) 2025 ITW Creative Works
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
package/README.md CHANGED
@@ -1,5 +1,5 @@
1
1
  <p align="center">
2
- <a href="https://cdn.itwcreativeworks.com/assets/itw-creative-works/images/logo/itw-creative-works-brandmark-black-x.svg">
2
+ <a href="https://itwcreativeworks.com">
3
3
  <img src="https://cdn.itwcreativeworks.com/assets/itw-creative-works/images/logo/itw-creative-works-brandmark-black-x.svg" width="100px">
4
4
  </a>
5
5
  </p>
@@ -24,21 +24,21 @@
24
24
  <strong>Node Power User</strong> is the CLI that NPM should have had!
25
25
  </p>
26
26
 
27
- ## Install
27
+ ## 📦 Install Node Power User
28
28
  <!-- First, install the global command line utility with npm: -->
29
29
  First, install the package via npm:
30
30
  ```shell
31
31
  npm i -g node-power-user
32
32
  ```
33
33
 
34
- ## Features
34
+ ## 🦄 Features
35
35
  * Clean and reinstall your node project
36
36
  * Easily bump your NPM project's version without opening an editor
37
37
 
38
- ## Example Setup
38
+ ## 📘 Example Setup
39
39
  After installing via NPM, you can use the CLI with the `npu` command.
40
40
 
41
- ## Example CLI Usage
41
+ ## 💻 Example CLI Usage
42
42
  Note: you may have to run cli commands with `npx npu <command>` if you install this package locally.
43
43
  * `npu v`: Check version of node-power-user.
44
44
  * `npu pv`: Check version of the current project.
@@ -53,10 +53,10 @@ Note: you may have to run cli commands with `npx npu <command>` if you install t
53
53
  * `--wait`: Wait the specified amount of time in milliseconds.
54
54
  * `--debug`: Log the commands and flags before they are executed
55
55
 
56
- ## Final Words
56
+ ## 🗨️ Final Words
57
57
  If you are still having difficulty, we would love for you to post a question to [the Node Power User issues page](https://github.com/itw-creative-works/node-power-user/issues). It is much easier to answer questions that include your code and relevant files! So if you can provide them, we'd be extremely grateful (and more likely to help you find the answer!)
58
58
 
59
- ## Projects Using this Library
59
+ ## 📚 Projects Using this Library
60
60
  [Somiibo](https://somiibo.com/): A Social Media Bot with an open-source module library. <br>
61
61
  [JekyllUp](https://jekyllup.com/): A website devoted to sharing the best Jekyll themes. <br>
62
62
  [Slapform](https://slapform.com/): A backend processor for your HTML forms on static sites. <br>
package/bin/npu CHANGED
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  const argv = require('yargs').argv;
3
- const Main = new (require('../dist/index.js'))(argv);
3
+ const cli = new (require('../dist/cli.js'))(argv);
4
4
  (async function() {
5
5
  'use strict';
6
- await Main.process(argv);
6
+ await cli.process(argv);
7
7
  }());
package/dist/cli.js ADDED
@@ -0,0 +1,55 @@
1
+ // Libraries
2
+ const path = require('path');
3
+ const jetpack = require('fs-jetpack');
4
+
5
+ // Command Aliases
6
+ const DEFAULT = 'version';
7
+ const ALIASES = {
8
+ bump: ['-b', '--bump'],
9
+ clean: ['-c', '--clean'],
10
+ global: ['-g', '--global'],
11
+ outdated: ['-o', 'out', '--outdated'],
12
+ packages: ['-p', 'pack', '--packages'],
13
+ version: ['-v', '--version'],
14
+ sync: ['-s', '--sync'],
15
+ };
16
+
17
+ // Function to resolve command name from aliases
18
+ function resolveCommand(command) {
19
+ for (const [key, aliases] of Object.entries(ALIASES)) {
20
+ if (command === key || aliases.includes(command)) {
21
+ return key;
22
+ }
23
+ }
24
+ return command; // Default to original command if no alias is found
25
+ }
26
+
27
+ // Main Function
28
+ function Main() {}
29
+
30
+ Main.prototype.process = async function (options) {
31
+ // Determine the command (use default if not provided)
32
+ const inputCommand = options._[0] || DEFAULT;
33
+ const command = resolveCommand(inputCommand);
34
+
35
+ try {
36
+ // Get the command file path
37
+ const commandFile = path.join(__dirname, 'commands', `${command}.js`);
38
+
39
+ // Check if the command file exists
40
+ if (!jetpack.exists(commandFile)) {
41
+ throw new Error(`Error: Command "${command}" not found.`);
42
+ }
43
+
44
+ // Execute the command
45
+ const Command = require(commandFile);
46
+ await Command(options);
47
+ } catch (e) {
48
+ console.error(`Error executing command "${command}": ${e.message}`);
49
+
50
+ // Exit with error
51
+ throw e;
52
+ }
53
+ };
54
+
55
+ module.exports = Main;
@@ -0,0 +1,40 @@
1
+ // Libraries
2
+ const logger = new (require('../lib/logger'))('node-power-user');
3
+ const path = require('path');
4
+ const jetpack = require('fs-jetpack');
5
+ const version = require('wonderful-version');
6
+
7
+ // Load package
8
+ const package = jetpack.read(path.join(__dirname, '../../', 'package.json'), 'json');
9
+ const project = jetpack.read(path.join(process.cwd(), 'package.json'), 'json');
10
+
11
+ // Module
12
+ module.exports = async function (options) {
13
+ // Determine bump level
14
+ const ver = project.version;
15
+ let newVer;
16
+
17
+ // Log
18
+ // logger.log(`Current version: ${ver}`, options);
19
+
20
+ // Bump
21
+ if (options.major || options._.includes('major')) {
22
+ newVer = version.increment(ver, 'major');
23
+ } else if (options.minor || options._.includes('minor')) {
24
+ newVer = version.increment(ver, 'minor');
25
+ } else {
26
+ newVer = version.increment(ver, 'patch');
27
+ }
28
+
29
+ // Update package.json
30
+ project.version = newVer;
31
+
32
+ // Write package.json
33
+ jetpack.write(path.join(process.cwd(), 'package.json'), project);
34
+
35
+ // Log
36
+ logger.log(`Bumped version: ${logger.format.bold(ver)} ==> ${logger.format.bold(newVer)}`);
37
+
38
+ // Return new version
39
+ return newVer;
40
+ };
@@ -0,0 +1,33 @@
1
+ // Libraries
2
+ const logger = new (require('../lib/logger'))('node-power-user');
3
+ const path = require('path');
4
+ const jetpack = require('fs-jetpack');
5
+ const { execute } = require('node-powertools');
6
+
7
+ // Load package.json files
8
+ const package = jetpack.read(path.join(__dirname, '../../', 'package.json'), 'json');
9
+ const project = jetpack.read(path.join(process.cwd(), 'package.json'), 'json');
10
+
11
+ // Module
12
+ module.exports = async function (options) {
13
+ // Define cleanup command
14
+ const command = `rm -rf node_modules && rm -rf package-lock.json && npm cache clean --force`;
15
+
16
+ // Log initial state
17
+ logger.log(`Cleaning project: ${logger.format.bold(project.name)} (v${project.version})`);
18
+
19
+ try {
20
+ // Run cleanup commands
21
+ await execute(command, { log: true });
22
+
23
+ // Log success
24
+ logger.log(logger.format.green('Cleanup completed successfully!'));
25
+
26
+ return true;
27
+ } catch (e) {
28
+ // Log failure
29
+ logger.error(`Cleanup failed`, e.stack);
30
+
31
+ return false;
32
+ }
33
+ };
@@ -0,0 +1,99 @@
1
+ // Libraries
2
+ const logger = new (require('../lib/logger'))('node-power-user');
3
+ const path = require('path');
4
+ const os = require('os');
5
+ const jetpack = require('fs-jetpack');
6
+ const version = require('wonderful-version');
7
+ const { table } = require('table');
8
+ const ProgressBar = require('cli-progress');
9
+ const Npm = require('npm-api');
10
+ const chalk = require('chalk');
11
+
12
+ const npm = new Npm();
13
+
14
+ // Module
15
+ module.exports = async function (options) {
16
+ // Define global modules path
17
+ const parentPath = `/Users/${os.userInfo().username}/.nvm/versions/node`;
18
+ const versions = jetpack.list(parentPath) || [];
19
+ const response = {};
20
+
21
+ // Log start
22
+ logger.log(`Checking global modules for ${logger.format.bold(versions.length)} Node.js versions...`);
23
+
24
+ // Loop through Node.js versions
25
+ for (const ver of versions) {
26
+ try {
27
+ // Quick check if ver starts with a dot
28
+ if (ver.startsWith('.')) {
29
+ continue;
30
+ }
31
+
32
+ // Clean
33
+ const cleaned = version.clean(ver);
34
+ const libPath = path.resolve(parentPath, `v${cleaned}`, 'lib', 'node_modules');
35
+ const modules = jetpack.list(libPath) || [];
36
+
37
+ // Log version being checked
38
+ logger.log(`Checking global modules for Node v${logger.format.bold(cleaned)}...`);
39
+
40
+ // Skip if no global modules found
41
+ if (!modules.length) {
42
+ logger.warn(`No global modules found for Node v${logger.format.bold(cleaned)}.`);
43
+ continue;
44
+ }
45
+
46
+ // Initialize progress bar
47
+ const progress = new ProgressBar.SingleBar({}, ProgressBar.Presets.shades_classic);
48
+ progress.start(modules.length, 0);
49
+
50
+ // Initialize data
51
+ response[cleaned] = {};
52
+ const data = [['Name', 'Package', 'Latest']];
53
+
54
+ // Loop through modules
55
+ for (const mod of modules) {
56
+ const packagePath = path.resolve(libPath, mod, 'package.json');
57
+ try {
58
+ const packageJson = require(packagePath);
59
+ const packageVersion = packageJson.version;
60
+
61
+ // Fetch the latest version from npm
62
+ let latestVersion = await npm.repo(mod).package().then(pkg => pkg.version).catch(() => '?');
63
+
64
+ // Determine version color-coding
65
+ const isLatest = packageVersion === latestVersion;
66
+ const verb = isLatest ? 'green' : 'red';
67
+
68
+ // Add to response and table data
69
+ data.push([
70
+ mod,
71
+ packageVersion,
72
+ chalk[verb](latestVersion)
73
+ ]);
74
+ response[cleaned][mod] = {
75
+ version: packageVersion,
76
+ latest: latestVersion
77
+ };
78
+ } catch (e) {}
79
+
80
+ progress.increment();
81
+ }
82
+
83
+ // Stop progress bar
84
+ progress.stop();
85
+
86
+ // Display results
87
+ console.log(table(data));
88
+
89
+ } catch (e) {
90
+ logger.error(`Error processing Node v${ver}:`, e.stack);
91
+ }
92
+ }
93
+
94
+ // Log completion
95
+ logger.log(logger.format.green('Global module check completed successfully!'));
96
+
97
+ // Return response
98
+ return response;
99
+ };
@@ -0,0 +1,100 @@
1
+ // Libraries
2
+ const logger = new (require('../lib/logger'))('node-power-user');
3
+ const chalk = require('chalk');
4
+ const { table } = require('table');
5
+ const ProgressBar = require('cli-progress');
6
+ const Npm = require('npm-api');
7
+ const version = require('wonderful-version');
8
+ const jetpack = require('fs-jetpack');
9
+ const path = require('path');
10
+
11
+ const npm = new Npm();
12
+
13
+ // Load package.json
14
+ const projectPath = process.cwd();
15
+ const projectJson = jetpack.read(path.join(projectPath, 'package.json'), 'json') || {};
16
+
17
+ // Module
18
+ module.exports = async function (options) {
19
+ // Combine all dependencies
20
+ const allDependencies = Object.assign(
21
+ {},
22
+ projectJson.dependencies,
23
+ projectJson.devDependencies,
24
+ projectJson.peerDependencies
25
+ );
26
+
27
+ // Check if there are any dependencies
28
+ if (Object.keys(allDependencies).length === 0) {
29
+ logger.warn('No dependencies found in package.json.');
30
+ return {};
31
+ }
32
+
33
+ // Log start
34
+ logger.log(`Checking outdated dependencies for ${logger.format.bold(projectJson.name || 'Unknown Project')}...`);
35
+
36
+ // Initialize data table
37
+ const data = [['Name', 'Package', 'Installed', 'Latest']];
38
+ const progress = new ProgressBar.SingleBar({}, ProgressBar.Presets.shades_classic);
39
+ progress.start(Object.keys(allDependencies).length, 0);
40
+
41
+ const response = {};
42
+
43
+ // Loop through dependencies
44
+ for (const dep of Object.keys(allDependencies)) {
45
+ try {
46
+ progress.increment();
47
+
48
+ // Get version info
49
+ const packageVersion = version.clean(allDependencies[dep]); // Version from package.json
50
+ const installedPackagePath = path.join(projectPath, 'node_modules', dep, 'package.json');
51
+
52
+ let installedVersion = '?';
53
+ if (jetpack.exists(installedPackagePath)) {
54
+ const installedJson = jetpack.read(installedPackagePath, 'json');
55
+ installedVersion = installedJson?.version ? version.clean(installedJson.version) : '?';
56
+ }
57
+
58
+ // Get latest published version
59
+ const latestVersion = await npm.repo(dep).package().then(pkg => version.clean(pkg.version)).catch(() => '?');
60
+
61
+ // Check version statuses
62
+ const isInstalledCurrent = version.is(installedVersion, '==', packageVersion);
63
+ const isUpToDate = version.is(packageVersion, '>=', latestVersion);
64
+
65
+ // Format version colors
66
+ const installedColor = isInstalledCurrent ? 'green' : 'yellow';
67
+ const latestColor = isUpToDate ? 'green' : 'red';
68
+
69
+ // Store response data
70
+ response[dep] = {
71
+ package: packageVersion,
72
+ installed: installedVersion,
73
+ latest: latestVersion,
74
+ isInstalledCurrent,
75
+ isUpToDate
76
+ };
77
+
78
+ // Add row to table
79
+ data.push([
80
+ dep,
81
+ packageVersion,
82
+ chalk[installedColor](installedVersion),
83
+ chalk[latestColor](latestVersion)
84
+ ]);
85
+ } catch (e) {
86
+ logger.error(`Error checking ${dep}: ${e.message}`);
87
+ }
88
+ }
89
+
90
+ // Stop progress bar
91
+ progress.stop();
92
+
93
+ // Display table
94
+ console.log(table(data));
95
+
96
+ // Log completion
97
+ logger.log(logger.format.green('Outdated package check completed successfully!'));
98
+
99
+ return response;
100
+ };
@@ -0,0 +1,58 @@
1
+ // Libraries
2
+ const logger = new (require('../lib/logger'))('node-power-user');
3
+ const path = require('path');
4
+ const jetpack = require('fs-jetpack');
5
+ const chalk = require('chalk');
6
+ const { table } = require('table');
7
+
8
+ // Load package.json
9
+ const projectPath = process.cwd();
10
+ const projectJson = jetpack.read(path.join(projectPath, 'package.json'), 'json') || {};
11
+
12
+ // Module
13
+ module.exports = async function (options) {
14
+ // Log start
15
+ logger.log(`Listing dependencies for ${logger.format.bold(projectJson.name || 'Unknown Project')} (v${projectJson.version || '0.0.0'})...`);
16
+
17
+ // Initialize response
18
+ const response = {
19
+ dependencies: {},
20
+ devDependencies: {},
21
+ peerDependencies: {}
22
+ };
23
+
24
+ // Initialize table data
25
+ const data = [['name', 'Version']];
26
+
27
+ // Helper function to process dependencies
28
+ const processDeps = (deps, type, label) => {
29
+ if (!deps || Object.keys(deps).length === 0) return;
30
+
31
+ // Insert a separator row if the table already has data
32
+ if (data.length > 1) data.push([label, chalk.gray('───────')]);
33
+
34
+ Object.entries(deps).forEach(([pkg, version]) => {
35
+ data.push([pkg, version]);
36
+ response[type][pkg] = version;
37
+ });
38
+ };
39
+
40
+ // Process dependencies
41
+ processDeps(projectJson.dependencies, 'dependencies', 'Dependencies');
42
+ processDeps(projectJson.devDependencies, 'devDependencies', 'Dev Dependencies');
43
+ processDeps(projectJson.peerDependencies, 'peerDependencies', 'Peer Dependencies');
44
+
45
+ // Check if the table has any data
46
+ if (data.length === 1) {
47
+ logger.warn('No dependencies found in package.json.');
48
+ return response;
49
+ }
50
+
51
+ // Display table
52
+ console.log(table(data));
53
+
54
+ // Log completion
55
+ logger.log(logger.format.green('Package listing completed successfully!'));
56
+
57
+ return response;
58
+ };
@@ -0,0 +1,64 @@
1
+ // Libraries
2
+ const logger = new (require('../lib/logger'))('node-power-user');
3
+ const path = require('path');
4
+ const jetpack = require('fs-jetpack');
5
+ const { execute } = require('node-powertools');
6
+ const inquirer = require('@inquirer/prompts');
7
+
8
+ // Load package.json files
9
+ const package = jetpack.read(path.join(__dirname, '../../', 'package.json'), 'json');
10
+ const project = jetpack.read(path.join(process.cwd(), 'package.json'), 'json');
11
+
12
+ // Module
13
+ module.exports = async function (options) {
14
+ // Collect answers using the new @inquirer/prompts methods
15
+ const message = await ask({
16
+ message: 'Enter a commit message',
17
+ default: 'Update',
18
+ value: options.message,
19
+ multiline: false,
20
+ });
21
+
22
+ // Define cleanup command
23
+ const command = `git pull && git add . && git commit -m "${message}" && git push origin`;
24
+
25
+ // Log initial state
26
+ logger.log(`Syncing repo...`);
27
+
28
+ try {
29
+ // Run cleanup commands
30
+ await execute(command, { log: true });
31
+
32
+ // Log success
33
+ logger.log(logger.format.green('Sync completed successfully!'));
34
+
35
+ return true;
36
+ } catch (e) {
37
+ // Log failure
38
+ logger.error(`Sync failed`, e.stack);
39
+
40
+ return false;
41
+ }
42
+ };
43
+
44
+ function ask(options) {
45
+ options = options || {};
46
+
47
+ // If a value is provided, return it
48
+ if (typeof options.value !== 'undefined') {
49
+ return options.value;
50
+ }
51
+
52
+ // Check if multuiline is enabled
53
+ if (options.multiline) {
54
+ return inquirer.editor({
55
+ message: options.message,
56
+ default: options.default,
57
+ });
58
+ }
59
+
60
+ return inquirer.input({
61
+ message: options.message,
62
+ default: options.default,
63
+ });
64
+ }
@@ -0,0 +1,13 @@
1
+ // Libraries
2
+ const logger = new (require('../lib/logger'))('node-power-user');
3
+ const path = require('path');
4
+ const jetpack = require('fs-jetpack');
5
+
6
+ // Load package
7
+ const package = jetpack.read(path.join(__dirname, '../../', 'package.json'), 'json');
8
+ const project = jetpack.read(path.join(process.cwd(), 'package.json'), 'json');
9
+
10
+ module.exports = async function (options) {
11
+ // Log version
12
+ console.log(package.version);
13
+ };
@@ -0,0 +1,56 @@
1
+ // Libraries
2
+ const chalk = require('chalk');
3
+
4
+ // Logger class
5
+ function Logger(name) {
6
+ const self = this;
7
+
8
+ // Properties
9
+ self.name = name;
10
+ }
11
+
12
+ // Loop through log, error, warn, and info and make methods that log to console with the name and time [xx:xx:xx] name: message
13
+ ['log', 'error', 'warn', 'info'].forEach((method) => {
14
+ Logger.prototype[method] = function () {
15
+ // Get time
16
+ const time = new Date().toLocaleTimeString('en-US', {
17
+ hour12: false,
18
+ hour: '2-digit',
19
+ minute: '2-digit',
20
+ second: '2-digit'
21
+ });
22
+
23
+ // Determine color based on method
24
+ let color;
25
+ switch (method) {
26
+ case 'warn':
27
+ color = chalk.yellow;
28
+ break;
29
+ case 'error':
30
+ color = chalk.red;
31
+ break;
32
+ default:
33
+ color = (text) => text; // No color
34
+ }
35
+
36
+ // Convert arguments to array and prepend time and name
37
+ const args = [`[${chalk.magenta(time)}] '${chalk.cyan(this.name)}':`, ...Array.from(arguments).map(arg => {
38
+ return typeof arg === 'string'
39
+ ? color(arg)
40
+ : (
41
+ arg instanceof Error
42
+ ? color(arg.stack)
43
+ : arg
44
+ );
45
+ })];
46
+
47
+ // Log
48
+ console[method].apply(console, args);
49
+ };
50
+ });
51
+
52
+ // Export chalk as color
53
+ Logger.prototype.format = chalk;
54
+
55
+ // Export
56
+ module.exports = Logger;
package/package.json CHANGED
@@ -1,20 +1,20 @@
1
1
  {
2
2
  "name": "node-power-user",
3
- "version": "1.0.1",
3
+ "version": "1.0.5",
4
4
  "description": "Easy tools for every Node.js developer!",
5
5
  "main": "dist/index.js",
6
- "bin": {
7
- "npu": "bin/npu",
8
- "node-power-user": "bin/npu",
9
- "nodepoweruser": "bin/npu"
10
- },
11
6
  "scripts": {
12
7
  "test": "npm run prepare && ./node_modules/mocha/bin/mocha test/ --recursive --timeout=10000",
13
8
  "start": "npm run prepare && ./bin/npu",
14
9
  "help": "echo 'npm start -- -v'",
15
- "prepare": "node -e 'require(`prepare-package`)()'",
10
+ "prepare": "node -e \"require('prepare-package')()\"",
16
11
  "prepare:watch": "nodemon -w ./src -e '*' --exec 'npm run prepare'"
17
12
  },
13
+ "bin": {
14
+ "npu": "bin/npu",
15
+ "node-power-user": "bin/npu",
16
+ "nodepoweruser": "bin/npu"
17
+ },
18
18
  "repository": {
19
19
  "type": "git",
20
20
  "url": "git+https://github.com/itw-creative-works/node-power-user.git"
@@ -30,27 +30,29 @@
30
30
  "url": "https://github.com/itw-creative-works/node-power-user/issues"
31
31
  },
32
32
  "homepage": "https://itwcreativeworks.com",
33
+ "preparePackage": {
34
+ "input": "./src",
35
+ "output": "./dist",
36
+ "replace": {}
37
+ },
33
38
  "dependencies": {
39
+ "@inquirer/prompts": "^7.3.1",
34
40
  "chalk": "^4.1.2",
35
- "cli-progress": "^3.11.2",
41
+ "cli-progress": "^3.12.0",
36
42
  "fs-jetpack": "^4.3.1",
37
- "inquirer": "^8.2.4",
38
- "json5": "^2.2.1",
39
- "keychain": "^1.3.0",
43
+ "inquirer": "^8.2.6",
44
+ "itwcw-package-analytics": "^1.0.6",
45
+ "json5": "^2.2.3",
46
+ "keychain": "^1.5.0",
40
47
  "lodash": "^4.17.21",
41
- "node-powertools": "^0.0.21",
48
+ "node-powertools": "^2.1.5",
42
49
  "npm-api": "^1.0.1",
43
- "semver": "^7.3.7",
44
- "table": "^6.8.0",
50
+ "table": "^6.9.0",
51
+ "wonderful-version": "^1.3.2",
45
52
  "yargs": "^16.2.0"
46
53
  },
47
54
  "devDependencies": {
48
55
  "mocha": "^8.4.0",
49
- "prepare-package": "^1.1.3"
50
- },
51
- "preparePackage": {
52
- "input": "./src",
53
- "output": "./dist",
54
- "replace": {}
56
+ "prepare-package": "^1.1.14"
55
57
  }
56
- }
58
+ }