Skip to content

Conversation

jkwlui
Copy link
Member

@jkwlui jkwlui commented Jul 11, 2018

@google-cloud/common is in TypeScript, so we need to properly import individual exports instead of relying on allowSyntheticDefaultImports

@googlebot googlebot added the cla: yes This human has signed the Contributor License Agreement. label Jul 11, 2018
@ghost ghost assigned jkwlui Jul 11, 2018
@jkwlui jkwlui force-pushed the ts-common-imports branch from 9e392d3 to ebf40c1 Compare July 11, 2018 00:14
@jkwlui jkwlui requested a review from a team July 11, 2018 00:15
@jkwlui jkwlui merged commit 321f8a8 into typescript Jul 11, 2018
@jkwlui jkwlui deleted the ts-common-imports branch July 11, 2018 17:14
jkwlui added a commit that referenced this pull request Aug 21, 2018
* refactor(ts): Typescript conversion (initial) (#255)

* refactor(ts): Rename *.js to .ts

* refactor(ts): setup typescript tools

* refactor(ts): install available @types packages

* refactor(ts): remove .js extension from imports

* refactor(ts): gts fix

* refactor(ts): function to arrow =>

* refactor(ts): for...in => for...of Object.keys(...

* refactor(ts): use native `extends Error` for custom error classes

...instead of relying on package 'create-error-class'

* refactor(ts): module.exports => export { ... }

* refactor(ts): temporarily disable noImplicitAny before augmenting types

* refactor(ts): eof \n

* refactor(ts): use typescipt ~2.9.2

* Revert "refactor(ts): module.exports => export { ... }"

This reverts commit 219ef2f.

* refactor(ts): temporarily remove posttest npm script

* refactor(ts): internalize class and object members into class (#260)

* refactor(ts): Acl: internalize static/object properties to class

* refactor(ts): Bucket: internalize static/object properties to class

* refactor(ts): File: internalize static/object properties to class

* refactor(ts): Iam: internalize static/object properties to class

* refactor(ts): File: internalized missed properties to class

* chore: update package-lock.json

* refactor(ts): Storage: internalize class/object properties into class

* refactor(ts): Iam: import Bucket

* refactor(ts): File: internal Acl

* refactor(ts): add 'any' type to suppress compiler error (#261)

* refactor(ts): Channel: type cast this.metadata as any

* refactor(ts): Bucket: add types to make tsc work

* refactor(ts): Acl: add any types

* refactor(ts): File: add any types

* refactor(ts): Storage: add any types

* refactor(ts): Notification: add any[] type

* refactor(ts): File: add any[] type

* Typescript: use ts-style exports instead of module.exports (#267)

* refactor(ts): use es6/ts export in project files

* refactor(ts): import from file in project

* refactor(ts): export = Storage; fix import from Storage from other classes

* chore: update gcs-resumable-upload to 0.11.1

* refactor(ts): misc. fixes to make tsc happy (#268)

* refactor(ts): File: add optional types for uninitialized members

* refactor(ts): Bucket: options is optional in constructor

* refactor(ts): File: various `any` cast; optional callback? and type fixes

* refactor(ts): add Acl#default as a member

* refactor(ts): Bucket: various any cast; optional callback? and type fixes

* refactor(ts): Notification: add any cast; optional callback?

* refactor(ts): Iam: type cast any

* refactor(ts): Acl.default is optional

* refactor(ts): require pumpify

* refactor(ts): !assert this.acl.default exists in bucket

* cleanup: no longer need to set Storage.X

* refactor(ts): export = Storage proxy

* refactor(ts): destructure apply Proxy and call Storage with single argument

* refactor(ts): fix Date comparisons

* cleanup: remove ignore no-class-assign

* refactor(ts): convert tests to typescript (1) (#272)

* refactor(ts): Tests: *.js => *.ts

* refactor(ts): add missing @types/ in tests

* refactor(ts): iam use ts-style imports

* refactor(ts): test/index.ts use ts-style imports

* refactor(ts): test/file.ts use ts-style imports

* refactor(ts): test/bucket.ts use ts-style imports

* refactor(ts): test/acl.ts use ts-style imports

* refactor(ts): test/acl.ts move fakes inside describe(..)
So tsc won't complain we're redeclaring sth.

* refactor(ts): test/channel.ts use ts-style imports

* refactor(ts): test/notification.ts use ts-style imports

* refactor(ts): move let Acl back to outer scope

* Typescript: setup package.json and .circleci/config.yaml (#271)

* refactor(ts): update package.json with ts project specify paths

* refactor(ts): add tsc compile step to npm; npm run check instead of lint

* refactor(ts): npm run compile comes after npm install

* refactor(ts): dont need to compile ts explicitly

* refactor(ts): lint should run eslint on js tests, and run gts check on ts

* refactor(es6): ts-ify 2

* refactor(ts): allow implicit this as any temporarily

* refactor(ts): add any-cast and optional arg? to make test/bucket.ts compile

* refactor(ts): add any-cast to test/notification.ts

* refactor(ts): test/file.ts: add any-casts and optional arg? to make it compile

* refactor(ts): test/file.ts: Date comparisons using .valueOf()

* refactor(ts): test/file.ts Request fakes uses class syntax

* refactor(ts): main src is in build/ now so require('..') will not work (#286)

* refactor(ts): import individual exports from @google-cloud/common (#287)

* refactor(ts): make test/notification.ts pass (#290)

* refactor(ts): test/notification.ts: import indiv common exports

* refactor(ts): fix Notification import from named export

* refactor(ts): test/iam.ts: fix proxyquire import

* refactor(ts): test/channel.ts: fix proxyquire import

* refactor(ts): make test/acl.ts pass (#288)

* TypeScript: make test/index.ts pass (#292)

* refactor(ts): Storage test: fix relative path

* refactor(ts): Storage test: fix FakeChannel proxyquire

* refactor(ts): test-no-cover should compile ts before running test (#289)

* build: test-no-cover should compile ts before running test

* refactor(ts): change npm scripts to conform to typescript best practices

* refactor(ts): checkin mocha.opts and add mocha deps

* cleanup(codecov): ignore build/test for code coverage (#293)

* TypeScript: make Bucket test pass (#291)

* refactor(ts): test/bucket: fix proxyquire import

* refactor(ts): fix testdata file path

* refactor(ts): test/bucket.ts: fix common util

* refactor(ts): test/bucket.ts: proxyquire async via default import

* refactor(ts): make test/file.ts pass (#294)

* refactor(ts): assign .name property to custom File error types

* refactor(ts): test/file: FakeRequest#getRequestOptions should be static

* refactor(ts): resumable-upload uses es6 modules, so proxyquire as default

* refactor(ts): run gts fix (#295)

* refactor(ts): function to arrow => (#297)

* refactor(ts): function to arrow =>

* style

* Revert "refactor(ts): function to arrow => (#297)" (#298)

This reverts commit c35e9cc.

* refactor(ts): tests function() to arrow => (#299)

* refactor(ts): function to arrow =>

* style

* refactor(ts): test/acl.ts: replace ref `arguments` in arrow function

* refactor(ts): test/bucket.ts fix arrow function `this` and `arguments` ref

* refactor(ts): test/file.ts fix arrow function `this` and `arguments` ref

* refactor(ts): test/iam.ts fix arrow function `this` ref

* refactor(ts): tslint:disable-next-line:variable-name (#300)

* Typescript: workaround explicit 'any' cast in tests (#307)

* ts: avoid using extend to override request methods

* ts: no allowSyntheticDefaultImports (#316)

* dep: update [email protected] and [email protected]

* ts: no allowSyntheticDefaultImports

* ts: gts fix

* TypeScript: export {Storage} as named export (#327)

* ts: export Storage as named export - const {Storage} = req...

BREAKING CHANGE:
Storage will need to be imported as a named import:
const { Storage } = require('@google-cloud/storage');

Storage cannot be instantiated without new:
𝘅 const storage = Storage();  // deprecated
✔ const storage = new Storage();

* ts: fix tests now that Storage is named

* ts(docs): fix all in-line samples to use named-exported Storage (#329)

* ts(docs): fix all in-line samples to use named-exported Storage

* ts: named Storage import in samples and system tests

* dep: Use v0.21.0 of @google-cloud/common (#330)

* dep: bring in [email protected]

* install @google-cloud/promisify and paginator and use them

* extract paginator and promisify from proxyquire of @google-cloud/common

* Delete package-lock.json

* ts: more fixes (#333)

* ts: add interfaces to get rid of any

* ts: strip any

* ts: add interface

* dep: upgrade @google-cloud/common to ^0.21.1

* ts: get rid of any cast in bucket.ts with types

* ts: fix anys

* fix remaining check issues

* ts: fix test

* fix: use new Storage() constructor in system-test

* doc: fix init in README.md quickstart

* fix: arrow functions

* more arrow funcitons

* add ignore no-any for now;

* ts doesnt like for..in, fix it

* gts fix

* fix test
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

cla: yes This human has signed the Contributor License Agreement.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants