https://github.com/selenite-geos/commons
A set of reusable classic utils, actions, datastructures.
https://github.com/selenite-geos/commons
commons selenite svelte svelte5 utils
Last synced: about 2 months ago
JSON representation
A set of reusable classic utils, actions, datastructures.
- Host: GitHub
- URL: https://github.com/selenite-geos/commons
- Owner: Selenite-GEOS
- Created: 2024-07-12T10:25:37.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2025-05-01T17:15:39.000Z (about 1 year ago)
- Last Synced: 2025-11-29T09:04:49.186Z (7 months ago)
- Topics: commons, selenite, svelte, svelte5, utils
- Language: TypeScript
- Homepage: https://selenite-geos.github.io/commons/
- Size: 1.49 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Selenite Commons
This typescript package provides a set of frequently used utilities, types and svelte actions for building projects
with Typescript and Svelte.
It is part of the Selenite initiative.
[Documentation](https://shaitanlyss.github.io/selenite-commons/modules.html)
## Usage
This package can be installed in your project with any package manager :
```bash
npm i @selenite/commons
yarn add @selenite/commons
pnpm i @selenite/commons
bun i @selenite/commons
```
Be careful that some of the functions use WASM code from an associated package : _selenite-commons-rs_.
Therefore, if you use tools like Vite or Rollup, you need to add a plugin to the configuration.
An example of such a plugin is : https://github.com/nshen/vite-plugin-wasm-pack. It is used like this :
```
// vite.config.ts
import wasmPack from 'vite-plugin-wasm-pack'
export default defineConfig({
plugins: [
wasmPack([], ['@selenite/commons-rs']),
...
```
## Development
The project is developed with Typescript and uses vitest for testing. It uses [pnpm](https://pnpm.io/installation) as a package manager and builder.
You can start the dev server with :
```bash
pnpm dev
```
## Documentation
The documentation is generated with TypeDoc and can be built with the following command :
```bash
pnpm docgen
```
It will then be accessible in the [docs folder](./docs).
## Publishing
The package will automatically be built and published (if there's a version change) when pushed to the main branch.
You can manually publish it on npm with the following command :
```bash
npm publish --access public
# rust code (selenite-commons-rs)
pnpm wasm-pack publish --access public
```
## TODO
- Document everything
- Create action to use text content as title | and which adds truncate by default (with css)
- Try removing newline at end of xml format
- Add Portal Component
- Make custom tailwind plugin regrouping all the tailwind plugins used and the configuration