Skip to content

Commit

Permalink
add adapter-core internals subpath
Browse files Browse the repository at this point in the history
  • Loading branch information
Ashwin Kumar committed Jan 25, 2025
1 parent 990e987 commit 5da2834
Show file tree
Hide file tree
Showing 11 changed files with 49 additions and 15 deletions.
7 changes: 5 additions & 2 deletions packages/adapter-nextjs/src/types/NextServer.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,10 @@
import { GetServerSidePropsContext as NextGetServerSidePropsContext } from 'next';
import { NextRequest, NextResponse } from 'next/server.js';
import { cookies } from 'next/headers.js';
import { AmplifyOutputs, LegacyConfig } from 'aws-amplify/adapter-core';
import {
AmplifyOutputsUnknown,
LegacyConfig,
} from 'aws-amplify/adapter-core/internals';
import { AmplifyServer } from '@aws-amplify/core/internals/adapter-core';
import { ResourcesConfig } from '@aws-amplify/core';

Expand Down Expand Up @@ -74,7 +77,7 @@ export declare namespace NextServer {
) => Promise<OperationResult>;

export interface CreateServerRunnerInput {
config: ResourcesConfig | LegacyConfig | AmplifyOutputs;
config: ResourcesConfig | LegacyConfig | AmplifyOutputsUnknown;
}

