Skip to content

Commit

Permalink
fix: set conditional messaging for ui-react-storage (#996)
Browse files Browse the repository at this point in the history
  • Loading branch information
rtpascual committed May 1, 2023
1 parent ba85dbb commit 62595dc
Show file tree
Hide file tree
Showing 3 changed files with 23 additions and 7 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,8 @@ import semver from 'semver';
import { ReactRequiredDependencyProvider } from '..';

describe('ReactStudioDependencyProvider', () => {
const requiredDependencies = new ReactRequiredDependencyProvider().getRequiredDependencies();
const requiredDependencies = new ReactRequiredDependencyProvider().getRequiredDependencies(false);
const requiredDependenciesWithStorageManager = new ReactRequiredDependencyProvider().getRequiredDependencies(true);

describe('getRequiredDependencies', () => {
it('has required dependencies', () => {
Expand All @@ -39,5 +40,15 @@ describe('ReactStudioDependencyProvider', () => {
expect(dep.reason.length).toBeGreaterThan(0);
});
});

it('does not include ui-react-storage if user does not use StorageManager', () => {
expect(requiredDependencies.filter((dep) => dep.dependencyName !== '@aws-amplify/ui-react-storage')).toBeTruthy();
});

it('includes ui-react-storage if user is using StorageManager', () => {
expect(
requiredDependenciesWithStorageManager.filter((dep) => dep.dependencyName === '@aws-amplify/ui-react-storage'),
).toBeTruthy();
});
});
});
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,8 @@ type SemVerRequiredDependency = RequiredDependency & {
};

export class ReactRequiredDependencyProvider extends RequiredDependencyProvider<SemVerRequiredDependency> {
getRequiredDependencies(): SemVerRequiredDependency[] {
return [
getRequiredDependencies(hasStorageManager?: boolean): SemVerRequiredDependency[] {
const dependencies = [
{
dependencyName: '@aws-amplify/ui-react',
supportedSemVerPattern: '^4.6.0',
Expand All @@ -32,11 +32,16 @@ export class ReactRequiredDependencyProvider extends RequiredDependencyProvider<
supportedSemVerPattern: '^5.0.2',
reason: 'Required to leverage DataStore.',
},
{
];

if (hasStorageManager) {
dependencies.push({
dependencyName: '@aws-amplify/ui-react-storage',
supportedSemVerPattern: '^1.1.0',
reason: 'Required to leverage StorageManager.',
},
];
});
}

return dependencies;
}
}
2 changes: 1 addition & 1 deletion packages/codegen-ui/lib/required-dependency-provider.ts
Original file line number Diff line number Diff line change
Expand Up @@ -19,5 +19,5 @@ export type RequiredDependency = {
};

export abstract class RequiredDependencyProvider<DependencyType extends RequiredDependency> {
abstract getRequiredDependencies(): DependencyType[];
abstract getRequiredDependencies(hasStorageManager?: boolean): DependencyType[];
}

0 comments on commit 62595dc

Please sign in to comment.