runeforge 0.0.1 → 0.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -12,6 +12,47 @@ A SvelteKit toolkit that forges forms, tables, actions, and CRUD workflows from
12
12
 
13
13
  ---
14
14
 
15
+ ## Table of Contents
16
+
17
+ - [Runeforge](#runeforge)
18
+ - [Table of Contents](#table-of-contents)
19
+ - [Introduction](#introduction)
20
+ - [Requirements](#requirements)
21
+ - [Key Features](#key-features)
22
+ - [Installation](#installation)
23
+ - [Basic Usage](#basic-usage)
24
+ - [1. Define your interface and metadata](#1-define-your-interface-and-metadata)
25
+ - [2. Create the model](#2-create-the-model)
26
+ - [3. Set up the server](#3-set-up-the-server)
27
+ - [4. Add the page component](#4-add-the-page-component)
28
+ - [Components](#components)
29
+ - [GenericCRUD](#genericcrud)
30
+ - [PaginatedTable](#paginatedtable)
31
+ - [Form Components](#form-components)
32
+ - [Shared Components](#shared-components)
33
+ - [Formatters](#formatters)
34
+ - [`formatBoolean`](#formatboolean)
35
+ - [`formatDatetime`](#formatdatetime)
36
+ - [`formatTruncateTextUpTo`](#formattruncatetextupto)
37
+ - [`formatInstance`](#formatinstance)
38
+ - [Custom Cell Components](#custom-cell-components)
39
+ - [Example: avatar column](#example-avatar-column)
40
+ - [Example: icon column](#example-icon-column)
41
+ - [Internationalization](#internationalization)
42
+ - [Switch to English](#switch-to-english)
43
+ - [Override individual strings](#override-individual-strings)
44
+ - [Full `RuneforgeStrings` reference](#full-runeforgestrings-reference)
45
+ - [Bundled locales](#bundled-locales)
46
+ - [Icon System](#icon-system)
47
+ - [Running Tests](#running-tests)
48
+ - [Unit Tests](#unit-tests)
49
+ - [End-to-End Tests](#end-to-end-tests)
50
+ - [Run All Tests](#run-all-tests)
51
+ - [Development](#development)
52
+ - [License](#license)
53
+
54
+ ---
55
+
15
56
  ## Introduction
16
57
 
17
58
  Runeforge provides a set of composable, metadata-driven components for building data-heavy interfaces in SvelteKit. It handles the repetitive parts of CRUD UIs — listing records, creating and editing forms, sorting and filtering tables — through a declarative API built on top of [DaisyUI](https://daisyui.com/) and [Tailwind CSS](https://tailwindcss.com/).
@@ -486,8 +527,7 @@ Runeforge ships with a default icon set. To use Bootstrap Icons instead:
486
527
 
487
528
  ```svelte
488
529
  <script>
489
- import { setIconSet } from 'runeforge';
490
- import bootstrapIcons from 'runeforge/icons/bootstrap';
530
+ import { setIconSet, bootstrapIcons } from 'runeforge';
491
531
 
492
532
  setIconSet(bootstrapIcons);
493
533
  </script>
package/dist/index.d.ts CHANGED
@@ -6,6 +6,7 @@ export type { ColumnDefinition, FieldDefinition, ActionConfiguration, CustomActi
6
6
  export type { CRUDIconSet, IconComponent, IconByNameComponent } from './icons/types.js';
7
7
  export { setIconSet, getIconSet } from './icons/context.js';
8
8
  export { defaultIconSet } from './icons/sets/default.js';
9
+ export { bootstrapIconSet } from './icons/sets/bootstrap.js';
9
10
  export type { RuneforgeStrings } from './i18n/types.js';
10
11
  export { setStrings, getStrings } from './i18n/context.js';
11
12
  export { es } from './i18n/es.js';
package/dist/index.js CHANGED
@@ -1,6 +1,7 @@
1
1
  export { AttributeType } from './types/attribute.js';
2
2
  export { setIconSet, getIconSet } from './icons/context.js';
3
3
  export { defaultIconSet } from './icons/sets/default.js';
4
+ export { bootstrapIconSet } from './icons/sets/bootstrap.js';
4
5
  export { setStrings, getStrings } from './i18n/context.js';
5
6
  export { es } from './i18n/es.js';
6
7
  export { en } from './i18n/en.js';
package/package.json CHANGED
@@ -1,82 +1,79 @@
1
1
  {
2
- "name": "runeforge",
3
- "version": "0.0.1",
4
- "description": "SvelteKit toolkit for building metadata-driven CRUD interfaces with tables, forms, and actions",
5
- "license": "MIT",
6
- "author": "Ezequiel Puerta",
7
- "keywords": [
8
- "svelte",
9
- "sveltekit",
10
- "crud",
11
- "table",
12
- "form",
13
- "daisyui",
14
- "tailwindcss",
15
- "ui"
16
- ],
17
- "scripts": {
18
- "dev": "vite dev",
19
- "build": "vite build && npm run prepack",
20
- "preview": "vite preview",
21
- "prepare": "svelte-kit sync || echo ''",
22
- "prepack": "svelte-kit sync && svelte-package && publint",
23
- "check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json",
24
- "check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch",
25
- "test": "pnpm run test:unit && pnpm run test:e2e",
26
- "test:unit": "vitest run",
27
- "test:unit:watch": "vitest",
28
- "test:e2e": "playwright test",
29
- "lint": "prettier --check . && eslint .",
30
- "format": "prettier --write ."
31
- },
32
- "files": [
33
- "dist",
34
- "!dist/**/*.test.*",
35
- "!dist/**/*.spec.*"
36
- ],
37
- "sideEffects": [
38
- "**/*.css"
39
- ],
40
- "svelte": "./dist/index.js",
41
- "types": "./dist/index.d.ts",
42
- "type": "module",
43
- "exports": {
44
- ".": {
45
- "types": "./dist/index.d.ts",
46
- "svelte": "./dist/index.js"
47
- }
48
- },
49
- "peerDependencies": {
50
- "@sveltejs/kit": "^2.0.0",
51
- "svelte": "^5.0.0",
52
- "tailwindcss": "^4.0.0",
53
- "daisyui": "^5.0.0"
54
- },
55
- "devDependencies": {
56
- "@eslint/js": "^10.0.1",
57
- "@playwright/test": "^1.60.0",
58
- "@sveltejs/adapter-auto": "^7.0.1",
59
- "@sveltejs/kit": "^2.63.0",
60
- "@sveltejs/package": "^2.5.8",
61
- "@sveltejs/vite-plugin-svelte": "^7.1.2",
62
- "@types/node": "^22",
63
- "eslint": "^10.4.1",
64
- "eslint-config-prettier": "^10.1.8",
65
- "eslint-plugin-svelte": "^3.19.0",
66
- "globals": "^17.6.0",
67
- "prettier": "^3.8.3",
68
- "prettier-plugin-svelte": "^4.1.0",
69
- "publint": "^0.3.21",
70
- "svelte": "^5.56.1",
71
- "svelte-bootstrap-icons": "^3.3.0",
72
- "svelte-check": "^4.6.0",
73
- "typescript": "^6.0.3",
74
- "typescript-eslint": "^8.60.1",
75
- "vite": "^8.0.16",
76
- "@tailwindcss/vite": "^4.3.1",
77
- "daisyui": "^5.5.23",
78
- "tailwindcss": "^4.3.1",
79
- "vitest": "^4.1.8"
80
- },
81
- "dependencies": {}
82
- }
2
+ "name": "runeforge",
3
+ "version": "0.0.2",
4
+ "description": "SvelteKit toolkit for building metadata-driven CRUD interfaces with tables, forms, and actions",
5
+ "license": "MIT",
6
+ "author": "Ezequiel Puerta",
7
+ "keywords": [
8
+ "svelte",
9
+ "sveltekit",
10
+ "crud",
11
+ "table",
12
+ "form",
13
+ "daisyui",
14
+ "tailwindcss",
15
+ "ui"
16
+ ],
17
+ "files": [
18
+ "dist",
19
+ "!dist/**/*.test.*",
20
+ "!dist/**/*.spec.*"
21
+ ],
22
+ "sideEffects": [
23
+ "**/*.css"
24
+ ],
25
+ "svelte": "./dist/index.js",
26
+ "types": "./dist/index.d.ts",
27
+ "type": "module",
28
+ "exports": {
29
+ ".": {
30
+ "types": "./dist/index.d.ts",
31
+ "svelte": "./dist/index.js"
32
+ }
33
+ },
34
+ "peerDependencies": {
35
+ "@sveltejs/kit": "^2.0.0",
36
+ "daisyui": "^5.0.0",
37
+ "svelte": "^5.0.0",
38
+ "tailwindcss": "^4.0.0"
39
+ },
40
+ "devDependencies": {
41
+ "@eslint/js": "^10.0.1",
42
+ "@playwright/test": "^1.60.0",
43
+ "@sveltejs/adapter-auto": "^7.0.1",
44
+ "@sveltejs/kit": "^2.63.0",
45
+ "@sveltejs/package": "^2.5.8",
46
+ "@sveltejs/vite-plugin-svelte": "^7.1.2",
47
+ "@tailwindcss/vite": "^4.3.1",
48
+ "@types/node": "^22",
49
+ "daisyui": "^5.5.23",
50
+ "eslint": "^10.4.1",
51
+ "eslint-config-prettier": "^10.1.8",
52
+ "eslint-plugin-svelte": "^3.19.0",
53
+ "globals": "^17.6.0",
54
+ "prettier": "^3.8.3",
55
+ "prettier-plugin-svelte": "^4.1.0",
56
+ "publint": "^0.3.21",
57
+ "svelte": "^5.56.1",
58
+ "svelte-bootstrap-icons": "^3.3.0",
59
+ "svelte-check": "^4.6.0",
60
+ "tailwindcss": "^4.3.1",
61
+ "typescript": "^6.0.3",
62
+ "typescript-eslint": "^8.60.1",
63
+ "vite": "^8.0.16",
64
+ "vitest": "^4.1.8"
65
+ },
66
+ "scripts": {
67
+ "dev": "vite dev",
68
+ "build": "vite build && npm run prepack",
69
+ "preview": "vite preview",
70
+ "check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json",
71
+ "check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch",
72
+ "test": "pnpm run test:unit && pnpm run test:e2e",
73
+ "test:unit": "vitest run",
74
+ "test:unit:watch": "vitest",
75
+ "test:e2e": "playwright test",
76
+ "lint": "prettier --check . && eslint .",
77
+ "format": "prettier --write ."
78
+ }
79
+ }
@@ -1 +0,0 @@
1
- export { bootstrapIconSet } from './sets/bootstrap.js';
@@ -1 +0,0 @@
1
- export { bootstrapIconSet } from './sets/bootstrap.js';
@@ -1 +0,0 @@
1
- export { defaultIconSet } from './sets/default.js';
@@ -1 +0,0 @@
1
- export { defaultIconSet } from './sets/default.js';