-
Notifications
You must be signed in to change notification settings - Fork 0
Specification
Functional Specification, by Miguel Ramos at: 28 July 2022
WebSublime.dev is a platform where authors can publish/expose javascript packages to be consumed by third parties. This packages are UI or non UI delivered and should be universal scoped to the browser. As packages to be integrated on other packages they can be used by npm pointing to github registry. The platform will provide documentation and demos of the package published.
As a platform the goal is to expose those packages in a friendly way, documented and if possible demonstrating is functionality.
Platform is public and packages are exposed to the world, organised by entity/organisation created by the author. This organisation can have n workspaces where it will incorporate packages. Also the platform will delivery a cli to the author to create workspaces and packages locally and sync with cloud platform. The platform will depend on github to expose source code, packages release and automated actions to perform updates and deliveries on the websublime platform. Platform will not allow registration. This step will be done by the CLI tool. After confirmed registration by email, author will have access to the admin console to create organisations. Organisations creation is the only action that CLI will not perform.
- Sublime CLI tool
- Public pages for organisation, workspaces and packages
- Private console for author complement information
- NPM package thru github registry
- Artifact (module and umd) link bucket
- Manifest with metadata (script links, version, environment and links)
- Story book on workspace to demo components
- Statistics of weight scripts, coverage
- Changelog integration
- Readme and license
Sublime CLI will register and logon author on platform. Author will have a local identity file that will be used by the CLI to identify author. Main objective of the CLI for the author is to facilitate the creation of workspaces, packages, status. The support for type of packages are now: typescript only, vue, lit and solidjs. Building will always create umd, commonjs and module types. Also typings and api docs thru api-extractor on the dist folder.
Sublime CLI will be composed by the following commands:
- register, to register author on the cloud platform
- login, to login author on platform and local identity creation
- workspace, creation of monorepo layout
- create, packages or libs
- action, only used by github actions
- status, status about workspace and packages
- version, cli version
- publish, to be defined (expectation to publish story book and other stuff)
Example: After author download and install CLI will start the registration process (one time action). Registration will be confirmed by email. Next step author will login on platform and create is first organisation. After creating his organisation author can now create n workspaces on that organisation. With organisation create and registration confirmed, author will login thru CLI to update is author identity file locally. Now we can create a workspace. After workspace creation author can start creating packages. Packages are identified like: package or lib, which means lib is for sharing functionality between packages.
The platform is the showroom place, it will show components/packages documentation.