@dxos/plugin-template 0.4.7-main.7a94090

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 (51) hide show
  1. package/.eslintrc.js +9 -0
  2. package/LICENSE +8 -0
  3. package/README.md +21 -0
  4. package/dist/package.json +41 -0
  5. package/dist/src/dev/main.tsx.t.d.ts +49 -0
  6. package/dist/src/dev/main.tsx.t.d.ts.map +1 -0
  7. package/dist/src/dev/main.tsx.t.js +82 -0
  8. package/dist/src/dev/main.tsx.t.js.map +1 -0
  9. package/dist/src/dev/translations.d.ts +21 -0
  10. package/dist/src/dev/translations.d.ts.map +1 -0
  11. package/dist/src/dev/translations.js +27 -0
  12. package/dist/src/dev/translations.js.map +1 -0
  13. package/dist/src/package.json.t.d.ts +54 -0
  14. package/dist/src/package.json.t.d.ts.map +1 -0
  15. package/dist/src/package.json.t.js +102 -0
  16. package/dist/src/package.json.t.js.map +1 -0
  17. package/dist/src/src/plugin.tsx.t.d.ts +49 -0
  18. package/dist/src/src/plugin.tsx.t.d.ts.map +1 -0
  19. package/dist/src/src/plugin.tsx.t.js +68 -0
  20. package/dist/src/src/plugin.tsx.t.js.map +1 -0
  21. package/dist/src/template.t.d.ts +16 -0
  22. package/dist/src/template.t.d.ts.map +1 -0
  23. package/dist/src/template.t.js +25 -0
  24. package/dist/src/template.t.js.map +1 -0
  25. package/dist/src/utils.t/packageJson.d.ts +6 -0
  26. package/dist/src/utils.t/packageJson.d.ts.map +1 -0
  27. package/dist/src/utils.t/packageJson.js +6 -0
  28. package/dist/src/utils.t/packageJson.js.map +1 -0
  29. package/dist/src/vite.config.ts.t.d.ts +49 -0
  30. package/dist/src/vite.config.ts.t.d.ts.map +1 -0
  31. package/dist/src/vite.config.ts.t.js +77 -0
  32. package/dist/src/vite.config.ts.t.js.map +1 -0
  33. package/dist/test/scenarios.d.ts +4 -0
  34. package/dist/test/scenarios.d.ts.map +1 -0
  35. package/dist/test/scenarios.js +19 -0
  36. package/dist/test/scenarios.js.map +1 -0
  37. package/dist/test/template.test.d.ts +2 -0
  38. package/dist/test/template.test.d.ts.map +1 -0
  39. package/dist/test/template.test.js +61 -0
  40. package/dist/test/template.test.js.map +1 -0
  41. package/package.json +41 -0
  42. package/project.json +25 -0
  43. package/src/package.json.t.ts +107 -0
  44. package/src/src/plugin.tsx.t.ts +63 -0
  45. package/src/template.t.ts +20 -0
  46. package/src/utils.t/packageJson.ts +7 -0
  47. package/src/vite.config.ts.t.ts +72 -0
  48. package/test/scenarios.ts +20 -0
  49. package/test/template.test.ts +40 -0
  50. package/tsconfig.json +34 -0
  51. package/tsconfig.plate.json +15 -0
