Skip to content
This repository has been archived by the owner on Sep 22, 2021. It is now read-only.

Commit

Permalink
Merge branch 'release/v0.1.0'
Browse files Browse the repository at this point in the history
  • Loading branch information
jkawamoto committed Jan 29, 2019
2 parents 8204ab1 + d89a048 commit f6ac2ea
Show file tree
Hide file tree
Showing 21 changed files with 9,126 additions and 0 deletions.
18 changes: 18 additions & 0 deletions .babelrc
@@ -0,0 +1,18 @@
{
"sourceMaps": "inline",
"presets": [
[
"@babel/preset-env",
{
"targets": {
"electron": "4.0.1"
},
"modules": false,
"useBuiltIns": "usage"
}
]
],
"plugins": [
"@babel/plugin-proposal-object-rest-spread"
]
}
16 changes: 16 additions & 0 deletions .bumpversion.cfg
@@ -0,0 +1,16 @@
[bumpversion]
current_version = 0.1.0
commit = True
tag = False

[bumpversion:file:package.json]
search = "version": "{current_version}"
replace = "version": "{new_version}"

[bumpversion:file:.travis.yml]
search = GooboxFileShare-{current_version}
replace = GooboxFileShare-{new_version}

[bumpversion:file:ci-build.sh]
search = -{current_version}
replace = -{new_version}
84 changes: 84 additions & 0 deletions .eslintrc.yml
@@ -0,0 +1,84 @@
#
# Copyright (C) 2019 Junpei Kawamoto
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
env:
node: true
commonjs: true
es6: true
jest: true
globals:
jsdom: false
extends:
- "eslint:recommended"
- "plugin:prettier/recommended"
parser: babel-eslint
parserOptions:
ecmaVersion: 8
sourceType: "module"
plugins:
- "import"
rules:
indent:
- "error"
- 2
- SwitchCase: 1
linebreak-style:
- "error"
- "unix"
quotes:
- "error"
- "double"
semi:
- "error"
- "always"
no-unused-vars:
- "error"
- argsIgnorePattern: "^_"
varsIgnorePattern: "^_"
caughtErrors: "none"
eol-last:
- "error"
- "always"
import/no-extraneous-dependencies:
- "error"
- devDependencies: true
optionalDependencies: false
import/no-named-as-default: "off"
arrow-body-style: "error"
arrow-parens:
- error
- "as-needed"
arrow-spacing: "error"
generator-star-spacing: "error"
no-duplicate-imports: "error"
no-useless-computed-key: "error"
no-useless-constructor: "error"
no-useless-rename: "error"
no-var: "error"
object-shorthand: "error"
prefer-arrow-callback: "error"
prefer-const: "error"
prefer-rest-params: "error"
prefer-spread: "error"
prefer-template: "error"
rest-spread-spacing: "error"
template-curly-spacing: "error"
yield-star-spacing: "error"
prettier/prettier:
- error
- singleQuote: false
trailingComma: "es5"
bracketSpacing: false
3 changes: 3 additions & 0 deletions .gitignore
@@ -1,3 +1,6 @@
/lib/
/dist/

### https://raw.github.com/github/gitignore/f2ce448f2ba7a092da05482ceca99209127c0884/Node.gitignore

