3.0.60 • Published 1 year ago

@pinegrow/vite-plugin v3.0.60

Weekly downloads
-
License
MIT
Repository
-
Last release
1 year ago

Pinegrow Vite Plugin

npm version npm downloads License

Vite plugin for Pinegrow ⚡️

Pinegrow Vite Plugin enables connection and interaction between your Vite Dev-Server and Pinegrow apps (currently only Pinegrow Web Editor & Vue Designer).

Features

  • 🎨  Visually live-design your Vite-powered apps (Vue, Nuxt, Iles, Astro, etc)
  • ⚙️  Smartly integrates into your Vite workflow in dev-mode only
  •   Clean code 😃, No lock-in - You are in control of your projects and development workflow ❤️

Quick Setup

  1. Install: Add @pinegrow/vite-plugin to your project
# Using npm
npm install -D @pinegrow/vite-plugin

# Using pnpm
pnpm add -D @pinegrow/vite-plugin
  1. Configure: Add liveDesigner() to your Vite Plugins array vite.config.{ts,js}
//vite.config.js (or) vite.config.ts

import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import { liveDesigner } from '@pinegrow/vite-plugin'

export default defineConfig({
	plugins: [
		liveDesigner({
			/* LiveDesignerOptions (for more details, refer to Options section below) */
		}),
		vue(),
		//...
	],
	//...
})

Now, open your project in your Pinegrow app (currently only Vue Designer). ✨

Options

interface PinegrowExternalPlugin {
	/**
	 * Display name in Props Panel and Library Panels
	 * Eg, "My Awesome Lib 3.3.1", defaults to key if not provided
	 */
	name?: string
	/**
	 * Unique key that doesn't conflict with other pinegrow frameworks
	 * Run `Object.values(pinegrow.getFrameworks()).map(fx => fx.key)` in Vue Designer's devtools console for existing keys
	 *
	 * Allowed characters - alphanumeric with hyphens or period, no spaces
	 * Eg, 'my-awesome-lib'
	 */
	key: string
	/**
	 * Web-types of component library (or) pinegrow commonjs plugin
	 * Must return an absolute path
	 *
	 * Use path functions according to the project module type (commonjs/module)
	 * For eg, path.resolve(__dirname, '../my-awesome-lib/web-types.json')
	 * (or)
	 * import { fileURLToPath, URL } from 'node:url'
	 * fileURLToPath(new URL('./relative-path/web-types.json', import.meta.url)) // web-types of component library
	 * fileURLToPath(new URL('./my-awesome-lib/web-types.json', import.meta.url)) // pinegrow commonjs plugin
	 */
	pluginPath: string
}

export interface LiveDesignerOptions {
	/**
	 * When your project is part of a mono-repo
	 * Absolute path to the root of a monorepo (or)
	 * Relative path from the project root to the root of a monorepo.
	 */
	repoRoot?: string

	/**
	 * When using a custom config file (for eg, vite-dev.config.js)
	 * Absolute path to a custom config file (for eg, vite-dev.config.js) (or)
	 * Relative path from the project root to a custom config file (for eg, vite-dev.config.js).
	 */
	configPath?: string

	/**
	 * Key of the devtools exposed on the window object.
	 * For instructions, check Config Panel > Devtools tab in Vue Designer
	 */
	devtoolsKey?: string

	/**
	 * Mapping of custom folder setup that deviates from the standard project setup of the framework/meta-framework
	 * For eg, in Vitepress, the standard folders could be re-mapped outside the .vitepress folder.
	 * Vue Designer utilizes this information when a user intends to create a new component from the page tree or the Vue menu.
	 */
	dirs?: {
		src?: string
		components?: string
		pages?: string
		layouts?: string
	}

	/**
   * 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'].

    To open a specific page or component as the default startup page, configure the startupPage key in your liveDesigner config.
	 * For eg '@/Pages/Welcome.vue',
	 * For eg './resources/js/Pages/Welcome.vue',
	 */
	startupPage?: string

	/**
	 * Dev-server URLs.
	 * The local URL is set to the application URL, when Vite is used as a middleware in certain setups, such as Laravel applications.
	 * The network URL is set when when the dev-server is running on a remote server/machine.
	 * 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).
	 */
	devServerUrls?: {
		local?: string
		network?: string
	}

	/**
	 * Preferred format for icons in icon-picker - https://github.com/antfu/icones/blob/main/src/utils/case.ts
	 * * @default 'unocss' // For eg, i-material-symbols-home
	 * * When using Nuxt-Icon, you need to change this to 'iconify'
	 *
	 */
	iconPreferredCase?:
		| 'unocss'
		| 'iconify'
		| 'bare'
		| 'barePascal'
		| 'dash'
		| 'slash'
		| 'doubleHyphen'
		| 'camel'
		| 'pascal'
		| 'component'
		| 'componentKebab'

	/**
	 * Router history modes - 'html5', 'hash'
	 * @default 'html5'
	 */

	routerHistoryMode?: string

	/**
	 * Array of Pinegrow plugins (npm package names)
	 * 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
	 */
	plugins?: PinegrowExternalPlugin[] | string | string[]

	/**
	 * Pinegrow TailwindCSS plugin options
	 * For options, refer to https://www.npmjs.com/package/@pinegrow/tailwindcss-plugin
	 */
	tailwindcss?: PinegrowTailwindCSSModuleOptions
	vuetify?: PinegrowVuetifyModuleOptions
}

interface PinegrowVitePlugin<VitePluginOption> {
	/**
	 * Pinegrow Live Designer options
	 */
	liveDesigner?: {
		[key in string]?: any
	} & LiveDesignerOptions
}

License

MIT License

Copyright (c) Pinegrow

3.0.60

1 year ago

3.0.56

1 year ago

3.0.57

1 year ago

3.0.54

1 year ago

3.0.55

1 year ago

3.0.58

1 year ago

3.0.59

1 year ago

3.0.53

1 year ago

3.0.52

1 year ago

3.0.51

1 year ago

3.0.49

1 year ago

3.0.48

1 year ago

3.0.50

1 year ago

3.0.47

1 year ago

3.0.46

1 year ago

3.0.45

1 year ago

3.0.44

1 year ago

3.0.43

1 year ago

3.0.41

1 year ago

3.0.42

1 year ago

3.0.40

1 year ago

3.0.38

1 year ago

3.0.39

1 year ago

3.0.37

1 year ago

3.0.36

1 year ago

3.0.35-beta.10

2 years ago

3.0.35-beta.4

2 years ago

3.0.35-beta.6

2 years ago

3.0.35-beta.7

2 years ago

3.0.35-beta.0

2 years ago

3.0.35-beta.1

2 years ago

3.0.35-beta.2

2 years ago

3.0.35-beta.3

2 years ago

3.0.35

2 years ago

3.0.4

2 years ago

3.0.3

2 years ago

3.0.2

2 years ago

3.0.1

2 years ago

3.0.8

2 years ago

3.0.7

2 years ago

3.0.6

2 years ago

3.0.5

2 years ago

3.0.0

2 years ago

3.0.9

2 years ago

3.0.12

2 years ago

3.0.13

2 years ago

3.0.11

2 years ago

3.0.16

2 years ago

3.0.17

2 years ago

3.0.14

2 years ago

3.0.15

2 years ago

3.0.23

2 years ago

3.0.24

2 years ago

3.0.21

2 years ago

3.0.22

2 years ago

3.0.27

2 years ago

3.0.28

2 years ago

3.0.25

2 years ago

3.0.26

2 years ago

3.0.20

2 years ago

3.0.18

2 years ago

3.0.19

2 years ago

3.0.34

2 years ago

3.0.32

2 years ago

3.0.33

2 years ago

3.0.30

2 years ago

3.0.31

2 years ago

3.0.29

2 years ago

3.0.0-beta.134

2 years ago

3.0.0-beta.135

2 years ago

3.0.0-beta.132

2 years ago

3.0.0-beta.133

2 years ago

3.0.0-beta.138

2 years ago

3.0.0-beta.139

2 years ago

3.0.0-beta.136

2 years ago

3.0.0-beta.137

2 years ago

3.0.0-beta.130

2 years ago

3.0.0-beta.131

2 years ago

3.0.0-beta.124

2 years ago

3.0.0-beta.127

2 years ago

3.0.0-beta.128

2 years ago

3.0.0-beta.125

2 years ago

3.0.0-beta.126

2 years ago

3.0.0-beta.129

2 years ago

3.0.0-beta.145

2 years ago

3.0.0-beta.143

2 years ago

3.0.0-beta.144

2 years ago

3.0.0-beta.141

2 years ago

3.0.0-beta.142

2 years ago

3.0.0-beta.140

2 years ago

3.0.0-beta.60

2 years ago

3.0.0-beta.61

2 years ago

3.0.0-beta.62

2 years ago

3.0.0-beta.63

2 years ago

3.0.0-beta.64

2 years ago

3.0.0-beta.65

2 years ago

3.0.0-beta.66

2 years ago

3.0.0-beta.67

2 years ago

3.0.0-beta.68

2 years ago

3.0.0-beta.69

2 years ago

3.0.0-beta.121

2 years ago

3.0.0-beta.122

2 years ago

3.0.0-beta.120

2 years ago

3.0.0-beta.50

2 years ago

3.0.0-beta.51

2 years ago

3.0.0-beta.52

2 years ago

3.0.0-beta.53

2 years ago

3.0.0-beta.54

2 years ago

3.0.0-beta.55

2 years ago

3.0.0-beta.56

2 years ago

3.0.0-beta.57

2 years ago

3.0.0-beta.58

2 years ago

3.0.0-beta.59

2 years ago

3.0.0-beta.48

2 years ago

3.0.0-beta.49

2 years ago

3.0.0-beta.91

2 years ago

3.0.0-beta.92

2 years ago

3.0.0-beta.93

2 years ago

3.0.0-beta.94

2 years ago

3.0.0-beta.95

2 years ago

3.0.0-beta.96

2 years ago

3.0.0-beta.97

2 years ago

3.0.0-beta.98

2 years ago

3.0.0-beta.99

2 years ago

3.0.0-beta.112

2 years ago

3.0.0-beta.113

2 years ago

3.0.0-beta.110

2 years ago

3.0.0-beta.111

2 years ago

3.0.0-beta.116

2 years ago

3.0.0-beta.117

2 years ago

3.0.0-beta.114

2 years ago

3.0.0-beta.115

2 years ago

3.0.0-beta.90

2 years ago

3.0.0-beta.80

2 years ago

3.0.0-beta.81

2 years ago

3.0.0-beta.82

2 years ago

3.0.0-beta.83

2 years ago

3.0.0-beta.84

2 years ago

3.0.0-beta.85

2 years ago

3.0.0-beta.86

2 years ago

3.0.0-beta.87

2 years ago

3.0.0-beta.88

2 years ago

3.0.0-beta.89

2 years ago

3.0.0-beta.118

2 years ago

3.0.0-beta.119

2 years ago

3.0.0-beta.101

2 years ago

3.0.0-beta.102

2 years ago

3.0.0-beta.100

2 years ago

3.0.0-beta.105

2 years ago

3.0.0-beta.106

2 years ago

3.0.0-beta.103

2 years ago

3.0.0-beta.104

2 years ago

3.0.0-beta.70

2 years ago

3.0.0-beta.71

2 years ago

3.0.0-beta.72

2 years ago

3.0.0-beta.73

2 years ago

3.0.0-beta.74

2 years ago

3.0.0-beta.75

2 years ago

3.0.0-beta.76

2 years ago

3.0.0-beta.109

2 years ago

3.0.0-beta.77

2 years ago

3.0.0-beta.78

2 years ago

3.0.0-beta.107

2 years ago

3.0.0-beta.79

2 years ago

3.0.0-beta.108

2 years ago

3.0.0-beta.40

2 years ago

3.0.0-beta.41

2 years ago

3.0.0-beta.42

2 years ago

3.0.0-beta.43

2 years ago

3.0.0-beta.44

2 years ago

3.0.0-beta.45

2 years ago

3.0.0-beta.46

2 years ago

3.0.0-beta.47

2 years ago

3.0.0-beta.32

2 years ago

3.0.0-beta.33

2 years ago

3.0.0-beta.34

2 years ago

3.0.0-beta.35

2 years ago

3.0.0-beta.36

2 years ago

3.0.0-beta.37

2 years ago

3.0.0-beta.38

2 years ago

3.0.0-beta.39

2 years ago

3.0.0-beta.20

3 years ago

3.0.0-beta.21

3 years ago

3.0.0-beta.23

2 years ago

3.0.0-beta.24

2 years ago

3.0.0-beta.25

2 years ago

3.0.0-beta.26

2 years ago

3.0.0-beta.27

2 years ago

3.0.0-beta.28

2 years ago

3.0.0-beta.19

3 years ago

3.0.0-beta.10

3 years ago

3.0.0-beta.11

3 years ago

3.0.0-beta.12

3 years ago

3.0.0-beta.13

3 years ago

3.0.0-beta.14

3 years ago

3.0.0-beta.15

3 years ago

3.0.0-beta.16

3 years ago

3.0.0-beta.17

3 years ago

3.0.0-beta.18

3 years ago

3.0.0-beta.7

3 years ago

3.0.0-beta.9

3 years ago

3.0.0-beta.8

3 years ago

3.0.0-beta.31

2 years ago

3.0.0-beta.5

3 years ago

3.0.0-beta.4

3 years ago

3.0.0-beta.6

3 years ago

3.0.0-beta.1

3 years ago

3.0.0-beta.3

3 years ago

3.0.0-alpha.0

3 years ago

2.0.0-alpha.36

3 years ago

2.0.0-alpha.9

3 years ago

2.0.0-alpha.33

3 years ago

2.0.0-alpha.11

3 years ago

2.0.0-alpha.32

3 years ago

2.0.0-alpha.10

3 years ago

2.0.0-alpha.31

3 years ago

2.0.0-alpha.30

3 years ago

2.0.0-alpha.19

3 years ago

2.0.0-alpha.18

3 years ago

2.0.0-alpha.17

3 years ago

2.0.0-alpha.16

3 years ago

2.0.0-alpha.15

3 years ago

2.0.0-alpha.14

3 years ago

2.0.0-alpha.35

3 years ago

2.0.0-alpha.13

3 years ago

2.0.0-alpha.34

3 years ago

2.0.0-alpha.12

3 years ago

2.0.0-alpha.22

3 years ago

2.0.0-alpha.21

3 years ago

2.0.0-alpha.20

3 years ago

2.0.0-alpha.29

3 years ago

2.0.0-alpha.27

3 years ago

2.0.0-alpha.26

3 years ago

2.0.0-alpha.25

3 years ago

2.0.0-alpha.24

3 years ago

2.0.0-alpha.23

3 years ago

2.0.0-alpha.3

3 years ago

2.0.0-alpha.4

3 years ago

2.0.0-alpha.5

3 years ago

2.0.0-alpha.6

3 years ago

2.0.0-alpha.2

3 years ago

2.0.0-alpha.7

3 years ago

2.0.0-alpha.8

3 years ago

2.0.0-alpha.1

3 years ago

2.0.0-alpha.0

3 years ago