├── .gitignore ├── .travis.yml ├── CODE-OF-CONDUCT.md ├── Gopkg.lock ├── Gopkg.toml ├── LICENSE ├── Makefile ├── README.md ├── build └── common.mk ├── nodejs ├── aws-serverless │ ├── Makefile │ ├── api.ts │ ├── bucket.ts │ ├── cloudwatch.ts │ ├── examples │ │ └── aws_test.go │ ├── function.ts │ ├── index.ts │ ├── package.json │ ├── queue.ts │ ├── subscription.ts │ ├── topic.ts │ ├── tsconfig.json │ ├── utils.ts │ └── yarn.lock └── tslint.json └── scripts ├── get-version ├── promote.js └── publish_packages.sh /.gitignore: -------------------------------------------------------------------------------- 1 | .pulumi 2 | **/bin/ 3 | **/node_modules/ 4 | vendor/ 5 | **/Pulumi.*.yaml 6 | **/yarn-error.log -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | # It may be tempting to add parens around each individual clause in this expression, but Travis then builds pushes anyway 2 | if: branch = master OR branch =~ ^release/ OR tag IS present 3 | language: go 4 | go: 1.9 5 | sudo: true # give us 7.5GB and >2 bursted cores. 6 | git: 7 | depth: false 8 | before_install: 9 | - git clone https://github.com/pulumi/scripts ${GOPATH}/src/github.com/pulumi/scripts 10 | - source ${GOPATH}/src/github.com/pulumi/scripts/ci/prepare-environment.sh 11 | - source ${PULUMI_SCRIPTS}/ci/keep-failed-tests.sh 12 | install: 13 | - source ${PULUMI_SCRIPTS}/ci/install-common-toolchain.sh 14 | # Install Docker 15 | - curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - 16 | - sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" 17 | - sudo apt-get update 18 | - sudo apt-get -y install docker-ce=17.09.0~ce-0~ubuntu 19 | - docker version 20 | # Install Pulumi 21 | - curl -L https://get.pulumi.com/ | bash -s -- --version 0.15.1 22 | - export PATH=$HOME/.pulumi/bin:$PATH 23 | before_script: 24 | - ${PULUMI_SCRIPTS}/ci/ensure-dependencies 25 | script: 26 | - make travis_${TRAVIS_EVENT_TYPE} 27 | after_failure: 28 | - ${PULUMI_SCRIPTS}/ci/upload-failed-tests 29 | notifications: 30 | webhooks: https://ufci1w66n3.execute-api.us-west-2.amazonaws.com/stage/travis 31 | -------------------------------------------------------------------------------- /CODE-OF-CONDUCT.md: -------------------------------------------------------------------------------- 1 | # Contributor Covenant Code of Conduct 2 | 3 | ## Our Pledge 4 | 5 | In the interest of fostering an open and welcoming environment, we as 6 | contributors and maintainers pledge to making participation in our project and 7 | our community a harassment-free experience for everyone, regardless of age, body 8 | size, disability, ethnicity, gender identity and expression, level of experience, 9 | education, socio-economic status, nationality, personal appearance, race, 10 | religion, or sexual identity and orientation. 11 | 12 | ## Our Standards 13 | 14 | Examples of behavior that contributes to creating a positive environment 15 | include: 16 | 17 | * Using welcoming and inclusive language 18 | * Being respectful of differing viewpoints and experiences 19 | * Gracefully accepting constructive criticism 20 | * Focusing on what is best for the community 21 | * Showing empathy towards other community members 22 | 23 | Examples of unacceptable behavior by participants include: 24 | 25 | * The use of sexualized language or imagery and unwelcome sexual attention or 26 | advances 27 | * Trolling, insulting/derogatory comments, and personal or political attacks 28 | * Public or private harassment 29 | * Publishing others' private information, such as a physical or electronic 30 | address, without explicit permission 31 | * Other conduct which could reasonably be considered inappropriate in a 32 | professional setting 33 | 34 | ## Our Responsibilities 35 | 36 | Project maintainers are responsible for clarifying the standards of acceptable 37 | behavior and are expected to take appropriate and fair corrective action in 38 | response to any instances of unacceptable behavior. 39 | 40 | Project maintainers have the right and responsibility to remove, edit, or 41 | reject comments, commits, code, wiki edits, issues, and other contributions 42 | that are not aligned to this Code of Conduct, or to ban temporarily or 43 | permanently any contributor for other behaviors that they deem inappropriate, 44 | threatening, offensive, or harmful. 45 | 46 | ## Scope 47 | 48 | This Code of Conduct applies both within project spaces and in public spaces 49 | when an individual is representing the project or its community. Examples of 50 | representing a project or community include using an official project e-mail 51 | address, posting via an official social media account, or acting as an appointed 52 | representative at an online or offline event. Representation of a project may be 53 | further defined and clarified by project maintainers. 54 | 55 | ## Enforcement 56 | 57 | Instances of abusive, harassing, or otherwise unacceptable behavior may be 58 | reported by contacting the project team at code-of-conduct@pulumi.com. All 59 | complaints will be reviewed and investigated and will result in a response that 60 | is deemed necessary and appropriate to the circumstances. The project team is 61 | obligated to maintain confidentiality with regard to the reporter of an incident. 62 | Further details of specific enforcement policies may be posted separately. 63 | 64 | Project maintainers who do not follow or enforce the Code of Conduct in good 65 | faith may face temporary or permanent repercussions as determined by other 66 | members of the project's leadership. 67 | 68 | ## Attribution 69 | 70 | This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, 71 | available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html 72 | 73 | [homepage]: https://www.contributor-covenant.org 74 | -------------------------------------------------------------------------------- /Gopkg.lock: -------------------------------------------------------------------------------- 1 | # This file is autogenerated, do not edit; changes may be undone by the next 'dep ensure'. 2 | 3 | 4 | [[projects]] 5 | branch = "master" 6 | name = "github.com/Azure/go-ansiterm" 7 | packages = [ 8 | ".", 9 | "winterm" 10 | ] 11 | revision = "d6e3b3328b783f23731bc4d058875b0371ff8109" 12 | 13 | [[projects]] 14 | name = "github.com/Nvveen/Gotty" 15 | packages = ["."] 16 | revision = "a8b993ba6abdb0e0c12b0125c603323a71c7790c" 17 | source = "https://github.com/ijc25/Gotty" 18 | 19 | [[projects]] 20 | name = "github.com/Sirupsen/logrus" 21 | packages = ["."] 22 | revision = "c155da19408a8799da419ed3eeb0cb5db0ad5dbc" 23 | version = "v1.0.5" 24 | 25 | [[projects]] 26 | name = "github.com/apache/thrift" 27 | packages = ["lib/go/thrift"] 28 | revision = "b2a4d4ae21c789b689dd162deb819665567f481c" 29 | version = "0.10.0" 30 | 31 | [[projects]] 32 | name = "github.com/aws/aws-sdk-go" 33 | packages = [ 34 | "aws", 35 | "aws/awserr", 36 | "aws/awsutil", 37 | "aws/client", 38 | "aws/client/metadata", 39 | "aws/corehandlers", 40 | "aws/credentials", 41 | "aws/credentials/ec2rolecreds", 42 | "aws/credentials/endpointcreds", 43 | "aws/credentials/stscreds", 44 | "aws/defaults", 45 | "aws/ec2metadata", 46 | "aws/endpoints", 47 | "aws/request", 48 | "aws/session", 49 | "aws/signer/v4", 50 | "internal/shareddefaults", 51 | "private/protocol", 52 | "private/protocol/json/jsonutil", 53 | "private/protocol/jsonrpc", 54 | "private/protocol/query", 55 | "private/protocol/query/queryutil", 56 | "private/protocol/rest", 57 | "private/protocol/restxml", 58 | "private/protocol/xml/xmlutil", 59 | "service/cloudwatchlogs", 60 | "service/s3", 61 | "service/sts" 62 | ] 63 | revision = "107df09c5f137b9dfe53b7a4c25dd4d79f81390f" 64 | version = "v1.12.40" 65 | 66 | [[projects]] 67 | name = "github.com/bgentry/speakeasy" 68 | packages = ["."] 69 | revision = "4aabc24848ce5fd31929f7d1e4ea74d3709c14cd" 70 | version = "v0.1.0" 71 | 72 | [[projects]] 73 | name = "github.com/blang/semver" 74 | packages = ["."] 75 | revision = "2ee87856327ba09384cabd113bc6b5d174e9ec0f" 76 | version = "v3.5.1" 77 | 78 | [[projects]] 79 | branch = "master" 80 | name = "github.com/codahale/hdrhistogram" 81 | packages = ["."] 82 | revision = "3a0bb77429bd3a61596f5e8a3172445844342120" 83 | 84 | [[projects]] 85 | name = "github.com/davecgh/go-spew" 86 | packages = ["spew"] 87 | revision = "346938d642f2ec3594ed81d874461961cd0faa76" 88 | version = "v1.1.0" 89 | 90 | [[projects]] 91 | name = "github.com/djherbis/times" 92 | packages = ["."] 93 | revision = "95292e44976d1217cf3611dc7c8d9466877d3ed5" 94 | version = "v1.0.1" 95 | 96 | [[projects]] 97 | name = "github.com/docker/docker" 98 | packages = [ 99 | "pkg/term", 100 | "pkg/term/windows" 101 | ] 102 | revision = "092cba3727bb9b4a2f0e922cd6c0f93ea270e363" 103 | version = "v1.13.1" 104 | 105 | [[projects]] 106 | name = "github.com/emirpasic/gods" 107 | packages = [ 108 | "containers", 109 | "lists", 110 | "lists/arraylist", 111 | "trees", 112 | "trees/binaryheap", 113 | "utils" 114 | ] 115 | revision = "f6c17b524822278a87e3b3bd809fec33b51f5b46" 116 | version = "v1.9.0" 117 | 118 | [[projects]] 119 | name = "github.com/go-ini/ini" 120 | packages = ["."] 121 | revision = "32e4c1e6bc4e7d0d8451aa6b75200d19e37a536a" 122 | version = "v1.32.0" 123 | 124 | [[projects]] 125 | branch = "master" 126 | name = "github.com/golang/glog" 127 | packages = ["."] 128 | revision = "23def4e6c14b4da8ac2ed8007337bc5eb5007998" 129 | 130 | [[projects]] 131 | name = "github.com/golang/protobuf" 132 | packages = [ 133 | "proto", 134 | "protoc-gen-go/descriptor", 135 | "ptypes", 136 | "ptypes/any", 137 | "ptypes/duration", 138 | "ptypes/empty", 139 | "ptypes/struct", 140 | "ptypes/timestamp" 141 | ] 142 | revision = "aa810b61a9c79d51363740d207bb46cf8e620ed5" 143 | version = "v1.2.0" 144 | 145 | [[projects]] 146 | branch = "master" 147 | name = "github.com/grpc-ecosystem/grpc-opentracing" 148 | packages = ["go/otgrpc"] 149 | revision = "01f8541d537215b2867e2745a1eb85c58c7c6b81" 150 | 151 | [[projects]] 152 | branch = "master" 153 | name = "github.com/hashicorp/errwrap" 154 | packages = ["."] 155 | revision = "7554cd9344cec97297fa6649b055a8c98c2a1e55" 156 | 157 | [[projects]] 158 | branch = "master" 159 | name = "github.com/hashicorp/go-multierror" 160 | packages = ["."] 161 | revision = "b7773ae218740a7be65057fc60b366a49b538a44" 162 | 163 | [[projects]] 164 | name = "github.com/inconshreveable/mousetrap" 165 | packages = ["."] 166 | revision = "76626ae9c91c4f2a10f34cad8ce83ea42c93bb75" 167 | version = "v1.0" 168 | 169 | [[projects]] 170 | branch = "master" 171 | name = "github.com/jbenet/go-context" 172 | packages = ["io"] 173 | revision = "d14ea06fba99483203c19d92cfcd13ebe73135f4" 174 | 175 | [[projects]] 176 | name = "github.com/jmespath/go-jmespath" 177 | packages = ["."] 178 | revision = "0b12d6b5" 179 | 180 | [[projects]] 181 | branch = "master" 182 | name = "github.com/kballard/go-shellquote" 183 | packages = ["."] 184 | revision = "95032a82bc518f77982ea72343cc1ade730072f0" 185 | 186 | [[projects]] 187 | name = "github.com/kevinburke/ssh_config" 188 | packages = ["."] 189 | revision = "9fc7bb800b555d63157c65a904c86a2cc7b4e795" 190 | version = "0.4" 191 | 192 | [[projects]] 193 | name = "github.com/mattn/go-colorable" 194 | packages = ["."] 195 | revision = "167de6bfdfba052fa6b2d3664c8f5272e23c9072" 196 | version = "v0.0.9" 197 | 198 | [[projects]] 199 | name = "github.com/mattn/go-isatty" 200 | packages = ["."] 201 | revision = "0360b2af4f38e8d38c7fce2a9f4e702702d73a39" 202 | version = "v0.0.3" 203 | 204 | [[projects]] 205 | branch = "master" 206 | name = "github.com/mgutz/ansi" 207 | packages = ["."] 208 | revision = "9520e82c474b0a04dd04f8a40959027271bab992" 209 | 210 | [[projects]] 211 | branch = "master" 212 | name = "github.com/mitchellh/go-homedir" 213 | packages = ["."] 214 | revision = "b8bc1bf767474819792c23f32d8286a45736f1c6" 215 | 216 | [[projects]] 217 | branch = "master" 218 | name = "github.com/mitchellh/go-ps" 219 | packages = ["."] 220 | revision = "4fdf99ab29366514c69ccccddab5dc58b8d84062" 221 | 222 | [[projects]] 223 | name = "github.com/opentracing/opentracing-go" 224 | packages = [ 225 | ".", 226 | "ext", 227 | "log" 228 | ] 229 | revision = "1949ddbfd147afd4d964a9f00b24eb291e0e7c38" 230 | version = "v1.0.2" 231 | 232 | [[projects]] 233 | name = "github.com/pelletier/go-buffruneio" 234 | packages = ["."] 235 | revision = "c37440a7cf42ac63b919c752ca73a85067e05992" 236 | version = "v0.2.0" 237 | 238 | [[projects]] 239 | name = "github.com/pkg/errors" 240 | packages = ["."] 241 | revision = "645ef00459ed84a119197bfb8d8205042c6df63d" 242 | version = "v0.8.0" 243 | 244 | [[projects]] 245 | name = "github.com/pmezard/go-difflib" 246 | packages = ["difflib"] 247 | revision = "792786c7400a136282c1664665ae0a8db921c6c2" 248 | version = "v1.0.0" 249 | 250 | [[projects]] 251 | name = "github.com/pulumi/pulumi" 252 | packages = [ 253 | "pkg/apitype", 254 | "pkg/apitype/migrate", 255 | "pkg/backend", 256 | "pkg/backend/display", 257 | "pkg/backend/filestate", 258 | "pkg/diag", 259 | "pkg/diag/colors", 260 | "pkg/encoding", 261 | "pkg/engine", 262 | "pkg/operations", 263 | "pkg/resource", 264 | "pkg/resource/config", 265 | "pkg/resource/deploy", 266 | "pkg/resource/deploy/providers", 267 | "pkg/resource/graph", 268 | "pkg/resource/plugin", 269 | "pkg/resource/stack", 270 | "pkg/testing", 271 | "pkg/testing/integration", 272 | "pkg/tokens", 273 | "pkg/util/cancel", 274 | "pkg/util/cmdutil", 275 | "pkg/util/contract", 276 | "pkg/util/fsutil", 277 | "pkg/util/gitutil", 278 | "pkg/util/httputil", 279 | "pkg/util/logging", 280 | "pkg/util/mapper", 281 | "pkg/util/result", 282 | "pkg/util/retry", 283 | "pkg/util/rpcutil", 284 | "pkg/util/rpcutil/rpcerror", 285 | "pkg/util/testutil", 286 | "pkg/version", 287 | "pkg/workspace", 288 | "sdk/proto/go" 289 | ] 290 | revision = "c7d3cc5731d0ca2b26ad5e18e6a23b43b74b44b7" 291 | version = "v0.15.1" 292 | 293 | [[projects]] 294 | branch = "master" 295 | name = "github.com/reconquest/loreley" 296 | packages = ["."] 297 | revision = "2ab6b7470a54bfa9b5b0289f9b4e8fc4839838f7" 298 | 299 | [[projects]] 300 | name = "github.com/satori/go.uuid" 301 | packages = ["."] 302 | revision = "f58768cc1a7a7e77a3bd49e98cdd21419399b6a3" 303 | version = "v1.2.0" 304 | 305 | [[projects]] 306 | name = "github.com/sergi/go-diff" 307 | packages = ["diffmatchpatch"] 308 | revision = "1744e2970ca51c86172c8190fadad617561ed6e7" 309 | version = "v1.0.0" 310 | 311 | [[projects]] 312 | name = "github.com/spf13/cobra" 313 | packages = ["."] 314 | revision = "7b2c5ac9fc04fc5efafb60700713d4fa609b777b" 315 | version = "v0.0.1" 316 | 317 | [[projects]] 318 | name = "github.com/spf13/pflag" 319 | packages = ["."] 320 | revision = "e57e3eeb33f795204c1ca35f56c44f83227c6e66" 321 | version = "v1.0.0" 322 | 323 | [[projects]] 324 | name = "github.com/src-d/gcfg" 325 | packages = [ 326 | ".", 327 | "scanner", 328 | "token", 329 | "types" 330 | ] 331 | revision = "f187355171c936ac84a82793659ebb4936bc1c23" 332 | version = "v1.3.0" 333 | 334 | [[projects]] 335 | name = "github.com/stretchr/testify" 336 | packages = ["assert"] 337 | revision = "12b6f73e6084dad08a7c6e575284b177ecafbc71" 338 | version = "v1.2.1" 339 | 340 | [[projects]] 341 | branch = "master" 342 | name = "github.com/texttheater/golang-levenshtein" 343 | packages = ["levenshtein"] 344 | revision = "d188e65d659ef53fcdb0691c12f1bba64928b649" 345 | 346 | [[projects]] 347 | name = "github.com/uber/jaeger-client-go" 348 | packages = [ 349 | ".", 350 | "internal/baggage", 351 | "internal/spanlog", 352 | "log", 353 | "thrift-gen/agent", 354 | "thrift-gen/jaeger", 355 | "thrift-gen/sampling", 356 | "thrift-gen/zipkincore", 357 | "transport/zipkin", 358 | "utils" 359 | ] 360 | revision = "ff3efa227b65e419701a4f48985379ca106a89e7" 361 | version = "v2.11.0" 362 | 363 | [[projects]] 364 | name = "github.com/uber/jaeger-lib" 365 | packages = ["metrics"] 366 | revision = "c48167d9cae5887393dd5e61efd06a4a48b7fbb3" 367 | version = "v1.2.1" 368 | 369 | [[projects]] 370 | branch = "master" 371 | name = "github.com/xanzy/ssh-agent" 372 | packages = ["."] 373 | revision = "ba9c9e33906f58169366275e3450db66139a31a9" 374 | 375 | [[projects]] 376 | branch = "master" 377 | name = "golang.org/x/crypto" 378 | packages = [ 379 | "cast5", 380 | "curve25519", 381 | "ed25519", 382 | "ed25519/internal/edwards25519", 383 | "openpgp", 384 | "openpgp/armor", 385 | "openpgp/elgamal", 386 | "openpgp/errors", 387 | "openpgp/packet", 388 | "openpgp/s2k", 389 | "pbkdf2", 390 | "ssh", 391 | "ssh/agent", 392 | "ssh/knownhosts", 393 | "ssh/terminal" 394 | ] 395 | revision = "94eea52f7b742c7cbe0b03b22f0c4c8631ece122" 396 | 397 | [[projects]] 398 | branch = "master" 399 | name = "golang.org/x/net" 400 | packages = [ 401 | "context", 402 | "http2", 403 | "http2/hpack", 404 | "idna", 405 | "internal/timeseries", 406 | "lex/httplex", 407 | "trace" 408 | ] 409 | revision = "a8b9294777976932365dabb6640cf1468d95c70f" 410 | 411 | [[projects]] 412 | branch = "master" 413 | name = "golang.org/x/sys" 414 | packages = [ 415 | "unix", 416 | "windows" 417 | ] 418 | revision = "8b4580aae2a0dd0c231a45d3ccb8434ff533b840" 419 | 420 | [[projects]] 421 | branch = "master" 422 | name = "golang.org/x/text" 423 | packages = [ 424 | "collate", 425 | "collate/build", 426 | "internal/colltab", 427 | "internal/gen", 428 | "internal/tag", 429 | "internal/triegen", 430 | "internal/ucd", 431 | "language", 432 | "secure/bidirule", 433 | "transform", 434 | "unicode/bidi", 435 | "unicode/cldr", 436 | "unicode/norm", 437 | "unicode/rangetable" 438 | ] 439 | revision = "57961680700a5336d15015c8c50686ca5ba362a4" 440 | 441 | [[projects]] 442 | branch = "master" 443 | name = "google.golang.org/genproto" 444 | packages = ["googleapis/rpc/status"] 445 | revision = "7f0da29060c682909f650ad8ed4e515bd74fa12a" 446 | 447 | [[projects]] 448 | name = "google.golang.org/grpc" 449 | packages = [ 450 | ".", 451 | "balancer", 452 | "codes", 453 | "connectivity", 454 | "credentials", 455 | "grpclb/grpc_lb_v1/messages", 456 | "grpclog", 457 | "internal", 458 | "keepalive", 459 | "metadata", 460 | "naming", 461 | "peer", 462 | "reflection", 463 | "reflection/grpc_reflection_v1alpha", 464 | "resolver", 465 | "stats", 466 | "status", 467 | "tap", 468 | "transport" 469 | ] 470 | revision = "5ffe3083946d5603a0578721101dc8165b1d5b5f" 471 | version = "v1.7.2" 472 | 473 | [[projects]] 474 | name = "gopkg.in/AlecAivazis/survey.v1" 475 | packages = [ 476 | ".", 477 | "core", 478 | "terminal" 479 | ] 480 | revision = "f30c5d1830c892f533140f29a1de89141dc217f5" 481 | version = "v1.6.2" 482 | 483 | [[projects]] 484 | name = "gopkg.in/src-d/go-billy.v4" 485 | packages = [ 486 | ".", 487 | "helper/chroot", 488 | "helper/polyfill", 489 | "osfs", 490 | "util" 491 | ] 492 | revision = "df053870ae7070b0350624ba5a22161ba3796cc0" 493 | version = "v4.1.1" 494 | 495 | [[projects]] 496 | name = "gopkg.in/src-d/go-git.v4" 497 | packages = [ 498 | ".", 499 | "config", 500 | "internal/revision", 501 | "plumbing", 502 | "plumbing/cache", 503 | "plumbing/filemode", 504 | "plumbing/format/config", 505 | "plumbing/format/diff", 506 | "plumbing/format/gitignore", 507 | "plumbing/format/idxfile", 508 | "plumbing/format/index", 509 | "plumbing/format/objfile", 510 | "plumbing/format/packfile", 511 | "plumbing/format/pktline", 512 | "plumbing/object", 513 | "plumbing/protocol/packp", 514 | "plumbing/protocol/packp/capability", 515 | "plumbing/protocol/packp/sideband", 516 | "plumbing/revlist", 517 | "plumbing/storer", 518 | "plumbing/transport", 519 | "plumbing/transport/client", 520 | "plumbing/transport/file", 521 | "plumbing/transport/git", 522 | "plumbing/transport/http", 523 | "plumbing/transport/internal/common", 524 | "plumbing/transport/server", 525 | "plumbing/transport/ssh", 526 | "storage", 527 | "storage/filesystem", 528 | "storage/filesystem/dotgit", 529 | "storage/memory", 530 | "utils/binary", 531 | "utils/diff", 532 | "utils/ioutil", 533 | "utils/merkletrie", 534 | "utils/merkletrie/filesystem", 535 | "utils/merkletrie/index", 536 | "utils/merkletrie/internal/frame", 537 | "utils/merkletrie/noder" 538 | ] 539 | revision = "b23570073eaee3489e5e3d666f22ba5cbeb53243" 540 | version = "v4.4.1" 541 | 542 | [[projects]] 543 | name = "gopkg.in/warnings.v0" 544 | packages = ["."] 545 | revision = "ec4a0fea49c7b46c2aeb0b51aac55779c607e52b" 546 | version = "v0.1.2" 547 | 548 | [[projects]] 549 | branch = "v2" 550 | name = "gopkg.in/yaml.v2" 551 | packages = ["."] 552 | revision = "287cf08546ab5e7e37d55a84f7ed3fd1db036de5" 553 | 554 | [solve-meta] 555 | analyzer-name = "dep" 556 | analyzer-version = 1 557 | inputs-digest = "e4b66aec2fd2ea4da678f3010c81f6df2cb821f4b433442394020b80cebc8c29" 558 | solver-name = "gps-cdcl" 559 | solver-version = 1 560 | -------------------------------------------------------------------------------- /Gopkg.toml: -------------------------------------------------------------------------------- 1 | [[constraint]] 2 | name = "github.com/pulumi/pulumi" 3 | version = "v0.15.1" 4 | 5 | [[constraint]] 6 | name = "github.com/stretchr/testify" 7 | version = "1.1.4" 8 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | 2 | Apache License 3 | Version 2.0, January 2004 4 | http://www.apache.org/licenses/ 5 | 6 | TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 7 | 8 | 1. Definitions. 9 | 10 | "License" shall mean the terms and conditions for use, reproduction, 11 | and distribution as defined by Sections 1 through 9 of this document. 12 | 13 | "Licensor" shall mean the copyright owner or entity authorized by 14 | the copyright owner that is granting the License. 15 | 16 | "Legal Entity" shall mean the union of the acting entity and all 17 | other entities that control, are controlled by, or are under common 18 | control with that entity. For the purposes of this definition, 19 | "control" means (i) the power, direct or indirect, to cause the 20 | direction or management of such entity, whether by contract or 21 | otherwise, or (ii) ownership of fifty percent (50%) or more of the 22 | outstanding shares, or (iii) beneficial ownership of such entity. 23 | 24 | "You" (or "Your") shall mean an individual or Legal Entity 25 | exercising permissions granted by this License. 26 | 27 | "Source" form shall mean the preferred form for making modifications, 28 | including but not limited to software source code, documentation 29 | source, and configuration files. 30 | 31 | "Object" form shall mean any form resulting from mechanical 32 | transformation or translation of a Source form, including but 33 | not limited to compiled object code, generated documentation, 34 | and conversions to other media types. 35 | 36 | "Work" shall mean the work of authorship, whether in Source or 37 | Object form, made available under the License, as indicated by a 38 | copyright notice that is included in or attached to the work 39 | (an example is provided in the Appendix below). 40 | 41 | "Derivative Works" shall mean any work, whether in Source or Object 42 | form, that is based on (or derived from) the Work and for which the 43 | editorial revisions, annotations, elaborations, or other modifications 44 | represent, as a whole, an original work of authorship. For the purposes 45 | of this License, Derivative Works shall not include works that remain 46 | separable from, or merely link (or bind by name) to the interfaces of, 47 | the Work and Derivative Works thereof. 48 | 49 | "Contribution" shall mean any work of authorship, including 50 | the original version of the Work and any modifications or additions 51 | to that Work or Derivative Works thereof, that is intentionally 52 | submitted to Licensor for inclusion in the Work by the copyright owner 53 | or by an individual or Legal Entity authorized to submit on behalf of 54 | the copyright owner. For the purposes of this definition, "submitted" 55 | means any form of electronic, verbal, or written communication sent 56 | to the Licensor or its representatives, including but not limited to 57 | communication on electronic mailing lists, source code control systems, 58 | and issue tracking systems that are managed by, or on behalf of, the 59 | Licensor for the purpose of discussing and improving the Work, but 60 | excluding communication that is conspicuously marked or otherwise 61 | designated in writing by the copyright owner as "Not a Contribution." 62 | 63 | "Contributor" shall mean Licensor and any individual or Legal Entity 64 | on behalf of whom a Contribution has been received by Licensor and 65 | subsequently incorporated within the Work. 66 | 67 | 2. Grant of Copyright License. Subject to the terms and conditions of 68 | this License, each Contributor hereby grants to You a perpetual, 69 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 70 | copyright license to reproduce, prepare Derivative Works of, 71 | publicly display, publicly perform, sublicense, and distribute the 72 | Work and such Derivative Works in Source or Object form. 73 | 74 | 3. Grant of Patent License. Subject to the terms and conditions of 75 | this License, each Contributor hereby grants to You a perpetual, 76 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 77 | (except as stated in this section) patent license to make, have made, 78 | use, offer to sell, sell, import, and otherwise transfer the Work, 79 | where such license applies only to those patent claims licensable 80 | by such Contributor that are necessarily infringed by their 81 | Contribution(s) alone or by combination of their Contribution(s) 82 | with the Work to which such Contribution(s) was submitted. If You 83 | institute patent litigation against any entity (including a 84 | cross-claim or counterclaim in a lawsuit) alleging that the Work 85 | or a Contribution incorporated within the Work constitutes direct 86 | or contributory patent infringement, then any patent licenses 87 | granted to You under this License for that Work shall terminate 88 | as of the date such litigation is filed. 89 | 90 | 4. Redistribution. You may reproduce and distribute copies of the 91 | Work or Derivative Works thereof in any medium, with or without 92 | modifications, and in Source or Object form, provided that You 93 | meet the following conditions: 94 | 95 | (a) You must give any other recipients of the Work or 96 | Derivative Works a copy of this License; and 97 | 98 | (b) You must cause any modified files to carry prominent notices 99 | stating that You changed the files; and 100 | 101 | (c) You must retain, in the Source form of any Derivative Works 102 | that You distribute, all copyright, patent, trademark, and 103 | attribution notices from the Source form of the Work, 104 | excluding those notices that do not pertain to any part of 105 | the Derivative Works; and 106 | 107 | (d) If the Work includes a "NOTICE" text file as part of its 108 | distribution, then any Derivative Works that You distribute must 109 | include a readable copy of the attribution notices contained 110 | within such NOTICE file, excluding those notices that do not 111 | pertain to any part of the Derivative Works, in at least one 112 | of the following places: within a NOTICE text file distributed 113 | as part of the Derivative Works; within the Source form or 114 | documentation, if provided along with the Derivative Works; or, 115 | within a display generated by the Derivative Works, if and 116 | wherever such third-party notices normally appear. The contents 117 | of the NOTICE file are for informational purposes only and 118 | do not modify the License. You may add Your own attribution 119 | notices within Derivative Works that You distribute, alongside 120 | or as an addendum to the NOTICE text from the Work, provided 121 | that such additional attribution notices cannot be construed 122 | as modifying the License. 123 | 124 | You may add Your own copyright statement to Your modifications and 125 | may provide additional or different license terms and conditions 126 | for use, reproduction, or distribution of Your modifications, or 127 | for any such Derivative Works as a whole, provided Your use, 128 | reproduction, and distribution of the Work otherwise complies with 129 | the conditions stated in this License. 130 | 131 | 5. Submission of Contributions. Unless You explicitly state otherwise, 132 | any Contribution intentionally submitted for inclusion in the Work 133 | by You to the Licensor shall be under the terms and conditions of 134 | this License, without any additional terms or conditions. 135 | Notwithstanding the above, nothing herein shall supersede or modify 136 | the terms of any separate license agreement you may have executed 137 | with Licensor regarding such Contributions. 138 | 139 | 6. Trademarks. This License does not grant permission to use the trade 140 | names, trademarks, service marks, or product names of the Licensor, 141 | except as required for reasonable and customary use in describing the 142 | origin of the Work and reproducing the content of the NOTICE file. 143 | 144 | 7. Disclaimer of Warranty. Unless required by applicable law or 145 | agreed to in writing, Licensor provides the Work (and each 146 | Contributor provides its Contributions) on an "AS IS" BASIS, 147 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or 148 | implied, including, without limitation, any warranties or conditions 149 | of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A 150 | PARTICULAR PURPOSE. You are solely responsible for determining the 151 | appropriateness of using or redistributing the Work and assume any 152 | risks associated with Your exercise of permissions under this License. 153 | 154 | 8. Limitation of Liability. In no event and under no legal theory, 155 | whether in tort (including negligence), contract, or otherwise, 156 | unless required by applicable law (such as deliberate and grossly 157 | negligent acts) or agreed to in writing, shall any Contributor be 158 | liable to You for damages, including any direct, indirect, special, 159 | incidental, or consequential damages of any character arising as a 160 | result of this License or out of the use or inability to use the 161 | Work (including but not limited to damages for loss of goodwill, 162 | work stoppage, computer failure or malfunction, or any and all 163 | other commercial damages or losses), even if such Contributor 164 | has been advised of the possibility of such damages. 165 | 166 | 9. Accepting Warranty or Additional Liability. While redistributing 167 | the Work or Derivative Works thereof, You may choose to offer, 168 | and charge a fee for, acceptance of support, warranty, indemnity, 169 | or other liability obligations and/or rights consistent with this 170 | License. However, in accepting such obligations, You may act only 171 | on Your own behalf and on Your sole responsibility, not on behalf 172 | of any other Contributor, and only if You agree to indemnify, 173 | defend, and hold each Contributor harmless for any liability 174 | incurred by, or claims asserted against, such Contributor by reason 175 | of your accepting any such warranty or additional liability. 176 | 177 | END OF TERMS AND CONDITIONS 178 | 179 | APPENDIX: How to apply the Apache License to your work. 180 | 181 | To apply the Apache License to your work, attach the following 182 | boilerplate notice, with the fields enclosed by brackets "[]" 183 | replaced with your own identifying information. (Don't include 184 | the brackets!) The text should be enclosed in the appropriate 185 | comment syntax for the file format. We also recommend that a 186 | file or class name and description of purpose be included on the 187 | same "printed page" as the copyright notice for easier 188 | identification within third-party archives. 189 | 190 | Copyright [yyyy] [name of copyright owner] 191 | 192 | Licensed under the Apache License, Version 2.0 (the "License"); 193 | you may not use this file except in compliance with the License. 194 | You may obtain a copy of the License at 195 | 196 | http://www.apache.org/licenses/LICENSE-2.0 197 | 198 | Unless required by applicable law or agreed to in writing, software 199 | distributed under the License is distributed on an "AS IS" BASIS, 200 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 201 | See the License for the specific language governing permissions and 202 | limitations under the License. 203 | -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- 1 | PROJECT_NAME := Pulumi Amazon Web Services (AWS) Serverless Components 2 | SUB_PROJECTS := nodejs/aws-serverless 3 | include build/common.mk 4 | 5 | .PHONY: publish_packages 6 | publish_packages: 7 | $(call STEP_MESSAGE) 8 | ./scripts/publish_packages.sh 9 | 10 | # The travis_* targets are entrypoints for CI. 11 | .PHONY: travis_cron travis_push travis_pull_request travis_api 12 | travis_cron: all 13 | travis_push: only_build only_test publish_packages 14 | travis_pull_request: all 15 | travis_api: all 16 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | [![Build Status](https://travis-ci.com/pulumi/pulumi-aws-serverless.svg?token=eHg7Zp5zdDDJfTjY8ejq&branch=master)](https://travis-ci.com/pulumi/pulumi-aws-serverless) 2 | 3 | # Pulumi Amazon Web Services (AWS) Serverless Components 4 | 5 | **This package has been deprecated. All functionality previously contained in it has moved to the [@pulumi/aws](https://github.com/pulumi/pulumi-aws) package.** 6 | 7 | While the same functionality can be achieved using `@pulumi/aws`, moving existing code to use that library is not a straight source translation. Specifically, while usage `@pulumi/aws-serverless` APIs would result in code like: 8 | 9 | ```ts 10 | const bucket = aws.s3.Bucket.get("my-bucket"); 11 | serverless.bucket.onObjectCreated("test", bucket, async (event) => { 12 | // Lambda's code goes here... 13 | }); 14 | ``` 15 | 16 | The expected usage of `@pulumi/aws` would be: 17 | 18 | ```typescript 19 | const bucket = aws.s3.Bucket.get("my-bucket"); 20 | bucket.onObjectCreated("test", async (event) => { 21 | // Lambda's code goes here... 22 | }); 23 | ``` 24 | 25 | In other words, serverless-eventing functionality moved from being global static helpers, to being instance methods on the specific aws resource types. 26 | 27 | `@pulumi/aws-serverless` is still available, but just shims down to `@pulumi/aws`. It will not receive any more updates, and it may be removed at some point in the future. 28 | -------------------------------------------------------------------------------- /build/common.mk: -------------------------------------------------------------------------------- 1 | # Copyright 2016-2018, Pulumi Corporation. All rights reserved. 2 | 3 | # common.mk provides most of the scalfholding for our build system. It 4 | # provides default targets for each project we want to build. 5 | # 6 | # The default targets we use are: 7 | # 8 | # - ensure: restores and dependencies needed for the build from 9 | # remote sources (e.g dep ensure or yarn install) 10 | # 11 | # - build: builds a project but does not install it. In the case of 12 | # go code, this usually means running go install (which 13 | # would place them in `GOBIN`, but not `PULUMI_ROOT` 14 | # 15 | # - install: copies the bits we plan to ship into a layout in 16 | # `PULUMI_ROOT` that looks like what a customer would get 17 | # when they download and install Pulumi. For JavaScript 18 | # projects, installing also runs yarn link to register 19 | # this package, so that other projects can depend on it. 20 | # 21 | # - lint: runs relevent linters for the project 22 | # 23 | # - test_fast: runs the fast tests for a project. These are often 24 | # go unit tests or javascript unit tests, they should 25 | # complete quickly, as we expect developers to run them 26 | # fequently as part of their "inner loop" development. 27 | # 28 | # - test_all: runs all of test_fast and then runs additional testing, 29 | # which may take longer (some times a lot longer!). These 30 | # are often integration tests which will use `pulumi` to 31 | # deploy example Pulumi projects, creating cloud 32 | # resources along the way. 33 | # 34 | # In addition, we have a few higher level targets that just depend on 35 | # these targets: 36 | # 37 | # - only_build: this target runs build and install targets 38 | # 39 | # - only_test: this target runs the list and test_all targets 40 | # (test_all itself runs test_fast) 41 | # 42 | # - default: this is the target that is run by default when no 43 | # arguments are passed to make, it runs the build, lint, 44 | # install and test_fast targets 45 | # 46 | # - core: this target behaves like `default` except for the case 47 | # where a project declares SUB_PROJECTS (see a discussion on 48 | # that later). In that case, building `core` target does not 49 | # build sub projects. 50 | # 51 | # - all: this target runs build, lint, install and test_all (which 52 | # itself runs test_fast). 53 | # 54 | # Before including this makefile, a project may define some values 55 | # that this makefile understands: 56 | # 57 | # - PROJECT_NAME: If set, make default and make all will print a banner 58 | # with the project name when they are built. 59 | # 60 | # - SUB_PROJECTS: If set, each item in the list is treated as a path 61 | # to another project (relative to the directory of the 62 | # main Makefile) which should be built as well. When 63 | # this happens, the default and all targets first 64 | # build the default or all target of each child 65 | # project. For each subproject we also create targets 66 | # with our standard names, prepended by the target 67 | # name and an underscore, which just calls Make for 68 | # that specific target. These can be handy targets to 69 | # build explicitly on the command line from time to 70 | # time. 71 | # 72 | # - NODE_MODULE_NAME: If set, an install target will be auto-generated 73 | # that installs the module to 74 | # $(PULUMI_ROOT)/node_modules/$(NODE_MODULE_NAME) 75 | # 76 | # This Makefile also provides some convience methods: 77 | # 78 | # STEP_MESSAGE is a macro that can be invoked with `$(call 79 | # STEP_MESSAGE)` and it will print the name of the current target (in 80 | # green text) to the console. All the targets provided by this makefile 81 | # do that by default. 82 | # 83 | # The ensure target also provides some default behavior, detecting if 84 | # there is a Gopkg.toml or package.json file in the current folder and 85 | # if so calling dep ensure -v or yarn install. This behavior means that 86 | # projects will not often need to augment the ensure target. 87 | # 88 | # Unlike the other leaf targets, ensure will call the ensure target on 89 | # any sub-projects. 90 | # 91 | # Importing common.mk should be the first thing your Makefile does, after 92 | # optionally setting SUB_PROJECTS, PROJECT_NAME and NODE_MODULE_NAME. 93 | SHELL := /bin/bash 94 | .SHELLFLAGS := -ec 95 | 96 | STEP_MESSAGE = @echo -e "\033[0;32m$(shell echo '$@' | tr a-z A-Z | tr '_' ' '):\033[0m" 97 | 98 | # Our install targets place items item into $PULUMI_ROOT, if it's 99 | # unset, default to /opt/pulumi. 100 | ifeq ($(PULUMI_ROOT),) 101 | PULUMI_ROOT:=/opt/pulumi 102 | endif 103 | 104 | PULUMI_BIN := $(PULUMI_ROOT)/bin 105 | PULUMI_NODE_MODULES := $(PULUMI_ROOT)/node_modules 106 | 107 | .PHONY: default all ensure only_build only_test build lint install test_fast test_all core 108 | 109 | # ensure that `default` is the target that is run when no arguments are passed to make 110 | default:: 111 | 112 | # If there are sub projects, our default, all, and ensure targets will 113 | # recurse into them. 114 | ifneq ($(SUB_PROJECTS),) 115 | only_build:: $(SUB_PROJECTS:%=%_only_build) 116 | only_test:: $(SUB_PROJECTS:%=%_only_test) 117 | default:: $(SUB_PROJECTS:%=%_default) 118 | all:: $(SUB_PROJECTS:%=%_all) 119 | ensure:: $(SUB_PROJECTS:%=%_ensure) 120 | endif 121 | 122 | # `core` is like `default` except it does not build sub projects. 123 | core:: build lint install test_fast 124 | 125 | # If $(PROJECT_NAME) has been set, have our default and all targets 126 | # print a nice banner. 127 | ifneq ($(PROJECT_NAME),) 128 | default:: 129 | @echo -e "\033[1;37m$(shell echo '$(PROJECT_NAME)' | sed -e 's/./=/g')\033[1;37m" 130 | @echo -e "\033[1;37m$(PROJECT_NAME)\033[1;37m" 131 | @echo -e "\033[1;37m$(shell echo '$(PROJECT_NAME)' | sed -e 's/./=/g')\033[1;37m" 132 | all:: 133 | @echo -e "\033[1;37m$(shell echo '$(PROJECT_NAME)' | sed -e 's/./=/g')\033[1;37m" 134 | @echo -e "\033[1;37m$(PROJECT_NAME)\033[1;37m" 135 | @echo -e "\033[1;37m$(shell echo '$(PROJECT_NAME)' | sed -e 's/./=/g')\033[1;37m" 136 | endif 137 | 138 | default:: build install lint test_fast 139 | all:: build install lint test_all 140 | 141 | ensure:: 142 | $(call STEP_MESSAGE) 143 | @if [ -e 'Gopkg.toml' ]; then echo "dep ensure -v"; dep ensure -v; fi 144 | @if [ -e 'package.json' ]; then echo "yarn install"; yarn install; fi 145 | 146 | build:: 147 | $(call STEP_MESSAGE) 148 | 149 | lint:: 150 | $(call STEP_MESSAGE) 151 | 152 | test_fast:: 153 | $(call STEP_MESSAGE) 154 | 155 | install:: 156 | $(call STEP_MESSAGE) 157 | @mkdir -p $(PULUMI_BIN) 158 | @mkdir -p $(PULUMI_NODE_MODULES) 159 | 160 | test_all:: test_fast 161 | $(call STEP_MESSAGE) 162 | 163 | ifneq ($(NODE_MODULE_NAME),) 164 | install:: 165 | [ ! -e "$(PULUMI_NODE_MODULES)/$(NODE_MODULE_NAME)" ] || rm -rf "$(PULUMI_NODE_MODULES)/$(NODE_MODULE_NAME)" 166 | mkdir -p "$(PULUMI_NODE_MODULES)/$(NODE_MODULE_NAME)" 167 | cp -r bin/. "$(PULUMI_NODE_MODULES)/$(NODE_MODULE_NAME)" 168 | cp yarn.lock "$(PULUMI_NODE_MODULES)/$(NODE_MODULE_NAME)" 169 | rm -rf "$(PULUMI_NODE_MODULES)/$(NODE_MODULE_NAME)/node_modules" 170 | cd "$(PULUMI_NODE_MODULES)/$(NODE_MODULE_NAME)" && \ 171 | yarn install --offline --production && \ 172 | (yarn unlink > /dev/null 2>&1 || true) && \ 173 | yarn link 174 | endif 175 | 176 | only_build:: build install 177 | only_test:: lint test_all 178 | 179 | # Generate targets for each sub project. This project's default and 180 | # all targets will depend on the sub project's targets, and the 181 | # individual targets for sub projects are added as a convience when 182 | # invoking make from the command line 183 | ifneq ($(SUB_PROJECTS),) 184 | $(SUB_PROJECTS:%=%_default): 185 | @$(MAKE) -C ./$(@:%_default=%) default 186 | $(SUB_PROJECTS:%=%_all): 187 | @$(MAKE) -C ./$(@:%_all=%) all 188 | $(SUB_PROJECTS:%=%_ensure): 189 | @$(MAKE) -C ./$(@:%_ensure=%) ensure 190 | $(SUB_PROJECTS:%=%_build): 191 | @$(MAKE) -C ./$(@:%_build=%) build 192 | $(SUB_PROJECTS:%=%_lint): 193 | @$(MAKE) -C ./$(@:%_lint=%) lint 194 | $(SUB_PROJECTS:%=%_test_fast): 195 | @$(MAKE) -C ./$(@:%_test_fast=%) test_fast 196 | $(SUB_PROJECTS:%=%_install): 197 | @$(MAKE) -C ./$(@:%_install=%) install 198 | $(SUB_PROJECTS:%=%_only_build): 199 | @$(MAKE) -C ./$(@:%_only_build=%) only_build 200 | $(SUB_PROJECTS:%=%_only_test): 201 | @$(MAKE) -C ./$(@:%_only_test=%) only_test 202 | endif 203 | 204 | # As a convinece, we provide a format target that folks can build to 205 | # run go fmt over all the go code in their tree. 206 | .PHONY: format 207 | format: 208 | find . -iname "*.go" -not -path "./vendor/*" | xargs gofmt -s -w 209 | -------------------------------------------------------------------------------- /nodejs/aws-serverless/Makefile: -------------------------------------------------------------------------------- 1 | PROJECT_NAME := Pulumi AWS Serverless components 2 | NODE_MODULE_NAME := @pulumi/aws-serverless 3 | include ../../build/common.mk 4 | 5 | VERSION := $(shell ../../scripts/get-version) 6 | 7 | export PATH := $(shell yarn bin 2>/dev/null):$(PATH) 8 | 9 | TESTPARALLELISM := 10 10 | 11 | build:: 12 | yarn install 13 | #yarn link @pulumi/pulumi @pulumi/aws 14 | tsc 15 | sed -e 's/\$${VERSION}/$(VERSION)/g' < package.json > bin/package.json 16 | cp ../../README.md ../../LICENSE bin/ 17 | 18 | lint:: 19 | tslint -c ../tslint.json -p tsconfig.json 20 | 21 | test_all:: 22 | PATH=$(PULUMI_BIN):$(PATH) go test -v -cover -timeout 2h -parallel ${TESTPARALLELISM} ./examples 23 | -------------------------------------------------------------------------------- /nodejs/aws-serverless/api.ts: -------------------------------------------------------------------------------- 1 | // Copyright 2016-2018, Pulumi Corporation. 2 | // 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | // 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | // 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | 15 | import * as aws from "@pulumi/aws"; 16 | import { x } from "@pulumi/aws/apigateway"; 17 | import * as pulumi from "@pulumi/pulumi"; 18 | 19 | import { createLambdaFunction, Handler } from "./function"; 20 | import { sha1hash } from "./utils"; 21 | 22 | /** @deprecated Use [aws.apigateway.x.Request] instead. */ 23 | export type Request = x.Request; 24 | /** @deprecated Use [aws.apigateway.x.RequestContext] instead. */ 25 | export type RequestContext = x.RequestContext; 26 | /** @deprecated Use [aws.apigateway.x.Request] instead. */ 27 | export type RequestIdentity = x.RequestIdentity; 28 | /** @deprecated Use [aws.apigateway.x.Response] instead. */ 29 | export type Response = x.Response; 30 | /** @deprecated Use [aws.apigateway.x.RouteEventHandler] instead. */ 31 | export type RouteHandler = x.RouteEventHandler; 32 | /** @deprecated Use [aws.apigateway.x.Method] instead. */ 33 | export type Method = x.Method; 34 | /** @deprecated Use [aws.apigateway.x.Route] instead. */ 35 | export type Route = x.Route; 36 | /** @deprecated Use [aws.apigateway.x.APIArgs] instead. */ 37 | export type APIArgs = x.APIArgs; 38 | 39 | /** @deprecated Use [aws.apigateway.x.API] instead. */ 40 | export const API = x.API; 41 | /** @deprecated Use [aws.apigateway.x.API] instead. */ 42 | export type API = x.API; 43 | -------------------------------------------------------------------------------- /nodejs/aws-serverless/bucket.ts: -------------------------------------------------------------------------------- 1 | // Copyright 2016-2018, Pulumi Corporation. 2 | // 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | // 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | // 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | 15 | import * as pulumi from "@pulumi/pulumi"; 16 | 17 | import { s3 } from "@pulumi/aws"; 18 | 19 | /** @deprecated Use [s3.CommonBucketSubscriptionArgs] instead. */ 20 | export type SimpleBucketSubscriptionArgs = s3.CommonBucketSubscriptionArgs; 21 | /** @deprecated Use [s3.BucketEventSubscriptionArgs] instead. */ 22 | export type BucketSubscriptionArgs = s3.BucketEventSubscriptionArgs; 23 | /** @deprecated Use [s3.ObjectCreatedSubscriptionArgs] instead. */ 24 | export type BucketPutArgs = s3.ObjectCreatedSubscriptionArgs; 25 | /** @deprecated Use [s3.ObjectRemovedSubscriptionArgs] instead. */ 26 | export type BucketDeleteArgs = s3.ObjectRemovedSubscriptionArgs; 27 | /** @deprecated Use [s3.BucketEvent] instead. */ 28 | export type BucketEvent = s3.BucketEvent; 29 | /** @deprecated Use [s3.BucketRecord] instead. */ 30 | export type BucketRecord = s3.BucketRecord; 31 | /** @deprecated Use [s3.BucketEventHandler] instead. */ 32 | export type BucketEventHandler = s3.BucketEventHandler; 33 | 34 | /** @deprecated Use [s3.Bucket.onObjectCreated] instead. */ 35 | export function onPut( 36 | name: string, bucket: s3.Bucket, handler: BucketEventHandler, 37 | args?: BucketPutArgs, opts?: pulumi.ResourceOptions): BucketEventSubscription { 38 | 39 | return bucket.onObjectCreated(name, handler, args, opts); 40 | } 41 | 42 | /** @deprecated Use [s3.Bucket.onObjectRemoved] instead. */ 43 | export function onDelete( 44 | name: string, bucket: s3.Bucket, handler: BucketEventHandler, 45 | args?: BucketDeleteArgs, opts?: pulumi.ResourceOptions): BucketEventSubscription { 46 | 47 | return bucket.onObjectRemoved(name, handler, args, opts); 48 | } 49 | 50 | /** @deprecated Use [s3.Bucket.onEvent] instead. */ 51 | export function onEvent( 52 | name: string, bucket: s3.Bucket, handler: BucketEventHandler, 53 | args: BucketSubscriptionArgs, opts?: pulumi.ResourceOptions): BucketEventSubscription { 54 | 55 | return bucket.onEvent(name, handler, args, opts); 56 | } 57 | 58 | /** @deprecated Use [s3.BucketEventSubscription] instead. */ 59 | export const BucketEventSubscription = s3.BucketEventSubscription; 60 | /** @deprecated Use [s3.BucketEventSubscription] instead. */ 61 | export type BucketEventSubscription = s3.BucketEventSubscription; 62 | -------------------------------------------------------------------------------- /nodejs/aws-serverless/cloudwatch.ts: -------------------------------------------------------------------------------- 1 | // Copyright 2016-2018, Pulumi Corporation. 2 | // 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | // 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | // 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | 15 | import * as pulumi from "@pulumi/pulumi"; 16 | 17 | import { cloudwatch } from "@pulumi/aws"; 18 | 19 | /** @deprecated Use [cloudwatch.EventRuleEventSubscriptionArgs] instead */ 20 | export type CloudwatchEventArgs = cloudwatch.EventRuleEventSubscriptionArgs; 21 | /** @deprecated Use [cloudwatch.EventRuleEvent] instead */ 22 | export type CloudwatchEvent = cloudwatch.EventRuleEvent; 23 | /** @deprecated Use [cloudwatch.EventRuleEventHandler] instead */ 24 | export type CloudwatchEventHandler = cloudwatch.EventRuleEventHandler; 25 | /** @deprecated Use [cloudwatch.onSubscribe] or [cloudwatch.EventRule.onEvent] instead */ 26 | export function onEvent(name: string, schedule: string, handler: CloudwatchEventHandler, args?: CloudwatchEventArgs, opts?: pulumi.ResourceOptions): CloudwatchEventSubscription; 27 | export function onEvent(name: string, rule: cloudwatch.EventRule, handler: CloudwatchEventHandler, args?: CloudwatchEventArgs, opts?: pulumi.ResourceOptions): CloudwatchEventSubscription; 28 | export function onEvent( 29 | name: string, scheduleOrRule: string | cloudwatch.EventRule, 30 | handler: CloudwatchEventHandler, args?: CloudwatchEventArgs, opts?: pulumi.ResourceOptions): CloudwatchEventSubscription { 31 | 32 | if (typeof scheduleOrRule === "string") { 33 | return cloudwatch.onSchedule(name, scheduleOrRule, handler, args, opts); 34 | } 35 | 36 | return scheduleOrRule.onEvent(name, handler, args, opts); 37 | } 38 | 39 | /** @deprecated Use [cloudwatch.EventRuleEventSubscription] instead */ 40 | // tslint:disable-next-line:variable-name 41 | export const CloudwatchEventSubscription = cloudwatch.EventRuleEventSubscription; 42 | /** @deprecated Use [cloudwatch.EventRuleEventSubscription] instead */ 43 | export type CloudwatchEventSubscription = cloudwatch.EventRuleEventSubscription; 44 | -------------------------------------------------------------------------------- /nodejs/aws-serverless/examples/aws_test.go: -------------------------------------------------------------------------------- 1 | // Copyright 2016-2018, Pulumi Corporation. 2 | // 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | // 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | // 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | 15 | package examples 16 | 17 | import ( 18 | "fmt" 19 | "os" 20 | "testing" 21 | 22 | "github.com/stretchr/testify/assert" 23 | 24 | "github.com/pulumi/pulumi/pkg/testing/integration" 25 | ) 26 | 27 | func Test_Examples(t *testing.T) { 28 | region := os.Getenv("AWS_REGION") 29 | if region == "" { 30 | t.Skipf("Skipping test due to missing AWS_REGION environment variable") 31 | } 32 | fmt.Printf("AWS Region: %v\n", region) 33 | 34 | _, err := os.Getwd() 35 | if !assert.NoError(t, err, "expected a valid working directory: %v", err) { 36 | return 37 | } 38 | 39 | examples := []integration.ProgramTestOptions{} 40 | 41 | for _, ex := range examples { 42 | example := ex.With(integration.ProgramTestOptions{ 43 | ReportStats: integration.NewS3Reporter("us-west-2", "eng.pulumi.com", "testreports"), 44 | Tracing: "https://tracing.pulumi-engineering.com/collector/api/v1/spans", 45 | // TODO[pulumi/pulumi#1900]: This should be the default value, every test we have causes some sort of 46 | // change during a `pulumi refresh` for reasons outside our control. 47 | ExpectRefreshChanges: true, 48 | }) 49 | t.Run(example.Dir, func(t *testing.T) { 50 | integration.ProgramTest(t, &example) 51 | }) 52 | } 53 | } 54 | -------------------------------------------------------------------------------- /nodejs/aws-serverless/function.ts: -------------------------------------------------------------------------------- 1 | // Copyright 2016-2018, Pulumi Corporation. 2 | // 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | // 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | // 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | 15 | import * as pulumi from "@pulumi/pulumi"; 16 | 17 | import * as aws from "@pulumi/aws"; 18 | import { ResourceOptions } from "@pulumi/pulumi"; 19 | 20 | /** @deprecated Use [lambda.Callback] instead. */ 21 | export type Callback = aws.lambda.Callback; 22 | 23 | /** @deprecated Use [lambda.EventHandler] instead. */ 24 | export type Handler = aws.lambda.EventHandler; 25 | 26 | const defaultComputePolicies = [ 27 | aws.iam.AWSLambdaFullAccess, // Provides wide access to "serverless" services (Dynamo, S3, etc.) 28 | ]; 29 | 30 | /** @deprecated Use [lambda.createCallbackFunction] instead. */ 31 | export function createLambdaFunction( 32 | name: string, handler: Handler, opts?: ResourceOptions, 33 | functionOptions?: aws.serverless.FunctionOptions): aws.lambda.Function { 34 | 35 | if (typeof handler === "function") { 36 | if (!functionOptions) { 37 | functionOptions = { 38 | policies: defaultComputePolicies.slice(), 39 | }; 40 | } 41 | 42 | const serverlessFunction = new aws.serverless.Function( 43 | name, functionOptions, handler, opts); 44 | 45 | return serverlessFunction.lambda; 46 | } else { 47 | return handler; 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /nodejs/aws-serverless/index.ts: -------------------------------------------------------------------------------- 1 | // Copyright 2016-2018, Pulumi Corporation. 2 | // 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | // 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | // 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | 15 | import * as apigateway from "./api"; 16 | import * as bucket from "./bucket"; 17 | import * as cloudwatch from "./cloudwatch"; 18 | import * as queue from "./queue"; 19 | import * as topic from "./topic"; 20 | 21 | export { apigateway, bucket, cloudwatch, queue, topic }; 22 | -------------------------------------------------------------------------------- /nodejs/aws-serverless/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@pulumi/aws-serverless", 3 | "version": "${VERSION}", 4 | "description": "Pulumi Amazon Web Services (AWS) Serverless Components.", 5 | "license": "Apache-2.0", 6 | "keywords": [ 7 | "pulumi", 8 | "aws", 9 | "aws-serverless" 10 | ], 11 | "homepage": "https://pulumi.io", 12 | "repository": "https://github.com/pulumi/pulumi-aws-serverless", 13 | "dependencies": { 14 | "@pulumi/pulumi": "dev", 15 | "@pulumi/aws": "dev" 16 | }, 17 | "devDependencies": { 18 | "@types/aws-sdk": "^2.7.0", 19 | "@types/node": "^8.0.26", 20 | "tslint": "^5.7.0", 21 | "typescript": "^3.0.3" 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /nodejs/aws-serverless/queue.ts: -------------------------------------------------------------------------------- 1 | // Copyright 2016-2018, Pulumi Corporation. 2 | // 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | // 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | // 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | 15 | import * as pulumi from "@pulumi/pulumi"; 16 | 17 | import { sqs } from "@pulumi/aws"; 18 | 19 | /** @deprecated use [sqs.QueueEvent] instead */ 20 | export type QueueEvent = sqs.QueueEvent; 21 | /** @deprecated use [sqs.QueueRecord] instead */ 22 | export type QueueRecord = sqs.QueueRecord; 23 | /** @deprecated use [sqs.QueueEventHandler] instead */ 24 | export type QueueEventHandler = sqs.QueueEventHandler; 25 | /** @deprecated use [sqs.QueueSubscriptionArgs] instead */ 26 | export type QueueSubscriptionArgs = sqs.QueueEventSubscriptionArgs; 27 | 28 | /** @deprecated use [sqs.Queue.onEvent] instead */ 29 | export function subscribe( 30 | name: string, queue: sqs.Queue, handler: QueueEventHandler, 31 | args?: QueueSubscriptionArgs, opts?: pulumi.ResourceOptions): QueueEventSubscription { 32 | 33 | return queue.onEvent(name, handler, args, opts); 34 | } 35 | 36 | /** @deprecated use [sqs.QueueEventSubscription] instead */ 37 | export const QueueEventSubscription = sqs.QueueEventSubscription; 38 | /** @deprecated use [sqs.QueueEventSubscription] instead */ 39 | export type QueueEventSubscription = sqs.QueueEventSubscription; 40 | -------------------------------------------------------------------------------- /nodejs/aws-serverless/subscription.ts: -------------------------------------------------------------------------------- 1 | // Copyright 2016-2018, Pulumi Corporation. 2 | // 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | // 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | // 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | 15 | import { lambda } from "@pulumi/aws"; 16 | import * as pulumi from "@pulumi/pulumi"; 17 | 18 | /** @deprecated Use [lambda.EventSubscription] instead */ 19 | export class EventSubscription extends pulumi.ComponentResource { 20 | public permission: lambda.Permission; 21 | public func: lambda.Function; 22 | 23 | public constructor( 24 | type: string, name: string, func: lambda.Function, props: Record, opts?: pulumi.ResourceOptions) { 25 | 26 | super(type, name, props, opts); 27 | 28 | this.func = func; 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /nodejs/aws-serverless/topic.ts: -------------------------------------------------------------------------------- 1 | // Copyright 2016-2018, Pulumi Corporation. 2 | // 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | // 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | // 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | 15 | import * as pulumi from "@pulumi/pulumi"; 16 | 17 | import { sns } from "@pulumi/aws"; 18 | 19 | /** @deprecated Use [sns.TopicEvent] instead */ 20 | export type TopicEvent = sns.TopicEvent; 21 | /** @deprecated Use [sns.TopicRecord] instead */ 22 | export type TopicRecord = sns.TopicRecord; 23 | /** @deprecated Use [sns.SNSItem] instead */ 24 | export type SNSItem = sns.SNSItem; 25 | /** @deprecated Use [sns.SNSMessageAttribute] instead */ 26 | export type SNSMessageAttribute = sns.SNSMessageAttribute; 27 | /** @deprecated Use [sns.TopicEventHandler] instead */ 28 | export type TopicEventHandler = sns.TopicEventHandler; 29 | /** @deprecated Use [sns.TopicSubscriptionArgs] instead */ 30 | export type TopicSubscriptionArgs = sns.TopicSubscriptionArgs; 31 | 32 | /** @deprecated Use [sns.Topic.onEvent] instead */ 33 | export function subscribe( 34 | name: string, topic: sns.Topic, handler: TopicEventHandler, 35 | args?: TopicSubscriptionArgs, opts?: pulumi.ResourceOptions): TopicEventSubscription { 36 | 37 | return topic.onEvent(name, handler, args, opts); 38 | } 39 | 40 | /** @deprecated Use [sns.TopicEventSubscription] instead */ 41 | export const TopicEventSubscription = sns.TopicEventSubscription; 42 | /** @deprecated Use [sns.TopicEventSubscription] instead */ 43 | export type TopicEventSubscription = sns.TopicEventSubscription; 44 | -------------------------------------------------------------------------------- /nodejs/aws-serverless/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "outDir": "bin", 4 | "target": "es6", 5 | "module": "commonjs", 6 | "moduleResolution": "node", 7 | "declaration": true, 8 | "sourceMap": true, 9 | "stripInternal": true, 10 | "experimentalDecorators": true, 11 | "noFallthroughCasesInSwitch": true, 12 | "noImplicitAny": true, 13 | "noImplicitReturns": true, 14 | "forceConsistentCasingInFileNames": true, 15 | "strictNullChecks": true 16 | }, 17 | "files": [ 18 | "bucket.ts", 19 | "function.ts", 20 | "index.ts", 21 | "topic.ts", 22 | "utils.ts", 23 | ] 24 | } 25 | 26 | -------------------------------------------------------------------------------- /nodejs/aws-serverless/utils.ts: -------------------------------------------------------------------------------- 1 | // Copyright 2016-2018, Pulumi Corporation. 2 | // 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | // 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | // 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | 15 | import * as pulumi from "@pulumi/pulumi"; 16 | import * as crypto from "crypto"; 17 | 18 | // sha1hash returns a partial SHA1 hash of the input string. 19 | export function sha1hash(s: string): string { 20 | const shasum: crypto.Hash = crypto.createHash("sha1"); 21 | shasum.update(s); 22 | // TODO[pulumi/pulumi#377] Workaround for issue with long names not generating per-deplioyment randomness, leading 23 | // to collisions. For now, limit the size of hashes to ensure we generate shorter/ resource names. 24 | return shasum.digest("hex").substring(0, 8); 25 | } 26 | -------------------------------------------------------------------------------- /nodejs/aws-serverless/yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | "@protobufjs/aspromise@^1.1.1", "@protobufjs/aspromise@^1.1.2": 6 | version "1.1.2" 7 | resolved "https://registry.yarnpkg.com/@protobufjs/aspromise/-/aspromise-1.1.2.tgz#9b8b0cc663d669a7d8f6f5d0893a14d348f30fbf" 8 | 9 | "@protobufjs/base64@^1.1.2": 10 | version "1.1.2" 11 | resolved "https://registry.yarnpkg.com/@protobufjs/base64/-/base64-1.1.2.tgz#4c85730e59b9a1f1f349047dbf24296034bb2735" 12 | 13 | "@protobufjs/codegen@^2.0.4": 14 | version "2.0.4" 15 | resolved "https://registry.yarnpkg.com/@protobufjs/codegen/-/codegen-2.0.4.tgz#7ef37f0d010fb028ad1ad59722e506d9262815cb" 16 | 17 | "@protobufjs/eventemitter@^1.1.0": 18 | version "1.1.0" 19 | resolved "https://registry.yarnpkg.com/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz#355cbc98bafad5978f9ed095f397621f1d066b70" 20 | 21 | "@protobufjs/fetch@^1.1.0": 22 | version "1.1.0" 23 | resolved "https://registry.yarnpkg.com/@protobufjs/fetch/-/fetch-1.1.0.tgz#ba99fb598614af65700c1619ff06d454b0d84c45" 24 | dependencies: 25 | "@protobufjs/aspromise" "^1.1.1" 26 | "@protobufjs/inquire" "^1.1.0" 27 | 28 | "@protobufjs/float@^1.0.2": 29 | version "1.0.2" 30 | resolved "https://registry.yarnpkg.com/@protobufjs/float/-/float-1.0.2.tgz#5e9e1abdcb73fc0a7cb8b291df78c8cbd97b87d1" 31 | 32 | "@protobufjs/inquire@^1.1.0": 33 | version "1.1.0" 34 | resolved "https://registry.yarnpkg.com/@protobufjs/inquire/-/inquire-1.1.0.tgz#ff200e3e7cf2429e2dcafc1140828e8cc638f089" 35 | 36 | "@protobufjs/path@^1.1.2": 37 | version "1.1.2" 38 | resolved "https://registry.yarnpkg.com/@protobufjs/path/-/path-1.1.2.tgz#6cc2b20c5c9ad6ad0dccfd21ca7673d8d7fbf68d" 39 | 40 | "@protobufjs/pool@^1.1.0": 41 | version "1.1.0" 42 | resolved "https://registry.yarnpkg.com/@protobufjs/pool/-/pool-1.1.0.tgz#09fd15f2d6d3abfa9b65bc366506d6ad7846ff54" 43 | 44 | "@protobufjs/utf8@^1.1.0": 45 | version "1.1.0" 46 | resolved "https://registry.yarnpkg.com/@protobufjs/utf8/-/utf8-1.1.0.tgz#a777360b5b39a1a2e5106f8e858f2fd2d060c570" 47 | 48 | "@pulumi/aws@dev": 49 | version "0.15.2-dev-1538597689-gaabba16" 50 | resolved "https://registry.yarnpkg.com/@pulumi/aws/-/aws-0.15.2-dev-1538597689-gaabba16.tgz#c9f9a58f11fafcbc296ba00d6de6c46b8830a794" 51 | dependencies: 52 | "@pulumi/pulumi" dev 53 | builtin-modules "3.0.0" 54 | mime "^2.0.0" 55 | read-package-tree "^5.2.1" 56 | resolve "^1.7.1" 57 | 58 | "@pulumi/pulumi@dev": 59 | version "0.15.5-dev-1538597180-g16ae1f2a" 60 | resolved "https://registry.yarnpkg.com/@pulumi/pulumi/-/pulumi-0.15.5-dev-1538597180-g16ae1f2a.tgz#c59922ad0df786119a037e1fabfae80808b4526c" 61 | dependencies: 62 | google-protobuf "^3.5.0" 63 | grpc "^1.12.2" 64 | minimist "^1.2.0" 65 | normalize-package-data "^2.4.0" 66 | protobufjs "^6.8.6" 67 | read-package-tree "^5.2.1" 68 | require-from-string "^2.0.1" 69 | source-map-support "^0.4.16" 70 | ts-node "^7.0.0" 71 | typescript "^3.0.0" 72 | upath "^1.1.0" 73 | 74 | "@types/aws-sdk@^2.7.0": 75 | version "2.7.0" 76 | resolved "https://registry.yarnpkg.com/@types/aws-sdk/-/aws-sdk-2.7.0.tgz#83588b3d14ebdca1d4ce5e023387577568ce82f3" 77 | dependencies: 78 | aws-sdk "*" 79 | 80 | "@types/long@^4.0.0": 81 | version "4.0.0" 82 | resolved "https://registry.yarnpkg.com/@types/long/-/long-4.0.0.tgz#719551d2352d301ac8b81db732acb6bdc28dbdef" 83 | 84 | "@types/node@^10.1.0": 85 | version "10.11.4" 86 | resolved "https://registry.yarnpkg.com/@types/node/-/node-10.11.4.tgz#e8bd933c3f78795d580ae41d86590bfc1f4f389d" 87 | 88 | "@types/node@^8.0.26": 89 | version "8.10.34" 90 | resolved "https://registry.yarnpkg.com/@types/node/-/node-8.10.34.tgz#a94d9f3767fe45f211e09e49af598bb84822280c" 91 | 92 | abbrev@1: 93 | version "1.1.1" 94 | resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" 95 | 96 | ansi-regex@^2.0.0: 97 | version "2.1.1" 98 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" 99 | 100 | ansi-regex@^3.0.0: 101 | version "3.0.0" 102 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" 103 | 104 | ansi-styles@^2.2.1: 105 | version "2.2.1" 106 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" 107 | 108 | ansi-styles@^3.2.1: 109 | version "3.2.1" 110 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" 111 | dependencies: 112 | color-convert "^1.9.0" 113 | 114 | aproba@^1.0.3: 115 | version "1.2.0" 116 | resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a" 117 | 118 | are-we-there-yet@~1.1.2: 119 | version "1.1.5" 120 | resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz#4b35c2944f062a8bfcda66410760350fe9ddfc21" 121 | dependencies: 122 | delegates "^1.0.0" 123 | readable-stream "^2.0.6" 124 | 125 | argparse@^1.0.7: 126 | version "1.0.10" 127 | resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" 128 | dependencies: 129 | sprintf-js "~1.0.2" 130 | 131 | arrify@^1.0.0: 132 | version "1.0.1" 133 | resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" 134 | 135 | asap@^2.0.0: 136 | version "2.0.6" 137 | resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46" 138 | 139 | ascli@~1: 140 | version "1.0.1" 141 | resolved "https://registry.yarnpkg.com/ascli/-/ascli-1.0.1.tgz#bcfa5974a62f18e81cabaeb49732ab4a88f906bc" 142 | dependencies: 143 | colour "~0.7.1" 144 | optjs "~3.2.2" 145 | 146 | aws-sdk@*: 147 | version "2.327.0" 148 | resolved "https://registry.yarnpkg.com/aws-sdk/-/aws-sdk-2.327.0.tgz#0192f71f764182bd2f81a65851071ed5265121bd" 149 | dependencies: 150 | buffer "4.9.1" 151 | events "1.1.1" 152 | ieee754 "1.1.8" 153 | jmespath "0.15.0" 154 | querystring "0.2.0" 155 | sax "1.2.1" 156 | url "0.10.3" 157 | uuid "3.1.0" 158 | xml2js "0.4.19" 159 | 160 | babel-code-frame@^6.22.0: 161 | version "6.26.0" 162 | resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b" 163 | dependencies: 164 | chalk "^1.1.3" 165 | esutils "^2.0.2" 166 | js-tokens "^3.0.2" 167 | 168 | balanced-match@^1.0.0: 169 | version "1.0.0" 170 | resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" 171 | 172 | base64-js@^1.0.2: 173 | version "1.3.0" 174 | resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.3.0.tgz#cab1e6118f051095e58b5281aea8c1cd22bfc0e3" 175 | 176 | brace-expansion@^1.1.7: 177 | version "1.1.11" 178 | resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" 179 | dependencies: 180 | balanced-match "^1.0.0" 181 | concat-map "0.0.1" 182 | 183 | buffer-from@^1.0.0, buffer-from@^1.1.0: 184 | version "1.1.1" 185 | resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef" 186 | 187 | buffer@4.9.1: 188 | version "4.9.1" 189 | resolved "http://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz#6d1bb601b07a4efced97094132093027c95bc298" 190 | dependencies: 191 | base64-js "^1.0.2" 192 | ieee754 "^1.1.4" 193 | isarray "^1.0.0" 194 | 195 | builtin-modules@3.0.0: 196 | version "3.0.0" 197 | resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-3.0.0.tgz#1e587d44b006620d90286cc7a9238bbc6129cab1" 198 | 199 | builtin-modules@^1.0.0, builtin-modules@^1.1.1: 200 | version "1.1.1" 201 | resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f" 202 | 203 | bytebuffer@~5: 204 | version "5.0.1" 205 | resolved "https://registry.yarnpkg.com/bytebuffer/-/bytebuffer-5.0.1.tgz#582eea4b1a873b6d020a48d58df85f0bba6cfddd" 206 | dependencies: 207 | long "~3" 208 | 209 | camelcase@^2.0.1: 210 | version "2.1.1" 211 | resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-2.1.1.tgz#7c1d16d679a1bbe59ca02cacecfb011e201f5a1f" 212 | 213 | chalk@^1.1.3: 214 | version "1.1.3" 215 | resolved "http://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" 216 | dependencies: 217 | ansi-styles "^2.2.1" 218 | escape-string-regexp "^1.0.2" 219 | has-ansi "^2.0.0" 220 | strip-ansi "^3.0.0" 221 | supports-color "^2.0.0" 222 | 223 | chalk@^2.3.0: 224 | version "2.4.1" 225 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.1.tgz#18c49ab16a037b6eb0152cc83e3471338215b66e" 226 | dependencies: 227 | ansi-styles "^3.2.1" 228 | escape-string-regexp "^1.0.5" 229 | supports-color "^5.3.0" 230 | 231 | chownr@^1.0.1: 232 | version "1.1.1" 233 | resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.1.tgz#54726b8b8fff4df053c42187e801fb4412df1494" 234 | 235 | cliui@^3.0.3: 236 | version "3.2.0" 237 | resolved "https://registry.yarnpkg.com/cliui/-/cliui-3.2.0.tgz#120601537a916d29940f934da3b48d585a39213d" 238 | dependencies: 239 | string-width "^1.0.1" 240 | strip-ansi "^3.0.1" 241 | wrap-ansi "^2.0.0" 242 | 243 | code-point-at@^1.0.0: 244 | version "1.1.0" 245 | resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" 246 | 247 | color-convert@^1.9.0: 248 | version "1.9.3" 249 | resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" 250 | dependencies: 251 | color-name "1.1.3" 252 | 253 | color-name@1.1.3: 254 | version "1.1.3" 255 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" 256 | 257 | colour@~0.7.1: 258 | version "0.7.1" 259 | resolved "https://registry.yarnpkg.com/colour/-/colour-0.7.1.tgz#9cb169917ec5d12c0736d3e8685746df1cadf778" 260 | 261 | commander@^2.12.1: 262 | version "2.18.0" 263 | resolved "https://registry.yarnpkg.com/commander/-/commander-2.18.0.tgz#2bf063ddee7c7891176981a2cc798e5754bc6970" 264 | 265 | concat-map@0.0.1: 266 | version "0.0.1" 267 | resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" 268 | 269 | console-control-strings@^1.0.0, console-control-strings@~1.1.0: 270 | version "1.1.0" 271 | resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" 272 | 273 | core-util-is@~1.0.0: 274 | version "1.0.2" 275 | resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" 276 | 277 | debug@^2.1.2: 278 | version "2.6.9" 279 | resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" 280 | dependencies: 281 | ms "2.0.0" 282 | 283 | debuglog@^1.0.1: 284 | version "1.0.1" 285 | resolved "https://registry.yarnpkg.com/debuglog/-/debuglog-1.0.1.tgz#aa24ffb9ac3df9a2351837cfb2d279360cd78492" 286 | 287 | decamelize@^1.1.1: 288 | version "1.2.0" 289 | resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" 290 | 291 | deep-extend@^0.6.0: 292 | version "0.6.0" 293 | resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" 294 | 295 | delegates@^1.0.0: 296 | version "1.0.0" 297 | resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" 298 | 299 | detect-libc@^1.0.2: 300 | version "1.0.3" 301 | resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b" 302 | 303 | dezalgo@^1.0.0: 304 | version "1.0.3" 305 | resolved "https://registry.yarnpkg.com/dezalgo/-/dezalgo-1.0.3.tgz#7f742de066fc748bc8db820569dddce49bf0d456" 306 | dependencies: 307 | asap "^2.0.0" 308 | wrappy "1" 309 | 310 | diff@^3.1.0, diff@^3.2.0: 311 | version "3.5.0" 312 | resolved "https://registry.yarnpkg.com/diff/-/diff-3.5.0.tgz#800c0dd1e0a8bfbc95835c202ad220fe317e5a12" 313 | 314 | escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: 315 | version "1.0.5" 316 | resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" 317 | 318 | esprima@^4.0.0: 319 | version "4.0.1" 320 | resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" 321 | 322 | esutils@^2.0.2: 323 | version "2.0.2" 324 | resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b" 325 | 326 | events@1.1.1: 327 | version "1.1.1" 328 | resolved "http://registry.npmjs.org/events/-/events-1.1.1.tgz#9ebdb7635ad099c70dcc4c2a1f5004288e8bd924" 329 | 330 | fs-minipass@^1.2.5: 331 | version "1.2.5" 332 | resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-1.2.5.tgz#06c277218454ec288df77ada54a03b8702aacb9d" 333 | dependencies: 334 | minipass "^2.2.1" 335 | 336 | fs.realpath@^1.0.0: 337 | version "1.0.0" 338 | resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" 339 | 340 | gauge@~2.7.3: 341 | version "2.7.4" 342 | resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7" 343 | dependencies: 344 | aproba "^1.0.3" 345 | console-control-strings "^1.0.0" 346 | has-unicode "^2.0.0" 347 | object-assign "^4.1.0" 348 | signal-exit "^3.0.0" 349 | string-width "^1.0.1" 350 | strip-ansi "^3.0.1" 351 | wide-align "^1.1.0" 352 | 353 | glob@^7.0.5, glob@^7.1.1: 354 | version "7.1.3" 355 | resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.3.tgz#3960832d3f1574108342dafd3a67b332c0969df1" 356 | dependencies: 357 | fs.realpath "^1.0.0" 358 | inflight "^1.0.4" 359 | inherits "2" 360 | minimatch "^3.0.4" 361 | once "^1.3.0" 362 | path-is-absolute "^1.0.0" 363 | 364 | google-protobuf@^3.5.0: 365 | version "3.6.1" 366 | resolved "https://registry.yarnpkg.com/google-protobuf/-/google-protobuf-3.6.1.tgz#7ef58e2bea137a93cdaf5cfd5afa5f6abdd92025" 367 | 368 | graceful-fs@^4.1.2: 369 | version "4.1.11" 370 | resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658" 371 | 372 | grpc@^1.12.2: 373 | version "1.15.1" 374 | resolved "https://registry.yarnpkg.com/grpc/-/grpc-1.15.1.tgz#046263d9b0c440c8e36fece03e227cb3afe28514" 375 | dependencies: 376 | lodash "^4.17.5" 377 | nan "^2.0.0" 378 | node-pre-gyp "^0.10.0" 379 | protobufjs "^5.0.3" 380 | 381 | has-ansi@^2.0.0: 382 | version "2.0.0" 383 | resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" 384 | dependencies: 385 | ansi-regex "^2.0.0" 386 | 387 | has-flag@^3.0.0: 388 | version "3.0.0" 389 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" 390 | 391 | has-unicode@^2.0.0: 392 | version "2.0.1" 393 | resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" 394 | 395 | hosted-git-info@^2.1.4: 396 | version "2.7.1" 397 | resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.7.1.tgz#97f236977bd6e125408930ff6de3eec6281ec047" 398 | 399 | iconv-lite@^0.4.4: 400 | version "0.4.24" 401 | resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" 402 | dependencies: 403 | safer-buffer ">= 2.1.2 < 3" 404 | 405 | ieee754@1.1.8: 406 | version "1.1.8" 407 | resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.8.tgz#be33d40ac10ef1926701f6f08a2d86fbfd1ad3e4" 408 | 409 | ieee754@^1.1.4: 410 | version "1.1.12" 411 | resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.12.tgz#50bf24e5b9c8bb98af4964c941cdb0918da7b60b" 412 | 413 | ignore-walk@^3.0.1: 414 | version "3.0.1" 415 | resolved "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-3.0.1.tgz#a83e62e7d272ac0e3b551aaa82831a19b69f82f8" 416 | dependencies: 417 | minimatch "^3.0.4" 418 | 419 | inflight@^1.0.4: 420 | version "1.0.6" 421 | resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" 422 | dependencies: 423 | once "^1.3.0" 424 | wrappy "1" 425 | 426 | inherits@2, inherits@~2.0.3: 427 | version "2.0.3" 428 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" 429 | 430 | ini@~1.3.0: 431 | version "1.3.5" 432 | resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927" 433 | 434 | invert-kv@^1.0.0: 435 | version "1.0.0" 436 | resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-1.0.0.tgz#104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6" 437 | 438 | is-builtin-module@^1.0.0: 439 | version "1.0.0" 440 | resolved "http://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz#540572d34f7ac3119f8f76c30cbc1b1e037affbe" 441 | dependencies: 442 | builtin-modules "^1.0.0" 443 | 444 | is-fullwidth-code-point@^1.0.0: 445 | version "1.0.0" 446 | resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" 447 | dependencies: 448 | number-is-nan "^1.0.0" 449 | 450 | is-fullwidth-code-point@^2.0.0: 451 | version "2.0.0" 452 | resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" 453 | 454 | isarray@^1.0.0, isarray@~1.0.0: 455 | version "1.0.0" 456 | resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" 457 | 458 | jmespath@0.15.0: 459 | version "0.15.0" 460 | resolved "https://registry.yarnpkg.com/jmespath/-/jmespath-0.15.0.tgz#a3f222a9aae9f966f5d27c796510e28091764217" 461 | 462 | js-tokens@^3.0.2: 463 | version "3.0.2" 464 | resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b" 465 | 466 | js-yaml@^3.7.0: 467 | version "3.12.0" 468 | resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.12.0.tgz#eaed656ec8344f10f527c6bfa1b6e2244de167d1" 469 | dependencies: 470 | argparse "^1.0.7" 471 | esprima "^4.0.0" 472 | 473 | json-parse-better-errors@^1.0.1: 474 | version "1.0.2" 475 | resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" 476 | 477 | lcid@^1.0.0: 478 | version "1.0.0" 479 | resolved "https://registry.yarnpkg.com/lcid/-/lcid-1.0.0.tgz#308accafa0bc483a3867b4b6f2b9506251d1b835" 480 | dependencies: 481 | invert-kv "^1.0.0" 482 | 483 | lodash@^4.17.5: 484 | version "4.17.11" 485 | resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.11.tgz#b39ea6229ef607ecd89e2c8df12536891cac9b8d" 486 | 487 | long@^4.0.0: 488 | version "4.0.0" 489 | resolved "https://registry.yarnpkg.com/long/-/long-4.0.0.tgz#9a7b71cfb7d361a194ea555241c92f7468d5bf28" 490 | 491 | long@~3: 492 | version "3.2.0" 493 | resolved "https://registry.yarnpkg.com/long/-/long-3.2.0.tgz#d821b7138ca1cb581c172990ef14db200b5c474b" 494 | 495 | make-error@^1.1.1: 496 | version "1.3.5" 497 | resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.5.tgz#efe4e81f6db28cadd605c70f29c831b58ef776c8" 498 | 499 | mime@^2.0.0: 500 | version "2.3.1" 501 | resolved "https://registry.yarnpkg.com/mime/-/mime-2.3.1.tgz#b1621c54d63b97c47d3cfe7f7215f7d64517c369" 502 | 503 | minimatch@^3.0.4: 504 | version "3.0.4" 505 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" 506 | dependencies: 507 | brace-expansion "^1.1.7" 508 | 509 | minimist@0.0.8: 510 | version "0.0.8" 511 | resolved "http://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" 512 | 513 | minimist@^1.2.0: 514 | version "1.2.0" 515 | resolved "http://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" 516 | 517 | minipass@^2.2.1, minipass@^2.3.3: 518 | version "2.3.4" 519 | resolved "https://registry.yarnpkg.com/minipass/-/minipass-2.3.4.tgz#4768d7605ed6194d6d576169b9e12ef71e9d9957" 520 | dependencies: 521 | safe-buffer "^5.1.2" 522 | yallist "^3.0.0" 523 | 524 | minizlib@^1.1.0: 525 | version "1.1.0" 526 | resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-1.1.0.tgz#11e13658ce46bc3a70a267aac58359d1e0c29ceb" 527 | dependencies: 528 | minipass "^2.2.1" 529 | 530 | mkdirp@^0.5.0, mkdirp@^0.5.1: 531 | version "0.5.1" 532 | resolved "http://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" 533 | dependencies: 534 | minimist "0.0.8" 535 | 536 | ms@2.0.0: 537 | version "2.0.0" 538 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" 539 | 540 | nan@^2.0.0: 541 | version "2.11.1" 542 | resolved "https://registry.yarnpkg.com/nan/-/nan-2.11.1.tgz#90e22bccb8ca57ea4cd37cc83d3819b52eea6766" 543 | 544 | needle@^2.2.1: 545 | version "2.2.4" 546 | resolved "https://registry.yarnpkg.com/needle/-/needle-2.2.4.tgz#51931bff82533b1928b7d1d69e01f1b00ffd2a4e" 547 | dependencies: 548 | debug "^2.1.2" 549 | iconv-lite "^0.4.4" 550 | sax "^1.2.4" 551 | 552 | node-pre-gyp@^0.10.0: 553 | version "0.10.3" 554 | resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.10.3.tgz#3070040716afdc778747b61b6887bf78880b80fc" 555 | dependencies: 556 | detect-libc "^1.0.2" 557 | mkdirp "^0.5.1" 558 | needle "^2.2.1" 559 | nopt "^4.0.1" 560 | npm-packlist "^1.1.6" 561 | npmlog "^4.0.2" 562 | rc "^1.2.7" 563 | rimraf "^2.6.1" 564 | semver "^5.3.0" 565 | tar "^4" 566 | 567 | nopt@^4.0.1: 568 | version "4.0.1" 569 | resolved "https://registry.yarnpkg.com/nopt/-/nopt-4.0.1.tgz#d0d4685afd5415193c8c7505602d0d17cd64474d" 570 | dependencies: 571 | abbrev "1" 572 | osenv "^0.1.4" 573 | 574 | normalize-package-data@^2.0.0, normalize-package-data@^2.4.0: 575 | version "2.4.0" 576 | resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.4.0.tgz#12f95a307d58352075a04907b84ac8be98ac012f" 577 | dependencies: 578 | hosted-git-info "^2.1.4" 579 | is-builtin-module "^1.0.0" 580 | semver "2 || 3 || 4 || 5" 581 | validate-npm-package-license "^3.0.1" 582 | 583 | npm-bundled@^1.0.1: 584 | version "1.0.5" 585 | resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-1.0.5.tgz#3c1732b7ba936b3a10325aef616467c0ccbcc979" 586 | 587 | npm-packlist@^1.1.6: 588 | version "1.1.11" 589 | resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-1.1.11.tgz#84e8c683cbe7867d34b1d357d893ce29e28a02de" 590 | dependencies: 591 | ignore-walk "^3.0.1" 592 | npm-bundled "^1.0.1" 593 | 594 | npmlog@^4.0.2: 595 | version "4.1.2" 596 | resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b" 597 | dependencies: 598 | are-we-there-yet "~1.1.2" 599 | console-control-strings "~1.1.0" 600 | gauge "~2.7.3" 601 | set-blocking "~2.0.0" 602 | 603 | number-is-nan@^1.0.0: 604 | version "1.0.1" 605 | resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" 606 | 607 | object-assign@^4.1.0: 608 | version "4.1.1" 609 | resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" 610 | 611 | once@^1.3.0: 612 | version "1.4.0" 613 | resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" 614 | dependencies: 615 | wrappy "1" 616 | 617 | optjs@~3.2.2: 618 | version "3.2.2" 619 | resolved "https://registry.yarnpkg.com/optjs/-/optjs-3.2.2.tgz#69a6ce89c442a44403141ad2f9b370bd5bb6f4ee" 620 | 621 | os-homedir@^1.0.0: 622 | version "1.0.2" 623 | resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" 624 | 625 | os-locale@^1.4.0: 626 | version "1.4.0" 627 | resolved "http://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz#20f9f17ae29ed345e8bde583b13d2009803c14d9" 628 | dependencies: 629 | lcid "^1.0.0" 630 | 631 | os-tmpdir@^1.0.0: 632 | version "1.0.2" 633 | resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" 634 | 635 | osenv@^0.1.4: 636 | version "0.1.5" 637 | resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.5.tgz#85cdfafaeb28e8677f416e287592b5f3f49ea410" 638 | dependencies: 639 | os-homedir "^1.0.0" 640 | os-tmpdir "^1.0.0" 641 | 642 | path-is-absolute@^1.0.0: 643 | version "1.0.1" 644 | resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" 645 | 646 | path-parse@^1.0.5: 647 | version "1.0.6" 648 | resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c" 649 | 650 | process-nextick-args@~2.0.0: 651 | version "2.0.0" 652 | resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.0.tgz#a37d732f4271b4ab1ad070d35508e8290788ffaa" 653 | 654 | protobufjs@^5.0.3: 655 | version "5.0.3" 656 | resolved "https://registry.yarnpkg.com/protobufjs/-/protobufjs-5.0.3.tgz#e4dfe9fb67c90b2630d15868249bcc4961467a17" 657 | dependencies: 658 | ascli "~1" 659 | bytebuffer "~5" 660 | glob "^7.0.5" 661 | yargs "^3.10.0" 662 | 663 | protobufjs@^6.8.6: 664 | version "6.8.8" 665 | resolved "https://registry.yarnpkg.com/protobufjs/-/protobufjs-6.8.8.tgz#c8b4f1282fd7a90e6f5b109ed11c84af82908e7c" 666 | dependencies: 667 | "@protobufjs/aspromise" "^1.1.2" 668 | "@protobufjs/base64" "^1.1.2" 669 | "@protobufjs/codegen" "^2.0.4" 670 | "@protobufjs/eventemitter" "^1.1.0" 671 | "@protobufjs/fetch" "^1.1.0" 672 | "@protobufjs/float" "^1.0.2" 673 | "@protobufjs/inquire" "^1.1.0" 674 | "@protobufjs/path" "^1.1.2" 675 | "@protobufjs/pool" "^1.1.0" 676 | "@protobufjs/utf8" "^1.1.0" 677 | "@types/long" "^4.0.0" 678 | "@types/node" "^10.1.0" 679 | long "^4.0.0" 680 | 681 | punycode@1.3.2: 682 | version "1.3.2" 683 | resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d" 684 | 685 | querystring@0.2.0: 686 | version "0.2.0" 687 | resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620" 688 | 689 | rc@^1.2.7: 690 | version "1.2.8" 691 | resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed" 692 | dependencies: 693 | deep-extend "^0.6.0" 694 | ini "~1.3.0" 695 | minimist "^1.2.0" 696 | strip-json-comments "~2.0.1" 697 | 698 | read-package-json@^2.0.0: 699 | version "2.0.13" 700 | resolved "https://registry.yarnpkg.com/read-package-json/-/read-package-json-2.0.13.tgz#2e82ebd9f613baa6d2ebe3aa72cefe3f68e41f4a" 701 | dependencies: 702 | glob "^7.1.1" 703 | json-parse-better-errors "^1.0.1" 704 | normalize-package-data "^2.0.0" 705 | slash "^1.0.0" 706 | optionalDependencies: 707 | graceful-fs "^4.1.2" 708 | 709 | read-package-tree@^5.2.1: 710 | version "5.2.1" 711 | resolved "https://registry.yarnpkg.com/read-package-tree/-/read-package-tree-5.2.1.tgz#6218b187d6fac82289ce4387bbbaf8eef536ad63" 712 | dependencies: 713 | debuglog "^1.0.1" 714 | dezalgo "^1.0.0" 715 | once "^1.3.0" 716 | read-package-json "^2.0.0" 717 | readdir-scoped-modules "^1.0.0" 718 | 719 | readable-stream@^2.0.6: 720 | version "2.3.6" 721 | resolved "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz#b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf" 722 | dependencies: 723 | core-util-is "~1.0.0" 724 | inherits "~2.0.3" 725 | isarray "~1.0.0" 726 | process-nextick-args "~2.0.0" 727 | safe-buffer "~5.1.1" 728 | string_decoder "~1.1.1" 729 | util-deprecate "~1.0.1" 730 | 731 | readdir-scoped-modules@^1.0.0: 732 | version "1.0.2" 733 | resolved "https://registry.yarnpkg.com/readdir-scoped-modules/-/readdir-scoped-modules-1.0.2.tgz#9fafa37d286be5d92cbaebdee030dc9b5f406747" 734 | dependencies: 735 | debuglog "^1.0.1" 736 | dezalgo "^1.0.0" 737 | graceful-fs "^4.1.2" 738 | once "^1.3.0" 739 | 740 | require-from-string@^2.0.1: 741 | version "2.0.2" 742 | resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909" 743 | 744 | resolve@^1.3.2, resolve@^1.7.1: 745 | version "1.8.1" 746 | resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.8.1.tgz#82f1ec19a423ac1fbd080b0bab06ba36e84a7a26" 747 | dependencies: 748 | path-parse "^1.0.5" 749 | 750 | rimraf@^2.6.1: 751 | version "2.6.2" 752 | resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.2.tgz#2ed8150d24a16ea8651e6d6ef0f47c4158ce7a36" 753 | dependencies: 754 | glob "^7.0.5" 755 | 756 | safe-buffer@^5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: 757 | version "5.1.2" 758 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" 759 | 760 | "safer-buffer@>= 2.1.2 < 3": 761 | version "2.1.2" 762 | resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" 763 | 764 | sax@1.2.1: 765 | version "1.2.1" 766 | resolved "http://registry.npmjs.org/sax/-/sax-1.2.1.tgz#7b8e656190b228e81a66aea748480d828cd2d37a" 767 | 768 | sax@>=0.6.0, sax@^1.2.4: 769 | version "1.2.4" 770 | resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" 771 | 772 | "semver@2 || 3 || 4 || 5", semver@^5.3.0: 773 | version "5.5.1" 774 | resolved "https://registry.yarnpkg.com/semver/-/semver-5.5.1.tgz#7dfdd8814bdb7cabc7be0fb1d734cfb66c940477" 775 | 776 | set-blocking@~2.0.0: 777 | version "2.0.0" 778 | resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" 779 | 780 | signal-exit@^3.0.0: 781 | version "3.0.2" 782 | resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" 783 | 784 | slash@^1.0.0: 785 | version "1.0.0" 786 | resolved "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55" 787 | 788 | source-map-support@^0.4.16: 789 | version "0.4.18" 790 | resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.18.tgz#0286a6de8be42641338594e97ccea75f0a2c585f" 791 | dependencies: 792 | source-map "^0.5.6" 793 | 794 | source-map-support@^0.5.6: 795 | version "0.5.9" 796 | resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.9.tgz#41bc953b2534267ea2d605bccfa7bfa3111ced5f" 797 | dependencies: 798 | buffer-from "^1.0.0" 799 | source-map "^0.6.0" 800 | 801 | source-map@^0.5.6: 802 | version "0.5.7" 803 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" 804 | 805 | source-map@^0.6.0: 806 | version "0.6.1" 807 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" 808 | 809 | spdx-correct@^3.0.0: 810 | version "3.0.1" 811 | resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.0.1.tgz#434434ff9d1726b4d9f4219d1004813d80639e30" 812 | dependencies: 813 | spdx-expression-parse "^3.0.0" 814 | spdx-license-ids "^3.0.0" 815 | 816 | spdx-exceptions@^2.1.0: 817 | version "2.2.0" 818 | resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz#2ea450aee74f2a89bfb94519c07fcd6f41322977" 819 | 820 | spdx-expression-parse@^3.0.0: 821 | version "3.0.0" 822 | resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz#99e119b7a5da00e05491c9fa338b7904823b41d0" 823 | dependencies: 824 | spdx-exceptions "^2.1.0" 825 | spdx-license-ids "^3.0.0" 826 | 827 | spdx-license-ids@^3.0.0: 828 | version "3.0.1" 829 | resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.1.tgz#e2a303236cac54b04031fa7a5a79c7e701df852f" 830 | 831 | sprintf-js@~1.0.2: 832 | version "1.0.3" 833 | resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" 834 | 835 | string-width@^1.0.1: 836 | version "1.0.2" 837 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" 838 | dependencies: 839 | code-point-at "^1.0.0" 840 | is-fullwidth-code-point "^1.0.0" 841 | strip-ansi "^3.0.0" 842 | 843 | "string-width@^1.0.2 || 2": 844 | version "2.1.1" 845 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" 846 | dependencies: 847 | is-fullwidth-code-point "^2.0.0" 848 | strip-ansi "^4.0.0" 849 | 850 | string_decoder@~1.1.1: 851 | version "1.1.1" 852 | resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" 853 | dependencies: 854 | safe-buffer "~5.1.0" 855 | 856 | strip-ansi@^3.0.0, strip-ansi@^3.0.1: 857 | version "3.0.1" 858 | resolved "http://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" 859 | dependencies: 860 | ansi-regex "^2.0.0" 861 | 862 | strip-ansi@^4.0.0: 863 | version "4.0.0" 864 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" 865 | dependencies: 866 | ansi-regex "^3.0.0" 867 | 868 | strip-json-comments@~2.0.1: 869 | version "2.0.1" 870 | resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" 871 | 872 | supports-color@^2.0.0: 873 | version "2.0.0" 874 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" 875 | 876 | supports-color@^5.3.0: 877 | version "5.5.0" 878 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" 879 | dependencies: 880 | has-flag "^3.0.0" 881 | 882 | tar@^4: 883 | version "4.4.6" 884 | resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.6.tgz#63110f09c00b4e60ac8bcfe1bf3c8660235fbc9b" 885 | dependencies: 886 | chownr "^1.0.1" 887 | fs-minipass "^1.2.5" 888 | minipass "^2.3.3" 889 | minizlib "^1.1.0" 890 | mkdirp "^0.5.0" 891 | safe-buffer "^5.1.2" 892 | yallist "^3.0.2" 893 | 894 | ts-node@^7.0.0: 895 | version "7.0.1" 896 | resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-7.0.1.tgz#9562dc2d1e6d248d24bc55f773e3f614337d9baf" 897 | dependencies: 898 | arrify "^1.0.0" 899 | buffer-from "^1.1.0" 900 | diff "^3.1.0" 901 | make-error "^1.1.1" 902 | minimist "^1.2.0" 903 | mkdirp "^0.5.1" 904 | source-map-support "^0.5.6" 905 | yn "^2.0.0" 906 | 907 | tslib@^1.8.0, tslib@^1.8.1: 908 | version "1.9.3" 909 | resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.9.3.tgz#d7e4dd79245d85428c4d7e4822a79917954ca286" 910 | 911 | tslint@^5.7.0: 912 | version "5.11.0" 913 | resolved "https://registry.yarnpkg.com/tslint/-/tslint-5.11.0.tgz#98f30c02eae3cde7006201e4c33cb08b48581eed" 914 | dependencies: 915 | babel-code-frame "^6.22.0" 916 | builtin-modules "^1.1.1" 917 | chalk "^2.3.0" 918 | commander "^2.12.1" 919 | diff "^3.2.0" 920 | glob "^7.1.1" 921 | js-yaml "^3.7.0" 922 | minimatch "^3.0.4" 923 | resolve "^1.3.2" 924 | semver "^5.3.0" 925 | tslib "^1.8.0" 926 | tsutils "^2.27.2" 927 | 928 | tsutils@^2.27.2: 929 | version "2.29.0" 930 | resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-2.29.0.tgz#32b488501467acbedd4b85498673a0812aca0b99" 931 | dependencies: 932 | tslib "^1.8.1" 933 | 934 | typescript@^3.0.0, typescript@^3.0.3: 935 | version "3.1.1" 936 | resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.1.1.tgz#3362ba9dd1e482ebb2355b02dfe8bcd19a2c7c96" 937 | 938 | upath@^1.1.0: 939 | version "1.1.0" 940 | resolved "https://registry.yarnpkg.com/upath/-/upath-1.1.0.tgz#35256597e46a581db4793d0ce47fa9aebfc9fabd" 941 | 942 | url@0.10.3: 943 | version "0.10.3" 944 | resolved "https://registry.yarnpkg.com/url/-/url-0.10.3.tgz#021e4d9c7705f21bbf37d03ceb58767402774c64" 945 | dependencies: 946 | punycode "1.3.2" 947 | querystring "0.2.0" 948 | 949 | util-deprecate@~1.0.1: 950 | version "1.0.2" 951 | resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" 952 | 953 | uuid@3.1.0: 954 | version "3.1.0" 955 | resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.1.0.tgz#3dd3d3e790abc24d7b0d3a034ffababe28ebbc04" 956 | 957 | validate-npm-package-license@^3.0.1: 958 | version "3.0.4" 959 | resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" 960 | dependencies: 961 | spdx-correct "^3.0.0" 962 | spdx-expression-parse "^3.0.0" 963 | 964 | wide-align@^1.1.0: 965 | version "1.1.3" 966 | resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.3.tgz#ae074e6bdc0c14a431e804e624549c633b000457" 967 | dependencies: 968 | string-width "^1.0.2 || 2" 969 | 970 | window-size@^0.1.4: 971 | version "0.1.4" 972 | resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.1.4.tgz#f8e1aa1ee5a53ec5bf151ffa09742a6ad7697876" 973 | 974 | wrap-ansi@^2.0.0: 975 | version "2.1.0" 976 | resolved "http://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85" 977 | dependencies: 978 | string-width "^1.0.1" 979 | strip-ansi "^3.0.1" 980 | 981 | wrappy@1: 982 | version "1.0.2" 983 | resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" 984 | 985 | xml2js@0.4.19: 986 | version "0.4.19" 987 | resolved "https://registry.yarnpkg.com/xml2js/-/xml2js-0.4.19.tgz#686c20f213209e94abf0d1bcf1efaa291c7827a7" 988 | dependencies: 989 | sax ">=0.6.0" 990 | xmlbuilder "~9.0.1" 991 | 992 | xmlbuilder@~9.0.1: 993 | version "9.0.7" 994 | resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-9.0.7.tgz#132ee63d2ec5565c557e20f4c22df9aca686b10d" 995 | 996 | y18n@^3.2.0: 997 | version "3.2.1" 998 | resolved "https://registry.yarnpkg.com/y18n/-/y18n-3.2.1.tgz#6d15fba884c08679c0d77e88e7759e811e07fa41" 999 | 1000 | yallist@^3.0.0, yallist@^3.0.2: 1001 | version "3.0.2" 1002 | resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.0.2.tgz#8452b4bb7e83c7c188d8041c1a837c773d6d8bb9" 1003 | 1004 | yargs@^3.10.0: 1005 | version "3.32.0" 1006 | resolved "http://registry.npmjs.org/yargs/-/yargs-3.32.0.tgz#03088e9ebf9e756b69751611d2a5ef591482c995" 1007 | dependencies: 1008 | camelcase "^2.0.1" 1009 | cliui "^3.0.3" 1010 | decamelize "^1.1.1" 1011 | os-locale "^1.4.0" 1012 | string-width "^1.0.1" 1013 | window-size "^0.1.4" 1014 | y18n "^3.2.0" 1015 | 1016 | yn@^2.0.0: 1017 | version "2.0.0" 1018 | resolved "https://registry.yarnpkg.com/yn/-/yn-2.0.0.tgz#e5adabc8acf408f6385fc76495684c88e6af689a" 1019 | -------------------------------------------------------------------------------- /nodejs/tslint.json: -------------------------------------------------------------------------------- 1 | { 2 | "rules": { 3 | "align": [ 4 | true, 5 | "parameters", 6 | "statements" 7 | ], 8 | "ban": false, 9 | "class-name": true, 10 | "comment-format": [ 11 | true, 12 | "check-space" 13 | ], 14 | "curly": true, 15 | "eofline": true, 16 | "file-header": [ 17 | true, 18 | "Copyright 2016-2018, Pulumi Corporation." 19 | ], 20 | "forin": true, 21 | "indent": [ 22 | true, 23 | "spaces" 24 | ], 25 | "interface-name": false, 26 | "jsdoc-format": false, 27 | "label-position": true, 28 | "member-access": false, 29 | "member-ordering": [ 30 | true, 31 | "static-before-instance", 32 | "variables-before-functions" 33 | ], 34 | "no-any": false, 35 | "no-arg": true, 36 | "no-bitwise": false, 37 | "no-conditional-assignment": false, 38 | "no-consecutive-blank-lines": false, 39 | "no-console": [ 40 | true, 41 | "debug", 42 | "info", 43 | "time", 44 | "timeEnd", 45 | "trace" 46 | ], 47 | "no-construct": true, 48 | "no-debugger": true, 49 | "no-duplicate-variable": true, 50 | "no-empty": true, 51 | "no-eval": true, 52 | "no-inferrable-types": false, 53 | "no-internal-module": true, 54 | "no-parameter-properties": false, 55 | "no-require-imports": false, 56 | "no-shadowed-variable": true, 57 | "no-string-literal": false, 58 | "no-switch-case-fall-through": true, 59 | "no-trailing-whitespace": true, 60 | "no-unused-expression": true, 61 | "no-use-before-declare": false, 62 | "no-var-keyword": true, 63 | "no-var-requires": false, 64 | "object-literal-sort-keys": false, 65 | "one-line": [ 66 | true, 67 | "check-open-brace", 68 | "check-whitespace" 69 | ], 70 | "ordered-imports": true, 71 | "prefer-const": true, 72 | "quotemark": [ 73 | true, 74 | "double", 75 | "avoid-escape" 76 | ], 77 | "radix": true, 78 | "semicolon": true, 79 | "switch-default": true, 80 | "trailing-comma": [ 81 | true, 82 | { 83 | "multiline": "always", 84 | "singleline": "never" 85 | } 86 | ], 87 | "triple-equals": [ 88 | true, 89 | "allow-null-check" 90 | ], 91 | "typedef": [ 92 | false, 93 | "call-signature", 94 | "parameter", 95 | "property-declaration", 96 | "variable-declaration", 97 | "member-variable-declaration" 98 | ], 99 | "typedef-whitespace": [ 100 | true, 101 | { 102 | "call-signature": "nospace", 103 | "index-signature": "nospace", 104 | "parameter": "nospace", 105 | "property-declaration": "nospace", 106 | "variable-declaration": "nospace" 107 | } 108 | ], 109 | "variable-name": [ 110 | true, 111 | "check-format", 112 | "allow-leading-underscore", 113 | "ban-keywords" 114 | ], 115 | "whitespace": [ 116 | true, 117 | "check-branch", 118 | "check-decl", 119 | "check-module", 120 | "check-separator", 121 | "check-type" 122 | ] 123 | } 124 | } 125 | -------------------------------------------------------------------------------- /scripts/get-version: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -o nounset -o errexit -o pipefail 3 | SCRIPT_DIR="$( cd "$( dirname "$0" )" && pwd )" 4 | COMMITISH=${1:-HEAD} 5 | DIRTY_TAG="" 6 | 7 | # Figure out if the worktree is dirty, we run update-index first 8 | # as we've seen cases in Travis where not doing so causes git to 9 | # treat the worktree as dirty when it is not. 10 | git update-index -q --refresh 11 | if ! git diff-files --quiet; then 12 | DIRTY_TAG="-dirty" 13 | fi 14 | 15 | # If we have an exact tag, and it is not a -dev tag, just use it. 16 | if git describe --tags --exact-match "${COMMITISH}" >/dev/null 2>&1; then 17 | TAG="$(git describe --tags --exact-match "${COMMITISH}")" 18 | if [[ ! "${TAG}" =~ -dev$ ]]; then 19 | echo "$(git describe --tags --exact-match "${COMMITISH}")${DIRTY_TAG}" 20 | exit 0 21 | fi 22 | fi 23 | 24 | # Otherwise we want to include some additional information. To the 25 | # base tag we add a timestamp and commit hash. We use the timestamp of 26 | # the commit itself, not the date it was authored (so it will change 27 | # when someone rebases a PR into master, for example). 28 | echo "$(git describe --tags --abbrev=0 ${COMMITISH})-$(git show -s --format='%ct-g%h' ${COMMITISH})${DIRTY_TAG}" 29 | -------------------------------------------------------------------------------- /scripts/promote.js: -------------------------------------------------------------------------------- 1 | // Copyright 2016-2018, Pulumi Corporation. All rights reserved. 2 | 3 | // This program simply reads a package.json from stdin, takes a set of arguments representing 4 | // package names, and for each one, promotes that package from a peerDependency to a real dependency. 5 | 6 | // Read the package.json from stdin. 7 | let packageJSONText = ""; 8 | const readline = require("readline"); 9 | const stdin = readline.createInterface({ 10 | input: process.stdin, 11 | output: process.stdout, 12 | terminal: false, 13 | }); 14 | stdin.on("line", function(line) { 15 | packageJSONText += `${line}\n`; 16 | }); 17 | stdin.on("close", function() { 18 | // All stdin is available. Parse the JSON and move dependencies around. 19 | const packageJSON = JSON.parse(packageJSONText); 20 | for (const arg of process.argv.slice(2)) { 21 | if (!packageJSON.peerDependencies || !packageJSON.peerDependencies[arg]) { 22 | throw new Error(`No peerDependency for "${arg}" found`); 23 | } 24 | 25 | // Add this dependency. 26 | if (!packageJSON.dependencies) { 27 | packageJSON.dependencies = {}; 28 | } 29 | packageJSON.dependencies[arg] = packageJSON.peerDependencies[arg]; 30 | 31 | // And now delete the peer dependency. 32 | delete packageJSON.peerDependencies[arg]; 33 | if (Object.keys(packageJSON.peerDependencies).length === 0) { 34 | delete packageJSON.peerDependencies; 35 | } 36 | } 37 | 38 | // Now print out the result to stdout. 39 | console.log(JSON.stringify(packageJSON, null, 4)); 40 | }); 41 | -------------------------------------------------------------------------------- /scripts/publish_packages.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # publish.sh builds and publishes a release. 3 | set -o nounset -o errexit -o pipefail 4 | ROOT=$(dirname $0)/.. 5 | 6 | echo "Publishing NPM packages to NPMjs.com:" 7 | 8 | # For each package, first create the package.json to publish. This must be different than the one we use for 9 | # development and testing the SDK, since we use symlinking for those workflows. Namely, we must promote the SDK 10 | # dependencies from peerDependencies that are resolved via those links, to real installable dependencies. 11 | publish() { 12 | node $(dirname $0)/promote.js ${@:2} < \ 13 | ${ROOT}/nodejs/$1/bin/package.json > \ 14 | ${ROOT}/nodejs/$1/bin/package.json.publish 15 | pushd ${ROOT}/nodejs/$1/bin 16 | mv package.json package.json.dev 17 | mv package.json.publish package.json 18 | 19 | NPM_TAG="dev" 20 | 21 | # If the package doesn't have a pre-release tag, use the tag of latest instead of 22 | # dev. NPM uses this tag as the default version to add, so we want it to mean 23 | # the newest released version. 24 | if [[ $(jq -r .version < package.json) != *-* ]]; then 25 | NPM_TAG="latest" 26 | fi 27 | 28 | # Now, perform the publish. 29 | npm publish -tag ${NPM_TAG} 30 | npm info 2>/dev/null 31 | 32 | # And finally restore the original package.json. 33 | mv package.json package.json.publish 34 | mv package.json.dev package.json 35 | popd 36 | } 37 | 38 | publish aws-serverless 39 | --------------------------------------------------------------------------------