1
1
Fork 0
mirror of https://gitlab.com/Oreolek/salet-gamepad-module.git synced 2024-04-25 13:49:45 +03:00

Initial commit

This commit is contained in:
Alexander Yakovlev 2017-09-20 18:49:45 +07:00
commit 748970fa0e
27 changed files with 2709 additions and 0 deletions

3
.gitignore vendored Normal file
View file

@ -0,0 +1,3 @@
node_modules
lib
npm-debug.log

7
.npmignore Normal file
View file

@ -0,0 +1,7 @@
node_modules
src
npm-debug.log
lib/index.js
lib/index.coffee
test
Cakefile

46
Cakefile Normal file
View file

@ -0,0 +1,46 @@
fs = require 'fs'
{exec,spawn} = require 'child_process'
util = require 'util'
glob = require 'glob'
sources = [
'gamepad.coffee'
'init.coffee'
]
sourcestring = ""
for source in sources
sourcestring += 'src/'+source+' '
task 'watch', 'Watch source files and build changes', ->
watch = spawn "node_modules/coffeescript/bin/coffee", ['-c', '-w', '-m', '--no-header', '-j', 'lib/index.js', sourcestring]
watch.stdout.on 'data', (data) -> console.log data.toString().trim()
task 'compile', 'Compile all CoffeeScript files', ->
# prepare lib directory
if not fs.existsSync 'lib'
fs.mkdirSync 'lib'
files = glob.sync('src/mappings/*.json')
mappings = []
for file in files
data = JSON.parse(fs.readFileSync(file))
mappings.push data
fs.writeFileSync('lib/mappings.json', JSON.stringify(mappings))
# run coffee-script compile
exec "cat #{sourcestring} > lib/index.coffee"
exec "node_modules/coffeescript/bin/coffee --compile --map --no-header lib/index.coffee", (err, stdout, stderr) ->
if err
util.log err
process.exit 1 # abort npm packaging
fs.unlink("lib/index.coffee", () -> )
util.log "Compiled CoffeeScript."
task 'build', 'Compile and minify all CoffeeScript files', ->
invoke 'compile'
exec 'closure-compiler --compilation_level ECMASCRIPT5 --compilation_level SIMPLE --create_source_map=lib/index.min.js.map --js_output_file lib/index.min.js lib/index.js', (err) ->
if err
util.log err
process.exit 1 # abort npm packaging
fs.appendFileSync('lib/index.min.js', "\n//# sourceMappingURL=index.min.js.map")
util.log "Minified JavaScript."

20
LICENSE.txt Normal file
View file

@ -0,0 +1,20 @@
Copyright (c) 2017 Alexander Yakovlev, https://oreolek.ru/
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
"Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to
the following conditions:
The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

9
README.md Normal file
View file

