edifice-ts-client v1.4.0
Edifice TS Client
Edifice TS Client exposes frameworks for interacting with entcore-based servers APIs. It is written in typescript, with minimal dependencies (rxjs and axios at the moment).
Prerequisites
pnpm: >= 7 | 8
node: >= 16 | 18
Getting Started
pnpm install
Build
pnpm run build
Documentation
As rule of thumb, edifice-ts-client never uses any browser-related technology (no HTMLElement, Document, navigator...). It focus exclusively on data exchange with the servers.
IConfigurationFramework is composed of 3 layers
- Platform (apps, theme, analytics, i18n...)
- School
- User (preferences)
ISession of the connected user
- user
- description
- currentLanguage
- notLoggedIn
- avatarUrl
- currentApp (the one which initialized the framework)
- hasWorkflow
- hasRight
INotifyFramework for async messages
- onLangReady
- onSessionReady
- onSkinReady
- onOverridesReady
- promisify (generic for creating/resolving/rejecting a Promise)
- events (a publish/subscribe event broker)
ITransportFramework wraps the HTTP protocol
IExplorerFramework to look for resources
IWidgetFramework dedicated to widgets conf/prefs
and specific app frameworks for modeling their data
- ITimelineApp
- ...
Browse the full API documentation here
Additional developers notes
4 additional libs are installed by the pnpm install
command.
- ViteJS as a Bundler
- Typedoc to generate the markdown documentation, in /docs, from the Typescript comments in source code.
- husky to install a local git pre-commit hook, in order to run the unit-tests and update /docs before every commit. => /docs will always be up-to-date on the git server.
The pnpm run build
command will populate the /dist directory
- /dist/ts contains the JS code and associated .d.ts and .js.map files, later packaged in NPM (done by our CI).
- /dist/bundle contains the production-ready code/map.
So, you'll just have to write nice documented code, and unit tests where needed !
Push Force
git push --force
is not recommended!
After a git history rewrite due to a git push --force, the git tags and notes referencing the commits that were rewritten are lost.
If it happens, read this troubleshooting section: Troubleshooting
3 days ago
4 days ago
4 days ago
11 days ago
11 days ago
10 days ago
8 days ago
10 days ago
10 days ago
11 days ago
10 days ago
10 days ago
11 days ago
15 days ago
16 days ago
16 days ago
17 days ago
18 days ago
18 days ago
18 days ago
22 days ago
1 month ago
1 month ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
3 months ago
3 months ago
3 months ago
3 months ago
3 months ago
3 months ago
3 months ago
3 months ago
3 months ago
3 months ago
3 months ago
3 months ago
3 months ago
3 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
6 months ago
6 months ago
6 months ago
6 months ago
7 months ago
7 months ago
7 months ago
7 months ago
6 months ago
6 months ago
6 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
8 months ago
7 months ago
7 months ago
7 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
7 months ago
7 months ago
7 months ago
7 months ago
8 months ago
8 months ago
8 months ago
7 months ago
7 months ago
8 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago