kopia lustrzana https://github.com/browsh-org/browsh
Porównaj commity
3 Commity
c191b34201
...
d7fb6e1045
Autor | SHA1 | Data |
---|---|---|
Ananth Bhaskararaman | d7fb6e1045 | |
Ananth Bhaskararaman | 65344c3f80 | |
Ananth Bhaskararaman | f9c6fcf4cc |
|
@ -1,86 +1,19 @@
|
|||
# How to setup the build environment for browsh on a generic Linux system
|
||||
|
||||
This guide was made for x86-64 based Linux systems. You may try to adapt it to other systems.
|
||||
In this guide, it is assumed that you can't install the required go, nodejs and firefox versions from your distribution's repositories.
|
||||
In case they are available, you should try to install go, nodejs and firefox using your distribution's package manager.
|
||||
|
||||
## Installing golang
|
||||
|
||||
Get the latest amd64 binary for Linux on the [golang download page](https://golang.org/dl/).
|
||||
|
||||
Extract to `/usr/local` with:
|
||||
|
||||
```
|
||||
$ tar -C /usr/local -xzf go1.11.linux-amd64.tar.gz
|
||||
```
|
||||
|
||||
Add `/usr/local/go/bin` to your `PATH` in `~/.profile`
|
||||
|
||||
## Installing nodejs/npm
|
||||
|
||||
Go to the [nodejs download page](https://nodejs.org/download) and select the LTS version of the Linux x86 64bit binaries.
|
||||
|
||||
```
|
||||
$ mkdir /usr/local/lib/nodejs
|
||||
$ VERSION=v8.11.4
|
||||
$ DISTRO=linux-x64
|
||||
$ tar -xJvf node-$VERSION-$DISTRO.tar.xz -C /usr/local/lib/nodejs
|
||||
$ mv /usr/local/lib/nodejs/node-$VERSION-$DISTRO /usr/local/lib/nodejs/node-$VERSION
|
||||
```
|
||||
|
||||
Edit your `~/.profile` to add `/usr/local/lib/nodejs/node-v8.11.4/bin` to your `PATH`, then reload your profile:
|
||||
|
||||
```
|
||||
$ source ~/.profile
|
||||
```
|
||||
|
||||
Create symlinks for *node* and *npm*:
|
||||
|
||||
```
|
||||
$ sudo ln -s /usr/local/lib/nodejs/node-$VERSION/bin/node /usr/local/bin/node
|
||||
$ sudo ln -s /usr/local/lib/nodejs/node-$VERSION/bin/npm /usr/local/bin/npm
|
||||
```
|
||||
Install Go, Node.js, and Firefox using your system's package manager.
|
||||
**Browsh requires Version 57 or higher.**
|
||||
|
||||
Now you should be able to call the *go* and *node* binaries:
|
||||
|
||||
```
|
||||
$ go version
|
||||
$ node --version
|
||||
```shell
|
||||
go version
|
||||
node --version
|
||||
```
|
||||
|
||||
## Installing webpack and webpack-cli
|
||||
## Install webpack, webpack-cli, & web-ext
|
||||
|
||||
(`--no-audit` is used to get around errors, may not be needed)
|
||||
|
||||
```
|
||||
$ npm install -g --no-audit webpack
|
||||
$ npm install -g webpack-cli
|
||||
```
|
||||
|
||||
## Installing web-ext
|
||||
|
||||
(`--no-audit` is used to get around errors, may not be needed)
|
||||
|
||||
```
|
||||
$ npm install -g --ignore-scripts web-ext
|
||||
```
|
||||
|
||||
## Installing Firefox
|
||||
|
||||
You may install *firefox* from your distribution's repositories. **Version 57 or higher is required.**
|
||||
|
||||
### Installing firefox from mozilla's binaries
|
||||
|
||||
See `interfacer/contrib/setup_firefox.sh` for reference.
|
||||
|
||||
```
|
||||
$ export FIREFOX_VERSION=60.0
|
||||
$ mkdir -p $HOME/bin
|
||||
$ pushd $HOME/bin
|
||||
$ curl -L -o firefox.tar.bz2 https://ftp.mozilla.org/pub/firefox/releases/$FIREFOX_VERSION/linux-x86_64/en-US/firefox-$FIREFOX_VERSION.tar.bz2
|
||||
$ bzip2 -d firefox.tar.bz2
|
||||
$ tar xf firefox.tar
|
||||
$ popd
|
||||
```shell
|
||||
npm install -g webpack webpack-cli web-ext
|
||||
```
|
||||
|
||||
## Cloning the browsh repository
|
||||
|
@ -89,58 +22,58 @@ It's assumed that you already have *git* installed.
|
|||
|
||||
Run this anywhere you want:
|
||||
|
||||
```
|
||||
$ git clone https://github.com/browsh-org/browsh.git
|
||||
```shell
|
||||
git clone https://github.com/browsh-org/browsh.git
|
||||
```
|
||||
|
||||
## Setting up the build environment in the cloned repository
|
||||
|
||||
### Setting up dependencies
|
||||
### Setting up dependencies
|
||||
|
||||
```shell
|
||||
browsh=/path/to/browsh
|
||||
cd "$browsh/webext"
|
||||
npm run get-gobindata
|
||||
npm install
|
||||
npm run build
|
||||
diff -u <(echo -n) <(gofmt -d ./)
|
||||
./node_modules/.bin/prettier --list-different "{src,test}/**/*.js"
|
||||
```
|
||||
$ REPO_ROOT=/path/to/browsh
|
||||
$ cd $REPO_ROOT/webext
|
||||
$ source ~/.nvm/nvm.sh # this is optional
|
||||
$ npm run get-gobindata
|
||||
$ npm install
|
||||
$ npm run build
|
||||
$ diff -u <(echo -n) <(gofmt -d ./)
|
||||
$ ./node_modules/.bin/prettier --list-different "{src,test}/**/*.js"
|
||||
```
|
||||
|
||||
### Building browsh
|
||||
|
||||
```
|
||||
$ cd $REPO_ROOT/interfacer
|
||||
$ go build -o browsh src/main.go
|
||||
```shell
|
||||
cd "$browsh/interfacer"
|
||||
go build -o browsh src/main.go
|
||||
```
|
||||
|
||||
### Building the web extension
|
||||
|
||||
In `$REPO_ROOT/webext`:
|
||||
In `$browsh/webext`:
|
||||
|
||||
```
|
||||
$ webpack --watch
|
||||
```shell
|
||||
webpack --watch
|
||||
```
|
||||
|
||||
This will continuously watch for changes made to the web extension and rebuild it.
|
||||
|
||||
## Run firefox and the webextension
|
||||
|
||||
In `$REPO_ROOT/webext/dist`:
|
||||
In `$browsh/webext/dist`:
|
||||
|
||||
```
|
||||
$ web-ext run --verbose --firefox path/to/firefox
|
||||
```shell
|
||||
web-ext run --verbose --firefox path/to/firefox
|
||||
```
|
||||
|
||||
## Run browsh
|
||||
|
||||
```
|
||||
$ cd $REPO_ROOT/interfacer
|
||||
$ go run ./cmd/browsh --firefox.use-existing --debug
|
||||
```shell
|
||||
cd "$browsh/interfacer"
|
||||
go run ./cmd/browsh --firefox.use-existing --debug
|
||||
```
|
||||
|
||||
Or after building:
|
||||
|
||||
```
|
||||
$ ./browsh --firefox.use-existing --debug
|
||||
```shell
|
||||
./browsh --firefox.use-existing --debug
|
||||
```
|
||||
|
|
|
@ -1,8 +1,11 @@
|
|||
# How to set up the build environment for Browsh on Windows
|
||||
This guide is for those who want to set up the build environment on Windows Command Prompt or Powershell. Since some of the shell scripts are needed to set up the environment, you can just use **Git Bash** to run these scripts.
|
||||
|
||||
This guide is for those who want to set up the build environment on Windows
|
||||
Command Prompt or Powershell.
|
||||
Setup depends on running shell scripts. You can use **Git Bash** to run those scripts.
|
||||
|
||||
## Setting up Go, NodeJs, and GOPATH
|
||||
|
||||
Download and install Go for Windows at [Go download page](https://golang.org/dl/).
|
||||
|
||||
Download and install NodeJs for Windows at [NodeJs download page](https://nodejs.org/en/download/)
|
||||
|
@ -10,17 +13,24 @@ Download and install NodeJs for Windows at [NodeJs download page](https://nodejs
|
|||
Using Command Prompt or Powershell:
|
||||
|
||||
Create a go workspace:
|
||||
> mkdir go
|
||||
|
||||
> cd go
|
||||
```shell
|
||||
mkdir go
|
||||
cd go
|
||||
```
|
||||
|
||||
Set GOPATH to current directory.
|
||||
> set GOPATH=%cd%
|
||||
|
||||
```shell
|
||||
set GOPATH=%cd%
|
||||
```
|
||||
|
||||
Create subdirectories bin and src within your go directory:
|
||||
> mkdir bin
|
||||
|
||||
> mkdir src
|
||||
```shell
|
||||
mkdir bin
|
||||
mkdir src
|
||||
```
|
||||
|
||||
Add %GOPATH%/bin to your PATH.
|
||||
|
||||
|
@ -29,44 +39,63 @@ Add %GOPATH%/bin to your PATH.
|
|||
Download and install Chocolatey package manager at [Chocolatey download page](https://chocolatey.org/install).
|
||||
|
||||
Using chocolatey package manager run:
|
||||
> choco install dep
|
||||
|
||||
```shell
|
||||
choco install dep
|
||||
```
|
||||
|
||||
## Installing webpack, web-ext, and Firefox
|
||||
> npm install -g --no-audit webpack
|
||||
|
||||
> npm install -g --ignore-scripts web-ext
|
||||
```shell
|
||||
npm install -g --no-audit webpack
|
||||
npm install -g --ignore-scripts web-ext
|
||||
```
|
||||
|
||||
Download and install Firefox for Windows at [Firefox download page](https://www.mozilla.org/en-US/firefox/new/).
|
||||
Note: **Version 57 or higher is required.**
|
||||
|
||||
Note: **Browsh requires Firefox versions 57 or higher.**
|
||||
|
||||
## Cloning the browsh repository
|
||||
Navigate to GOPATH/src and run:
|
||||
> git clone https://github.com/browsh-org/browsh.git
|
||||
|
||||
Navigate to GOPATH/src and run:
|
||||
|
||||
```shell
|
||||
git clone https://github.com/browsh-org/browsh.git
|
||||
```
|
||||
|
||||
## Setting up dependencies
|
||||
|
||||
Navigate to browsh/webext and run:
|
||||
> npm install
|
||||
|
||||
```shell
|
||||
npm install
|
||||
```
|
||||
|
||||
## Building browsh with Git Bash
|
||||
|
||||
Using Git Bash, navigate to browsh/interfacer/contrib and run:
|
||||
> ./build_browsh.sh
|
||||
|
||||
```shell
|
||||
./build_browsh.sh
|
||||
```
|
||||
|
||||
## Running browsh
|
||||
|
||||
Using three Command Prompts or Powershells:
|
||||
|
||||
Navigate to GOPATH/browsh and run:
|
||||
> go run ./interfacer/src/main.go --firefox.use-existing --debug
|
||||
|
||||
```shell
|
||||
go run ./interfacer/src/main.go --firefox.use-existing --debug
|
||||
```
|
||||
|
||||
Navigate to browsh/webext and run:
|
||||
> webpack --watch
|
||||
|
||||
```shell
|
||||
webpack --watch
|
||||
```
|
||||
|
||||
Navigate to browsh/webext/dist and run:
|
||||
> web-ext run --verbose
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
```shell
|
||||
web-ext run --verbose
|
||||
```
|
||||
|
|
|
@ -3,6 +3,7 @@ package browsh
|
|||
import (
|
||||
"encoding/base64"
|
||||
"fmt"
|
||||
"io"
|
||||
"log/slog"
|
||||
"net/url"
|
||||
"os"
|
||||
|
@ -44,7 +45,7 @@ var (
|
|||
)
|
||||
|
||||
func setupLogging() {
|
||||
out := os.Stderr
|
||||
out := io.Discard
|
||||
if *isDebug {
|
||||
dir, err := os.Getwd()
|
||||
if err != nil {
|
||||
|
|
Ładowanie…
Reference in New Issue