package/.eslintrc.js ADDED
@@ -0,0 +1,9 @@
1
+ module.exports = {
2
+ "extends": [
3
+ "../../../../.eslintrc.js"
4
+ ],
5
+ "parserOptions": {
6
+ "project": "tsconfig.json",
7
+ "tsconfigRootDir": __dirname,
8
+ }
9
+ }
package/LICENSE ADDED
@@ -0,0 +1,8 @@
1
+ MIT License
2
+ Copyright (c) 2022 DXOS
3
+
4
+ Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
5
+
6
+ The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
7
+
8
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,21 @@
1
+ # @dxos/plugin-template
2
+
3
+ An template project for prototyping plugins for the DXOS app framework.
4
+
5
+ ## Installation
6
+
7
+ ```bash
8
+ pnpm i @dxos/plugin-template
9
+ ```
10
+
11
+ ## DXOS Resources
12
+
13
+ - [Website](https://dxos.org)
14
+ - [Developer Documentation](https://docs.dxos.org)
15
+ - Talk to us on [Discord](https://discord.gg/eXVfryv3sW)
16
+
17
+ ## Contributions
18
+
19
+ Your ideas, issues, and code are most welcome. Please take a look at our [community code of conduct](https://github.com/dxos/dxos/blob/main/CODE_OF_CONDUCT.md), the [issue guide](https://github.com/dxos/dxos/blob/main/CONTRIBUTING.md#submitting-issues), and the [PR contribution guide](https://github.com/dxos/dxos/blob/main/CONTRIBUTING.md#submitting-prs).
20
+
21
+ License: [MIT](./LICENSE) Copyright 2022 © DXOS
@@ -0,0 +1,41 @@
1
+ {
2
+ "name": "@dxos/plugin-template",
3
+ "version": "0.4.7-main.7a94090",
4
+ "description": "An template project for prototyping plugins for the DXOS app framework.",
5
+ "keywords": [
6
+ "dxos",
7
+ "plugin",
8
+ "template",
9
+ "composer",
10
+ "local-first",
11
+ "offline",
12
+ "multiplayer"
13
+ ],
14
+ "homepage": "https://dxos.org",
15
+ "bugs": "https://github.com/dxos/dxos/issues",
16
+ "license": "MIT",
17
+ "author": "info@dxos.org",
18
+ "main": "dist/src/template.t.js",
19
+ "types": "dist/src/template.t.d.ts",
20
+ "scripts": {
21
+ "build": "tsc",
22
+ "out": "plate ../bare-template/src --output=out --verbose"
23
+ },
24
+ "dependencies": {
25
+ "@dxos/plate": "workspace:*",
26
+ "lodash.merge": "^4.6.2",
27
+ "sanitize-filename": "1.6.3"
28
+ },
29
+ "devDependencies": {
30
+ "@dxos/app-framework": "workspace:*",
31
+ "@phosphor-icons/react": "^2.0.5",
32
+ "@types/lodash.merge": "^4.6.6",
33
+ "tmp-promise": "^3.0.3",
34
+ "ts-node": "10.9.1",
35
+ "types-package-json": "^2.0.39",
36
+ "typescript": "^5.2.2"
37
+ },
38
+ "publishConfig": {
39
+ "access": "public"
40
+ }
41
+ }
@@ -0,0 +1,49 @@
1
+ declare const _default: {
2
+ (options: import("@dxos/plate").Options<{
3
+ name: string;
4
+ createFolder: boolean;
5
+ defaultPlugins: boolean;
6
+ }, import("@dxos/plate").SlotsWithContext<{
7
+ name: string;
8
+ createFolder: boolean;
9
+ defaultPlugins: boolean;
10
+ }, {}, Required<Omit<import("@dxos/plate").Options<{
11
+ name: string;
12
+ createFolder: boolean;
13
+ defaultPlugins: boolean;
14
+ }, {}>, "slots" | "input">> & {
15
+ input: {
16
+ name: string;
17
+ createFolder: boolean;
18
+ defaultPlugins: boolean;
19
+ };
20
+ outputFile: string;
21
+ slots: import("@dxos/plate").SlotProducers<{}>;
22
+ inherited: import("@dxos/plate").FileResults<{
23
+ name: string;
24
+ createFolder: boolean;
25
+ defaultPlugins: boolean;
26
+ }, import("@dxos/plate").FileSlots<{
27
+ name: string;
28
+ createFolder: boolean;
29
+ defaultPlugins: boolean;
30
+ }>> | undefined;
31
+ } & {
32
+ imports: {
33
+ (): (relativeTo?: (string | string[]) | undefined) => string;
34
+ use: {
35
+ (name: string, from: string | string[], o?: {
36
+ aliasOf?: string | undefined;
37
+ isDefault?: boolean | undefined;
38
+ } | undefined): () => string;
39
+ (names: string[], from: string | string[], o?: {
40
+ aliasOf?: string | undefined;
41
+ isDefault?: boolean | undefined;
42
+ } | undefined): Record<string, () => string>;
43
+ };
44
+ };
45
+ }>>): Promise<import("@dxos/plate").FileResults<any, import("@dxos/plate").FileSlots<any>>>;
46
+ slots: {};
47
+ };
48
+ export default _default;
49
+ //# sourceMappingURL=main.tsx.t.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"main.tsx.t.d.ts","sourceRoot":"","sources":["../../../src/dev/main.tsx.t.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA,wBAyEG"}
@@ -0,0 +1,82 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const template_t_1 = __importDefault(require("../template.t"));
7
+ const plate_1 = require("@dxos/plate");
8
+ exports.default = template_t_1.default.define.script({
9
+ content: ({ input: { defaultPlugins } }) => (0, plate_1.plate /* javascript */) `
10
+ import "@dxosTheme";
11
+
12
+ import React from "react";
13
+ import { Status, ThemeProvider, Tooltip } from "@dxos/react-ui";
14
+ import { defaultTx } from "@dxos/react-ui-theme";
15
+ import { createApp, Plugin } from "@dxos/app-framework";
16
+ import { createRoot } from "react-dom/client";
17
+ import translations from "./translations";
18
+
19
+ import ThemeMeta from "@braneframe/plugin-theme/meta";
20
+ ${defaultPlugins && (0, plate_1.plate /* javascript */) `
21
+ import ClientMeta from "@braneframe/plugin-client/meta";
22
+ import GraphMeta from "@braneframe/plugin-graph/meta";
23
+ import LayoutMeta from "@braneframe/plugin-layout/meta";
24
+ import NavTreeMeta from "@braneframe/plugin-navtree/meta";
25
+ import SpaceMeta from "@braneframe/plugin-space/meta";
26
+ import StackMeta from "@braneframe/plugin-stack/meta";
27
+ `}
28
+
29
+ import { meta } from "../src/plugin";
30
+
31
+ const App = createApp({
32
+ fallback: ({ error }) => (
33
+ <ThemeProvider tx={defaultTx} resourceExtensions={translations}>
34
+ <Tooltip.Provider>
35
+ <div className="flex bs-[100dvh] justify-center items-center p-6 text-red-500">
36
+ {error.message}
37
+ </div>
38
+ </Tooltip.Provider>
39
+ </ThemeProvider>
40
+ ),
41
+ placeholder: (
42
+ <ThemeProvider tx={defaultTx}>
43
+ <div className="flex bs-[100dvh] justify-center items-center">
44
+ <Status indeterminate aria-label="Initializing" placeholder="" />
45
+ </div>
46
+ </ThemeProvider>
47
+ ),
48
+ plugins: {
49
+ [ThemeMeta.id]: Plugin.lazy(() => import("@braneframe/plugin-theme"), {
50
+ appName: "Composer",
51
+ }),
52
+ ${defaultPlugins && (0, plate_1.plate /* javascript */) `
53
+ [GraphMeta.id]: Plugin.lazy(() => import("@braneframe/plugin-graph")),
54
+ [LayoutMeta.id]: Plugin.lazy(() => import("@braneframe/plugin-layout")),
55
+ [NavTreeMeta.id]: Plugin.lazy(() => import("@braneframe/plugin-navTree")),
56
+ [ClientMeta.id]: Plugin.lazy(() => import("@braneframe/plugin-client"), {
57
+ appKey: "composer.local",
58
+ }),
59
+ [SpaceMeta.id]: Plugin.lazy(() => import("@braneframe/plugin-space")),
60
+ [StackMeta.id]: Plugin.lazy(() => import("@braneframe/plugin-stack")),
61
+ `}
62
+ [meta.id]: Plugin.lazy(() => import("../src/plugin")),
63
+ },
64
+ order: [
65
+ // Outside of error boundary so error dialog is styled.
66
+ ThemeMeta,
67
+ ${defaultPlugins && (0, plate_1.plate /* javascript */) `
68
+ LayoutMeta,
69
+ NavTreeMeta,
70
+ ClientMeta,
71
+ SpaceMeta,
72
+ GraphMeta,
73
+ StackMeta,
74
+ `}
75
+ meta,
76
+ ],
77
+ });
78
+
79
+ createRoot(document.getElementById("root")!).render(<App />);
80
+ `
81
+ });
82
+ //# sourceMappingURL=main.tsx.t.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"main.tsx.t.js","sourceRoot":"","sources":["../../../src/dev/main.tsx.t.ts"],"names":[],"mappings":";;;;;AAAA,+DAAqC;AACrC,uCAAoC;AAEpC,kBAAe,oBAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;IACpC,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,cAAc,EAAE,EAAE,EAAE,EAAE,CAAC,IAAA,aAAK,CAAA,gBAAgB,EAAA;;;;;;;;;;;MAW7D,cAAc,IAAI,IAAA,aAAK,CAAA,gBAAgB,EAAA;;;;;;;KAOxC;;;;;;;;;;;;;;;;;;;;;;;;;UAyBK,cAAc,IAAI,IAAA,aAAK,CAAA,gBAAgB,EAAA;;;;;;;;;SASxC;;;;;;UAMC,cAAc,IAAI,IAAA,aAAK,CAAA,gBAAgB,EAAA;;;;;;;SAOxC;;;;;;GAMN;CACF,CAAC,CAAC"}
@@ -0,0 +1,21 @@
1
+ declare const _default: {
2
+ 'en-US': {
3
+ composer: {
4
+ 'show stack label': string;
5
+ 'fatal error title': string;
6
+ 'fatal error message': string;
7
+ 'reset dialog label': string;
8
+ 'reset dialog message': string;
9
+ 'caught error message': string;
10
+ 'copy error label': string;
11
+ 'reload page label': string;
12
+ 'update and reload page label': string;
13
+ 'reset client label': string;
14
+ 'reset client confirm label': string;
15
+ 'INVALID_STORAGE_VERSION title': string;
16
+ 'INVALID_STORAGE_VERSION message': string;
17
+ };
18
+ };
19
+ }[];
20
+ export default _default;
21
+ //# sourceMappingURL=translations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"translations.d.ts","sourceRoot":"","sources":["../../../src/dev/translations.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;AAIA,wBAuBE"}
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ //
3
+ // Copyright 2024 DXOS.org
4
+ //
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.default = [
7
+ {
8
+ 'en-US': {
9
+ composer: {
10
+ 'show stack label': 'View stack trace',
11
+ 'fatal error title': 'The app encountered an error',
12
+ 'fatal error message': 'Please refresh the page to continue. If you keep seeing this error, please create a GitHub issue or ask for help on Discord.',
13
+ 'reset dialog label': 'Reload or reset',
14
+ 'reset dialog message': 'If you’re encountering issues, reloading may fix the issue. If reloading doesn’t help, consider resetting the app.',
15
+ 'caught error message': 'Something went wrong; check the console for details.',
16
+ 'copy error label': 'Copy this error',
17
+ 'reload page label': 'Reload',
18
+ 'update and reload page label': 'Update',
19
+ 'reset client label': 'Reset',
20
+ 'reset client confirm label': 'Confirm to wipe ALL DATA from local database',
21
+ 'INVALID_STORAGE_VERSION title': 'Invalid storage version',
22
+ 'INVALID_STORAGE_VERSION message': 'The application is not compatible with the current storage version. The data must be migrated to the new protocol in order to be used with this application. The current version is {{actual}} and the expected version is {{expected}}.',
23
+ },
24
+ },
25
+ },
26
+ ];
27
+ //# sourceMappingURL=translations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"translations.js","sourceRoot":"","sources":["../../../src/dev/translations.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;AAEF,kBAAe;IACb;QACE,OAAO,EAAE;YACP,QAAQ,EAAE;gBACR,kBAAkB,EAAE,kBAAkB;gBACtC,mBAAmB,EAAE,8BAA8B;gBACnD,qBAAqB,EACnB,8HAA8H;gBAChI,oBAAoB,EAAE,iBAAiB;gBACvC,sBAAsB,EACpB,oHAAoH;gBACtH,sBAAsB,EAAE,sDAAsD;gBAC9E,kBAAkB,EAAE,iBAAiB;gBACrC,mBAAmB,EAAE,QAAQ;gBAC7B,8BAA8B,EAAE,QAAQ;gBACxC,oBAAoB,EAAE,OAAO;gBAC7B,4BAA4B,EAAE,8CAA8C;gBAC5E,+BAA+B,EAAE,yBAAyB;gBAC1D,iCAAiC,EAC/B,0OAA0O;aAC7O;SACF;KACF;CACF,CAAC"}
@@ -0,0 +1,54 @@
1
+ import { InputOf, Slot } from '@dxos/plate';
2
+ import { PackageJson } from './utils.t/packageJson';
3
+ import template from './template.t';
4
+ type Context = {
5
+ version: string;
6
+ } & InputOf<typeof template>;
7
+ export declare namespace Features {
8
+ const react: () => Partial<PackageJson>;
9
+ const dxosUi: () => Partial<PackageJson>;
10
+ const defaultPlugins: () => Partial<PackageJson>;
11
+ }
12
+ export declare const base: ({ name, version }: Context) => Partial<PackageJson>;
13
+ declare const _default: {
14
+ (options: import("@dxos/plate").Options<{
15
+ name: string;
16
+ createFolder: boolean;
17
+ defaultPlugins: boolean;
18
+ }, import("@dxos/plate").SlotsWithContext<{
19
+ name: string;
20
+ createFolder: boolean;
21
+ defaultPlugins: boolean;
22
+ }, {
23
+ packageJson?: Slot<Partial<PackageJson>, {
24
+ name: string;
25
+ createFolder: boolean;
26
+ defaultPlugins: boolean;
27
+ }, {
28
+ depVersion?: string | undefined;
29
+ }> | undefined;
30
+ }, import("@dxos/plate").Context<{
31
+ name: string;
32
+ createFolder: boolean;
33
+ defaultPlugins: boolean;
34
+ }, {
35
+ packageJson?: Slot<Partial<PackageJson>, {
36
+ name: string;
37
+ createFolder: boolean;
38
+ defaultPlugins: boolean;
39
+ }, {
40
+ depVersion?: string | undefined;
41
+ }> | undefined;
42
+ }>>>): Promise<import("@dxos/plate").FileResults<any, import("@dxos/plate").FileSlots<any>>>;
43
+ slots: {
44
+ packageJson?: Slot<Partial<PackageJson>, {
45
+ name: string;
46
+ createFolder: boolean;
47
+ defaultPlugins: boolean;
48
+ }, {
49
+ depVersion?: string | undefined;
50
+ }> | undefined;
51
+ };
52
+ };
53
+ export default _default;
54
+ //# sourceMappingURL=package.json.t.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"package.json.t.d.ts","sourceRoot":"","sources":["../../src/package.json.t.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAIpD,OAAO,QAAQ,MAAM,cAAc,CAAC;AAEpC,KAAK,OAAO,GAAG;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,OAAO,QAAQ,CAAC,CAAC;AAE9D,yBAAiB,QAAQ,CAAC;IACjB,MAAM,KAAK,QAAO,QAAQ,WAAW,CAU1C,CAAC;IAEI,MAAM,MAAM,QAAO,QAAQ,WAAW,CAQ3C,CAAC;IAEI,MAAM,cAAc,QAAO,QAAQ,WAAW,CAYnD,CAAC;CACJ;AAED,eAAO,MAAM,IAAI,sBAAuB,OAAO,KAAG,QAAQ,WAAW,CAuBpE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOF,wBAwBK"}
@@ -0,0 +1,102 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.base = exports.Features = void 0;
7
+ //
8
+ // Copyright 2022 DXOS.org
9
+ //
10
+ const path_1 = __importDefault(require("path"));
11
+ const fs_1 = require("fs");
12
+ const lodash_merge_1 = __importDefault(require("lodash.merge"));
13
+ const template_t_1 = __importDefault(require("./template.t"));
14
+ var Features;
15
+ (function (Features) {
16
+ Features.react = () => ({
17
+ dependencies: {
18
+ react: '^18.2.0',
19
+ 'react-dom': '^18.2.0',
20
+ },
21
+ devDependencies: {
22
+ '@types/react': '~18.2.0',
23
+ '@types/react-dom': '~18.2.0',
24
+ '@vitejs/plugin-react': '^4.2.1',
25
+ },
26
+ });
27
+ Features.dxosUi = () => ({
28
+ dependencies: {
29
+ '@phosphor-icons/react': '^2.0.5',
30
+ },
31
+ devDependencies: {
32
+ '@dxos/react-ui': '^0.4.6',
33
+ '@dxos/react-ui-theme': '^0.4.6',
34
+ },
35
+ });
36
+ Features.defaultPlugins = () => ({
37
+ devDependencies: {
38
+ 'vite-plugin-top-level-await': '^1.3.1',
39
+ 'vite-plugin-wasm': '^3.3.0',
40
+ '@dxos/config': '^0.4.6',
41
+ '@braneframe/plugin-space': '^0.4.6',
42
+ '@braneframe/plugin-navtree': '^0.4.6',
43
+ '@braneframe/plugin-layout': '^0.4.6',
44
+ '@braneframe/plugin-graph': '^0.4.6',
45
+ '@braneframe/plugin-client': '^0.4.6',
46
+ '@braneframe/plugin-stack': '^0.4.6',
47
+ },
48
+ });
49
+ })(Features || (exports.Features = Features = {}));
50
+ const base = ({ name, version }) => {
51
+ return {
52
+ name,
53
+ version: version,
54
+ description: `${name} - a composer plugin`,
55
+ private: true,
56
+ main: 'dist/index.js',
57
+ types: 'dist/index.d.ts',
58
+ scripts: {
59
+ build: 'tsc',
60
+ dev: 'vite',
61
+ },
62
+ dependencies: {
63
+ '@preact/signals-react': '^1.3.6',
64
+ "@dxos/app-framework": "0.4.6",
65
+ },
66
+ devDependencies: {
67
+ '@types/node': '^18.11.9',
68
+ typescript: '^5.0.4',
69
+ vite: '^5.1.3',
70
+ '@braneframe/plugin-theme': '^0.4.6',
71
+ },
72
+ };
73
+ };
74
+ exports.base = base;
75
+ const loadJson = async (moduleRelativePath) => {
76
+ const content = await fs_1.promises.readFile(path_1.default.resolve(__dirname, moduleRelativePath));
77
+ return JSON.parse(content.toString());
78
+ };
79
+ exports.default = template_t_1.default.define
80
+ .slots({
81
+ packageJson: {},
82
+ })
83
+ .text({
84
+ content: async ({ input, slots: { packageJson: slotPackageJson } }) => {
85
+ var _a;
86
+ const context = {
87
+ version: '0.0.1',
88
+ ...input,
89
+ };
90
+ const [first, ...rest] = [
91
+ (0, exports.base)(context),
92
+ Features.react(),
93
+ Features.dxosUi(),
94
+ input.defaultPlugins && Features.defaultPlugins(),
95
+ (_a = slotPackageJson === null || slotPackageJson === void 0 ? void 0 : slotPackageJson()) !== null && _a !== void 0 ? _a : {},
96
+ ].filter(Boolean);
97
+ const packageJson = (0, lodash_merge_1.default)(first, ...rest);
98
+ const result = JSON.stringify(packageJson, null, 2);
99
+ return result;
100
+ },
101
+ });
102
+ //# sourceMappingURL=package.json.t.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"package.json.t.js","sourceRoot":"","sources":["../../src/package.json.t.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,49 @@
1
+ declare const _default: {
2
+ (options: import("@dxos/plate").Options<{
3
+ name: string;
4
+ createFolder: boolean;
5
+ defaultPlugins: boolean;
6
+ }, import("@dxos/plate").SlotsWithContext<{
7
+ name: string;
8
+ createFolder: boolean;
9
+ defaultPlugins: boolean;
10
+ }, {}, Required<Omit<import("@dxos/plate").Options<{
11
+ name: string;
12
+ createFolder: boolean;
13
+ defaultPlugins: boolean;
14
+ }, {}>, "slots" | "input">> & {
15
+ input: {
16
+ name: string;
17
+ createFolder: boolean;
18
+ defaultPlugins: boolean;
19
+ };
20
+ outputFile: string;
21
+ slots: import("@dxos/plate").SlotProducers<{}>;
22
+ inherited: import("@dxos/plate").FileResults<{
23
+ name: string;
24
+ createFolder: boolean;
25
+ defaultPlugins: boolean;
26
+ }, import("@dxos/plate").FileSlots<{
27
+ name: string;
28
+ createFolder: boolean;
29
+ defaultPlugins: boolean;
30
+ }>> | undefined;
31
+ } & {
32
+ imports: {
33
+ (): (relativeTo?: (string | string[]) | undefined) => string;
34
+ use: {
35
+ (name: string, from: string | string[], o?: {
36
+ aliasOf?: string | undefined;
37
+ isDefault?: boolean | undefined;
38
+ } | undefined): () => string;
39
+ (names: string[], from: string | string[], o?: {
40
+ aliasOf?: string | undefined;
41
+ isDefault?: boolean | undefined;
42
+ } | undefined): Record<string, () => string>;
43
+ };
44
+ };
45
+ }>>): Promise<import("@dxos/plate").FileResults<any, import("@dxos/plate").FileSlots<any>>>;
46
+ slots: {};
47
+ };
48
+ export default _default;
49
+ //# sourceMappingURL=plugin.tsx.t.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin.tsx.t.d.ts","sourceRoot":"","sources":["../../../src/src/plugin.tsx.t.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA,wBA2DE"}
@@ -0,0 +1,68 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const plate_1 = require("@dxos/plate");
7
+ const template_t_1 = __importDefault(require("../template.t"));
8
+ exports.default = template_t_1.default.define.script({
9
+ content: ({ input: { name }, imports }) => (0, plate_1.plate /* javascript */) `
10
+ ${imports}
11
+ import React from 'react';
12
+ import { Asterisk } from '@phosphor-icons/react';
13
+
14
+ import {
15
+ PluginDefinition,
16
+ type SurfaceProvides,
17
+ type GraphBuilderProvides,
18
+ type IntentResolverProvides,
19
+ type TranslationsProvides,
20
+ pluginMeta,
21
+ } from '@dxos/app-framework';
22
+
23
+ export const PLUGIN_ID = '${name}';
24
+
25
+ export const meta = pluginMeta({
26
+ id: PLUGIN_ID,
27
+ name: "",
28
+ iconComponent: Asterisk,
29
+ });
30
+
31
+ export type TemplatePluginProvides = SurfaceProvides &
32
+ IntentResolverProvides &
33
+ GraphBuilderProvides &
34
+ TranslationsProvides & {};
35
+
36
+ /**
37
+ * See https://docs.dxos.org/composer/plugins/definition
38
+ */
39
+ const plugin = (): PluginDefinition<TemplatePluginProvides> => {
40
+ return {
41
+ meta,
42
+ provides: {
43
+ root: () => null,
44
+ surface: {
45
+ component: ({ data, role }) => null,
46
+ },
47
+ intent: {
48
+ resolver: (intent) => {},
49
+ },
50
+ graph: {
51
+ builder: ({ parent, plugins }) => {},
52
+ },
53
+ translations: [
54
+ {
55
+ 'en-US': {
56
+ [PLUGIN_ID]: {
57
+ 'plugin name': 'Template',
58
+ },
59
+ },
60
+ },
61
+ ],
62
+ },
63
+ };
64
+ };
65
+ export default plugin;
66
+ `
67
+ });
68
+ //# sourceMappingURL=plugin.tsx.t.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin.tsx.t.js","sourceRoot":"","sources":["../../../src/src/plugin.tsx.t.ts"],"names":[],"mappings":";;;;;AAAA,uCAAoC;AACpC,+DAAqC;AAErC,kBAAe,oBAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;IACpC,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,IAAA,aAAK,CAAA,gBAAgB,EAAA;MAC5D,OAAO;;;;;;;;;;;;;gCAamB,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CjC;CACF,CAAC,CAAA"}
@@ -0,0 +1,16 @@
1
+ import { z } from '@dxos/plate';
2
+ declare const _default: import("@dxos/plate").InteractiveDirectoryTemplate<z.ZodObject<{
3
+ name: z.ZodDefault<z.ZodString>;
4
+ createFolder: z.ZodDefault<z.ZodBoolean>;
5
+ defaultPlugins: z.ZodDefault<z.ZodBoolean>;
6
+ }, "strip", z.ZodTypeAny, {
7
+ name: string;
8
+ createFolder: boolean;
9
+ defaultPlugins: boolean;
10
+ }, {
11
+ name?: string | undefined;
12
+ createFolder?: boolean | undefined;
13
+ defaultPlugins?: boolean | undefined;
14
+ }>>;
15
+ export default _default;
16
+ //# sourceMappingURL=template.t.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"template.t.d.ts","sourceRoot":"","sources":["../../src/template.t.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAwB,MAAM,aAAa,CAAC;;;;;;;;;;;;;;AAItD,wBAeG"}
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const plate_1 = require("@dxos/plate");
7
+ const sanitize_filename_1 = __importDefault(require("sanitize-filename"));
8
+ const path_1 = __importDefault(require("path"));
9
+ exports.default = (0, plate_1.interactiveDirectory)({
10
+ src: __filename.endsWith('.ts') ? __dirname : path_1.default.resolve(__dirname, '../../src'),
11
+ inputShape: plate_1.z.object({
12
+ name: plate_1.z.string().describe('Name the new package').default(path_1.default.basename(process.cwd())),
13
+ createFolder: plate_1.z.boolean().describe('Create a new folder for the project').default(true),
14
+ defaultPlugins: plate_1.z.boolean().describe('Include default plugins').default(true),
15
+ }),
16
+ options({ input, outputDirectory, ...rest }) {
17
+ const { name, createFolder } = { ...input };
18
+ return {
19
+ input,
20
+ outputDirectory: createFolder ? path_1.default.resolve(outputDirectory, (0, sanitize_filename_1.default)(name !== null && name !== void 0 ? name : '')) : outputDirectory,
21
+ ...rest,
22
+ };
23
+ },
24
+ });
25
+ //# sourceMappingURL=template.t.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"template.t.js","sourceRoot":"","sources":["../../src/template.t.ts"],"names":[],"mappings":";;;;;AAAA,uCAAsD;AACtD,0EAAyC;AACzC,gDAAwB;AAExB,kBAAe,IAAA,4BAAoB,EAAC;IAClC,GAAG,EAAE,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,cAAI,CAAC,OAAO,CAAC,SAAS,EAAE,WAAW,CAAC;IAClF,UAAU,EAAE,SAAC,CAAC,MAAM,CAAC;QACnB,IAAI,EAAE,SAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC,OAAO,CAAC,cAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QACvF,YAAY,EAAE,SAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,qCAAqC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;QACvF,cAAc,EAAE,SAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;KAC9E,CAAC;IACF,OAAO,CAAC,EAAE,KAAK,EAAE,eAAe,EAAE,GAAG,IAAI,EAAE;QACzC,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,EAAC,GAAG,KAAK,EAAC,CAAC;QAC1C,OAAO;YACL,KAAK;YACL,eAAe,EAAE,YAAY,CAAC,CAAC,CAAC,cAAI,CAAC,OAAO,CAAC,eAAe,EAAE,IAAA,2BAAQ,EAAC,IAAI,aAAJ,IAAI,cAAJ,IAAI,GAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe;YACrG,GAAG,IAAI;SACR,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { type PackageJson as _PackageJson } from 'types-package-json';
2
+ export type PackageJson = _PackageJson & {
3
+ private: boolean;
4
+ types: string;
5
+ };
6
+ //# sourceMappingURL=packageJson.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"packageJson.d.ts","sourceRoot":"","sources":["../../../src/utils.t/packageJson.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,WAAW,IAAI,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEtE,MAAM,MAAM,WAAW,GAAG,YAAY,GAAG;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC"}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ //
3
+ // Copyright 2023 DXOS.org
4
+ //
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ //# sourceMappingURL=packageJson.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"packageJson.js","sourceRoot":"","sources":["../../../src/utils.t/packageJson.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE"}