export interface CreateServerRunnerOutput {
Expand Down
7 changes: 7 additions & 0 deletions packages/aws-amplify/adapter-core/internals/package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{
"name": "aws-amplify/adapter-core/internals",
"types": "../../dist/esm/adapter-core/internals.d.ts",
"main": "../../dist/cjs/adapter-core/internals.js",
"module": "../../dist/esm/adapter-core/internals.mjs",
"sideEffects": false
}
2 changes: 2 additions & 0 deletions packages/aws-amplify/src/adapter-core/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,9 @@ export {
createUserPoolsTokenProvider,
} from './authProvidersFactories/cognito';
export {
/** @deprecated This type is deprecated and will be removed in future versions. */
LegacyConfig,
/** @deprecated This type is deprecated and will be removed in future versions. */
AmplifyOutputs,
} from '@aws-amplify/core/internals/utils';
export {
Expand Down
7 changes: 7 additions & 0 deletions packages/aws-amplify/src/adapter-core/internals.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
// SPDX-License-Identifier: Apache-2.0

export {
LegacyConfig,
AmplifyOutputsUnknown,
} from '@aws-amplify/core/internals/utils';
4 changes: 2 additions & 2 deletions packages/aws-amplify/src/initSingleton.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ import {
defaultStorage,
} from '@aws-amplify/core';
import {
AmplifyOutputs,
AmplifyOutputsUnknown,
LegacyConfig,
parseAmplifyConfig,
} from '@aws-amplify/core/internals/utils';
Expand All @@ -32,7 +32,7 @@ export const DefaultAmplify = {
* Amplify.configure(config);
*/
configure(
resourceConfig: ResourcesConfig | LegacyConfig | AmplifyOutputs,
resourceConfig: ResourcesConfig | LegacyConfig | AmplifyOutputsUnknown,
libraryOptions?: LibraryOptions,
): void {
const resolvedResourceConfig = parseAmplifyConfig(resourceConfig);
Expand Down
5 changes: 4 additions & 1 deletion packages/core/src/libraryUtils.ts
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,10 @@ export {
export { parseAWSExports } from './parseAWSExports';
export { isAmplifyOutputs, parseAmplifyOutputs } from './parseAmplifyOutputs';
export { LegacyConfig } from './singleton/types';
export { AmplifyOutputs } from './singleton/AmplifyOutputs/types';
export {
AmplifyOutputs,
AmplifyOutputsUnknown,
} from './singleton/AmplifyOutputs/types';
export { ADD_OAUTH_LISTENER } from './singleton/constants';
export { amplifyUuid } from './utils/amplifyUuid';
export { AmplifyUrl, AmplifyUrlSearchParams } from './utils/amplifyUrl';
Expand Down
10 changes: 5 additions & 5 deletions packages/core/src/parseAmplifyOutputs.ts
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,6 @@ import {
} from './singleton/Auth/types';
import { NotificationsConfig } from './singleton/Notifications/types';
import {
AmplifyOutputs,
AmplifyOutputsAnalyticsProperties,
AmplifyOutputsAuthProperties,
AmplifyOutputsCustomProperties,
Expand All @@ -28,6 +27,7 @@ import {
AmplifyOutputsNotificationsProperties,
AmplifyOutputsStorageBucketProperties,
AmplifyOutputsStorageProperties,
AmplifyOutputsUnknown,
} from './singleton/AmplifyOutputs/types';
import {
AnalyticsConfig,
Expand All @@ -40,10 +40,10 @@ import {
} from './singleton/types';

export function isAmplifyOutputs(
config: ResourcesConfig | LegacyConfig | AmplifyOutputs,
): config is AmplifyOutputs {
config: ResourcesConfig | LegacyConfig | AmplifyOutputsUnknown,
): config is AmplifyOutputsUnknown {
// version format initially will be '1' but is expected to be something like x.y where x is major and y minor version
const { version } = config as AmplifyOutputs;
const { version } = config as AmplifyOutputsUnknown;

if (!version) {
return false;
Expand Down Expand Up @@ -291,7 +291,7 @@ function parseNotifications(
}

export function parseAmplifyOutputs(
amplifyOutputs: AmplifyOutputs,
amplifyOutputs: AmplifyOutputsUnknown,
): ResourcesConfig {
const resourcesConfig: ResourcesConfig = {};

Expand Down
4 changes: 2 additions & 2 deletions packages/core/src/singleton/Amplify.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import { deepFreeze } from '../utils';
import { parseAmplifyConfig } from '../libraryUtils';

import {
AmplifyOutputs,
AmplifyOutputsUnknown,
AuthConfig,
LegacyConfig,
LibraryOptions,
Expand Down Expand Up @@ -49,7 +49,7 @@ export class AmplifyClass {
* @param libraryOptions - Additional options for customizing the behavior of the library.
*/
configure(
resourcesConfig: ResourcesConfig | LegacyConfig | AmplifyOutputs,
resourcesConfig: ResourcesConfig | LegacyConfig | AmplifyOutputsUnknown,
libraryOptions?: LibraryOptions,
): void {
const resolvedResourceConfig = parseAmplifyConfig(resourcesConfig);
Expand Down
12 changes: 12 additions & 0 deletions packages/core/src/singleton/AmplifyOutputs/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -115,7 +115,19 @@ export interface AmplifyOutputsNotificationsProperties {
channels: string[];
}

/** @deprecated Use {@link AmplifyOutputsUnknown} instead. */
export interface AmplifyOutputs {
version?: string;
storage?: AmplifyOutputsStorageProperties;
auth?: AmplifyOutputsAuthProperties;
analytics?: AmplifyOutputsAnalyticsProperties;
geo?: AmplifyOutputsGeoProperties;
data?: AmplifyOutputsDataProperties;
custom?: AmplifyOutputsCustomProperties;
notifications?: AmplifyOutputsNotificationsProperties;
}

export interface AmplifyOutputsUnknown {
version?: string;
storage?: unknown;
auth?: unknown;
Expand Down
2 changes: 1 addition & 1 deletion packages/core/src/singleton/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ import {
import { NotificationsConfig } from './Notifications/types';
import { InteractionsConfig } from './Interactions/types';

export { AmplifyOutputs } from './AmplifyOutputs/types';
export { AmplifyOutputsUnknown } from './AmplifyOutputs/types';

/**
* Compatibility type representing the Amplify Gen 1 configuration file schema. This type should not be used directly.
Expand Down
4 changes: 2 additions & 2 deletions packages/core/src/utils/parseAmplifyConfig.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
// SPDX-License-Identifier: Apache-2.0

import { ResourcesConfig } from '../index';
import { AmplifyOutputs } from '../singleton/AmplifyOutputs/types';
import { AmplifyOutputsUnknown } from '../singleton/AmplifyOutputs/types';
import { LegacyConfig } from '../singleton/types';
import { parseAWSExports } from '../parseAWSExports';
import { isAmplifyOutputs, parseAmplifyOutputs } from '../parseAmplifyOutputs';
Expand All @@ -14,7 +14,7 @@ import { isAmplifyOutputs, parseAmplifyOutputs } from '../parseAmplifyOutputs';
* @return A ResourcesConfig for the provided configuration object.
*/
export const parseAmplifyConfig = (
amplifyConfig: ResourcesConfig | LegacyConfig | AmplifyOutputs,
amplifyConfig: ResourcesConfig | LegacyConfig | AmplifyOutputsUnknown,
): ResourcesConfig => {
if (Object.keys(amplifyConfig).some(key => key.startsWith('aws_'))) {
return parseAWSExports(amplifyConfig);
Expand Down

0 comments on commit 5da2834

Please sign in to comment.