mirror of
https://github.com/kvz/bash3boilerplate.git
synced 2024-12-24 08:36:37 +00:00
Merge branch 'master' of github.com:kvz/bash3boilerplate
This commit is contained in:
commit
23ce0e6b85
25
CHANGELOG.md
25
CHANGELOG.md
@ -11,15 +11,23 @@ Unplanned.
|
|||||||
## master
|
## master
|
||||||
|
|
||||||
Released: TBA.
|
Released: TBA.
|
||||||
[Diff](https://github.com/kvz/bash3boilerplate/compare/v2.4.0...master).
|
[Diff](https://github.com/kvz/bash3boilerplate/compare/v2.4.2...master).
|
||||||
|
|
||||||
|
## v2.4.2
|
||||||
|
|
||||||
## v2.4.0
|
Released: 2019-11-07.
|
||||||
|
[Diff](https://github.com/kvz/bash3boilerplate/compare/v2.4.1...v2.4.2).
|
||||||
|
|
||||||
Released: 2016-12-21.
|
- [x] Upgrade to `lanyon@0.1.16`
|
||||||
[Diff](https://github.com/kvz/bash3boilerplate/compare/v2.3.0...v2.4.0).
|
- [x] Capture correct error_code in err_report (#124, @eval)
|
||||||
|
- [x] Enhanced ini file handling: create new file, create new sections, handle default section, read key from given section (@rfuehrer)
|
||||||
|
|
||||||
- [x] Upgrade to `lanyon@0.0.143`
|
## v2.4.1
|
||||||
|
|
||||||
|
Released: 2019-11-07.
|
||||||
|
[Diff](https://github.com/kvz/bash3boilerplate/compare/v2.3.0...v2.4.1).
|
||||||
|
|
||||||
|
- [x] Upgrade to `lanyon@0.1.7`
|
||||||
- [x] Allow counting how many times an argument is used (@genesiscloud)
|
- [x] Allow counting how many times an argument is used (@genesiscloud)
|
||||||
- [x] Fix typos in megamount (thanks @gsaponaro)
|
- [x] Fix typos in megamount (thanks @gsaponaro)
|
||||||
- [x] Enable color in screen or tmux (#92, @gmasse)
|
- [x] Enable color in screen or tmux (#92, @gmasse)
|
||||||
@ -31,6 +39,13 @@ Released: 2016-12-21.
|
|||||||
- [x] Add support for repeatable arguments (@genesiscloud)
|
- [x] Add support for repeatable arguments (@genesiscloud)
|
||||||
- [x] Fix remaining warnings with shellcheck v0.7.0 (#107, @genesiscloud)
|
- [x] Fix remaining warnings with shellcheck v0.7.0 (#107, @genesiscloud)
|
||||||
|
|
||||||
|
## v2.4.0
|
||||||
|
|
||||||
|
Released: 2016-12-21.
|
||||||
|
[Diff](https://github.com/kvz/bash3boilerplate/compare/v2.3.0...v2.4.0).
|
||||||
|
|
||||||
|
- [x] Upgrade to `lanyon@0.0.143`
|
||||||
|
|
||||||
## v2.3.0
|
## v2.3.0
|
||||||
|
|
||||||
Released: 2016-12-21.
|
Released: 2016-12-21.
|
||||||
|
10
README.md
10
README.md
@ -98,12 +98,11 @@ As of `v1.0.3`, b3bp offers some nice re-usable libraries in `./src`. In order t
|
|||||||
It is nice to have a Bash package that can not only be used in the terminal, but also invoked as a command line function. In order to achieve this, the exporting of your functionality *should* follow this pattern:
|
It is nice to have a Bash package that can not only be used in the terminal, but also invoked as a command line function. In order to achieve this, the exporting of your functionality *should* follow this pattern:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
if [ "${BASH_SOURCE[0]}" != "${0}" ]; then
|
if [[ "${BASH_SOURCE[0]}" = "${0}" ]]; then
|
||||||
export -f my_script
|
|
||||||
else
|
|
||||||
my_script "${@}"
|
my_script "${@}"
|
||||||
exit $?
|
exit $?
|
||||||
fi
|
fi
|
||||||
|
export -f my_script
|
||||||
```
|
```
|
||||||
|
|
||||||
This allows a user to `source` your script or invoke it as a script.
|
This allows a user to `source` your script or invoke it as a script.
|
||||||
@ -138,7 +137,7 @@ $ my_script some more args --blah
|
|||||||
1. Use `set`, rather than relying on a shebang like `#!/usr/bin/env bash -e`, since that is neutralized when someone runs your script as `bash yourscript.sh`.
|
1. Use `set`, rather than relying on a shebang like `#!/usr/bin/env bash -e`, since that is neutralized when someone runs your script as `bash yourscript.sh`.
|
||||||
1. Use `#!/usr/bin/env bash`, as it is more portable than `#!/bin/bash`.
|
1. Use `#!/usr/bin/env bash`, as it is more portable than `#!/bin/bash`.
|
||||||
1. Use `${BASH_SOURCE[0]}` if you refer to current file, even if it is sourced by a parent script. In other cases, use `${0}`.
|
1. Use `${BASH_SOURCE[0]}` if you refer to current file, even if it is sourced by a parent script. In other cases, use `${0}`.
|
||||||
1. Use `:-` if you want to test variables that could be undeclared. For instance, with `if [ "${NAME:-}" = "Kevin" ]`, `$NAME` will evaluate to `Kevin` if the variable is empty. The variable itself will remain unchanged. The syntax to assign a default value is `${NAME:=Kevin}`.
|
1. Use `:-` if you want to test variables that could be undeclared. For instance, with `if [[ "${NAME:-}" = "Kevin" ]]`, `$NAME` will evaluate to `Kevin` if the variable is empty. The variable itself will remain unchanged. The syntax to assign a default value is `${NAME:=Kevin}`.
|
||||||
|
|
||||||
## Who uses b3bp?
|
## Who uses b3bp?
|
||||||
|
|
||||||
@ -167,6 +166,9 @@ We are looking for endorsements! Are you also using b3bp? [Let us know](https://
|
|||||||
- [Germain Masse](https://github.com/gmasse)
|
- [Germain Masse](https://github.com/gmasse)
|
||||||
- [A. G. Madi](https://github.com/warpengineer)
|
- [A. G. Madi](https://github.com/warpengineer)
|
||||||
- [Lukas Stockner](mailto:oss@genesiscloud.com)
|
- [Lukas Stockner](mailto:oss@genesiscloud.com)
|
||||||
|
- [Gert Goet](https://github.com/eval)
|
||||||
|
- [@rfuehrer](https://github.com/rfuehrer)
|
||||||
|
|
||||||
|
|
||||||
## License
|
## License
|
||||||
|
|
||||||
|
@ -61,8 +61,7 @@ trap __b3bp_cleanup_before_exit EXIT
|
|||||||
|
|
||||||
# requires `set -o errtrace`
|
# requires `set -o errtrace`
|
||||||
__b3bp_err_report() {
|
__b3bp_err_report() {
|
||||||
local error_code
|
local error_code=${?}
|
||||||
error_code=${?}
|
|
||||||
# shellcheck disable=SC2154
|
# shellcheck disable=SC2154
|
||||||
error "Error in ${__file} in function ${1} on line ${2}"
|
error "Error in ${__file} in function ${1} on line ${2}"
|
||||||
exit ${error_code}
|
exit ${error_code}
|
||||||
|
5
main.sh
5
main.sh
@ -7,7 +7,7 @@
|
|||||||
#
|
#
|
||||||
# LOG_LEVEL=7 ./main.sh -f /tmp/x -d (change this for your script)
|
# LOG_LEVEL=7 ./main.sh -f /tmp/x -d (change this for your script)
|
||||||
#
|
#
|
||||||
# Based on a template by BASH3 Boilerplate v2.3.0
|
# Based on a template by BASH3 Boilerplate v2.4.1
|
||||||
# http://bash3boilerplate.sh/#authors
|
# http://bash3boilerplate.sh/#authors
|
||||||
#
|
#
|
||||||
# The MIT License (MIT)
|
# The MIT License (MIT)
|
||||||
@ -360,8 +360,7 @@ trap __b3bp_cleanup_before_exit EXIT
|
|||||||
|
|
||||||
# requires `set -o errtrace`
|
# requires `set -o errtrace`
|
||||||
__b3bp_err_report() {
|
__b3bp_err_report() {
|
||||||
local error_code
|
local error_code=${?}
|
||||||
error_code=${?}
|
|
||||||
error "Error in ${__file} in function ${1} on line ${2}"
|
error "Error in ${__file} in function ${1} on line ${2}"
|
||||||
exit ${error_code}
|
exit ${error_code}
|
||||||
}
|
}
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "bash3boilerplate",
|
"name": "bash3boilerplate",
|
||||||
"description": "Copypastable templates to write better bash scripts",
|
"description": "Copypastable templates to write better bash scripts",
|
||||||
"version": "2.4.0",
|
"version": "2.4.1",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"build:production": "LANYON_ENV=production lanyon build",
|
"build:production": "LANYON_ENV=production lanyon build",
|
||||||
"build": "lanyon build",
|
"build": "lanyon build",
|
||||||
@ -31,7 +31,7 @@
|
|||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"cross-env": "3.1.3",
|
"cross-env": "3.1.3",
|
||||||
"fakefile": "0.0.8",
|
"fakefile": "0.0.8",
|
||||||
"lanyon": "0.1.7",
|
"lanyon": "0.1.16",
|
||||||
"next-update": "1.5.1",
|
"next-update": "1.5.1",
|
||||||
"npm-run-all": "3.1.2",
|
"npm-run-all": "3.1.2",
|
||||||
"replace": "0.3.0"
|
"replace": "0.3.0"
|
||||||
|
@ -7,18 +7,19 @@
|
|||||||
#
|
#
|
||||||
# Limitations:
|
# Limitations:
|
||||||
#
|
#
|
||||||
# - All keys inside the .ini file must be unique, regardless of the use of sections
|
# - All keys inside a section of the .ini file must be unique
|
||||||
|
# - Optional comment parameter for the creation of new entries
|
||||||
#
|
#
|
||||||
# Usage as a function:
|
# Usage as a function:
|
||||||
#
|
#
|
||||||
# source ini_val.sh
|
# source ini_val.sh
|
||||||
# ini_val data.ini connection.host 127.0.0.1
|
# ini_val data.ini connection.host 127.0.0.1 "Host name or IP address"
|
||||||
#
|
#
|
||||||
# Usage as a command:
|
# Usage as a command:
|
||||||
#
|
#
|
||||||
# ini_val.sh data.ini connection.host 127.0.0.1
|
# ini_val.sh data.ini connection.host 127.0.0.1 "Host name or IP address"
|
||||||
#
|
#
|
||||||
# Based on a template by BASH3 Boilerplate v2.3.0
|
# Based on a template by BASH3 Boilerplate v2.4.1
|
||||||
# http://bash3boilerplate.sh/#authors
|
# http://bash3boilerplate.sh/#authors
|
||||||
#
|
#
|
||||||
# The MIT License (MIT)
|
# The MIT License (MIT)
|
||||||
@ -30,19 +31,35 @@ function ini_val() {
|
|||||||
local file="${1:-}"
|
local file="${1:-}"
|
||||||
local sectionkey="${2:-}"
|
local sectionkey="${2:-}"
|
||||||
local val="${3:-}"
|
local val="${3:-}"
|
||||||
local delim=" = "
|
local comment="${4:-}"
|
||||||
|
local delim="="
|
||||||
|
local comment_delim=";"
|
||||||
local section=""
|
local section=""
|
||||||
local key=""
|
local key=""
|
||||||
|
local current=""
|
||||||
|
# add default section
|
||||||
|
local section_default="default"
|
||||||
|
|
||||||
|
if [[ ! -f "${file}" ]]; then
|
||||||
|
# touch file if not exists
|
||||||
|
touch "${file}"
|
||||||
|
fi
|
||||||
|
|
||||||
# Split on . for section. However, section is optional
|
# Split on . for section. However, section is optional
|
||||||
IFS='.' read -r section key <<< "${sectionkey}"
|
IFS='.' read -r section key <<< "${sectionkey}"
|
||||||
if [[ ! "${key}" ]]; then
|
if [[ ! "${key}" ]]; then
|
||||||
key="${section}"
|
key="${section}"
|
||||||
section=""
|
# default section if not given
|
||||||
|
section="${section_default}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
local current
|
current=$(sed -En "/^\[/{h;d;};G;s/^${key}([[:blank:]]*)${delim}(.*)\n\[${section}\]$/\2/p" "${file}"|awk '{$1=$1};1')
|
||||||
current=$(awk -F "${delim}" "/^${key}${delim}/ {for (i=2; i<NF; i++) printf \$i \" \"; print \$NF}" "${file}")
|
|
||||||
|
if ! grep -q "\[${section}\]" "${file}"; then
|
||||||
|
# create section if not exists (empty line to seperate new section)
|
||||||
|
echo >> "${file}"
|
||||||
|
echo "[${section}]" >> "${file}"
|
||||||
|
fi
|
||||||
|
|
||||||
if [[ ! "${val}" ]]; then
|
if [[ ! "${val}" ]]; then
|
||||||
# get a value
|
# get a value
|
||||||
@ -51,19 +68,27 @@ function ini_val() {
|
|||||||
# set a value
|
# set a value
|
||||||
if [[ ! "${current}" ]]; then
|
if [[ ! "${current}" ]]; then
|
||||||
# doesn't exist yet, add
|
# doesn't exist yet, add
|
||||||
|
|
||||||
if [[ ! "${section}" ]]; then
|
if [[ ! "${section}" ]]; then
|
||||||
# no section was given, add to bottom of file
|
# if no section is given, propagate the default section
|
||||||
echo "${key}${delim}${val}" >> "${file}"
|
section=${section_default}
|
||||||
else
|
|
||||||
# add to section
|
|
||||||
sed -i.bak -e "/\\[${section}\\]/a ${key}${delim}${val}" "${file}"
|
|
||||||
# this .bak dance is done for BSD/GNU portability: http://stackoverflow.com/a/22084103/151666
|
|
||||||
rm -f "${file}.bak"
|
|
||||||
fi
|
fi
|
||||||
|
# add to section
|
||||||
|
if [[ ! "${comment}" ]]; then
|
||||||
|
# add new key/value without comment
|
||||||
|
RET="/\\[${section}\\]/a\\
|
||||||
|
${key}${delim}${val}"
|
||||||
|
else
|
||||||
|
# add new key/value with preceeding comment
|
||||||
|
RET="/\\[${section}\\]/a\\
|
||||||
|
${comment_delim}[${key}] ${comment}\\
|
||||||
|
${key}${delim}${val}"
|
||||||
|
fi
|
||||||
|
sed -i.bak -e "${RET}" "${file}"
|
||||||
|
# this .bak dance is done for BSD/GNU portability: http://stackoverflow.com/a/22084103/151666
|
||||||
|
rm -f "${file}.bak"
|
||||||
else
|
else
|
||||||
# replace existing
|
# replace existing (modified to replace only keys in given section)
|
||||||
sed -i.bak -e "/^${key}${delim}/s/${delim}.*/${delim}${val}/" "${file}"
|
sed -i.bak -e "/^\[${section}\]/,/^\[.*\]/ s|^\(${key}[ \t]*${delim}[ \t]*\).*$|\1${val}|" "${file}"
|
||||||
# this .bak dance is done for BSD/GNU portability: http://stackoverflow.com/a/22084103/151666
|
# this .bak dance is done for BSD/GNU portability: http://stackoverflow.com/a/22084103/151666
|
||||||
rm -f "${file}.bak"
|
rm -f "${file}.bak"
|
||||||
fi
|
fi
|
||||||
|
@ -20,7 +20,7 @@
|
|||||||
#
|
#
|
||||||
# megamount.sh smb://janedoe:abc123@192.168.0.1/documents /mnt/documents
|
# megamount.sh smb://janedoe:abc123@192.168.0.1/documents /mnt/documents
|
||||||
#
|
#
|
||||||
# Based on a template by BASH3 Boilerplate v2.3.0
|
# Based on a template by BASH3 Boilerplate v2.4.1
|
||||||
# http://bash3boilerplate.sh/#authors
|
# http://bash3boilerplate.sh/#authors
|
||||||
#
|
#
|
||||||
# The MIT License (MIT)
|
# The MIT License (MIT)
|
||||||
|
@ -18,7 +18,7 @@
|
|||||||
#
|
#
|
||||||
# parse_url.sh 'http://johndoe:abc123@example.com:8080/index.html'
|
# parse_url.sh 'http://johndoe:abc123@example.com:8080/index.html'
|
||||||
#
|
#
|
||||||
# Based on a template by BASH3 Boilerplate v2.3.0
|
# Based on a template by BASH3 Boilerplate v2.4.1
|
||||||
# http://bash3boilerplate.sh/#authors
|
# http://bash3boilerplate.sh/#authors
|
||||||
#
|
#
|
||||||
# The MIT License (MIT)
|
# The MIT License (MIT)
|
||||||
|
@ -16,7 +16,7 @@
|
|||||||
#
|
#
|
||||||
# ALLOW_REMAINDERS=1 templater.sh input.cfg output.cfg
|
# ALLOW_REMAINDERS=1 templater.sh input.cfg output.cfg
|
||||||
#
|
#
|
||||||
# Based on a template by BASH3 Boilerplate v2.3.0
|
# Based on a template by BASH3 Boilerplate v2.4.1
|
||||||
# http://bash3boilerplate.sh/#authors
|
# http://bash3boilerplate.sh/#authors
|
||||||
#
|
#
|
||||||
# The MIT License (MIT)
|
# The MIT License (MIT)
|
||||||
|
@ -2,7 +2,9 @@
|
|||||||
exists
|
exists
|
||||||
127.0.0.1
|
127.0.0.1
|
||||||
nginx, nodejs
|
nginx, nodejs
|
||||||
|
|
||||||
--> command: Replace three values in-place and show result
|
--> command: Replace three values in-place and show result
|
||||||
|
[default]
|
||||||
orphan = no more
|
orphan = no more
|
||||||
|
|
||||||
[connection]
|
[connection]
|
||||||
@ -10,11 +12,17 @@ host = 192.168.0.1
|
|||||||
|
|
||||||
[software]
|
[software]
|
||||||
packages = vim
|
packages = vim
|
||||||
|
|
||||||
|
[comment]
|
||||||
|
;[command] this key is commented
|
||||||
|
command=commented
|
||||||
--> function: Read 3 values
|
--> function: Read 3 values
|
||||||
exists
|
exists
|
||||||
127.0.0.1
|
127.0.0.1
|
||||||
nginx, nodejs
|
nginx, nodejs
|
||||||
|
|
||||||
--> function: Replace three values in-place and show result
|
--> function: Replace three values in-place and show result
|
||||||
|
[default]
|
||||||
orphan = no more
|
orphan = no more
|
||||||
|
|
||||||
[connection]
|
[connection]
|
||||||
@ -22,3 +30,7 @@ host = 192.168.0.1
|
|||||||
|
|
||||||
[software]
|
[software]
|
||||||
packages = vim
|
packages = vim
|
||||||
|
|
||||||
|
[comment]
|
||||||
|
;[command] this key is commented
|
||||||
|
command=commented
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
[default]
|
||||||
orphan = exists
|
orphan = exists
|
||||||
|
|
||||||
[connection]
|
[connection]
|
||||||
|
4
test/scenario/ini_val/run.sh
Normal file → Executable file
4
test/scenario/ini_val/run.sh
Normal file → Executable file
@ -17,11 +17,13 @@ echo "--> command: Read 3 values"
|
|||||||
bash "${__root}/src/ini_val.sh" ./dummy.ini orphan
|
bash "${__root}/src/ini_val.sh" ./dummy.ini orphan
|
||||||
bash "${__root}/src/ini_val.sh" ./dummy.ini connection.host
|
bash "${__root}/src/ini_val.sh" ./dummy.ini connection.host
|
||||||
bash "${__root}/src/ini_val.sh" ./dummy.ini software.packages
|
bash "${__root}/src/ini_val.sh" ./dummy.ini software.packages
|
||||||
|
bash "${__root}/src/ini_val.sh" ./dummy.ini comment.command
|
||||||
|
|
||||||
echo "--> command: Replace three values in-place and show result"
|
echo "--> command: Replace three values in-place and show result"
|
||||||
bash "${__root}/src/ini_val.sh" ./dummy.ini orphan "no more"
|
bash "${__root}/src/ini_val.sh" ./dummy.ini orphan "no more"
|
||||||
bash "${__root}/src/ini_val.sh" ./dummy.ini connection.host "192.168.0.1"
|
bash "${__root}/src/ini_val.sh" ./dummy.ini connection.host "192.168.0.1"
|
||||||
bash "${__root}/src/ini_val.sh" ./dummy.ini software.packages "vim"
|
bash "${__root}/src/ini_val.sh" ./dummy.ini software.packages "vim"
|
||||||
|
bash "${__root}/src/ini_val.sh" ./dummy.ini comment.command "commented" "this key is commented"
|
||||||
cat dummy.ini
|
cat dummy.ini
|
||||||
rm -f dummy.ini
|
rm -f dummy.ini
|
||||||
|
|
||||||
@ -35,10 +37,12 @@ echo "--> function: Read 3 values"
|
|||||||
ini_val ./dummy.ini orphan
|
ini_val ./dummy.ini orphan
|
||||||
ini_val ./dummy.ini connection.host
|
ini_val ./dummy.ini connection.host
|
||||||
ini_val ./dummy.ini software.packages
|
ini_val ./dummy.ini software.packages
|
||||||
|
ini_val ./dummy.ini comment.command
|
||||||
|
|
||||||
echo "--> function: Replace three values in-place and show result"
|
echo "--> function: Replace three values in-place and show result"
|
||||||
ini_val ./dummy.ini orphan "no more"
|
ini_val ./dummy.ini orphan "no more"
|
||||||
ini_val ./dummy.ini connection.host "192.168.0.1"
|
ini_val ./dummy.ini connection.host "192.168.0.1"
|
||||||
ini_val ./dummy.ini software.packages "vim"
|
ini_val ./dummy.ini software.packages "vim"
|
||||||
|
ini_val ./dummy.ini comment.command "commented" "this key is commented"
|
||||||
cat dummy.ini
|
cat dummy.ini
|
||||||
rm -f dummy.ini
|
rm -f dummy.ini
|
||||||
|
84
yarn.lock
84
yarn.lock
@ -715,6 +715,18 @@
|
|||||||
lodash "^4.17.13"
|
lodash "^4.17.13"
|
||||||
to-fast-properties "^2.0.0"
|
to-fast-properties "^2.0.0"
|
||||||
|
|
||||||
|
"@types/babel-types@*", "@types/babel-types@^7.0.0":
|
||||||
|
version "7.0.7"
|
||||||
|
resolved "https://registry.yarnpkg.com/@types/babel-types/-/babel-types-7.0.7.tgz#667eb1640e8039436028055737d2b9986ee336e3"
|
||||||
|
integrity sha512-dBtBbrc+qTHy1WdfHYjBwRln4+LWqASWakLHsWHR2NWHIFkv4W3O070IGoGLEBrJBvct3r0L1BUPuvURi7kYUQ==
|
||||||
|
|
||||||
|
"@types/babylon@^6.16.2":
|
||||||
|
version "6.16.5"
|
||||||
|
resolved "https://registry.yarnpkg.com/@types/babylon/-/babylon-6.16.5.tgz#1c5641db69eb8cdf378edd25b4be7754beeb48b4"
|
||||||
|
integrity sha512-xH2e58elpj1X4ynnKp9qSnWlsRTIs6n3tgLGNfwAGHwePw0mulHQllV34n0T25uYSu1k0hRKkWXF890B1yS47w==
|
||||||
|
dependencies:
|
||||||
|
"@types/babel-types" "*"
|
||||||
|
|
||||||
"@types/q@^1.5.1":
|
"@types/q@^1.5.1":
|
||||||
version "1.5.2"
|
version "1.5.2"
|
||||||
resolved "https://registry.yarnpkg.com/@types/q/-/q-1.5.2.tgz#690a1475b84f2a884fd07cd797c00f5f31356ea8"
|
resolved "https://registry.yarnpkg.com/@types/q/-/q-1.5.2.tgz#690a1475b84f2a884fd07cd797c00f5f31356ea8"
|
||||||
@ -770,7 +782,7 @@ acorn-walk@^7.0.0:
|
|||||||
resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-7.0.0.tgz#c8ba6f0f1aac4b0a9e32d1f0af12be769528f36b"
|
resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-7.0.0.tgz#c8ba6f0f1aac4b0a9e32d1f0af12be769528f36b"
|
||||||
integrity sha512-7Bv1We7ZGuU79zZbb6rRqcpxo3OY+zrdtloZWoyD8fmGX+FeXRjE+iuGkZjSXLVovLzrsvMGMy0EkwA0E0umxg==
|
integrity sha512-7Bv1We7ZGuU79zZbb6rRqcpxo3OY+zrdtloZWoyD8fmGX+FeXRjE+iuGkZjSXLVovLzrsvMGMy0EkwA0E0umxg==
|
||||||
|
|
||||||
acorn@^3.0.4, acorn@^3.1.0, acorn@~3.3.0:
|
acorn@^3.0.4, acorn@^3.1.0:
|
||||||
version "3.3.0"
|
version "3.3.0"
|
||||||
resolved "https://registry.yarnpkg.com/acorn/-/acorn-3.3.0.tgz#45e37fb39e8da3f25baee3ff5369e2bb5f22017a"
|
resolved "https://registry.yarnpkg.com/acorn/-/acorn-3.3.0.tgz#45e37fb39e8da3f25baee3ff5369e2bb5f22017a"
|
||||||
|
|
||||||
@ -1207,6 +1219,29 @@ babel-plugin-dynamic-import-node@^2.3.0:
|
|||||||
dependencies:
|
dependencies:
|
||||||
object.assign "^4.1.0"
|
object.assign "^4.1.0"
|
||||||
|
|
||||||
|
babel-runtime@^6.26.0:
|
||||||
|
version "6.26.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe"
|
||||||
|
integrity sha1-llxwWGaOgrVde/4E/yM3vItWR/4=
|
||||||
|
dependencies:
|
||||||
|
core-js "^2.4.0"
|
||||||
|
regenerator-runtime "^0.11.0"
|
||||||
|
|
||||||
|
babel-types@^6.26.0:
|
||||||
|
version "6.26.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.26.0.tgz#a3b073f94ab49eb6fa55cd65227a334380632497"
|
||||||
|
integrity sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=
|
||||||
|
dependencies:
|
||||||
|
babel-runtime "^6.26.0"
|
||||||
|
esutils "^2.0.2"
|
||||||
|
lodash "^4.17.4"
|
||||||
|
to-fast-properties "^1.0.3"
|
||||||
|
|
||||||
|
babylon@^6.18.0:
|
||||||
|
version "6.18.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.18.0.tgz#af2f3b88fa6f5c1e4c634d1a0f8eac4f55b395e3"
|
||||||
|
integrity sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==
|
||||||
|
|
||||||
backo2@1.0.2:
|
backo2@1.0.2:
|
||||||
version "1.0.2"
|
version "1.0.2"
|
||||||
resolved "https://registry.yarnpkg.com/backo2/-/backo2-1.0.2.tgz#31ab1ac8b129363463e35b3ebb69f4dfcfba7947"
|
resolved "https://registry.yarnpkg.com/backo2/-/backo2-1.0.2.tgz#31ab1ac8b129363463e35b3ebb69f4dfcfba7947"
|
||||||
@ -2253,11 +2288,14 @@ console.table@0.7.0:
|
|||||||
easy-table "0.3.0"
|
easy-table "0.3.0"
|
||||||
|
|
||||||
constantinople@^3.0.1:
|
constantinople@^3.0.1:
|
||||||
version "3.1.0"
|
version "3.1.2"
|
||||||
resolved "https://registry.yarnpkg.com/constantinople/-/constantinople-3.1.0.tgz#7569caa8aa3f8d5935d62e1fa96f9f702cd81c79"
|
resolved "https://registry.yarnpkg.com/constantinople/-/constantinople-3.1.2.tgz#d45ed724f57d3d10500017a7d3a889c1381ae647"
|
||||||
|
integrity sha512-yePcBqEFhLOqSBtwYOGGS1exHo/s1xjekXiinh4itpNQGCu4KA1euPh1fg07N2wMITZXQkBz75Ntdt1ctGZouw==
|
||||||
dependencies:
|
dependencies:
|
||||||
acorn "^3.1.0"
|
"@types/babel-types" "^7.0.0"
|
||||||
is-expression "^2.0.1"
|
"@types/babylon" "^6.16.2"
|
||||||
|
babel-types "^6.26.0"
|
||||||
|
babylon "^6.18.0"
|
||||||
|
|
||||||
constants-browserify@^1.0.0:
|
constants-browserify@^1.0.0:
|
||||||
version "1.0.0"
|
version "1.0.0"
|
||||||
@ -2320,6 +2358,11 @@ core-js@^1.0.0:
|
|||||||
version "1.2.7"
|
version "1.2.7"
|
||||||
resolved "https://registry.yarnpkg.com/core-js/-/core-js-1.2.7.tgz#652294c14651db28fa93bd2d5ff2983a4f08c636"
|
resolved "https://registry.yarnpkg.com/core-js/-/core-js-1.2.7.tgz#652294c14651db28fa93bd2d5ff2983a4f08c636"
|
||||||
|
|
||||||
|
core-js@^2.4.0:
|
||||||
|
version "2.6.11"
|
||||||
|
resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.11.tgz#38831469f9922bded8ee21c9dc46985e0399308c"
|
||||||
|
integrity sha512-5wjnpaT/3dV+XB4borEsnAYQchn00XSgTAWKDkEqv+K8KevjbzmofK6hfJ9TZIlpj2N0xQpazy7PiRQiWHqzWg==
|
||||||
|
|
||||||
core-util-is@~1.0.0:
|
core-util-is@~1.0.0:
|
||||||
version "1.0.2"
|
version "1.0.2"
|
||||||
resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7"
|
resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7"
|
||||||
@ -3399,10 +3442,15 @@ estree-is-member-expression@^1.0.0:
|
|||||||
resolved "https://registry.yarnpkg.com/estree-is-member-expression/-/estree-is-member-expression-1.0.0.tgz#e724721e0a14949d363915fd71448eaa6312f590"
|
resolved "https://registry.yarnpkg.com/estree-is-member-expression/-/estree-is-member-expression-1.0.0.tgz#e724721e0a14949d363915fd71448eaa6312f590"
|
||||||
integrity sha512-Ec+X44CapIGExvSZN+pGkmr5p7HwUVQoPQSd458Lqwvaf4/61k/invHSh4BYK8OXnCkfEhWuIoG5hayKLQStIg==
|
integrity sha512-Ec+X44CapIGExvSZN+pGkmr5p7HwUVQoPQSd458Lqwvaf4/61k/invHSh4BYK8OXnCkfEhWuIoG5hayKLQStIg==
|
||||||
|
|
||||||
esutils@^2.0.0, esutils@^2.0.2:
|
esutils@^2.0.0:
|
||||||
version "2.0.2"
|
version "2.0.2"
|
||||||
resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b"
|
resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b"
|
||||||
|
|
||||||
|
esutils@^2.0.2:
|
||||||
|
version "2.0.3"
|
||||||
|
resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64"
|
||||||
|
integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==
|
||||||
|
|
||||||
etag@1.8.1, etag@^1.8.1, etag@~1.8.1:
|
etag@1.8.1, etag@^1.8.1, etag@~1.8.1:
|
||||||
version "1.8.1"
|
version "1.8.1"
|
||||||
resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887"
|
resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887"
|
||||||
@ -3566,15 +3614,10 @@ extend-shallow@^3.0.0, extend-shallow@^3.0.2:
|
|||||||
assign-symbols "^1.0.0"
|
assign-symbols "^1.0.0"
|
||||||
is-extendable "^1.0.1"
|
is-extendable "^1.0.1"
|
||||||
|
|
||||||
extend@3, extend@^3.0.0, extend@~3.0.0:
|
extend@3, extend@^3.0.0, extend@~3.0.0, extend@~3.0.2:
|
||||||
version "3.0.2"
|
version "3.0.2"
|
||||||
resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa"
|
resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa"
|
||||||
|
|
||||||
extend@~3.0.2:
|
|
||||||
version "3.0.2"
|
|
||||||
resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa"
|
|
||||||
integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==
|
|
||||||
|
|
||||||
external-editor@^1.0.1:
|
external-editor@^1.0.1:
|
||||||
version "1.1.1"
|
version "1.1.1"
|
||||||
resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-1.1.1.tgz#12d7b0db850f7ff7e7081baf4005700060c4600b"
|
resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-1.1.1.tgz#12d7b0db850f7ff7e7081baf4005700060c4600b"
|
||||||
@ -4905,13 +4948,6 @@ is-directory@^0.3.1:
|
|||||||
resolved "https://registry.yarnpkg.com/is-directory/-/is-directory-0.3.1.tgz#61339b6f2475fc772fd9c9d83f5c8575dc154ae1"
|
resolved "https://registry.yarnpkg.com/is-directory/-/is-directory-0.3.1.tgz#61339b6f2475fc772fd9c9d83f5c8575dc154ae1"
|
||||||
integrity sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=
|
integrity sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=
|
||||||
|
|
||||||
is-expression@^2.0.1:
|
|
||||||
version "2.1.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/is-expression/-/is-expression-2.1.0.tgz#91be9d47debcfef077977e9722be6dcfb4465ef0"
|
|
||||||
dependencies:
|
|
||||||
acorn "~3.3.0"
|
|
||||||
object-assign "^4.0.1"
|
|
||||||
|
|
||||||
is-expression@^3.0.0:
|
is-expression@^3.0.0:
|
||||||
version "3.0.0"
|
version "3.0.0"
|
||||||
resolved "https://registry.yarnpkg.com/is-expression/-/is-expression-3.0.0.tgz#39acaa6be7fd1f3471dc42c7416e61c24317ac9f"
|
resolved "https://registry.yarnpkg.com/is-expression/-/is-expression-3.0.0.tgz#39acaa6be7fd1f3471dc42c7416e61c24317ac9f"
|
||||||
@ -8136,6 +8172,11 @@ regenerate@^1.4.0:
|
|||||||
resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.0.tgz#4a856ec4b56e4077c557589cae85e7a4c8869a11"
|
resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.0.tgz#4a856ec4b56e4077c557589cae85e7a4c8869a11"
|
||||||
integrity sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg==
|
integrity sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg==
|
||||||
|
|
||||||
|
regenerator-runtime@^0.11.0:
|
||||||
|
version "0.11.1"
|
||||||
|
resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz#be05ad7f9bf7d22e056f9726cee5017fbf19e2e9"
|
||||||
|
integrity sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==
|
||||||
|
|
||||||
regenerator-transform@^0.14.0:
|
regenerator-transform@^0.14.0:
|
||||||
version "0.14.1"
|
version "0.14.1"
|
||||||
resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.14.1.tgz#3b2fce4e1ab7732c08f665dfdb314749c7ddd2fb"
|
resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.14.1.tgz#3b2fce4e1ab7732c08f665dfdb314749c7ddd2fb"
|
||||||
@ -9532,6 +9573,11 @@ to-arraybuffer@^1.0.0:
|
|||||||
version "1.0.1"
|
version "1.0.1"
|
||||||
resolved "https://registry.yarnpkg.com/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43"
|
resolved "https://registry.yarnpkg.com/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43"
|
||||||
|
|
||||||
|
to-fast-properties@^1.0.3:
|
||||||
|
version "1.0.3"
|
||||||
|
resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-1.0.3.tgz#b83571fa4d8c25b82e231b06e3a3055de4ca1a47"
|
||||||
|
integrity sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=
|
||||||
|
|
||||||
to-fast-properties@^2.0.0:
|
to-fast-properties@^2.0.0:
|
||||||
version "2.0.0"
|
version "2.0.0"
|
||||||
resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e"
|
resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e"
|
||||||
|
Loading…
Reference in New Issue
Block a user