https://github.com/itwin/connector-framework
iTwin Connector Framework
https://github.com/itwin/connector-framework
connector itwinjs
Last synced: 9 months ago
JSON representation
iTwin Connector Framework
- Host: GitHub
- URL: https://github.com/itwin/connector-framework
- Owner: iTwin
- License: mit
- Created: 2021-07-27T14:17:46.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2025-03-06T18:16:53.000Z (11 months ago)
- Last Synced: 2025-04-16T04:45:05.875Z (9 months ago)
- Topics: connector, itwinjs
- Language: TypeScript
- Homepage:
- Size: 1.98 MB
- Stars: 5
- Watchers: 36
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE.md
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
README
# iTwin Connector Framework
[](https://bentleycs.visualstudio.com/iModelTechnologies/_build/latest?definitionId=5669&repoName=iTwin%2Fconnector-framework&branchName=main)
The **@itwin/connector-framework** package contains the classes which comprise the framework necessary to author [iModel Connectors](https://www.itwinjs.org/learning/imodel-connectors/#imodel-connectors).
In previous versions <= 2.x of the iTwin.js (iModel.js) SDK, it was included as part of the monorepo under IModelBridge. Going forward it will be a separate repository.
## Documentation
### Lifecycle policy
The main branch used for 2.x, based on iTwin.js 4.x, will be the default location for all fixes and enhancements. Patches will only be back-ported to 1.x if they are considered critical or related to security.
Version 1.x of the connector framework will be supported as long as iTwin.js 3.x is supported. Please refer to the [iTwin.js API deprecation policy](https://www.itwinjs.org/learning/api-support-policies/#package-support-policy).
### Running the Integration Tests
You may want to run the integration test and see the results hosted on the iModelHub. This is possible by setting a few environment variables to specify private/confidential parameters such as iTwin (project) id and iModel id, an AuthClient id, and user name and password.
An example .env file may look like ...
``` shell
test_client_id=
test_redirect_uri=
test_scopes="imodels:modify imodels:read itwin-platform"
test_user_name=
test_user_password=
# leave imjs_url_prefix undefined(or comment out) for prod
imjs_url_prefix = "qa-"
# if you optionally wish to authenticate with a callback URL and
# bypass the default authentication for the Integration tests,
# you can specify test_callbackUrl
# test_callbackUrl=
```
### Quick Upgrade Guide
#### To port TypeScript/JavaScript connectors based on previous versions <= 2.x of of the iTwin.js (iModel.js) SDK, the following changes must be made
1. The word `"itwin"` replaces `"imodel"` and `"connector"` replaces `"bridge"`.
2. TypeScript source files should import the new classes from `@itwin/connector-framework`.
e.g.
``` javascript
import { BaseConnector } from "@itwin/connector-framework";
```
3. package.json should include a dependency for `@itwin/connector-framework`
``` json
{
"dependencies": {
"@itwin/connector-framework": "latest"
}
}
```
4. The following scopes are required: `imodels:modify` `imodels:read`
### Refer to [write-a-connector](https://www.itwinjs.org/learning/writeaconnector/) documentation for more details
### Note:
NPM version 7.X and up is recommended. If you are using a lower version, you will have to manually install Peer Dependencies.
## Changelog
For any PR with changes beyond something exceedingly minor, an update changelog will be required for a pull request. This changelog can be added to CHANGELOG.md manually in a similar format to what is already there.