IEEE.org
|
IEEE Xplore Digital Library
|
IEEE Standards
|
IEEE Spectrum
|
More Sites
Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Open at RIT
My Conservation Life
Conservation360
Commits
0ff183f7
Unverified
Commit
0ff183f7
authored
Feb 05, 2020
by
Anthony Palumbo
Committed by
GitHub
Feb 05, 2020
Browse files
Export CSV (#67)
parent
4f45c7eb
Changes
13
Expand all
Hide whitespace changes
Inline
Side-by-side
db/api/app.js
View file @
0ff183f7
...
...
@@ -21,4 +21,4 @@ app.use(bodyParser.json());
app
.
use
(
express
.
static
(
'
./client
'
));
app
.
use
(
'
/api/v1
'
,
routes
.
v1
);
module
.
exports
=
app
;
\ No newline at end of file
module
.
exports
=
app
;
db/api/package-lock.json
View file @
0ff183f7
...
...
@@ -3800,7 +3800,8 @@
"lodash"
:
{
"version"
:
"4.17.15"
,
"resolved"
:
"https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz"
,
"integrity"
:
"sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A=="
"integrity"
:
"sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A=="
,
"dev"
:
true
},
"lodash.sortby"
:
{
"version"
:
"4.7.0"
,
...
...
db/api/v1/controllers/assetDefinitions.controller.js
View file @
0ff183f7
...
...
@@ -22,7 +22,57 @@ const create = async (req, res, next) => {
}
};
/**
* Gets all the different asset types from the database.
* @param {*} req - the request
* @param {*} res - the response
* @param {*} next - the next middleware function
*/
const
getAssetTypes
=
async
(
req
,
res
,
next
)
=>
{
const
predicates
=
req
.
query
;
try
{
const
assetTypes
=
await
db
.
assetDefinitions
.
findAssetTypes
(
predicates
);
res
.
json
(
assetTypes
);
}
catch
(
e
)
{
next
(
e
);
}
};
/**
* Gets the property types for a given asset type.
* @param {*} req - the request
* @param {*} res - the response
* @param {*} next - the next middleware function
*/
const
getAssetPropTypes
=
async
(
req
,
res
,
next
)
=>
{
try
{
const
prop_types
=
await
db
.
assetDefinitions
.
findAssetPropTypes
(
req
.
valid
.
assetTypeID
);
res
.
json
(
prop_types
);
}
catch
(
e
)
{
next
(
e
);
}
};
/**
* Gets all the properties for all assets of a given asset type.
* @param {*} req - the request
* @param {*} res - the response
* @param {*} next - the next middleware function
*/
const
getAssetPropsByTypeID
=
async
(
req
,
res
,
next
)
=>
{
try
{
const
data
=
await
db
.
assetDefinitions
.
findAssetPropsByTypeID
(
req
.
valid
.
assetTypeID
);
res
.
json
(
data
);
}
catch
(
e
)
{
next
(
e
);
}
};
module
.
exports
=
{
find
,
create
};
\ No newline at end of file
create
,
getAssetTypes
,
getAssetPropTypes
,
getAssetPropsByTypeID
};
db/api/v1/db/assetDefinitions.db.js
View file @
0ff183f7
const
utils
=
require
(
'
../utils
'
);
/**
* Query to find all asset types.
*/
const
findAssetTypes
=
async
()
=>
{
let
query
=
`
SELECT
...
...
@@ -13,6 +16,27 @@ const findAssetTypes = async () => {
return
global
.
dbPool
.
query
(
query
);
};
/**
* Query to find the property types for a given assetTypeID.
* @param {number} assetTypeID - the asset type ID
*/
const
findAssetPropTypes
=
async
(
assetTypeID
)
=>
{
let
query
=
`
SELECT
id, name
FROM
property
WHERE
asset_type_id = $1
ORDER BY
id
`
;
const
params
=
[
assetTypeID
];
return
global
.
dbPool
.
query
(
query
,
params
);
};
const
findAssetProperties
=
async
()
=>
{
let
query
=
`
SELECT
...
...
@@ -29,6 +53,30 @@ const findAssetProperties = async () => {
return
global
.
dbPool
.
query
(
query
);
};
/**
* Finds all asset properties for all assets for a given asset type ID.
* @param {number} assetTypeID - the asset type ID
*/
const
findAssetPropsByTypeID
=
async
(
assetTypeID
)
=>
{
let
query
=
`
SELECT
asset.id as id, asset_property.value as value, asset_property.property_id as property_id
FROM
asset
INNER JOIN
asset_property
ON
asset_property.asset_id=asset.id
WHERE
asset_type_id = $1
`
;
const
params
=
[
assetTypeID
];
return
global
.
dbPool
.
query
(
query
,
params
);
};
/**
* Creates an asset type row in the database.
*
...
...
@@ -126,5 +174,8 @@ const create = async (assetDefinition) => {
module
.
exports
=
{
find
,
create
};
\ No newline at end of file
create
,
findAssetTypes
,
findAssetPropTypes
,
findAssetPropsByTypeID
};
db/api/v1/routes/index.js
View file @
0ff183f7
...
...
@@ -48,6 +48,10 @@ router.get(
router
.
post
(
'
/assets
'
,
assets
.
create
);
router
.
get
(
'
/assetTypes
'
,
assetDefinitions
.
getAssetTypes
);
router
.
post
(
'
/assetPropTypes
'
,
validate
(
param
.
body
,
'
assetTypeID
'
,
type
.
id
,
true
),
assetDefinitions
.
getAssetPropTypes
);
router
.
post
(
'
/assetPropsByTypeID
'
,
validate
(
param
.
body
,
'
assetTypeID
'
,
type
.
id
,
true
),
assetDefinitions
.
getAssetPropsByTypeID
);
// router.post('/assets', assets.create); //example create
// router.get('/assets/:id', assets.get);
// router.put('/assets/:id', assets.update); //example update
...
...
db/schema/populate_trees.sql
0 → 100644
View file @
0ff183f7
INSERT
INTO
property
(
asset_type_id
,
name
,
data_type
)
VALUES
(
1
,
'height'
,
'number'
);
INSERT
INTO
property
(
asset_type_id
,
name
,
data_type
)
VALUES
(
1
,
'leaves'
,
'number'
);
INSERT
INTO
property
(
asset_type_id
,
name
,
data_type
)
VALUES
(
1
,
'color'
,
'number'
);
INSERT
INTO
asset_property
(
asset_id
,
property_id
,
value
)
VALUES
(
1
,
1
,
57
);
INSERT
INTO
asset_property
(
asset_id
,
property_id
,
value
)
VALUES
(
2
,
1
,
67
);
INSERT
INTO
asset_property
(
asset_id
,
property_id
,
value
)
VALUES
(
3
,
1
,
77
);
INSERT
INTO
asset_property
(
asset_id
,
property_id
,
value
)
VALUES
(
4
,
1
,
87
);
INSERT
INTO
asset_property
(
asset_id
,
property_id
,
value
)
VALUES
(
5
,
1
,
97
);
INSERT
INTO
asset_property
(
asset_id
,
property_id
,
value
)
VALUES
(
1
,
2
,
1057
);
INSERT
INTO
asset_property
(
asset_id
,
property_id
,
value
)
VALUES
(
2
,
2
,
1167
);
INSERT
INTO
asset_property
(
asset_id
,
property_id
,
value
)
VALUES
(
3
,
2
,
1277
);
INSERT
INTO
asset_property
(
asset_id
,
property_id
,
value
)
VALUES
(
4
,
2
,
1387
);
INSERT
INTO
asset_property
(
asset_id
,
property_id
,
value
)
VALUES
(
5
,
2
,
1497
);
package-lock.json
View file @
0ff183f7
{
"requires"
:
true
,
"lockfileVersion"
:
1
,
"dependencies"
:
{
"@babel/code-frame"
:
{
"version"
:
"7.5.5"
,
"resolved"
:
"https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.5.5.tgz"
,
"integrity"
:
"sha512-27d4lZoomVyo51VegxI20xZPuSHusqbQag/ztrBC7wegWoQ1nLREPVSKSW8byhTlzTKyNE4ifaTA6lCp7JjpFw=="
,
"requires"
:
{
"@babel/highlight"
:
"^7.0.0"
}
},
"@babel/highlight"
:
{
"version"
:
"7.5.0"
,
"resolved"
:
"https://registry.npmjs.org/@babel/highlight/-/highlight-7.5.0.tgz"
,
"integrity"
:
"sha512-7dV4eu9gBxoM0dAnj/BCFDW9LFU0zvTrkq0ugM7pnHEgguOEeOz1so2ZghEdzviYzQEED0r4EAgpsBChKy1TRQ=="
,
"requires"
:
{
"chalk"
:
"^2.0.0"
,
"esutils"
:
"^2.0.2"
,
"js-tokens"
:
"^4.0.0"
}
},
"acorn"
:
{
"version"
:
"7.0.0"
,
"resolved"
:
"https://registry.npmjs.org/acorn/-/acorn-7.0.0.tgz"
,
"integrity"
:
"sha512-PaF/MduxijYYt7unVGRuds1vBC9bFxbNf+VWqhOClfdgy7RlVkQqt610ig1/yxTgsDIfW1cWDel5EBbOy3jdtQ=="
},
"acorn-jsx"
:
{
"version"
:
"5.0.2"
,
"resolved"
:
"https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.0.2.tgz"
,
"integrity"
:
"sha512-tiNTrP1MP0QrChmD2DdupCr6HWSFeKVw5d/dHTu4Y7rkAkRhU/Dt7dphAfIUyxtHpl/eBVip5uTNSpQJHylpAw=="
},
"ajv"
:
{
"version"
:
"6.10.2"
,
"resolved"
:
"https://registry.npmjs.org/ajv/-/ajv-6.10.2.tgz"
,
"integrity"
:
"sha512-TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw=="
,
"requires"
:
{
"fast-deep-equal"
:
"^2.0.1"
,
"fast-json-stable-stringify"
:
"^2.0.0"
,
"json-schema-traverse"
:
"^0.4.1"
,
"uri-js"
:
"^4.2.2"
}
},
"ansi-escapes"
:
{
"version"
:
"3.2.0"
,
"resolved"
:
"https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz"
,
"integrity"
:
"sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ=="
},
"ansi-regex"
:
{
"version"
:
"3.0.0"
,
"resolved"
:
"https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz"
,
"integrity"
:
"sha1-7QMXwyIGT3lGbAKWa922Bas32Zg="
},
"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=="
,
"requires"
:
{
"color-convert"
:
"^1.9.0"
}
},
"argparse"
:
{
"version"
:
"1.0.10"
,
"resolved"
:
"https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz"
,
"integrity"
:
"sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg=="
,
"requires"
:
{
"sprintf-js"
:
"~1.0.2"
}
},
"astral-regex"
:
{
"version"
:
"1.0.0"
,
"resolved"
:
"https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz"
,
"integrity"
:
"sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg=="
},
"balanced-match"
:
{
"version"
:
"1.0.0"
,
"resolved"
:
"https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz"
,
"integrity"
:
"sha1-ibTRmasr7kneFk6gK4nORi1xt2c="
},
"brace-expansion"
:
{
"version"
:
"1.1.11"
,
"resolved"
:
"https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz"
,
"integrity"
:
"sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA=="
,
"requires"
:
{
"balanced-match"
:
"^1.0.0"
,
"concat-map"
:
"0.0.1"
}
},
"callsites"
:
{
"version"
:
"3.1.0"
,
"resolved"
:
"https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz"
,
"integrity"
:
"sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ=="
},
"chalk"
:
{
"version"
:
"2.4.2"
,
"resolved"
:
"https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz"
,
"integrity"
:
"sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ=="
,
"requires"
:
{
"ansi-styles"
:
"^3.2.1"
,
"escape-string-regexp"
:
"^1.0.5"
,
"supports-color"
:
"^5.3.0"
}
},
"chardet"
:
{
"version"
:
"0.7.0"
,
"resolved"
:
"https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz"
,
"integrity"
:
"sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA=="
},
"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="
,
"requires"
:
{
"restore-cursor"
:
"^2.0.0"
}
},
"cli-width"
:
{
"version"
:
"2.2.0"
,
"resolved"
:
"https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz"
,
"integrity"
:
"sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk="
},
"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=="
,
"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="
},
"concat-map"
:
{
"version"
:
"0.0.1"
,
"resolved"
:
"https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz"
,
"integrity"
:
"sha1-2Klr13/Wjfd5OnMDajug1UBdR3s="
},
"cross-spawn"
:
{
"version"
:
"6.0.5"
,
"resolved"
:
"https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz"
,
"integrity"
:
"sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ=="
,
"requires"
:
{
"nice-try"
:
"^1.0.4"
,
"path-key"
:
"^2.0.1"
,
"semver"
:
"^5.5.0"
,
"shebang-command"
:
"^1.2.0"
,
"which"
:
"^1.2.9"
},
"dependencies"
:
{
"semver"
:
{
"version"
:
"5.7.1"
,
"resolved"
:
"https://registry.npmjs.org/semver/-/semver-5.7.1.tgz"
,
"integrity"
:
"sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ=="
}
}
},
"debug"
:
{
"version"
:
"4.1.1"
,
"resolved"
:
"https://registry.npmjs.org/debug/-/debug-4.1.1.tgz"
,
"integrity"
:
"sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw=="
,
"requires"
:
{
"ms"
:
"^2.1.1"
}
},
"deep-is"
:
{
"version"
:
"0.1.3"
,
"resolved"
:
"https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz"
,
"integrity"
:
"sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ="
},
"doctrine"
:
{
"version"
:
"3.0.0"
,
"resolved"
:
"https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz"
,
"integrity"
:
"sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w=="
,
"requires"
:
{
"esutils"
:
"^2.0.2"
}
},
"emoji-regex"
:
{
"version"
:
"7.0.3"
,
"resolved"
:
"https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz"
,
"integrity"
:
"sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA=="
},
"escape-string-regexp"
:
{
"version"
:
"1.0.5"
,
"resolved"
:
"https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz"
,
"integrity"
:
"sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ="
},
"eslint"
:
{
"version"
:
"6.3.0"
,
"resolved"
:
"https://registry.npmjs.org/eslint/-/eslint-6.3.0.tgz"
,
"integrity"
:
"sha512-ZvZTKaqDue+N8Y9g0kp6UPZtS4FSY3qARxBs7p4f0H0iof381XHduqVerFWtK8DPtKmemqbqCFENWSQgPR/Gow=="
,
"requires"
:
{
"@babel/code-frame"
:
"^7.0.0"
,
"ajv"
:
"^6.10.0"
,
"chalk"
:
"^2.1.0"
,
"cross-spawn"
:
"^6.0.5"
,
"debug"
:
"^4.0.1"
,
"doctrine"
:
"^3.0.0"
,
"eslint-scope"
:
"^5.0.0"
,
"eslint-utils"
:
"^1.4.2"
,
"eslint-visitor-keys"
:
"^1.1.0"
,
"espree"
:
"^6.1.1"
,
"esquery"
:
"^1.0.1"
,
"esutils"
:
"^2.0.2"
,
"file-entry-cache"
:
"^5.0.1"
,
"functional-red-black-tree"
:
"^1.0.1"
,
"glob-parent"
:
"^5.0.0"
,
"globals"
:
"^11.7.0"
,
"ignore"
:
"^4.0.6"
,
"import-fresh"
:
"^3.0.0"
,
"imurmurhash"
:
"^0.1.4"
,
"inquirer"
:
"^6.4.1"
,
"is-glob"
:
"^4.0.0"
,
"js-yaml"
:
"^3.13.1"
,
"json-stable-stringify-without-jsonify"
:
"^1.0.1"
,
"levn"
:
"^0.3.0"
,
"lodash"
:
"^4.17.14"
,
"minimatch"
:
"^3.0.4"
,
"mkdirp"
:
"^0.5.1"
,
"natural-compare"
:
"^1.4.0"
,
"optionator"
:
"^0.8.2"
,
"progress"
:
"^2.0.0"
,
"regexpp"
:
"^2.0.1"
,
"semver"
:
"^6.1.2"
,
"strip-ansi"
:
"^5.2.0"
,
"strip-json-comments"
:
"^3.0.1"
,
"table"
:
"^5.2.3"
,
"text-table"
:
"^0.2.0"
,
"v8-compile-cache"
:
"^2.0.3"
}
},
"eslint-scope"
:
{
"version"
:
"5.0.0"
,
"resolved"
:
"https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.0.0.tgz"
,
"integrity"
:
"sha512-oYrhJW7S0bxAFDvWqzvMPRm6pcgcnWc4QnofCAqRTRfQC0JcwenzGglTtsLyIuuWFfkqDG9vz67cnttSd53djw=="
,
"requires"
:
{
"esrecurse"
:
"^4.1.0"
,
"estraverse"
:
"^4.1.1"
}
},
"eslint-utils"
:
{
"version"
:
"1.4.2"
,
"resolved"
:
"https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.2.tgz"
,
"integrity"
:
"sha512-eAZS2sEUMlIeCjBeubdj45dmBHQwPHWyBcT1VSYB7o9x9WRRqKxyUoiXlRjyAwzN7YEzHJlYg0NmzDRWx6GP4Q=="
,
"requires"
:
{
"eslint-visitor-keys"
:
"^1.0.0"
}
},
"eslint-visitor-keys"
:
{
"version"
:
"1.1.0"
,
"resolved"
:
"https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.1.0.tgz"
,
"integrity"
:
"sha512-8y9YjtM1JBJU/A9Kc+SbaOV4y29sSWckBwMHa+FGtVj5gN/sbnKDf6xJUl+8g7FAij9LVaP8C24DUiH/f/2Z9A=="
},
"espree"
:
{
"version"
:
"6.1.1"
,
"resolved"
:
"https://registry.npmjs.org/espree/-/espree-6.1.1.tgz"
,
"integrity"
:
"sha512-EYbr8XZUhWbYCqQRW0duU5LxzL5bETN6AjKBGy1302qqzPaCH10QbRg3Wvco79Z8x9WbiE8HYB4e75xl6qUYvQ=="
,
"requires"
:
{
"acorn"
:
"^7.0.0"
,
"acorn-jsx"
:
"^5.0.2"
,
"eslint-visitor-keys"
:
"^1.1.0"
}
},
"esprima"
:
{
"version"
:
"4.0.1"
,
"resolved"
:
"https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz"
,
"integrity"
:
"sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A=="
},
"esquery"
:
{
"version"
:
"1.0.1"
,
"resolved"
:
"https://registry.npmjs.org/esquery/-/esquery-1.0.1.tgz"
,
"integrity"
:
"sha512-SmiyZ5zIWH9VM+SRUReLS5Q8a7GxtRdxEBVZpm98rJM7Sb+A9DVCndXfkeFUd3byderg+EbDkfnevfCwynWaNA=="
,
"requires"
:
{
"estraverse"
:
"^4.0.0"
}
},
"esrecurse"
:
{
"version"
:
"4.2.1"
,
"resolved"
:
"https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz"
,
"integrity"
:
"sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ=="
,
"requires"
:
{
"estraverse"
:
"^4.1.0"
}
},
"estraverse"
:
{
"version"
:
"4.3.0"
,
"resolved"
:
"https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz"
,
"integrity"
:
"sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw=="
},
"esutils"
:
{
"version"
:
"2.0.3"
,
"resolved"
:
"https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz"
,
"integrity"
:
"sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g=="
},
"external-editor"
:
{
"version"
:
"3.1.0"
,
"resolved"
:
"https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz"
,
"integrity"
:
"sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew=="
,
"requires"
:
{
"chardet"
:
"^0.7.0"
,
"iconv-lite"
:
"^0.4.24"
,
"tmp"
:
"^0.0.33"
}
},
"fast-deep-equal"
:
{
"version"
:
"2.0.1"
,
"resolved"
:
"https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz"
,
"integrity"
:
"sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk="
},
"fast-json-stable-stringify"
:
{
"version"
:
"2.0.0"
,
"resolved"
:
"https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz"
,
"integrity"
:
"sha1-1RQsDK7msRifh9OnYREGT4bIu/I="
},
"fast-levenshtein"
:
{
"version"
:
"2.0.6"
,
"resolved"
:
"https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz"
,
"integrity"
:
"sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc="
},
"figures"
:
{
"version"
:
"2.0.0"
,
"resolved"
:
"https://registry.npmjs.org/figures/-/figures-2.0.0.tgz"
,
"integrity"
:
"sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI="
,
"requires"
:
{
"escape-string-regexp"
:
"^1.0.5"
}
},
"file-entry-cache"
:
{
"version"
:
"5.0.1"
,
"resolved"
:
"https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz"
,
"integrity"
:
"sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g=="
,
"requires"
:
{
"flat-cache"
:
"^2.0.1"
}
},
"flat-cache"
:
{
"version"
:
"2.0.1"
,
"resolved"
:
"https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz"
,
"integrity"
:
"sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA=="
,
"requires"
:
{
"flatted"
:
"^2.0.0"
,
"rimraf"
:
"2.6.3"
,
"write"
:
"1.0.3"
}
},
"flatted"
:
{
"version"
:
"2.0.1"
,
"resolved"
:
"https://registry.npmjs.org/flatted/-/flatted-2.0.1.tgz"
,
"integrity"
:
"sha512-a1hQMktqW9Nmqr5aktAux3JMNqaucxGcjtjWnZLHX7yyPCmlSV3M54nGYbqT8K+0GhF3NBgmJCc3ma+WOgX8Jg=="
},
"fs.realpath"
:
{
"version"
:
"1.0.0"
,
"resolved"
:
"https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz"
,
"integrity"
:
"sha1-FQStJSMVjKpA20onh8sBQRmU6k8="
},
"functional-red-black-tree"
:
{
"version"
:
"1.0.1"
,
"resolved"
:
"https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz"
,
"integrity"
:
"sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc="
},
"glob"
:
{
"version"
:
"7.1.4"
,
"resolved"
:
"https://registry.npmjs.org/glob/-/glob-7.1.4.tgz"
,
"integrity"
:
"sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A=="
,
"requires"
:
{
"fs.realpath"
:
"^1.0.0"
,
"inflight"
:
"^1.0.4"
,
"inherits"
:
"2"
,
"minimatch"
:
"^3.0.4"
,
"once"
:
"^1.3.0"
,
"path-is-absolute"
:
"^1.0.0"
}
},
"glob-parent"
:
{
"version"
:
"5.0.0"
,
"resolved"
:
"https://registry.npmjs.org/glob-parent/-/glob-parent-5.0.0.tgz"
,
"integrity"
:
"sha512-Z2RwiujPRGluePM6j699ktJYxmPpJKCfpGA13jz2hmFZC7gKetzrWvg5KN3+OsIFmydGyZ1AVwERCq1w/ZZwRg=="
,
"requires"
:
{
"is-glob"
:
"^4.0.1"
}
},
"globals"
:
{
"version"
:
"11.12.0"
,
"resolved"
:
"https://registry.npmjs.org/globals/-/globals-11.12.0.tgz"
,
"integrity"
:
"sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA=="
},
"has-flag"
:
{
"version"
:
"3.0.0"
,
"resolved"
:
"https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz"
,
"integrity"
:
"sha1-tdRU3CGZriJWmfNGfloH87lVuv0="
},
"iconv-lite"
:
{
"version"
:
"0.4.24"
,
"resolved"
:
"https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz"
,
"integrity"
:
"sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA=="
,
"requires"
:
{
"safer-buffer"
:
">= 2.1.2 < 3"