@pinegrow/vite-plugin 3.0.0-beta.99 → 3.0.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/README.md CHANGED
@@ -1,6 +1,170 @@
1
- # @pinegrow/vite-plugin
1
+ <!-- [![@pinegrow/vite-plugin](https://tailwindcss.nuxtjs.org/social-card.png)](https://tailwindcss.nuxtjs.org) -->
2
2
 
3
- ## Pinegrow Vite Plugin
3
+ # Pinegrow Vite Plugin
4
4
 
5
- http://www.pinegrow.com
5
+ [![npm version][npm-version-src]][npm-version-href]
6
+ [![npm downloads][npm-downloads-src]][npm-downloads-href]
7
+ [![License][license-src]][license-href]
8
+
9
+ [Vite](https://vitejs.dev) plugin for [Pinegrow](https://pinegrow.com) ⚡️
10
+
11
+ Pinegrow Vite Plugin enables connection and interaction between your Vite Dev-Server and Pinegrow apps (currently only Vue Designer).
12
+
13
+ - [&nbsp;Learn more about Vue Designer](https://vuedesigner.com)
14
+
15
+ ## Features
16
+
17
+ - 🎨&nbsp; Visually live-design your Vite-powered apps (Vue, Nuxt, Iles, Astro, etc)
18
+ - ⚙️&nbsp; Smartly integrates into your Vite workflow in dev-mode only
19
+ - ✨&nbsp; Clean code 😃, No lock-in - You are in control of your projects and development workflow ❤️
20
+
21
+ ## Quick Setup
22
+
23
+ 1. Install: Add `@pinegrow/vite-plugin` to your project
24
+
25
+ ```bash
26
+ # Using npm
27
+ npm install -D @pinegrow/vite-plugin
28
+
29
+ # Using pnpm
30
+ pnpm add -D @pinegrow/vite-plugin
31
+ ```
32
+
33
+ 2. Configure: Add `liveDesigner()` to your Vite Plugins array `vite.config.{ts,js}`
34
+
35
+ ```js
36
+ //vite.config.js (or) vite.config.ts
37
+
38
+ import { defineConfig } from 'vite'
39
+ import vue from '@vitejs/plugin-vue'
40
+ import { liveDesigner } from '@pinegrow/vite-plugin'
41
+
42
+ export default defineConfig({
43
+ plugins: [
44
+ liveDesigner({
45
+ /* LiveDesignerOptions (for more details, refer to Options section below) */
46
+ }),
47
+ vue(),
48
+ //...
49
+ ],
50
+ //...
51
+ })
52
+ ```
53
+
54
+ Now, open your project in your Pinegrow app (currently only Vue Designer). ✨
55
+
56
+ ## Options
57
+
58
+ ```ts
59
+ interface PinegrowExternalPlugin {
60
+ /**
61
+ * Display name in Props Panel and Library Panels
62
+ * Eg, "My Awesome Lib 3.3.1", defaults to key if not provided
63
+ */
64
+ name?: string
65
+ /**
66
+ * Unique key that doesn't conflict with other pinegrow frameworks
67
+ * Run `Object.values(pinegrow.getFrameworks()).map(fx => fx.key)` in Vue Designer's devtools console for existing keys
68
+ *
69
+ * Allowed characters - alphanumeric with hyphens or period, no spaces
70
+ * Eg, 'my-awesome-lib'
71
+ */
72
+ key: string
73
+ /**
74
+ * Web-types of component library (or) pinegrow commonjs plugin
75
+ * Must return an absolute path
76
+ *
77
+ * Use path functions according to the project module type (commonjs/module)
78
+ * For eg, path.resolve(__dirname, '../my-awesome-lib/web-types.json')
79
+ * (or)
80
+ * import { fileURLToPath, URL } from 'node:url'
81
+ * fileURLToPath(new URL('./relative-path/web-types.json', import.meta.url)) // web-types of component library
82
+ * fileURLToPath(new URL('./my-awesome-lib/web-types.json', import.meta.url)) // pinegrow commonjs plugin
83
+ */
84
+ pluginPath: string
85
+ }
86
+
87
+ export interface LiveDesignerOptions {
88
+ /**
89
+ * When your project is part of a mono-repo
90
+ * Absolute path to the root of a monorepo (or)
91
+ * Relative path from the project root to the root of a monorepo.
92
+ */
93
+ repoRoot?: string
94
+
95
+ /**
96
+ * When using a custom config file (for eg, vite-dev.config.js)
97
+ * Absolute path to a custom config file (for eg, vite-dev.config.js) (or)
98
+ * Relative path from the project root to a custom config file (for eg, vite-dev.config.js).
99
+ */
100
+ configPath?: string
101
+
102
+ /**
103
+ * Key of the devtools exposed on the window object.
104
+ * For instructions, check Config Panel > Devtools tab in Vue Designer
105
+ */
106
+ devtoolsKey?: string
107
+
108
+ /**
109
+ * Preferred format for icons in icon-picker - https://github.com/antfu/icones/blob/main/src/utils/case.ts
110
+ * * @default 'unocss' // For eg, i-material-symbols-home
111
+ * When using Nuxt-Icon, you need to change this to 'iconify'
112
+ */
113
+ iconPreferredCase?:
114
+ | 'unocss'
115
+ | 'iconify'
116
+ | 'bare'
117
+ | 'barePascal'
118
+ | 'dash'
119
+ | 'slash'
120
+ | 'doubleHyphen'
121
+ | 'camel'
122
+ | 'pascal'
123
+ | 'component'
124
+ | 'componentKebab'
125
+
126
+ /**
127
+ * Router history modes - 'html5', 'hash'
128
+ * @default 'html5'
129
+ */
130
+
131
+ routerHistoryMode?: string
132
+
133
+ /**
134
+ * Array of Pinegrow plugins (npm package names)
135
+ * To use file-based Pinegrow Plugins, provide the absolute path of the plugin file, for eg, [path.resolve(__dirname, './pg-plugin/index.js')] as pluginPath, along with a unique key
136
+ */
137
+ plugins?: PinegrowExternalPlugin[] | string | string[]
138
+
139
+ /**
140
+ * Pinegrow TailwindCSS plugin options
141
+ * For options, refer to https://www.npmjs.com/package/@pinegrow/tailwindcss-plugin
142
+ */
143
+ tailwindcss?: PinegrowTailwindCSSModuleOptions
144
+ }
145
+
146
+ interface PinegrowVitePlugin<VitePluginOption> {
147
+ /**
148
+ * Pinegrow Live Designer options
149
+ */
150
+ liveDesigner?: {
151
+ [key in string]?: any
152
+ } & LiveDesignerOptions
153
+ }
154
+ ```
155
+
156
+ ## License
157
+
158
+ [MIT License](./LICENSE)
159
+
160
+ Copyright (c) Pinegrow
161
+
162
+ <!-- Badges -->
163
+
164
+ [npm-version-src]: https://img.shields.io/npm/v/@pinegrow/vite-plugin/latest.svg?style=flat&colorA=18181B&colorB=28CF8D
165
+ [npm-version-href]: https://npmjs.com/package/@pinegrow/vite-plugin
166
+ [npm-downloads-src]: https://img.shields.io/npm/dm/@pinegrow/vite-plugin.svg?style=flat&colorA=18181B&colorB=28CF8D
167
+ [npm-downloads-href]: https://npmjs.com/package/@pinegrow/vite-plugin
168
+ [license-src]: https://img.shields.io/npm/l/@pinegrow/vite-plugin.svg?style=flat&colorA=18181B&colorB=28CF8D
169
+ [license-href]: https://npmjs.com/package/@pinegrow/vite-plugin
6
170