diff --git a/.eslintrc.js b/.eslintrc.js index eda795b2..5ee28d94 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -57,7 +57,14 @@ module.exports = { 'plugin:@typescript-eslint/eslint-recommended', 'plugin:@typescript-eslint/recommended', ], - rules: {}, + rules: { + '@typescript-eslint/consistent-type-imports': [ + 'warn', + { + disallowTypeAnnotations: false, + }, + ], + }, }, // node files { diff --git a/addon/-private/flatten-doc-snapshot.ts b/addon/-private/flatten-doc-snapshot.ts index 093db73a..6359da81 100644 --- a/addon/-private/flatten-doc-snapshot.ts +++ b/addon/-private/flatten-doc-snapshot.ts @@ -1,4 +1,4 @@ -import { DocumentSnapshot } from 'firebase/firestore'; +import type { DocumentSnapshot } from 'firebase/firestore'; export default function flattenDocSnapshot(docSnapshot: DocumentSnapshot): { id: string; diff --git a/addon/adapters/cloud-firestore-modular.ts b/addon/adapters/cloud-firestore-modular.ts index 06fe63c1..d08b3961 100644 --- a/addon/adapters/cloud-firestore-modular.ts +++ b/addon/adapters/cloud-firestore-modular.ts @@ -1,12 +1,13 @@ import { getOwner } from '@ember/application'; import { service } from '@ember/service'; import Adapter from '@ember-data/adapter'; -import DS, { type ModelSchema } from 'ember-data'; +import type DS from 'ember-data'; +import { type ModelSchema } from 'ember-data'; import type ModelRegistry from 'ember-data/types/registries/model'; import RSVP from 'rsvp'; -import Store from '@ember-data/store'; +import type Store from '@ember-data/store'; -import { +import type { CollectionReference, DocumentReference, Firestore, @@ -25,7 +26,7 @@ import { writeBatch, } from 'ember-cloud-firestore-adapter/firebase/firestore'; import AdapterRecordNotFoundError from 'ember-cloud-firestore-adapter/utils/custom-errors'; -import FirestoreDataManager from 'ember-cloud-firestore-adapter/services/-firestore-data-manager'; +import type FirestoreDataManager from 'ember-cloud-firestore-adapter/services/-firestore-data-manager'; import buildCollectionName from 'ember-cloud-firestore-adapter/-private/build-collection-name'; import flattenDocSnapshot from 'ember-cloud-firestore-adapter/-private/flatten-doc-snapshot'; diff --git a/addon/serializers/cloud-firestore-modular.ts b/addon/serializers/cloud-firestore-modular.ts index 8b696916..62370c05 100644 --- a/addon/serializers/cloud-firestore-modular.ts +++ b/addon/serializers/cloud-firestore-modular.ts @@ -4,11 +4,12 @@ */ import { isNone } from '@ember/utils'; -import DS, { type ModelSchema } from 'ember-data'; +import type DS from 'ember-data'; +import { type ModelSchema } from 'ember-data'; import JSONSerializer from '@ember-data/serializer/json'; -import Store from '@ember-data/store'; +import type Store from '@ember-data/store'; -import { +import type { CollectionReference, DocumentReference, Firestore, diff --git a/addon/services/-firestore-data-manager.ts b/addon/services/-firestore-data-manager.ts index dcb34ddf..b51a7fba 100644 --- a/addon/services/-firestore-data-manager.ts +++ b/addon/services/-firestore-data-manager.ts @@ -1,8 +1,8 @@ import { next } from '@ember/runloop'; -import DS from 'ember-data'; +import type DS from 'ember-data'; import type ModelRegistry from 'ember-data/types/registries/model'; import Service, { service } from '@ember/service'; -import StoreService from '@ember-data/store'; +import type StoreService from '@ember-data/store'; import type { CollectionReference, diff --git a/addon/transforms/timestamp.ts b/addon/transforms/timestamp.ts index 56fdb584..e296abbe 100644 --- a/addon/transforms/timestamp.ts +++ b/addon/transforms/timestamp.ts @@ -1,7 +1,8 @@ import { typeOf } from '@ember/utils'; import Transform from '@ember-data/serializer/transform'; -import { FieldValue, Timestamp } from 'firebase/firestore'; +import type { FieldValue } from 'firebase/firestore'; +import { Timestamp } from 'firebase/firestore'; import { serverTimestamp } from 'ember-cloud-firestore-adapter/firebase/firestore'; diff --git a/tests/acceptance/features-test.ts b/tests/acceptance/features-test.ts index d425c64b..1fe7a791 100644 --- a/tests/acceptance/features-test.ts +++ b/tests/acceptance/features-test.ts @@ -2,7 +2,7 @@ import { click, visit, waitFor } from '@ember/test-helpers'; import { module, test } from 'qunit'; import { setupApplicationTest } from 'ember-qunit'; -import { Firestore } from 'firebase/firestore'; +import type { Firestore } from 'firebase/firestore'; import { doc, diff --git a/tests/dummy/app/controllers/application.ts b/tests/dummy/app/controllers/application.ts index 349626e8..ae2aa7a8 100644 --- a/tests/dummy/app/controllers/application.ts +++ b/tests/dummy/app/controllers/application.ts @@ -3,7 +3,7 @@ import { service } from '@ember/service'; import Controller from '@ember/controller'; import type { Auth } from 'firebase/auth'; -import SessionService from 'ember-simple-auth/services/session'; +import type SessionService from 'ember-simple-auth/services/session'; import { createUserWithEmailAndPassword, diff --git a/tests/dummy/app/controllers/query.ts b/tests/dummy/app/controllers/query.ts index ae4eae93..01230abc 100644 --- a/tests/dummy/app/controllers/query.ts +++ b/tests/dummy/app/controllers/query.ts @@ -1,7 +1,7 @@ import { action } from '@ember/object'; import Controller from '@ember/controller'; -import { CollectionReference } from 'firebase/firestore'; +import type { CollectionReference } from 'firebase/firestore'; import { query, diff --git a/tests/dummy/app/models/group.ts b/tests/dummy/app/models/group.ts index 0e72d122..840751f9 100644 --- a/tests/dummy/app/models/group.ts +++ b/tests/dummy/app/models/group.ts @@ -3,10 +3,10 @@ import/no-cycle: off, */ -import DS from 'ember-data'; +import type DS from 'ember-data'; import Model, { attr, hasMany } from '@ember-data/model'; -import { Query } from 'firebase/firestore'; +import type { Query } from 'firebase/firestore'; import { limit, query } from 'ember-cloud-firestore-adapter/firebase/firestore'; import type PostModel from './post'; diff --git a/tests/dummy/app/models/post.ts b/tests/dummy/app/models/post.ts index 0bfc2372..6d64e1a6 100644 --- a/tests/dummy/app/models/post.ts +++ b/tests/dummy/app/models/post.ts @@ -3,7 +3,7 @@ import/no-cycle: off, */ -import DS from 'ember-data'; +import type DS from 'ember-data'; import Model, { attr, belongsTo } from '@ember-data/model'; import type { Firestore } from 'firebase/firestore'; diff --git a/tests/dummy/app/models/user.ts b/tests/dummy/app/models/user.ts index f1db961d..31820816 100644 --- a/tests/dummy/app/models/user.ts +++ b/tests/dummy/app/models/user.ts @@ -3,7 +3,7 @@ import/no-cycle: off, */ -import DS from 'ember-data'; +import type DS from 'ember-data'; import Model, { attr, hasMany } from '@ember-data/model'; import type GroupModel from './group'; diff --git a/tests/dummy/app/routes/application.ts b/tests/dummy/app/routes/application.ts index 1c14b5ee..5b8bdf4b 100644 --- a/tests/dummy/app/routes/application.ts +++ b/tests/dummy/app/routes/application.ts @@ -1,7 +1,7 @@ import { service } from '@ember/service'; import Route from '@ember/routing/route'; -import SessionService from 'ember-simple-auth/services/session'; +import type SessionService from 'ember-simple-auth/services/session'; export default class ApplicationRoute extends Route { @service diff --git a/tests/dummy/app/routes/find-all.ts b/tests/dummy/app/routes/find-all.ts index cab177e8..ced6d17a 100644 --- a/tests/dummy/app/routes/find-all.ts +++ b/tests/dummy/app/routes/find-all.ts @@ -1,5 +1,5 @@ import { service } from '@ember/service'; -import ArrayProxy from '@ember/array/proxy'; +import type ArrayProxy from '@ember/array/proxy'; import Route from '@ember/routing/route'; import type Store from '@ember-data/store'; diff --git a/tests/dummy/app/routes/query.ts b/tests/dummy/app/routes/query.ts index 0b34bb8d..b543bc56 100644 --- a/tests/dummy/app/routes/query.ts +++ b/tests/dummy/app/routes/query.ts @@ -1,5 +1,5 @@ import { service } from '@ember/service'; -import ArrayProxy from '@ember/array/proxy'; +import type ArrayProxy from '@ember/array/proxy'; import Route from '@ember/routing/route'; import type Store from '@ember-data/store'; diff --git a/tests/unit/adapters/cloud-firestore-modular-test.ts b/tests/unit/adapters/cloud-firestore-modular-test.ts index 7870412e..aba3d4bf 100644 --- a/tests/unit/adapters/cloud-firestore-modular-test.ts +++ b/tests/unit/adapters/cloud-firestore-modular-test.ts @@ -10,7 +10,11 @@ import EmberObject from '@ember/object'; import Store from '@ember-data/store'; import type { ModelSchema } from 'ember-data'; -import { CollectionReference, Firestore, WriteBatch } from 'firebase/firestore'; +import type { + CollectionReference, + Firestore, + WriteBatch, +} from 'firebase/firestore'; import sinon from 'sinon'; import { diff --git a/types/ember-simple-auth/services/session.d.ts b/types/ember-simple-auth/services/session.d.ts index d36fdf3a..8795ef7a 100644 --- a/types/ember-simple-auth/services/session.d.ts +++ b/types/ember-simple-auth/services/session.d.ts @@ -7,7 +7,7 @@ import Service from '@ember/service'; import Evented from '@ember/object/evented'; -import firebase from 'firebase/compat/app'; +import type firebase from 'firebase/compat/app'; interface Data { authenticated: {