diff --git a/examples/config/ally.ts b/examples/config/ally.ts index c4d1ff9..4cc09ee 100644 --- a/examples/config/ally.ts +++ b/examples/config/ally.ts @@ -1,52 +1,44 @@ -import { defineConfig } from '../../src/define_config.js' +import { defineConfig, services } from '../../index.js' const allyConfig = defineConfig({ - discord: { - driver: 'discord', + discord: services.discord({ clientId: process.env.DISCORD_CLIENT_ID!, clientSecret: process.env.DISCORD_CLIENT_SECRET!, callbackUrl: `http://localhost:${process.env.PORT}/discord/callback`, - }, - google: { - driver: 'google', + }), + google: services.google({ clientId: process.env.GOOGLE_CLIENT_ID!, clientSecret: process.env.GOOGLE_CLIENT_SECRET!, callbackUrl: `http://localhost:${process.env.PORT}/google/callback`, - }, - github: { - driver: 'github', + }), + github: services.github({ clientId: process.env.GITHUB_CLIENT_ID!, clientSecret: process.env.GITHUB_CLIENT_SECRET!, callbackUrl: `http://localhost:${process.env.PORT}/github/callback`, - }, - linkedin: { - driver: 'linkedin', + }), + linkedin: services.linkedin({ clientId: process.env.LINKEDIN_CLIENT_ID!, clientSecret: process.env.LINKEDIN_CLIENT_SECRET!, callbackUrl: `http://localhost:${process.env.PORT}/linkedin/callback`, - }, - twitter: { - driver: 'twitter', + }), + twitter: services.twitter({ clientId: process.env.TWITTER_API_KEY!, clientSecret: process.env.TWITTER_APP_SECRET!, callbackUrl: `http://localhost:${process.env.PORT}/twitter/callback`, - }, - facebook: { - driver: 'facebook', + }), + facebook: services.facebook({ clientId: process.env.FACEBOOK_CLIENT_ID!, clientSecret: process.env.FACEBOOK_CLIENT_SECRET!, callbackUrl: `http://localhost:${process.env.PORT}/facebook/callback`, - }, - spotify: { - driver: 'spotify', + }), + spotify: services.spotify({ clientId: process.env.SPOTIFY_CLIENT_ID!, clientSecret: process.env.SPOTIFY_CLIENT_SECRET!, callbackUrl: `http://localhost:${process.env.PORT}/spotify/callback`, - }, + }), }) declare module '@adonisjs/ally/types' { interface SocialProviders extends InferSocialProviders {} } - export default allyConfig diff --git a/index.ts b/index.ts index 1f58a55..af664d4 100644 --- a/index.ts +++ b/index.ts @@ -13,7 +13,7 @@ export * as errors from './src/errors.js' export { configure } from './configure.js' export { stubsRoot } from './stubs/main.js' export { AllyManager } from './src/ally_manager.js' -export { defineConfig } from './src/define_config.js' +export { defineConfig, services } from './src/define_config.js' export { RedirectRequest } from './src/redirect_request.js' export { Oauth1Driver } from './src/abstract_drivers/oauth1.js' diff --git a/package.json b/package.json index 9dd20da..0a99a15 100644 --- a/package.json +++ b/package.json @@ -48,7 +48,7 @@ "license": "MIT", "devDependencies": { "@adonisjs/assembler": "^6.1.3-25", - "@adonisjs/core": "^6.1.5-28", + "@adonisjs/core": "^6.1.5-29", "@adonisjs/eslint-config": "^1.1.8", "@adonisjs/prettier-config": "^1.1.8", "@adonisjs/tsconfig": "^1.1.8", @@ -78,7 +78,7 @@ "@poppinss/utils": "^6.5.0" }, "peerDependencies": { - "@adonisjs/core": "^6.1.5-28" + "@adonisjs/core": "^6.1.5-29" }, "repository": { "type": "git", diff --git a/src/define_config.ts b/src/define_config.ts index 3810c84..7ae93cf 100644 --- a/src/define_config.ts +++ b/src/define_config.ts @@ -27,7 +27,7 @@ import type { LinkedInDriverConfig, FacebookDriverConfig, AllyManagerDriverFactory, -} from '@adonisjs/ally/types' +} from './types.js' /** * Shape of config after it has been resolved from diff --git a/src/types.ts b/src/types.ts index d23ec54..79089a4 100644 --- a/src/types.ts +++ b/src/types.ts @@ -7,9 +7,9 @@ * file that was distributed with this source code. */ -import { HttpContext } from '@adonisjs/core/http' -import { ConfigProvider } from '@adonisjs/core/types' -import { +import type { HttpContext } from '@adonisjs/core/http' +import type { ConfigProvider } from '@adonisjs/core/types' +import type { Oauth2AccessToken, Oauth1RequestToken, Oauth1AccessToken, @@ -18,7 +18,7 @@ import { ApiRequestContract, RedirectRequestContract as ClientRequestContract, } from '@poppinss/oauth-client/types' -import { AllyManager } from './ally_manager.js' +import type { AllyManager } from './ally_manager.js' export type { Oauth2AccessToken } export type { Oauth1AccessToken } diff --git a/tsconfig.json b/tsconfig.json index 2039043..ad0cc44 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -4,4 +4,4 @@ "rootDir": "./", "outDir": "./build" } -} \ No newline at end of file +}