# Logs
Expand Down
5 changes: 5 additions & 0 deletions .huskyrc
@@ -0,0 +1,5 @@
{
"hooks": {
"pre-commit": "lint-staged"
}
}
7 changes: 7 additions & 0 deletions .lintstagedrc
@@ -0,0 +1,7 @@
{
"linters": {
"*.js": [
"eslint --fix", "git add"
],
}
}
36 changes: 36 additions & 0 deletions .travis.yml
@@ -0,0 +1,36 @@
osx_image: xcode10.1
dist: trusty
sudo: false
language: node_js
node_js:
- node
os:
- osx
env:
global:
- ELECTRON_CACHE=$HOME/Library/Caches/electron
- ELECTRON_BUILDER_CACHE=$HOME/Library/Caches/electron-builder
- secure: UTlD9tLtvizQaXnvN+sLjccafujTtc8S325/gexlH4LOJOxwRsWUPhJbKnBhd0dlZ/FdtQsvqEKBEJBJyTgS7d9ggTPe8Qmu8hu3DT3vchq64MK9a2A6zgVocohBAjrTZ6KK1PA+SJSkEZciZVUf6R5L/q41p5NfmXgyFbqZ45P4hSxeHLzKm+LscWNHrpR5413uJhCOw73BJH1218U/KWkEu1SIc9PGAOaU4Qsx/QvWhQeGRmvBwA3xS29ArFCWOtC3epYlwgvsCnGfZhxy+4waNf4gEy6IyUvA6Q71GiOsKoCBGTj6AwLCFSjZzCjrBBUKgt5RXJJ7NnyGHiTRs5M7N5FiNnHd5j+ettsqtHzbGR+ctbtspsYjoZwH9CH3boG8Vr2C8jciqZdPqyt7G5Z4lZLGe7fo5HIHVNT51mCqHdP6zTxEV99SVBnV6xz+HqPxsQxemoGJOEvbJRGIYkrRbsP0zc5ZnYj8QEYfbEkSSWAu5Etfir65J2awq8JmzRkET4rAg5EUj2C0V9QK1v3u58ZcB7e+MfhziclNUK5g4m0tN2QxSlNFOesFLu2kSuJcdf+7E0wdPmlWHEcdgQuwHlBpJai8ipgltoN78SaLXyDh4I7vT6DSbGdAkHDfOF6N7tw0QIV3Z6wAFZjyQ/TT6rNw2pLvVi7iw+4sBH4=
script:
- yarn check
- ./ci-build.sh
after_success:
- yarn run coveralls
before_deploy:
- yarn run build:production
- yarn run dist
deploy:
provider: releases
skip_cleanup: true
file:
- dist/GooboxFileShare-0.1.0-setup_x64.exe
- dist/GooboxFileShare-0.1.0.dmg
- dist/GooboxFileShare-0.1.0.AppImage
on:
tags: true
repo: GooBox/file-share-desktop
api_key:
secure: lrmDEAADF1gbRGgAm34nduCYdlWiofiLf+acSS6tFXhfTDOnJsV0kQo2MGJs7hPpgcWg60FrfOenEE5rA8/77FXTyIY8ta4Ql1HFWmHpZ6gEU5aW6Y8dwLAIXFGxUyvvW2VIHKHtKbkWm8AxKUSM0Jvd2qaPBUkvuzQ8gMFSZ97Zv+6hH0WLJj3QOmqnwk14+eD/dvMg21WoZcACvEdJWzQoMUqEJZ2bjWR0rYOp7xoaRmw6WYh48bxFtyDqIk4QT0lgBDdIfVyH8WyueLGACSkHu/qbkvilKyqJ53LSYSmcafqow6goMbpc7JAYQXHLP3scq8lHUhWosgRsoUvJGnAC5arb9S6o0WGA4Q3S5oGcmHFagtwj7iQF3qSJQXBIcH2wW3eSNTl8Hr6enBebyC5DpNHcd/QwWGY0gRteH0H89rsStx4aE151+cwVh5/SZK19MoEEBD3yl+wmlnmB/zljVpO1NZqMAGHpbvwwy6KmH7oug8rvkjSnckgSBr/i545l2cf0Wu+iz4eTuZzwIy83h/PD+n/UzZIcQaalJHWTf2ZC0zBFJGo3SuJV6nDqegPGu1XFRpu9QPQu4IzgRm2VB3eTSJvbxph0B9z7DivrzaOZ+V4NItVKollotYni2+rTURfUsl5yZARii8HqGeJDgeFNjh9JevZTEehzGvw=
notifications:
webhooks:
secure: nJ21O18sALgdcNf9UigPRZitgzFeh0XY50cXmBdjAey6ASRXjwEyyoF/3eu6j+TWzREFKvPkU62wC6B+0fF6pbl+eFIqBTow+OGtmu+oQUnn7tHPSo8oeCkGgmLZHv/YyS5xXriYEpJ4Q+tx8G8rtNh+85wSl3Erf75cXgsygAQGm2bbU4IMk0hTtgPCKfIuRQ3+zFZlio2wBE3iWoJ1nd1DVkBDpWpIq+YTsOHvW1xyRnWsmg45LkSdA26HsDGRZbREfKZMcA1XToAUj+u1r/IFP0v2GH0FM0q/G21mERVUQ3QkQfZRwrV3gst5Hmq5MsOV6WSJoQNOOwP90rlfdP9nb4AUtmFKrvXpCqbA9vHkooDKdOis2Dbq9jcO4fDRwKJB9G1OGo7lZyk8sgS60WQRpXF7NseSr5oBFv7UqdzDvUBbDZ4ELQnCBudBLtRZEGeUb0bEEKV1h7/fSYBNT4PwcOskdnrLfUEh2G1vrNtEjEuFy845b+6G60TooDOUHr1iInoXrnuOTDCOmXIl6AKQ7gvrHveAxz0di5gSIgdxYWfHa32mhlkAPAaUV0tJXomMFsn17qCBJA9ajyXW33IPQvFRb55RiOsYm5MxJLwq9/TCouJNIBfzwY6bn7HJgzlBnVzZ6WClRy2K5ZjNl9uszIfHvJBHq1tYNxf0Iag=
1 change: 1 addition & 0 deletions README.md
@@ -1,3 +1,4 @@
# file-share-desktop
[![Build Status](https://travis-ci.org/GooBox/file-share-desktop.svg?branch=master)](https://travis-ci.org/GooBox/file-share-desktop)

Goobox file share desktop allows users to share files using a installed electron desktop application, which is especially handy in case of browser incompatibility.
54 changes: 54 additions & 0 deletions ci-build.sh
@@ -0,0 +1,54 @@
#!/bin/bash
# Copyright (C) 2019 Junpei Kawamoto
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
set -ev

if [ "${TRAVIS_PULL_REQUEST}" = "false" ]; then
yarn build
exit 0
fi

brew tap jkawamoto/pixeldrain
brew install pixeldrain
pd -v

yarn build:production
yarn dist

WIN_ID=$(basename $(pd upload dist/GooboxFileShare-0.1.0-setup_x64.exe))
echo "Dev build for Windows has been uploaded at ${WIN_ID}"

MAC_ID=$(basename $(pd upload dist/GooboxFileShare-0.1.0.dmg))
echo "Dev build for MacOS has been uploaded at ${MAC_ID}"

LINUX_ID=$(basename $(pd upload dist/GooboxFileShare-0.1.0.AppImage))
echo "Dev build for Linux has been uploaded at ${LINUX_ID}"

LIST_URL=$(pd create-list -t "GooboxFileShare-0.1.0" ${WIN_ID}:GooboxFileShare-0.1.0-setup_x64.exe ${MAC_ID}:GooboxFileShare-0.1.0.dmg ${LINUX_ID}:GooboxFileShare-0.1.0.AppImage)
echo "Download page for the dev builds are set up at ${LIST_URL}"

curl -XPOST -H 'Content-Type:application/json' $DISCORD_WEBHOOK -d @- <<EOF
{
"embeds": [{
"title": "Development build of $TRAVIS_PULL_REQUEST_BRANCH",
"description": "Build [#$TRAVIS_BUILD_NUMBER]($TRAVIS_BUILD_WEB_URL) of $TRAVIS_REPO_SLUG@$TRAVIS_PULL_REQUEST_BRANCH: $LIST_URL",
"url": "$LIST_URL",
"color": "2664261",
"thumbnail": {
"url": "https://goobox.io/icon-192x192.png"
}
}]
}
EOF
41 changes: 41 additions & 0 deletions electron-builder.yml
@@ -0,0 +1,41 @@
#
# Copyright (C) 2019 Junpei Kawamoto
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
appId: "io.goobox.FileShareApp"
directories:
buildResources: ""
files:
- "!src"
mac:
category: "public.app-category.productivity"
icon: "src/assets/goobox.icns"
type: "development"
win:
target: "nsis"
icon: "resources/goobox.ico"
publisherName: "Goobox"
linux:
target: "AppImage"
icon: "src/assets/goobox.icns"
category: "System"
artifactName: "${productName}-${version}.${ext}"
nsis:
perMachine: true
installerIcon: "src/assets/installer.ico"
uninstallerIcon: "src/assets/installer.ico"
license: "LICENSE"
deleteAppDataOnUninstall: true
artifactName: "${productName}-${version}-setup_x64.${ext}"
52 changes: 52 additions & 0 deletions package.json
@@ -0,0 +1,52 @@
{
"name": "GooboxFileShare",
"version": "0.1.0",
"description": "Goobox File Share App",
"main": "lib/index.js",
"scripts": {
"start": "electron .",
"start:debug": "DEV_TOOLS=true electron .",
"build": "webpack --display-used-exports",
"build:production": "webpack --mode production -p --display-used-exports",
"build:watch": "webpack -w",
"check": "eslint src",
"check:fix": "eslint --fix src",
"pack": "electron-builder -m --dir",
"dist": "run-s dist:*",
"dist:mac": "electron-builder -m --x64 --publish=never",
"dist:win": "electron-builder -w --x64 --publish=never",
"dist:linux": "electron-builder -l --x64 --publish=never",
"clean": "del lib/* dist/*",
"update": "run-s update:check update:install update:commit",
"update:check": "updates -u",
"update:install": "yarn install",
"update:commit": "git commit -m \"chore: update dependencies\" -- package.json yarn.lock"
},
"author": "Junpei Kawamoto <kawamoto.junpei@gmail.com>",
"license": "GPL-3.0",
"dependencies": {
"about-window": "^1.12.1"
},
"devDependencies": {
"@babel/core": "^7.2.2",
"@babel/plugin-proposal-object-rest-spread": "^7.3.1",
"@babel/preset-env": "^7.3.1",
"babel-eslint": "^10.0.1",
"babel-loader": "^8.0.5",
"del-cli": "^1.1.0",
"electron": "^4.0.2",
"electron-builder": "^20.38.5",
"eslint": "^5.12.1",
"eslint-config-prettier": "^4.0.0",
"eslint-plugin-import": "^2.15.0",
"eslint-plugin-prettier": "^3.0.1",
"husky": "^1.3.1",
"lint-staged": "^8.1.0",
"npm-run-all": "^4.1.5",
"prettier": "^1.16.1",
"svg-url-loader": "^2.3.2",
"updates": "^6.2.1",
"webpack": "^4.29.0",
"webpack-cli": "^3.2.1"
}
}
39 changes: 39 additions & 0 deletions src/about.js
@@ -0,0 +1,39 @@
/*
* Copyright (C) 2019 Junpei Kawamoto
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/

import _openAboutWindow from "about-window";
import icon from "./assets/goobox.svg";

export const openAboutWindow = async () =>
new Promise(resolve => {
const about = _openAboutWindow({
icon_path: icon,
bug_report_url: "https://github.com/GooBox/file-share-app/issues",
copyright: "漏 Goobox",
homepage: "https://goobox.io/",
license: "GPL-v3",
win_options: {
resizable: false,
fullscreenable: false,
minimizable: false,
maximizable: false,
},
});
about.on("closed", resolve);
});

export default openAboutWindow;
Binary file added src/assets/goobox.icns
Binary file not shown.
Binary file added src/assets/goobox.ico
Binary file not shown.

0 comments on commit f6ac2ea

Please sign in to comment.