@architect/data
Advanced tools
Comparing version 2.1.0 to 3.0.0
19
index.js
@@ -1,10 +0,11 @@ | ||
var fs = require('fs') | ||
var path = require('path') | ||
var parse = require('@architect/parser') | ||
var exists = fs.existsSync | ||
var init = require('./src/_init') | ||
let fs = require('fs') | ||
let path = require('path') | ||
let parse = require('@architect/parser') | ||
let exists = fs.existsSync | ||
let init = require('./src/_init') | ||
// path to the .arc for hydration | ||
var arcPath | ||
/** | ||
* NOTE: this code path will incur a bunch of sync lookups | ||
*/ | ||
let arcPath | ||
let arcDefault = path.join(process.cwd(), 'node_modules', '@architect', 'shared', '.arc') | ||
@@ -32,4 +33,4 @@ let arcInCurrentDir = path.join(process.cwd(), '.arc') | ||
// returns a client for the .arc | ||
var arc = parse(fs.readFileSync(arcPath).toString()) | ||
let arc = parse(fs.readFileSync(arcPath).toString()) | ||
module.exports = init(arc) |
{ | ||
"name": "@architect/data", | ||
"version": "2.1.0", | ||
"version": "3.0.0", | ||
"description": "Dynamically generate a DynamoDB data access layer from an .arc file", | ||
@@ -28,3 +28,4 @@ "homepage": "https://github.com/arc-repos/arc-data", | ||
"dependencies": { | ||
"@architect/parser": "^1.1.6", | ||
"@architect/parser": "^1.1.7", | ||
"@architect/sandbox": "^1.0.10", | ||
"chalk": "^2.4.2", | ||
@@ -34,8 +35,7 @@ "path-exists": "^3.0.0" | ||
"devDependencies": { | ||
"@architect/architect": "^5.5.10", | ||
"aws-sdk": "^2.427.0", | ||
"aws-sdk": "^2.480.0", | ||
"eslint": "^5.16.0", | ||
"run-parallel": "^1.1.9", | ||
"tap-spec": "^5.0.0", | ||
"tape": "^4.10.1" | ||
"tape": "^4.10.2" | ||
}, | ||
@@ -42,0 +42,0 @@ "prettier": { |
@@ -80,3 +80,3 @@ ## [`@architect/data`](https://www.npmjs.com/package/@architect/data) | ||
## Convienance with `@architect/data` | ||
## Convenience with `@architect/data` | ||
@@ -130,19 +130,13 @@ This library bundles the `db` and `doc` connection scripts above. However it does require hard coding `TableName` which might not be desirable. So this module exports a single function for generating a static data access layer client that automatically resolves `TableName` based on `NODE_ENV`. | ||
// create a post | ||
app.posts.put({ | ||
await app.posts.put({ | ||
accountID: 'fake-id', | ||
postID: 'fake-post-id', | ||
title: 'neato' | ||
}, | ||
function _put(err, result) { | ||
if (err) throw err | ||
console.log(result) | ||
}) | ||
}) | ||
// read it back | ||
app.posts.get({ | ||
postID: 'fake-post-id' | ||
}, console.log) | ||
let post = await app.posts.get({postID: 'fake-post-id'}) | ||
// update the record | ||
app.posts.update({ | ||
await app.posts.update({ | ||
Key: { | ||
@@ -158,10 +152,10 @@ postID: 'fake-post-id' | ||
} | ||
}, console.log) | ||
}) | ||
// destroy it | ||
app.posts.destroy({ | ||
await app.posts.destroy({ | ||
postID: 'fake-post-id' | ||
}, console.log) | ||
}) | ||
``` | ||
Check the tests for a detailed example! |
@@ -1,34 +0,17 @@ | ||
let toLogicalID = require('./_to-logical-id') | ||
let env = process.env.NODE_ENV || 'testing' | ||
// helper for getting a table name | ||
// if we're testing just always use 'staging' tables | ||
// otherwise falls back to the appname-tablename-env convention | ||
// var _name = name=> `${app}-${testing? 'staging' : process.env.NODE_ENV}-${name}` | ||
module.exports = function getTables(arc) { | ||
if (!arc.tables || arc.tables && arc.tables.length === 0) | ||
return [] | ||
if (process.env.ARC_CLOUDFORMATION) { | ||
// lookup cloudformation generated table name | ||
return arc.tables.map(function getCloudFormationName(table) { | ||
// arc table name | ||
let tableName = Object.keys(table)[0] | ||
let envVarName = `ARC_TABLE_${toLogicalID(tableName).toUpperCase()}` | ||
return process.env[envVarName] | ||
}) | ||
} | ||
else { | ||
// traditional path | ||
let testing = env === 'testing' || env === 'staging' | ||
let app = arc.app[0] | ||
// helper for getting a table name | ||
// if we're testing just always use 'staging' tables | ||
// otherwise falls back to the appname-tablename-env convention | ||
let _name = name=> `${app}-${testing? 'staging' : process.env.NODE_ENV}-${name}` | ||
let testing = env === 'testing' || env === 'staging' | ||
let app = arc.app[0] | ||
// list of all tables (if any) defined in .arc | ||
return arc.tables.map(t=> _name(Object.keys(t)[0])) | ||
} | ||
// helper for getting a table name | ||
// if we're testing just always use 'staging' tables | ||
// otherwise falls back to the appname-tablename-env convention | ||
let _name = name=> `${app}-${testing? 'staging' : process.env.NODE_ENV}-${name}` | ||
// list of all tables (if any) defined in .arc | ||
return arc.tables.map(t=> _name(Object.keys(t)[0])) | ||
} | ||
@@ -1,3 +0,3 @@ | ||
let _db = require('./db') | ||
let _doc = require('./doc') | ||
let _db = require('../db') | ||
let _doc = require('../doc') | ||
let tables = require('./_get-tables') | ||
@@ -4,0 +4,0 @@ let pfy = require('./_promisify-object') |
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
Network access
Supply chain riskThis module accesses the network.
Found 2 instances in 1 package
Environment variable access
Supply chain riskPackage accesses environment variables, which may be a sign of credential stuffing or data theft.
Found 2 instances in 1 package
Environment variable access
Supply chain riskPackage accesses environment variables, which may be a sign of credential stuffing or data theft.
Found 2 instances in 1 package
20833
5
15
521
4
159
16
5
+ Added@architect/sandbox@^1.0.10
+ Added@architect/create@1.1.3(transitive)
+ Added@architect/http-proxy@3.12.3(transitive)
+ Added@architect/hydrate@1.5.1(transitive)
+ Added@architect/parser@2.2.02.3.0(transitive)
+ Added@architect/sandbox@1.13.3(transitive)
+ Added@architect/utils@1.5.14(transitive)
+ Added@begin/hashid@1.0.0(transitive)
+ Added@sindresorhus/is@0.14.0(transitive)
+ Added@smallwins/nodash@1.0.1(transitive)
+ Added@smallwins/validate@4.3.1(transitive)
+ Added@szmarczak/http-timer@1.1.2(transitive)
+ Addedabstract-leveldown@6.2.36.3.0(transitive)
+ Addedansi-align@3.0.1(transitive)
+ Addedansi-regex@5.0.1(transitive)
+ Addedansi-styles@4.3.0(transitive)
+ Addedarray-flatten@3.0.0(transitive)
+ Addedasync@2.6.4(transitive)
+ Addedaws-sdk@2.644.0(transitive)
+ Addedbalanced-match@1.0.2(transitive)
+ Addedbase64-js@1.5.1(transitive)
+ Addedbig.js@5.2.2(transitive)
+ Addedbody-parser@1.19.2(transitive)
+ Addedboxen@4.2.0(transitive)
+ Addedbrace-expansion@1.1.11(transitive)
+ Addedbuffer@4.9.15.7.1(transitive)
+ Addedbuffer-crc32@0.2.13(transitive)
+ Addedbytes@3.1.2(transitive)
+ Addedcacheable-request@6.1.0(transitive)
+ Addedcamelcase@5.3.1(transitive)
+ Addedchalk@3.0.04.1.2(transitive)
+ Addedci-info@2.0.0(transitive)
+ Addedcli-boxes@2.2.1(transitive)
+ Addedclone-response@1.0.3(transitive)
+ Addedcolor-convert@2.0.1(transitive)
+ Addedcolor-name@1.1.4(transitive)
+ Addedconcat-map@0.0.1(transitive)
+ Addedconfigstore@5.0.1(transitive)
+ Addedcontent-type@1.0.5(transitive)
+ Addedcpr@3.0.1(transitive)
+ Addedcrypto-random-string@2.0.0(transitive)
+ Addeddebug@2.6.9(transitive)
+ Addeddecompress-response@3.3.0(transitive)
+ Addeddeep-extend@0.6.0(transitive)
+ Addeddefer-to-connect@1.1.3(transitive)
+ Addeddeferred-leveldown@5.3.0(transitive)
+ Addeddefined@0.0.0(transitive)
+ Addeddepd@1.1.2(transitive)
+ Addeddepstatus@1.1.1(transitive)
+ Addeddestroy@1.0.4(transitive)
+ Addeddot-prop@5.3.0(transitive)
+ Addedduplexer3@0.1.5(transitive)
+ Addeddynalite@3.2.2(transitive)
+ Addedee-first@1.1.1(transitive)
+ Addedemoji-regex@8.0.0(transitive)
+ Addedencodeurl@1.0.2(transitive)
+ Addedencoding-down@6.3.0(transitive)
+ Addedend-of-stream@1.4.4(transitive)
+ Addederrno@0.1.8(transitive)
+ Addedescape-goat@2.1.1(transitive)
+ Addedescape-html@1.0.3(transitive)
+ Addedetag@1.8.1(transitive)
+ Addedevents@1.1.1(transitive)
+ Addedfinalhandler@1.1.2(transitive)
+ Addedfresh@0.5.2(transitive)
+ Addedfs.realpath@1.0.0(transitive)
+ Addedfunctional-red-black-tree@1.0.1(transitive)
+ Addedget-stream@4.1.05.2.0(transitive)
+ Addedglob@7.1.7(transitive)
+ Addedglobal-dirs@2.1.0(transitive)
+ Addedgot@9.6.0(transitive)
+ Addedgraceful-fs@4.2.11(transitive)
+ Addedhas-flag@4.0.0(transitive)
+ Addedhas-yarn@2.1.0(transitive)
+ Addedhttp-cache-semantics@4.1.1(transitive)
+ Addedhttp-errors@1.8.1(transitive)
+ Addediconv-lite@0.4.24(transitive)
+ Addedieee754@1.1.13(transitive)
+ Addedimmediate@3.2.33.3.0(transitive)
+ Addedimport-lazy@2.1.0(transitive)
+ Addedimurmurhash@0.1.4(transitive)
+ Addedinflight@1.0.6(transitive)
+ Addedinherits@2.0.4(transitive)
+ Addedini@1.3.7(transitive)
+ Addedis-ci@2.0.0(transitive)
+ Addedis-domain-name@1.0.1(transitive)
+ Addedis-fullwidth-code-point@3.0.0(transitive)
+ Addedis-installed-globally@0.3.2(transitive)
+ Addedis-npm@4.0.0(transitive)
+ Addedis-obj@2.0.0(transitive)
+ Addedis-path-inside@3.0.3(transitive)
+ Addedis-typedarray@1.0.0(transitive)
+ Addedis-yarn-global@0.3.0(transitive)
+ Addedisarray@1.0.0(transitive)
+ Addedjmespath@0.15.0(transitive)
+ Addedjson-buffer@3.0.0(transitive)
+ Addedkeyv@3.1.0(transitive)
+ Addedlatest-version@5.1.0(transitive)
+ Addedlazy@1.0.11(transitive)
+ Addedlevel-codec@9.0.2(transitive)
+ Addedlevel-concat-iterator@2.0.1(transitive)
+ Addedlevel-errors@2.0.1(transitive)
+ Addedlevel-iterator-stream@4.0.2(transitive)
+ Addedlevel-option-wrap@1.1.0(transitive)
+ Addedlevel-supports@1.0.1(transitive)
+ Addedleveldown@5.6.0(transitive)
+ Addedlevelup@4.4.0(transitive)
+ Addedlock@1.1.0(transitive)
+ Addedlodash@4.17.21(transitive)
+ Addedlowercase-keys@1.0.12.0.0(transitive)
+ Addedltgt@2.2.1(transitive)
+ Addedmake-dir@3.1.0(transitive)
+ Addedmedia-typer@0.3.0(transitive)
+ Addedmemdown@5.1.0(transitive)
+ Addedmethods@1.1.2(transitive)
+ Addedmime@1.6.0(transitive)
+ Addedmime-db@1.52.0(transitive)
+ Addedmime-types@2.1.35(transitive)
+ Addedmimic-fn@2.1.0(transitive)
+ Addedmimic-response@1.0.1(transitive)
+ Addedminimatch@3.1.2(transitive)
+ Addedminimist@1.2.8(transitive)
+ Addedmkdirp@0.5.6(transitive)
+ Addedms@2.0.02.1.3(transitive)
+ Addednapi-macros@2.0.0(transitive)
+ Addednode-gyp-build@4.1.1(transitive)
+ Addednode-watch@0.6.4(transitive)
+ Addednormalize-url@4.5.1(transitive)
+ Addedon-finished@2.3.0(transitive)
+ Addedonce@1.4.0(transitive)
+ Addedonetime@5.1.2(transitive)
+ Addedp-cancelable@1.1.0(transitive)
+ Addedpackage-json@6.5.0(transitive)
+ Addedparseurl@1.3.3(transitive)
+ Addedpath-is-absolute@1.0.1(transitive)
+ Addedpath-sort@0.1.0(transitive)
+ Addedpath-to-regexp@0.1.7(transitive)
+ Addedprepend-http@2.0.0(transitive)
+ Addedprr@1.0.1(transitive)
+ Addedpump@3.0.0(transitive)
+ Addedpunycode@1.3.2(transitive)
+ Addedpupa@2.1.1(transitive)
+ Addedqs@6.9.7(transitive)
+ Addedquerystring@0.2.0(transitive)
+ Addedrange-parser@1.2.1(transitive)
+ Addedraw-body@2.4.3(transitive)
+ Addedrc@1.2.8(transitive)
+ Addedreachdown@1.1.0(transitive)
+ Addedreadable-stream@3.6.2(transitive)
+ Addedregistry-auth-token@4.2.2(transitive)
+ Addedregistry-url@5.1.0(transitive)
+ Addedresponselike@1.0.2(transitive)
+ Addedrestore-cursor@3.1.0(transitive)
+ Addedrimraf@2.7.13.0.2(transitive)
+ Addedrouter@1.3.8(transitive)
+ Addedrun-parallel@1.1.10(transitive)
+ Addedrun-series@1.1.9(transitive)
+ Addedrun-waterfall@1.1.7(transitive)
+ Addedsafe-buffer@5.2.1(transitive)
+ Addedsafer-buffer@2.1.2(transitive)
+ Addedsax@1.2.1(transitive)
+ Addedsemver@6.3.17.6.2(transitive)
+ Addedsemver-diff@3.1.1(transitive)
+ Addedsend@0.17.2(transitive)
+ Addedsetprototypeof@1.2.0(transitive)
+ Addedsha@3.0.0(transitive)
+ Addedsignal-exit@3.0.7(transitive)
+ Addedstatuses@1.5.0(transitive)
+ Addedstring-width@4.2.3(transitive)
+ Addedstring_decoder@1.3.0(transitive)
+ Addedstrip-ansi@6.0.1(transitive)
+ Addedstrip-json-comments@2.0.1(transitive)
+ Addedsubleveldown@5.0.1(transitive)
+ Addedsupports-color@7.2.0(transitive)
+ Addedterm-size@2.2.1(transitive)
+ Addedto-readable-stream@1.0.0(transitive)
+ Addedtoidentifier@1.0.1(transitive)
+ Addedtree-kill@1.2.2(transitive)
+ Addedtype-fest@0.8.1(transitive)
+ Addedtype-is@1.6.18(transitive)
+ Addedtypedarray-to-buffer@3.1.5(transitive)
+ Addedunique-string@2.0.0(transitive)
+ Addedunpipe@1.0.0(transitive)
+ Addedupdate-notifier@4.1.3(transitive)
+ Addedurl@0.10.3(transitive)
+ Addedurl-parse-lax@3.0.0(transitive)
+ Addedutil-deprecate@1.0.2(transitive)
+ Addedutils-merge@1.0.1(transitive)
+ Addeduuid@3.3.2(transitive)
+ Addedwidest-line@3.1.0(transitive)
+ Addedwrappy@1.0.2(transitive)
+ Addedwrite-file-atomic@3.0.3(transitive)
+ Addedws@7.3.1(transitive)
+ Addedxdg-basedir@4.0.0(transitive)
+ Addedxml2js@0.4.19(transitive)
+ Addedxmlbuilder@9.0.7(transitive)
+ Addedxtend@4.0.2(transitive)
Updated@architect/parser@^1.1.7