@nestledjs/data-browser 0.1.0 → 0.1.1

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/package.json CHANGED
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "name": "@nestledjs/data-browser",
3
- "version": "0.1.0",
3
+ "version": "0.1.1",
4
4
  "description": "Universal admin data browser for Nestled framework projects with full CRUD operations",
5
- "main": "./src/index.js",
6
- "types": "./src/index.d.ts",
5
+ "main": "./index.js",
6
+ "types": "./index.d.ts",
7
7
  "keywords": [
8
8
  "nestled",
9
9
  "admin",
@@ -25,7 +25,7 @@
25
25
  "@heroicons/react": "^2.0.0",
26
26
  "@nestledjs/forms": "^0.5.0",
27
27
  "@nestledjs/helpers": "^0.1.0",
28
- "@nestledjs/shared-components": "^0.1.0",
28
+ "@nestledjs/shared-components": "^0.1.1",
29
29
  "react": "^19.0.0",
30
30
  "react-router": "^7.0.0"
31
31
  },
@@ -39,6 +39,6 @@
39
39
  "access": "public",
40
40
  "registry": "https://registry.npmjs.org/"
41
41
  },
42
- "module": "./src/index.js",
42
+ "module": "./index.js",
43
43
  "type": "module"
44
44
  }
package/project.json CHANGED
@@ -6,20 +6,16 @@
6
6
  "tags": ["publishable"],
7
7
  "targets": {
8
8
  "build": {
9
- "executor": "@nx/js:tsc",
10
- "outputs": ["{options.outputPath}"],
9
+ "executor": "nx:run-commands",
10
+ "outputs": ["{workspaceRoot}/dist/libs/admin-data"],
11
11
  "options": {
12
- "outputPath": "dist/libs/admin-data",
13
- "main": "libs/admin-data/src/index.ts",
14
- "tsConfig": "libs/admin-data/tsconfig.lib.json",
15
- "assets": [
16
- "libs/admin-data/*.md",
17
- {
18
- "input": "libs/admin-data",
19
- "glob": "package.json",
20
- "output": "."
21
- }
22
- ]
12
+ "commands": [
13
+ "vite build",
14
+ "cp README.md ../../dist/libs/admin-data/",
15
+ "cp package.json ../../dist/libs/admin-data/"
16
+ ],
17
+ "cwd": "libs/admin-data",
18
+ "parallel": false
23
19
  }
24
20
  },
25
21
  "publish": {
@@ -12,14 +12,14 @@ export function AdminDataIndexPage() {
12
12
  return (
13
13
  <div className="text-center py-12">
14
14
  <div className="max-w-2xl mx-auto">
15
- <h1 className="text-3xl font-bold text-gray-900 mb-4">Database Administration</h1>
16
- <p className="text-lg text-gray-600 mb-8">
15
+ <h1 className="text-3xl font-bold text-gray-900 dark:text-gray-100 mb-4">Database Administration</h1>
16
+ <p className="text-lg text-gray-600 dark:text-gray-300 mb-8">
17
17
  Choose a data model from the sidebar to get started with managing your database records.
18
18
  </p>
19
19
 
20
- <div className="bg-blue-50 border border-blue-200 rounded-lg p-6 mb-8">
21
- <h2 className="text-lg font-semibold text-blue-900 mb-2">Available Models</h2>
22
- <p className="text-blue-700 mb-4">
20
+ <div className="bg-blue-50 dark:bg-blue-900/20 border border-blue-200 dark:border-blue-700 rounded-lg p-6 mb-8">
21
+ <h2 className="text-lg font-semibold text-blue-900 dark:text-blue-200 mb-2">Available Models</h2>
22
+ <p className="text-blue-700 dark:text-blue-300 mb-4">
23
23
  You can manage {databaseModels.length} different data models in your database:
24
24
  </p>
25
25
  <div className="grid grid-cols-2 md:grid-cols-3 gap-2 text-sm">
@@ -27,18 +27,18 @@ export function AdminDataIndexPage() {
27
27
  <Link
28
28
  key={model.name}
29
29
  to={`${basePath}/${kebabCase(getPluralName(model.name))}`}
30
- className="text-blue-600 hover:text-blue-800 hover:underline"
30
+ className="text-blue-600 dark:text-blue-400 hover:text-blue-800 dark:hover:text-blue-300 hover:underline"
31
31
  >
32
32
  {getPluralName(spacedWords(model.name))}
33
33
  </Link>
34
34
  ))}
35
35
  {databaseModels.length > 12 && (
36
- <span className="text-blue-600 italic">+{databaseModels.length - 12} more...</span>
36
+ <span className="text-blue-600 dark:text-blue-400 italic">+{databaseModels.length - 12} more...</span>
37
37
  )}
38
38
  </div>
39
39
  </div>
40
40
 
41
- <div className="text-sm text-gray-500">
41
+ <div className="text-sm text-gray-500 dark:text-gray-400">
42
42
  <p>
43
43
  This interface provides full CRUD (Create, Read, Update, Delete) operations for all your
44
44
  database models. Select a model from the sidebar to view and manage records.
package/vite.config.ts ADDED
@@ -0,0 +1,35 @@
1
+ import { defineConfig } from 'vite'
2
+ import react from '@vitejs/plugin-react'
3
+ import { resolve } from 'path'
4
+ import dts from 'vite-plugin-dts'
5
+
6
+ export default defineConfig({
7
+ plugins: [
8
+ react(),
9
+ dts({
10
+ outDir: resolve(__dirname, '../../dist/libs/admin-data'),
11
+ entryRoot: resolve(__dirname, 'src'),
12
+ tsconfigPath: resolve(__dirname, './tsconfig.lib.json'),
13
+ }),
14
+ ],
15
+ build: {
16
+ lib: {
17
+ entry: resolve(__dirname, 'src/index.ts'),
18
+ formats: ['es'],
19
+ fileName: () => 'index.js',
20
+ },
21
+ rollupOptions: {
22
+ external: (id) => {
23
+ // Externalize all non-relative imports (node_modules)
24
+ return !id.startsWith('.') && !id.startsWith('/')
25
+ },
26
+ output: {
27
+ preserveModules: true,
28
+ preserveModulesRoot: resolve(__dirname, 'src'),
29
+ entryFileNames: '[name].js',
30
+ },
31
+ },
32
+ outDir: resolve(__dirname, '../../dist/libs/admin-data'),
33
+ emptyOutDir: true,
34
+ },
35
+ })