@vertesia/create-plugin 0.77.0 → 0.78.0-dev-9372725

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.
Files changed (49) hide show
  1. package/package.json +41 -36
  2. package/templates/web/src/assets.ts +26 -0
  3. package/templates/web/src/main.tsx.tmpl +3 -0
  4. package/templates/web/src/plugin.tsx.tmpl +5 -1
  5. package/templates/web/vite.config.ts.tmpl +17 -12
  6. package/lib/Package.d.ts +0 -42
  7. package/lib/Package.d.ts.map +0 -1
  8. package/lib/Package.js +0 -52
  9. package/lib/Package.js.map +0 -1
  10. package/lib/TemplateInit.d.ts +0 -29
  11. package/lib/TemplateInit.d.ts.map +0 -1
  12. package/lib/TemplateInit.js +0 -48
  13. package/lib/TemplateInit.js.map +0 -1
  14. package/lib/ToolTemplateInit.d.ts +0 -10
  15. package/lib/ToolTemplateInit.d.ts.map +0 -1
  16. package/lib/ToolTemplateInit.js +0 -45
  17. package/lib/ToolTemplateInit.js.map +0 -1
  18. package/lib/WebTemplateInit.d.ts +0 -10
  19. package/lib/WebTemplateInit.d.ts.map +0 -1
  20. package/lib/WebTemplateInit.js +0 -77
  21. package/lib/WebTemplateInit.js.map +0 -1
  22. package/lib/copy.d.ts +0 -12
  23. package/lib/copy.d.ts.map +0 -1
  24. package/lib/copy.js +0 -41
  25. package/lib/copy.js.map +0 -1
  26. package/lib/deps.d.ts +0 -3
  27. package/lib/deps.d.ts.map +0 -1
  28. package/lib/deps.js +0 -20
  29. package/lib/deps.js.map +0 -1
  30. package/lib/hasBin.d.ts +0 -2
  31. package/lib/hasBin.d.ts.map +0 -1
  32. package/lib/hasBin.js +0 -14
  33. package/lib/hasBin.js.map +0 -1
  34. package/lib/init.d.ts +0 -2
  35. package/lib/init.d.ts.map +0 -1
  36. package/lib/init.js +0 -107
  37. package/lib/init.js.map +0 -1
  38. package/lib/main.d.ts +0 -2
  39. package/lib/main.d.ts.map +0 -1
  40. package/lib/main.js +0 -8
  41. package/lib/main.js.map +0 -1
  42. package/lib/template.d.ts +0 -4
  43. package/lib/template.d.ts.map +0 -1
  44. package/lib/template.js +0 -16
  45. package/lib/template.js.map +0 -1
  46. package/lib/utils.d.ts +0 -2
  47. package/lib/utils.d.ts.map +0 -1
  48. package/lib/utils.js +0 -7
  49. package/lib/utils.js.map +0 -1
package/package.json CHANGED
@@ -1,37 +1,42 @@
1
1
  {
2
- "name": "@vertesia/create-plugin",
3
- "version": "0.77.0",
4
- "description": "Initialize a Vertesia plugin package",
5
- "type": "module",
6
- "bin": {
7
- "create-plugin": "./bin/create-plugin.mjs"
8
- },
9
- "main": "./lib/main.js",
10
- "types": "./lib/main.d.ts",
11
- "files": [
12
- "lib",
13
- "templates",
14
- "bin"
15
- ],
16
- "license": "Apache-2.0",
17
- "homepage": "https://docs.vertesiahq.com/",
18
- "keywords": [
19
- "vertesia",
20
- "ui",
21
- "plugin"
22
- ],
23
- "dependencies": {
24
- "enquirer": "^2.4.1",
25
- "hasbin": "^1.2.3"
26
- },
27
- "devDependencies": {
28
- "@types/hasbin": "^1.2.2",
29
- "@types/node": "^22.5.0",
30
- "typescript": "^5.7.2"
31
- },
32
- "scripts": {
33
- "eslint": "eslint './src/**/*.{jsx,js,tsx,ts}'",
34
- "build": "rm -rf ./lib ./tsconfig.tsbuildinfo && tsc --build",
35
- "clean": "rimraf ./node_modules ./lib ./tsconfig.tsbuildinfo"
36
- }
37
- }
2
+ "name": "@vertesia/create-plugin",
3
+ "version": "0.78.0-dev-9372725",
4
+ "description": "Initialize a Vertesia plugin package",
5
+ "type": "module",
6
+ "bin": {
7
+ "create-plugin": "./bin/create-plugin.mjs"
8
+ },
9
+ "main": "./lib/main.js",
10
+ "types": "./lib/main.d.ts",
11
+ "files": [
12
+ "lib",
13
+ "templates",
14
+ "bin"
15
+ ],
16
+ "license": "Apache-2.0",
17
+ "homepage": "https://docs.vertesiahq.com/",
18
+ "keywords": [
19
+ "vertesia",
20
+ "ui",
21
+ "plugin"
22
+ ],
23
+ "scripts": {
24
+ "eslint": "eslint './src/**/*.{jsx,js,tsx,ts}'",
25
+ "build": "rm -rf ./lib ./tsconfig.tsbuildinfo && tsc --build",
26
+ "clean": "rimraf ./node_modules ./lib ./tsconfig.tsbuildinfo"
27
+ },
28
+ "dependencies": {
29
+ "enquirer": "^2.4.1",
30
+ "hasbin": "^1.2.3"
31
+ },
32
+ "devDependencies": {
33
+ "@types/hasbin": "^1.2.2",
34
+ "@types/node": "^22.5.0",
35
+ "typescript": "^5.7.2"
36
+ },
37
+ "repository": {
38
+ "type": "git",
39
+ "url": "https://github.com/vertesia/composableai.git",
40
+ "directory": "packages/create-plugin"
41
+ }
42
+ }
@@ -0,0 +1,26 @@
1
+
2
+ let _usePluginAssets = true;
3
+
4
+ export function setUsePluginAssets(usePluginAssets: boolean) {
5
+ _usePluginAssets = usePluginAssets
6
+ }
7
+
8
+ /**
9
+ * Correctly resolve the URL to an asset so that it works in dev mode but also in prod as a standalone app or plugin.
10
+ * Assets must be put inside /public/assets folder so the given `path` will be resolved as /assets/path in the right context
11
+ * @param path
12
+ */
13
+ export function useAsset(path: string) {
14
+ if (path.startsWith('/')) {
15
+ path = path.substring(1);
16
+ } else if (path.startsWith('./')) {
17
+ path = path.substring(2);
18
+ }
19
+ if (_usePluginAssets) {
20
+ // the plugin.js file is in lib/ directory and we need to serve from assets/ directory
21
+ path = `../assets/${path}`;
22
+ return new URL(path, import.meta.url).href;
23
+ } else {
24
+ return `/assets/${path}`;
25
+ }
26
+ }
@@ -6,6 +6,9 @@ import './index.css'
6
6
  import { RouterProvider } from '@vertesia/ui/router'
7
7
  import { App } from './app'
8
8
  import "./env"
9
+ import { setUsePluginAssets } from './assets'
10
+
11
+ setUsePluginAssets(false);
9
12
 
10
13
  createRoot(document.getElementById('root')!).render(
11
14
  <StrictMode>
@@ -1,11 +1,15 @@
1
+ import { PortalContainerProvider } from "@vertesia/ui/core";
1
2
  import { App } from "./app";
3
+
2
4
  /**
3
5
  * Export the plugin component.
4
6
  */
5
7
  export default function ${ PluginComponent } ({ slot }: { slot: string }) {
6
8
  if (slot === "page") {
7
9
  return (
8
- <App />
10
+ <PortalContainerProvider>
11
+ <App />
12
+ </PortalContainerProvider>
9
13
  );
10
14
  } else {
11
15
  console.warn('No component found for slot', slot);
@@ -5,21 +5,26 @@ import react from '@vitejs/plugin-react';
5
5
  import { defineConfig, type ConfigEnv, type UserConfig } from 'vite';
6
6
  import serveStatic from "vite-plugin-serve-static";
7
7
 
8
+
8
9
  /**
9
- * List of external dependencies that should not be bundled when
10
- * buildiong the plugin library
10
+ * List of dependencies that must be bundled in the plugin bundle
11
11
  */
12
- const EXTERNALS = [
13
- 'react',
14
- 'react-dom',
15
- 'react/jsx-runtime',
16
- 'react-dom/client',
17
- '@vertesia/common',
18
- '@vertesia/ui',
19
- /^@vertesia\/ui\/.*/,
20
- // add any other external dependencies here
12
+ const INTERNALS: (string | RegExp)[] = [
21
13
  ];
22
14
 
15
+ function isExternal(id: string) {
16
+ // If it matches INTERNALS → bundle it
17
+ if (INTERNALS.some(pattern =>
18
+ pattern instanceof RegExp ? pattern.test(id) : id === pattern
19
+ )) {
20
+ return false;
21
+ }
22
+
23
+ // Otherwise → treat all bare imports (node_modules deps) as external
24
+ return !id.startsWith('.') && !id.startsWith('/') && !id.startsWith('@/') && !id.startsWith('virtual:');
25
+ }
26
+
27
+
23
28
  /**
24
29
  * if you want to debug vertesia ui sources define a relative path to the vertesia ui package root
25
30
  */
@@ -71,7 +76,7 @@ function defineLibConfig({ command }: ConfigEnv): UserConfig {
71
76
  minify: true,
72
77
  sourcemap: true,
73
78
  rollupOptions: {
74
- external: EXTERNALS,
79
+ external: isExternal,
75
80
  }
76
81
  }
77
82
  }
package/lib/Package.d.ts DELETED
@@ -1,42 +0,0 @@
1
- export interface PackageJson {
2
- name: string;
3
- version: string;
4
- description: string;
5
- type: string;
6
- types: string;
7
- main: string;
8
- files?: string[];
9
- module?: string;
10
- license?: string;
11
- dependencies?: Record<string, string>;
12
- devDependencies?: Record<string, string>;
13
- peerDependencies?: Record<string, string>;
14
- optionalDependencies?: Record<string, string>;
15
- scripts?: Record<string, string>;
16
- bin?: Record<string, string>;
17
- plugin?: {
18
- title?: string;
19
- icon?: string;
20
- publisher?: string;
21
- external?: boolean;
22
- status?: "beta" | "stable" | "deprecated" | "hidden";
23
- };
24
- }
25
- export declare class Package {
26
- data: PackageJson;
27
- file?: string | undefined;
28
- constructor(data: PackageJson, file?: string | undefined);
29
- static fromFile(file: string): Package;
30
- get name(): string;
31
- set name(name: string);
32
- get version(): string;
33
- set version(version: string);
34
- get description(): string;
35
- set description(description: string);
36
- get scripts(): Record<string, string>;
37
- set scripts(scripts: Record<string, string>);
38
- save(): void;
39
- saveTo(file: string): void;
40
- toJson(): PackageJson;
41
- }
42
- //# sourceMappingURL=Package.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Package.d.ts","sourceRoot":"","sources":["../src/Package.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,WAAW;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1C,oBAAoB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9C,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,MAAM,CAAC,EAAE;QACL,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,MAAM,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,YAAY,GAAG,QAAQ,CAAC;KACxD,CAAC;CACL;AAGD,qBAAa,OAAO;IACG,IAAI,EAAE,WAAW;IAAS,IAAI,CAAC,EAAE,MAAM;gBAAvC,IAAI,EAAE,WAAW,EAAS,IAAI,CAAC,EAAE,MAAM,YAAA;IAE1D,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM;IAK5B,IAAI,IAAI,IAIO,MAAM,CAFpB;IAED,IAAI,IAAI,CAAC,IAAI,EAAE,MAAM,EAEpB;IAED,IAAI,OAAO,IAIU,MAAM,CAF1B;IAED,IAAI,OAAO,CAAC,OAAO,EAAE,MAAM,EAE1B;IAED,IAAI,WAAW,IAIc,MAAM,CAFlC;IAED,IAAI,WAAW,CAAC,WAAW,EAAE,MAAM,EAElC;IAED,IAAI,OAAO,IAKU,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAF1C;IAED,IAAI,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAE1C;IAED,IAAI;IAMJ,MAAM,CAAC,IAAI,EAAE,MAAM;IAKnB,MAAM,IAAI,WAAW;CAGxB"}
package/lib/Package.js DELETED
@@ -1,52 +0,0 @@
1
- import fs from "fs";
2
- export class Package {
3
- data;
4
- file;
5
- constructor(data, file) {
6
- this.data = data;
7
- this.file = file;
8
- }
9
- static fromFile(file) {
10
- const content = fs.readFileSync(file, "utf8");
11
- return new Package(JSON.parse(content), file);
12
- }
13
- get name() {
14
- return this.data.name;
15
- }
16
- set name(name) {
17
- this.data.name = name;
18
- }
19
- get version() {
20
- return this.data.version;
21
- }
22
- set version(version) {
23
- this.data.version = version;
24
- }
25
- get description() {
26
- return this.data.description;
27
- }
28
- set description(description) {
29
- this.data.description = description;
30
- }
31
- get scripts() {
32
- if (!this.data.scripts)
33
- this.data.scripts = {};
34
- return this.data.scripts;
35
- }
36
- set scripts(scripts) {
37
- this.data.scripts = scripts;
38
- }
39
- save() {
40
- if (!this.file)
41
- throw new Error("File not specified, Use saveTo");
42
- fs.writeFileSync(this.file, JSON.stringify(this.data, undefined, 2), "utf8");
43
- }
44
- saveTo(file) {
45
- this.file = file;
46
- this.save();
47
- }
48
- toJson() {
49
- return { ...this.data };
50
- }
51
- }
52
- //# sourceMappingURL=Package.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Package.js","sourceRoot":"","sources":["../src/Package.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AA4BpB,MAAM,OAAO,OAAO;IACG;IAA0B;IAA7C,YAAmB,IAAiB,EAAS,IAAa;QAAvC,SAAI,GAAJ,IAAI,CAAa;QAAS,SAAI,GAAJ,IAAI,CAAS;IAC1D,CAAC;IACD,MAAM,CAAC,QAAQ,CAAC,IAAY;QACxB,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC9C,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,CAAC;IAClD,CAAC;IAED,IAAI,IAAI;QACJ,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;IAC1B,CAAC;IAED,IAAI,IAAI,CAAC,IAAY;QACjB,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IAC1B,CAAC;IAED,IAAI,OAAO;QACP,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;IAC7B,CAAC;IAED,IAAI,OAAO,CAAC,OAAe;QACvB,IAAI,CAAC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IAChC,CAAC;IAED,IAAI,WAAW;QACX,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC;IACjC,CAAC;IAED,IAAI,WAAW,CAAC,WAAmB;QAC/B,IAAI,CAAC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IACxC,CAAC;IAED,IAAI,OAAO;QACP,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,IAAI,CAAC,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;QAC/C,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;IAC7B,CAAC;IAED,IAAI,OAAO,CAAC,OAA+B;QACvC,IAAI,CAAC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IAChC,CAAC;IAED,IAAI;QACA,IAAI,CAAC,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAA;QACjE,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IAEjF,CAAC;IAED,MAAM,CAAC,IAAY;QACf,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,IAAI,EAAE,CAAC;IAChB,CAAC;IAED,MAAM;QACF,OAAO,EAAE,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;IAC5B,CAAC;CACJ"}
@@ -1,29 +0,0 @@
1
- import { PackageJson } from "./Package.js";
2
- export interface UserOptions {
3
- pm: "npm" | "pnpm";
4
- plugin_name: string;
5
- plugin_version: string;
6
- plugin_description?: string;
7
- isolation: "shadow" | "css";
8
- template: string;
9
- }
10
- export declare abstract class TemplateInit {
11
- options: UserOptions;
12
- pluginName: PluginName;
13
- constructor(options: UserOptions);
14
- abstract getPackageJson(): PackageJson;
15
- abstract getDevDependencies(): string[];
16
- abstract getRuntimeDependencies(): string[];
17
- abstract getVars(): Record<string, any>;
18
- installDeps(): void;
19
- }
20
- export declare class PluginName {
21
- value: string;
22
- scope?: string;
23
- name: string;
24
- _title?: string;
25
- constructor(value: string);
26
- get title(): string;
27
- get pascalCase(): string;
28
- }
29
- //# sourceMappingURL=TemplateInit.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TemplateInit.d.ts","sourceRoot":"","sources":["../src/TemplateInit.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE3C,MAAM,WAAW,WAAW;IACxB,EAAE,EAAE,KAAK,GAAG,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,SAAS,EAAE,QAAQ,GAAG,KAAK,CAAC;IAC5B,QAAQ,EAAE,MAAM,CAAC;CACpB;AAED,8BAAsB,YAAY;IAEX,OAAO,EAAE,WAAW;IADvC,UAAU,EAAE,UAAU,CAAC;gBACJ,OAAO,EAAE,WAAW;IAGvC,QAAQ,CAAC,cAAc,IAAI,WAAW;IAEtC,QAAQ,CAAC,kBAAkB,IAAI,MAAM,EAAE;IAEvC,QAAQ,CAAC,sBAAsB,IAAI,MAAM,EAAE;IAE3C,QAAQ,CAAC,OAAO,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAEvC,WAAW;CAMd;AAED,qBAAa,UAAU;IAIA,KAAK,EAAE,MAAM;IAHhC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;gBACG,KAAK,EAAE,MAAM;IAchC,IAAI,KAAK,WAKR;IACD,IAAI,UAAU,WAEb;CACJ"}
@@ -1,48 +0,0 @@
1
- import { addDevDependencies, addRuntimeDependencies } from "./deps.js";
2
- export class TemplateInit {
3
- options;
4
- pluginName;
5
- constructor(options) {
6
- this.options = options;
7
- this.pluginName = new PluginName(options.plugin_name);
8
- }
9
- installDeps() {
10
- const pm = this.options.pm;
11
- console.log("Installing dependencies");
12
- addDevDependencies(pm, this.getDevDependencies());
13
- addRuntimeDependencies(pm, this.getRuntimeDependencies());
14
- }
15
- }
16
- export class PluginName {
17
- value;
18
- scope;
19
- name;
20
- _title;
21
- constructor(value) {
22
- this.value = value;
23
- if (value.startsWith('@')) {
24
- const index = value.indexOf('/');
25
- if (index > -1) {
26
- this.name = value.substring(index + 1);
27
- this.scope = value.substring(1, index);
28
- }
29
- else {
30
- throw new Error("Invalid plugin name");
31
- }
32
- }
33
- else {
34
- this.name = value;
35
- this.scope = undefined;
36
- }
37
- }
38
- get title() {
39
- if (!this._title) {
40
- this._title = this.name.split('-').map(word => word.charAt(0).toUpperCase() + word.slice(1)).join(' ');
41
- }
42
- return this._title;
43
- }
44
- get pascalCase() {
45
- return this.name.split('-').map(word => word.charAt(0).toUpperCase() + word.slice(1)).join('');
46
- }
47
- }
48
- //# sourceMappingURL=TemplateInit.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TemplateInit.js","sourceRoot":"","sources":["../src/TemplateInit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAC;AAYvE,MAAM,OAAgB,YAAY;IAEX;IADnB,UAAU,CAAa;IACvB,YAAmB,OAAoB;QAApB,YAAO,GAAP,OAAO,CAAa;QACnC,IAAI,CAAC,UAAU,GAAG,IAAI,UAAU,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAC1D,CAAC;IASD,WAAW;QACP,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3B,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;QACvC,kBAAkB,CAAC,EAAE,EAAE,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC;QAClD,sBAAsB,CAAC,EAAE,EAAE,IAAI,CAAC,sBAAsB,EAAE,CAAC,CAAC;IAC9D,CAAC;CACJ;AAED,MAAM,OAAO,UAAU;IAIA;IAHnB,KAAK,CAAU;IACf,IAAI,CAAS;IACb,MAAM,CAAU;IAChB,YAAmB,KAAa;QAAb,UAAK,GAAL,KAAK,CAAQ;QAC5B,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACxB,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACjC,IAAI,KAAK,GAAG,CAAC,CAAC,EAAE,CAAC;gBACb,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;gBACvC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAC3C,CAAC;iBAAM,CAAC;gBACJ,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;YAC3C,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;YAClB,IAAI,CAAC,KAAK,GAAG,SAAS,CAAA;QAC1B,CAAC;IACL,CAAC;IACD,IAAI,KAAK;QACL,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC3G,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,CAAC;IACvB,CAAC;IACD,IAAI,UAAU;QACV,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACnG,CAAC;CACJ"}
@@ -1,10 +0,0 @@
1
- import { PackageJson } from "./Package.js";
2
- import { TemplateInit, UserOptions } from "./TemplateInit.js";
3
- export declare class ToolTemplateInit extends TemplateInit {
4
- constructor(options: UserOptions);
5
- getVars(): Record<string, any>;
6
- getPackageJson(): PackageJson;
7
- getDevDependencies(): string[];
8
- getRuntimeDependencies(): string[];
9
- }
10
- //# sourceMappingURL=ToolTemplateInit.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ToolTemplateInit.d.ts","sourceRoot":"","sources":["../src/ToolTemplateInit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAG9D,qBAAa,gBAAiB,SAAQ,YAAY;gBAClC,OAAO,EAAE,WAAW;IAIhC,OAAO,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAM9B,cAAc,IAAI,WAAW;IAmB7B,kBAAkB,IAAI,MAAM,EAAE;IAU9B,sBAAsB,IAAI,MAAM,EAAE;CASrC"}
@@ -1,45 +0,0 @@
1
- import { TemplateInit } from "./TemplateInit.js";
2
- export class ToolTemplateInit extends TemplateInit {
3
- constructor(options) {
4
- super(options);
5
- }
6
- getVars() {
7
- return {};
8
- }
9
- getPackageJson() {
10
- const answer = this.options;
11
- return {
12
- name: answer.plugin_name,
13
- version: answer.plugin_version || '1.0.0',
14
- description: answer.plugin_description || '',
15
- type: 'module',
16
- main: `lib/esm/index.js`,
17
- types: "lib/types/index.d.ts",
18
- files: [
19
- "lib"
20
- ],
21
- scripts: {
22
- "dev": "vite",
23
- "build": "tsc",
24
- }
25
- };
26
- }
27
- getDevDependencies() {
28
- return [
29
- "@hono/vite-dev-server",
30
- "@types/node",
31
- "esbuild",
32
- "typescript",
33
- "vite",
34
- ];
35
- }
36
- getRuntimeDependencies() {
37
- return [
38
- "@vertesia/agent-sdk",
39
- "@vertesia/client",
40
- "@vertesia/common",
41
- "hono"
42
- ];
43
- }
44
- }
45
- //# sourceMappingURL=ToolTemplateInit.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ToolTemplateInit.js","sourceRoot":"","sources":["../src/ToolTemplateInit.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAe,MAAM,mBAAmB,CAAC;AAG9D,MAAM,OAAO,gBAAiB,SAAQ,YAAY;IAC9C,YAAY,OAAoB;QAC5B,KAAK,CAAC,OAAO,CAAC,CAAC;IACnB,CAAC;IAED,OAAO;QACH,OAAO,EAEN,CAAA;IACL,CAAC;IAED,cAAc;QACV,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;QAC5B,OAAO;YACH,IAAI,EAAE,MAAM,CAAC,WAAW;YACxB,OAAO,EAAE,MAAM,CAAC,cAAc,IAAI,OAAO;YACzC,WAAW,EAAE,MAAM,CAAC,kBAAkB,IAAI,EAAE;YAC5C,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,kBAAkB;YACxB,KAAK,EAAE,sBAAsB;YAC7B,KAAK,EAAE;gBACH,KAAK;aACR;YACD,OAAO,EAAE;gBACL,KAAK,EAAE,MAAM;gBACb,OAAO,EAAE,KAAK;aACjB;SACJ,CAAC;IACN,CAAC;IAED,kBAAkB;QACd,OAAO;YACH,uBAAuB;YACvB,aAAa;YACb,SAAS;YACT,YAAY;YACZ,MAAM;SACT,CAAA;IACL,CAAC;IAED,sBAAsB;QAClB,OAAO;YACH,qBAAqB;YACrB,kBAAkB;YAClB,kBAAkB;YAClB,MAAM;SACT,CAAA;IACL,CAAC;CAEJ"}
@@ -1,10 +0,0 @@
1
- import { PackageJson } from "./Package.js";
2
- import { TemplateInit, UserOptions } from "./TemplateInit.js";
3
- export declare class WebTemplateInit extends TemplateInit {
4
- constructor(options: UserOptions);
5
- getVars(): Record<string, any>;
6
- getPackageJson(): PackageJson;
7
- getDevDependencies(): string[];
8
- getRuntimeDependencies(): string[];
9
- }
10
- //# sourceMappingURL=WebTemplateInit.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"WebTemplateInit.d.ts","sourceRoot":"","sources":["../src/WebTemplateInit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAG9D,qBAAa,eAAgB,SAAQ,YAAY;gBACjC,OAAO,EAAE,WAAW;IAIhC,OAAO,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAQ9B,cAAc,IAAI,WAAW;IAkC7B,kBAAkB,IAAI,MAAM,EAAE;IAyB9B,sBAAsB,IAAI,MAAM,EAAE;CAOrC"}
@@ -1,77 +0,0 @@
1
- import { TemplateInit } from "./TemplateInit.js";
2
- export class WebTemplateInit extends TemplateInit {
3
- constructor(options) {
4
- super(options);
5
- }
6
- getVars() {
7
- return {
8
- plugin_title: this.pluginName.title,
9
- PluginComponent: this.pluginName.pascalCase + "Plugin",
10
- inlineCss: this.options.isolation === "css"
11
- };
12
- }
13
- getPackageJson() {
14
- const answer = this.options;
15
- return {
16
- name: answer.plugin_name,
17
- version: answer.plugin_version || '1.0.0',
18
- description: answer.plugin_description || '',
19
- type: 'module',
20
- main: `dist/${answer.plugin_name}.js`,
21
- module: `dist/${answer.plugin_name}.js`,
22
- types: "dist/index.d.ts",
23
- files: [
24
- "dist"
25
- ],
26
- scripts: {
27
- "dev": "vite dev",
28
- "build:app": "vite build --mode app",
29
- "build:lib": "vite build --mode lib",
30
- "build": "vite build --mode app && vite build --mode lib",
31
- "lint": "eslint .",
32
- "preview": "vite preview"
33
- },
34
- peerDependencies: {
35
- "react": "^19.0.0",
36
- "react-dom": "^19.0.0"
37
- },
38
- plugin: {
39
- title: this.pluginName.title,
40
- publisher: this.pluginName.scope || "vertesia",
41
- external: false,
42
- status: "beta",
43
- }
44
- };
45
- }
46
- getDevDependencies() {
47
- return [
48
- "@eslint/js",
49
- "@vertesia/plugin-builder",
50
- "@vitejs/plugin-basic-ssl",
51
- "@vitejs/plugin-react",
52
- "@tailwindcss/vite",
53
- "@tailwindcss/forms",
54
- "@types/node",
55
- "@types/react",
56
- "@types/react-dom",
57
- "eslint",
58
- "eslint-plugin-react-hooks",
59
- "eslint-plugin-react-refresh",
60
- "globals",
61
- "react",
62
- "react-dom",
63
- "tailwindcss",
64
- "typescript",
65
- "typescript-eslint",
66
- "vite",
67
- "vite-plugin-serve-static"
68
- ];
69
- }
70
- getRuntimeDependencies() {
71
- return [
72
- "@vertesia/common",
73
- "@vertesia/ui",
74
- ];
75
- }
76
- }
77
- //# sourceMappingURL=WebTemplateInit.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"WebTemplateInit.js","sourceRoot":"","sources":["../src/WebTemplateInit.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAe,MAAM,mBAAmB,CAAC;AAG9D,MAAM,OAAO,eAAgB,SAAQ,YAAY;IAC7C,YAAY,OAAoB;QAC5B,KAAK,CAAC,OAAO,CAAC,CAAC;IACnB,CAAC;IAED,OAAO;QACH,OAAO;YACH,YAAY,EAAE,IAAI,CAAC,UAAU,CAAC,KAAK;YACnC,eAAe,EAAE,IAAI,CAAC,UAAU,CAAC,UAAU,GAAG,QAAQ;YACtD,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS,KAAK,KAAK;SAC9C,CAAA;IACL,CAAC;IAED,cAAc;QACV,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;QAC5B,OAAO;YACH,IAAI,EAAE,MAAM,CAAC,WAAW;YACxB,OAAO,EAAE,MAAM,CAAC,cAAc,IAAI,OAAO;YACzC,WAAW,EAAE,MAAM,CAAC,kBAAkB,IAAI,EAAE;YAC5C,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,QAAQ,MAAM,CAAC,WAAW,KAAK;YACrC,MAAM,EAAE,QAAQ,MAAM,CAAC,WAAW,KAAK;YACvC,KAAK,EAAE,iBAAiB;YACxB,KAAK,EAAE;gBACH,MAAM;aACT;YACD,OAAO,EAAE;gBACL,KAAK,EAAE,UAAU;gBACjB,WAAW,EAAE,uBAAuB;gBACpC,WAAW,EAAE,uBAAuB;gBACpC,OAAO,EAAE,gDAAgD;gBACzD,MAAM,EAAE,UAAU;gBAClB,SAAS,EAAE,cAAc;aAC5B;YACD,gBAAgB,EAAE;gBACd,OAAO,EAAE,SAAS;gBAClB,WAAW,EAAE,SAAS;aACzB;YACD,MAAM,EAAE;gBACJ,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,KAAK;gBAC5B,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,KAAK,IAAI,UAAU;gBAC9C,QAAQ,EAAE,KAAK;gBACf,MAAM,EAAE,MAAM;aACjB;SACJ,CAAC;IACN,CAAC;IAED,kBAAkB;QACd,OAAO;YACH,YAAY;YACZ,0BAA0B;YAC1B,0BAA0B;YAC1B,sBAAsB;YACtB,mBAAmB;YACnB,oBAAoB;YACpB,aAAa;YACb,cAAc;YACd,kBAAkB;YAClB,QAAQ;YACR,2BAA2B;YAC3B,6BAA6B;YAC7B,SAAS;YACT,OAAO;YACP,WAAW;YACX,aAAa;YACb,YAAY;YACZ,mBAAmB;YACnB,MAAM;YACN,0BAA0B;SAC7B,CAAA;IACL,CAAC;IAED,sBAAsB;QAClB,OAAO;YACH,kBAAkB;YAClB,cAAc;SACjB,CAAA;IACL,CAAC;CAEJ"}
package/lib/copy.d.ts DELETED
@@ -1,12 +0,0 @@
1
- /**
2
- * Recursively copies the contents of a source directory to a target directory using the most optimized method.
3
- *
4
- * @param sourceDir - The path to the source directory.
5
- * @param targetDir - The path to the target directory.
6
- * @param templateSuffix - Optional suffix to remvoe from file name after copying. Ex: .template, .tmpl
7
- */
8
- export declare function copyTree(sourceDir: string, targetDir: string, template?: {
9
- suffix?: string;
10
- context: Record<string, any>;
11
- }): Promise<void>;
12
- //# sourceMappingURL=copy.d.ts.map
package/lib/copy.d.ts.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"copy.d.ts","sourceRoot":"","sources":["../src/copy.ts"],"names":[],"mappings":"AAIA;;;;;;GAMG;AACH,wBAAsB,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE;IAC5E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;CAC/B,GAAG,OAAO,CAAC,IAAI,CAAC,CAkChB"}
package/lib/copy.js DELETED
@@ -1,41 +0,0 @@
1
- import { promises as fs } from "fs";
2
- import { join } from "path";
3
- import { processVarsInFile } from "./template.js";
4
- /**
5
- * Recursively copies the contents of a source directory to a target directory using the most optimized method.
6
- *
7
- * @param sourceDir - The path to the source directory.
8
- * @param targetDir - The path to the target directory.
9
- * @param templateSuffix - Optional suffix to remvoe from file name after copying. Ex: .template, .tmpl
10
- */
11
- export async function copyTree(sourceDir, targetDir, template) {
12
- // Optimize by using a queue to avoid deep recursion and potential stack overflows
13
- const queue = [{ source: sourceDir, target: targetDir }];
14
- while (queue.length > 0) {
15
- const { source, target } = queue.pop();
16
- // Ensure the target directory exists
17
- await fs.mkdir(target, { recursive: true });
18
- // Read all items in the source directory
19
- const items = await fs.readdir(source, { withFileTypes: true });
20
- for (const item of items) {
21
- const isTemplate = template?.suffix ? item.name.endsWith(template.suffix) : false;
22
- const targetName = isTemplate ? item.name.slice(0, -template.suffix.length) : item.name;
23
- const sourcePath = join(source, item.name);
24
- const targetPath = join(target, targetName);
25
- console.log('Generating', targetPath);
26
- if (item.isDirectory()) {
27
- // Queue subdirectory for processing
28
- queue.push({ source: sourcePath, target: targetPath });
29
- }
30
- else if (item.isFile() || item.isSymbolicLink()) {
31
- // Copy file or symbolic link
32
- await fs.copyFile(sourcePath, targetPath);
33
- if (isTemplate) {
34
- // Process template if applicable
35
- processVarsInFile(targetPath, template.context);
36
- }
37
- }
38
- }
39
- }
40
- }
41
- //# sourceMappingURL=copy.js.map
package/lib/copy.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"copy.js","sourceRoot":"","sources":["../src/copy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,EAAE,EAAE,MAAM,IAAI,CAAC;AACpC,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAElD;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,SAAiB,EAAE,SAAiB,EAAE,QAGpE;IACG,kFAAkF;IAClF,MAAM,KAAK,GAAyC,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;IAE/F,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC,GAAG,EAAG,CAAC;QAExC,qCAAqC;QACrC,MAAM,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAE5C,yCAAyC;QACzC,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QAEhE,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACvB,MAAM,UAAU,GAAG,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;YAClF,MAAM,UAAU,GAAG,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,QAAS,CAAC,MAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;YAC1F,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YAC3C,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;YAE5C,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;YAEtC,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;gBACrB,oCAAoC;gBACpC,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;YAC3D,CAAC;iBAAM,IAAI,IAAI,CAAC,MAAM,EAAE,IAAI,IAAI,CAAC,cAAc,EAAE,EAAE,CAAC;gBAChD,6BAA6B;gBAC7B,MAAM,EAAE,CAAC,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;gBAC1C,IAAI,UAAU,EAAE,CAAC;oBACb,iCAAiC;oBACjC,iBAAiB,CAAC,UAAU,EAAE,QAAS,CAAC,OAAO,CAAC,CAAC;gBACrD,CAAC;YACL,CAAC;QACL,CAAC;IACL,CAAC;AACL,CAAC"}
package/lib/deps.d.ts DELETED
@@ -1,3 +0,0 @@
1
- export declare function addDevDependencies(pm: "npm" | "pnpm", deps: string[]): void;
2
- export declare function addRuntimeDependencies(pm: "npm" | "pnpm", deps: string[]): void;
3
- //# sourceMappingURL=deps.d.ts.map
package/lib/deps.d.ts.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"deps.d.ts","sourceRoot":"","sources":["../src/deps.ts"],"names":[],"mappings":"AAEA,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,KAAK,GAAG,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAEpE;AACD,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,KAAK,GAAG,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAExE"}
package/lib/deps.js DELETED
@@ -1,20 +0,0 @@
1
- import { runCommand } from "./utils.js";
2
- export function addDevDependencies(pm, deps) {
3
- _addDependencies(pm, deps, "dev");
4
- }
5
- export function addRuntimeDependencies(pm, deps) {
6
- _addDependencies(pm, deps, "runtime");
7
- }
8
- function _addDependencies(pm, deps, type = "runtime") {
9
- const args = [
10
- pm === "pnpm" ? "add" : "install"
11
- ];
12
- if (type === "dev") {
13
- args.push('-D');
14
- }
15
- for (const dep of deps) {
16
- args.push(dep);
17
- }
18
- runCommand(pm, args);
19
- }
20
- //# sourceMappingURL=deps.js.map
package/lib/deps.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"deps.js","sourceRoot":"","sources":["../src/deps.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAExC,MAAM,UAAU,kBAAkB,CAAC,EAAkB,EAAE,IAAc;IACjE,gBAAgB,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;AACtC,CAAC;AACD,MAAM,UAAU,sBAAsB,CAAC,EAAkB,EAAE,IAAc;IACrE,gBAAgB,CAAC,EAAE,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;AAC1C,CAAC;AACD,SAAS,gBAAgB,CAAC,EAAkB,EAAE,IAAc,EAAE,OAA0B,SAAS;IAC7F,MAAM,IAAI,GAAG;QACT,EAAE,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;KACpC,CAAC;IACF,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;QACjB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpB,CAAC;IACD,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACrB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAClB,CAAC;IACD,UAAU,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;AACzB,CAAC"}
package/lib/hasBin.d.ts DELETED
@@ -1,2 +0,0 @@
1
- export declare function hasBin(name: string): Promise<boolean>;
2
- //# sourceMappingURL=hasBin.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"hasBin.d.ts","sourceRoot":"","sources":["../src/hasBin.ts"],"names":[],"mappings":"AAEA,wBAAgB,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAUrD"}
package/lib/hasBin.js DELETED
@@ -1,14 +0,0 @@
1
- import hasbin from "hasbin";
2
- export function hasBin(name) {
3
- return new Promise((resolve, reject) => {
4
- try {
5
- hasbin(name, (result) => {
6
- resolve(result);
7
- });
8
- }
9
- catch (err) {
10
- reject(err);
11
- }
12
- });
13
- }
14
- //# sourceMappingURL=hasBin.js.map
package/lib/hasBin.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"hasBin.js","sourceRoot":"","sources":["../src/hasBin.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAE5B,MAAM,UAAU,MAAM,CAAC,IAAY;IAC/B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACnC,IAAI,CAAC;YACD,MAAM,CAAC,IAAI,EAAE,CAAC,MAAe,EAAE,EAAE;gBAC7B,OAAO,CAAC,MAAM,CAAC,CAAC;YACpB,CAAC,CAAC,CAAC;QACP,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAChB,MAAM,CAAC,GAAG,CAAC,CAAA;QACf,CAAC;IACL,CAAC,CAAC,CAAC;AACP,CAAC"}
package/lib/init.d.ts DELETED
@@ -1,2 +0,0 @@
1
- export declare function init(dirName?: string | undefined): Promise<void>;
2
- //# sourceMappingURL=init.d.ts.map
package/lib/init.d.ts.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../src/init.ts"],"names":[],"mappings":"AAcA,wBAAsB,IAAI,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,iBAkGtD"}
package/lib/init.js DELETED
@@ -1,107 +0,0 @@
1
- import enquirer from "enquirer";
2
- import { mkdirSync } from "node:fs";
3
- import { join, resolve } from "node:path";
4
- import { chdir } from "node:process";
5
- import { fileURLToPath } from "node:url";
6
- import { copyTree } from "./copy.js";
7
- import { hasBin } from "./hasBin.js";
8
- import { Package } from "./Package.js";
9
- //import { ToolTemplateInit } from "./ToolTemplateInit.js";
10
- import { WebTemplateInit } from "./WebTemplateInit.js";
11
- const { prompt } = enquirer;
12
- export async function init(dirName) {
13
- let initialPm = "npm";
14
- const currentPmPath = process.env.npm_execpath;
15
- if (!currentPmPath) {
16
- initialPm = await hasBin("pnpm") ? "pnpm" : "npm";
17
- }
18
- else if (currentPmPath.endsWith("pnpm")) {
19
- initialPm = "pnpm";
20
- }
21
- else if (currentPmPath.endsWith("yarn")) {
22
- initialPm = "yarn";
23
- }
24
- const pms = ["npm", "pnpm"];
25
- const answer = await prompt([{
26
- name: 'pm',
27
- type: 'select',
28
- message: "Which package manager to use?",
29
- initial: pms.indexOf(initialPm),
30
- choices: pms,
31
- }, {
32
- name: 'plugin_name',
33
- type: 'input',
34
- message: "Plugin name (use kebab case, e.g. my-plugin)",
35
- required: true,
36
- validate: (input) => /[a-zA-Z_](-[a-zA-Z_0-9]+)*/g.test(input),
37
- }, {
38
- name: 'plugin_version',
39
- type: 'input',
40
- message: "PLugin version",
41
- initial: '1.0.0',
42
- required: true,
43
- validate: (input) => /[\d]\.[\d].[\d](-[a-zA-Z0-9_]+)?/g.test(input),
44
- }, {
45
- name: 'plugin_description',
46
- type: 'input',
47
- required: false,
48
- message: "Package description",
49
- initial: '',
50
- },
51
- {
52
- name: "isolation",
53
- type: "select",
54
- message: "Isolation strategy",
55
- initial: 0,
56
- choices: [
57
- { message: "Shadow DOM", name: "shadow", hint: "Shadow DOM will be used to fully isolate the plugin." },
58
- { message: "CSS-only isolation", name: "css", hint: "Injects Tailwind utilities into host DOM; not fully isolated. Lighter but may generate conflicts" }
59
- ]
60
- }
61
- // {
62
- // name: 'template',
63
- // type: 'select',
64
- // message: "Template to use",
65
- // initial: 0,
66
- // choices: [
67
- // { message: 'Web plugin', name: 'web' },
68
- // { message: 'Agent tool', name: 'tool' },
69
- // ]
70
- // },
71
- ]);
72
- //const templateName = answer.template;
73
- const templateName = "web";
74
- //const templateInit = templateName === 'web' ? new WebTemplateInit(answer) : new ToolTemplateInit(answer);
75
- const templateInit = new WebTemplateInit(answer);
76
- const pluginName = templateInit.pluginName;
77
- let dir;
78
- if (!dirName) {
79
- dirName = pluginName.name;
80
- dir = join(process.cwd(), dirName);
81
- }
82
- else {
83
- dir = resolve(dirName);
84
- }
85
- mkdirSync(dir, { recursive: true });
86
- chdir(dir);
87
- const templateProps = {
88
- suffix: '.tmpl',
89
- context: templateInit.getVars()
90
- };
91
- // copy template to current directory and process template files
92
- const templateDir = resolve(fileURLToPath(import.meta.url), '../../templates');
93
- if (templateName === 'web') {
94
- await copyTree(join(templateDir, "web"), dir, templateProps);
95
- }
96
- else if (answer.template === 'tool') {
97
- await copyTree(join(templateDir, "tool"), dir, templateProps);
98
- }
99
- else {
100
- throw new Error("Invalid template type");
101
- }
102
- console.log("Generating package.json");
103
- const pkg = new Package(templateInit.getPackageJson());
104
- pkg.saveTo(`${dir}/package.json`);
105
- templateInit.installDeps();
106
- }
107
- //# sourceMappingURL=init.js.map
package/lib/init.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../src/init.ts"],"names":[],"mappings":"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"}
package/lib/main.d.ts DELETED
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=main.d.ts.map
package/lib/main.d.ts.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":""}
package/lib/main.js DELETED
@@ -1,8 +0,0 @@
1
- import { init } from "./init.js";
2
- async function main(argv) {
3
- await init(argv[2]);
4
- }
5
- main(process.argv).catch(err => {
6
- console.error("Error: ", err);
7
- });
8
- //# sourceMappingURL=main.js.map
package/lib/main.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,KAAK,UAAU,IAAI,CAAC,IAAc;IAC9B,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;AACvB,CAAC;AAED,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;IAC3B,OAAO,CAAC,KAAK,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;AAClC,CAAC,CAAC,CAAC"}
package/lib/template.d.ts DELETED
@@ -1,4 +0,0 @@
1
- export declare function expandVars(content: string, vars: Record<string, string>): string;
2
- export declare function processVarsInFile(file: string, vars: Record<string, string>): void;
3
- export declare function processAndRenameTemplateFile(file: string, vars: Record<string, string>): void;
4
- //# sourceMappingURL=template.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"template.d.ts","sourceRoot":"","sources":["../src/template.ts"],"names":[],"mappings":"AAKA,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,UAEvE;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,QAG3E;AAED,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,QAKtF"}
package/lib/template.js DELETED
@@ -1,16 +0,0 @@
1
- import { readFileSync, renameSync, writeFileSync } from "fs";
2
- const VAR_RX = /\$\{\s*([a-zA-Z_$][a-zA-Z_$0-9]*)\s*\}/g;
3
- export function expandVars(content, vars) {
4
- return content.replaceAll(VAR_RX, (m, p) => p in vars ? vars[p] : m);
5
- }
6
- export function processVarsInFile(file, vars) {
7
- const content = readFileSync(file, "utf8");
8
- writeFileSync(file, expandVars(content, vars), "utf8");
9
- }
10
- export function processAndRenameTemplateFile(file, vars) {
11
- processVarsInFile(file, vars);
12
- if (file.endsWith(".template")) {
13
- renameSync(file, file.slice(0, -".template".length));
14
- }
15
- }
16
- //# sourceMappingURL=template.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"template.js","sourceRoot":"","sources":["../src/template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,IAAI,CAAC;AAE7D,MAAM,MAAM,GAAG,yCAAyC,CAAC;AAGzD,MAAM,UAAU,UAAU,CAAC,OAAe,EAAE,IAA4B;IACpE,OAAO,OAAO,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAS,EAAE,CAAS,EAAE,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACzF,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,IAAY,EAAE,IAA4B;IACxE,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC3C,aAAa,CAAC,IAAI,EAAE,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC;AAC3D,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,IAAY,EAAE,IAA4B;IACnF,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC9B,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;QAC7B,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAA;IACxD,CAAC;AACL,CAAC"}
package/lib/utils.d.ts DELETED
@@ -1,2 +0,0 @@
1
- export declare function runCommand(cmd: string, args: string[]): void;
2
- //# sourceMappingURL=utils.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAEA,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAIrD"}
package/lib/utils.js DELETED
@@ -1,7 +0,0 @@
1
- import { spawnSync } from "node:child_process";
2
- export function runCommand(cmd, args) {
3
- spawnSync(cmd, args, {
4
- stdio: 'inherit'
5
- });
6
- }
7
- //# sourceMappingURL=utils.js.map
package/lib/utils.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAE/C,MAAM,UAAU,UAAU,CAAC,GAAW,EAAE,IAAc;IAClD,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE;QACjB,KAAK,EAAE,SAAS;KACnB,CAAC,CAAC;AACP,CAAC"}