oclif 1.18.1 → 1.18.2-dev.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.
@@ -1 +1 @@
1
- {"version":"1.18.1","commands":{"base":{"id":"base","pluginName":"oclif","pluginType":"core","hidden":true,"aliases":[],"flags":{"defaults":{"name":"defaults","type":"boolean","description":"use defaults for every setting","allowNo":false},"options":{"name":"options","type":"option","description":"(yarn|typescript|eslint|mocha)"},"force":{"name":"force","type":"boolean","description":"overwrite existing files","allowNo":false}},"args":[{"name":"path","description":"path to project, defaults to current directory","required":false}]},"command":{"id":"command","description":"add a command to an existing CLI or plugin","pluginName":"oclif","pluginType":"core","aliases":[],"flags":{"defaults":{"name":"defaults","type":"boolean","description":"use defaults for every setting","allowNo":false},"force":{"name":"force","type":"boolean","description":"overwrite existing files","allowNo":false}},"args":[{"name":"name","description":"name of command","required":true}]},"hook":{"id":"hook","description":"add a hook to an existing CLI or plugin","pluginName":"oclif","pluginType":"core","aliases":[],"flags":{"defaults":{"name":"defaults","type":"boolean","description":"use defaults for every setting","allowNo":false},"force":{"name":"force","type":"boolean","description":"overwrite existing files","allowNo":false},"event":{"name":"event","type":"option","description":"event to run hook on","default":"init"}},"args":[{"name":"name","description":"name of hook (snake_case)","required":true}]},"manifest":{"id":"manifest","description":"generates plugin manifest json","pluginName":"oclif","pluginType":"core","hidden":true,"aliases":[],"flags":{},"args":[{"name":"path","description":"path to plugin","default":"."}]},"multi":{"id":"multi","description":"generate a new multi-command CLI","pluginName":"oclif","pluginType":"core","aliases":[],"flags":{"defaults":{"name":"defaults","type":"boolean","description":"use defaults for every setting","allowNo":false},"options":{"name":"options","type":"option","description":"(yarn|typescript|eslint|mocha)"},"force":{"name":"force","type":"boolean","description":"overwrite existing files","allowNo":false}},"args":[{"name":"path","description":"path to project, defaults to current directory","required":false}]},"plugin":{"id":"plugin","description":"create a new CLI plugin","pluginName":"oclif","pluginType":"core","aliases":[],"flags":{"defaults":{"name":"defaults","type":"boolean","description":"use defaults for every setting","allowNo":false},"options":{"name":"options","type":"option","description":"(yarn|typescript|eslint|mocha)"},"force":{"name":"force","type":"boolean","description":"overwrite existing files","allowNo":false}},"args":[{"name":"path","description":"path to project, defaults to current directory","required":false}]},"promote":{"id":"promote","description":"promote CLI builds to a S3 release channel","pluginName":"oclif","pluginType":"core","hidden":true,"aliases":[],"flags":{"root":{"name":"root","type":"option","char":"r","description":"path to the oclif CLI project root","required":true,"default":"."},"version":{"name":"version","type":"option","description":"semantic version of the CLI to promote","required":true},"sha":{"name":"sha","type":"option","description":"7-digit short git commit SHA of the CLI to promote","required":true},"channel":{"name":"channel","type":"option","description":"which channel to promote to","required":true,"default":"stable"},"targets":{"name":"targets","type":"option","char":"t","description":"comma-separated targets to promote (e.g.: linux-arm,win32-x64)","default":"linux-x64,linux-arm,win32-x64,win32-x86,darwin-x64"},"deb":{"name":"deb","type":"boolean","char":"d","description":"promote debian artifacts","allowNo":false},"macos":{"name":"macos","type":"boolean","char":"m","description":"promote macOS pkg","allowNo":false},"win":{"name":"win","type":"boolean","char":"w","description":"promote Windows exe","allowNo":false},"max-age":{"name":"max-age","type":"option","char":"a","description":"cache control max-age in seconds","default":"86400"},"xz":{"name":"xz","type":"boolean","description":"also upload xz","allowNo":true},"indexes":{"name":"indexes","type":"boolean","description":"append the promoted urls into the index files","allowNo":false}},"args":[]},"readme":{"id":"readme","description":"adds commands to README.md in current directory\nThe readme must have any of the following tags inside of it for it to be replaced or else it will do nothing:\n# Usage\n<!-- usage -->\n# Commands\n<!-- commands -->\n\nCustomize the code URL prefix by setting oclif.repositoryPrefix in package.json.\n","pluginName":"oclif","pluginType":"core","hidden":true,"aliases":[],"flags":{"dir":{"name":"dir","type":"option","description":"output directory for multi docs","required":true,"default":"docs"},"multi":{"name":"multi","type":"boolean","description":"create a different markdown page for each topic","allowNo":false}},"args":[]},"single":{"id":"single","description":"generate a new single-command CLI","pluginName":"oclif","pluginType":"core","aliases":[],"flags":{"defaults":{"name":"defaults","type":"boolean","description":"use defaults for every setting","allowNo":false},"options":{"name":"options","type":"option","description":"(yarn|typescript|eslint|mocha)"},"force":{"name":"force","type":"boolean","description":"overwrite existing files","allowNo":false}},"args":[{"name":"path","description":"path to project, defaults to current directory","required":false}]},"pack:deb":{"id":"pack:deb","description":"pack CLI into debian package","pluginName":"oclif","pluginType":"core","hidden":true,"aliases":[],"flags":{"root":{"name":"root","type":"option","char":"r","description":"path to oclif CLI root","required":true,"default":"."}},"args":[]},"pack:macos":{"id":"pack:macos","description":"pack CLI into macOS .pkg","pluginName":"oclif","pluginType":"core","hidden":true,"aliases":[],"flags":{"root":{"name":"root","type":"option","char":"r","description":"path to oclif CLI root","required":true,"default":"."}},"args":[]},"pack:tarballs":{"id":"pack:tarballs","description":"packages oclif CLI into tarballs\n\nThis can be used to create oclif CLIs that use the system node or that come preloaded with a node binary.\n","pluginName":"oclif","pluginType":"core","hidden":true,"aliases":[],"flags":{"root":{"name":"root","type":"option","char":"r","description":"path to oclif CLI root","required":true,"default":"."},"targets":{"name":"targets","type":"option","char":"t","description":"comma-separated targets to pack (e.g.: linux-arm,win32-x64)","default":"linux-x64,linux-arm,win32-x64,win32-x86,darwin-x64"},"xz":{"name":"xz","type":"boolean","description":"also build xz","allowNo":true}},"args":[]},"pack:win":{"id":"pack:win","description":"create windows installer from oclif CLI","pluginName":"oclif","pluginType":"core","hidden":true,"aliases":[],"flags":{"root":{"name":"root","type":"option","char":"r","description":"path to oclif CLI root","required":true,"default":"."}},"args":[]},"upload:deb":{"id":"upload:deb","description":"upload deb package built with pack:deb","pluginName":"oclif","pluginType":"core","hidden":true,"aliases":[],"flags":{"root":{"name":"root","type":"option","char":"r","description":"path to oclif CLI root","required":true,"default":"."}},"args":[]},"upload:macos":{"id":"upload:macos","description":"upload macos installers built with pack:macos","pluginName":"oclif","pluginType":"core","hidden":true,"aliases":[],"flags":{"root":{"name":"root","type":"option","char":"r","description":"path to oclif CLI root","required":true,"default":"."}},"args":[]},"upload:tarballs":{"id":"upload:tarballs","description":"upload an oclif CLI to S3\n\n\"aws-sdk\" will need to be installed as a devDependency to upload.\n","pluginName":"oclif","pluginType":"core","hidden":true,"aliases":[],"flags":{"root":{"name":"root","type":"option","char":"r","description":"path to oclif CLI root","required":true,"default":"."},"targets":{"name":"targets","type":"option","char":"t","description":"comma-separated targets to upload (e.g.: linux-arm,win32-x64)","default":"linux-x64,linux-arm,win32-x64,win32-x86,darwin-x64"},"xz":{"name":"xz","type":"boolean","description":"also upload xz","allowNo":true}},"args":[]},"upload:win":{"id":"upload:win","description":"upload windows installers built with pack:win","pluginName":"oclif","pluginType":"core","hidden":true,"aliases":[],"flags":{"root":{"name":"root","type":"option","char":"r","description":"path to oclif CLI root","required":true,"default":"."}},"args":[]}}}
1
+ {"version":"1.18.2-dev.3","commands":{"base":{"id":"base","pluginName":"oclif","pluginType":"core","hidden":true,"aliases":[],"flags":{"defaults":{"name":"defaults","type":"boolean","description":"use defaults for every setting","allowNo":false},"options":{"name":"options","type":"option","description":"(yarn|typescript|eslint|mocha)"},"force":{"name":"force","type":"boolean","description":"overwrite existing files","allowNo":false}},"args":[{"name":"path","description":"path to project, defaults to current directory","required":false}]},"command":{"id":"command","description":"add a command to an existing CLI or plugin","pluginName":"oclif","pluginType":"core","aliases":[],"flags":{"defaults":{"name":"defaults","type":"boolean","description":"use defaults for every setting","allowNo":false},"force":{"name":"force","type":"boolean","description":"overwrite existing files","allowNo":false}},"args":[{"name":"name","description":"name of command","required":true}]},"hook":{"id":"hook","description":"add a hook to an existing CLI or plugin","pluginName":"oclif","pluginType":"core","aliases":[],"flags":{"defaults":{"name":"defaults","type":"boolean","description":"use defaults for every setting","allowNo":false},"force":{"name":"force","type":"boolean","description":"overwrite existing files","allowNo":false},"event":{"name":"event","type":"option","description":"event to run hook on","default":"init"}},"args":[{"name":"name","description":"name of hook (snake_case)","required":true}]},"manifest":{"id":"manifest","description":"generates plugin manifest json","pluginName":"oclif","pluginType":"core","hidden":true,"aliases":[],"flags":{},"args":[{"name":"path","description":"path to plugin","default":"."}]},"multi":{"id":"multi","description":"generate a new multi-command CLI","pluginName":"oclif","pluginType":"core","aliases":[],"flags":{"defaults":{"name":"defaults","type":"boolean","description":"use defaults for every setting","allowNo":false},"options":{"name":"options","type":"option","description":"(yarn|typescript|eslint|mocha)"},"force":{"name":"force","type":"boolean","description":"overwrite existing files","allowNo":false}},"args":[{"name":"path","description":"path to project, defaults to current directory","required":false}]},"plugin":{"id":"plugin","description":"create a new CLI plugin","pluginName":"oclif","pluginType":"core","aliases":[],"flags":{"defaults":{"name":"defaults","type":"boolean","description":"use defaults for every setting","allowNo":false},"options":{"name":"options","type":"option","description":"(yarn|typescript|eslint|mocha)"},"force":{"name":"force","type":"boolean","description":"overwrite existing files","allowNo":false}},"args":[{"name":"path","description":"path to project, defaults to current directory","required":false}]},"promote":{"id":"promote","description":"promote CLI builds to a S3 release channel","pluginName":"oclif","pluginType":"core","hidden":true,"aliases":[],"flags":{"root":{"name":"root","type":"option","char":"r","description":"path to the oclif CLI project root","required":true,"default":"."},"version":{"name":"version","type":"option","description":"semantic version of the CLI to promote","required":true},"sha":{"name":"sha","type":"option","description":"7-digit short git commit SHA of the CLI to promote","required":true},"channel":{"name":"channel","type":"option","description":"which channel to promote to","required":true,"default":"stable"},"targets":{"name":"targets","type":"option","char":"t","description":"comma-separated targets to promote (e.g.: linux-arm,win32-x64)","default":"linux-x64,linux-arm,win32-x64,win32-x86,darwin-x64"},"deb":{"name":"deb","type":"boolean","char":"d","description":"promote debian artifacts","allowNo":false},"macos":{"name":"macos","type":"boolean","char":"m","description":"promote macOS pkg","allowNo":false},"win":{"name":"win","type":"boolean","char":"w","description":"promote Windows exe","allowNo":false},"max-age":{"name":"max-age","type":"option","char":"a","description":"cache control max-age in seconds","default":"86400"},"xz":{"name":"xz","type":"boolean","description":"also upload xz","allowNo":true},"indexes":{"name":"indexes","type":"boolean","description":"append the promoted urls into the index files","allowNo":false}},"args":[]},"readme":{"id":"readme","description":"adds commands to README.md in current directory\nThe readme must have any of the following tags inside of it for it to be replaced or else it will do nothing:\n# Usage\n<!-- usage -->\n# Commands\n<!-- commands -->\n\nCustomize the code URL prefix by setting oclif.repositoryPrefix in package.json.\n","pluginName":"oclif","pluginType":"core","hidden":true,"aliases":[],"flags":{"dir":{"name":"dir","type":"option","description":"output directory for multi docs","required":true,"default":"docs"},"multi":{"name":"multi","type":"boolean","description":"create a different markdown page for each topic","allowNo":false}},"args":[]},"single":{"id":"single","description":"generate a new single-command CLI","pluginName":"oclif","pluginType":"core","aliases":[],"flags":{"defaults":{"name":"defaults","type":"boolean","description":"use defaults for every setting","allowNo":false},"options":{"name":"options","type":"option","description":"(yarn|typescript|eslint|mocha)"},"force":{"name":"force","type":"boolean","description":"overwrite existing files","allowNo":false}},"args":[{"name":"path","description":"path to project, defaults to current directory","required":false}]},"pack:deb":{"id":"pack:deb","description":"pack CLI into debian package","pluginName":"oclif","pluginType":"core","hidden":true,"aliases":[],"flags":{"root":{"name":"root","type":"option","char":"r","description":"path to oclif CLI root","required":true,"default":"."}},"args":[]},"pack:macos":{"id":"pack:macos","description":"pack CLI into macOS .pkg","pluginName":"oclif","pluginType":"core","hidden":true,"aliases":[],"flags":{"root":{"name":"root","type":"option","char":"r","description":"path to oclif CLI root","required":true,"default":"."},"additional-executable":{"name":"additional-executable","type":"option","description":"an executable other than the one listed in config.bin that should be made available to the user\nthe executable should already exist in the tarball produced by \"oclif pack:tarballs\""}},"args":[]},"pack:tarballs":{"id":"pack:tarballs","description":"packages oclif CLI into tarballs\n\nThis can be used to create oclif CLIs that use the system node or that come preloaded with a node binary.\n","pluginName":"oclif","pluginType":"core","hidden":true,"aliases":[],"flags":{"root":{"name":"root","type":"option","char":"r","description":"path to oclif CLI root","required":true,"default":"."},"targets":{"name":"targets","type":"option","char":"t","description":"comma-separated targets to pack (e.g.: linux-arm,win32-x64)","default":"linux-x64,linux-arm,win32-x64,win32-x86,darwin-x64"},"xz":{"name":"xz","type":"boolean","description":"also build xz","allowNo":true}},"args":[]},"pack:win":{"id":"pack:win","description":"create windows installer from oclif CLI","pluginName":"oclif","pluginType":"core","hidden":true,"aliases":[],"flags":{"root":{"name":"root","type":"option","char":"r","description":"path to oclif CLI root","required":true,"default":"."},"additional-executable":{"name":"additional-executable","type":"option","description":"an executable other than the one listed in config.bin that should be made available to the user\nthe executable should already exist in the tarball produced by \"oclif pack:tarballs\""}},"args":[]},"upload:deb":{"id":"upload:deb","description":"upload deb package built with pack:deb","pluginName":"oclif","pluginType":"core","hidden":true,"aliases":[],"flags":{"root":{"name":"root","type":"option","char":"r","description":"path to oclif CLI root","required":true,"default":"."}},"args":[]},"upload:macos":{"id":"upload:macos","description":"upload macos installers built with pack:macos","pluginName":"oclif","pluginType":"core","hidden":true,"aliases":[],"flags":{"root":{"name":"root","type":"option","char":"r","description":"path to oclif CLI root","required":true,"default":"."}},"args":[]},"upload:tarballs":{"id":"upload:tarballs","description":"upload an oclif CLI to S3\n\n\"aws-sdk\" will need to be installed as a devDependency to upload.\n","pluginName":"oclif","pluginType":"core","hidden":true,"aliases":[],"flags":{"root":{"name":"root","type":"option","char":"r","description":"path to oclif CLI root","required":true,"default":"."},"targets":{"name":"targets","type":"option","char":"t","description":"comma-separated targets to upload (e.g.: linux-arm,win32-x64)","default":"linux-x64,linux-arm,win32-x64,win32-x86,darwin-x64"},"xz":{"name":"xz","type":"boolean","description":"also upload xz","allowNo":true}},"args":[]},"upload:win":{"id":"upload:win","description":"upload windows installers built with pack:win","pluginName":"oclif","pluginType":"core","hidden":true,"aliases":[],"flags":{"root":{"name":"root","type":"option","char":"r","description":"path to oclif CLI root","required":true,"default":"."}},"args":[]}}}
package/CHANGELOG.md CHANGED
@@ -2,6 +2,32 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
4
4
 
