@pinegrow/vite-plugin 3.0.65 → 3.0.66
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 +204 -205
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,205 +1,204 @@
|
|
|
1
|
-
<!-- [](https://tailwindcss.nuxtjs.org) -->
|
|
2
|
-
|
|
3
|
-
# Pinegrow Vite Plugin
|
|
4
|
-
|
|
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 Pinegrow Web Editor & Vue Designer).
|
|
12
|
-
|
|
13
|
-
- [ Learn more about Vue Designer](https://vuedesigner.com)
|
|
14
|
-
|
|
15
|
-
## Features
|
|
16
|
-
|
|
17
|
-
- 🎨 Visually live-design your Vite-powered apps (Vue, Nuxt, Iles, Astro, etc)
|
|
18
|
-
- ⚙️ Smartly integrates into your Vite workflow in dev-mode only
|
|
19
|
-
- ✨ 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('./web-types/my-awesome-lib.json', import.meta.url)) // pinegrow commonjs plugin
|
|
82
|
-
* fileURLToPath(new URL('./my-awesome-lib/web-types.json', import.meta.url)) // pinegrow commonjs plugin
|
|
83
|
-
* fileURLToPath(new URL('./relative-path/web-types.json', import.meta.url)) // web-types of component library
|
|
84
|
-
*/
|
|
85
|
-
pluginPath: string
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
export interface LiveDesignerOptions {
|
|
89
|
-
/**
|
|
90
|
-
* When your project is part of a mono-repo
|
|
91
|
-
* Absolute path to the root of a monorepo (or)
|
|
92
|
-
* Relative path from the project root to the root of a monorepo.
|
|
93
|
-
*/
|
|
94
|
-
repoRoot?: string
|
|
95
|
-
|
|
96
|
-
/**
|
|
97
|
-
* When using a custom config file (for eg, vite-dev.config.js)
|
|
98
|
-
* Absolute path to a custom config file (for eg, vite-dev.config.js) (or)
|
|
99
|
-
* Relative path from the project root to a custom config file (for eg, vite-dev.config.js).
|
|
100
|
-
*/
|
|
101
|
-
configPath?: string
|
|
102
|
-
|
|
103
|
-
/**
|
|
104
|
-
* Key of the devtools exposed on the window object.
|
|
105
|
-
* For instructions, check Config Panel > Devtools tab in Vue Designer
|
|
106
|
-
*/
|
|
107
|
-
devtoolsKey?: string
|
|
108
|
-
|
|
109
|
-
/**
|
|
110
|
-
* Mapping of custom folder setup that deviates from the standard project setup of the framework/meta-framework
|
|
111
|
-
* For eg, in Vitepress, the standard folders could be re-mapped outside the .vitepress folder.
|
|
112
|
-
* Vue Designer utilizes this information when a user intends to create a new component from the page tree or the Vue menu.
|
|
113
|
-
*/
|
|
114
|
-
dirs?: {
|
|
115
|
-
src?: string
|
|
116
|
-
components?: string
|
|
117
|
-
pages?: string
|
|
118
|
-
layouts?: string
|
|
119
|
-
}
|
|
120
|
-
|
|
121
|
-
/**
|
|
122
|
-
* By default, one among the pages and components following these naming conventions is opened automatically as the startup page - ['Hero*', 'app', 'App', 'home', 'Home', 'index', 'Index', 'welcome', 'Welcome'].
|
|
123
|
-
|
|
124
|
-
To open a specific page or component as the default startup page, configure the startupPage key in your liveDesigner config.
|
|
125
|
-
* For eg '@/Pages/Welcome.vue',
|
|
126
|
-
* For eg './resources/js/Pages/Welcome.vue',
|
|
127
|
-
*/
|
|
128
|
-
startupPage?: string
|
|
129
|
-
|
|
130
|
-
/**
|
|
131
|
-
* Dev-server URLs.
|
|
132
|
-
* The local URL is set to the application URL, when Vite is used as a middleware in certain setups, such as Laravel applications.
|
|
133
|
-
* The network URL is set when when the dev-server is running on a remote server/machine.
|
|
134
|
-
* Make sure the URLs are fixed via the CLI configurations, so that the next available port is not auto-picked if the fixed URL's port was already used by some other process. For Vite, use the `server.host` & `server.port` options for Vite - https://vitejs.dev/config/server-options.html#server-options).
|
|
135
|
-
*/
|
|
136
|
-
devServerUrls?: {
|
|
137
|
-
local?: string
|
|
138
|
-
network?: string
|
|
139
|
-
}
|
|
140
|
-
|
|
141
|
-
/**
|
|
142
|
-
* Preferred format for icons in icon-picker - https://github.com/antfu/icones/blob/main/src/utils/case.ts
|
|
143
|
-
* * @default 'unocss' // For eg, i-material-symbols-home
|
|
144
|
-
* * When using Nuxt-Icon, you need to change this to 'iconify'
|
|
145
|
-
*
|
|
146
|
-
*/
|
|
147
|
-
iconPreferredCase?:
|
|
148
|
-
| 'unocss'
|
|
149
|
-
| 'iconify'
|
|
150
|
-
| 'bare'
|
|
151
|
-
| 'barePascal'
|
|
152
|
-
| 'dash'
|
|
153
|
-
| 'slash'
|
|
154
|
-
| 'doubleHyphen'
|
|
155
|
-
| 'camel'
|
|
156
|
-
| 'pascal'
|
|
157
|
-
| 'component'
|
|
158
|
-
| 'componentKebab'
|
|
159
|
-
|
|
160
|
-
/**
|
|
161
|
-
* Router history modes - 'html5', 'hash'
|
|
162
|
-
* @default 'html5'
|
|
163
|
-
*/
|
|
164
|
-
|
|
165
|
-
routerHistoryMode?: string
|
|
166
|
-
|
|
167
|
-
/**
|
|
168
|
-
* Array of Pinegrow plugins (npm package names)
|
|
169
|
-
* 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
|
|
170
|
-
*/
|
|
171
|
-
plugins?: PinegrowExternalPlugin[] | string | string[]
|
|
172
|
-
|
|
173
|
-
/**
|
|
174
|
-
* Pinegrow TailwindCSS plugin options
|
|
175
|
-
* For options, refer to https://www.npmjs.com/package/@pinegrow/tailwindcss-plugin
|
|
176
|
-
*/
|
|
177
|
-
tailwindcss?: PinegrowTailwindCSSModuleOptions
|
|
178
|
-
vuetify?: PinegrowVuetifyModuleOptions
|
|
179
|
-
}
|
|
180
|
-
|
|
181
|
-
interface PinegrowVitePlugin<VitePluginOption> {
|
|
182
|
-
/**
|
|
183
|
-
* Pinegrow Live Designer options
|
|
184
|
-
*/
|
|
185
|
-
liveDesigner?: {
|
|
186
|
-
[key in string]?: any
|
|
187
|
-
} & LiveDesignerOptions
|
|
188
|
-
}
|
|
189
|
-
```
|
|
190
|
-
|
|
191
|
-
## License
|
|
192
|
-
|
|
193
|
-
[MIT License](./LICENSE)
|
|
194
|
-
|
|
195
|
-
Copyright (c) Pinegrow
|
|
196
|
-
|
|
197
|
-
<!-- Badges -->
|
|
198
|
-
|
|
199
|
-
[npm-version-src]: https://img.shields.io/npm/v/@pinegrow/vite-plugin/latest.svg?style=flat&colorA=18181B&colorB=28CF8D
|
|
200
|
-
[npm-version-href]: https://npmjs.com/package/@pinegrow/vite-plugin
|
|
201
|
-
[npm-downloads-src]: https://img.shields.io/npm/dm/@pinegrow/vite-plugin.svg?style=flat&colorA=18181B&colorB=28CF8D
|
|
202
|
-
[npm-downloads-href]: https://npmjs.com/package/@pinegrow/vite-plugin
|
|
203
|
-
[license-src]: https://img.shields.io/npm/l/@pinegrow/vite-plugin.svg?style=flat&colorA=18181B&colorB=28CF8D
|
|
204
|
-
[license-href]: https://npmjs.com/package/@pinegrow/vite-plugin
|
|
205
|
-
|
|
1
|
+
<!-- [](https://tailwindcss.nuxtjs.org) -->
|
|
2
|
+
|
|
3
|
+
# Pinegrow Vite Plugin
|
|
4
|
+
|
|
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 Pinegrow Web Editor & Vue Designer).
|
|
12
|
+
|
|
13
|
+
- [ Learn more about Vue Designer](https://vuedesigner.com)
|
|
14
|
+
|
|
15
|
+
## Features
|
|
16
|
+
|
|
17
|
+
- 🎨 Visually live-design your Vite-powered apps (Vue, Nuxt, Quasar, Iles, Astro, etc)
|
|
18
|
+
- ⚙️ Smartly integrates into your Vite workflow in dev-mode only
|
|
19
|
+
- ✨ 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('./web-types/my-awesome-lib.json', import.meta.url)) // pinegrow commonjs plugin
|
|
82
|
+
* fileURLToPath(new URL('./my-awesome-lib/web-types.json', import.meta.url)) // pinegrow commonjs plugin
|
|
83
|
+
* fileURLToPath(new URL('./relative-path/web-types.json', import.meta.url)) // web-types of component library
|
|
84
|
+
*/
|
|
85
|
+
pluginPath: string
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
export interface LiveDesignerOptions {
|
|
89
|
+
/**
|
|
90
|
+
* When your project is part of a mono-repo
|
|
91
|
+
* Absolute path to the root of a monorepo (or)
|
|
92
|
+
* Relative path from the project root to the root of a monorepo.
|
|
93
|
+
*/
|
|
94
|
+
repoRoot?: string
|
|
95
|
+
|
|
96
|
+
/**
|
|
97
|
+
* When using a custom config file (for eg, vite-dev.config.js)
|
|
98
|
+
* Absolute path to a custom config file (for eg, vite-dev.config.js) (or)
|
|
99
|
+
* Relative path from the project root to a custom config file (for eg, vite-dev.config.js).
|
|
100
|
+
*/
|
|
101
|
+
configPath?: string
|
|
102
|
+
|
|
103
|
+
/**
|
|
104
|
+
* Key of the devtools exposed on the window object.
|
|
105
|
+
* For instructions, check Config Panel > Devtools tab in Vue Designer
|
|
106
|
+
*/
|
|
107
|
+
devtoolsKey?: string
|
|
108
|
+
|
|
109
|
+
/**
|
|
110
|
+
* Mapping of custom folder setup that deviates from the standard project setup of the framework/meta-framework
|
|
111
|
+
* For eg, in Vitepress, the standard folders could be re-mapped outside the .vitepress folder.
|
|
112
|
+
* Vue Designer utilizes this information when a user intends to create a new component from the page tree or the Vue menu.
|
|
113
|
+
*/
|
|
114
|
+
dirs?: {
|
|
115
|
+
src?: string
|
|
116
|
+
components?: string
|
|
117
|
+
pages?: string
|
|
118
|
+
layouts?: string
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
/**
|
|
122
|
+
* By default, one among the pages and components following these naming conventions is opened automatically as the startup page - ['Hero*', 'app', 'App', 'home', 'Home', 'index', 'Index', 'welcome', 'Welcome'].
|
|
123
|
+
|
|
124
|
+
To open a specific page or component as the default startup page, configure the startupPage key in your liveDesigner config.
|
|
125
|
+
* For eg '@/Pages/Welcome.vue',
|
|
126
|
+
* For eg './resources/js/Pages/Welcome.vue',
|
|
127
|
+
*/
|
|
128
|
+
startupPage?: string
|
|
129
|
+
|
|
130
|
+
/**
|
|
131
|
+
* Dev-server URLs.
|
|
132
|
+
* The local URL is set to the application URL, when Vite is used as a middleware in certain setups, such as Laravel applications.
|
|
133
|
+
* The network URL is set when when the dev-server is running on a remote server/machine.
|
|
134
|
+
* Make sure the URLs are fixed via the CLI configurations, so that the next available port is not auto-picked if the fixed URL's port was already used by some other process. For Vite, use the `server.host` & `server.port` options for Vite - https://vitejs.dev/config/server-options.html#server-options).
|
|
135
|
+
*/
|
|
136
|
+
devServerUrls?: {
|
|
137
|
+
local?: string
|
|
138
|
+
network?: string
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
/**
|
|
142
|
+
* Preferred format for icons in icon-picker - https://github.com/antfu/icones/blob/main/src/utils/case.ts
|
|
143
|
+
* * @default 'unocss' // For eg, i-material-symbols-home
|
|
144
|
+
* * When using Nuxt-Icon, you need to change this to 'iconify'
|
|
145
|
+
*
|
|
146
|
+
*/
|
|
147
|
+
iconPreferredCase?:
|
|
148
|
+
| 'unocss'
|
|
149
|
+
| 'iconify'
|
|
150
|
+
| 'bare'
|
|
151
|
+
| 'barePascal'
|
|
152
|
+
| 'dash'
|
|
153
|
+
| 'slash'
|
|
154
|
+
| 'doubleHyphen'
|
|
155
|
+
| 'camel'
|
|
156
|
+
| 'pascal'
|
|
157
|
+
| 'component'
|
|
158
|
+
| 'componentKebab'
|
|
159
|
+
|
|
160
|
+
/**
|
|
161
|
+
* Router history modes - 'html5', 'hash'
|
|
162
|
+
* @default 'html5'
|
|
163
|
+
*/
|
|
164
|
+
|
|
165
|
+
routerHistoryMode?: string
|
|
166
|
+
|
|
167
|
+
/**
|
|
168
|
+
* Array of Pinegrow plugins (npm package names)
|
|
169
|
+
* 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
|
|
170
|
+
*/
|
|
171
|
+
plugins?: PinegrowExternalPlugin[] | string | string[]
|
|
172
|
+
|
|
173
|
+
/**
|
|
174
|
+
* Pinegrow TailwindCSS plugin options
|
|
175
|
+
* For options, refer to https://www.npmjs.com/package/@pinegrow/tailwindcss-plugin
|
|
176
|
+
*/
|
|
177
|
+
tailwindcss?: PinegrowTailwindCSSModuleOptions
|
|
178
|
+
vuetify?: PinegrowVuetifyModuleOptions
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
interface PinegrowVitePlugin<VitePluginOption> {
|
|
182
|
+
/**
|
|
183
|
+
* Pinegrow Live Designer options
|
|
184
|
+
*/
|
|
185
|
+
liveDesigner?: {
|
|
186
|
+
[key in string]?: any
|
|
187
|
+
} & LiveDesignerOptions
|
|
188
|
+
}
|
|
189
|
+
```
|
|
190
|
+
|
|
191
|
+
## License
|
|
192
|
+
|
|
193
|
+
[MIT License](./LICENSE)
|
|
194
|
+
|
|
195
|
+
Copyright (c) Pinegrow
|
|
196
|
+
|
|
197
|
+
<!-- Badges -->
|
|
198
|
+
|
|
199
|
+
[npm-version-src]: https://img.shields.io/npm/v/@pinegrow/vite-plugin/latest.svg?style=flat&colorA=18181B&colorB=28CF8D
|
|
200
|
+
[npm-version-href]: https://npmjs.com/package/@pinegrow/vite-plugin
|
|
201
|
+
[npm-downloads-src]: https://img.shields.io/npm/dm/@pinegrow/vite-plugin.svg?style=flat&colorA=18181B&colorB=28CF8D
|
|
202
|
+
[npm-downloads-href]: https://npmjs.com/package/@pinegrow/vite-plugin
|
|
203
|
+
[license-src]: https://img.shields.io/npm/l/@pinegrow/vite-plugin.svg?style=flat&colorA=18181B&colorB=28CF8D
|
|
204
|
+
[license-href]: https://npmjs.com/package/@pinegrow/vite-plugin
|