Add electron-builder packager (#293)
* style(.editorconfig): Add json rule to editorconfig file * build(build): Add application images These images need to create installers Contains images for: - Win - Mac - Linux * fix(device): Mac is not allow excusive right to use USB * build(npm): Add standard-version script * chore(device): Fix comment in UhkDeviceService * chore(release): 1.0.0-alpha.1 * ci(travis): Change travis to c language and add osx, linux build matrix * build(build): Windows icon size must be at least 256x256 * ci(appveyor): Add temporary GH_TOKEN to test msi installer * build(tsconfig): Optimalize tsconfigs Needed a tsconfig.json in the shared/src library because if it not exist the code builded after the second build on mac, and travis linux. Reproduce the error: - Delete node_modules directory - npm i - npm run build - error occured (ERROR in ./shared/src/polyfills.ts Module build failed: error while parsing tsconfig.json) Created a new tscfonfig.json in the project root folder. The old config files extends this root configs. * build(tsconfig): in tsconfig-electron-main not override module version * chore(editorconfig): Delete json rule * style: Reformat the main package.json to apply editorconfig style
@@ -1,12 +1,35 @@
|
|||||||
language: node_js
|
language: c
|
||||||
sudo: false
|
sudo: false
|
||||||
dist: trusty
|
dist: trusty
|
||||||
|
|
||||||
node_js:
|
env:
|
||||||
- '6.9.4'
|
global:
|
||||||
|
- ELECTRON_CACHE=$HOME/.electron
|
||||||
|
|
||||||
|
matrix:
|
||||||
|
fast_finish: true
|
||||||
|
include:
|
||||||
|
- os: osx
|
||||||
|
|
||||||
|
- os: linux
|
||||||
|
env: CC=clang CXX=clang++ npm_config_clang=1
|
||||||
|
compiler: clang
|
||||||
|
|
||||||
|
cache:
|
||||||
|
directories:
|
||||||
|
- node_modules
|
||||||
|
- $HOME/.electron
|
||||||
|
- $HOME/.cache
|
||||||
|
|
||||||
|
addons:
|
||||||
|
apt:
|
||||||
|
packages:
|
||||||
|
- libgnome-keyring-dev
|
||||||
|
- libsecret-1-dev
|
||||||
|
- icnsutils
|
||||||
|
|
||||||
install:
|
install:
|
||||||
- npm install -g npm@3.10.7
|
- nvm install
|
||||||
- npm install
|
- npm install
|
||||||
|
|
||||||
before_script:
|
before_script:
|
||||||
@@ -15,7 +38,8 @@ before_script:
|
|||||||
- npm run lint
|
- npm run lint
|
||||||
|
|
||||||
script:
|
script:
|
||||||
- cd ./test-serializer && node ./test-serializer.js
|
- npm run test
|
||||||
|
- npm run release
|
||||||
|
|
||||||
cache:
|
cache:
|
||||||
directories:
|
directories:
|
||||||
|
|||||||
@@ -0,0 +1,12 @@
|
|||||||
|
# Change Log
|
||||||
|
|
||||||
|
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.
|
||||||
|
|
||||||
|
<a name="1.0.0-alpha.1"></a>
|
||||||
|
# 1.0.0-alpha.1 (2017-06-01)
|
||||||
|
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
* First macro opening ([#123](https://github.com/UltimateHackingKeyboard/agent/issues/123)) ([aca22f9](https://github.com/UltimateHackingKeyboard/agent/commit/aca22f9)), closes [#121](https://github.com/UltimateHackingKeyboard/agent/issues/121)
|
||||||
|
* **device:** Mac is not allow excusive right to use USB ([6778ca9](https://github.com/UltimateHackingKeyboard/agent/commit/6778ca9))
|
||||||
@@ -1,6 +1,8 @@
|
|||||||
os: unstable
|
os: unstable
|
||||||
|
|
||||||
environment:
|
environment:
|
||||||
|
GH_TOKEN: #TODO Change it to the master repo access token
|
||||||
|
secure: SGC3hXXPFwK+vV8jMLJjngg93vCq0lqPaKuBLluWxhaaPR/FZgoZe1aqXIkdFDxR
|
||||||
matrix:
|
matrix:
|
||||||
- nodejs_version: 6.9.4
|
- nodejs_version: 6.9.4
|
||||||
|
|
||||||
@@ -21,9 +23,8 @@ install:
|
|||||||
- npm install
|
- npm install
|
||||||
|
|
||||||
test_script:
|
test_script:
|
||||||
- node --version
|
|
||||||
- npm --version
|
|
||||||
- npm run build
|
- npm run build
|
||||||
- npm run build:test
|
- npm run build:test
|
||||||
- npm run lint
|
- npm run lint
|
||||||
- npm run test
|
- npm run test
|
||||||
|
- npm run release
|
||||||
|
|||||||
|
After Width: | Height: | Size: 2.6 KiB |
|
After Width: | Height: | Size: 38 KiB |
|
After Width: | Height: | Size: 19 KiB |
|
After Width: | Height: | Size: 18 KiB |
|
After Width: | Height: | Size: 18 KiB |
|
After Width: | Height: | Size: 22 KiB |
|
After Width: | Height: | Size: 18 KiB |
|
After Width: | Height: | Size: 18 KiB |
|
After Width: | Height: | Size: 27 KiB |
|
After Width: | Height: | Size: 18 KiB |
|
After Width: | Height: | Size: 19 KiB |
@@ -97,7 +97,13 @@ export class UhkDeviceService implements OnDestroy {
|
|||||||
if (process.platform !== 'win32' && usbInterface.isKernelDriverActive()) {
|
if (process.platform !== 'win32' && usbInterface.isKernelDriverActive()) {
|
||||||
usbInterface.detachKernelDriver();
|
usbInterface.detachKernelDriver();
|
||||||
}
|
}
|
||||||
usbInterface.claim();
|
|
||||||
|
// https://github.com/tessel/node-usb/issues/30
|
||||||
|
// Mac is not allow excusive right to use USB
|
||||||
|
if (process.platform !== 'darwin') {
|
||||||
|
usbInterface.claim();
|
||||||
|
}
|
||||||
|
|
||||||
this.messageIn$ = Observable.create((subscriber: Subscriber<Buffer>) => {
|
this.messageIn$ = Observable.create((subscriber: Subscriber<Buffer>) => {
|
||||||
const inEndPoint: InEndpoint = <InEndpoint>usbInterface.endpoints[0];
|
const inEndPoint: InEndpoint = <InEndpoint>usbInterface.endpoints[0];
|
||||||
console.log('Try to read');
|
console.log('Try to read');
|
||||||
|
|||||||
@@ -1,22 +1,6 @@
|
|||||||
{
|
{
|
||||||
"compilerOptions": {
|
"extends": "../../tsconfig.json",
|
||||||
"target": "es6",
|
|
||||||
"module": "commonjs",
|
|
||||||
"moduleResolution": "node",
|
|
||||||
"sourceMap": true,
|
|
||||||
"emitDecoratorMetadata": true,
|
|
||||||
"experimentalDecorators": true,
|
|
||||||
"removeComments": false,
|
|
||||||
"noImplicitAny": true,
|
|
||||||
"suppressImplicitAnyIndexErrors": true,
|
|
||||||
"typeRoots": [
|
|
||||||
"../../node_modules/@types"
|
|
||||||
],
|
|
||||||
"types": [
|
|
||||||
"electron"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"files": [
|
"files": [
|
||||||
"electron-main.ts"
|
"electron-main.ts"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,30 +1,8 @@
|
|||||||
{
|
{
|
||||||
"compilerOptions": {
|
"extends": "../../tsconfig.json",
|
||||||
"target": "es5",
|
|
||||||
"module": "commonjs",
|
|
||||||
"moduleResolution": "node",
|
|
||||||
"sourceMap": true,
|
|
||||||
"emitDecoratorMetadata": true,
|
|
||||||
"experimentalDecorators": true,
|
|
||||||
"removeComments": false,
|
|
||||||
"noImplicitAny": true,
|
|
||||||
"suppressImplicitAnyIndexErrors": true,
|
|
||||||
"typeRoots": [
|
|
||||||
"../../node_modules/@types"
|
|
||||||
],
|
|
||||||
"types": [
|
|
||||||
"node",
|
|
||||||
"jquery",
|
|
||||||
"core-js",
|
|
||||||
"select2",
|
|
||||||
"file-saver",
|
|
||||||
"electron",
|
|
||||||
"usb"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"exclude": [
|
"exclude": [
|
||||||
"../dist",
|
"../dist",
|
||||||
"electron-main.ts",
|
"electron-main.ts",
|
||||||
"webpack.config.*"
|
"webpack.config.*"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,90 +1,96 @@
|
|||||||
{
|
{
|
||||||
"name": "uhk-agent",
|
"name": "uhk-agent",
|
||||||
"version": "1.0.0-alpha.1",
|
"main": "electron/dist/electron-main.js",
|
||||||
"description": "Agent is the configuration application of the Ultimate Hacking Keyboard.",
|
"version": "1.0.0-alpha.1",
|
||||||
"repository": {
|
"description": "Agent is the configuration application of the Ultimate Hacking Keyboard.",
|
||||||
"type": "git",
|
"repository": {
|
||||||
"url": "git@github.com:UltimateHackingKeyboard/agent.git"
|
"type": "git",
|
||||||
},
|
"url": "git@github.com:UltimateHackingKeyboard/agent.git"
|
||||||
"license": "GPL-3.0",
|
},
|
||||||
"engines": {
|
"license": "GPL-3.0",
|
||||||
"node": ">=6.9.5 <7.0.0",
|
"engines": {
|
||||||
"npm": ">=3.10.7 <4.0.0"
|
"node": ">=6.9.5 <7.0.0",
|
||||||
},
|
"npm": ">=3.10.7 <4.0.0"
|
||||||
"devDependencies": {
|
},
|
||||||
"@ngrx/store-devtools": "3.2.4",
|
"devDependencies": {
|
||||||
"@ngrx/store-log-monitor": "3.0.2",
|
"@ngrx/store-devtools": "3.2.4",
|
||||||
"@types/core-js": "0.9.35",
|
"@ngrx/store-log-monitor": "3.0.2",
|
||||||
"@types/electron": "^1.4.37",
|
"@types/core-js": "0.9.35",
|
||||||
"@types/file-saver": "0.0.0",
|
"@types/electron": "^1.4.37",
|
||||||
"@types/jquery": "^2.0.40",
|
"@types/file-saver": "0.0.0",
|
||||||
"@types/node": "^6.0.70",
|
"@types/jquery": "^2.0.40",
|
||||||
"@types/usb": "^1.1.3",
|
"@types/node": "^6.0.70",
|
||||||
"angular2-template-loader": "0.6.2",
|
"@types/usb": "^1.1.3",
|
||||||
"copy-webpack-plugin": "^4.0.1",
|
"angular2-template-loader": "0.6.2",
|
||||||
"electron": "1.6.5",
|
"copy-webpack-plugin": "^4.0.1",
|
||||||
"electron-rebuild": "^1.5.7",
|
"electron": "1.6.5",
|
||||||
"expose-loader": "^0.7.1",
|
"electron-builder": "^18.3.0",
|
||||||
"html-loader": "0.4.5",
|
"electron-rebuild": "^1.5.7",
|
||||||
"node-sass": "^4.5.2",
|
"expose-loader": "^0.7.1",
|
||||||
"npm-run-all": "4.0.2",
|
"html-loader": "0.4.5",
|
||||||
"path": "^0.12.7",
|
"node-sass": "^4.5.2",
|
||||||
"raw-loader": "^0.5.1",
|
"npm-run-all": "4.0.2",
|
||||||
"sass-loader": "^6.0.3",
|
"path": "^0.12.7",
|
||||||
"stylelint": "^7.10.1",
|
"raw-loader": "^0.5.1",
|
||||||
"ts-loader": "^2.0.3",
|
"sass-loader": "^6.0.3",
|
||||||
"tslint": "~5.1.0",
|
"standard-version": "^4.0.0",
|
||||||
"webpack": "^2.4.1",
|
"stylelint": "^7.10.1",
|
||||||
"webpack-dev-server": "^2.4.4",
|
"ts-loader": "^2.0.3",
|
||||||
"webpack-svgstore-plugin": "4.0.0"
|
"tslint": "~5.1.0",
|
||||||
},
|
"webpack": "^2.4.1",
|
||||||
"dependencies": {
|
"webpack-dev-server": "^2.4.4",
|
||||||
"@angular/animations": "4.0.3",
|
"webpack-svgstore-plugin": "4.0.0"
|
||||||
"@angular/common": "4.0.3",
|
},
|
||||||
"@angular/compiler": "4.0.3",
|
"dependencies": {
|
||||||
"@angular/core": "4.0.3",
|
"@angular/animations": "4.0.3",
|
||||||
"@angular/forms": "4.0.3",
|
"@angular/common": "4.0.3",
|
||||||
"@angular/platform-browser": "4.0.3",
|
"@angular/compiler": "4.0.3",
|
||||||
"@angular/platform-browser-dynamic": "4.0.3",
|
"@angular/core": "4.0.3",
|
||||||
"@angular/router": "4.0.3",
|
"@angular/forms": "4.0.3",
|
||||||
"@ngrx/core": "1.2.0",
|
"@angular/platform-browser": "4.0.3",
|
||||||
"@ngrx/effects": "2.0.3",
|
"@angular/platform-browser-dynamic": "4.0.3",
|
||||||
"@ngrx/store": "2.2.2",
|
"@angular/router": "4.0.3",
|
||||||
"bootstrap": "^3.3.7",
|
"@ngrx/core": "1.2.0",
|
||||||
"browser-stdout": "^1.3.0",
|
"@ngrx/effects": "2.0.3",
|
||||||
"buffer": "^5.0.6",
|
"@ngrx/store": "2.2.2",
|
||||||
"core-js": "2.4.1",
|
"bootstrap": "^3.3.7",
|
||||||
"dragula": "^3.7.2",
|
"browser-stdout": "^1.3.0",
|
||||||
"filesaver.js": "^0.2.0",
|
"buffer": "^5.0.6",
|
||||||
"font-awesome": "^4.6.3",
|
"core-js": "2.4.1",
|
||||||
"jquery": "3.2.1",
|
"dragula": "^3.7.2",
|
||||||
"json-loader": "^0.5.4",
|
"filesaver.js": "^0.2.0",
|
||||||
"ng2-dragula": "1.3.1",
|
"font-awesome": "^4.6.3",
|
||||||
"ng2-select2": "1.0.0-beta.10",
|
"jquery": "3.2.1",
|
||||||
"rxjs": "5.3.0",
|
"json-loader": "^0.5.4",
|
||||||
"select2": "^4.0.3",
|
"ng2-dragula": "1.3.1",
|
||||||
"sudo-prompt": "^7.0.0",
|
"ng2-select2": "1.0.0-beta.10",
|
||||||
"typescript": "2.2.2",
|
"rxjs": "5.3.0",
|
||||||
"usb": "git+https://github.com/aktary/node-usb.git",
|
"select2": "^4.0.3",
|
||||||
"xml-loader": "1.2.1",
|
"sudo-prompt": "^7.0.0",
|
||||||
"zone.js": "0.8.5"
|
"typescript": "2.2.2",
|
||||||
},
|
"usb": "git+https://github.com/aktary/node-usb.git",
|
||||||
"scripts": {
|
"xml-loader": "1.2.1",
|
||||||
"postinstall": "run-p build:usb \"symlink -- -i\" ",
|
"zone.js": "0.8.5"
|
||||||
"test": "cd ./test-serializer && node ./test-serializer.js",
|
},
|
||||||
"lint": "run-s -scn lint:ts lint:style",
|
"scripts": {
|
||||||
"lint:ts": "tslint \"electron/**/*.ts\" \"web/**/*.ts\" \"shared/**/*.ts\" \"test-serializer/**/*.ts\"",
|
"postinstall": "run-p build:usb \"symlink -- -i\" ",
|
||||||
"lint:style": "stylelint \"electron/**/*.scss\" \"web/**/*.scss\" \"shared/**/*.scss\" --syntax scss",
|
"test": "cd ./test-serializer && node ./test-serializer.js",
|
||||||
"build": "run-p build:web build:electron",
|
"lint": "run-s -scn lint:ts lint:style",
|
||||||
"build:web": "webpack --config \"web/src/webpack.config.js\"",
|
"lint:ts": "tslint \"electron/**/*.ts\" \"web/**/*.ts\" \"shared/**/*.ts\" \"test-serializer/**/*.ts\"",
|
||||||
"build:electron": "run-s -scn build:electron:main build:electron:app",
|
"lint:style": "stylelint \"electron/**/*.scss\" \"web/**/*.scss\" \"shared/**/*.scss\" --syntax scss",
|
||||||
"build:electron:main": "webpack --config \"electron/src/webpack.config.electron-main.js\"",
|
"build": "run-p build:web build:electron",
|
||||||
"build:electron:app": "webpack --config \"electron/src/webpack.config.js\"",
|
"build:web": "webpack --config \"web/src/webpack.config.js\"",
|
||||||
"build:usb": "electron-rebuild -w usb -p",
|
"build:electron": "run-s -scn build:electron:main build:electron:app",
|
||||||
"build:test": "webpack --config \"test-serializer/webpack.config.js\"",
|
"build:electron:main": "webpack --config \"electron/src/webpack.config.electron-main.js\"",
|
||||||
"server:web": "webpack-dev-server --config \"web/src/webpack.config.js\" --content-base \"./web/dist\"",
|
"build:electron:app": "webpack --config \"electron/src/webpack.config.js\"",
|
||||||
"server:electron": "webpack --config \"electron/src/webpack.config.js\" --watch",
|
"build:usb": "electron-rebuild -w usb -p",
|
||||||
"electron": "electron electron/dist/electron-main.js",
|
"build:test": "webpack --config \"test-serializer/webpack.config.js\"",
|
||||||
"symlink": "node ./tools/symlinker"
|
"server:web": "webpack-dev-server --config \"web/src/webpack.config.js\" --content-base \"./web/dist\"",
|
||||||
}
|
"server:electron": "webpack --config \"electron/src/webpack.config.js\" --watch",
|
||||||
|
"electron": "electron electron/dist/electron-main.js",
|
||||||
|
"symlink": "node ./tools/symlinker",
|
||||||
|
"standard-version": "standard-version",
|
||||||
|
"pack": "node ./scripts/release.js",
|
||||||
|
"release": "node ./scripts/release.js"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,111 @@
|
|||||||
|
'use strict';
|
||||||
|
|
||||||
|
const TEST_BUILD = true; // set true if you would like to test on your local machince
|
||||||
|
|
||||||
|
if (!process.env.CI && !TEST_BUILD) {
|
||||||
|
console.error('Create release only on CI server')
|
||||||
|
process.exit(1)
|
||||||
|
}
|
||||||
|
|
||||||
|
let branchName = ''
|
||||||
|
let pullRequestNr = ''
|
||||||
|
let gitTag = ''
|
||||||
|
let repoName = ''
|
||||||
|
|
||||||
|
if (process.env.TRAVIS) {
|
||||||
|
branchName = process.env.TRAVIS_BRANCH
|
||||||
|
pullRequestNr = process.env.TRAVIS_PULL_REQUEST
|
||||||
|
gitTag = process.env.TRAVIS_TAG
|
||||||
|
repoName = process.env.TRAVIS_REPO_SLUG
|
||||||
|
} else if (process.env.APPVEYOR) {
|
||||||
|
branchName = process.env.APPVEYOR_REPO_BRANCH
|
||||||
|
pullRequestNr = process.env.APPVEYOR_PULL_REQUEST_NUMBER
|
||||||
|
gitTag = process.env.APPVEYOR_REPO_TAG_NAME
|
||||||
|
repoName = process.env.APPVEYOR_REPO_NAME
|
||||||
|
}
|
||||||
|
|
||||||
|
console.log({ branchName, pullRequestNr, gitTag, repoName })
|
||||||
|
|
||||||
|
// TODO(Robi): Remove the comment after success tests
|
||||||
|
const isReleaseCommit = TEST_BUILD || branchName === gitTag //&& repoName === 'ert78gb/electron-playground'
|
||||||
|
|
||||||
|
if (!isReleaseCommit) {
|
||||||
|
console.log('It is not a release task. Skipping publish.')
|
||||||
|
process.exit(0)
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
const fs = require('fs-extra')
|
||||||
|
const cp = require('child_process')
|
||||||
|
const path = require('path')
|
||||||
|
const builder = require("electron-builder")
|
||||||
|
const Platform = builder.Platform
|
||||||
|
|
||||||
|
let sha = ''
|
||||||
|
if (process.env.TRAVIS) {
|
||||||
|
sha = process.env.TRAVIS_COMMIT
|
||||||
|
} else if (process.env.APPVEYOR) {
|
||||||
|
sha = process.env.APPVEYOR_REPO_COMMIT
|
||||||
|
}
|
||||||
|
|
||||||
|
let target = ''
|
||||||
|
|
||||||
|
if (process.platform === 'darwin') {
|
||||||
|
target = Platform.MAC.createTarget()
|
||||||
|
} else if (process.platform === 'win32') {
|
||||||
|
target = Platform.WINDOWS.createTarget()
|
||||||
|
} else if (process.platform === 'linux') {
|
||||||
|
target = Platform.LINUX.createTarget()
|
||||||
|
} else {
|
||||||
|
console.error(`I dunno how to publish a release for ${process.platform} :(`)
|
||||||
|
process.exit(1)
|
||||||
|
}
|
||||||
|
|
||||||
|
if (process.platform === 'darwin') {
|
||||||
|
// TODO: Remove comment when macOS certificates boughted and exported
|
||||||
|
//require('./setup-macos-keychain').registerKeyChain()
|
||||||
|
}
|
||||||
|
|
||||||
|
let version = ''
|
||||||
|
if (TEST_BUILD || gitTag) {
|
||||||
|
version = gitTag
|
||||||
|
|
||||||
|
builder.build({
|
||||||
|
dir: true,
|
||||||
|
targets: target,
|
||||||
|
appMetadata: {
|
||||||
|
main: 'electron/dist/electron-main.js',
|
||||||
|
name: 'UHK Agent',
|
||||||
|
author: {
|
||||||
|
name: 'Ultimate Gaget Laboratories'
|
||||||
|
},
|
||||||
|
},
|
||||||
|
config: {
|
||||||
|
appId: 'com.ultimategadgetlabs.uhk.agent',
|
||||||
|
productName: 'UHK Agent',
|
||||||
|
mac: {
|
||||||
|
category: 'public.app-category.utilities',
|
||||||
|
},
|
||||||
|
publish: 'github',
|
||||||
|
files: [
|
||||||
|
'!**/*',
|
||||||
|
'electron/dist/**/*',
|
||||||
|
'node_modules/**/*'
|
||||||
|
]
|
||||||
|
|
||||||
|
},
|
||||||
|
})
|
||||||
|
.then(() => {
|
||||||
|
console.log('Packing success.')
|
||||||
|
})
|
||||||
|
.catch((error) => {
|
||||||
|
console.error(`${error}`)
|
||||||
|
process.exit(1)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
console.log('No git tag')
|
||||||
|
// TODO: Need it?
|
||||||
|
version = sha.substr(0, 8)
|
||||||
|
process.exit(1)
|
||||||
|
}
|
||||||
@@ -0,0 +1,20 @@
|
|||||||
|
'use strict'
|
||||||
|
|
||||||
|
const cp = require('child_process')
|
||||||
|
const path = require('path')
|
||||||
|
|
||||||
|
function registerKeyChain() {
|
||||||
|
const encryptedFile = path.join(__dirname, '../certs/developer-id-cert.p12.enc')
|
||||||
|
const decryptedFile = path.join(__dirname, '../certs/developer-id-cert.p12')
|
||||||
|
cp.execSync(`openssl aes-256-cbc -K $encrypted_04061b49eb95_key -iv $encrypted_04061b49eb95_iv -in ${encryptedFile} -out ${decryptedFile} -d`)
|
||||||
|
|
||||||
|
const keyChain = 'mac-build.keychain'
|
||||||
|
cp.execSync(`security create-keychain -p travis ${keyChain}`)
|
||||||
|
cp.execSync(`security default-keychain -s ${keyChain}`)
|
||||||
|
cp.execSync(`security unlock-keychain -p travis ${keyChain}`)
|
||||||
|
cp.execSync(`security set-keychain-settings -t 3600 -u ${keyChain}`)
|
||||||
|
|
||||||
|
cp.execSync(`security import ${decryptedFile} -k ${keyChain} -P $KEY_PASSWORD -T /usr/bin/codesign`)
|
||||||
|
}
|
||||||
|
|
||||||
|
module.exports.registerKeyChain = registerKeyChain
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
{
|
||||||
|
"compilerOptions": {
|
||||||
|
"target": "es5",
|
||||||
|
"module": "commonjs",
|
||||||
|
"moduleResolution": "node",
|
||||||
|
"sourceMap": true,
|
||||||
|
"emitDecoratorMetadata": true,
|
||||||
|
"experimentalDecorators": true,
|
||||||
|
"removeComments": false,
|
||||||
|
"noImplicitAny": true,
|
||||||
|
"suppressImplicitAnyIndexErrors": true
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,27 +1,6 @@
|
|||||||
{
|
{
|
||||||
"compilerOptions": {
|
"extends": "../../tsconfig.json",
|
||||||
"target": "es5",
|
|
||||||
"module": "commonjs",
|
|
||||||
"moduleResolution": "node",
|
|
||||||
"sourceMap": true,
|
|
||||||
"emitDecoratorMetadata": true,
|
|
||||||
"experimentalDecorators": true,
|
|
||||||
"removeComments": false,
|
|
||||||
"noImplicitAny": true,
|
|
||||||
"suppressImplicitAnyIndexErrors": true,
|
|
||||||
"typeRoots": [
|
|
||||||
"../../node_modules/@types"
|
|
||||||
],
|
|
||||||
"types": [
|
|
||||||
"node",
|
|
||||||
"jquery",
|
|
||||||
"core-js",
|
|
||||||
"select2",
|
|
||||||
"file-saver"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"exclude": [
|
"exclude": [
|
||||||
"node_modules",
|
|
||||||
"config-serializer"
|
"config-serializer"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||