Skip to content

Commit

Permalink
Electron update (Netflix-Skunkworks#143)
Browse files Browse the repository at this point in the history
* removed a bunch of unused dependencies, cleaned up server code. Saving app work before updating electron.

* Add ES6 support to electron/node code, fixed issue with how kmd scripts are executed. Started work on application support. Cleanup

* Removed unused babel ts loader

* Added babel build step, moved all code into src/ directory. Fixed issue with non-English command output for screenlock

* Fixed start script

* made suggested changes: remove scripts.init from start, add default for platform resolver, allow global fetch name
  • Loading branch information
rmcvey authored Jun 12, 2019
1 parent ef73fcf commit 672b13c
Show file tree
Hide file tree
Showing 105 changed files with 4,989 additions and 2,640 deletions.
38 changes: 36 additions & 2 deletions .babelrc
Original file line number Diff line number Diff line change
@@ -1,4 +1,38 @@
{
"presets": ["es2015", "react"],
"plugins": ["transform-object-rest-spread"]
"presets": [
"@babel/preset-react",
[
"@babel/preset-env", {
"targets": {
"node": "current"
}
}
]
],
"env": {
"production": {
"presets": [["minify", { "builtIns": false }]]
}
},
"plugins": ["@babel/plugin-proposal-class-properties"],
"include": [
"./server.js",
"./resolvers/",
"./practices/",
"./sources/",
"./src"
],
"ignore": [
"./node_modules/",
"./.git/"
],
"exclude": [
"./.git/",
"./bitlocker-status/",
"./build/",
"./dist/",
"./docs/",
"./public/",
"./report/"
]
}
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
# See https://help.github.com/ignore-files/ for more about ignoring files.
# built dmg/exe/etc
electron-builder.json5
/dist
compiled
*.psd
report/
.python-version
Expand Down
6 changes: 6 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,12 @@

All notable changes to this project will be documented in this file.

## [3.1.0](https://github.com/Netflix-Skunkworks/stethoscope-app/tree/v3.1.0)



----

## [3.0.6](https://github.com/Netflix-Skunkworks/stethoscope-app/tree/v3.0.6)

### Fixed
Expand Down
4 changes: 2 additions & 2 deletions Procfile
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
react: npm run react:start
electron: npm run electron:start
react: yarn dev:react-start
electron: yarn dev:electron-start
4 changes: 2 additions & 2 deletions docs/POLICIES.md
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ Scans return a JSON object with an overall status and individual practice status
"screenLock": "PASS",
"remoteLogin": "PASS",
"stethoscopeVersion": "PASS",
"requiredApplications": [
"applications": [
{
"name": "Google Chrome",
"status": "PASS"
Expand Down Expand Up @@ -207,7 +207,7 @@ Valid values are: `ALWAYS`, `SUGGESTED`, `NEVER`, `IF_SUPPORTED`
}
```

### `requiredApplications`
### `applications`

Application requirements have their own GraphQL schema:

Expand Down
213 changes: 98 additions & 115 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,185 +9,168 @@
"type": "git",
"url": "https://github.com/Netflix-Skunkworks/stethoscope-app.git"
},
"main": "src/start.js",
"build": {
"appId": "com.netflix.stethoscope-local",
"extends": null,
"productName": "Stethoscope",
"directories": {
"buildResources": "public"
},
"mac": {
"category": "public.app-category.utilities",
"files": [
"kmd/**",
"practices/*",
"build/**",
"public/**",
"resolvers/**",
"sources/**",
"src/lib/**",
"src/*.json",
"src/*.js",
"server.js",
"schema.graphql"
]
},
"win": {
"target": "nsis",
"extraResources": [
"bitlocker-status/bitlocker-status.exe",
"bitlocker-status/bitlocker-status.exe.confg",
"bitlocker-status/bitlocker-status.pdb",
"bitlocker-status/Microsoft.WindowsAPICodePack.dll",
"bitlocker-status/Microsoft.WindowsAPICodePack.ExtendedLinguisticServices.dll",
"bitlocker-status/Microsoft.WindowsAPICodePack.Sensors.dll",
"bitlocker-status/Microsoft.WindowsAPICodePack.Shell.dll",
"bitlocker-status/Microsoft.WindowsAPICodePack.ShellExtensions.dll"
],
"files": [
"bitlocker-status/*",
"practices/*",
"build/**",
"public/**",
"resolvers/**",
"sources/**",
"src/lib/**",
"src/*.json",
"src/*.js",
"server.js",
"schema.graphql"
]
},
"nsis": {
"perMachine": true
},
"dmg": {
"format": "UDBZ"
},
"linux": {
"target": "AppImage",
"category": "System",
"files": [
"kmd/**",
"practices/*",
"build/**",
"public/**",
"resolvers/**",
"sources/**",
"src/lib/**",
"src/*.json",
"src/*.js",
"server.js",
"schema.graphql"
]
},
"protocols": [
{
"name": "stethoscope",
"role": "Viewer",
"schemes": [
"stethoscope"
]
}
]
},
"main": "compiled/start.js",
"standard": {
"parser": "babel-eslint",
"ignore": [
"registerServiceWorker.js"
]
},
"scripts": {
"start": "cross-env FORCE_COLOR=true nf start -p 12000",
"test": "react-scripts test --env=jsdom",
"electron": "cross-env STETHOSCOPE_ENV=development electron .",
"electron:start": "node src/start-react",
"react:start": "react-scripts start",
"build": "rm -r dist/; react-scripts build && electron-builder -mwl",
"start": "yarn babel && cross-env FORCE_COLOR=true nf start -p 12000",
"dev:electron": "cross-env STETHOSCOPE_ENV=development electron -r @babel/register .",
"dev:electron-start": "node src/start-react",
"dev:react-start": "react-scripts start",
"prebuild": "run-s lint build:clean build:react babel",
"build": "run-s prebuild build:all",
"postbuild": "run-s test:spectron",
"postinstall": "electron-builder install-app-deps",
"build:react": "react-scripts build && node update-download-page.js",
"build:clean": "rm -r dist/",
"build:mac": "npm run build:react && npm run build:electron -m && npm run test:spectron",
"build:windows": "npm run build:react && npm run build:electron -w && npm run test:spectron",
"build:test": "CSC_IDENTITY_AUTO_DISCOVERY=false yarn build:mac",
"build:react": "react-scripts build && node -r @babel/register update-download-page.js",
"build:clean": "rimraf dist",
"build:all": "electron-builder -mwl",
"build:mac": "run-s prebuild 'build:electron -m' postbuild",
"build:windows": "run-s prebuild 'build:electron -w'",
"build:linux": "run-s prebuild 'electron-builder -l' postbuild",
"build:electron": "cross-env ELECTRON_BUILDER_COMPRESSION_LEVEL=9 electron-builder",
"test": "react-scripts test --env=jsdom",
"test:spectron": "node src/__tests__/test-build.js",
"build:linux": "react-scripts build && electron-builder -l",
"lint": "standard --fix src/*.js src/**/*.js resolvers/*.js sources/*.js server.js"
"lint": "standard --fix src/*.js src/**/*.js resolvers/*.js sources/*.js server.js",
"babel": "run-s babel:clean babel:compile",
"babel:clean": "rimraf compiled",
"babel:compile": "BABEL_ENV=production babel src/ --out-dir compiled/ --copy-files"
},
"dependencies": {
"@babel/register": "^7.4.4",
"applescript": "^1.0.0",
"auto-launch": "^5.0.5",
"body-parser": "^1.18.2",
"chalk": "^2.4.2",
"classnames": "^2.2.5",
"cors": "^2.8.4",
"cross-env": "^5.2.0",
"debug": "^4.1.1",
"dot-prop": "^4.2.0",
"electron-settings": "^3.1.4",
"electron-updater": "3.0.3",
"execa": "^1.0.0",
"electron-settings": "^3.2.x",
"electron-updater": "4.0.6",
"express": "^4.16.2",
"extend": "^3.0.2",
"fast-glob": "^2.2.6",
"fecha": "^3.0.2",
"fs-extra": "^7.0.1",
"generic-pool": "^3.4.2",
"graphql": "^0.13.2",
"graphql-server-express": "^1.2.0",
"graphql-tools": "^2.12.0",
"handlebars": "^4.0.11",
"helmet": "^3.9.0",
"isomorphic-fetch": "^2.2.1",
"js-yaml": "^3.10.0",
"kmd-script": "^0.0.9",
"marked": "^0.3.7",
"kmd-script": "^0.0.10",
"moment": "^2.19.3",
"node-powershell": "^3.3.1",
"react": "^16.2.0",
"react-dom": "^16.2.0",
"read-last-lines": "^1.6.0",
"semver": "^5.4.1",
"serialize-error": "^2.1.0",
"shell-quote": "^1.6.1",
"shelljs": "^0.8.3",
"showdown": "^1.8.6",
"socket.io": "^2.0.4",
"url-parse": "^1.4.3",
"winston": "3.1.0",
"winston-daily-rotate-file": "^3.3.0"
},
"devDependencies": {
"@babel/core": "^7.0.0-rc.1",
"@babel/plugin-proposal-object-rest-spread": "^7.0.0-rc.1",
"@babel/cli": "7.4.4",
"@babel/core": "7.4.4",
"@babel/plugin-proposal-class-properties": "^7.4.4",
"@babel/preset-env": "7.4.4",
"@babel/preset-react": "^7.0.0",
"@heroku/foreman": "^2.0.2",
"babel-preset-es2015": "^6.24.1",
"babel-preset-minify": "^0.5.0",
"babel-register": "^6.26.0",
"benchmark": "^2.1.4",
"chai": "^4.1.2",
"chai-http": "^4.0.0",
"electron": "^2.0.18",
"electron-builder": "20.22.0",
"electron": "^5.0.1",
"electron-builder": "20.40.2",
"enzyme": "^3.3.0",
"enzyme-adapter-react-16": "^1.1.1",
"eslint-plugin-standard": "^4.0.0",
"faucet": "^0.0.1",
"json5": "^2.1.0",
"microtime": "^2.1.8",
"mocha": "^5.2.0",
"npm-run-all": "^4.1.5",
"react-dev-utils": "5.0.2",
"react-scripts": "^2.1.3",
"rimraf": "^2.6.3",
"shx": "^0.3.2",
"spectron": "^4.0.0",
"standard": "^12.0.1",
"tap": "^12.1.1",
"terser": "^3.14.1",
"tiny-human-time": "^1.2.0",
"webpack-dev-server": "^3.1.14"
"webpack-dev-server": "3.1.14"
},
"browserslist": [
">0.2%",
"not dead",
"not ie <= 11",
"not op_mini all"
]
],
"build": {
"appId": "com.netflix.stethoscope-local",
"extends": null,
"productName": "Stethoscope",
"directories": {
"buildResources": "public"
},
"publish": [
{
"provider": "generic",
"url": "https://s3-us-west-2.amazonaws.com/nflx-stethoscope-public-securityprod-us-west-2"
}
],
"files": [
"bitlocker-status/*",
"build/**",
"compiled/practices/*",
"compiled/resolvers/**",
"compiled/sources/**",
"compiled/lib/**",
"compiled/*.json",
"compiled/*.js",
"schema.graphql"
],
"mac": {
"category": "public.app-category.utilities"
},
"win": {
"target": "nsis",
"extraResources": [
"bitlocker-status/bitlocker-status.exe",
"bitlocker-status/bitlocker-status.exe.confg",
"bitlocker-status/bitlocker-status.pdb",
"bitlocker-status/Microsoft.WindowsAPICodePack.dll",
"bitlocker-status/Microsoft.WindowsAPICodePack.ExtendedLinguisticServices.dll",
"bitlocker-status/Microsoft.WindowsAPICodePack.Sensors.dll",
"bitlocker-status/Microsoft.WindowsAPICodePack.Shell.dll",
"bitlocker-status/Microsoft.WindowsAPICodePack.ShellExtensions.dll"
]
},
"nsis": {
"perMachine": true
},
"dmg": {
"format": "UDBZ"
},
"linux": {
"target": "AppImage",
"category": "System"
},
"protocols": [
{
"name": "stethoscope",
"role": "Viewer",
"schemes": [
"stethoscope"
]
}
]
}
}
Loading

0 comments on commit 672b13c

Please sign in to comment.