From dba8db19cbc666cb669391f51dbcd55bbface0e7 Mon Sep 17 00:00:00 2001 From: Tim Perry Date: Tue, 12 Dec 2017 17:29:15 +0100 Subject: [PATCH 01/11] Move from open to opn Change-Type: patch --- lib/auth/index.coffee | 2 +- package.json | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/auth/index.coffee b/lib/auth/index.coffee index 73889884..e78b4bf5 100644 --- a/lib/auth/index.coffee +++ b/lib/auth/index.coffee @@ -18,7 +18,7 @@ limitations under the License. # @module auth ### -open = require('open') +open = require('opn') resin = require('resin-sdk-preconfigured') server = require('./server') utils = require('./utils') diff --git a/package.json b/package.json index 7ab7508b..9bd9baf5 100644 --- a/package.json +++ b/package.json @@ -83,7 +83,7 @@ "mz": "^2.6.0", "node-cleanup": "^2.1.2", "nplugm": "^3.0.0", - "open": "0.0.5", + "opn": "^5.1.0", "president": "^2.0.1", "prettyjson": "^1.1.3", "progress-stream": "^2.0.0", @@ -119,4 +119,4 @@ "optionalDependencies": { "removedrive": "^1.0.0" } -} \ No newline at end of file +} From 7681003512d03f92f1c67865c54269e2e1c515b1 Mon Sep 17 00:00:00 2001 From: Tim Perry Date: Tue, 12 Dec 2017 18:02:37 +0100 Subject: [PATCH 02/11] Package the CLI into a standalone runnable binary This has no native modules yet, which means it works on Linux, but ignoring any ext4 image data. Drivelist will fail for some windows operations, but most other things should work. This is only building a folder with a runnable binary, this needs packaging before it can be distributable. Change-Type: minor --- .gitignore | 1 + package.json | 15 ++++++++++++++- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index db103221..afa7f9b7 100644 --- a/.gitignore +++ b/.gitignore @@ -35,3 +35,4 @@ resinrc.yml /tmp build/ +build-bin/ diff --git a/package.json b/package.json index 9bd9baf5..a20212b2 100644 --- a/package.json +++ b/package.json @@ -18,8 +18,20 @@ "bin": { "resin": "./bin/resin" }, + "pkg": { + "scripts": [ + "node_modules/resin-sync/build/capitano/*.js", + "node_modules/resin-sync/build/sync/*.js" + ], + "assets": [ + "build/auth/pages/*.ejs" + ] + }, "scripts": { - "build": "gulp build && tsc && npm run doc", + "prebuild": "rimraf build/ build-bin/", + "build": "npm run build:src && npm run build:bin", + "build:src": "gulp build && tsc && npm run doc", + "build:bin": "pkg . -t host -o build-bin/resin && cp node_modules/opn/xdg-open build-bin/", "pretest": "npm run build", "test": "gulp test", "ci": "npm run test && catch-uncommitted", @@ -48,6 +60,7 @@ "gulp-mocha": "^2.0.0", "gulp-shell": "^0.5.2", "mochainon": "^2.0.0", + "pkg": "^4.3.0-beta.1", "require-npm4-to-publish": "^1.0.0", "typescript": "^2.6.1" }, From e8c19df8c953b4e43b2052fece03b38b6a04fadf Mon Sep 17 00:00:00 2001 From: Tim Perry Date: Wed, 13 Dec 2017 15:08:36 +0100 Subject: [PATCH 03/11] Set up a script to automate builds, and support native extensions --- automation/build-bin.ts | 34 ++++++++++++++++++++++++++++++++++ package.json | 6 +++++- 2 files changed, 39 insertions(+), 1 deletion(-) create mode 100644 automation/build-bin.ts diff --git a/automation/build-bin.ts b/automation/build-bin.ts new file mode 100644 index 00000000..0db0b1a8 --- /dev/null +++ b/automation/build-bin.ts @@ -0,0 +1,34 @@ +import * as path from 'path'; +import * as fs from 'fs-extra'; +import * as FileHound from 'filehound'; +import { exec as execPkg } from 'pkg'; + +const ROOT = path.join(__dirname, '..'); + +console.log('Building package...\n'); + +execPkg([ + '--target', 'host', + '--output', 'build-bin/resin', + 'package.json' +]).then(() => fs.copy( + path.join(ROOT, 'node_modules', 'opn', 'xdg-open'), + path.join(ROOT, 'build-bin', 'xdg-open') +)).then(() => { + return FileHound.create() + .paths(path.join(ROOT, 'node_modules')) + .ext(['node', 'dll']) + .find(); +}).then((nativeExtensions: string[]) => { + console.log(`\nCopying to build-bin:\n${nativeExtensions.join('\n')}`); + + return nativeExtensions.map((extPath) => { + return fs.copy( + extPath, + extPath.replace( + path.join(ROOT, 'node_modules'), + path.join(ROOT, 'build-bin') + ) + ); + }); +}); diff --git a/package.json b/package.json index a20212b2..8001c631 100644 --- a/package.json +++ b/package.json @@ -31,7 +31,7 @@ "prebuild": "rimraf build/ build-bin/", "build": "npm run build:src && npm run build:bin", "build:src": "gulp build && tsc && npm run doc", - "build:bin": "pkg . -t host -o build-bin/resin && cp node_modules/opn/xdg-open build-bin/", + "build:bin": "ts-node automation/build-bin.ts", "pretest": "npm run build", "test": "gulp test", "ci": "npm run test && catch-uncommitted", @@ -51,8 +51,11 @@ "node": ">=6.0" }, "devDependencies": { + "@types/fs-extra": "^5.0.0", "catch-uncommitted": "^1.0.0", "ent": "^2.2.0", + "filehound": "^1.16.2", + "fs-extra": "^5.0.0", "gulp": "^3.9.0", "gulp-coffee": "^2.2.0", "gulp-coffeelint": "^0.6.0", @@ -62,6 +65,7 @@ "mochainon": "^2.0.0", "pkg": "^4.3.0-beta.1", "require-npm4-to-publish": "^1.0.0", + "ts-node": "^4.0.1", "typescript": "^2.6.1" }, "dependencies": { From 2c9b80c17787486b3a7e22037203a0a8abc15c87 Mon Sep 17 00:00:00 2001 From: Tim Perry Date: Wed, 13 Dec 2017 18:33:03 +0100 Subject: [PATCH 04/11] Add manual script to deploy built CLI binaries to GitHub --- .gitignore | 1 + automation/deploy-bin.ts | 53 ++++++++++++++++++++++++++++++++++++++++ package.json | 4 +++ 3 files changed, 58 insertions(+) create mode 100644 automation/deploy-bin.ts diff --git a/.gitignore b/.gitignore index afa7f9b7..0dcd94ac 100644 --- a/.gitignore +++ b/.gitignore @@ -36,3 +36,4 @@ resinrc.yml /tmp build/ build-bin/ +resin-cli-*.zip diff --git a/automation/deploy-bin.ts b/automation/deploy-bin.ts new file mode 100644 index 00000000..2ccc89a3 --- /dev/null +++ b/automation/deploy-bin.ts @@ -0,0 +1,53 @@ +import * as Promise from 'bluebird'; +import * as path from 'path'; +import * as os from 'os'; +import * as fs from 'fs-extra'; +import * as publishRelease from 'publish-release'; +import * as archiver from 'archiver'; + +const publishReleaseAsync = Promise.promisify(publishRelease); + +const { GITHUB_TOKEN } = process.env; +const ROOT = path.join(__dirname, '..'); + +const version = 'v' + require('../package.json').version; +const outputFile = path.join(ROOT, `resin-cli-${version}-${os.platform()}-${os.arch()}.zip`); + +new Promise((resolve, reject) => { + console.log('Zipping build...'); + + let archive = archiver('zip', { + zlib: { level: 7 } + }); + archive.directory(path.join(ROOT, 'build-bin'), 'resin-cli'); + + let outputStream = fs.createWriteStream(outputFile); + + outputStream.on('close', resolve); + outputStream.on('error', reject); + + archive.on('error', reject); + archive.on('warning', console.warn); + + archive.pipe(outputStream); + archive.finalize(); +}).then(() => { + console.log('Build zipped'); + console.log('Publishing build...'); + + return publishReleaseAsync({ + token: GITHUB_TOKEN, + owner: 'resin-io', + repo: 'resin-cli', + tag: version, + name: `Resin-CLI ${version}`, + reuseRelease: true, + assets: [outputFile] + }); +}).then((release) => { + console.log(`Release ${version} successful: ${release.html_url}`); +}).catch((err) => { + console.error('Release failed'); + console.error(err); + process.exit(1); +}); diff --git a/package.json b/package.json index 8001c631..c4029a41 100644 --- a/package.json +++ b/package.json @@ -32,6 +32,7 @@ "build": "npm run build:src && npm run build:bin", "build:src": "gulp build && tsc && npm run doc", "build:bin": "ts-node automation/build-bin.ts", + "release": "npm run build && ts-node automation/deploy-bin.ts", "pretest": "npm run build", "test": "gulp test", "ci": "npm run test && catch-uncommitted", @@ -51,6 +52,7 @@ "node": ">=6.0" }, "devDependencies": { + "@types/archiver": "^2.0.1", "@types/fs-extra": "^5.0.0", "catch-uncommitted": "^1.0.0", "ent": "^2.2.0", @@ -64,6 +66,7 @@ "gulp-shell": "^0.5.2", "mochainon": "^2.0.0", "pkg": "^4.3.0-beta.1", + "publish-release": "^1.3.3", "require-npm4-to-publish": "^1.0.0", "ts-node": "^4.0.1", "typescript": "^2.6.1" @@ -72,6 +75,7 @@ "@resin.io/valid-email": "^0.1.0", "ansi-escapes": "^2.0.0", "any-promise": "^1.3.0", + "archiver": "^2.1.0", "bash": "0.0.1", "bluebird": "^3.3.3", "body-parser": "^1.14.1", From 08de0938a08da869d05c494d5188aa77a55348e1 Mon Sep 17 00:00:00 2001 From: Tim Perry Date: Wed, 13 Dec 2017 19:15:52 +0100 Subject: [PATCH 05/11] Autodeploy built standalone binaries for all platforms to github Change-Type: minor --- .travis.yml | 36 +++++++++++++++++++++--------------- appveyor.yml | 34 ++++++++++++++++++++++++++++++++++ 2 files changed, 55 insertions(+), 15 deletions(-) create mode 100644 appveyor.yml diff --git a/.travis.yml b/.travis.yml index 87560f81..80a8cd8d 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,22 +1,28 @@ language: node_js -matrix: - include: - - node_js: - - '6' - env: - - CAN_DEPLOY=true +os: + - linux + - osx +node_js: + - "6" before_install: - npm -g install npm@4 script: npm run ci notifications: email: false deploy: - provider: npm - email: accounts@resin.io - api_key: - secure: phet6Du13hc1bzStbmpwy2ODNL5BFwjAmnpJ5wMcbWfI7fl0OtQ61s2+vW5hJAvm9fiRLOfiGAEiqOOtoupShZ1X8BNkC708d8+V+iZMoFh3+j6wAEz+N1sVq471PywlOuLAscOcqQNp92giCVt+4VPx2WQYh06nLsunvysGmUM= - skip_cleanup: true - on: - tags: true - condition: "$CAN_DEPLOY = 'true' && $TRAVIS_TAG =~ ^v?[[:digit:]]+\\.[[:digit:]]+\\.[[:digit:]]+" - repo: resin-io/resin-cli + - provider: script + script: npm run release + skip_cleanup: true + on: + tags: true + condition: "$TRAVIS_TAG =~ ^v?[[:digit:]]+\\.[[:digit:]]+\\.[[:digit:]]+" + repo: resin-io/resin-cli + - provider: npm + email: accounts@resin.io + api_key: + secure: phet6Du13hc1bzStbmpwy2ODNL5BFwjAmnpJ5wMcbWfI7fl0OtQ61s2+vW5hJAvm9fiRLOfiGAEiqOOtoupShZ1X8BNkC708d8+V+iZMoFh3+j6wAEz+N1sVq471PywlOuLAscOcqQNp92giCVt+4VPx2WQYh06nLsunvysGmUM= + skip_cleanup: true + on: + tags: true + condition: "$TRAVIS_TAG =~ ^v?[[:digit:]]+\\.[[:digit:]]+\\.[[:digit:]]+" + repo: resin-io/resin-cli diff --git a/appveyor.yml b/appveyor.yml new file mode 100644 index 00000000..ab9ebe80 --- /dev/null +++ b/appveyor.yml @@ -0,0 +1,34 @@ +# appveyor file +# http://www.appveyor.com/docs/appveyor-yml + +init: + - git config --global core.autocrlf input + +cache: + - C:\Users\appveyor\.node-gyp + - '%AppData%\npm-cache' + +matrix: + fast_finish: true + +# what combinations to test +environment: + matrix: + - nodejs_version: 6 + +install: + - ps: Install-Product node $env:nodejs_version x64 + - npm install -g npm@4 + - set PATH=%APPDATA%\npm;%PATH% + - npm install + +build: off + +test_script: + - node --version + - npm --version + - cmd: npm test + +deploy_script: + - IF "%APPVEYOR_REPO_TAG%" == "true" (npm run release) + - IF NOT "%APPVEYOR_REPO_TAG%" == "true" (echo 'Not tagged, skipping deploy') From 0acb4f8cb172f33da0e19278104693c8db651560 Mon Sep 17 00:00:00 2001 From: Tim Perry Date: Thu, 14 Dec 2017 11:57:27 +0100 Subject: [PATCH 06/11] Fix docs generation when building on windows Change-Type: patch --- package.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/package.json b/package.json index c4029a41..ad2d0057 100644 --- a/package.json +++ b/package.json @@ -36,7 +36,7 @@ "pretest": "npm run build", "test": "gulp test", "ci": "npm run test && catch-uncommitted", - "doc": "mkdir -p doc/ && coffee extras/capitanodoc/index.coffee > doc/cli.markdown", + "doc": "mkdirp doc/ && coffee extras/capitanodoc/index.coffee > doc/cli.markdown", "watch": "gulp watch", "lint": "gulp lint", "prepublish": "require-npm4-to-publish", @@ -100,6 +100,7 @@ "klaw": "^1.3.1", "lodash": "^4.17.4", "mixpanel": "^0.4.0", + "mkdirp": "^0.5.1", "moment": "^2.12.0", "mz": "^2.6.0", "node-cleanup": "^2.1.2", From afbb9474b7b1dbb25c2aa446c304ba2aa080b98f Mon Sep 17 00:00:00 2001 From: Tim Perry Date: Thu, 14 Dec 2017 12:29:54 +0100 Subject: [PATCH 07/11] Use proper strict settings for automation TS --- automation/build-bin.ts | 6 +++--- automation/custom-types.d.ts | 35 +++++++++++++++++++++++++++++++++++ automation/deploy-bin.ts | 2 +- automation/tsconfig.json | 15 +++++++++++++++ package.json | 4 ++-- 5 files changed, 56 insertions(+), 6 deletions(-) mode change 100644 => 100755 automation/build-bin.ts create mode 100644 automation/custom-types.d.ts create mode 100644 automation/tsconfig.json diff --git a/automation/build-bin.ts b/automation/build-bin.ts old mode 100644 new mode 100755 index 0db0b1a8..0d65b013 --- a/automation/build-bin.ts +++ b/automation/build-bin.ts @@ -1,6 +1,6 @@ import * as path from 'path'; import * as fs from 'fs-extra'; -import * as FileHound from 'filehound'; +import * as filehound from 'filehound'; import { exec as execPkg } from 'pkg'; const ROOT = path.join(__dirname, '..'); @@ -15,11 +15,11 @@ execPkg([ path.join(ROOT, 'node_modules', 'opn', 'xdg-open'), path.join(ROOT, 'build-bin', 'xdg-open') )).then(() => { - return FileHound.create() + return filehound.create() .paths(path.join(ROOT, 'node_modules')) .ext(['node', 'dll']) .find(); -}).then((nativeExtensions: string[]) => { +}).then((nativeExtensions) => { console.log(`\nCopying to build-bin:\n${nativeExtensions.join('\n')}`); return nativeExtensions.map((extPath) => { diff --git a/automation/custom-types.d.ts b/automation/custom-types.d.ts new file mode 100644 index 00000000..cf0761d6 --- /dev/null +++ b/automation/custom-types.d.ts @@ -0,0 +1,35 @@ +declare module 'pkg' { + export function exec(args: string[]): Promise; +} + +declare module 'filehound' { + export function create(): FileHound; + + export interface FileHound { + paths(paths: string[]): FileHound; + paths(...paths: string[]): FileHound; + ext(extensions: string[]): FileHound; + ext(...extensions: string[]): FileHound; + find(): Promise; + } +} + +declare module 'publish-release' { + interface PublishOptions { + token: string, + owner: string, + repo: string, + tag: string, + name: string, + reuseRelease?: boolean + assets: string[] + } + + interface Release { + html_url: string; + } + + let publishRelease: (args: PublishOptions, callback: (e: Error, release: Release) => void) => void; + + export = publishRelease; +} diff --git a/automation/deploy-bin.ts b/automation/deploy-bin.ts index 2ccc89a3..f0890d01 100644 --- a/automation/deploy-bin.ts +++ b/automation/deploy-bin.ts @@ -5,7 +5,7 @@ import * as fs from 'fs-extra'; import * as publishRelease from 'publish-release'; import * as archiver from 'archiver'; -const publishReleaseAsync = Promise.promisify(publishRelease); +const publishReleaseAsync = Promise.promisify(publishRelease); const { GITHUB_TOKEN } = process.env; const ROOT = path.join(__dirname, '..'); diff --git a/automation/tsconfig.json b/automation/tsconfig.json new file mode 100644 index 00000000..0462794a --- /dev/null +++ b/automation/tsconfig.json @@ -0,0 +1,15 @@ +{ + "compilerOptions": { + "module": "commonjs", + "target": "es2015", + "strict": true, + "noUnusedLocals": true, + "noUnusedParameters": true, + "preserveConstEnums": true, + "removeComments": true, + "sourceMap": true + }, + "include": [ + "./**/*.ts" + ] +} diff --git a/package.json b/package.json index ad2d0057..029bf9a8 100644 --- a/package.json +++ b/package.json @@ -31,8 +31,8 @@ "prebuild": "rimraf build/ build-bin/", "build": "npm run build:src && npm run build:bin", "build:src": "gulp build && tsc && npm run doc", - "build:bin": "ts-node automation/build-bin.ts", - "release": "npm run build && ts-node automation/deploy-bin.ts", + "build:bin": "ts-node --type-check -P automation automation/build-bin.ts", + "release": "npm run build && ts-node --type-check -P automation automation/deploy-bin.ts", "pretest": "npm run build", "test": "gulp test", "ci": "npm run test && catch-uncommitted", From fa15addfb22c614416285dcbe3802ad846cba435 Mon Sep 17 00:00:00 2001 From: Tim Perry Date: Thu, 14 Dec 2017 13:01:55 +0100 Subject: [PATCH 08/11] Add standalone install instructions to the readme --- README.md | 28 +++++++++++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 4cd78c62..002d6c89 100644 --- a/README.md +++ b/README.md @@ -10,6 +10,9 @@ Resin CLI Requisites ---------- +If you want to install the CLI directly through npm, you'll need the below. If this looks difficult, +we do now have an experimental standalone binary release available, see ['Standalone install'](#standalone-install) below. + - [NodeJS](https://nodejs.org) (>= v4) - [Git](https://git-scm.com) - The following executables should be correctly installed in your shell environment: @@ -34,7 +37,10 @@ If you still want to use `cmd.exe` you will have to use a package manager like M Getting Started --------------- -### Install +### NPM install + +If you've got all the requirements above, you should be able to install the CLI directly from npm. If not, +or if you have any trouble with this, please try the new standalone install steps just below. This might require elevated privileges in some environments. @@ -42,6 +48,26 @@ This might require elevated privileges in some environments. $ npm install --global --production resin-cli ``` +### Standalone install + +If you don't have node or a working pre-gyp environment, you can still install the CLI as a standalone +binary. **This is in experimental and may not work perfectly yet in all environments**, but it seems to work +well in initial cross-platform testing, so it may be useful, and we'd love your feedback if you hit any issues. + +To install the CLI as a standalone binary: + +* Download the latest zip for your OS from https://github.com/resin-io/resin-cli/releases. +* Extract the contents, putting the `resin-cli` folder somewhere appropriate for your system (e.g. `C:/resin-cli`, `/usr/local/lib/resin-cli`, etc). +* Add the `resin-cli` folder to your `PATH`. ( +[Windows instructions](https://www.computerhope.com/issues/ch000549.htm), +[Linux instructions](https://stackoverflow.com/questions/14637979/how-to-permanently-set-path-on-linux-unix), +[OSX instructions](https://stackoverflow.com/questions/22465332/setting-path-environment-variable-in-osx-permanently)) +* Running `resin` in a fresh command line should print the resin CLI help. + +To update in future, simply download a new release and replace the extracted folder. + +Have any problems, or see any unexpected behaviour? Please file an issue! + ### Login ```sh From 778c39d947690357825799449e8aed43ddd21cd6 Mon Sep 17 00:00:00 2001 From: Tim Perry Date: Thu, 14 Dec 2017 13:29:44 +0100 Subject: [PATCH 09/11] Ensure MDNS service definitions are included in standalone binaries --- package.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/package.json b/package.json index 029bf9a8..0d1079a5 100644 --- a/package.json +++ b/package.json @@ -24,7 +24,8 @@ "node_modules/resin-sync/build/sync/*.js" ], "assets": [ - "build/auth/pages/*.ejs" + "build/auth/pages/*.ejs", + "node_modules/resin-discoverable-services/services/**/*" ] }, "scripts": { From 2c66280b3fb45fec3f943bd8f3a1e992c71249f6 Mon Sep 17 00:00:00 2001 From: Tim Perry Date: Mon, 18 Dec 2017 14:49:45 +0100 Subject: [PATCH 10/11] Build standalone zips into a separate folder --- .gitignore | 2 +- automation/deploy-bin.ts | 10 ++++++---- package.json | 3 ++- 3 files changed, 9 insertions(+), 6 deletions(-) diff --git a/.gitignore b/.gitignore index 0dcd94ac..a32f9001 100644 --- a/.gitignore +++ b/.gitignore @@ -36,4 +36,4 @@ resinrc.yml /tmp build/ build-bin/ -resin-cli-*.zip +build-zip/ diff --git a/automation/deploy-bin.ts b/automation/deploy-bin.ts index f0890d01..390d06ce 100644 --- a/automation/deploy-bin.ts +++ b/automation/deploy-bin.ts @@ -2,18 +2,20 @@ import * as Promise from 'bluebird'; import * as path from 'path'; import * as os from 'os'; import * as fs from 'fs-extra'; +import * as mkdirp from 'mkdirp'; import * as publishRelease from 'publish-release'; import * as archiver from 'archiver'; const publishReleaseAsync = Promise.promisify(publishRelease); +const mkdirpAsync = Promise.promisify(mkdirp); const { GITHUB_TOKEN } = process.env; const ROOT = path.join(__dirname, '..'); const version = 'v' + require('../package.json').version; -const outputFile = path.join(ROOT, `resin-cli-${version}-${os.platform()}-${os.arch()}.zip`); +const outputFile = path.join(ROOT, 'build-zip', `resin-cli-${version}-${os.platform()}-${os.arch()}.zip`); -new Promise((resolve, reject) => { +mkdirpAsync(path.dirname(outputFile)).then(() => new Promise((resolve, reject) => { console.log('Zipping build...'); let archive = archiver('zip', { @@ -31,12 +33,12 @@ new Promise((resolve, reject) => { archive.pipe(outputStream); archive.finalize(); -}).then(() => { +})).then(() => { console.log('Build zipped'); console.log('Publishing build...'); return publishReleaseAsync({ - token: GITHUB_TOKEN, + token: GITHUB_TOKEN, owner: 'resin-io', repo: 'resin-cli', tag: version, diff --git a/package.json b/package.json index 0d1079a5..ce052705 100644 --- a/package.json +++ b/package.json @@ -29,7 +29,7 @@ ] }, "scripts": { - "prebuild": "rimraf build/ build-bin/", + "prebuild": "rimraf build/ build-bin/ build-zip/", "build": "npm run build:src && npm run build:bin", "build:src": "gulp build && tsc && npm run doc", "build:bin": "ts-node --type-check -P automation automation/build-bin.ts", @@ -55,6 +55,7 @@ "devDependencies": { "@types/archiver": "^2.0.1", "@types/fs-extra": "^5.0.0", + "@types/mkdirp": "^0.5.2", "catch-uncommitted": "^1.0.0", "ent": "^2.2.0", "filehound": "^1.16.2", From 1a15fdd2f0141961c7f2dec03ed17f6b2c267929 Mon Sep 17 00:00:00 2001 From: "resin-io-versionbot[bot]" Date: Mon, 18 Dec 2017 14:48:09 +0000 Subject: [PATCH 11/11] v6.11.0 --- CHANGELOG.md | 7 +++++++ package.json | 4 ++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 17bbaaf1..aee6d247 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,13 @@ All notable changes to this project will be documented in this file automatically by Versionist. DO NOT EDIT THIS FILE MANUALLY! This project adheres to [Semantic Versioning](http://semver.org/). +## v6.11.0 - 2017-12-18 + +* Fix docs generation when building on windows #729 [Tim Perry] +* Autodeploy built standalone binaries for all platforms to github #729 [Tim Perry] +* Package the CLI into a standalone runnable binary #729 [Tim Perry] +* Move from open to opn #729 [Tim Perry] + ## v6.10.3 - 2017-12-15 * Ensure logout works even with invalid credentials, or if not logged in #730 [Tim Perry] diff --git a/package.json b/package.json index ce052705..07f261e0 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "resin-cli", - "version": "6.10.3", + "version": "6.11.0", "description": "The official resin.io CLI tool", "main": "./build/actions/index.js", "homepage": "https://github.com/resin-io/resin-cli", @@ -143,4 +143,4 @@ "optionalDependencies": { "removedrive": "^1.0.0" } -} +} \ No newline at end of file