diff --git a/index.html b/index.html
index 81b5fb1..2bdf5b8 100644
--- a/index.html
+++ b/index.html
@@ -488,62 +488,8 @@
-
-
-
- 0x76
-
-
- 0
-
-
-
-
-
-
-
- 73
-
-
-
-
-
-
-
-
-
- 0x69
-
-
-
-
-
-
- #ff0000
- #3333ff
-
-
- 28
-
-
-
-
- 15
-
-
-
-
-
-
-
-
- 0
-
-
-
-
-
-
+
diff --git a/index.js b/index.js
index 585c6a9..9231916 100644
--- a/index.js
+++ b/index.js
@@ -93,9 +93,6 @@ Blockly.Msg["UGJ_FOREACH_TITLE"] = "リスト %1 の各 %2 について %3 %4";
Blockly.Msg["UGJ_FOREACH_ITEM"] = "項目";
Blockly.Msg["UGJ_FOREACH_TOOLTIP"] = "リストの各項目について、その項目を変数「項目」としてステートメントを実行します。";
-Blockly.Msg["UGJ_DRAW_GRIDEYEDATA_TITLE"] = "赤外線アレイセンサ画像表示 %1 温度データ %2 温度範囲上限 %3 %4 温度範囲下限 %5 %6";
-Blockly.Msg["UGJ_DRAW_GRIDEYEDATA_TOOLTIP"] = "AMG8833の温度データを、画像としてキャンバスに描画します。「着色」をチェックすると、温度範囲で設定されている色をつけて表示します。";
-
Blockly.Msg["GPIO_OPEN_TITLE"] = "GPIO を使えるようにする";
Blockly.Msg["GPIO_OPEN_TOOLTIP"] = "GPIOを初期化して接続します。";
Blockly.Msg["GPIO_CLOSE_TITLE"] = "GPIO の後片付けをする";
@@ -143,38 +140,6 @@ Blockly.Msg["I2C_READ_DEVICE_TOOLTIP"] = "デバイスから指定したバイ
Blockly.Msg["I2C_WRITE_DEVICE_TITLE"] = "i2c デバイスに %1 を送信";
Blockly.Msg["I2C_WRITE_DEVICE_TOOLTIP"] = "i2c デバイスにデータを送信します。";
-Blockly.Msg["UGJ_BME280_TITLE"] = "BME280(アドレス %1 )から %2 %3 %4 を取得";
-Blockly.Msg["UGJ_BME280_TOOLTIP"] = "環境センサーBME280で、気温(摂氏)、湿度(%)、気圧(hPa)を計測し、それぞれを変数に代入します。";
-Blockly.Msg["UGJ_BME280_READ_TEMP"] = "気温";
-Blockly.Msg["UGJ_BME280_READ_HUM"] = "湿度";
-Blockly.Msg["UGJ_BME280_READ_PRES"] = "気圧";
-Blockly.Msg["UGJ_GESTURE_INIT_TITLE"] = "ジェスチャーセンサー(アドレス: %1 )を初期化";
-Blockly.Msg["UGJ_GESTURE_INIT_TOOLTIP"] = "PAJ7620 ジェスチャーセンサーを使用する準備をします。";
-Blockly.Msg["UGJ_GESTURE_READ_TITLE"] = "ジェスチャーの値";
-Blockly.Msg["UGJ_GESTURE_READ_TOOLTIP"] = "センサーから現在のジェスチャーの値(0〜9)を読み込みます";
-Blockly.Msg["UGJ_GESTURE_STOP_TITLE"] = "ジェスチャーセンサーから切断";
-Blockly.Msg["UGJ_GESTURE_STOP_TOOLTIP"] = "センサーとの接続を停止します。";
-Blockly.Msg["UGJ_GRIDEYE_INIT_TITLE"] = "赤外線アレイセンサ(アドレス: %1 )を初期化";
-Blockly.Msg["UGJ_GRIDEYE_INIT_TOOLTIP"] = "赤外線アレイセンサ AMG8833 の使用準備をします。";
-Blockly.Msg["UGJ_GRIDEYE_THERMISTOR_TITLE"] = "赤外線アレイセンサ本体温度";
-Blockly.Msg["UGJ_GRIDEYE_THERMISTOR_TOOLTIP"] = "AMG8833に内蔵されたサーミスタ(温度センサ)の値を取得します。";
-Blockly.Msg["UGJ_GRIDEYE_READ_TITLE"] = "赤外線アレイセンサの値";
-Blockly.Msg["UGJ_GRIDEYE_READ_TOOLTIP"] = "AMG8833から読み取った温度データを、8x8の配列で取得します。";
-Blockly.Msg["UGJ_GRIDEYE_STOP_TITLE"] = "赤外線アレイセンサから切断";
-Blockly.Msg["UGJ_GRIDEYE_STOP_TOOLTIP"] = "センサーとの接続を停止します。";
-Blockly.Msg["UGJ_GRIDEYE_CANVAS_CREATE_TITLE"] = "赤外線アレイセンサデータ表示キャンバスを作成";
-Blockly.Msg["UGJ_GRIDEYE_CANVAS_CREATE_TOOLTIP"] = "ディスプレイエリアにAMG8833データ表示用キャンバスを作成します。";
-Blockly.Msg["UGJ_TEACHABLE_MACHINE_TITLE"] = "TensorFlow.jsによる画像分類器の準備";
-Blockly.Msg["UGJ_TEACHABLE_MACHINE_TOOLTIP"] = "TensorFlow.jsにMobileNet, KNN Classifierを読み込んで、画像認識(分類)を行う準備をします。";
-Blockly.Msg["UGJ_GRIDEYE_PREDICT_CLASS_TITLE"] = "赤外線アレイセンサの画像で推論を行う";
-Blockly.Msg["UGJ_GRIDEYE_PREDICT_CLASS_TOOLTIP"] = "キャンバスに表示されたAMG8833の画像を元に画像分類の推論を行います。推論の結果として定義済みのラベルを返します。";
-Blockly.Msg["UGJ_GRIDEYE_ADD_EXAMPLE_TITLE"] = "赤外線アレイセンサの画像にラベル %1 をつけてデータセットへ追加";
-Blockly.Msg["UGJ_GRIDEYE_ADD_EXAMPLE_TOOLTIP"] = "キャンバスに表示されているAMG8833の画像にラベル(クラス名)をつけてデータセットへ追加します。";
-Blockly.Msg["UGJ_TENSORSET_STRINGIFY_TITLE"] = "学習したクラスデータセットを文字列に変換";
-Blockly.Msg["UGJ_TENSORSET_STRINGIFY_TOOLTIP"] = "学習したクラスデータセットを文字列に変換して保存します。";
-Blockly.Msg["UGJ_TENSORSET_PARSE_TITLE"] = "クラスデータ文字列 %1 を画像分類器にセット";
-Blockly.Msg["UGJ_TENSORSET_PARSE_TOOLTIP"] = "JSONテキストをパースして画像分類器に戻します。";
-
Blockly.Msg["UGJ_CODECHAR_TITLE"] = "コード %1 の文字";
Blockly.Msg["UGJ_CODECHAR_TOOLTIP"] = "文字コードを文字に変換します。";
Blockly.Msg["UGJ_CHARCODE_TITLE"] = "%1 の文字コード";
@@ -670,3 +635,27 @@ window.onbeforeunload = () => {
elutil.cleanupGPIO();
}
+// センサーブロック
+// ブロックデータ格納ディレクトリのリスト
+const allDirents = elutil.fs.readdirSync(elutil.blocks_sensors_dir, { withFileTypes: true });
+const blocks_list = allDirents.filter(dirent => dirent.isDirectory()).map(({ name }) => name);
+// センサーカテゴリのインスタンス
+var category_sensors = workspace.getToolbox().getToolboxItemById('category_sensors');
+var flyout_contents = []; // フライアウトのjsonのリスト
+for (const sensor_dir of blocks_list) { //ディレクトリ巡り
+ if (sensor_dir.charAt(0) == '.') continue; //隠しディレクトリをスキップ
+ // フライアウトのjsonを取得してパース、リストに追加
+ let fname = elutil.path.join(elutil.blocks_sensors_dir, sensor_dir, 'index.json');
+ let json_text = elutil.fs.readFileSync(fname);
+ let obj = JSON.parse(json_text);
+ flyout_contents = flyout_contents.concat(obj);
+ // ブロック定義のスクリプト要素をbody要素の最後に追加
+ fname = elutil.path.join(elutil.blocks_sensors_dir, sensor_dir, 'index.js');
+ let script = document.createElement('script');
+ script.type = 'text/javascript';
+ script.src = fname;
+ document.body.appendChild(script);
+}
+// センサーカテゴリのフライアウトをアップデート
+category_sensors.updateFlyoutContents(flyout_contents);
+
diff --git a/index_elutil.js b/index_elutil.js
index 93dd0de..2e1bdd7 100644
--- a/index_elutil.js
+++ b/index_elutil.js
@@ -9,7 +9,8 @@ const ugj_const = {
mascot_defname: 'tamachee.png',
library_dirname: 'lib',
document_root: 'Documents',
- executable_path: '.local/lib/ocogeclub',
+ executable_path: '.ocogeclub/apps/',
+ blocks_sensors_dir: '.ocogeclub/sensors/',
localStorage_fname: 'ocoge.json',
error_ja_all: 'エラーが発生しました。\n『おこげ倶楽部』までお問い合わせください。',
pig: 'pigpio',
@@ -34,6 +35,7 @@ class elUtil {
this.doc_root = this.path.join(process.env["HOME"], ugj_const.document_root);
this.doc_current = this.path.join(process.env["HOME"], ugj_const.document_root);
this.executable_path = this.path.join(process.env["HOME"], ugj_const.executable_path);
+ this.blocks_sensors_dir = this.path.join(process.env["HOME"], ugj_const.blocks_sensors_dir);
}
// static init = async () => {
// return new elUtil(await elUtil.get_app_path());
@@ -214,8 +216,8 @@ class elUtil {
// GPIO 関連:リロードでGPIOをロックしたままハンドルを失うのを防ぐ
cleanupGPIO() {
require('@ocogeclub/' + this.gpio_backend).close_all_handle();
- require('@ocogeclub/paj7620').stop();
- require('@ocogeclub/amg8833').stop();
+ // require('@ocogeclub/paj7620').stop();
+ // require('@ocogeclub/amg8833').stop();
}
// 設定(保存ファイルパスと未保存フラグ)をローカルストレージに保存
diff --git a/local_modules/@ocogeclub/amg8833/AMG8833.js b/local_modules/@ocogeclub/amg8833/AMG8833.js
deleted file mode 100644
index 406cc3f..0000000
--- a/local_modules/@ocogeclub/amg8833/AMG8833.js
+++ /dev/null
@@ -1,46 +0,0 @@
-'use strict';
-
-const pig = require('@ocogeclub/pigpio');
-
-let pi = -1;
-let i2c_hand = -1;
-exports.init = async (i2c_bus, i2c_addr) => {
- if (pi < 0) pi = await pig._pigpio_start('', '');
- if (i2c_hand < 0) await pig._i2c_close(pi, i2c_hand);
- i2c_hand = await pig._i2c_open(pi, i2c_bus, i2c_addr);
- await pig._i2c_write_byte_data(pi, i2c_hand, 0x00, 0x00); //Normal mode
- await pig._i2c_write_byte_data(pi, i2c_hand, 0x02, 0x00); //10FPS
-}
-
-exports.read_thermistor = async () => {
- let temp = await pig._i2c_read_word_data(pi, i2c_hand, 0x0e);
- return temp * 0.0625;
-}
-
-exports.read_temp_array = async () => {
- let linedata = [];
- for (let i = 0; i < 8; i++) {
- let data = await pig._i2c_read_i2c_block_data(pi, i2c_hand, 0x80 + 0x10 * i, 16);
- let oneline = [];
- for (let j = 0; j < 8; j++) {
- oneline.push(((data[2 * j + 1] & 0x07) * 256 + data[2 * j]) * 0.25);
- }
- linedata.push(oneline);
- }
- return linedata;
-}
-
-exports.stop = async () => {
- if (i2c_hand >= 0) {
- await pig._i2c_close(pi, i2c_hand);
- i2c_hand = -1;
- }
- if (pi >= 0) {
- await pig._pigpio_stop(pi);
- pi = -1;
- }
-}
-
-/*
-* This code was ported from https://www.denshi.club/pc/raspi/5raspberry-pi-zeroiot381i2c-amg8833.html
-*/
\ No newline at end of file
diff --git a/local_modules/@ocogeclub/amg8833/package.json b/local_modules/@ocogeclub/amg8833/package.json
deleted file mode 100644
index 750f0af..0000000
--- a/local_modules/@ocogeclub/amg8833/package.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "name": "@ocogeclub/amg8833",
- "version": "0.0.1",
- "main": "AMG8833.js",
- "private": true,
- "license": "MIT",
- "dependencies": {
- "@ocogeclub/pigpio": "file:../pigpio"
- }
-}
\ No newline at end of file
diff --git a/local_modules/@ocogeclub/bme280/BME280.js b/local_modules/@ocogeclub/bme280/BME280.js
deleted file mode 100644
index 0a186a1..0000000
--- a/local_modules/@ocogeclub/bme280/BME280.js
+++ /dev/null
@@ -1,291 +0,0 @@
-'use strict';
-
-this.pig = null;
-this.pi = null;
-
-this.i2cBusNo = null;
-this.i2cAddress = null;
-this.i2cHand = null;
-
-this.I2C_ADDRESS_B = 0x76;
-this.I2C_ADDRESS_A = 0x77;
-this.CHIP_ID = 0x58;
-
-this.REGISTER_DIG_T1 = 0x88;
-this.REGISTER_DIG_T2 = 0x8A;
-this.REGISTER_DIG_T3 = 0x8C;
-
-this.REGISTER_DIG_P1 = 0x8E;
-this.REGISTER_DIG_P2 = 0x90;
-this.REGISTER_DIG_P3 = 0x92;
-this.REGISTER_DIG_P4 = 0x94;
-this.REGISTER_DIG_P5 = 0x96;
-this.REGISTER_DIG_P6 = 0x98;
-this.REGISTER_DIG_P7 = 0x9A;
-this.REGISTER_DIG_P8 = 0x9C;
-this.REGISTER_DIG_P9 = 0x9E;
-
-this.REGISTER_DIG_H1 = 0xA1;
-this.REGISTER_DIG_H2 = 0xE1;
-this.REGISTER_DIG_H3 = 0xE3;
-this.REGISTER_DIG_H4 = 0xE4;
-this.REGISTER_DIG_H5 = 0xE5;
-this.REGISTER_DIG_H6 = 0xE7;
-
-this.REGISTER_CHIPID = 0xD0;
-this.REGISTER_RESET = 0xE0;
-
-this.REGISTER_CONTROL_HUM = 0xF2;
-this.REGISTER_CONTROL = 0xF4;
-this.REGISTER_PRESSURE_DATA = 0xF7;
-this.REGISTER_TEMP_DATA = 0xFA;
-this.REGISTER_HUMIDITY_DATA = 0xFD;
-
-exports.init = async (options) => {
- this.pig = require('@ocogeclub/pigpio')
- // console.log('pig= ' + this.pig)
- this.pi = await this.pig._pigpio_start('', '');
- // console.log('pi= ' + this.pi)
- // this.pi = require('@ocogeclub/lgpio');
-
- this.i2cBusNo = (options && options.hasOwnProperty('i2cBusNo')) ? options.i2cBusNo : 1;
- this.i2cAddress = (options && options.hasOwnProperty('i2cAddress')) ? options.i2cAddress : this.BME280_DEFAULT_I2C_ADDRESS();
- this.i2cHand = await this.pig._i2c_open(this.pi, this.i2cBusNo, this.i2cAddress);
- // console.log('i2cHand= ' + this.i2cHand)
- // this.i2cHand = this.pi._i2c_open(this.i2cBusNo, this.i2cAddress);
-
- let r;
- r = await this.pig._i2c_write_byte_data(this.pi, this.i2cHand, this.REGISTER_CHIPID, 0);
- // r = this.pi._i2c_write_byte_data(this.i2cHand, this.REGISTER_CHIPID, 0);
- if (r < 0) return r;
- let chipId = await this.pig._i2c_read_byte_data(this.pi, this.i2cHand, this.REGISTER_CHIPID);
- // let chipId = this.pi._i2c_read_byte_data(this.i2cHand, this.REGISTER_CHIPID);
- if (chipId !== this.CHIP_ID_BME280() &&
- chipId !== this.CHIP_ID1_BMP280() &&
- chipId !== this.CHIP_ID2_BMP280() &&
- chipId !== this.CHIP_ID3_BMP280()) {
- return `Unexpected BMx280 chip ID: 0x${chipId.toString(16).toUpperCase()}`;
- }
- // console.log(`Found BMx280 chip ID 0x${chipId.toString(16).toUpperCase()} on bus i2c-${this.i2cBusNo}, address 0x${this.i2cAddress.toString(16).toUpperCase()}`);
- await this.loadCalibration(async (err) => {
- if (err) {
- return err;
- }
- // Humidity 16x oversampling
- //
- let r = await this.pig._i2c_write_byte_data(this.pi, this.i2cHand, this.REGISTER_CONTROL_HUM, 0b00000101);
- // let r = this.pi._i2c_write_byte_data(this.i2cHand, this.REGISTER_CONTROL_HUM, 0b00000101);
- if (r < 0) return `Humidity 16x oversampling error: ${r}`;
- // Temperture/pressure 16x oversampling, normal mode
- //
- r = await this.pig._i2c_write_byte_data(this.pi, this.i2cHand, this.REGISTER_CONTROL, 0b10110111);
- // r = this.pi._i2c_write_byte_data(this.i2cHand, this.REGISTER_CONTROL, 0b10110111);
- if (r < 0) return `Temperture/pressure 16x oversampling error: ${r}`;
-
- return 0;
- });
-}
-
-// reset()
-//
-// Perform a power-on reset procedure. You will need to call init() following a reset()
-//
-exports.reset = async () => {
- const POWER_ON_RESET_CMD = 0xB6;
- let r = await this.pig._i2c_write_byte_data(this.pi, this.i2cHand, this.REGISTER_RESET, POWER_ON_RESET_CMD);
- // let r = this.pi._i2c_write_byte_data(this.i2cHand, this.REGISTER_RESET, POWER_ON_RESET_CMD);
- if (r < 0) return `cannot power-on reset: ${r}`;
- else return 0;
-}
-
-// cancel()
-//
-// Cancels the sensor and releases resources.
-//
-exports.cancel = async () => {
- if (this.i2cHand >= 0) {
- await this.pig._i2c_close(this.pi, this.i2cHand);
- // this.pi._i2c_close(this.i2cHand);
- this.i2cHand = null;
- await this.pig._pigpio_stop(this.pi);
- this.pi = null;
- }
-}
-
-exports.readSensorData = async () => {
- if (!this.cal) {
- return 'You must first call bme280.init()';
- }
-
- // Grab temperature, humidity, and pressure in a single read
- //
- let buffer = await this.pig._i2c_read_i2c_block_data(this.pi, this.i2cHand, this.REGISTER_PRESSURE_DATA, 8);
- // let buffer = this.pi._i2c_read_i2c_block_data(this.i2cHand, this.REGISTER_PRESSURE_DATA, 8);
- if (!buffer) return `couldn't grab data`;
- // Temperature (temperature first since we need t_fine for pressure and humidity)
- //
- let adc_T = this.uint20(buffer[3], buffer[4], buffer[5]);
- let tvar1 = ((((adc_T >> 3) - (this.cal.dig_T1 << 1))) * this.cal.dig_T2) >> 11;
- let tvar2 = (((((adc_T >> 4) - this.cal.dig_T1) * ((adc_T >> 4) - this.cal.dig_T1)) >> 12) * this.cal.dig_T3) >> 14;
- let t_fine = tvar1 + tvar2;
-
- let temperature_C = ((t_fine * 5 + 128) >> 8) / 100;
-
- // Pressure
- //
- let adc_P = this.uint20(buffer[0], buffer[1], buffer[2]);
- let pvar1 = t_fine / 2 - 64000;
- let pvar2 = pvar1 * pvar1 * this.cal.dig_P6 / 32768;
- pvar2 = pvar2 + pvar1 * this.cal.dig_P5 * 2;
- pvar2 = pvar2 / 4 + this.cal.dig_P4 * 65536;
- pvar1 = (this.cal.dig_P3 * pvar1 * pvar1 / 524288 + this.cal.dig_P2 * pvar1) / 524288;
- pvar1 = (1 + pvar1 / 32768) * this.cal.dig_P1;
-
- let pressure_hPa = 0;
-
- if (pvar1 !== 0) {
- let p = 1048576 - adc_P;
- p = ((p - pvar2 / 4096) * 6250) / pvar1;
- pvar1 = this.cal.dig_P9 * p * p / 2147483648;
- pvar2 = p * this.cal.dig_P8 / 32768;
- p = p + (pvar1 + pvar2 + this.cal.dig_P7) / 16;
-
- pressure_hPa = p / 100;
- }
-
- // Humidity (available on the BME280, will be zero on the BMP280 since it has no humidity sensor)
- //
- let adc_H = this.uint16(buffer[6], buffer[7]);
-
- let h = t_fine - 76800;
- h = (adc_H - (this.cal.dig_H4 * 64 + this.cal.dig_H5 / 16384 * h)) *
- (this.cal.dig_H2 / 65536 * (1 + this.cal.dig_H6 / 67108864 * h * (1 + this.cal.dig_H3 / 67108864 * h)));
- h = h * (1 - this.cal.dig_H1 * h / 524288);
-
- let humidity = (h > 100) ? 100 : (h < 0 ? 0 : h);
-
- return {
- temperature_C: temperature_C,
- humidity: humidity,
- pressure_hPa: pressure_hPa
- };
-}
-
-exports.loadCalibration = async (callback) => {
- let buffer = await this.pig._i2c_read_i2c_block_data(this.pi, this.i2cHand, this.REGISTER_DIG_T1, 24);
- // let buffer = this.pi._i2c_read_i2c_block_data(this.i2cHand, this.REGISTER_DIG_T1, 24);
- // for (let i = 0; i < 24; i++) console.log(parseInt(buffer[i], 16));
- if (buffer) {
- let h1 = await this.pig._i2c_read_byte_data(this.pi, this.i2cHand, this.REGISTER_DIG_H1);
- let h2 = await this.pig._i2c_read_word_data(this.pi, this.i2cHand, this.REGISTER_DIG_H2);
- let h3 = await this.pig._i2c_read_byte_data(this.pi, this.i2cHand, this.REGISTER_DIG_H3);
- let h4 = await this.pig._i2c_read_byte_data(this.pi, this.i2cHand, this.REGISTER_DIG_H4);
- let h5 = await this.pig._i2c_read_byte_data(this.pi, this.i2cHand, this.REGISTER_DIG_H5);
- let h5_1 = await this.pig._i2c_read_byte_data(this.pi, this.i2cHand, this.REGISTER_DIG_H5 + 1);
- let h6 = await this.pig._i2c_read_byte_data(this.pi, this.i2cHand, this.REGISTER_DIG_H6);
- // let h1 = this.pi._i2c_read_byte_data(this.i2cHand, this.REGISTER_DIG_H1);
- // let h2 = this.pi._i2c_read_word_data(this.i2cHand, this.REGISTER_DIG_H2);
- // let h3 = this.pi._i2c_read_byte_data(this.i2cHand, this.REGISTER_DIG_H3);
- // let h4 = this.pi._i2c_read_byte_data(this.i2cHand, this.REGISTER_DIG_H4);
- // let h5 = this.pi._i2c_read_byte_data(this.i2cHand, this.REGISTER_DIG_H5);
- // let h5_1 = this.pi._i2c_read_byte_data(this.i2cHand, this.REGISTER_DIG_H5 + 1);
- // let h6 = this.pi._i2c_read_byte_data(this.i2cHand, this.REGISTER_DIG_H6);
-
- this.cal = {
- dig_T1: this.uint16(buffer[1], buffer[0]),
- dig_T2: this.int16(buffer[3], buffer[2]),
- dig_T3: this.int16(buffer[5], buffer[4]),
-
- dig_P1: this.uint16(buffer[7], buffer[6]),
- dig_P2: this.int16(buffer[9], buffer[8]),
- dig_P3: this.int16(buffer[11], buffer[10]),
- dig_P4: this.int16(buffer[13], buffer[12]),
- dig_P5: this.int16(buffer[15], buffer[14]),
- dig_P6: this.int16(buffer[17], buffer[16]),
- dig_P7: this.int16(buffer[19], buffer[18]),
- dig_P8: this.int16(buffer[21], buffer[20]),
- dig_P9: this.int16(buffer[23], buffer[22]),
-
- dig_H1: h1,
- dig_H2: h2,
- dig_H3: h3,
- dig_H4: (h4 << 4) | (h5 & 0xF),
- dig_H5: (h5_1 << 4) | (h5 >> 4),
- dig_H6: h6
- };
-
- // console.log('BME280 cal = ' + JSON.stringify(this.cal, null, 2));
- await callback();
- }
-}
-
-exports.BME280_DEFAULT_I2C_ADDRESS = () => {
- return 0x77;
-}
-
-exports.CHIP_ID1_BMP280 = () => {
- return 0x56;
-}
-
-exports.CHIP_ID2_BMP280 = () => {
- return 0x57;
-}
-
-exports.CHIP_ID3_BMP280 = () => {
- return 0x58;
-}
-
-exports.CHIP_ID_BME280 = () => {
- return 0x60;
-}
-
-exports.int16 = (msb, lsb) => {
- let val = this.uint16(msb, lsb);
- return val > 32767 ? (val - 65536) : val;
-}
-
-exports.uint16 = (msb, lsb) => {
- return msb << 8 | lsb;
-}
-
-exports.uint20 = (msb, lsb, xlsb) => {
- return ((msb << 8 | lsb) << 8 | xlsb) >> 4;
-}
-
-exports.convertCelciusToFahrenheit = (c) => {
- return c * 9 / 5 + 32;
-}
-
-exports.convertHectopascalToInchesOfMercury = (hPa) => {
- return hPa * 0.02952998751;
-}
-
-exports.convertMetersToFeet = (m) => {
- return m * 3.28084;
-}
-
-exports.calculateHeatIndexCelcius = (temperature_C, humidity) => {
- return -8.784695 + 1.61139411 * temperature_C + 2.33854900 * humidity +
- -0.14611605 * temperature_C * humidity + -0.01230809 * Math.pow(temperature_C, 2) +
- -0.01642482 * Math.pow(humidity, 2) + 0.00221173 * Math.pow(temperature_C, 2) * humidity +
- 0.00072546 * temperature_C * Math.pow(humidity, 2) +
- -0.00000358 * Math.pow(temperature_C, 2) * Math.pow(humidity, 2);
-}
-
-exports.calculateDewPointCelcius = (temperature_C, humidity) => {
- return 243.04 * (Math.log(humidity / 100.0) + ((17.625 * temperature_C) / (243.04 + temperature_C))) /
- (17.625 - Math.log(humidity / 100.0) - ((17.625 * temperature_C) / (243.04 + temperature_C)));
-}
-
-exports.calculateAltitudeMeters = (pressure_hPa, seaLevelPressure_hPa) => {
- if (!seaLevelPressure_hPa) {
- seaLevelPressure_hPa = 1013.25;
- }
-
- return (1.0 - Math.pow(pressure_hPa / seaLevelPressure_hPa, (1 / 5.2553))) * 145366.45 * 0.3048;
-}
-
-
-/*
- * This code was forked from skylarstein's bme280-sensor: https://github.com/skylarstein/bme280-sensor
- */
\ No newline at end of file
diff --git a/local_modules/@ocogeclub/bme280/package.json b/local_modules/@ocogeclub/bme280/package.json
deleted file mode 100644
index b3780a4..0000000
--- a/local_modules/@ocogeclub/bme280/package.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "name": "@ocogeclub/bme280",
- "version": "0.0.1",
- "main": "BME280.js",
- "private": true,
- "license": "MIT",
- "dependencies": {
- "@ocogeclub/pigpio": "file:../pigpio"
- }
-}
\ No newline at end of file
diff --git a/local_modules/@ocogeclub/paj7620/PAJ7620.js b/local_modules/@ocogeclub/paj7620/PAJ7620.js
deleted file mode 100644
index 5b8dffd..0000000
--- a/local_modules/@ocogeclub/paj7620/PAJ7620.js
+++ /dev/null
@@ -1,474 +0,0 @@
-"use strict";
-
-const pig = require('@ocogeclub/pigpio');
-
-const sleep = sec =>
- new Promise(r => setTimeout(r, sec * 1000));
-
-const GES_REACTION_TIME = .100; // default:0.5 // You can adjust the reaction time according to the actual circumstance.
-const GES_ENTRY_TIME = .050; // default:0.8 // When you want to recognize the Forward/Backward gestures, your gestures' reaction time must less than GES_ENTRY_TIME(0.8s).
-const GES_QUIT_TIME = 1.000;
-
-const BANK0 = 0;
-const BANK1 = 1;
-
-const PAJ7620_ADDR_BASE = 0x00;
-
-//REGISTER BANK SELECT
-const PAJ7620_REGITER_BANK_SEL = (PAJ7620_ADDR_BASE + 0xEF); //W
-
-//DEVICE ID
-// const PAJ7620_ID = 0x73;
-
-//REGISTER BANK 0
-const PAJ7620_ADDR_SUSPEND_CMD = (PAJ7620_ADDR_BASE + 0x3); //W
-const PAJ7620_ADDR_GES_PS_DET_MASK_0 = (PAJ7620_ADDR_BASE + 0x41); //RW
-const PAJ7620_ADDR_GES_PS_DET_MASK_1 = (PAJ7620_ADDR_BASE + 0x42); //RW
-const PAJ7620_ADDR_GES_PS_DET_FLAG_0 = (PAJ7620_ADDR_BASE + 0x43); //R
-const PAJ7620_ADDR_GES_PS_DET_FLAG_1 = (PAJ7620_ADDR_BASE + 0x44); //R
-const PAJ7620_ADDR_STATE_INDICATOR = (PAJ7620_ADDR_BASE + 0x45); //R
-const PAJ7620_ADDR_PS_HIGH_THRESHOLD = (PAJ7620_ADDR_BASE + 0x69); //RW
-const PAJ7620_ADDR_PS_LOW_THRESHOLD = (PAJ7620_ADDR_BASE + 0x6A); //RW
-const PAJ7620_ADDR_PS_APPROACH_STATE = (PAJ7620_ADDR_BASE + 0x6B); //R
-const PAJ7620_ADDR_PS_RAW_DATA = (PAJ7620_ADDR_BASE + 0x6C); //R
-
-//REGISTER BANK 1
-const PAJ7620_ADDR_PS_GAIN = (PAJ7620_ADDR_BASE + 0x44); //RW
-const PAJ7620_ADDR_IDLE_S1_STEP_0 = (PAJ7620_ADDR_BASE + 0x67); //RW
-const PAJ7620_ADDR_IDLE_S1_STEP_1 = (PAJ7620_ADDR_BASE + 0x68); //RW
-const PAJ7620_ADDR_IDLE_S2_STEP_0 = (PAJ7620_ADDR_BASE + 0x69); //RW
-const PAJ7620_ADDR_IDLE_S2_STEP_1 = (PAJ7620_ADDR_BASE + 0x6A); //RW
-const PAJ7620_ADDR_OP_TO_S1_STEP_0 = (PAJ7620_ADDR_BASE + 0x6B); //RW
-const PAJ7620_ADDR_OP_TO_S1_STEP_1 = (PAJ7620_ADDR_BASE + 0x6C); //RW
-const PAJ7620_ADDR_OP_TO_S2_STEP_0 = (PAJ7620_ADDR_BASE + 0x6D); //RW
-const PAJ7620_ADDR_OP_TO_S2_STEP_1 = (PAJ7620_ADDR_BASE + 0x6E); //RW
-const PAJ7620_ADDR_OPERATION_ENABLE = (PAJ7620_ADDR_BASE + 0x72); //RW
-
-//PAJ7620_REGITER_BANK_SEL
-const PAJ7620_BANK0 = 0;
-const PAJ7620_BANK1 = 1;
-
-//PAJ7620_ADDR_SUSPEND_CMD
-const PAJ7620_I2C_WAKEUP = 1;
-const PAJ7620_I2C_SUSPEND = 0;
-
-//PAJ7620_ADDR_OPERATION_ENABLE
-const PAJ7620_ENABLE = 1;
-const PAJ7620_DISABLE = 0;
-
-//ADC, delete
-const REG_ADDR_RESULT = 0x00;
-const REG_ADDR_ALERT = 0x01;
-const REG_ADDR_CONFIG = 0x02;
-const REG_ADDR_LIMITL = 0x03;
-const REG_ADDR_LIMITH = 0x04;
-const REG_ADDR_HYST = 0x05;
-const REG_ADDR_CONVL = 0x06;
-const REG_ADDR_CONVH = 0x07;
-
-const GES_RIGHT_FLAG = 1 << 0;
-const GES_LEFT_FLAG = 1 << 1;
-const GES_UP_FLAG = 1 << 2;
-const GES_DOWN_FLAG = 1 << 3;
-const GES_FORWARD_FLAG = 1 << 4;
-const GES_BACKWARD_FLAG = 1 << 5;
-const GES_CLOCKWISE_FLAG = 1 << 6;
-const GES_COUNT_CLOCKWISE_FLAG = 1 << 7;
-const GES_WAVE_FLAG = 1 << 0;
-
-//Gesture output
-exports.FORWARD = 1;
-exports.BACKWARD = 2;
-exports.RIGHT = 3;
-exports.LEFT = 4;
-exports.UP = 5;
-exports.DOWN = 6;
-exports.CLOCKWISE = 7;
-exports.ANTI_CLOCKWISE = 8;
-exports.WAVE = 9;
-
-//Initial register state
-const initRegisterArray = [
- [0xEF, 0x00],
- [0x32, 0x29],
- [0x33, 0x01],
- [0x34, 0x00],
- [0x35, 0x01],
- [0x36, 0x00],
- [0x37, 0x07],
- [0x38, 0x17],
- [0x39, 0x06],
- [0x3A, 0x12],
- [0x3F, 0x00],
- [0x40, 0x02],
- [0x41, 0xFF],
- [0x42, 0x01],
- [0x46, 0x2D],
- [0x47, 0x0F],
- [0x48, 0x3C],
- [0x49, 0x00],
- [0x4A, 0x1E],
- [0x4B, 0x00],
- [0x4C, 0x20],
- [0x4D, 0x00],
- [0x4E, 0x1A],
- [0x4F, 0x14],
- [0x50, 0x00],
- [0x51, 0x10],
- [0x52, 0x00],
- [0x5C, 0x02],
- [0x5D, 0x00],
- [0x5E, 0x10],
- [0x5F, 0x3F],
- [0x60, 0x27],
- [0x61, 0x28],
- [0x62, 0x00],
- [0x63, 0x03],
- [0x64, 0xF7],
- [0x65, 0x03],
- [0x66, 0xD9],
- [0x67, 0x03],
- [0x68, 0x01],
- [0x69, 0xC8],
- [0x6A, 0x40],
- [0x6D, 0x04],
- [0x6E, 0x00],
- [0x6F, 0x00],
- [0x70, 0x80],
- [0x71, 0x00],
- [0x72, 0x00],
- [0x73, 0x00],
- [0x74, 0xF0],
- [0x75, 0x00],
- [0x80, 0x42],
- [0x81, 0x44],
- [0x82, 0x04],
- [0x83, 0x20],
- [0x84, 0x20],
- [0x85, 0x00],
- [0x86, 0x10],
- [0x87, 0x00],
- [0x88, 0x05],
- [0x89, 0x18],
- [0x8A, 0x10],
- [0x8B, 0x01],
- [0x8C, 0x37],
- [0x8D, 0x00],
- [0x8E, 0xF0],
- [0x8F, 0x81],
- [0x90, 0x06],
- [0x91, 0x06],
- [0x92, 0x1E],
- [0x93, 0x0D],
- [0x94, 0x0A],
- [0x95, 0x0A],
- [0x96, 0x0C],
- [0x97, 0x05],
- [0x98, 0x0A],
- [0x99, 0x41],
- [0x9A, 0x14],
- [0x9B, 0x0A],
- [0x9C, 0x3F],
- [0x9D, 0x33],
- [0x9E, 0xAE],
- [0x9F, 0xF9],
- [0xA0, 0x48],
- [0xA1, 0x13],
- [0xA2, 0x10],
- [0xA3, 0x08],
- [0xA4, 0x30],
- [0xA5, 0x19],
- [0xA6, 0x10],
- [0xA7, 0x08],
- [0xA8, 0x24],
- [0xA9, 0x04],
- [0xAA, 0x1E],
- [0xAB, 0x1E],
- [0xCC, 0x19],
- [0xCD, 0x0B],
- [0xCE, 0x13],
- [0xCF, 0x64],
- [0xD0, 0x21],
- [0xD1, 0x0F],
- [0xD2, 0x88],
- [0xE0, 0x01],
- [0xE1, 0x04],
- [0xE2, 0x41],
- [0xE3, 0xD6],
- [0xE4, 0x00],
- [0xE5, 0x0C],
- [0xE6, 0x0A],
- [0xE7, 0x00],
- [0xE8, 0x00],
- [0xE9, 0x00],
- [0xEE, 0x07],
- [0xEF, 0x01],
- [0x00, 0x1E],
- [0x01, 0x1E],
- [0x02, 0x0F],
- [0x03, 0x10],
- [0x04, 0x02],
- [0x05, 0x00],
- [0x06, 0xB0],
- [0x07, 0x04],
- [0x08, 0x0D],
- [0x09, 0x0E],
- [0x0A, 0x9C],
- [0x0B, 0x04],
- [0x0C, 0x05],
- [0x0D, 0x0F],
- [0x0E, 0x02],
- [0x0F, 0x12],
- [0x10, 0x02],
- [0x11, 0x02],
- [0x12, 0x00],
- [0x13, 0x01],
- [0x14, 0x05],
- [0x15, 0x07],
- [0x16, 0x05],
- [0x17, 0x07],
- [0x18, 0x01],
- [0x19, 0x04],
- [0x1A, 0x05],
- [0x1B, 0x0C],
- [0x1C, 0x2A],
- [0x1D, 0x01],
- [0x1E, 0x00],
- [0x21, 0x00],
- [0x22, 0x00],
- [0x23, 0x00],
- [0x25, 0x01],
- [0x26, 0x00],
- [0x27, 0x39],
- [0x28, 0x7F],
- [0x29, 0x08],
- [0x30, 0x03],
- [0x31, 0x00],
- [0x32, 0x1A],
- [0x33, 0x1A],
- [0x34, 0x07],
- [0x35, 0x07],
- [0x36, 0x01],
- [0x37, 0xFF],
- [0x38, 0x36],
- [0x39, 0x07],
- [0x3A, 0x00],
- [0x3E, 0xFF],
- [0x3F, 0x00],
- [0x40, 0x77],
- [0x41, 0x40],
- [0x42, 0x00],
- [0x43, 0x30],
- [0x44, 0xA0],
- [0x45, 0x5C],
- [0x46, 0x00],
- [0x47, 0x00],
- [0x48, 0x58],
- [0x4A, 0x1E],
- [0x4B, 0x1E],
- [0x4C, 0x00],
- [0x4D, 0x00],
- [0x4E, 0xA0],
- [0x4F, 0x80],
- [0x50, 0x00],
- [0x51, 0x00],
- [0x52, 0x00],
- [0x53, 0x00],
- [0x54, 0x00],
- [0x57, 0x80],
- [0x59, 0x10],
- [0x5A, 0x08],
- [0x5B, 0x94],
- [0x5C, 0xE8],
- [0x5D, 0x08],
- [0x5E, 0x3D],
- [0x5F, 0x99],
- [0x60, 0x45],
- [0x61, 0x40],
- [0x63, 0x2D],
- [0x64, 0x02],
- [0x65, 0x96],
- [0x66, 0x00],
- [0x67, 0x97],
- [0x68, 0x01],
- [0x69, 0xCD],
- [0x6A, 0x01],
- [0x6B, 0xB0],
- [0x6C, 0x04],
- [0x6D, 0x2C],
- [0x6E, 0x01],
- [0x6F, 0x32],
- [0x71, 0x00],
- [0x72, 0x01],
- [0x73, 0x35],
- [0x74, 0x00],
- [0x75, 0x33],
- [0x76, 0x31],
- [0x77, 0x01],
- [0x7C, 0x84],
- [0x7D, 0x03],
- [0x7E, 0x01]
-];
-
-//Enable debug message
-const debug = 0;
-
-let pi = -1;
-let i2c_hand = -1;
-//Initialize the sensors
-exports.init = async (i2c_bus, i2c_addr) => {
- if (pi < 0) pi = await pig._pigpio_start('', '');
- if (i2c_hand < 0) await pig._i2c_close(pi, i2c_hand);
- i2c_hand = await pig._i2c_open(pi, i2c_bus, i2c_addr);
- if (debug)
- console.log("pi" + pi + "i2c_hand" + i2c_hand);
-
- await sleep(.001);
- await paj7620SelectBank(BANK0);
- await paj7620SelectBank(BANK0);
-
- let data0 = (await paj7620ReadReg(0, 1))[0];
- let data1 = (await paj7620ReadReg(1, 1))[0];
- if (debug)
- console.log("data0:" + data0 + ", data1:" + data1);
- if (data0 != 0x20) //or data1 <> 0x76
- console.log("Error with sensor");
- //return 0xff
- if (data0 == 0x20)
- console.log("wake-up finish.");
-
- for (let i = 0; i < initRegisterArray.length; i += 1)
- await paj7620WriteReg(initRegisterArray[i][0], initRegisterArray[i][1]);
-
- await paj7620SelectBank(BANK0);
-
- console.log("Paj7620 initialize register finished.");
-
-}
-
-// Write a byte to a register on the Gesture sensor
-const paj7620WriteReg = async (addr, cmd) =>
- await pig._i2c_write_word_data(pi, i2c_hand, addr, cmd);
-
-//Select a register bank on the Gesture Sensor
-const paj7620SelectBank = async bank => {
- if (bank == BANK0)
- await paj7620WriteReg(PAJ7620_REGITER_BANK_SEL, PAJ7620_BANK0);
-}
-
-//Read a block of bytes of length "qty" starting at address "addr" from the Gesture sensor
-const paj7620ReadReg = async (addr, qty) => {
- return await pig._i2c_read_i2c_block_data(pi, i2c_hand, addr, qty);
-}
-
-//Return a vlaue from the gestire sensor which can be used in a program
-// 0:nothing
-// 1:Forward
-// 2:Backward
-// 3:Right
-// 4:Left
-// 5:Up
-// 6:Down
-// 7:Clockwise
-// 8:anti-clockwise
-// 9:wave
-exports.return_gesture = async () => {
-
- let data = (await paj7620ReadReg(0x43, 1))[0];
- if (data == GES_RIGHT_FLAG) {
- await sleep(GES_ENTRY_TIME);
- data = (await paj7620ReadReg(0x43, 1))[0];
- if (data == GES_FORWARD_FLAG) {
- return 1;
- // await sleep(GES_QUIT_TIME);
- }
- else if (data == GES_BACKWARD_FLAG) {
- return 2;
- // await sleep(GES_QUIT_TIME);
- }
- else
- return 3;
- }
-
- else if (data == GES_LEFT_FLAG) {
- await sleep(GES_ENTRY_TIME);
- data = (await paj7620ReadReg(0x43, 1))[0];
- if (data == GES_FORWARD_FLAG) {
- return 1;
- // await sleep(GES_QUIT_TIME);
- }
- else if (data == GES_BACKWARD_FLAG) {
- return 2;
- // await sleep(GES_QUIT_TIME);
- }
- else
- return 4;
- }
-
- else if (data == GES_UP_FLAG) {
- await sleep(GES_ENTRY_TIME);
- data = (await paj7620ReadReg(0x43, 1))[0];
- if (data == GES_FORWARD_FLAG) {
- return 1;
- // await sleep(GES_QUIT_TIME);
- }
- else if (data == GES_BACKWARD_FLAG) {
- return 2;
- // await sleep(GES_QUIT_TIME);
- }
- else
- return 5;
- }
-
- else if (data == GES_DOWN_FLAG) {
- await sleep(GES_ENTRY_TIME);
- data = (await paj7620ReadReg(0x43, 1))[0];
- if (data == GES_FORWARD_FLAG) {
- return 1;
- // await sleep(GES_QUIT_TIME);
- }
- else if (data == GES_BACKWARD_FLAG) {
- return 2;
- // await sleep(GES_QUIT_TIME);
- }
- else
- return 6;
- }
- else if (data == GES_FORWARD_FLAG) {
- return 1;
- // await sleep(GES_QUIT_TIME);
- }
-
- else if (data == GES_BACKWARD_FLAG) {
- return 2;
- // await sleep(GES_QUIT_TIME);
- }
-
- else if (data == GES_CLOCKWISE_FLAG)
- return 7;
-
- else if (data == GES_COUNT_CLOCKWISE_FLAG)
- return 8;
-
- else {
- let data1 = (await paj7620ReadReg(0x44, 1))[0];
- if (data1 == GES_WAVE_FLAG)
- return 9;
- }
- return 0;
-}
-
-exports.stop = async () => {
- if (i2c_hand >= 0) {
- await pig._i2c_close(pi, i2c_hand);
- i2c_hand = -1;
- }
- if (pi >= 0) {
- await pig._pigpio_stop(pi);
- pi = -1;
- }
-}
-
-/*
- * This code was ported from "Grove - Gesture Sensor v1.0 Python library and examples": https://github.com/DexterInd/GrovePi/tree/master/Software/Python/grove_gesture_sensor
- */
\ No newline at end of file
diff --git a/local_modules/@ocogeclub/paj7620/package.json b/local_modules/@ocogeclub/paj7620/package.json
deleted file mode 100644
index 1021c5f..0000000
--- a/local_modules/@ocogeclub/paj7620/package.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "name": "@ocogeclub/paj7620",
- "version": "0.0.1",
- "main": "PAJ7620.js",
- "private": true,
- "license": "MIT",
- "dependencies": {
- "@ocogeclub/pigpio": "file:../pigpio"
- }
-}
\ No newline at end of file
diff --git a/package-lock.json b/package-lock.json
index 776fda4..05419b2 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -10,8 +10,6 @@
"license": "ISC",
"dependencies": {
"@ocogeclub/amg8833": "file:local_modules/@ocogeclub/amg8833",
- "@ocogeclub/bme280": "file:local_modules/@ocogeclub/bme280",
- "@ocogeclub/paj7620": "file:local_modules/@ocogeclub/paj7620",
"@ocogeclub/pigpio": "file:local_modules/@ocogeclub/pigpio",
"@tensorflow-models/blazeface": "^0.0.7",
"@tensorflow-models/knn-classifier": "^1.2.2",
@@ -27,7 +25,7 @@
"@electron-forge/cli": "^6.0.0-beta.63",
"@electron-forge/maker-deb": "^6.0.0-beta.63",
"@electron-forge/maker-rpm": "^6.0.0-beta.63",
- "@electron-forge/maker-squirrel": "^6.0.0-beta.33",
+ "@electron-forge/maker-squirrel": "6.0.0-beta.33",
"@electron-forge/maker-zip": "^6.0.0-beta.63",
"electron": "^17.0.0",
"electron-rebuild": "^3.2.7"
@@ -42,6 +40,7 @@
},
"local_modules/@ocogeclub/bme280": {
"version": "0.0.1",
+ "extraneous": true,
"license": "MIT",
"dependencies": {
"@ocogeclub/pigpio": "file:../pigpio"
@@ -49,6 +48,7 @@
},
"local_modules/@ocogeclub/paj7620": {
"version": "0.0.1",
+ "extraneous": true,
"license": "MIT",
"dependencies": {
"@ocogeclub/pigpio": "file:../pigpio"
@@ -56,7 +56,6 @@
},
"local_modules/@ocogeclub/pigpio": {
"version": "0.0.1",
- "hasInstallScript": true,
"license": "MIT",
"dependencies": {
"bindings": "^1.5.0",
@@ -328,20 +327,820 @@
}
},
"node_modules/@electron-forge/maker-squirrel": {
- "version": "6.0.0-beta.63",
- "resolved": "https://registry.npmjs.org/@electron-forge/maker-squirrel/-/maker-squirrel-6.0.0-beta.63.tgz",
- "integrity": "sha512-18eLRQmMZ6zBcI1Jhuqvhm50bmmatRCbyOUHTaIbhVf1M6ksq34xXXVWKUGlqDiCNLLLNzVw5MIb9O04eUdfIg==",
+ "version": "6.0.0-beta.33",
+ "resolved": "https://registry.npmjs.org/@electron-forge/maker-squirrel/-/maker-squirrel-6.0.0-beta.33.tgz",
+ "integrity": "sha512-ALrQvdS/docVfhkad5bUo03EF4D8XgLu0gmaEO9LPRtdD4KYjd/MgFpLpyT4Bzy28urZblETLbtwP1K9oTKIog==",
"dev": true,
"dependencies": {
- "@electron-forge/maker-base": "6.0.0-beta.63",
- "@electron-forge/shared-types": "6.0.0-beta.63",
- "fs-extra": "^10.0.0"
+ "@electron-forge/maker-base": "6.0.0-beta.33",
+ "@electron-forge/shared-types": "6.0.0-beta.33",
+ "fs-extra": "^7.0.0"
},
"engines": {
- "node": ">= 12.13.0"
+ "node": ">= 6.0"
},
"optionalDependencies": {
- "electron-winstaller": "^5.0.0"
+ "electron-winstaller": "^2.5.0"
+ }
+ },
+ "node_modules/@electron-forge/maker-squirrel/node_modules/@electron-forge/async-ora": {
+ "version": "6.0.0-beta.33",
+ "resolved": "https://registry.npmjs.org/@electron-forge/async-ora/-/async-ora-6.0.0-beta.33.tgz",
+ "integrity": "sha512-c/xNgoL96XNnBgDZepgWoRbWVKP/dyl0l+b30IlKr094HgC9T2bjLLiQgwQ1yDd+8pDZbYe2l6IhlyPveDEXGA==",
+ "dev": true,
+ "dependencies": {
+ "colors": "^1.2.0",
+ "debug": "^4.1.0",
+ "log-symbols": "^2.0.0",
+ "ora": "^3.0.0",
+ "pretty-ms": "^4.0.0"
+ },
+ "engines": {
+ "node": ">= 6.0"
+ }
+ },
+ "node_modules/@electron-forge/maker-squirrel/node_modules/@electron-forge/maker-base": {
+ "version": "6.0.0-beta.33",
+ "resolved": "https://registry.npmjs.org/@electron-forge/maker-base/-/maker-base-6.0.0-beta.33.tgz",
+ "integrity": "sha512-8PUuTPJ+G7JhCLj0W50wBx/m7Gp2ISBRZvPV7MkC+jJiX+XOiR1IfjWYYz/PXhyQW8JoCkgENfb6LpHip4pCTg==",
+ "dev": true,
+ "dependencies": {
+ "@electron-forge/shared-types": "6.0.0-beta.33",
+ "fs-extra": "^7.0.0"
+ },
+ "engines": {
+ "node": ">= 6.0"
+ }
+ },
+ "node_modules/@electron-forge/maker-squirrel/node_modules/@electron-forge/shared-types": {
+ "version": "6.0.0-beta.33",
+ "resolved": "https://registry.npmjs.org/@electron-forge/shared-types/-/shared-types-6.0.0-beta.33.tgz",
+ "integrity": "sha512-3nASnYKFt91w1FVi2dSJOfU3+4mBP2adoS1f1lvVcMlnuzx45QbGm35OdIZVX/pEgWSWgcIt6uoygV/NizIGqg==",
+ "dev": true,
+ "dependencies": {
+ "@electron-forge/async-ora": "6.0.0-beta.33",
+ "@types/electron-packager": "^13.0.0",
+ "electron-rebuild": "^1.6.0",
+ "ora": "^3.0.0"
+ },
+ "engines": {
+ "node": ">= 6.0"
+ }
+ },
+ "node_modules/@electron-forge/maker-squirrel/node_modules/ansi-regex": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
+ "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/@electron-forge/maker-squirrel/node_modules/ansi-styles": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
+ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
+ "dev": true,
+ "dependencies": {
+ "color-convert": "^1.9.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/@electron-forge/maker-squirrel/node_modules/aproba": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz",
+ "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==",
+ "dev": true
+ },
+ "node_modules/@electron-forge/maker-squirrel/node_modules/are-we-there-yet": {
+ "version": "1.1.7",
+ "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.7.tgz",
+ "integrity": "sha512-nxwy40TuMiUGqMyRHgCSWZ9FM4VAoRP4xUYSTv5ImRog+h9yISPbVH7H8fASCIzYn9wlEv4zvFL7uKDMCFQm3g==",
+ "dev": true,
+ "dependencies": {
+ "delegates": "^1.0.0",
+ "readable-stream": "^2.0.6"
+ }
+ },
+ "node_modules/@electron-forge/maker-squirrel/node_modules/camelcase": {
+ "version": "5.3.1",
+ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
+ "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
+ "dev": true,
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/@electron-forge/maker-squirrel/node_modules/chalk": {
+ "version": "2.4.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
+ "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
+ "dev": true,
+ "dependencies": {
+ "ansi-styles": "^3.2.1",
+ "escape-string-regexp": "^1.0.5",
+ "supports-color": "^5.3.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/@electron-forge/maker-squirrel/node_modules/chownr": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz",
+ "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==",
+ "dev": true
+ },
+ "node_modules/@electron-forge/maker-squirrel/node_modules/cli-cursor": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz",
+ "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=",
+ "dev": true,
+ "dependencies": {
+ "restore-cursor": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/@electron-forge/maker-squirrel/node_modules/cliui": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz",
+ "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==",
+ "dev": true,
+ "dependencies": {
+ "string-width": "^3.1.0",
+ "strip-ansi": "^5.2.0",
+ "wrap-ansi": "^5.1.0"
+ }
+ },
+ "node_modules/@electron-forge/maker-squirrel/node_modules/cliui/node_modules/ansi-regex": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
+ "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
+ "dev": true,
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/@electron-forge/maker-squirrel/node_modules/cliui/node_modules/is-fullwidth-code-point": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
+ "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
+ "dev": true,
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/@electron-forge/maker-squirrel/node_modules/cliui/node_modules/string-width": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
+ "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
+ "dev": true,
+ "dependencies": {
+ "emoji-regex": "^7.0.1",
+ "is-fullwidth-code-point": "^2.0.0",
+ "strip-ansi": "^5.1.0"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/@electron-forge/maker-squirrel/node_modules/cliui/node_modules/strip-ansi": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
+ "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
+ "dev": true,
+ "dependencies": {
+ "ansi-regex": "^4.1.0"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/@electron-forge/maker-squirrel/node_modules/color-convert": {
+ "version": "1.9.3",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
+ "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
+ "dev": true,
+ "dependencies": {
+ "color-name": "1.1.3"
+ }
+ },
+ "node_modules/@electron-forge/maker-squirrel/node_modules/color-name": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
+ "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
+ "dev": true
+ },
+ "node_modules/@electron-forge/maker-squirrel/node_modules/electron-rebuild": {
+ "version": "1.11.0",
+ "resolved": "https://registry.npmjs.org/electron-rebuild/-/electron-rebuild-1.11.0.tgz",
+ "integrity": "sha512-cn6AqZBQBVtaEyj5jZW1/LOezZZ22PA1HvhEP7asvYPJ8PDF4i4UFt9be4i9T7xJKiSiomXvY5Fd+dSq3FXZxA==",
+ "dev": true,
+ "dependencies": {
+ "colors": "^1.3.3",
+ "debug": "^4.1.1",
+ "detect-libc": "^1.0.3",
+ "fs-extra": "^8.1.0",
+ "node-abi": "^2.11.0",
+ "node-gyp": "^6.0.1",
+ "ora": "^3.4.0",
+ "spawn-rx": "^3.0.0",
+ "yargs": "^14.2.0"
+ },
+ "bin": {
+ "electron-rebuild": "lib/src/cli.js"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/@electron-forge/maker-squirrel/node_modules/electron-rebuild/node_modules/fs-extra": {
+ "version": "8.1.0",
+ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz",
+ "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==",
+ "dev": true,
+ "dependencies": {
+ "graceful-fs": "^4.2.0",
+ "jsonfile": "^4.0.0",
+ "universalify": "^0.1.0"
+ },
+ "engines": {
+ "node": ">=6 <7 || >=8"
+ }
+ },
+ "node_modules/@electron-forge/maker-squirrel/node_modules/emoji-regex": {
+ "version": "7.0.3",
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz",
+ "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==",
+ "dev": true
+ },
+ "node_modules/@electron-forge/maker-squirrel/node_modules/find-up": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz",
+ "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==",
+ "dev": true,
+ "dependencies": {
+ "locate-path": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/@electron-forge/maker-squirrel/node_modules/fs-extra": {
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz",
+ "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==",
+ "dev": true,
+ "dependencies": {
+ "graceful-fs": "^4.1.2",
+ "jsonfile": "^4.0.0",
+ "universalify": "^0.1.0"
+ },
+ "engines": {
+ "node": ">=6 <7 || >=8"
+ }
+ },
+ "node_modules/@electron-forge/maker-squirrel/node_modules/fs-minipass": {
+ "version": "1.2.7",
+ "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.7.tgz",
+ "integrity": "sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==",
+ "dev": true,
+ "dependencies": {
+ "minipass": "^2.6.0"
+ }
+ },
+ "node_modules/@electron-forge/maker-squirrel/node_modules/gauge": {
+ "version": "2.7.4",
+ "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz",
+ "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=",
+ "dev": true,
+ "dependencies": {
+ "aproba": "^1.0.3",
+ "console-control-strings": "^1.0.0",
+ "has-unicode": "^2.0.0",
+ "object-assign": "^4.1.0",
+ "signal-exit": "^3.0.0",
+ "string-width": "^1.0.1",
+ "strip-ansi": "^3.0.1",
+ "wide-align": "^1.1.0"
+ }
+ },
+ "node_modules/@electron-forge/maker-squirrel/node_modules/has-flag": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
+ "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
+ "dev": true,
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/@electron-forge/maker-squirrel/node_modules/is-fullwidth-code-point": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
+ "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
+ "dev": true,
+ "dependencies": {
+ "number-is-nan": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/@electron-forge/maker-squirrel/node_modules/jsonfile": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz",
+ "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=",
+ "dev": true,
+ "optionalDependencies": {
+ "graceful-fs": "^4.1.6"
+ }
+ },
+ "node_modules/@electron-forge/maker-squirrel/node_modules/locate-path": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz",
+ "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==",
+ "dev": true,
+ "dependencies": {
+ "p-locate": "^3.0.0",
+ "path-exists": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/@electron-forge/maker-squirrel/node_modules/log-symbols": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz",
+ "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==",
+ "dev": true,
+ "dependencies": {
+ "chalk": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/@electron-forge/maker-squirrel/node_modules/mimic-fn": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz",
+ "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/@electron-forge/maker-squirrel/node_modules/minipass": {
+ "version": "2.9.0",
+ "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.9.0.tgz",
+ "integrity": "sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==",
+ "dev": true,
+ "dependencies": {
+ "safe-buffer": "^5.1.2",
+ "yallist": "^3.0.0"
+ }
+ },
+ "node_modules/@electron-forge/maker-squirrel/node_modules/minizlib": {
+ "version": "1.3.3",
+ "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.3.3.tgz",
+ "integrity": "sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==",
+ "dev": true,
+ "dependencies": {
+ "minipass": "^2.9.0"
+ }
+ },
+ "node_modules/@electron-forge/maker-squirrel/node_modules/node-abi": {
+ "version": "2.30.1",
+ "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-2.30.1.tgz",
+ "integrity": "sha512-/2D0wOQPgaUWzVSVgRMx+trKJRC2UG4SUc4oCJoXx9Uxjtp0Vy3/kt7zcbxHF8+Z/pK3UloLWzBISg72brfy1w==",
+ "dev": true,
+ "dependencies": {
+ "semver": "^5.4.1"
+ }
+ },
+ "node_modules/@electron-forge/maker-squirrel/node_modules/node-gyp": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-6.1.0.tgz",
+ "integrity": "sha512-h4A2zDlOujeeaaTx06r4Vy+8MZ1679lU+wbCKDS4ZtvY2A37DESo37oejIw0mtmR3+rvNwts5B6Kpt1KrNYdNw==",
+ "dev": true,
+ "dependencies": {
+ "env-paths": "^2.2.0",
+ "glob": "^7.1.4",
+ "graceful-fs": "^4.2.2",
+ "mkdirp": "^0.5.1",
+ "nopt": "^4.0.1",
+ "npmlog": "^4.1.2",
+ "request": "^2.88.0",
+ "rimraf": "^2.6.3",
+ "semver": "^5.7.1",
+ "tar": "^4.4.12",
+ "which": "^1.3.1"
+ },
+ "bin": {
+ "node-gyp": "bin/node-gyp.js"
+ },
+ "engines": {
+ "node": ">= 6.0.0"
+ }
+ },
+ "node_modules/@electron-forge/maker-squirrel/node_modules/nopt": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.3.tgz",
+ "integrity": "sha512-CvaGwVMztSMJLOeXPrez7fyfObdZqNUK1cPAEzLHrTybIua9pMdmmPR5YwtfNftIOMv3DPUhFaxsZMNTQO20Kg==",
+ "dev": true,
+ "dependencies": {
+ "abbrev": "1",
+ "osenv": "^0.1.4"
+ },
+ "bin": {
+ "nopt": "bin/nopt.js"
+ }
+ },
+ "node_modules/@electron-forge/maker-squirrel/node_modules/npmlog": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz",
+ "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==",
+ "dev": true,
+ "dependencies": {
+ "are-we-there-yet": "~1.1.2",
+ "console-control-strings": "~1.1.0",
+ "gauge": "~2.7.3",
+ "set-blocking": "~2.0.0"
+ }
+ },
+ "node_modules/@electron-forge/maker-squirrel/node_modules/onetime": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz",
+ "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=",
+ "dev": true,
+ "dependencies": {
+ "mimic-fn": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/@electron-forge/maker-squirrel/node_modules/ora": {
+ "version": "3.4.0",
+ "resolved": "https://registry.npmjs.org/ora/-/ora-3.4.0.tgz",
+ "integrity": "sha512-eNwHudNbO1folBP3JsZ19v9azXWtQZjICdr3Q0TDPIaeBQ3mXLrh54wM+er0+hSp+dWKf+Z8KM58CYzEyIYxYg==",
+ "dev": true,
+ "dependencies": {
+ "chalk": "^2.4.2",
+ "cli-cursor": "^2.1.0",
+ "cli-spinners": "^2.0.0",
+ "log-symbols": "^2.2.0",
+ "strip-ansi": "^5.2.0",
+ "wcwidth": "^1.0.1"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/@electron-forge/maker-squirrel/node_modules/ora/node_modules/ansi-regex": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
+ "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
+ "dev": true,
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/@electron-forge/maker-squirrel/node_modules/ora/node_modules/strip-ansi": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
+ "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
+ "dev": true,
+ "dependencies": {
+ "ansi-regex": "^4.1.0"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/@electron-forge/maker-squirrel/node_modules/p-limit": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
+ "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
+ "dev": true,
+ "dependencies": {
+ "p-try": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/@electron-forge/maker-squirrel/node_modules/p-locate": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz",
+ "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==",
+ "dev": true,
+ "dependencies": {
+ "p-limit": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/@electron-forge/maker-squirrel/node_modules/path-exists": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
+ "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=",
+ "dev": true,
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/@electron-forge/maker-squirrel/node_modules/pretty-ms": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/pretty-ms/-/pretty-ms-4.0.0.tgz",
+ "integrity": "sha512-qG66ahoLCwpLXD09ZPHSCbUWYTqdosB7SMP4OffgTgL2PBKXMuUsrk5Bwg8q4qPkjTXsKBMr+YK3Ltd/6F9s/Q==",
+ "dev": true,
+ "dependencies": {
+ "parse-ms": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/@electron-forge/maker-squirrel/node_modules/restore-cursor": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz",
+ "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=",
+ "dev": true,
+ "dependencies": {
+ "onetime": "^2.0.0",
+ "signal-exit": "^3.0.2"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/@electron-forge/maker-squirrel/node_modules/rimraf": {
+ "version": "2.7.1",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
+ "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
+ "dev": true,
+ "dependencies": {
+ "glob": "^7.1.3"
+ },
+ "bin": {
+ "rimraf": "bin.js"
+ }
+ },
+ "node_modules/@electron-forge/maker-squirrel/node_modules/safe-buffer": {
+ "version": "5.2.1",
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
+ "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ]
+ },
+ "node_modules/@electron-forge/maker-squirrel/node_modules/semver": {
+ "version": "5.7.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
+ "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
+ "dev": true,
+ "bin": {
+ "semver": "bin/semver"
+ }
+ },
+ "node_modules/@electron-forge/maker-squirrel/node_modules/string-width": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
+ "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
+ "dev": true,
+ "dependencies": {
+ "code-point-at": "^1.0.0",
+ "is-fullwidth-code-point": "^1.0.0",
+ "strip-ansi": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/@electron-forge/maker-squirrel/node_modules/strip-ansi": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
+ "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
+ "dev": true,
+ "dependencies": {
+ "ansi-regex": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/@electron-forge/maker-squirrel/node_modules/supports-color": {
+ "version": "5.5.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
+ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+ "dev": true,
+ "dependencies": {
+ "has-flag": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/@electron-forge/maker-squirrel/node_modules/tar": {
+ "version": "4.4.19",
+ "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.19.tgz",
+ "integrity": "sha512-a20gEsvHnWe0ygBY8JbxoM4w3SJdhc7ZAuxkLqh+nvNQN2IOt0B5lLgM490X5Hl8FF0dl0tOf2ewFYAlIFgzVA==",
+ "dev": true,
+ "dependencies": {
+ "chownr": "^1.1.4",
+ "fs-minipass": "^1.2.7",
+ "minipass": "^2.9.0",
+ "minizlib": "^1.3.3",
+ "mkdirp": "^0.5.5",
+ "safe-buffer": "^5.2.1",
+ "yallist": "^3.1.1"
+ },
+ "engines": {
+ "node": ">=4.5"
+ }
+ },
+ "node_modules/@electron-forge/maker-squirrel/node_modules/universalify": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz",
+ "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==",
+ "dev": true,
+ "engines": {
+ "node": ">= 4.0.0"
+ }
+ },
+ "node_modules/@electron-forge/maker-squirrel/node_modules/which": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
+ "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
+ "dev": true,
+ "dependencies": {
+ "isexe": "^2.0.0"
+ },
+ "bin": {
+ "which": "bin/which"
+ }
+ },
+ "node_modules/@electron-forge/maker-squirrel/node_modules/wrap-ansi": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz",
+ "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==",
+ "dev": true,
+ "dependencies": {
+ "ansi-styles": "^3.2.0",
+ "string-width": "^3.0.0",
+ "strip-ansi": "^5.0.0"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/@electron-forge/maker-squirrel/node_modules/wrap-ansi/node_modules/ansi-regex": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
+ "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
+ "dev": true,
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/@electron-forge/maker-squirrel/node_modules/wrap-ansi/node_modules/is-fullwidth-code-point": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
+ "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
+ "dev": true,
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/@electron-forge/maker-squirrel/node_modules/wrap-ansi/node_modules/string-width": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
+ "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
+ "dev": true,
+ "dependencies": {
+ "emoji-regex": "^7.0.1",
+ "is-fullwidth-code-point": "^2.0.0",
+ "strip-ansi": "^5.1.0"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/@electron-forge/maker-squirrel/node_modules/wrap-ansi/node_modules/strip-ansi": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
+ "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
+ "dev": true,
+ "dependencies": {
+ "ansi-regex": "^4.1.0"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/@electron-forge/maker-squirrel/node_modules/y18n": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz",
+ "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==",
+ "dev": true
+ },
+ "node_modules/@electron-forge/maker-squirrel/node_modules/yallist": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
+ "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==",
+ "dev": true
+ },
+ "node_modules/@electron-forge/maker-squirrel/node_modules/yargs": {
+ "version": "14.2.3",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-14.2.3.tgz",
+ "integrity": "sha512-ZbotRWhF+lkjijC/VhmOT9wSgyBQ7+zr13+YLkhfsSiTriYsMzkTUFP18pFhWwBeMa5gUc1MzbhrO6/VB7c9Xg==",
+ "dev": true,
+ "dependencies": {
+ "cliui": "^5.0.0",
+ "decamelize": "^1.2.0",
+ "find-up": "^3.0.0",
+ "get-caller-file": "^2.0.1",
+ "require-directory": "^2.1.1",
+ "require-main-filename": "^2.0.0",
+ "set-blocking": "^2.0.0",
+ "string-width": "^3.0.0",
+ "which-module": "^2.0.0",
+ "y18n": "^4.0.0",
+ "yargs-parser": "^15.0.1"
+ }
+ },
+ "node_modules/@electron-forge/maker-squirrel/node_modules/yargs-parser": {
+ "version": "15.0.3",
+ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-15.0.3.tgz",
+ "integrity": "sha512-/MVEVjTXy/cGAjdtQf8dW3V9b97bPN7rNn8ETj6BmAQL7ibC7O1Q9SPJbGjgh3SlwoBNXMzj/ZGIj8mBgl12YA==",
+ "dev": true,
+ "dependencies": {
+ "camelcase": "^5.0.0",
+ "decamelize": "^1.2.0"
+ }
+ },
+ "node_modules/@electron-forge/maker-squirrel/node_modules/yargs/node_modules/ansi-regex": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
+ "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
+ "dev": true,
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/@electron-forge/maker-squirrel/node_modules/yargs/node_modules/is-fullwidth-code-point": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
+ "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
+ "dev": true,
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/@electron-forge/maker-squirrel/node_modules/yargs/node_modules/string-width": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
+ "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
+ "dev": true,
+ "dependencies": {
+ "emoji-regex": "^7.0.1",
+ "is-fullwidth-code-point": "^2.0.0",
+ "strip-ansi": "^5.1.0"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/@electron-forge/maker-squirrel/node_modules/yargs/node_modules/strip-ansi": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
+ "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
+ "dev": true,
+ "dependencies": {
+ "ansi-regex": "^4.1.0"
+ },
+ "engines": {
+ "node": ">=6"
}
},
"node_modules/@electron-forge/maker-zip": {
@@ -625,14 +1424,6 @@
"resolved": "local_modules/@ocogeclub/amg8833",
"link": true
},
- "node_modules/@ocogeclub/bme280": {
- "resolved": "local_modules/@ocogeclub/bme280",
- "link": true
- },
- "node_modules/@ocogeclub/paj7620": {
- "resolved": "local_modules/@ocogeclub/paj7620",
- "link": true
- },
"node_modules/@ocogeclub/pigpio": {
"resolved": "local_modules/@ocogeclub/pigpio",
"link": true
@@ -818,6 +1609,15 @@
"@types/responselike": "*"
}
},
+ "node_modules/@types/electron-packager": {
+ "version": "13.0.1",
+ "resolved": "https://registry.npmjs.org/@types/electron-packager/-/electron-packager-13.0.1.tgz",
+ "integrity": "sha512-K9CCdarh7JdWvIIWM+xCWoROYXgcRFmX3OgjgwaFIFOb87bMTvtQVLyVi8LO0NroURadaae5L1AaK1BxKhytoA==",
+ "dev": true,
+ "dependencies": {
+ "@types/node": "*"
+ }
+ },
"node_modules/@types/emscripten": {
"version": "0.0.34",
"resolved": "https://registry.npmjs.org/@types/emscripten/-/emscripten-0.0.34.tgz",
@@ -1201,6 +2001,20 @@
"tweetnacl": "^0.14.3"
}
},
+ "node_modules/binary": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/binary/-/binary-0.3.0.tgz",
+ "integrity": "sha1-n2BVO8XOjDOG87VTz/R0Yq3sqnk=",
+ "dev": true,
+ "optional": true,
+ "dependencies": {
+ "buffers": "~0.1.1",
+ "chainsaw": "~0.1.0"
+ },
+ "engines": {
+ "node": "*"
+ }
+ },
"node_modules/bindings": {
"version": "1.5.0",
"resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz",
@@ -1330,6 +2144,16 @@
"integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==",
"dev": true
},
+ "node_modules/buffers": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/buffers/-/buffers-0.1.1.tgz",
+ "integrity": "sha1-skV5w77U1tOWru5tmorn9Ugqt7s=",
+ "dev": true,
+ "optional": true,
+ "engines": {
+ "node": ">=0.2.0"
+ }
+ },
"node_modules/cacache": {
"version": "15.3.0",
"resolved": "https://registry.npmjs.org/cacache/-/cacache-15.3.0.tgz",
@@ -1450,6 +2274,19 @@
"integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=",
"dev": true
},
+ "node_modules/chainsaw": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/chainsaw/-/chainsaw-0.1.0.tgz",
+ "integrity": "sha1-XqtQsor+WAdNDVgpE4iCi15fvJg=",
+ "dev": true,
+ "optional": true,
+ "dependencies": {
+ "traverse": ">=0.3.0 <0.4"
+ },
+ "engines": {
+ "node": "*"
+ }
+ },
"node_modules/chalk": {
"version": "4.1.2",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
@@ -1590,6 +2427,15 @@
"color-support": "bin.js"
}
},
+ "node_modules/colors": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz",
+ "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.1.90"
+ }
+ },
"node_modules/combined-stream": {
"version": "1.0.8",
"resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
@@ -1825,6 +2671,68 @@
"node": ">=4"
}
},
+ "node_modules/decompress-zip": {
+ "version": "0.3.3",
+ "resolved": "https://registry.npmjs.org/decompress-zip/-/decompress-zip-0.3.3.tgz",
+ "integrity": "sha512-/fy1L4s+4jujqj3kNptWjilFw3E6De8U6XUFvqmh4npN3Vsypm3oT2V0bXcmbBWS+5j5tr4okYaFrOmyZkszEg==",
+ "dev": true,
+ "optional": true,
+ "dependencies": {
+ "binary": "^0.3.0",
+ "graceful-fs": "^4.1.3",
+ "mkpath": "^0.1.0",
+ "nopt": "^3.0.1",
+ "q": "^1.1.2",
+ "readable-stream": "^1.1.8",
+ "touch": "0.0.3"
+ },
+ "bin": {
+ "decompress-zip": "bin/decompress-zip"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/decompress-zip/node_modules/isarray": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+ "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",
+ "dev": true,
+ "optional": true
+ },
+ "node_modules/decompress-zip/node_modules/nopt": {
+ "version": "3.0.6",
+ "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz",
+ "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=",
+ "dev": true,
+ "optional": true,
+ "dependencies": {
+ "abbrev": "1"
+ },
+ "bin": {
+ "nopt": "bin/nopt.js"
+ }
+ },
+ "node_modules/decompress-zip/node_modules/readable-stream": {
+ "version": "1.1.14",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
+ "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=",
+ "dev": true,
+ "optional": true,
+ "dependencies": {
+ "core-util-is": "~1.0.0",
+ "inherits": "~2.0.1",
+ "isarray": "0.0.1",
+ "string_decoder": "~0.10.x"
+ }
+ },
+ "node_modules/decompress-zip/node_modules/string_decoder": {
+ "version": "0.10.31",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
+ "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
+ "dev": true,
+ "optional": true
+ },
"node_modules/defaults": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz",
@@ -2670,48 +3578,49 @@
"integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
},
"node_modules/electron-winstaller": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/electron-winstaller/-/electron-winstaller-5.0.0.tgz",
- "integrity": "sha512-V+jFda7aVAm0htCG8Q95buPUpmXZW9ujh1HdhSlWY6y4QnJnw4TfrmxTlQWV4p2ioF/71JMI/1YF+/qbSICogA==",
+ "version": "2.7.0",
+ "resolved": "https://registry.npmjs.org/electron-winstaller/-/electron-winstaller-2.7.0.tgz",
+ "integrity": "sha512-WKRUTyGzTQbM2Q6dYm/iQqdYRQRTMiFakPxqOCJrH29YPVelGG9vNldal68fnq2yL+FFsoQi/3+qb6jDk143mw==",
"dev": true,
- "hasInstallScript": true,
"optional": true,
"dependencies": {
- "asar": "^2.0.1",
- "debug": "^4.1.1",
- "fs-extra": "^7.0.1",
+ "asar": "^0.11.0",
+ "bluebird": "^3.3.4",
+ "debug": "^2.2.0",
+ "fs-extra": "^2.1.2",
"lodash.template": "^4.2.2",
- "temp": "^0.9.0"
+ "temp": "^0.8.3"
},
"engines": {
- "node": ">=8.0.0"
+ "node": ">=0.4.0"
}
},
"node_modules/electron-winstaller/node_modules/asar": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/asar/-/asar-2.1.0.tgz",
- "integrity": "sha512-d2Ovma+bfqNpvBzY/KU8oPY67ZworixTpkjSx0PCXnQi67c2cXmssaTxpFDUM0ttopXoGx/KRxNg/GDThYbXQA==",
+ "version": "0.11.0",
+ "resolved": "https://registry.npmjs.org/asar/-/asar-0.11.0.tgz",
+ "integrity": "sha1-uSbnksMV+MBIxDNx4yWwnJenZGQ=",
"dev": true,
"optional": true,
"dependencies": {
- "chromium-pickle-js": "^0.2.0",
- "commander": "^2.20.0",
- "cuint": "^0.2.2",
- "glob": "^7.1.3",
- "minimatch": "^3.0.4",
- "mkdirp": "^0.5.1",
- "tmp-promise": "^1.0.5"
+ "chromium-pickle-js": "^0.1.0",
+ "commander": "^2.9.0",
+ "cuint": "^0.2.1",
+ "glob": "^6.0.4",
+ "minimatch": "^3.0.0",
+ "mkdirp": "^0.5.0",
+ "mksnapshot": "^0.3.0"
},
"bin": {
- "asar": "bin/asar.js"
- },
- "engines": {
- "node": ">=8.0"
- },
- "optionalDependencies": {
- "@types/glob": "^7.1.1"
+ "asar": "bin/asar"
}
},
+ "node_modules/electron-winstaller/node_modules/chromium-pickle-js": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/chromium-pickle-js/-/chromium-pickle-js-0.1.0.tgz",
+ "integrity": "sha1-HUixB9ghJqLz4hHC6iX4A7pVGyE=",
+ "dev": true,
+ "optional": true
+ },
"node_modules/electron-winstaller/node_modules/commander": {
"version": "2.20.3",
"resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
@@ -2719,77 +3628,60 @@
"dev": true,
"optional": true
},
+ "node_modules/electron-winstaller/node_modules/debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "dev": true,
+ "optional": true,
+ "dependencies": {
+ "ms": "2.0.0"
+ }
+ },
"node_modules/electron-winstaller/node_modules/fs-extra": {
- "version": "7.0.1",
- "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz",
- "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==",
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-2.1.2.tgz",
+ "integrity": "sha1-BGxwFjzvmq1GsOSn+kZ/si1x3jU=",
"dev": true,
"optional": true,
"dependencies": {
"graceful-fs": "^4.1.2",
- "jsonfile": "^4.0.0",
- "universalify": "^0.1.0"
+ "jsonfile": "^2.1.0"
+ }
+ },
+ "node_modules/electron-winstaller/node_modules/glob": {
+ "version": "6.0.4",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-6.0.4.tgz",
+ "integrity": "sha1-DwiGD2oVUSey+t1PnOJLGqtuTSI=",
+ "dev": true,
+ "optional": true,
+ "dependencies": {
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "2 || 3",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
},
"engines": {
- "node": ">=6 <7 || >=8"
+ "node": "*"
}
},
"node_modules/electron-winstaller/node_modules/jsonfile": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz",
- "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=",
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz",
+ "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=",
"dev": true,
"optional": true,
"optionalDependencies": {
"graceful-fs": "^4.1.6"
}
},
- "node_modules/electron-winstaller/node_modules/rimraf": {
- "version": "2.7.1",
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
- "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
+ "node_modules/electron-winstaller/node_modules/ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
"dev": true,
- "optional": true,
- "dependencies": {
- "glob": "^7.1.3"
- },
- "bin": {
- "rimraf": "bin.js"
- }
- },
- "node_modules/electron-winstaller/node_modules/tmp": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.1.0.tgz",
- "integrity": "sha512-J7Z2K08jbGcdA1kkQpJSqLF6T0tdQqpR2pnSUXsIchbPdTI9v3e85cLW0d6WDhwuAleOV71j2xWs8qMPfK7nKw==",
- "dev": true,
- "optional": true,
- "dependencies": {
- "rimraf": "^2.6.3"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/electron-winstaller/node_modules/tmp-promise": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/tmp-promise/-/tmp-promise-1.1.0.tgz",
- "integrity": "sha512-8+Ah9aB1IRXCnIOxXZ0uFozV1nMU5xiu7hhFVUSxZ3bYu+psD4TzagCzVbexUCgNNGJnsmNDQlS4nG3mTyoNkw==",
- "dev": true,
- "optional": true,
- "dependencies": {
- "bluebird": "^3.5.0",
- "tmp": "0.1.0"
- }
- },
- "node_modules/electron-winstaller/node_modules/universalify": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz",
- "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==",
- "dev": true,
- "optional": true,
- "engines": {
- "node": ">= 4.0.0"
- }
+ "optional": true
},
"node_modules/electron/node_modules/@types/node": {
"version": "14.18.11",
@@ -2816,7 +3708,6 @@
"version": "0.1.13",
"resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz",
"integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==",
- "dev": true,
"optional": true,
"dependencies": {
"iconv-lite": "^0.6.2"
@@ -2826,7 +3717,6 @@
"version": "0.6.3",
"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz",
"integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==",
- "dev": true,
"optional": true,
"dependencies": {
"safer-buffer": ">= 2.1.2 < 3.0.0"
@@ -4114,6 +5004,16 @@
"json-buffer": "3.0.0"
}
},
+ "node_modules/klaw": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/klaw/-/klaw-1.3.1.tgz",
+ "integrity": "sha1-QIhDO0azsbolnXh4XY6W9zugJDk=",
+ "dev": true,
+ "optional": true,
+ "optionalDependencies": {
+ "graceful-fs": "^4.1.9"
+ }
+ },
"node_modules/load-json-file": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz",
@@ -4166,6 +5066,12 @@
"dev": true,
"optional": true
},
+ "node_modules/lodash.assign": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.2.0.tgz",
+ "integrity": "sha1-DZnzzNem0mHRm9rrkkUAXShYCOc=",
+ "dev": true
+ },
"node_modules/lodash.get": {
"version": "4.4.2",
"resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz",
@@ -4671,6 +5577,62 @@
"mkdirp": "bin/cmd.js"
}
},
+ "node_modules/mkpath": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/mkpath/-/mkpath-0.1.0.tgz",
+ "integrity": "sha1-dVSm+Nhxg0zJe1RisSLEwSTW3pE=",
+ "dev": true,
+ "optional": true
+ },
+ "node_modules/mksnapshot": {
+ "version": "0.3.5",
+ "resolved": "https://registry.npmjs.org/mksnapshot/-/mksnapshot-0.3.5.tgz",
+ "integrity": "sha512-PSBoZaj9h9myC3uRRW62RxmX8mrN3XbOkMEyURUD7v5CeJgtYTar50XU738t7Q0LtG1pBPtp5n5QwDGggRnEvw==",
+ "dev": true,
+ "optional": true,
+ "dependencies": {
+ "decompress-zip": "0.3.x",
+ "fs-extra": "0.26.7",
+ "request": "2.x"
+ }
+ },
+ "node_modules/mksnapshot/node_modules/fs-extra": {
+ "version": "0.26.7",
+ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.26.7.tgz",
+ "integrity": "sha1-muH92UiXeY7at20JGM9C0MMYT6k=",
+ "dev": true,
+ "optional": true,
+ "dependencies": {
+ "graceful-fs": "^4.1.2",
+ "jsonfile": "^2.1.0",
+ "klaw": "^1.0.0",
+ "path-is-absolute": "^1.0.0",
+ "rimraf": "^2.2.8"
+ }
+ },
+ "node_modules/mksnapshot/node_modules/jsonfile": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz",
+ "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=",
+ "dev": true,
+ "optional": true,
+ "optionalDependencies": {
+ "graceful-fs": "^4.1.6"
+ }
+ },
+ "node_modules/mksnapshot/node_modules/rimraf": {
+ "version": "2.7.1",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
+ "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
+ "dev": true,
+ "optional": true,
+ "dependencies": {
+ "glob": "^7.1.3"
+ },
+ "bin": {
+ "rimraf": "bin.js"
+ }
+ },
"node_modules/ms": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
@@ -5016,6 +5978,15 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
+ "node_modules/os-homedir": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz",
+ "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
"node_modules/os-tmpdir": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
@@ -5025,6 +5996,16 @@
"node": ">=0.10.0"
}
},
+ "node_modules/osenv": {
+ "version": "0.1.5",
+ "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz",
+ "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==",
+ "dev": true,
+ "dependencies": {
+ "os-homedir": "^1.0.0",
+ "os-tmpdir": "^1.0.0"
+ }
+ },
"node_modules/p-cancelable": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-1.1.0.tgz",
@@ -5459,6 +6440,17 @@
"node": ">=6"
}
},
+ "node_modules/q": {
+ "version": "1.5.1",
+ "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz",
+ "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=",
+ "dev": true,
+ "optional": true,
+ "engines": {
+ "node": ">=0.6.0",
+ "teleport": ">=0.2.0"
+ }
+ },
"node_modules/qs": {
"version": "6.5.3",
"resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz",
@@ -5721,8 +6713,7 @@
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz",
"integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==",
- "dev": true,
- "optional": true
+ "dev": true
},
"node_modules/resolve": {
"version": "1.22.0",
@@ -5905,7 +6896,7 @@
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
"integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
- "dev": true
+ "devOptional": true
},
"node_modules/seedrandom": {
"version": "2.4.3",
@@ -6109,6 +7100,50 @@
"source-map": "^0.6.0"
}
},
+ "node_modules/spawn-rx": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/spawn-rx/-/spawn-rx-3.0.0.tgz",
+ "integrity": "sha512-dw4Ryg/KMNfkKa5ezAR5aZe9wNwPdKlnHEXtHOjVnyEDSPQyOpIPPRtcIiu7127SmtHhaCjw21yC43HliW0iIg==",
+ "dev": true,
+ "dependencies": {
+ "debug": "^2.5.1",
+ "lodash.assign": "^4.2.0",
+ "rxjs": "^6.3.1"
+ }
+ },
+ "node_modules/spawn-rx/node_modules/debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "dev": true,
+ "dependencies": {
+ "ms": "2.0.0"
+ }
+ },
+ "node_modules/spawn-rx/node_modules/ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
+ "dev": true
+ },
+ "node_modules/spawn-rx/node_modules/rxjs": {
+ "version": "6.6.7",
+ "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz",
+ "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==",
+ "dev": true,
+ "dependencies": {
+ "tslib": "^1.9.0"
+ },
+ "engines": {
+ "npm": ">=2.0.0"
+ }
+ },
+ "node_modules/spawn-rx/node_modules/tslib": {
+ "version": "1.14.1",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
+ "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
+ "dev": true
+ },
"node_modules/spdx-correct": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz",
@@ -6338,13 +7373,12 @@
}
},
"node_modules/temp": {
- "version": "0.9.4",
- "resolved": "https://registry.npmjs.org/temp/-/temp-0.9.4.tgz",
- "integrity": "sha512-yYrrsWnrXMcdsnu/7YMYAofM1ktpL5By7vZhf15CrXijWWrEYZks5AXBudalfSWJLlnen/QUJUB5aoB0kqZUGA==",
+ "version": "0.8.4",
+ "resolved": "https://registry.npmjs.org/temp/-/temp-0.8.4.tgz",
+ "integrity": "sha512-s0ZZzd0BzYv5tLSptZooSjK8oj6C+c19p7Vqta9+6NPOf7r+fxq0cJe6/oN4LTC79sy5NY8ucOJNgwsKCSbfqg==",
"dev": true,
"optional": true,
"dependencies": {
- "mkdirp": "^0.5.1",
"rimraf": "~2.6.2"
},
"engines": {
@@ -6585,6 +7619,35 @@
"node": ">=8.0"
}
},
+ "node_modules/touch": {
+ "version": "0.0.3",
+ "resolved": "https://registry.npmjs.org/touch/-/touch-0.0.3.tgz",
+ "integrity": "sha1-Ua7z1ElXHU8oel2Hyci0kYGg2x0=",
+ "dev": true,
+ "optional": true,
+ "dependencies": {
+ "nopt": "~1.0.10"
+ },
+ "engines": {
+ "node": ">=0.6"
+ }
+ },
+ "node_modules/touch/node_modules/nopt": {
+ "version": "1.0.10",
+ "resolved": "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz",
+ "integrity": "sha1-bd0hvSoxQXuScn3Vhfim83YI6+4=",
+ "dev": true,
+ "optional": true,
+ "dependencies": {
+ "abbrev": "1"
+ },
+ "bin": {
+ "nopt": "bin/nopt.js"
+ },
+ "engines": {
+ "node": "*"
+ }
+ },
"node_modules/tough-cookie": {
"version": "2.5.0",
"resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz",
@@ -6603,6 +7666,16 @@
"resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
"integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o="
},
+ "node_modules/traverse": {
+ "version": "0.3.9",
+ "resolved": "https://registry.npmjs.org/traverse/-/traverse-0.3.9.tgz",
+ "integrity": "sha1-cXuPIgzAu3tE5AUUwisui7xw2Lk=",
+ "dev": true,
+ "optional": true,
+ "engines": {
+ "node": "*"
+ }
+ },
"node_modules/trim-newlines": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz",
@@ -6825,8 +7898,7 @@
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz",
"integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=",
- "dev": true,
- "optional": true
+ "dev": true
},
"node_modules/wide-align": {
"version": "1.1.5",
@@ -7232,15 +8304,657 @@
}
},
"@electron-forge/maker-squirrel": {
- "version": "6.0.0-beta.63",
- "resolved": "https://registry.npmjs.org/@electron-forge/maker-squirrel/-/maker-squirrel-6.0.0-beta.63.tgz",
- "integrity": "sha512-18eLRQmMZ6zBcI1Jhuqvhm50bmmatRCbyOUHTaIbhVf1M6ksq34xXXVWKUGlqDiCNLLLNzVw5MIb9O04eUdfIg==",
+ "version": "6.0.0-beta.33",
+ "resolved": "https://registry.npmjs.org/@electron-forge/maker-squirrel/-/maker-squirrel-6.0.0-beta.33.tgz",
+ "integrity": "sha512-ALrQvdS/docVfhkad5bUo03EF4D8XgLu0gmaEO9LPRtdD4KYjd/MgFpLpyT4Bzy28urZblETLbtwP1K9oTKIog==",
"dev": true,
"requires": {
- "@electron-forge/maker-base": "6.0.0-beta.63",
- "@electron-forge/shared-types": "6.0.0-beta.63",
- "electron-winstaller": "^5.0.0",
- "fs-extra": "^10.0.0"
+ "@electron-forge/maker-base": "6.0.0-beta.33",
+ "@electron-forge/shared-types": "6.0.0-beta.33",
+ "electron-winstaller": "^2.5.0",
+ "fs-extra": "^7.0.0"
+ },
+ "dependencies": {
+ "@electron-forge/async-ora": {
+ "version": "6.0.0-beta.33",
+ "resolved": "https://registry.npmjs.org/@electron-forge/async-ora/-/async-ora-6.0.0-beta.33.tgz",
+ "integrity": "sha512-c/xNgoL96XNnBgDZepgWoRbWVKP/dyl0l+b30IlKr094HgC9T2bjLLiQgwQ1yDd+8pDZbYe2l6IhlyPveDEXGA==",
+ "dev": true,
+ "requires": {
+ "colors": "^1.2.0",
+ "debug": "^4.1.0",
+ "log-symbols": "^2.0.0",
+ "ora": "^3.0.0",
+ "pretty-ms": "^4.0.0"
+ }
+ },
+ "@electron-forge/maker-base": {
+ "version": "6.0.0-beta.33",
+ "resolved": "https://registry.npmjs.org/@electron-forge/maker-base/-/maker-base-6.0.0-beta.33.tgz",
+ "integrity": "sha512-8PUuTPJ+G7JhCLj0W50wBx/m7Gp2ISBRZvPV7MkC+jJiX+XOiR1IfjWYYz/PXhyQW8JoCkgENfb6LpHip4pCTg==",
+ "dev": true,
+ "requires": {
+ "@electron-forge/shared-types": "6.0.0-beta.33",
+ "fs-extra": "^7.0.0"
+ }
+ },
+ "@electron-forge/shared-types": {
+ "version": "6.0.0-beta.33",
+ "resolved": "https://registry.npmjs.org/@electron-forge/shared-types/-/shared-types-6.0.0-beta.33.tgz",
+ "integrity": "sha512-3nASnYKFt91w1FVi2dSJOfU3+4mBP2adoS1f1lvVcMlnuzx45QbGm35OdIZVX/pEgWSWgcIt6uoygV/NizIGqg==",
+ "dev": true,
+ "requires": {
+ "@electron-forge/async-ora": "6.0.0-beta.33",
+ "@types/electron-packager": "^13.0.0",
+ "electron-rebuild": "^1.6.0",
+ "ora": "^3.0.0"
+ }
+ },
+ "ansi-regex": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
+ "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
+ "dev": true
+ },
+ "ansi-styles": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
+ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
+ "dev": true,
+ "requires": {
+ "color-convert": "^1.9.0"
+ }
+ },
+ "aproba": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz",
+ "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==",
+ "dev": true
+ },
+ "are-we-there-yet": {
+ "version": "1.1.7",
+ "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.7.tgz",
+ "integrity": "sha512-nxwy40TuMiUGqMyRHgCSWZ9FM4VAoRP4xUYSTv5ImRog+h9yISPbVH7H8fASCIzYn9wlEv4zvFL7uKDMCFQm3g==",
+ "dev": true,
+ "requires": {
+ "delegates": "^1.0.0",
+ "readable-stream": "^2.0.6"
+ }
+ },
+ "camelcase": {
+ "version": "5.3.1",
+ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
+ "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
+ "dev": true
+ },
+ "chalk": {
+ "version": "2.4.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
+ "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^3.2.1",
+ "escape-string-regexp": "^1.0.5",
+ "supports-color": "^5.3.0"
+ }
+ },
+ "chownr": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz",
+ "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==",
+ "dev": true
+ },
+ "cli-cursor": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz",
+ "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=",
+ "dev": true,
+ "requires": {
+ "restore-cursor": "^2.0.0"
+ }
+ },
+ "cliui": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz",
+ "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==",
+ "dev": true,
+ "requires": {
+ "string-width": "^3.1.0",
+ "strip-ansi": "^5.2.0",
+ "wrap-ansi": "^5.1.0"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
+ "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
+ "dev": true
+ },
+ "is-fullwidth-code-point": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
+ "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
+ "dev": true
+ },
+ "string-width": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
+ "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
+ "dev": true,
+ "requires": {
+ "emoji-regex": "^7.0.1",
+ "is-fullwidth-code-point": "^2.0.0",
+ "strip-ansi": "^5.1.0"
+ }
+ },
+ "strip-ansi": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
+ "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "^4.1.0"
+ }
+ }
+ }
+ },
+ "color-convert": {
+ "version": "1.9.3",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
+ "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
+ "dev": true,
+ "requires": {
+ "color-name": "1.1.3"
+ }
+ },
+ "color-name": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
+ "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
+ "dev": true
+ },
+ "electron-rebuild": {
+ "version": "1.11.0",
+ "resolved": "https://registry.npmjs.org/electron-rebuild/-/electron-rebuild-1.11.0.tgz",
+ "integrity": "sha512-cn6AqZBQBVtaEyj5jZW1/LOezZZ22PA1HvhEP7asvYPJ8PDF4i4UFt9be4i9T7xJKiSiomXvY5Fd+dSq3FXZxA==",
+ "dev": true,
+ "requires": {
+ "colors": "^1.3.3",
+ "debug": "^4.1.1",
+ "detect-libc": "^1.0.3",
+ "fs-extra": "^8.1.0",
+ "node-abi": "^2.11.0",
+ "node-gyp": "^6.0.1",
+ "ora": "^3.4.0",
+ "spawn-rx": "^3.0.0",
+ "yargs": "^14.2.0"
+ },
+ "dependencies": {
+ "fs-extra": {
+ "version": "8.1.0",
+ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz",
+ "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "^4.2.0",
+ "jsonfile": "^4.0.0",
+ "universalify": "^0.1.0"
+ }
+ }
+ }
+ },
+ "emoji-regex": {
+ "version": "7.0.3",
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz",
+ "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==",
+ "dev": true
+ },
+ "find-up": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz",
+ "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==",
+ "dev": true,
+ "requires": {
+ "locate-path": "^3.0.0"
+ }
+ },
+ "fs-extra": {
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz",
+ "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "^4.1.2",
+ "jsonfile": "^4.0.0",
+ "universalify": "^0.1.0"
+ }
+ },
+ "fs-minipass": {
+ "version": "1.2.7",
+ "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.7.tgz",
+ "integrity": "sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==",
+ "dev": true,
+ "requires": {
+ "minipass": "^2.6.0"
+ }
+ },
+ "gauge": {
+ "version": "2.7.4",
+ "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz",
+ "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=",
+ "dev": true,
+ "requires": {
+ "aproba": "^1.0.3",
+ "console-control-strings": "^1.0.0",
+ "has-unicode": "^2.0.0",
+ "object-assign": "^4.1.0",
+ "signal-exit": "^3.0.0",
+ "string-width": "^1.0.1",
+ "strip-ansi": "^3.0.1",
+ "wide-align": "^1.1.0"
+ }
+ },
+ "has-flag": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
+ "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
+ "dev": true
+ },
+ "is-fullwidth-code-point": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
+ "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
+ "dev": true,
+ "requires": {
+ "number-is-nan": "^1.0.0"
+ }
+ },
+ "jsonfile": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz",
+ "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "^4.1.6"
+ }
+ },
+ "locate-path": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz",
+ "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==",
+ "dev": true,
+ "requires": {
+ "p-locate": "^3.0.0",
+ "path-exists": "^3.0.0"
+ }
+ },
+ "log-symbols": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz",
+ "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==",
+ "dev": true,
+ "requires": {
+ "chalk": "^2.0.1"
+ }
+ },
+ "mimic-fn": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz",
+ "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==",
+ "dev": true
+ },
+ "minipass": {
+ "version": "2.9.0",
+ "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.9.0.tgz",
+ "integrity": "sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==",
+ "dev": true,
+ "requires": {
+ "safe-buffer": "^5.1.2",
+ "yallist": "^3.0.0"
+ }
+ },
+ "minizlib": {
+ "version": "1.3.3",
+ "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.3.3.tgz",
+ "integrity": "sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==",
+ "dev": true,
+ "requires": {
+ "minipass": "^2.9.0"
+ }
+ },
+ "node-abi": {
+ "version": "2.30.1",
+ "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-2.30.1.tgz",
+ "integrity": "sha512-/2D0wOQPgaUWzVSVgRMx+trKJRC2UG4SUc4oCJoXx9Uxjtp0Vy3/kt7zcbxHF8+Z/pK3UloLWzBISg72brfy1w==",
+ "dev": true,
+ "requires": {
+ "semver": "^5.4.1"
+ }
+ },
+ "node-gyp": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-6.1.0.tgz",
+ "integrity": "sha512-h4A2zDlOujeeaaTx06r4Vy+8MZ1679lU+wbCKDS4ZtvY2A37DESo37oejIw0mtmR3+rvNwts5B6Kpt1KrNYdNw==",
+ "dev": true,
+ "requires": {
+ "env-paths": "^2.2.0",
+ "glob": "^7.1.4",
+ "graceful-fs": "^4.2.2",
+ "mkdirp": "^0.5.1",
+ "nopt": "^4.0.1",
+ "npmlog": "^4.1.2",
+ "request": "^2.88.0",
+ "rimraf": "^2.6.3",
+ "semver": "^5.7.1",
+ "tar": "^4.4.12",
+ "which": "^1.3.1"
+ }
+ },
+ "nopt": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.3.tgz",
+ "integrity": "sha512-CvaGwVMztSMJLOeXPrez7fyfObdZqNUK1cPAEzLHrTybIua9pMdmmPR5YwtfNftIOMv3DPUhFaxsZMNTQO20Kg==",
+ "dev": true,
+ "requires": {
+ "abbrev": "1",
+ "osenv": "^0.1.4"
+ }
+ },
+ "npmlog": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz",
+ "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==",
+ "dev": true,
+ "requires": {
+ "are-we-there-yet": "~1.1.2",
+ "console-control-strings": "~1.1.0",
+ "gauge": "~2.7.3",
+ "set-blocking": "~2.0.0"
+ }
+ },
+ "onetime": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz",
+ "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=",
+ "dev": true,
+ "requires": {
+ "mimic-fn": "^1.0.0"
+ }
+ },
+ "ora": {
+ "version": "3.4.0",
+ "resolved": "https://registry.npmjs.org/ora/-/ora-3.4.0.tgz",
+ "integrity": "sha512-eNwHudNbO1folBP3JsZ19v9azXWtQZjICdr3Q0TDPIaeBQ3mXLrh54wM+er0+hSp+dWKf+Z8KM58CYzEyIYxYg==",
+ "dev": true,
+ "requires": {
+ "chalk": "^2.4.2",
+ "cli-cursor": "^2.1.0",
+ "cli-spinners": "^2.0.0",
+ "log-symbols": "^2.2.0",
+ "strip-ansi": "^5.2.0",
+ "wcwidth": "^1.0.1"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
+ "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
+ "dev": true
+ },
+ "strip-ansi": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
+ "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "^4.1.0"
+ }
+ }
+ }
+ },
+ "p-limit": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
+ "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
+ "dev": true,
+ "requires": {
+ "p-try": "^2.0.0"
+ }
+ },
+ "p-locate": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz",
+ "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==",
+ "dev": true,
+ "requires": {
+ "p-limit": "^2.0.0"
+ }
+ },
+ "path-exists": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
+ "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=",
+ "dev": true
+ },
+ "pretty-ms": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/pretty-ms/-/pretty-ms-4.0.0.tgz",
+ "integrity": "sha512-qG66ahoLCwpLXD09ZPHSCbUWYTqdosB7SMP4OffgTgL2PBKXMuUsrk5Bwg8q4qPkjTXsKBMr+YK3Ltd/6F9s/Q==",
+ "dev": true,
+ "requires": {
+ "parse-ms": "^2.0.0"
+ }
+ },
+ "restore-cursor": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz",
+ "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=",
+ "dev": true,
+ "requires": {
+ "onetime": "^2.0.0",
+ "signal-exit": "^3.0.2"
+ }
+ },
+ "rimraf": {
+ "version": "2.7.1",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
+ "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
+ "dev": true,
+ "requires": {
+ "glob": "^7.1.3"
+ }
+ },
+ "safe-buffer": {
+ "version": "5.2.1",
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
+ "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
+ "dev": true
+ },
+ "semver": {
+ "version": "5.7.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
+ "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
+ "dev": true
+ },
+ "string-width": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
+ "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
+ "dev": true,
+ "requires": {
+ "code-point-at": "^1.0.0",
+ "is-fullwidth-code-point": "^1.0.0",
+ "strip-ansi": "^3.0.0"
+ }
+ },
+ "strip-ansi": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
+ "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "^2.0.0"
+ }
+ },
+ "supports-color": {
+ "version": "5.5.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
+ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^3.0.0"
+ }
+ },
+ "tar": {
+ "version": "4.4.19",
+ "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.19.tgz",
+ "integrity": "sha512-a20gEsvHnWe0ygBY8JbxoM4w3SJdhc7ZAuxkLqh+nvNQN2IOt0B5lLgM490X5Hl8FF0dl0tOf2ewFYAlIFgzVA==",
+ "dev": true,
+ "requires": {
+ "chownr": "^1.1.4",
+ "fs-minipass": "^1.2.7",
+ "minipass": "^2.9.0",
+ "minizlib": "^1.3.3",
+ "mkdirp": "^0.5.5",
+ "safe-buffer": "^5.2.1",
+ "yallist": "^3.1.1"
+ }
+ },
+ "universalify": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz",
+ "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==",
+ "dev": true
+ },
+ "which": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
+ "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
+ "dev": true,
+ "requires": {
+ "isexe": "^2.0.0"
+ }
+ },
+ "wrap-ansi": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz",
+ "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^3.2.0",
+ "string-width": "^3.0.0",
+ "strip-ansi": "^5.0.0"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
+ "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
+ "dev": true
+ },
+ "is-fullwidth-code-point": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
+ "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
+ "dev": true
+ },
+ "string-width": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
+ "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
+ "dev": true,
+ "requires": {
+ "emoji-regex": "^7.0.1",
+ "is-fullwidth-code-point": "^2.0.0",
+ "strip-ansi": "^5.1.0"
+ }
+ },
+ "strip-ansi": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
+ "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "^4.1.0"
+ }
+ }
+ }
+ },
+ "y18n": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz",
+ "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==",
+ "dev": true
+ },
+ "yallist": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
+ "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==",
+ "dev": true
+ },
+ "yargs": {
+ "version": "14.2.3",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-14.2.3.tgz",
+ "integrity": "sha512-ZbotRWhF+lkjijC/VhmOT9wSgyBQ7+zr13+YLkhfsSiTriYsMzkTUFP18pFhWwBeMa5gUc1MzbhrO6/VB7c9Xg==",
+ "dev": true,
+ "requires": {
+ "cliui": "^5.0.0",
+ "decamelize": "^1.2.0",
+ "find-up": "^3.0.0",
+ "get-caller-file": "^2.0.1",
+ "require-directory": "^2.1.1",
+ "require-main-filename": "^2.0.0",
+ "set-blocking": "^2.0.0",
+ "string-width": "^3.0.0",
+ "which-module": "^2.0.0",
+ "y18n": "^4.0.0",
+ "yargs-parser": "^15.0.1"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
+ "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
+ "dev": true
+ },
+ "is-fullwidth-code-point": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
+ "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
+ "dev": true
+ },
+ "string-width": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
+ "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
+ "dev": true,
+ "requires": {
+ "emoji-regex": "^7.0.1",
+ "is-fullwidth-code-point": "^2.0.0",
+ "strip-ansi": "^5.1.0"
+ }
+ },
+ "strip-ansi": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
+ "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "^4.1.0"
+ }
+ }
+ }
+ },
+ "yargs-parser": {
+ "version": "15.0.3",
+ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-15.0.3.tgz",
+ "integrity": "sha512-/MVEVjTXy/cGAjdtQf8dW3V9b97bPN7rNn8ETj6BmAQL7ibC7O1Q9SPJbGjgh3SlwoBNXMzj/ZGIj8mBgl12YA==",
+ "dev": true,
+ "requires": {
+ "camelcase": "^5.0.0",
+ "decamelize": "^1.2.0"
+ }
+ }
}
},
"@electron-forge/maker-zip": {
@@ -7461,18 +9175,6 @@
"@ocogeclub/pigpio": "file:../pigpio"
}
},
- "@ocogeclub/bme280": {
- "version": "file:local_modules/@ocogeclub/bme280",
- "requires": {
- "@ocogeclub/pigpio": "file:../pigpio"
- }
- },
- "@ocogeclub/paj7620": {
- "version": "file:local_modules/@ocogeclub/paj7620",
- "requires": {
- "@ocogeclub/pigpio": "file:../pigpio"
- }
- },
"@ocogeclub/pigpio": {
"version": "file:local_modules/@ocogeclub/pigpio",
"requires": {
@@ -7505,17 +9207,20 @@
"@tensorflow-models/blazeface": {
"version": "0.0.7",
"resolved": "https://registry.npmjs.org/@tensorflow-models/blazeface/-/blazeface-0.0.7.tgz",
- "integrity": "sha512-+hInPkvHJoubfiXlmNuF3SCucZvU6W1PMC25IV99NSAftJUpKvLokfF93iX8UkOFQCXkPFbnLKacGfGlbjgvMw=="
+ "integrity": "sha512-+hInPkvHJoubfiXlmNuF3SCucZvU6W1PMC25IV99NSAftJUpKvLokfF93iX8UkOFQCXkPFbnLKacGfGlbjgvMw==",
+ "requires": {}
},
"@tensorflow-models/knn-classifier": {
"version": "1.2.2",
"resolved": "https://registry.npmjs.org/@tensorflow-models/knn-classifier/-/knn-classifier-1.2.2.tgz",
- "integrity": "sha512-QRnkCf7ErOxSRtvJ6yCwhlLREPcBJGaXRanF46f0iY6ii3Sybjb6Ux0qnNPTrHZChD0izPa3Z4GQEgSAykiHkQ=="
+ "integrity": "sha512-QRnkCf7ErOxSRtvJ6yCwhlLREPcBJGaXRanF46f0iY6ii3Sybjb6Ux0qnNPTrHZChD0izPa3Z4GQEgSAykiHkQ==",
+ "requires": {}
},
"@tensorflow-models/mobilenet": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/@tensorflow-models/mobilenet/-/mobilenet-2.1.0.tgz",
- "integrity": "sha512-JjqT9ijHDFA2FEpUGWg7H2lQ0GrMuE2VmiCRBYmUew6b4JKht8LXDjG5HxZh95YH6c/25sZWTpGeHbquloH+hw=="
+ "integrity": "sha512-JjqT9ijHDFA2FEpUGWg7H2lQ0GrMuE2VmiCRBYmUew6b4JKht8LXDjG5HxZh95YH6c/25sZWTpGeHbquloH+hw==",
+ "requires": {}
},
"@tensorflow/tfjs": {
"version": "3.13.0",
@@ -7569,7 +9274,8 @@
"@tensorflow/tfjs-converter": {
"version": "3.13.0",
"resolved": "https://registry.npmjs.org/@tensorflow/tfjs-converter/-/tfjs-converter-3.13.0.tgz",
- "integrity": "sha512-H2VpDTv9Ve0HBt7ttzz46DmnsPaiT0B+yJjVH3NebGZbgY9C8boBgJIsdyqfiqEWBS3WxF8h4rh58Hv5XXMgaQ=="
+ "integrity": "sha512-H2VpDTv9Ve0HBt7ttzz46DmnsPaiT0B+yJjVH3NebGZbgY9C8boBgJIsdyqfiqEWBS3WxF8h4rh58Hv5XXMgaQ==",
+ "requires": {}
},
"@tensorflow/tfjs-core": {
"version": "3.13.0",
@@ -7597,7 +9303,8 @@
"@tensorflow/tfjs-layers": {
"version": "3.13.0",
"resolved": "https://registry.npmjs.org/@tensorflow/tfjs-layers/-/tfjs-layers-3.13.0.tgz",
- "integrity": "sha512-kTWJ/+9fbNCMDA9iQjDMYHmWivsiWz8CKNSOZdeCW7tiBwF1EiREBVQXMk1JI11ngQa8f+rYSLs7rkhp3SYl5Q=="
+ "integrity": "sha512-kTWJ/+9fbNCMDA9iQjDMYHmWivsiWz8CKNSOZdeCW7tiBwF1EiREBVQXMk1JI11ngQa8f+rYSLs7rkhp3SYl5Q==",
+ "requires": {}
},
"@tootallnate/once": {
"version": "1.1.2",
@@ -7617,6 +9324,15 @@
"@types/responselike": "*"
}
},
+ "@types/electron-packager": {
+ "version": "13.0.1",
+ "resolved": "https://registry.npmjs.org/@types/electron-packager/-/electron-packager-13.0.1.tgz",
+ "integrity": "sha512-K9CCdarh7JdWvIIWM+xCWoROYXgcRFmX3OgjgwaFIFOb87bMTvtQVLyVi8LO0NroURadaae5L1AaK1BxKhytoA==",
+ "dev": true,
+ "requires": {
+ "@types/node": "*"
+ }
+ },
"@types/emscripten": {
"version": "0.0.34",
"resolved": "https://registry.npmjs.org/@types/emscripten/-/emscripten-0.0.34.tgz",
@@ -7930,6 +9646,17 @@
"tweetnacl": "^0.14.3"
}
},
+ "binary": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/binary/-/binary-0.3.0.tgz",
+ "integrity": "sha1-n2BVO8XOjDOG87VTz/R0Yq3sqnk=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "buffers": "~0.1.1",
+ "chainsaw": "~0.1.0"
+ }
+ },
"bindings": {
"version": "1.5.0",
"resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz",
@@ -8038,6 +9765,13 @@
"integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==",
"dev": true
},
+ "buffers": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/buffers/-/buffers-0.1.1.tgz",
+ "integrity": "sha1-skV5w77U1tOWru5tmorn9Ugqt7s=",
+ "dev": true,
+ "optional": true
+ },
"cacache": {
"version": "15.3.0",
"resolved": "https://registry.npmjs.org/cacache/-/cacache-15.3.0.tgz",
@@ -8132,6 +9866,16 @@
"integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=",
"dev": true
},
+ "chainsaw": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/chainsaw/-/chainsaw-0.1.0.tgz",
+ "integrity": "sha1-XqtQsor+WAdNDVgpE4iCi15fvJg=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "traverse": ">=0.3.0 <0.4"
+ }
+ },
"chalk": {
"version": "4.1.2",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
@@ -8236,6 +9980,12 @@
"integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==",
"dev": true
},
+ "colors": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz",
+ "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==",
+ "dev": true
+ },
"combined-stream": {
"version": "1.0.8",
"resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
@@ -8390,6 +10140,61 @@
"mimic-response": "^1.0.0"
}
},
+ "decompress-zip": {
+ "version": "0.3.3",
+ "resolved": "https://registry.npmjs.org/decompress-zip/-/decompress-zip-0.3.3.tgz",
+ "integrity": "sha512-/fy1L4s+4jujqj3kNptWjilFw3E6De8U6XUFvqmh4npN3Vsypm3oT2V0bXcmbBWS+5j5tr4okYaFrOmyZkszEg==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "binary": "^0.3.0",
+ "graceful-fs": "^4.1.3",
+ "mkpath": "^0.1.0",
+ "nopt": "^3.0.1",
+ "q": "^1.1.2",
+ "readable-stream": "^1.1.8",
+ "touch": "0.0.3"
+ },
+ "dependencies": {
+ "isarray": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+ "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",
+ "dev": true,
+ "optional": true
+ },
+ "nopt": {
+ "version": "3.0.6",
+ "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz",
+ "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "abbrev": "1"
+ }
+ },
+ "readable-stream": {
+ "version": "1.1.14",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
+ "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "core-util-is": "~1.0.0",
+ "inherits": "~2.0.1",
+ "isarray": "0.0.1",
+ "string_decoder": "~0.10.x"
+ }
+ },
+ "string_decoder": {
+ "version": "0.10.31",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
+ "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
+ "dev": true,
+ "optional": true
+ }
+ }
+ },
"defaults": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz",
@@ -9029,36 +10834,43 @@
}
},
"electron-winstaller": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/electron-winstaller/-/electron-winstaller-5.0.0.tgz",
- "integrity": "sha512-V+jFda7aVAm0htCG8Q95buPUpmXZW9ujh1HdhSlWY6y4QnJnw4TfrmxTlQWV4p2ioF/71JMI/1YF+/qbSICogA==",
+ "version": "2.7.0",
+ "resolved": "https://registry.npmjs.org/electron-winstaller/-/electron-winstaller-2.7.0.tgz",
+ "integrity": "sha512-WKRUTyGzTQbM2Q6dYm/iQqdYRQRTMiFakPxqOCJrH29YPVelGG9vNldal68fnq2yL+FFsoQi/3+qb6jDk143mw==",
"dev": true,
"optional": true,
"requires": {
- "asar": "^2.0.1",
- "debug": "^4.1.1",
- "fs-extra": "^7.0.1",
+ "asar": "^0.11.0",
+ "bluebird": "^3.3.4",
+ "debug": "^2.2.0",
+ "fs-extra": "^2.1.2",
"lodash.template": "^4.2.2",
- "temp": "^0.9.0"
+ "temp": "^0.8.3"
},
"dependencies": {
"asar": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/asar/-/asar-2.1.0.tgz",
- "integrity": "sha512-d2Ovma+bfqNpvBzY/KU8oPY67ZworixTpkjSx0PCXnQi67c2cXmssaTxpFDUM0ttopXoGx/KRxNg/GDThYbXQA==",
+ "version": "0.11.0",
+ "resolved": "https://registry.npmjs.org/asar/-/asar-0.11.0.tgz",
+ "integrity": "sha1-uSbnksMV+MBIxDNx4yWwnJenZGQ=",
"dev": true,
"optional": true,
"requires": {
- "@types/glob": "^7.1.1",
- "chromium-pickle-js": "^0.2.0",
- "commander": "^2.20.0",
- "cuint": "^0.2.2",
- "glob": "^7.1.3",
- "minimatch": "^3.0.4",
- "mkdirp": "^0.5.1",
- "tmp-promise": "^1.0.5"
+ "chromium-pickle-js": "^0.1.0",
+ "commander": "^2.9.0",
+ "cuint": "^0.2.1",
+ "glob": "^6.0.4",
+ "minimatch": "^3.0.0",
+ "mkdirp": "^0.5.0",
+ "mksnapshot": "^0.3.0"
}
},
+ "chromium-pickle-js": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/chromium-pickle-js/-/chromium-pickle-js-0.1.0.tgz",
+ "integrity": "sha1-HUixB9ghJqLz4hHC6iX4A7pVGyE=",
+ "dev": true,
+ "optional": true
+ },
"commander": {
"version": "2.20.3",
"resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
@@ -9066,63 +10878,55 @@
"dev": true,
"optional": true
},
+ "debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "ms": "2.0.0"
+ }
+ },
"fs-extra": {
- "version": "7.0.1",
- "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz",
- "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==",
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-2.1.2.tgz",
+ "integrity": "sha1-BGxwFjzvmq1GsOSn+kZ/si1x3jU=",
"dev": true,
"optional": true,
"requires": {
"graceful-fs": "^4.1.2",
- "jsonfile": "^4.0.0",
- "universalify": "^0.1.0"
+ "jsonfile": "^2.1.0"
+ }
+ },
+ "glob": {
+ "version": "6.0.4",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-6.0.4.tgz",
+ "integrity": "sha1-DwiGD2oVUSey+t1PnOJLGqtuTSI=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "2 || 3",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
}
},
"jsonfile": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz",
- "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=",
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz",
+ "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=",
"dev": true,
"optional": true,
"requires": {
"graceful-fs": "^4.1.6"
}
},
- "rimraf": {
- "version": "2.7.1",
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
- "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
- "dev": true,
- "optional": true,
- "requires": {
- "glob": "^7.1.3"
- }
- },
- "tmp": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.1.0.tgz",
- "integrity": "sha512-J7Z2K08jbGcdA1kkQpJSqLF6T0tdQqpR2pnSUXsIchbPdTI9v3e85cLW0d6WDhwuAleOV71j2xWs8qMPfK7nKw==",
- "dev": true,
- "optional": true,
- "requires": {
- "rimraf": "^2.6.3"
- }
- },
- "tmp-promise": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/tmp-promise/-/tmp-promise-1.1.0.tgz",
- "integrity": "sha512-8+Ah9aB1IRXCnIOxXZ0uFozV1nMU5xiu7hhFVUSxZ3bYu+psD4TzagCzVbexUCgNNGJnsmNDQlS4nG3mTyoNkw==",
- "dev": true,
- "optional": true,
- "requires": {
- "bluebird": "^3.5.0",
- "tmp": "0.1.0"
- }
- },
- "universalify": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz",
- "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==",
+ "ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
"dev": true,
"optional": true
}
@@ -9144,7 +10948,6 @@
"version": "0.1.13",
"resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz",
"integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==",
- "dev": true,
"optional": true,
"requires": {
"iconv-lite": "^0.6.2"
@@ -9154,7 +10957,6 @@
"version": "0.6.3",
"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz",
"integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==",
- "dev": true,
"optional": true,
"requires": {
"safer-buffer": ">= 2.1.2 < 3.0.0"
@@ -10181,6 +11983,16 @@
"json-buffer": "3.0.0"
}
},
+ "klaw": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/klaw/-/klaw-1.3.1.tgz",
+ "integrity": "sha1-QIhDO0azsbolnXh4XY6W9zugJDk=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "graceful-fs": "^4.1.9"
+ }
+ },
"load-json-file": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz",
@@ -10223,6 +12035,12 @@
"dev": true,
"optional": true
},
+ "lodash.assign": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.2.0.tgz",
+ "integrity": "sha1-DZnzzNem0mHRm9rrkkUAXShYCOc=",
+ "dev": true
+ },
"lodash.get": {
"version": "4.4.2",
"resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz",
@@ -10614,6 +12432,61 @@
"minimist": "^1.2.5"
}
},
+ "mkpath": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/mkpath/-/mkpath-0.1.0.tgz",
+ "integrity": "sha1-dVSm+Nhxg0zJe1RisSLEwSTW3pE=",
+ "dev": true,
+ "optional": true
+ },
+ "mksnapshot": {
+ "version": "0.3.5",
+ "resolved": "https://registry.npmjs.org/mksnapshot/-/mksnapshot-0.3.5.tgz",
+ "integrity": "sha512-PSBoZaj9h9myC3uRRW62RxmX8mrN3XbOkMEyURUD7v5CeJgtYTar50XU738t7Q0LtG1pBPtp5n5QwDGggRnEvw==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "decompress-zip": "0.3.x",
+ "fs-extra": "0.26.7",
+ "request": "2.x"
+ },
+ "dependencies": {
+ "fs-extra": {
+ "version": "0.26.7",
+ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.26.7.tgz",
+ "integrity": "sha1-muH92UiXeY7at20JGM9C0MMYT6k=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "graceful-fs": "^4.1.2",
+ "jsonfile": "^2.1.0",
+ "klaw": "^1.0.0",
+ "path-is-absolute": "^1.0.0",
+ "rimraf": "^2.2.8"
+ }
+ },
+ "jsonfile": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz",
+ "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "graceful-fs": "^4.1.6"
+ }
+ },
+ "rimraf": {
+ "version": "2.7.1",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
+ "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "glob": "^7.1.3"
+ }
+ }
+ }
+ },
"ms": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
@@ -10877,12 +12750,28 @@
"wcwidth": "^1.0.1"
}
},
+ "os-homedir": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz",
+ "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=",
+ "dev": true
+ },
"os-tmpdir": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
"integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=",
"dev": true
},
+ "osenv": {
+ "version": "0.1.5",
+ "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz",
+ "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==",
+ "dev": true,
+ "requires": {
+ "os-homedir": "^1.0.0",
+ "os-tmpdir": "^1.0.0"
+ }
+ },
"p-cancelable": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-1.1.0.tgz",
@@ -11201,6 +13090,13 @@
"integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
"dev": true
},
+ "q": {
+ "version": "1.5.1",
+ "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz",
+ "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=",
+ "dev": true,
+ "optional": true
+ },
"qs": {
"version": "6.5.3",
"resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz",
@@ -11400,8 +13296,7 @@
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz",
"integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==",
- "dev": true,
- "optional": true
+ "dev": true
},
"resolve": {
"version": "1.22.0",
@@ -11537,7 +13432,7 @@
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
"integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
- "dev": true
+ "devOptional": true
},
"seedrandom": {
"version": "2.4.3",
@@ -11695,6 +13590,49 @@
"source-map": "^0.6.0"
}
},
+ "spawn-rx": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/spawn-rx/-/spawn-rx-3.0.0.tgz",
+ "integrity": "sha512-dw4Ryg/KMNfkKa5ezAR5aZe9wNwPdKlnHEXtHOjVnyEDSPQyOpIPPRtcIiu7127SmtHhaCjw21yC43HliW0iIg==",
+ "dev": true,
+ "requires": {
+ "debug": "^2.5.1",
+ "lodash.assign": "^4.2.0",
+ "rxjs": "^6.3.1"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "dev": true,
+ "requires": {
+ "ms": "2.0.0"
+ }
+ },
+ "ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
+ "dev": true
+ },
+ "rxjs": {
+ "version": "6.6.7",
+ "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz",
+ "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==",
+ "dev": true,
+ "requires": {
+ "tslib": "^1.9.0"
+ }
+ },
+ "tslib": {
+ "version": "1.14.1",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
+ "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
+ "dev": true
+ }
+ }
+ },
"spdx-correct": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz",
@@ -11873,13 +13811,12 @@
}
},
"temp": {
- "version": "0.9.4",
- "resolved": "https://registry.npmjs.org/temp/-/temp-0.9.4.tgz",
- "integrity": "sha512-yYrrsWnrXMcdsnu/7YMYAofM1ktpL5By7vZhf15CrXijWWrEYZks5AXBudalfSWJLlnen/QUJUB5aoB0kqZUGA==",
+ "version": "0.8.4",
+ "resolved": "https://registry.npmjs.org/temp/-/temp-0.8.4.tgz",
+ "integrity": "sha512-s0ZZzd0BzYv5tLSptZooSjK8oj6C+c19p7Vqta9+6NPOf7r+fxq0cJe6/oN4LTC79sy5NY8ucOJNgwsKCSbfqg==",
"dev": true,
"optional": true,
"requires": {
- "mkdirp": "^0.5.1",
"rimraf": "~2.6.2"
},
"dependencies": {
@@ -11946,7 +13883,8 @@
"@tensorflow/tfjs-converter": {
"version": "2.8.6",
"resolved": "https://registry.npmjs.org/@tensorflow/tfjs-converter/-/tfjs-converter-2.8.6.tgz",
- "integrity": "sha512-Uv4YC66qjVC9UwBxz0IeLZ8KS2CReh63WlGRtHcSwDEYiwsa7cvp9H6lFSSPT7kiJmrK6JtHeJGIVcTuNnSt9w=="
+ "integrity": "sha512-Uv4YC66qjVC9UwBxz0IeLZ8KS2CReh63WlGRtHcSwDEYiwsa7cvp9H6lFSSPT7kiJmrK6JtHeJGIVcTuNnSt9w==",
+ "requires": {}
},
"@tensorflow/tfjs-core": {
"version": "2.8.6",
@@ -11972,7 +13910,8 @@
"@tensorflow/tfjs-layers": {
"version": "2.8.6",
"resolved": "https://registry.npmjs.org/@tensorflow/tfjs-layers/-/tfjs-layers-2.8.6.tgz",
- "integrity": "sha512-fdZ0i/R2dIKmy8OB5tBAsm5IbAHfJpI6AlbjxpgoU3aWj1HCdDo+pMji928MkDJhP01ISgFTgw/7PseGNaUflw=="
+ "integrity": "sha512-fdZ0i/R2dIKmy8OB5tBAsm5IbAHfJpI6AlbjxpgoU3aWj1HCdDo+pMji928MkDJhP01ISgFTgw/7PseGNaUflw==",
+ "requires": {}
},
"@types/webgl2": {
"version": "0.0.5",
@@ -12082,6 +14021,28 @@
"is-number": "^7.0.0"
}
},
+ "touch": {
+ "version": "0.0.3",
+ "resolved": "https://registry.npmjs.org/touch/-/touch-0.0.3.tgz",
+ "integrity": "sha1-Ua7z1ElXHU8oel2Hyci0kYGg2x0=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "nopt": "~1.0.10"
+ },
+ "dependencies": {
+ "nopt": {
+ "version": "1.0.10",
+ "resolved": "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz",
+ "integrity": "sha1-bd0hvSoxQXuScn3Vhfim83YI6+4=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "abbrev": "1"
+ }
+ }
+ }
+ },
"tough-cookie": {
"version": "2.5.0",
"resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz",
@@ -12097,6 +14058,13 @@
"resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
"integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o="
},
+ "traverse": {
+ "version": "0.3.9",
+ "resolved": "https://registry.npmjs.org/traverse/-/traverse-0.3.9.tgz",
+ "integrity": "sha1-cXuPIgzAu3tE5AUUwisui7xw2Lk=",
+ "dev": true,
+ "optional": true
+ },
"trim-newlines": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz",
@@ -12281,8 +14249,7 @@
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz",
"integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=",
- "dev": true,
- "optional": true
+ "dev": true
},
"wide-align": {
"version": "1.1.5",
diff --git a/package.json b/package.json
index 8bec757..e5ebcfd 100644
--- a/package.json
+++ b/package.json
@@ -25,15 +25,13 @@
"@electron-forge/cli": "^6.0.0-beta.63",
"@electron-forge/maker-deb": "^6.0.0-beta.63",
"@electron-forge/maker-rpm": "^6.0.0-beta.63",
- "@electron-forge/maker-squirrel": "^6.0.0-beta.33",
+ "@electron-forge/maker-squirrel": "6.0.0-beta.33",
"@electron-forge/maker-zip": "^6.0.0-beta.63",
"electron": "^17.0.0",
"electron-rebuild": "^3.2.7"
},
"dependencies": {
"@ocogeclub/amg8833": "file:local_modules/@ocogeclub/amg8833",
- "@ocogeclub/bme280": "file:local_modules/@ocogeclub/bme280",
- "@ocogeclub/paj7620": "file:local_modules/@ocogeclub/paj7620",
"@ocogeclub/pigpio": "file:local_modules/@ocogeclub/pigpio",
"@tensorflow-models/blazeface": "^0.0.7",
"@tensorflow-models/knn-classifier": "^1.2.2",
@@ -76,4 +74,4 @@
]
}
}
-}
\ No newline at end of file
+}
diff --git a/ugj_blocks.js b/ugj_blocks.js
index b82b78f..7594fa3 100644
--- a/ugj_blocks.js
+++ b/ugj_blocks.js
@@ -1003,284 +1003,8 @@ Blockly.Python['ugj_i2c_write_device'] = function (block) {
};
/** センサー */
-/********* */
-/** BME280 */
-/********* */
-Blockly.Blocks['ugj_bme280'] = {
- init: function () {
- this.appendDummyInput()
- .appendField("BME280(アドレス")
- .appendField(new Blockly.FieldDropdown([["0x76", "0x76"], ["0x77", "0x77"]]), "addr")
- .appendField(")の計測値を取得");
- this.setInputsInline(true);
- this.setPreviousStatement(true, null);
- this.setNextStatement(true, null);
- this.setStyle('sensor_blocks');
- this.setTooltip("環境センサーBME280で、気温(摂氏)、湿度(%)、気圧(hPa)を計測します。計測結果は計測値ブロックで参照します。");
- this.setHelpUrl("");
- }
-};
-Blockly.JavaScript['ugj_bme280'] = function (block) {
- var dropdown_addr = block.getFieldValue('addr');
- Blockly.JavaScript.provideFunction_(
- 'require_bme280', [`const _bme280 = require('@ocogeclub/bme280');`]
- );
- var code = `const options = {
- i2cBusNo: ${elutil.i2c_bus},
- i2cAddress: ${dropdown_addr}
-};
-await _bme280.init(options);
-let _thp = await _bme280.readSensorData();
-let _bmedata = [];
-_bmedata[0] = Math.round(_thp.temperature_C * 10) / 10;
-_bmedata[1] = Math.round(_thp.humidity * 10) / 10;
-_bmedata[2] = Math.round(_thp.pressure_hPa);
-await _bme280.cancel();
- `;
- return code;
-};
-Blockly.Blocks['ugj_bme280_data'] = {
- init: function () {
- this.appendDummyInput()
- .appendField(new Blockly.FieldDropdown([["気温", "0"], ["湿度", "1"], ["気圧", "2"]]), "thp");
- this.setInputsInline(true);
- this.setOutput(true, null);
- this.setStyle('sensor_blocks');
- this.setTooltip("BME280 の計測値を返します。");
- this.setHelpUrl("");
- }
-};
-Blockly.JavaScript['ugj_bme280_data'] = function (block) {
- var dropdown_thp = block.getFieldValue('thp');
- var code = `_bmedata[${dropdown_thp}]`;
- return [code, Blockly.JavaScript.ORDER_ATOMIC];
-};
-/********** */
-/** PAJ7620 */
-/********** */
-var ugjGestureInitDefinition = {
- "type": "ugj_gesture_init",
- "message0": "%{BKY_UGJ_GESTURE_INIT_TITLE}",
- "args0": [
- {
- "type": "input_value",
- "name": "i2c_addr",
- "check": "Number"
- }
- ],
- "inputsInline": true,
- "previousStatement": null,
- "nextStatement": null,
- "tooltip": "%{BKY_UGJ_GESTURE_INIT_TOOLTIP}",
- "helpUrl": "",
- "style": "sensor_blocks"
-};
-Blockly.Blocks['ugj_gesture_init'] = {
- init: function () {
- this.jsonInit(ugjGestureInitDefinition);
- }
-};
-Blockly.JavaScript['ugj_gesture_init'] = function (block) {
- var value_i2c_addr = Blockly.JavaScript.valueToCode(block, 'i2c_addr', Blockly.JavaScript.ORDER_ATOMIC);
- Blockly.JavaScript.provideFunction_(
- 'require_paj7620', [`const _paj7620 = require('@ocogeclub/paj7620');`]
- );
- var code = `await _paj7620.init(${elutil.i2c_bus}, ${value_i2c_addr});
- `;
- return code;
-};
-Blockly.Python['ugj_gesture_init'] = function (block) {
- var value_i2c_addr = Blockly.Python.valueToCode(block, 'i2c_addr', Blockly.Python.ORDER_ATOMIC);
- // TODO: Assemble Python into code variable.
- var code = '...\n';
- return code;
-};
-/****************** */
-/** Gesture Read ** */
-/****************** */
-var ugjGestureReadDefinition = {
- "type": "ugj_gesture_read",
- "message0": "%{BKY_UGJ_GESTURE_READ_TITLE}",
- "inputsInline": true,
- "output": "Number",
- "tooltip": "%{BKY_UGJ_GESTURE_READ_TOOLTIP}",
- "helpUrl": "https://ocoge.club/sensors/paj7620.html",
- "style": "sensor_blocks"
-};
-Blockly.Blocks['ugj_gesture_read'] = {
- init: function () {
- this.jsonInit(ugjGestureReadDefinition);
- }
-};
-Blockly.JavaScript['ugj_gesture_read'] = function (block) {
- var code = 'await _paj7620.return_gesture()';
- return [code, Blockly.JavaScript.ORDER_ATOMIC];
-};
-Blockly.Python['ugj_gesture_read'] = function (block) {
- // TODO: Assemble Python into code variable.
- var code = '...';
- // TODO: Change ORDER_NONE to the correct strength.
- return [code, Blockly.Python.ORDER_NONE];
-};
-/****************** */
-/** Gesture Stop ** */
-/****************** */
-var ugjGestureStopDefinition = {
- "type": "ugj_gesture_stop",
- "message0": "%{BKY_UGJ_GESTURE_STOP_TITLE}",
- "inputsInline": true,
- "previousStatement": null,
- "nextStatement": null,
- "tooltip": "%{BKY_UGJ_GESTURE_STOP_TOOLTIP}",
- "helpUrl": "",
- "style": "sensor_blocks"
-};
-Blockly.Blocks['ugj_gesture_stop'] = {
- init: function () {
- this.jsonInit(ugjGestureStopDefinition);
- }
-};
-Blockly.JavaScript['ugj_gesture_stop'] = function (block) {
- var code = 'await _paj7620.stop();\n';
- return code;
-};
-Blockly.Python['ugj_gesture_stop'] = function (block) {
- // TODO: Assemble Python into code variable.
- var code = '...\n';
- return code;
-};
-
-/******************* */
-/** Init Grid-Eye ** */
-/******************* */
-var ugjGridEyeInitDefinition = {
- "type": "ugj_grideye_init",
- "message0": "%{BKY_UGJ_GRIDEYE_INIT_TITLE}",
- "args0": [
- {
- "type": "field_dropdown",
- "name": "addr",
- "options": [
- [
- "0x68",
- "0x68"
- ],
- [
- "0x69",
- "0x69"
- ]
- ]
- }
- ],
- "inputsInline": true,
- "previousStatement": null,
- "nextStatement": null,
- "tooltip": "%{BKY_UGJ_GRIDEYE_INIT_TOOLTIP}",
- "helpUrl": "",
- "style": "sensor_blocks"
-};
-Blockly.Blocks['ugj_grideye_init'] = {
- init: function () {
- this.jsonInit(ugjGridEyeInitDefinition);
- }
-};
-Blockly.JavaScript['ugj_grideye_init'] = function (block) {
- var dropdown_addr = block.getFieldValue('addr');
- Blockly.JavaScript.provideFunction_(
- 'require_amg8833', [`const _amg8833 = require('@ocogeclub/amg8833');`]
- );
- var code = `await _amg8833.init(${elutil.i2c_bus}, ${dropdown_addr});\n`;
- return code;
-};
-Blockly.Python['ugj_grideye_init'] = function (block) {
- var dropdown_addr = block.getFieldValue('addr');
- // TODO: Assemble Python into code variable.
- var code = '...\n';
- return code;
-};
-/********************** */
-/** Grid-Eye 本体温度 ** */
-/********************** */
-var ugjGridEyeThermistorDefinition = {
- "type": "ugj_grideye_thermistor",
- "message0": "%{BKY_UGJ_GRIDEYE_THERMISTOR_TITLE}",
- "output": "Number",
- "tooltip": "%{BKY_UGJ_GRIDEYE_THERMISTOR_TOOLTIP}",
- "helpUrl": "",
- "style": "sensor_blocks"
-};
-Blockly.Blocks['ugj_grideye_thermistor'] = {
- init: function () {
- this.jsonInit(ugjGridEyeThermistorDefinition);
- }
-};
-Blockly.JavaScript['ugj_grideye_thermistor'] = function (block) {
- var code = `await _amg8833.read_thermistor()`;
- return [code, Blockly.JavaScript.ORDER_NONE];
-};
-Blockly.Python['ugj_grideye_thermistor'] = function (block) {
- // TODO: Assemble Python into code variable.
- var code = '...';
- // TODO: Change ORDER_NONE to the correct strength.
- return [code, Blockly.Python.ORDER_NONE];
-};
-
-/**************************** */
-/** Read Temperature Array ** */
-/**************************** */
-var ugjGridEyeReadDefinition = {
- "type": "ugj_grideye_read",
- "message0": "%{BKY_UGJ_GRIDEYE_READ_TITLE}",
- "inputsInline": true,
- "output": "Array",
- "tooltip": "%{BKY_UGJ_GRIDEYE_READ_TOOLTIP}",
- "helpUrl": "",
- "style": "sensor_blocks"
-};
-Blockly.Blocks['ugj_grideye_read'] = {
- init: function () {
- this.jsonInit(ugjGridEyeReadDefinition);
- }
-};
-Blockly.JavaScript['ugj_grideye_read'] = function (block) {
- var code = 'await _amg8833.read_temp_array()';
- return [code, Blockly.JavaScript.ORDER_ATOMIC];
-};
-Blockly.Python['ugj_grideye_read'] = function (block) {
- // TODO: Assemble Python into code variable.
- var code = '...';
- // TODO: Change ORDER_NONE to the correct strength.
- return [code, Blockly.Python.ORDER_NONE];
-};
-/******************* */
-/** Stop Grid-Eye ** */
-/******************* */
-var ugjGridEyeStopDefinition = {
- "type": "ugj_grideye_stop",
- "message0": "%{BKY_UGJ_GRIDEYE_STOP_TITLE}",
- "inputsInline": true,
- "previousStatement": null,
- "nextStatement": null,
- "tooltip": "%{BKY_UGJ_GRIDEYE_STOP_TOOLTIP}",
- "helpUrl": "",
- "style": "sensor_blocks"
-};
-Blockly.Blocks['ugj_grideye_stop'] = {
- init: function () {
- this.jsonInit(ugjGridEyeStopDefinition);
- }
-};
-Blockly.JavaScript['ugj_grideye_stop'] = function (block) {
- var code = 'await _amg8833.stop();\n';
- return code;
-};
-Blockly.Python['ugj_grideye_stop'] = function (block) {
- // TODO: Assemble Python into code variable.
- var code = '...\n';
- return code;
-};
/** Multimedia *****************************************************************************************************/