base-tools-360smartconnect
v1.36.4
Published
A TypeScript library that provides utilities and providers for 360 Smart Connect applications.
Readme
base-tools-360smartconnect
A TypeScript library that provides utilities and providers for 360 Smart Connect applications.
Installation
npm install base-tools-360smartconnect
# or
yarn add base-tools-360smartconnectInitialization
Before using the library, you need to initialize it with your configuration:
import { initializeBaseTools360SmartConnect } from 'base-tools-360smartconnect';
initializeBaseTools360SmartConnect({
TOKEN_WITH_ROLES_KEY: 'token_with_roles',
TOKEN_WITHOUT_ROLES_KEY: 'token_without_roles',
REFRESH_TOKEN_KEY: 'refresh_token',
API_ENTRYPOINT: 'https://api.example.com'
});Features
- Authentication Providers: JWT-based authentication with token refresh
- Data Provider: RESTful data operations with consistent error handling
- Utility Functions: Helper functions for common operations
Import Options
The library supports multiple ways to import its components:
1. Main Module
import { initializeBaseTools360SmartConnect } from 'base-tools-360smartconnect';2. Utils Barrel File
import { USERS, AVATARS, extractIdFromUriId, compose } from 'base-tools-360smartconnect/utils';3. Specific Utils
import { TOKEN_CONNECTED } from 'base-tools-360smartconnect/utils/CONST';
import { extractIdFromUriId } from 'base-tools-360smartconnect/utils/id';4. Providers Barrel File
import { authProvider, dataProvider, authProviderV2 } from 'base-tools-360smartconnect/providers';5. Specific Providers
import defaultDataProvider from 'base-tools-360smartconnect/providers/dataProvider';
import defaultAuthProvider from 'base-tools-360smartconnect/providers/authProvider';For more detailed examples, see the examples directory.
Module System
This library is ESM-only and requires the use of ES Modules:
- Only
importstatements are supported require()calls are not supported- This enables better tree shaking and modern JavaScript features
TypeScript Configuration
This package includes TypeScript type declarations and uses the typesVersions field in package.json to help TypeScript find them automatically. In most cases, you shouldn't need any additional configuration.
If you're still experiencing module resolution issues, you can add the following to your tsconfig.json:
{
"compilerOptions": {
"baseUrl": "./",
"paths": {
"base-tools-360smartconnect/*": ["node_modules/base-tools-360smartconnect/dist/*"]
}
}
}This helps TypeScript locate the module and its type declarations correctly. Note that your project should also support ESM imports.
Documentation
For more detailed documentation, see:
Development
Building the Library
# Build the library (ESM only)
npm run build
# Alternative build command
npm run build:esmPublishing
# Patch version (bug fixes)
npm run publish:patch
# Minor version (new features)
npm run publish:minor
# Major version (breaking changes)
npm run publish:majorLicense
This project is proprietary and confidential.