@ -0,0 +1,9 @@
# Gamepad support for Salet 2
Requires [Salet](https://gitlab.com/Oreolek/salet-module) 2+
Uses code from the [`html-gamepad`](https://github.com/ericlathrop/html5-gamepad/blob/master/LICENSE) library in accordance to MIT License.
Copyright 2017 Alexander Yakovlev.
`html-gamepad` code copyright 2016 Eric Lathrop, with contributions from Rex Soriano.

34
package.json Normal file
View file

@ -0,0 +1,34 @@
{
"name": "salet-gamepad",
"version": "1.0.0",
"description": "A gamepad module for Salet 2.",
"keywords": [
"ifiction",
"interactive fiction",
"games",
"coffeescript",
"gamepad"
],
"homepage": "https://salet.su",
"bugs": {
"url": "https://gitlab.com/oreolek/salet-gamepad-module/issues"
},
"license": "MIT",
"dependencies": {
"glob": "^7.1.2"
},
"private": false,
"author": {
"name": "Alexander Yakovlev",
"email": "keloero@oreolek.ru",
"url": "https://oreolek.ru"
},
"devDependencies": {
"coffeescript": "^2.0.0"
},
"main": "lib/index.min.js",
"repository": {
"type": "git",
"url": "https://gitlab.com/oreolek/salet-gamepad-module"
}
}

40
src/gamepad.coffee Normal file
View file

@ -0,0 +1,40 @@
# Gamepad HTML5 API
class Gamepad
constructor: (pad) ->
@gamepad = pad
@map = @detectMapping(pad.id, navigator.userAgent)
detectMapping: (id, browser) ->
for map in salet.view.gamepadmappings
for device in map.supported
if id.indexOf(device.id) != -1 and browser.indexOf(device.browser) != -1
return map
# mapping not found, return the first map for this browser
for device in map.supported
if browser.indexOf(device.browser) != -1
return map
# browser and device are not supported, just return the first map
console.warn "Browser and device are not found, gamepad support not guaranteed."
return salet.view.gamepadmappings[0]
axis: (name) ->
map = @map.axes[name]
unless map?
return 0
if map.index?
return @gamepad.axes[map.index]
if map.buttonPositive? and @gamepad.buttons[map.buttonPositive].pressed
return 1
if map.buttonNegative? and @gamepad.buttons[map.buttonNegative].pressed
return -1
return 0
button: (name) ->
map = @map.buttons[name]
unless map?
return 0
if map.index?
return @gamepad.buttons[map.index].pressed
if map.axis?
if map.direction < 0
return @gamepad.axes[map.axis] < -0.75
else
return @gamepad.axes[map.axis] > 0.75
return false

19
src/init.coffee Normal file
View file

@ -0,0 +1,19 @@
$(document).on("viewinit", () ->
# An array containing the connected gamepads (see Gamepad class)
salet.view.gamepads = []
jQuery.ajax({
dataType: 'json',
url: 'mappings.json',
success: (data) ->
salet.view.gamepadmappings = data
window.addEventListener("gamepadconnected", (e) ->
salet.view.gamepads[e.gamepad.index] = new Gamepad(e.gamepad)
)
window.addEventListener("gamepaddisconnected", (e) ->
salet.view.gamepads[e.gamepad.index] = undefined
)
if (typeof navigator.getGamepads == "function")
for pad in navigator.getGamepads()
salet.view.gamepads[pad.index] = new Gamepad(pad)
})
)

View file

@ -0,0 +1,121 @@
{
"axes": {
"dpad x": {
"index": 4
},
"dpad y": {
"index": 5
},
"left stick x": {
"index": 0
},
"left stick y": {
"index": 1
},
"right stick x": {
"index": 2
},
"right stick y": {
"index": 3
}
},
"buttons": {
"a": {
"index": 1
},
"b": {
"index": 2
},
"back": {
"index": 8
},
"dpad down": {
"axis": 5,
"direction": 1
},
"dpad left": {
"axis": 4,
"direction": -1
},
"dpad right": {
"axis": 4,
"direction": 1
},
"dpad up": {
"axis": 5,
"direction": -1
},
"left shoulder": {
"index": 4
},
"left stick": {
"index": 10
},
"left stick down": {
"axis": 1,
"direction": 1
},
"left stick left": {
"axis": 0,
"direction": -1
},
"left stick right": {
"axis": 0,
"direction": 1
},
"left stick up": {
"axis": 1,
"direction": -1
},
"left trigger": {
"index": 6
},
"right shoulder": {
"index": 5
},
"right stick": {
"index": 11
},
"right stick down": {
"axis": 3,
"direction": 1
},
"right stick left": {
"axis": 2,
"direction": -1
},
"right stick right": {
"axis": 2,
"direction": 1
},
"right stick up": {
"axis": 3,
"direction": -1
},
"right trigger": {
"index": 7
},
"start": {
"index": 9
},
"x": {
"index": 0
},
"y": {
"index": 3
}
},
"name": "Logitech F310 (DirectInput) Chrome/Firefox Linux",
"supported": [
{
"browser": "Chrome",
"id": "Logitech Logitech Dual Action (Vendor: 046d Product: c216)",
"os": "Linux"
},
{
"browser": "Firefox",
"id": "046d-c216-Logitech Logitech Dual Action",
"os": "Linux"
}
]
}

View file

@ -0,0 +1,120 @@
{
"axes": {
"dpad x": {
"index": 6
},
"dpad y": {
"index": 7
},
"left stick x": {
"index": 0
},
"left stick y": {
"index": 1
},
"right stick x": {
"index": 2
},
"right stick y": {
"index": 3
},
"right trigger": {
"index": 5
}
},
"buttons": {
"a": {
"index": 0
},
"b": {
"index": 1
},
"back": {
"index": 8
},
"dpad down": {
"index": 13
},
"dpad left": {
"index": 14
},
"dpad right": {
"index": 15
},
"dpad up": {
"index": 12
},
"left shoulder": {
"index": 4
},
"left stick": {
"index": 10
},
"left stick down": {
"axis": 1,
"direction": 1
},
"left stick left": {
"axis": 0,
"direction": -1
},
"left stick right": {
"axis": 0,
"direction": 1
},
"left stick up": {
"axis": 1,
"direction": -1
},
"left trigger": {
"index": 6
},
"right shoulder": {
"index": 5
},
"right stick": {
"index": 11
},
"right stick down": {
"axis": 3,
"direction": 1
},
"right stick left": {
"axis": 2,
"direction": -1
},
"right stick right": {
"axis": 2,
"direction": 1
},
"right stick up": {
"axis": 3,
"direction": -1
},
"right trigger": {
"index": 7
},
"start": {
"index": 9
},
"x": {
"index": 2
},
"y": {
"index": 3
}
},
"name": "Logitech F310 (DirectInput) Chrome Windows/OSX",
"supported": [
{
"browser": "Chrome",
"id": "Logitech Dual Action (STANDARD GAMEPAD Vendor: 046d Product: c216)",
"os": "Mac OS X"
},
{
"browser": "Chrome",
"id": "Logitech Dual Action (STANDARD GAMEPAD Vendor: 046d Product: c216)",
"os": "Windows NT"
}
]
}

View file

@ -0,0 +1,114 @@
{
"axes": {
"dpad x": {
"index": 6
},
"dpad y": {
"index": 7
},
"left stick x": {
"index": 0
},
"left stick y": {
"index": 1
},
"left trigger": {
"index": 2
},
"right stick x": {
"index": 3
},
"right stick y": {
"index": 4
},
"right trigger": {
"index": 5
}
},
"buttons": {
"a": {
"index": 1
},
"b": {
"index": 2
},
"back": {
"index": 8
},
"dpad down": {
"index": 13
},
"dpad left": {
"index": 14
},
"dpad right": {
"index": 15
},
"dpad up": {
"index": 12
},
"left shoulder": {
"index": 4
},
"left stick": {
"index": 10
},
"left stick down": {
"axis": 2,
"direction": 1
},
"left stick left": {
"axis": 1,
"direction": -1
},
"left stick right": {
"axis": 1,
"direction": 1
},
"left stick up": {
"axis": 2,
"direction": -1
},
"left trigger": {
"index": 6
},
"right shoulder": {
"index": 5
},
"right stick": {
"index": 11
},
"right stick down": {
"axis": 4,
"direction": 1
},
"right stick left": {
"axis": 3,
"direction": -1
},
"right stick up": {
"axis": 4,
"direction": -1
},
"right trigger": {
"index": 7
},
"start": {
"index": 9
},
"x": {
"index": 0
},
"y": {
"index": 3
}
},
"name": "Logitech F310 (DirectInput) Firefox OSX",
"supported": [
{
"browser": "Firefox",
"id": "46d-c216-Logitech Dual Action",
"os": "Mac OS X"
}
]
}

View file

@ -0,0 +1,115 @@
{
"axes": {
"dpad x": {
"index": 6
},
"dpad y": {
"index": 7
},
"left stick x": {
"index": 0
},
"left stick y": {
"index": 1
},
"right stick x": {
"index": 2
},
"right stick y": {
"index": 3
},
"right trigger": {
"index": 5
}
},
"buttons": {
"a": {
"index": 1
},
"b": {
"index": 2
},
"back": {
"index": 8
},
"dpad down": {
"index": 14
},
"dpad left": {
"index": 15
},
"dpad right": {
"index": 16
},
"dpad up": {
"index": 13
},
"left shoulder": {
"index": 4
},
"left stick": {
"index": 10
},
"left stick down": {
"axis": 1,
"direction": 1
},
"left stick left": {
"axis": 0,
"direction": -1
},
"left stick right": {
"axis": 0,
"direction": 1
},
"left stick up": {
"axis": 1,
"direction": -1
},
"left trigger": {
"index": 6
},
"right shoulder": {
"index": 5
},
"right stick": {
"index": 11
},
"right stick down": {
"axis": 3,
"direction": 1
},
"right stick left": {
"axis": 2,
"direction": -1
},
"right stick right": {
"axis": 2,
"direction": 1
},
"right stick up": {
"axis": 3,
"direction": -1
},
"right trigger": {
"index": 7
},
"start": {
"index": 9
},
"x": {
"index": 0
},
"y": {
"index": 3
}
},
"name": "Logitech F310 (DirectInput) Firefox Windows",
"supported": [
{
"browser": "Firefox",
"id": "046d-c216-Logitech Dual Action",
"os": "Windows NT"
}
]
}

View file

@ -0,0 +1,118 @@
{
"axes": {
"dpad x": {
"index": 6
},
"dpad y": {
"index": 7
},
"left stick x": {
"index": 0
},
"left stick y": {
"index": 1
},
"right stick x": {
"index": 2
},
"right stick y": {
"index": 3
},
"right trigger": {
"index": 5
}
},
"buttons": {
"a": {
"index": 0
},
"b": {
"index": 1
},
"back": {
"index": 8
},
"dpad down": {
"index": 13
},
"dpad left": {
"index": 14
},
"dpad right": {
"index": 15
},
"dpad up": {
"index": 12
},
"home": {
"index": 16
},
"left shoulder": {
"index": 4
},
"left stick": {
"index": 10
},
"left stick down": {
"axis": 1,
"direction": 1
},
"left stick left": {
"axis": 0,
"direction": -1
},
"left stick right": {
"axis": 0,
"direction": 1
},
"left stick up": {
"axis": 1,
"direction": -1
},
"left trigger": {
"index": 6
},
"right shoulder": {
"index": 5
},
"right stick": {
"index": 11
},
"right stick down": {
"axis": 3,
"direction": 1
},
"right stick left": {
"axis": 2,
"direction": -1
},
"right stick right": {
"axis": 2,
"direction": 1
},
"right stick up": {
"axis": 3,
"direction": -1
},
"right trigger": {
"index": 7
},
"start": {
"index": 9
},
"x": {
"index": 2
},
"y": {
"index": 3
}
},
"name": "Logitech F310 (XInput) Chrome Linux",
"supported": [
{
"browser": "Chrome",
"id": "Logitech Gamepad F310 (STANDARD GAMEPAD Vendor: 046d Product: c21d)",
"os": "Linux"
}
]
}

View file

@ -0,0 +1,127 @@
{
"axes": {
"dpad x": {
"index": 6
},
"dpad y": {
"index": 7
},
"left stick x": {
"index": 0
},
"left stick y": {
"index": 1
},
"left trigger": {
"index": 2
},
"right stick x": {
"index": 3
},
"right stick y": {
"index": 4
},
"right trigger": {
"index": 5
}
},
"buttons": {
"a": {
"index": 0
},
"b": {
"index": 1
},
"back": {
"index": 6
},
"dpad down": {
"axis": 7,
"direction": 1
},
"dpad left": {
"axis": 6,
"direction": -1
},
"dpad right": {
"axis": 6,
"direction": 1
},
"dpad up": {
"axis": 7,
"direction": -1
},
"home": {
"index": 8
},
"left shoulder": {
"index": 4
},
"left stick": {
"index": 9
},
"left stick down": {
"axis": 1,
"direction": 1
},
"left stick left": {
"axis": 0,
"direction": -1
},
"left stick right": {
"axis": 0,
"direction": 1
},
"left stick up": {
"axis": 1,
"direction": -1
},
"left trigger": {
"axis": 2,
"direction": 1
},
"right shoulder": {
"index": 5
},
"right stick": {
"index": 10
},
"right stick down": {
"axis": 4,
"direction": 1
},
"right stick left": {
"axis": 3,
"direction": -1
},
"right stick right": {
"axis": 3,
"direction": 1
},
"right stick up": {
"axis": 4,
"direction": -1
},
"right trigger": {
"axis": 5,
"direction": 1
},
"start": {
"index": 7
},
"x": {
"index": 2
},
"y": {
"index": 3
}
},
"name": "Logitech F310 (XInput) Firefox Linux",
"supported": [
{
"browser": "Firefox",
"id": "046d-c21d-Logitech Gamepad F310",
"os": "Linux"
}
]
}

View file

@ -0,0 +1,123 @@
{
"axes": {
"dpad x": {
"index": 6
},
"dpad y": {
"index": 7
},
"left stick x": {
"index": 0
},
"left stick y": {
"index": 1
},
"right stick x": {
"index": 2
},
"right stick y": {
"index": 3
},
"right trigger": {
"index": 5
}
},
"buttons": {
"a": {
"index": 0
},
"b": {
"index": 1
},
"back": {
"index": 8
},
"dpad down": {
"index": 13
},
"dpad left": {
"index": 14
},
"dpad right": {
"index": 15
},
"dpad up": {
"index": 12
},
"home": {
"index": 16
},
"left shoulder": {
"index": 4
},
"left stick": {
"index": 10
},
"left stick down": {
"axis": 1,
"direction": 1
},
"left stick left": {
"axis": 0,
"direction": -1
},
"left stick right": {
"axis": 0,
"direction": 1
},
"left stick up": {
"axis": 1,
"direction": -1
},
"left trigger": {
"index": 6
},
"right shoulder": {
"index": 5
},
"right stick": {
"index": 11
},
"right stick down": {
"axis": 3,
"direction": 1
},
"right stick left": {
"axis": 2,
"direction": -1
},
"right stick right": {
"axis": 2,
"direction": 1
},
"right stick up": {
"axis": 3,
"direction": -1
},
"right trigger": {
"index": 7
},
"start": {
"index": 9
},
"x": {
"index": 2
},
"y": {
"index": 3
}
},
"name": "PLAYSTATION(R)3 Controller (STANDARD GAMEPAD Vendor: 054c Product: 0268) Chrome OSX Linux",
"supported": [
{
"browser": "Chrome",
"id": "PLAYSTATION(R)3 Controller (STANDARD GAMEPAD Vendor: 054c Product: 0268)",
"os": "Mac OS X"
},
{
"browser": "Chrome",
"id": "Sony PLAYSTATION(R)3 Controller (STANDARD GAMEPAD Vendor: 054c Product: 0268)",
"os": "Linux"
}
]
}

View file

@ -0,0 +1,121 @@
{
"axes": {
"dpad x": {
"index": 6
},
"dpad y": {
"index": 7
},
"left stick x": {
"index": 0
},
"left stick y": {
"index": 1
},
"left trigger": {
"index": 12
},
"right stick x": {
"index": 2
},
"right stick y": {
"index": 3
},
"right trigger": {
"index": 13
}
},
"buttons": {
"a": {
"index": 14
},
"b": {
"index": 13
},
"back": {
"index": 0
},
"dpad down": {
"index": 6
},
"dpad left": {
"index": 7
},
"dpad right": {
"index": 5
},
"dpad up": {
"index": 4
},
"home": {
"index": 16
},
"left stick": {
"index": 1
},
"left shoulder": {
"index": 10
},
"left stick down": {
"axis": 1,
"direction": 1
},
"left stick left": {
"axis": 0,
"direction": -1
},
"left stick right": {
"axis": 0,
"direction": 1
},
"left stick up": {
"axis": 1,
"direction": -1
},
"left trigger": {
"index": 8
},
"right stick": {
"index": 2
},
"right stick down": {
"axis": 3,
"direction": 1
},
"right stick left": {
"axis": 2,
"direction": -1
},
"right stick right": {
"axis": 2,
"direction": 1
},
"right stick up": {
"axis": 3,
"direction": -1
},
"right trigger": {
"index": 9
},
"right shoulder": {
"index": 11
},
"start": {
"index": 3
},
"x": {
"index": 15
},
"y": {
"index": 12
}
},
"name": "054c-0268-Sony PLAYSTATION(R)3 Controller Firefox Linux",
"supported": [
{
"browser": "Firefox",
"id": "054c-0268-Sony PLAYSTATION(R)3 Controller",
"os": "Linux"
}
]
}

View file

@ -0,0 +1,123 @@
{
"axes": {
"dpad x": {
"buttonPositive": 15,
"buttonNegative": 14
},
"dpad y": {
"buttonPositive": 13,
"buttonNegative": 12
},
"left stick x": {
"index": 0
},
"left stick y": {
"index": 1
},
"left trigger": {
"buttonPositive": 6
},
"right stick x": {
"index": 2
},
"right stick y": {
"index": 3
},
"right trigger": {
"buttonPositive": 7
}
},
"buttons": {
"a": {
"index": 0
},
"b": {
"index": 1
},
"back": {
"index": 8
},
"dpad down": {
"index": 13
},
"dpad left": {
"index": 14
},
"dpad right": {
"index": 15
},
"dpad up": {
"index": 12
},
"home": {
"index": 16
},
"left shoulder": {
"index": 4
},
"left stick": {
"index": 10
},
"left stick down": {
"axis": 1,
"direction": 1
},
"left stick left": {
"axis": 0,
"direction": -1
},
"left stick right": {
"axis": 0,
"direction": 1
},
"left stick up": {
"axis": 1,
"direction": -1
},
"left trigger": {
"index": 6
},
"right shoulder": {
"index": 5
},
"right stick": {
"index": 11
},
"right stick down": {
"axis": 3,
"direction": 1
},
"right stick left": {
"axis": 2,
"direction": -1
},
"right stick right": {
"axis": 2,
"direction": 1
},
"right stick up": {
"axis": 3,
"direction": -1
},
"right trigger": {
"index": 7
},
"start": {
"index": 9
},
"x": {
"index": 2
},
"y": {
"index": 3
}
},
"name": "PS4 Chrome Linux",
"supported": [
{
"browser": "Chrome",
"id": "Sony Computer Entertainment Wireless Controller (STANDARD GAMEPAD Vendor: 054c Product: 05c4)",
"os": "Linux"
}
]
}

View file

@ -0,0 +1,123 @@
{
"axes": {
"dpad x": {
"index": 6
},
"dpad y": {
"index": 7
},
"left stick x": {
"index": 0
},
"left stick y": {
"index": 1
},
"right stick x": {
"index": 2
},
"right stick y": {
"index": 3
},
"right trigger": {
"index": 5
}
},
"buttons": {
"a": {
"index": 0
},
"b": {
"index": 1
},
"back": {
"index": 8
},
"dpad down": {
"index": 13
},
"dpad left": {
"index": 14
},
"dpad right": {
"index": 15
},
"dpad up": {
"index": 12
},
"home": {
"index": 16
},
"left shoulder": {
"index": 4
},
"left stick": {
"index": 10
},
"left stick down": {
"axis": 1,
"direction": 1
},
"left stick left": {
"axis": 0,
"direction": -1
},
"left stick right": {
"axis": 0,
"direction": 1
},
"left stick up": {
"axis": 1,
"direction": -1
},
"left trigger": {
"index": 6
},
"right shoulder": {
"index": 5
},
"right stick": {
"index": 11
},
"right stick down": {
"axis": 3,
"direction": 1
},
"right stick left": {
"axis": 2,
"direction": -1
},
"right stick right": {
"axis": 2,
"direction": 1
},
"right stick up": {
"axis": 3,
"direction": -1
},
"right trigger": {
"index": 7
},
"start": {
"index": 9
},
"x": {
"index": 2
},
"y": {
"index": 3
}
},
"name": "PS4 Chrome Windows/OSX",
"supported": [
{
"browser": "Chrome",
"id": "Wireless Controller (STANDARD GAMEPAD Vendor: 054c Product: 05c4)",
"os": "Windows NT"
},
{
"browser": "Chrome",
"id": "Wireless Controller (STANDARD GAMEPAD Vendor: 054c Product: 05c4)",
"os": "Mac OS X"
}
]
}

View file

@ -0,0 +1,125 @@
{
"axes": {
"dpad x": {
"index": 6
},
"dpad y": {
"index": 7
},
"left stick x": {
"index": 0
},
"left stick y": {
"index": 1
},
"left trigger": {
"index": 3
},
"right stick x": {
"index": 2
},
"right stick y": {
"index": 5
},
"right trigger": {
"index": 4
}
},
"buttons": {
"a": {
"index": 1
},
"b": {
"index": 2
},
"back": {
"index": 8
},
"dpad down": {
"axis": 7,
"direction": 1
},
"dpad left": {
"axis": 6,
"direction": -1
},
"dpad right": {
"axis": 6,
"direction": 1
},
"dpad up": {
"axis": 7,
"direction": -1
},
"home": {
"index": 12
},
"left shoulder": {
"index": 4
},
"left stick": {
"index": 10
},
"left stick down": {
"axis": 1,
"direction": 1
},
"left stick left": {
"axis": 0,
"direction": -1
},
"left stick right": {
"axis": 0,
"direction": 1
},
"left stick up": {
"axis": 1,
"direction": -1
},
"left trigger": {
"index": 6
},
"right shoulder": {
"index": 5
},
"right stick": {
"index": 11
},
"right stick down": {
"axis": 5,
"direction": 1
},
"right stick left": {
"axis": 2,
"direction": -1
},
"right stick right": {
"axis": 2,
"direction": 1
},
"right stick up": {
"axis": 5,
"direction": -1
},
"right trigger": {
"index": 7
},
"start": {
"index": 9
},
"x": {
"index": 0
},
"y": {
"index": 3
}
},
"name": "PS4 Firefox Linux",
"supported": [
{
"browser": "Firefox",
"id": "054c-05c4-Sony Computer Entertainment Wireless Controller",
"os": "Linux"
}
]
}

View file

@ -0,0 +1,115 @@
{
"axes": {
"dpad x": {
"index": 6
},
"dpad y": {
"index": 7
},
"left stick x": {
"index": 0
},
"left stick y": {
"index": 1
},
"right stick x": {
"index": 2
},
"right stick y": {
"index": 5
}
},
"buttons": {
"a": {
"index": 0
},
"b": {
"index": 1
},
"back": {
"index": 8
},
"dpad down": {
"index": 15
},
"dpad left": {
"index": 16
},
"dpad right": {
"index": 17
},
"dpad up": {
"index": 14
},
"home": {
"index": 12
},
"left shoulder": {
"index": 4
},
"left stick": {
"index": 10
},
"left stick down": {
"axis": 1,
"direction": 1
},
"left stick left": {
"axis": 0,
"direction": -1
},
"left stick right": {
"axis": 0,
"direction": 1
},
"left stick up": {
"axis": 1,
"direction": -1
},
"left trigger": {
"index": 6
},
"right shoulder": {
"index": 5
},
"right stick": {
"index": 11
},
"right stick down": {
"axis": 5,
"direction": 1
},
"right stick left": {
"axis": 2,
"direction": -1
},
"right stick right": {
"axis": 2,
"direction": 1
},
"right stick up": {
"axis": 5,
"direction": -1
},
"right trigger": {
"index": 7
},
"start": {
"index": 9
},
"x": {
"index": 2
},
"y": {
"index": 3
}
},
"name": "PS4 Firefox OSX",
"supported": [
{
"browser": "Firefox",
"id": "54c-5c4-Wireless Controller",
"os": "Mac OS X"
}
]
}

View file

@ -0,0 +1,127 @@
{
"axes": {
"dpad x": {
"index": 6
},
"dpad y": {
"index": 7
},
"left stick x": {
"index": 0
},
"left stick y": {
"index": 1
},
"left trigger": {
"index": 2
},
"right stick x": {
"index": 3
},
"right stick y": {
"index": 4
},
"right trigger": {
"index": 5
}
},
"buttons": {
"a": {
"index": 0
},
"b": {
"index": 1
},
"back": {
"index": 6
},
"dpad down": {
"axis": 7,
"direction": 1
},
"dpad left": {
"axis": 6,
"direction": -1
},
"dpad right": {
"axis": 6,
"direction": 1
},
"dpad up": {
"axis": 7,
"direction": -1
},
"home": {
"index": 8
},
"left shoulder": {
"index": 4
},
"left stick": {
"index": 9
},
"left stick down": {
"axis": 1,
"direction": 1
},
"left stick left": {
"axis": 0,
"direction": -1
},
"left stick right": {
"axis": 0,
"direction": 1
},
"left stick up": {
"axis": 1,
"direction": -1
},
"left trigger": {
"axis": 2,
"direction": 1
},
"right shoulder": {
"index": 5
},
"right stick": {
"index": 10
},
"right stick down": {
"axis": 4,
"direction": 1
},
"right stick left": {
"axis": 3,
"direction": -1
},
"right stick right": {
"axis": 3,
"direction": 1
},
"right stick up": {
"axis": 4,
"direction": -1
},
"right trigger": {
"axis": 5,
"direction": 1
},
"start": {
"index": 7
},
"x": {
"index": 2
},
"y": {
"index": 3
}
},
"name": "XBone Chrome Linux",
"supported": [
{
"browser": "Chrome",
"id": "Microsoft Controller (Vendor: 045e Product: 02d1)",
"os": "Linux"
}
]
}

View file

@ -0,0 +1,114 @@
{
"axes": {
"left stick x": {
"index": 0
},
"left stick y": {
"index": 1
},
"right stick x": {
"index": 2
},
"right stick y": {
"index": 3
}
},
"buttons": {
"a": {
"index": 0
},
"b": {
"index": 1
},
"back": {
"index": 8
},
"dpad down": {
"index": 13
},
"dpad left": {
"index": 14
},
"dpad right": {
"index": 15
},
"dpad up": {
"index": 12
},
"home": {
"index": 16
},
"left shoulder": {
"index": 4
},
"left stick": {
"index": 10
},
"left stick down": {
"axis": 1,
"direction": 1
},
"left stick left": {
"axis": 0,
"direction": -1
},
"left stick right": {
"axis": 0,
"direction": 1
},
"left stick up": {
"axis": 1,
"direction": -1
},
"left trigger": {
"index": 6
},
"right shoulder": {
"index": 5
},
"right stick": {
"index": 11
},
"right stick down": {
"axis": 3,
"direction": 1
},
"right stick left": {
"axis": 2,
"direction": -1
},
"right stick right": {
"axis": 2,
"direction": 1
},
"right stick up": {
"axis": 3,
"direction": -1
},
"right trigger": {
"index": 7
},
"start": {
"index": 9
},
"x": {
"index": 2
},
"y": {
"index": 3
}
},
"name": "Xbox One Chrome OSX Linux",
"supported": [
{
"browser": "Chrome",
"id": "©Microsoft Corporation Controller (STANDARD GAMEPAD Vendor: 045e Product: 028e)",
"os": "Linux"
},
{
"browser": "Chrome",
"id": "Xbox One Controller (STANDARD GAMEPAD Vendor: 02d1 Product: 045e)",
"os": "Mac OS X"
}
]
}

View file

@ -0,0 +1,127 @@
{
"axes": {
"dpad x": {
"index": 6
},
"dpad y": {
"index": 7
},
"left stick x": {
"index": 0
},
"left stick y": {
"index": 1
},
"left trigger": {
"index": 2
},
"right stick x": {
"index": 3
},
"right stick y": {
"index": 4
},
"right trigger": {
"index": 5
}
},
"buttons": {
"a": {
"index": 0
},
"b": {
"index": 1
},
"back": {
"index": 6
},
"dpad down": {
"axis": 7,
"direction": 1
},
"dpad left": {
"axis": 6,
"direction": -1
},
"dpad right": {
"axis": 6,
"direction": 1
},
"dpad up": {
"axis": 7,
"direction": -1
},
"home": {
"index": 8
},
"left shoulder": {
"index": 4
},
"left stick": {
"index": 9
},
"left stick down": {
"axis": 1,
"direction": 1
},
"left stick left": {
"axis": 0,
"direction": -1
},
"left stick right": {
"axis": 0,
"direction": 1
},
"left stick up": {
"axis": 1,
"direction": -1
},
"left trigger": {
"axis": 2,
"direction": 1
},
"right shoulder": {
"index": 5
},
"right stick": {
"index": 10
},
"right stick down": {
"axis": 4,
"direction": 1
},
"right stick left": {
"axis": 3,
"direction": -1
},
"right stick right": {
"axis": 3,
"direction": 1
},
"right stick up": {
"axis": 4,
"direction": -1
},
"right trigger": {
"axis": 5,
"direction": 1
},
"start": {
"index": 7
},
"x": {
"index": 2
},
"y": {
"index": 3
}
},
"name": "Xbone Firefox Linux",
"supported": [
{
"browser": "Firefox",
"id": "045e-02d1-Microsoft X-Box One pad",
"os": "Linux"
}
]
}

View file

@ -0,0 +1,123 @@
{
"axes": {
"dpad x": {
"index": 6
},
"dpad y": {
"index": 7
},
"left stick x": {
"index": 0
},
"left stick y": {
"index": 1
},
"right stick x": {
"index": 2
},
"right stick y": {
"index": 3
},
"right trigger": {
"index": 5
}
},
"buttons": {
"a": {
"index": 0
},
"b": {
"index": 1
},
"back": {
"index": 8
},
"dpad down": {
"index": 13
},
"dpad left": {
"index": 14
},
"dpad right": {
"index": 15
},
"dpad up": {
"index": 12
},
"home": {
"index": 16
},
"left shoulder": {
"index": 4
},
"left stick": {
"index": 10
},
"left stick down": {
"axis": 1,
"direction": 1
},
"left stick left": {
"axis": 0,
"direction": -1
},
"left stick right": {
"axis": 0,
"direction": 1
},
"left stick up": {
"axis": 1,
"direction": -1
},
"left trigger": {
"index": 6
},
"right shoulder": {
"index": 5
},
"right stick": {
"index": 11
},
"right stick down": {
"axis": 3,
"direction": 1
},
"right stick left": {
"axis": 2,
"direction": -1
},
"right stick right": {
"axis": 2,
"direction": 1
},
"right stick up": {
"axis": 3,
"direction": -1
},
"right trigger": {
"index": 7
},
"start": {
"index": 9
},
"x": {
"index": 2
},
"y": {
"index": 3
}
},
"name": "Xbox 360 Chrome Windows/OSX",
"supported": [
{
"browser": "Chrome",
"id": "Xbox 360 Controller (STANDARD GAMEPAD Vendor: 028e Product: 045e)",
"os": "Mac OS X"
},
{
"browser": "Chrome",
"id": "Xbox 360 Controller (XInput STANDARD GAMEPAD)",
"os": "Windows NT"
}
]
}

View file

@ -0,0 +1,127 @@
{
"axes": {
"dpad x": {
"index": 6
},
"dpad y": {
"index": 7
},
"left stick x": {
"index": 0
},
"left stick y": {
"index": 1
},
"left trigger": {
"index": 2
},
"right stick x": {
"index": 3
},
"right stick y": {
"index": 4
},
"right trigger": {
"index": 5
}
},
"buttons": {
"a": {
"index": 0
},
"b": {
"index": 1
},
"back": {
"index": 6
},
"dpad down": {
"axis": 7,
"direction": 1
},
"dpad left": {
"axis": 6,
"direction": -1
},
"dpad right": {
"axis": 6,
"direction": 1
},
"dpad up": {
"axis": 7,
"direction": -1
},
"home": {
"index": 8
},
"left shoulder": {
"index": 4
},
"left stick": {
"index": 9
},
"left stick down": {
"axis": 1,
"direction": 1
},
"left stick left": {
"axis": 0,
"direction": -1
},
"left stick right": {
"axis": 0,
"direction": 1
},
"left stick up": {
"axis": 1,
"direction": -1
},
"left trigger": {
"axis": 2,
"direction": 1
},
"right shoulder": {
"index": 5
},
"right stick": {
"index": 10
},
"right stick down": {
"axis": 4,
"direction": 1
},
"right stick left": {
"axis": 3,
"direction": -1
},
"right stick right": {
"axis": 3,
"direction": 1
},
"right stick up": {
"axis": 4,
"direction": -1
},
"right trigger": {
"axis": 5,
"direction": 1
},
"start": {
"index": 7
},
"x": {
"index": 2
},
"y": {
"index": 3
}
},
"name": "Xbox 360 Firefox Linux",
"supported": [
{
"browser": "Firefox",
"id": "045e-028e-Microsoft X-Box 360 pad",
"os": "Linux"
}
]
}

View file

@ -0,0 +1,115 @@
{
"axes": {
"dpad x": {
"index": 6
},
"dpad y": {
"index": 7
},
"left stick x": {
"index": 0
},
"left stick y": {
"index": 1
},
"right stick x": {
"index": 2
},
"right stick y": {
"index": 3
},
"right trigger": {
"index": 5
}
},
"buttons": {
"a": {
"index": 0
},
"b": {
"index": 1
},
"back": {
"index": 8
},
"dpad down": {
"index": 13
},
"dpad left": {
"index": 14
},
"dpad right": {
"index": 15
},
"dpad up": {
"index": 12
},
"left shoulder": {
"index": 4
},
"left stick": {
"index": 10
},
"left stick down": {
"axis": 1,
"direction": 1
},
"left stick left": {
"axis": 0,
"direction": -1
},
"left stick right": {
"axis": 0,
"direction": 1
},
"left stick up": {
"axis": 1,
"direction": -1
},
"left trigger": {
"index": 6
},
"right shoulder": {
"index": 5
},
"right stick": {
"index": 11
},
"right stick down": {
"axis": 3,
"direction": 1
},
"right stick left": {
"axis": 2,
"direction": -1
},
"right stick right": {
"axis": 2,
"direction": 1
},
"right stick up": {
"axis": 3,
"direction": -1
},
"right trigger": {
"index": 7
},
"start": {
"index": 9
},
"x": {
"index": 2
},
"y": {
"index": 3
}
},
"name": "Xbox 360 FF Windows",
"supported": [
{
"browser": "Firefox",
"id": "xinput",
"os": "Windows NT"
}
]
}

353
yarn.lock Normal file
View file

@ -0,0 +1,353 @@
# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
# yarn lockfile v1
ansi-regex@^2.0.0:
version "2.1.1"
resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df"
ansi-styles@^2.2.1:
version "2.2.1"
resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe"
babel-code-frame@^6.26.0:
version "6.26.0"
resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b"
dependencies:
chalk "^1.1.3"
esutils "^2.0.2"
js-tokens "^3.0.2"
babel-core@^6, babel-core@^6.26.0:
version "6.26.0"
resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-6.26.0.tgz#af32f78b31a6fcef119c87b0fd8d9753f03a0bb8"
dependencies:
babel-code-frame "^6.26.0"
babel-generator "^6.26.0"
babel-helpers "^6.24.1"
babel-messages "^6.23.0"
babel-register "^6.26.0"
babel-runtime "^6.26.0"
babel-template "^6.26.0"
babel-traverse "^6.26.0"
babel-types "^6.26.0"
babylon "^6.18.0"
convert-source-map "^1.5.0"
debug "^2.6.8"
json5 "^0.5.1"
lodash "^4.17.4"
minimatch "^3.0.4"
path-is-absolute "^1.0.1"
private "^0.1.7"
slash "^1.0.0"
source-map "^0.5.6"
babel-generator@^6.26.0:
version "6.26.0"
resolved "https://registry.yarnpkg.com/babel-generator/-/babel-generator-6.26.0.tgz#ac1ae20070b79f6e3ca1d3269613053774f20dc5"
dependencies:
babel-messages "^6.23.0"
babel-runtime "^6.26.0"
babel-types "^6.26.0"
detect-indent "^4.0.0"
jsesc "^1.3.0"
lodash "^4.17.4"
source-map "^0.5.6"
trim-right "^1.0.1"
babel-helpers@^6.24.1:
version "6.24.1"
resolved "https://registry.yarnpkg.com/babel-helpers/-/babel-helpers-6.24.1.tgz#3471de9caec388e5c850e597e58a26ddf37602b2"
dependencies:
babel-runtime "^6.22.0"
babel-template "^6.24.1"
babel-messages@^6.23.0:
version "6.23.0"
resolved "https://registry.yarnpkg.com/babel-messages/-/babel-messages-6.23.0.tgz#f3cdf4703858035b2a2951c6ec5edf6c62f2630e"
dependencies:
babel-runtime "^6.22.0"
babel-register@^6.26.0:
version "6.26.0"
resolved "https://registry.yarnpkg.com/babel-register/-/babel-register-6.26.0.tgz#6ed021173e2fcb486d7acb45c6009a856f647071"
dependencies:
babel-core "^6.26.0"
babel-runtime "^6.26.0"
core-js "^2.5.0"
home-or-tmp "^2.0.0"
lodash "^4.17.4"
mkdirp "^0.5.1"
source-map-support "^0.4.15"
babel-runtime@^6.22.0, babel-runtime@^6.26.0:
version "6.26.0"
resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe"
dependencies:
core-js "^2.4.0"
regenerator-runtime "^0.11.0"
babel-template@^6.24.1, babel-template@^6.26.0:
version "6.26.0"
resolved "https://registry.yarnpkg.com/babel-template/-/babel-template-6.26.0.tgz#de03e2d16396b069f46dd9fff8521fb1a0e35e02"
dependencies:
babel-runtime "^6.26.0"
babel-traverse "^6.26.0"
babel-types "^6.26.0"
babylon "^6.18.0"
lodash "^4.17.4"
babel-traverse@^6.26.0:
version "6.26.0"
resolved "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.26.0.tgz#46a9cbd7edcc62c8e5c064e2d2d8d0f4035766ee"
dependencies:
babel-code-frame "^6.26.0"
babel-messages "^6.23.0"
babel-runtime "^6.26.0"
babel-types "^6.26.0"
babylon "^6.18.0"
debug "^2.6.8"
globals "^9.18.0"
invariant "^2.2.2"
lodash "^4.17.4"
babel-types@^6.26.0:
version "6.26.0"
resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.26.0.tgz#a3b073f94ab49eb6fa55cd65227a334380632497"
dependencies:
babel-runtime "^6.26.0"
esutils "^2.0.2"
lodash "^4.17.4"
to-fast-properties "^1.0.3"
babylon@^6.18.0:
version "6.18.0"
resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.18.0.tgz#af2f3b88fa6f5c1e4c634d1a0f8eac4f55b395e3"
balanced-match@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767"
brace-expansion@^1.1.7:
version "1.1.8"
resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.8.tgz#c07b211c7c952ec1f8efd51a77ef0d1d3990a292"
dependencies:
balanced-match "^1.0.0"
concat-map "0.0.1"
chalk@^1.1.3:
version "1.1.3"
resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98"
dependencies:
ansi-styles "^2.2.1"
escape-string-regexp "^1.0.2"
has-ansi "^2.0.0"
strip-ansi "^3.0.0"
supports-color "^2.0.0"
coffeescript@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/coffeescript/-/coffeescript-2.0.0.tgz#61bcc70989cc18a0aab6b3d8be110d2ec7743c9a"
optionalDependencies:
babel-core "^6"
concat-map@0.0.1:
version "0.0.1"
resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
convert-source-map@^1.5.0:
version "1.5.0"
resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.5.0.tgz#9acd70851c6d5dfdd93d9282e5edf94a03ff46b5"
core-js@^2.4.0, core-js@^2.5.0:
version "2.5.1"
resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.5.1.tgz#ae6874dc66937789b80754ff5428df66819ca50b"
debug@^2.6.8:
version "2.6.8"
resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.8.tgz#e731531ca2ede27d188222427da17821d68ff4fc"
dependencies:
ms "2.0.0"
detect-indent@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-4.0.0.tgz#f76d064352cdf43a1cb6ce619c4ee3a9475de208"
dependencies:
repeating "^2.0.0"
escape-string-regexp@^1.0.2:
version "1.0.5"
resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
esutils@^2.0.2:
version "2.0.2"
resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b"
fs.realpath@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
glob@^7.1.2:
version "7.1.2"
resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.2.tgz#c19c9df9a028702d678612384a6552404c636d15"
dependencies:
fs.realpath "^1.0.0"
inflight "^1.0.4"
inherits "2"
minimatch "^3.0.4"
once "^1.3.0"
path-is-absolute "^1.0.0"
globals@^9.18.0:
version "9.18.0"
resolved "https://registry.yarnpkg.com/globals/-/globals-9.18.0.tgz#aa3896b3e69b487f17e31ed2143d69a8e30c2d8a"
has-ansi@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91"
dependencies:
ansi-regex "^2.0.0"
home-or-tmp@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/home-or-tmp/-/home-or-tmp-2.0.0.tgz#e36c3f2d2cae7d746a857e38d18d5f32a7882db8"
dependencies:
os-homedir "^1.0.0"
os-tmpdir "^1.0.1"
inflight@^1.0.4:
version "1.0.6"
resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9"
dependencies:
once "^1.3.0"
wrappy "1"
inherits@2:
version "2.0.3"
resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de"
invariant@^2.2.2:
version "2.2.2"
resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.2.tgz#9e1f56ac0acdb6bf303306f338be3b204ae60360"
dependencies:
loose-envify "^1.0.0"
is-finite@^1.0.0:
version "1.0.2"
resolved "https://registry.yarnpkg.com/is-finite/-/is-finite-1.0.2.tgz#cc6677695602be550ef11e8b4aa6305342b6d0aa"
dependencies:
number-is-nan "^1.0.0"
js-tokens@^3.0.0, js-tokens@^3.0.2:
version "3.0.2"
resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b"
jsesc@^1.3.0:
version "1.3.0"
resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-1.3.0.tgz#46c3fec8c1892b12b0833db9bc7622176dbab34b"
json5@^0.5.1:
version "0.5.1"
resolved "https://registry.yarnpkg.com/json5/-/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821"
lodash@^4.17.4:
version "4.17.4"
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae"
loose-envify@^1.0.0:
version "1.3.1"
resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.3.1.tgz#d1a8ad33fa9ce0e713d65fdd0ac8b748d478c848"
dependencies:
js-tokens "^3.0.0"
minimatch@^3.0.4:
version "3.0.4"
resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083"
dependencies:
brace-expansion "^1.1.7"
minimist@0.0.8:
version "0.0.8"
resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d"
mkdirp@^0.5.1:
version "0.5.1"
resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903"
dependencies:
minimist "0.0.8"
ms@2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8"
number-is-nan@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d"
once@^1.3.0:
version "1.4.0"
resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
dependencies:
wrappy "1"
os-homedir@^1.0.0:
version "1.0.2"
resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3"
os-tmpdir@^1.0.1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274"
path-is-absolute@^1.0.0, path-is-absolute@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"
private@^0.1.7:
version "0.1.7"
resolved "https://registry.yarnpkg.com/private/-/private-0.1.7.tgz#68ce5e8a1ef0a23bb570cc28537b5332aba63ef1"
regenerator-runtime@^0.11.0:
version "0.11.0"
resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.0.tgz#7e54fe5b5ccd5d6624ea6255c3473be090b802e1"
repeating@^2.0.0:
version "2.0.1"
resolved "https://registry.yarnpkg.com/repeating/-/repeating-2.0.1.tgz#5214c53a926d3552707527fbab415dbc08d06dda"
dependencies:
is-finite "^1.0.0"
slash@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55"
source-map-support@^0.4.15:
version "0.4.18"
resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.18.tgz#0286a6de8be42641338594e97ccea75f0a2c585f"
dependencies:
source-map "^0.5.6"
source-map@^0.5.6:
version "0.5.7"
resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc"
strip-ansi@^3.0.0:
version "3.0.1"
resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf"
dependencies:
ansi-regex "^2.0.0"
supports-color@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7"
to-fast-properties@^1.0.3:
version "1.0.3"
resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-1.0.3.tgz#b83571fa4d8c25b82e231b06e3a3055de4ca1a47"
trim-right@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003"
wrappy@1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"