5
+ ### [1.18.2-dev.3](https://github.com/oclif/oclif/compare/v1.18.1...v1.18.2-dev.3) (2021-10-28)
6
+
7
+
8
+ ### ⚠ BREAKING CHANGES
9
+
10
+ * require node 12+ (#676)
11
+
12
+ ### Features
13
+
14
+ * add additional executable to mac installer ([015d10a](https://github.com/oclif/oclif/commit/015d10ac904fe25bc699e5381d643067fba489da))
15
+ * add additional executable to win installer ([cfd831e](https://github.com/oclif/oclif/commit/cfd831e4c03ab70dff0fcd330a84f0f3905153c3))
16
+
17
+
18
+ ### Bug Fixes
19
+
20
+ * build and find tarballs using the same version ([44c4177](https://github.com/oclif/oclif/commit/44c41774c262c85eebd1a0eb8afce07edfd5ef8c))
21
+ * lint ([110e659](https://github.com/oclif/oclif/commit/110e6597c3fe41a1453c0034b166b23419324b71))
22
+ * release new dev version ([cb63e9c](https://github.com/oclif/oclif/commit/cb63e9c508dbbf7dea0ed44a3bd082be7fbc122b))
23
+ * tests ([7a68684](https://github.com/oclif/oclif/commit/7a68684cd25ba4b770d16904fc22eb266c0c4b1f))
24
+ * upload tarballs using same version as they were built with ([ec61f18](https://github.com/oclif/oclif/commit/ec61f18b83987bbd0bf7c4dc583e3e891e3a29d3))
25
+
26
+
27
+ ### build
28
+
29
+ * require node 12+ ([#676](https://github.com/oclif/oclif/issues/676)) ([f4b648c](https://github.com/oclif/oclif/commit/f4b648c244c8806c999ad2e636c446414b14c5a5))
30
+
5
31
  ### [1.18.1](https://github.com/oclif/oclif/compare/v1.18.0...v1.18.1) (2021-07-01)
6
32
 
7
33
 
package/README.md CHANGED
@@ -146,7 +146,7 @@ OPTIONS
146
146
  --force overwrite existing files
147
147
  ```
148
148
 
149
- _See code: [src/commands/command.ts](https://github.com/oclif/oclif/blob/v1.18.0/src/commands/command.ts)_
149
+ _See code: [src/commands/command.ts](https://github.com/oclif/oclif/blob/v1.18.2-dev.3/src/commands/command.ts)_
150
150
 
151
151
  ## `oclif help [COMMAND]`
152
152
 
@@ -182,7 +182,7 @@ OPTIONS
182
182
  --force overwrite existing files
183
183
  ```
184
184
 
185
- _See code: [src/commands/hook.ts](https://github.com/oclif/oclif/blob/v1.18.0/src/commands/hook.ts)_
185
+ _See code: [src/commands/hook.ts](https://github.com/oclif/oclif/blob/v1.18.2-dev.3/src/commands/hook.ts)_
186
186
 
187
187
  ## `oclif multi [PATH]`
188
188
 
@@ -201,7 +201,7 @@ OPTIONS
201
201
  --options=options (yarn|typescript|eslint|mocha)
202
202
  ```
203
203
 
204
- _See code: [src/commands/multi.ts](https://github.com/oclif/oclif/blob/v1.18.0/src/commands/multi.ts)_
204
+ _See code: [src/commands/multi.ts](https://github.com/oclif/oclif/blob/v1.18.2-dev.3/src/commands/multi.ts)_
205
205
 
206
206
  ## `oclif plugin [PATH]`
207
207
 
@@ -220,7 +220,7 @@ OPTIONS
220
220
  --options=options (yarn|typescript|eslint|mocha)
221
221
  ```
222
222
 
223
- _See code: [src/commands/plugin.ts](https://github.com/oclif/oclif/blob/v1.18.0/src/commands/plugin.ts)_
223
+ _See code: [src/commands/plugin.ts](https://github.com/oclif/oclif/blob/v1.18.2-dev.3/src/commands/plugin.ts)_
224
224
 
225
225
  ## `oclif single [PATH]`
226
226
 
@@ -239,7 +239,7 @@ OPTIONS
239
239
  --options=options (yarn|typescript|eslint|mocha)
240
240
  ```
241
241
 
242
- _See code: [src/commands/single.ts](https://github.com/oclif/oclif/blob/v1.18.0/src/commands/single.ts)_
242
+ _See code: [src/commands/single.ts](https://github.com/oclif/oclif/blob/v1.18.2-dev.3/src/commands/single.ts)_
243
243
  <!-- commandsstop -->
244
244
 
245
245
  # 🏭 Related Repositories
@@ -4,6 +4,7 @@ export default class PackMacos extends Command {
4
4
  static description: string;
5
5
  static flags: {
6
6
  root: flags.IOptionFlag<string>;
7
+ 'additional-executable': flags.IOptionFlag<string | undefined>;
7
8
  };
8
9
  run(): Promise<void>;
9
10
  }
@@ -6,17 +6,21 @@ const qq = require("qqjs");
6
6
  const Tarballs = require("../../tarballs");
7
7
  const upload_util_1 = require("../../upload-util");
8
8
  const scripts = {
9
- preinstall: (config) => `#!/usr/bin/env bash
9
+ preinstall: (config, additionalExecutable) => `#!/usr/bin/env bash
10
10
  sudo rm -rf /usr/local/lib/${config.dirname}
11
11
  sudo rm -rf /usr/local/${config.bin}
12
12
  sudo rm -rf /usr/local/bin/${config.bin}
13
+ ${additionalExecutable ?
14
+ `sudo rm -rf /usr/local/${additionalExecutable}
15
+ sudo rm -rf /usr/local/bin/${additionalExecutable}` : ''}
13
16
  `,
14
- postinstall: (config) => `#!/usr/bin/env bash
17
+ postinstall: (config, additionalExecutable) => `#!/usr/bin/env bash
15
18
  set -x
16
19
  sudo mkdir -p /usr/local/bin
17
20
  sudo ln -sf /usr/local/lib/${config.dirname}/bin/${config.bin} /usr/local/bin/${config.bin}
21
+ ${additionalExecutable ? `sudo ln -sf /usr/local/lib/${config.dirname}/bin/${additionalExecutable} /usr/local/bin/${additionalExecutable}` : ''}
18
22
  `,
19
- uninstall: (config) => {
23
+ uninstall: (config, additionalExecutable) => {
20
24
  const packageIdentifier = config.pjson.oclif.macos.identifier;
21
25
  return `#!/usr/bin/env bash
22
26
 
@@ -57,6 +61,7 @@ done
57
61
  echo "Application uninstalling process started"
58
62
  # remove link to shorcut file
59
63
  find "/usr/local/bin/" -name "${config.bin}" | xargs rm
64
+ ${additionalExecutable ? `find "/usr/local/bin/" -name "${additionalExecutable}" | xargs rm` : ''}
60
65
  if [ $? -eq 0 ]
61
66
  then
62
67
  echo "[1/3] [DONE] Successfully deleted shortcut links"
@@ -110,7 +115,7 @@ class PackMacos extends command_1.Command {
110
115
  const writeScript = async (script) => {
111
116
  const path = script === 'uninstall' ? [rootDir, 'bin'] : [scriptsDir];
112
117
  path.push(script);
113
- await qq.write(path, scripts[script](config));
118
+ await qq.write(path, scripts[script](config, flags['additional-executable']));
114
119
  await qq.chmod(path, 0o755);
115
120
  };
116
121
  await writeScript('preinstall');
@@ -141,4 +146,6 @@ PackMacos.hidden = true;
141
146
  PackMacos.description = 'pack CLI into macOS .pkg';
142
147
  PackMacos.flags = {
143
148
  root: command_1.flags.string({ char: 'r', description: 'path to oclif CLI root', default: '.', required: true }),
149
+ 'additional-executable': command_1.flags.string({ description: `an executable other than the one listed in config.bin that should be made available to the user
150
+ the executable should already exist in the tarball produced by "oclif pack:tarballs"` }),
144
151
  };
@@ -4,6 +4,7 @@ export default class PackWin extends Command {
4
4
  static description: string;
5
5
  static flags: {
6
6
  root: flags.IOptionFlag<string>;
7
+ 'additional-executable': flags.IOptionFlag<string | undefined>;
7
8
  };
8
9
  run(): Promise<void>;
9
10
  private checkForNSIS;
@@ -6,20 +6,20 @@ const Tarballs = require("../../tarballs");
6
6
  const upload_util_1 = require("../../upload-util");
7
7
  const scripts = {
8
8
  /* eslint-disable no-useless-escape */
9
- cmd: (config) => `@echo off
9
+ cmd: (config, additionalExecutable = '') => `@echo off
10
10
  setlocal enableextensions
11
11
 
12
- set ${config.scopedEnvVarKey('BINPATH')}=%~dp0\\${config.bin}.cmd
13
- if exist "%LOCALAPPDATA%\\${config.dirname}\\client\\bin\\${config.bin}.cmd" (
14
- "%LOCALAPPDATA%\\${config.dirname}\\client\\bin\\${config.bin}.cmd" %*
12
+ set ${config.scopedEnvVarKey('BINPATH')}=%~dp0\\${additionalExecutable ? additionalExecutable : config.bin}.cmd
13
+ if exist "%LOCALAPPDATA%\\${config.dirname}\\client\\bin\\${additionalExecutable ? additionalExecutable : config.bin}.cmd" (
14
+ "%LOCALAPPDATA%\\${config.dirname}\\client\\bin\\${additionalExecutable ? additionalExecutable : config.bin}.cmd" %*
15
15
  ) else (
16
- "%~dp0\\..\\client\\bin\\node.exe" "%~dp0\\..\\client\\bin\\run" %*
16
+ "%~dp0\\..\\client\\bin\\node.exe" "%~dp0\\..\\client\\bin\\${additionalExecutable ? additionalExecutable : 'run'}" %*
17
17
  )
18
18
  `,
19
- sh: (config) => `#!/bin/sh
19
+ sh: (config, additionalExecutable = '') => `#!/bin/sh
20
20
  basedir=$(dirname "$(echo "$0" | sed -e 's,\\\\,/,g')")
21
21
 
22
- "$basedir/../client/bin/${config.bin}.cmd" "$@"
22
+ "$basedir/../client/bin/${additionalExecutable ? additionalExecutable : config.bin}.cmd" "$@"
23
23
  ret=$?
24
24
  exit $ret
25
25
  `,
@@ -203,6 +203,10 @@ class PackWin extends command_1.Command {
203
203
  await qq.write([installerBase, `bin/${config.bin}.cmd`], scripts.cmd(config));
204
204
  // eslint-disable-next-line no-await-in-loop
205
205
  await qq.write([installerBase, `bin/${config.bin}`], scripts.sh(config));
206
+ if (flags['additional-executable']) {
207
+ await qq.write([installerBase, `bin/${flags['additional-executable']}.cmd`], scripts.cmd(config, flags['additional-executable'])); // eslint-disable-line no-await-in-loop
208
+ await qq.write([installerBase, `bin/${flags['additional-executable']}`], scripts.sh(config, flags['additional-executable'])); // eslint-disable-line no-await-in-loop
209
+ }
206
210
  // eslint-disable-next-line no-await-in-loop
207
211
  await qq.write([installerBase, `${config.bin}.nsi`], scripts.nsis(config, arch));
208
212
  // eslint-disable-next-line no-await-in-loop
@@ -255,4 +259,6 @@ PackWin.hidden = true;
255
259
  PackWin.description = 'create windows installer from oclif CLI';
256
260
  PackWin.flags = {
257
261
  root: command_1.flags.string({ char: 'r', description: 'path to oclif CLI root', default: '.', required: true }),
262
+ 'additional-executable': command_1.flags.string({ description: `an executable other than the one listed in config.bin that should be made available to the user
263
+ the executable should already exist in the tarball produced by "oclif pack:tarballs"` }),
258
264
  };
@@ -16,12 +16,14 @@ class UploadTarballs extends command_1.Command {
16
16
  const { s3Config, dist, version, config, xz } = buildConfig;
17
17
  // fail early if targets are not built
18
18
  for (const target of buildConfig.targets) {
19
- const tarball = dist(upload_util_1.templateShortKey('versioned', Object.assign({ ext: '.tar.gz', bin: config.bin, version, sha: buildConfig.gitSha }, target)));
19
+ log_1.log(`Looking for ${config.bin}-v${config.version}-${buildConfig.gitSha}-${target.platform}-${target.arch}.tar.gz ...`);
20
+ const tarball = dist(upload_util_1.templateShortKey('versioned', Object.assign({ ext: '.tar.gz', bin: config.bin, version: config.version, sha: buildConfig.gitSha }, target)));
20
21
  // eslint-disable-next-line no-await-in-loop
21
22
  if (!await qq.exists(tarball))
22
- this.error(`Cannot find a tarball for ${target.platform}-${target.arch}`, {
23
+ this.error(`Cannot find a tarball ${tarball} for ${target.platform}-${target.arch}`, {
23
24
  suggestions: [`Run "oclif-dev pack --target ${target.platform}-${target.arch}" before uploading`],
24
25
  });
26
+ log_1.log('Found it.');
25
27
  }
26
28
  const S3Options = {
27
29
  Bucket: s3Config.bucket,
@@ -35,7 +37,7 @@ class UploadTarballs extends command_1.Command {
35
37
  bin: config.bin,
36
38
  platform: options === null || options === void 0 ? void 0 : options.platform,
37
39
  sha: buildConfig.gitSha,
38
- version,
40
+ version: config.version,
39
41
  });
40
42
  const cloudKey = `${upload_util_1.commitAWSDir(version, buildConfig.gitSha, s3Config)}/${localKey}`;
41
43
  await aws_1.default.s3.uploadFile(dist(localKey), Object.assign(Object.assign({}, TarballS3Options), { ContentType: 'application/gzip', Key: cloudKey }));
@@ -362,9 +362,10 @@ class App extends Generator {
362
362
  }
363
363
  }
364
364
  if (this.eslint) {
365
- devDependencies.push('eslint@^5.13', 'eslint-config-oclif@^3.1');
365
+ devDependencies.push('eslint@^7.3.0', // this should stay in sync with the eslint dependency in this repo's package.json
366
+ 'eslint-config-oclif@^3.1');
366
367
  if (this.ts) {
367
- devDependencies.push('eslint-config-oclif-typescript@^0.1');
368
+ devDependencies.push('eslint-config-oclif-typescript@^0.2.0');
368
369
  }
369
370
  }
370
371
  if (isWindows)
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "oclif",
3
3
  "description": "oclif: create your own CLI",
4
- "version": "1.18.1",
4
+ "version": "1.18.2-dev.3",
5
5
  "author": "Jeff Dickey @jdxcode",
6
6
  "bin": {
7
7
  "oclif": "bin/run"
@@ -60,12 +60,13 @@
60
60
  "npm-run-path": "^4.0.1",
61
61
  "nps": "^5.9.3",
62
62
  "shelljs": "^0.8.3",
63
+ "shx": "^0.3.3",
63
64
  "tmp": "^0.2.1",
64
65
  "ts-node": "^9.0.0",
65
66
  "typescript": "3.8.3"
66
67
  },
67
68
  "engines": {
68
- "node": ">=8.0.0"
69
+ "node": ">=12.0.0"
69
70
  },
70
71
  "files": [
71
72
  ".oclif.manifest.json",
@@ -116,14 +117,14 @@
116
117
  },
117
118
  "repository": "oclif/oclif",
118
119
  "scripts": {
119
- "build": "rm -rf lib && tsc",
120
+ "build": "shx rm -rf lib && tsc",
120
121
  "devcli:lint": "eslint . --ext .ts --config .eslintrc",
121
122
  "devcli:test": "mocha --forbid-only \"test/*.test.ts\"",
122
123
  "devcli": "yarn build --noEmit && yarn run devcli:test && yarn run devcli:lint",
123
124
  "lint": "nps lint",
124
- "postpack": "rm .oclif.manifest.json",
125
+ "postpack": "shx rm .oclif.manifest.json",
125
126
  "posttest": "yarn run lint",
126
- "prepack": "rm -rf lib && tsc && oclif-dev manifest",
127
+ "prepack": "shx rm -rf lib && tsc && oclif-dev manifest",
127
128
  "version": "oclif-dev readme && git add README.md",
128
129
  "test": "nps test"
129
130
  },
@@ -2,5 +2,11 @@
2
2
  "extends": [
3
3
  "oclif",
4
4
  "oclif-typescript"
5
- ]
5
+ ],
6
+ "settings": {
7
+ "node": {
8
+ "tryExtensions": [".js", ".ts"]
9
+ }
10
+ },
11
+ "root": true
6
12
  }