Skip to content

Implement modern vuejs sdk#400

Open
kavindadimuthu wants to merge 22 commits intoasgardeo:mainfrom
kavindadimuthu:temp/vuejs-sdk
Open

Implement modern vuejs sdk#400
kavindadimuthu wants to merge 22 commits intoasgardeo:mainfrom
kavindadimuthu:temp/vuejs-sdk

Conversation

@kavindadimuthu
Copy link
Contributor

@kavindadimuthu kavindadimuthu commented Mar 15, 2026

Purpose

This pull request makes significant updates to the @asgardeo/vue SDK, focusing on modernizing the build system, updating dependencies, and introducing new API modules. The changes replace the Rollup-based build with an esbuild-based setup, update the package.json to reflect new dependencies and scripts, and add several new API and utility files to improve authentication and organization management capabilities.

Build system modernization and dependency updates:

  • Migrated the build process from Rollup to esbuild by removing rollup.config.cjs and adding a new esbuild.config.mjs, simplifying and speeding up the build pipeline. (packages/vue/rollup.config.cjs removed, packages/vue/esbuild.config.mjs added) [1] [2]
  • Updated package.json to reflect new build scripts, dependency versions, and entry points for both ESM and CJS outputs. Also switched to using @asgardeo/browser and @asgardeo/i18n as dependencies and cleaned up devDependencies. (packages/vue/package.json) [1] [2]

New API modules for authentication and organization management:

  • Added new API modules: getAllOrganizations.ts, getMeOrganizations.ts, and getSchemas.ts, which wrap and extend the corresponding @asgardeo/browser methods to provide organization and schema management with support for custom fetchers and instance IDs. (packages/vue/src/api/getAllOrganizations.ts, packages/vue/src/api/getMeOrganizations.ts, packages/vue/src/api/getSchemas.ts) [1] [2] [3]
  • Introduced a temporary AuthAPI class and related models to encapsulate authentication logic, state management, and provide a unified interface for SPA authentication flows. (packages/vue/src/__temp__/api.ts, packages/vue/src/__temp__/models.ts) [1] [2]

Project configuration improvements:

  • Updated ESLint and Prettier configurations: turned off a deprecated Next.js rule and removed the deprecated jsxBracketSameLine option from Prettier config. (packages/nextjs/.eslintrc.cjs, packages/nextjs/prettier.config.cjs) [1] [2]

These changes collectively modernize the build and development workflow for the Vue SDK, improve maintainability, and introduce new features for organization and schema management.

Related Issues

  • N/A

Related PRs

  • N/A

Checklist

  • Followed the CONTRIBUTING guidelines.
  • Manual test round performed and verified.
  • Documentation provided. (Add links if there are any)
  • Unit tests provided. (Add links if there are any)

Security checks

- Introduced BrandingProvider to manage branding preferences and themes.
- Added FlowMetaProvider for fetching and managing flow metadata.
- Implemented FlowProvider to handle authentication flow UI state.
- Created I18nProvider for internationalization support and translation management.
- Developed OrganizationProvider to manage organization state and switching.
- Added ThemeProvider for theme management and detection.
- Implemented UserProvider to manage user profile state and updates.
…ox, DatePicker, Divider, Icons, Logo, OtpField, PasswordField, Select, Spinner, TextField, and Typography

- Introduced Checkbox component for boolean input.
- Added DatePicker component for date selection.
- Created Divider component for visual separation.
- Implemented Icons component with various SVG icons.
- Developed Logo component for branding display.
- Added OtpField component for one-time password input.
- Created PasswordField component with toggle visibility feature.
- Implemented Select component for dropdown selections.
- Added Spinner component for loading indication.
- Developed TextField component for text input.
- Introduced Typography component for consistent text styling.

Also updated index.ts to export new components.
- add injectStyles function for dynamic CSS variable injection in Asgardeo components
- update Vue dependency to version 3.5.30 and add optional disabled property to SelectOption interface
- Introduced a new file `defaults.css.ts` containing default CSS custom property fallback values for Asgardeo Vue components.
- Refactored `injectStyles.ts` to import and assemble styles from various component-specific CSS files, ensuring a consistent and organized style injection process.
- Removed redundant inline styles from `injectStyles.ts`, improving maintainability and separation of concerns.
- Introduced OrganizationSwitcher component with associated styles for organization selection.
- Added UserDropdown component to manage user actions with profile modal support.
- Implemented UserProfile component for displaying and editing user information.
- Enhanced styling for UserDropdown and UserProfile components to improve UI consistency.
- Added PencilIcon for inline editing functionality in UserProfile.
- Updated style injection logic to include new presentation components.
…and add User and Organization control components
…mproved design

- Adjusted button styles including border radius, font weight, and transitions.
- Updated card styles to use new border radius and padding variables.
- Modified checkbox layout and input styles for better alignment and accessibility.
- Enhanced date picker input styles with new height and padding variables.
- Refined divider styles to include typography adjustments.
- Improved logo hover effect with transition.
- Standardized OTP field input sizes and styles.
- Updated password field styles for consistency with new input variables.
- Enhanced select input styles with new border and padding variables.
- Adjusted spinner sizes for better visual consistency.
- Updated text field styles to align with new input design standards.
- Refined typography styles for better readability and consistency.
- Updated default CSS variables for colors, spacing, borders, shadows, and typography.
@kavindadimuthu kavindadimuthu changed the title Temp/vuejs sdk Implement modern vuejs sdk Mar 16, 2026
@kavindadimuthu kavindadimuthu marked this pull request as ready for review March 17, 2026 11:50
@asgardeo-github-bot
Copy link

⚠️ No Changeset found

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go.

If these changes should result in a version bump, you need to add a changeset.

Refer Release Documentation to learn how to add a changeset.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants