Skip to content

प्लगइन डेवलपमेंट ​

mineproj प्लगइन्स हुक और घटकों के साथ बिल्ड पाइपलाइन को विस्तारित करते हैं।

प्लगइन अनुबंध ​

एक प्लगइन एक ऑब्जेक्ट है जिसमें निम्नलिखित होते हैं:

गुणप्रकारआवश्यकविवरण
namestring✅अद्वितीय प्लगइन नाम
hooksRecord<string, Function>वैकल्पिकलाइफसाइकिल हुक हैंडलर
viteVitePlugin[]वैकल्पिकइंजेक्ट करने के लिए Vite प्लगइन्स
componentsRecord<string, Component>वैकल्पिकरजिस्टर करने के लिए घटक
optionsSchemaZodSchemaवैकल्पिकप्लगइन विकल्पों के लिए स्कीमा
setupFunctionवैकल्पिकइंस्टॉल-टाइम हुक

उदाहरण ​

ts
import { definePlugin } from '@mineproj/core';

export default definePlugin({
  name: 'mineproj-plugin-hello',
  hooks: {
    'build:done': () => {
      console.log('बिल्ड पूर्ण!');
    },
  },
});

विकल्पों के साथ प्लगइन ​

ts
import { z } from 'zod';
import { definePlugin } from '@mineproj/core';

export default definePlugin({
  name: '@mineproj/plugin-analytics',
  optionsSchema: z.object({
    provider: z.enum(['umami', 'plausible', 'ga']),
    id: z.string(),
  }),
  hooks: {
    'render:before': (html, ctx) => {
      return html.replace('</head>', `${snippet}\n</head>`);
    },
  },
});

अनुबंध परीक्षण ​

ts
import { runPluginContract } from '@mineproj/test-utils';
const result = runPluginContract(myPlugin);
console.log(result.errors);

प्रकाशन ​

  1. अपने पैकेज का नाम mineproj-plugin-* या @mineproj/plugin-* रखें
  2. package.json में "keywords": ["mineproj-plugin"] जोड़ें
  3. मान्य करने के लिए runPluginContract चलाएँ
  4. npm पर प्रकाशित करें

Released under the Apache-2.0 License.