Start a webextension

This commit is contained in:
Arlo Breault 2019-04-30 15:08:37 -04:00
parent 5aca6028f9
commit 49dedf3a2f
11 changed files with 53 additions and 4 deletions

1
.gitignore vendored
View file

@ -14,5 +14,6 @@ proxy/test
proxy/build
proxy/node_modules
proxy/spec/support
proxy/webext/snowflake.js
ignore/
npm-debug.log

View file

@ -21,14 +21,14 @@ FILES_SPEC = [
'spec/websocket.spec.coffee'
]
FILES_ALL = FILES.concat FILES_SPEC
OUTFILE = 'build/snowflake.js'
OUTFILE = 'snowflake.js'
STATIC = 'static'
copyStaticFiles = ->
exec 'cp ' + STATIC + '/* build/'
compileCoffee = ->
exec 'cat ' + FILES.join(' ') + ' | coffee -cs > ' + OUTFILE, (err, stdout, stderr) ->
compileCoffee = (outDir) ->
exec 'cat ' + FILES.join(' ') + ' | coffee -cs > ' + outDir + '/' + OUTFILE, (err, stdout, stderr) ->
throw err if err
task 'test', 'snowflake unit tests', ->
@ -48,9 +48,13 @@ task 'test', 'snowflake unit tests', ->
task 'build', 'build the snowflake proxy', ->
exec 'mkdir -p build'
copyStaticFiles()
compileCoffee()
compileCoffee('build')
console.log 'Snowflake prepared.'
task 'webext', 'build the webextension', ->
compileCoffee('webext')
console.log 'Webextension prepared.'
task 'lint', 'ensure idiomatic coffeescript', ->
proc = spawn 'coffeelint', FILES_ALL, {
file: 'coffeelint.json'

View file

@ -10,6 +10,7 @@
"test": "cake test",
"lint": "cake lint",
"build": "cake build",
"webext": "cake webext",
"clean": "cake clean",
"prepublish": "npm run build",
"start": "node build/snowflake.js"

9
proxy/webext/README.md Normal file
View file

@ -0,0 +1,9 @@
Build it,
```
cd ..
npm install
npm run webext
```
and then load this directory as an unpacked extension.

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

BIN
proxy/webext/icons/16.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3 KiB

BIN
proxy/webext/icons/32.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

View file

@ -0,0 +1,16 @@
{
"manifest_version": 2,
"name": "Snowflake",
"version": "0.0.0",
"description": "Snowflake ...",
"background": {
"page": "snowflake.html",
"persistent": true
},
"browser_action": {
"default_icon": {
"16": "icons/16.png",
"32": "icons/32.png"
}
}
}

View file

@ -0,0 +1,16 @@
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<!-- FIXME: Use a "script" instead of a "page" in the manifest.json -->
<script src="tmp.js"></script>
<script src="snowflake.js"></script>
</head>
<body>
<!-- FIXME: Refactor snowflake.js to eliminate the need for this -->
<div>
<div id="status"></div>
<textarea id="msglog" readonly></textarea>
</div>
</body>
</html>

2
proxy/webext/tmp.js Normal file
View file

@ -0,0 +1,2 @@
// FIXME: Refactor snowflake.js to eliminate the need for this
document.cookie = "snowflake-allow=1";