@dxos/plugin-template 0.4.7-main.4d8eb56
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/.eslintrc.js +9 -0
- package/LICENSE +8 -0
- package/README.md +21 -0
- package/dist/package.json +43 -0
- package/dist/src/README.md.t.d.ts +18 -0
- package/dist/src/README.md.t.d.ts.map +1 -0
- package/dist/src/README.md.t.js +27 -0
- package/dist/src/README.md.t.js.map +1 -0
- package/dist/src/dev/config.ts.t.d.ts +49 -0
- package/dist/src/dev/config.ts.t.d.ts.map +1 -0
- package/dist/src/dev/config.ts.t.js +16 -0
- package/dist/src/dev/config.ts.t.js.map +1 -0
- package/dist/src/dev/main.tsx.t.d.ts +49 -0
- package/dist/src/dev/main.tsx.t.d.ts.map +1 -0
- package/dist/src/dev/main.tsx.t.js +108 -0
- package/dist/src/dev/main.tsx.t.js.map +1 -0
- package/dist/src/dev/shell.html.t.d.ts +18 -0
- package/dist/src/dev/shell.html.t.d.ts.map +1 -0
- package/dist/src/dev/shell.html.t.js +49 -0
- package/dist/src/dev/shell.html.t.js.map +1 -0
- package/dist/src/dev/shell.ts.t.d.ts +49 -0
- package/dist/src/dev/shell.ts.t.d.ts.map +1 -0
- package/dist/src/dev/shell.ts.t.js +18 -0
- package/dist/src/dev/shell.ts.t.js.map +1 -0
- package/dist/src/dev/translations.d.ts +21 -0
- package/dist/src/dev/translations.d.ts.map +1 -0
- package/dist/src/dev/translations.js +27 -0
- package/dist/src/dev/translations.js.map +1 -0
- package/dist/src/package.json.t.d.ts +55 -0
- package/dist/src/package.json.t.d.ts.map +1 -0
- package/dist/src/package.json.t.js +99 -0
- package/dist/src/package.json.t.js.map +1 -0
- package/dist/src/src/index.ts.t.d.ts +18 -0
- package/dist/src/src/index.ts.t.d.ts.map +1 -0
- package/dist/src/src/index.ts.t.js +11 -0
- package/dist/src/src/index.ts.t.js.map +1 -0
- package/dist/src/src/plugin.tsx.t.d.ts +49 -0
- package/dist/src/src/plugin.tsx.t.d.ts.map +1 -0
- package/dist/src/src/plugin.tsx.t.js +68 -0
- package/dist/src/src/plugin.tsx.t.js.map +1 -0
- package/dist/src/template.t.d.ts +16 -0
- package/dist/src/template.t.d.ts.map +1 -0
- package/dist/src/template.t.js +45 -0
- package/dist/src/template.t.js.map +1 -0
- package/dist/src/utils.t/packageJson.d.ts +6 -0
- package/dist/src/utils.t/packageJson.d.ts.map +1 -0
- package/dist/src/utils.t/packageJson.js +6 -0
- package/dist/src/utils.t/packageJson.js.map +1 -0
- package/dist/src/vite.config.ts.t.d.ts +49 -0
- package/dist/src/vite.config.ts.t.d.ts.map +1 -0
- package/dist/src/vite.config.ts.t.js +77 -0
- package/dist/src/vite.config.ts.t.js.map +1 -0
- package/dist/test/scenarios.d.ts +4 -0
- package/dist/test/scenarios.d.ts.map +1 -0
- package/dist/test/scenarios.js +19 -0
- package/dist/test/scenarios.js.map +1 -0
- package/dist/test/template.test.d.ts +2 -0
- package/dist/test/template.test.d.ts.map +1 -0
- package/dist/test/template.test.js +61 -0
- package/dist/test/template.test.js.map +1 -0
- package/package.json +43 -0
- package/project.json +25 -0
- package/src/README.md.t.ts +22 -0
- package/src/package.json.t.ts +107 -0
- package/src/src/index.ts.t.ts +7 -0
- package/src/src/plugin.tsx.t.ts +63 -0
- package/src/template.t.ts +40 -0
- package/src/tsconfig.json +17 -0
- package/src/utils.t/packageJson.ts +7 -0
- package/src/vite.config.ts.t.ts +72 -0
- package/test/scenarios.ts +20 -0
- package/test/template.test.ts +40 -0
- package/tsconfig.json +40 -0
- package/tsconfig.plate.json +15 -0
package/project.json
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "../../../../node_modules/nx/schemas/project-schema.json",
|
|
3
|
+
"name": "plugin-template",
|
|
4
|
+
"sourceRoot": "packages/apps/templates/plugin-template/src",
|
|
5
|
+
"projectType": "library",
|
|
6
|
+
"targets": {
|
|
7
|
+
"build": {
|
|
8
|
+
"options": {
|
|
9
|
+
"main": "packages/apps/templates/plugin-template/src/config.t.ts",
|
|
10
|
+
"outputPath": "packages/apps/templates/plugin-template/dist",
|
|
11
|
+
"tsConfig": "packages/apps/templates/plugin-template/tsconfig.json"
|
|
12
|
+
}
|
|
13
|
+
},
|
|
14
|
+
"lint": {},
|
|
15
|
+
"test": {
|
|
16
|
+
"options": {
|
|
17
|
+
"checkLeaks": false,
|
|
18
|
+
"ciEnvironments": [
|
|
19
|
+
"nodejs"
|
|
20
|
+
],
|
|
21
|
+
"forceExit": true
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { plate } from '@dxos/plate';
|
|
2
|
+
import template from './template.t';
|
|
3
|
+
|
|
4
|
+
export default template.define.text({
|
|
5
|
+
content: ({ input: { name } }) => plate`
|
|
6
|
+
# ${name}
|
|
7
|
+
|
|
8
|
+
This app was created with a DXOS application template.
|
|
9
|
+
|
|
10
|
+
Run the app with \`npm\`:
|
|
11
|
+
\`\`\`bash
|
|
12
|
+
npm install
|
|
13
|
+
npm run dev
|
|
14
|
+
\`\`\`
|
|
15
|
+
|
|
16
|
+
> Warning: pnpm is not supported for now, please use npm. (issue locating css in node_modules).
|
|
17
|
+
|
|
18
|
+
- [📚 Composer Documentation](https://docs.dxos.org/composer/)
|
|
19
|
+
- [📚 Using ECHO with React](https://docs.dxos.org/guide/react)
|
|
20
|
+
- [📚 DXOS Documentation](https://docs.dxos.org)
|
|
21
|
+
`
|
|
22
|
+
});
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
//
|
|
2
|
+
// Copyright 2022 DXOS.org
|
|
3
|
+
//
|
|
4
|
+
import path from 'path';
|
|
5
|
+
import { promises as fs } from 'fs';
|
|
6
|
+
import { InputOf, Slot } from '@dxos/plate';
|
|
7
|
+
import { PackageJson } from './utils.t/packageJson';
|
|
8
|
+
import ownPackageJson from '../package.json';
|
|
9
|
+
import merge from 'lodash.merge';
|
|
10
|
+
|
|
11
|
+
import template from './template.t';
|
|
12
|
+
|
|
13
|
+
type Context = { version: string; frameworkVersion: string } & InputOf<typeof template>;
|
|
14
|
+
|
|
15
|
+
export namespace Features {
|
|
16
|
+
export const react = (): Partial<PackageJson> => ({
|
|
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
|
+
|
|
28
|
+
export const dxosUi = ({ frameworkVersion }: Context): Partial<PackageJson> => ({
|
|
29
|
+
dependencies: {
|
|
30
|
+
'@phosphor-icons/react': '^2.0.5',
|
|
31
|
+
},
|
|
32
|
+
devDependencies: {
|
|
33
|
+
'@dxos/react-ui': '^' + frameworkVersion,
|
|
34
|
+
'@dxos/react-ui-theme': '^' + frameworkVersion,
|
|
35
|
+
},
|
|
36
|
+
});
|
|
37
|
+
|
|
38
|
+
export const defaultPlugins = ({ frameworkVersion }: Context): Partial<PackageJson> => ({
|
|
39
|
+
devDependencies: {
|
|
40
|
+
'vite-plugin-wasm': '^3.3.0',
|
|
41
|
+
'vite-plugin-top-level-await': '^1.3.1',
|
|
42
|
+
'@dxos/react-client': '^' + frameworkVersion,
|
|
43
|
+
'@dxos/config': '^' + frameworkVersion,
|
|
44
|
+
'@dxos/shell': '^' + frameworkVersion,
|
|
45
|
+
'@braneframe/plugin-space': '^' + frameworkVersion,
|
|
46
|
+
'@braneframe/plugin-navtree': '^' + frameworkVersion,
|
|
47
|
+
'@braneframe/plugin-layout': '^' + frameworkVersion,
|
|
48
|
+
'@braneframe/plugin-graph': '^' + frameworkVersion,
|
|
49
|
+
'@braneframe/plugin-client': '^' + frameworkVersion,
|
|
50
|
+
'@braneframe/plugin-stack': '^' + frameworkVersion,
|
|
51
|
+
'@braneframe/plugin-metadata': '^' + frameworkVersion,
|
|
52
|
+
'@braneframe/plugin-settings': '^' + frameworkVersion,
|
|
53
|
+
},
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
export const base = ({ name, version, frameworkVersion }: Context): Partial<PackageJson> => {
|
|
58
|
+
return {
|
|
59
|
+
name,
|
|
60
|
+
version: version,
|
|
61
|
+
description: `${name} - a composer plugin`,
|
|
62
|
+
private: true,
|
|
63
|
+
main: 'dist/index.js',
|
|
64
|
+
types: 'dist/index.d.ts',
|
|
65
|
+
scripts: {
|
|
66
|
+
build: 'tsc',
|
|
67
|
+
dev: 'vite',
|
|
68
|
+
},
|
|
69
|
+
dependencies: {
|
|
70
|
+
'@preact/signals-react': '^1.3.6',
|
|
71
|
+
'@dxos/app-framework': `^${frameworkVersion}`,
|
|
72
|
+
},
|
|
73
|
+
devDependencies: {
|
|
74
|
+
'@types/node': '^18.11.9',
|
|
75
|
+
vite: '^5.1.3',
|
|
76
|
+
typescript: '^5.0.4',
|
|
77
|
+
'@braneframe/plugin-theme': `^${frameworkVersion}`,
|
|
78
|
+
},
|
|
79
|
+
};
|
|
80
|
+
};
|
|
81
|
+
|
|
82
|
+
export default template.define
|
|
83
|
+
.slots<{ packageJson?: Slot<Partial<PackageJson>, InputOf<typeof template>, { depVersion?: string }> }>({
|
|
84
|
+
packageJson: {},
|
|
85
|
+
})
|
|
86
|
+
.text({
|
|
87
|
+
content: async ({ input, slots: { packageJson: slotPackageJson } }) => {
|
|
88
|
+
const context = {
|
|
89
|
+
version: '0.0.1',
|
|
90
|
+
frameworkVersion: ownPackageJson.version,
|
|
91
|
+
...input,
|
|
92
|
+
};
|
|
93
|
+
|
|
94
|
+
const [first, ...rest] = [
|
|
95
|
+
base(context),
|
|
96
|
+
Features.react(),
|
|
97
|
+
Features.dxosUi(context),
|
|
98
|
+
input.defaultPlugins && Features.defaultPlugins(context),
|
|
99
|
+
slotPackageJson?.() ?? {},
|
|
100
|
+
].filter(Boolean);
|
|
101
|
+
|
|
102
|
+
const packageJson = merge(first, ...rest);
|
|
103
|
+
|
|
104
|
+
const result = JSON.stringify(packageJson, null, 2);
|
|
105
|
+
return result;
|
|
106
|
+
},
|
|
107
|
+
});
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { plate } from "@dxos/plate";
|
|
2
|
+
import template from "../template.t";
|
|
3
|
+
|
|
4
|
+
export default template.define.script({
|
|
5
|
+
content: ({ input: { name }, imports }) => plate/* javascript */`
|
|
6
|
+
${imports}
|
|
7
|
+
import React from 'react';
|
|
8
|
+
import { Asterisk } from '@phosphor-icons/react';
|
|
9
|
+
|
|
10
|
+
import {
|
|
11
|
+
PluginDefinition,
|
|
12
|
+
type SurfaceProvides,
|
|
13
|
+
type GraphBuilderProvides,
|
|
14
|
+
type IntentResolverProvides,
|
|
15
|
+
type TranslationsProvides,
|
|
16
|
+
pluginMeta,
|
|
17
|
+
} from '@dxos/app-framework';
|
|
18
|
+
|
|
19
|
+
export const PLUGIN_ID = '${name}';
|
|
20
|
+
|
|
21
|
+
export const meta = pluginMeta({
|
|
22
|
+
id: PLUGIN_ID,
|
|
23
|
+
name: "",
|
|
24
|
+
iconComponent: Asterisk,
|
|
25
|
+
});
|
|
26
|
+
|
|
27
|
+
export type TemplatePluginProvides = SurfaceProvides &
|
|
28
|
+
IntentResolverProvides &
|
|
29
|
+
GraphBuilderProvides &
|
|
30
|
+
TranslationsProvides & {};
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* See https://docs.dxos.org/composer/plugins/definition
|
|
34
|
+
*/
|
|
35
|
+
const plugin = (): PluginDefinition<TemplatePluginProvides> => {
|
|
36
|
+
return {
|
|
37
|
+
meta,
|
|
38
|
+
provides: {
|
|
39
|
+
root: () => null,
|
|
40
|
+
surface: {
|
|
41
|
+
component: ({ data, role }) => null,
|
|
42
|
+
},
|
|
43
|
+
intent: {
|
|
44
|
+
resolver: (intent) => {},
|
|
45
|
+
},
|
|
46
|
+
graph: {
|
|
47
|
+
builder: ({ parent, plugins }) => {},
|
|
48
|
+
},
|
|
49
|
+
translations: [
|
|
50
|
+
{
|
|
51
|
+
'en-US': {
|
|
52
|
+
[PLUGIN_ID]: {
|
|
53
|
+
'plugin name': 'Template',
|
|
54
|
+
},
|
|
55
|
+
},
|
|
56
|
+
},
|
|
57
|
+
],
|
|
58
|
+
},
|
|
59
|
+
};
|
|
60
|
+
};
|
|
61
|
+
export default plugin;
|
|
62
|
+
`
|
|
63
|
+
})
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { z, plate, interactiveDirectory } from '@dxos/plate';
|
|
2
|
+
import sanitize from 'sanitize-filename';
|
|
3
|
+
import path from 'path';
|
|
4
|
+
import chalk from 'chalk';
|
|
5
|
+
|
|
6
|
+
export default interactiveDirectory({
|
|
7
|
+
src: __filename.endsWith('.ts') ? __dirname : path.resolve(__dirname, '../../src'),
|
|
8
|
+
inputShape: z.object({
|
|
9
|
+
name: z.string().describe('Name the new package').default(path.basename(process.cwd())),
|
|
10
|
+
createFolder: z.boolean().describe('Create a new folder for the project').default(true),
|
|
11
|
+
defaultPlugins: z.boolean().describe('Include default plugins').default(true),
|
|
12
|
+
}),
|
|
13
|
+
options({ input, outputDirectory, ...rest }) {
|
|
14
|
+
const { name, createFolder } = {...input};
|
|
15
|
+
return {
|
|
16
|
+
input,
|
|
17
|
+
outputDirectory: createFolder ? path.resolve(outputDirectory, sanitize(name ?? '')) : outputDirectory,
|
|
18
|
+
...rest,
|
|
19
|
+
};
|
|
20
|
+
},
|
|
21
|
+
after({ outputDirectory, input: { name } }) {
|
|
22
|
+
const cwd = process.cwd();
|
|
23
|
+
const relative = path.relative(cwd, outputDirectory);
|
|
24
|
+
console.log(plate`
|
|
25
|
+
|
|
26
|
+
Plugin ${chalk.green(chalk.bold(name))} created.
|
|
27
|
+
|
|
28
|
+
Run the app:
|
|
29
|
+
${!!relative && `$ cd ${relative}`}
|
|
30
|
+
$ npm install
|
|
31
|
+
$ npm run dev
|
|
32
|
+
|
|
33
|
+
See also:
|
|
34
|
+
- ${path.join(relative, 'README.md')}
|
|
35
|
+
|
|
36
|
+
Warning:
|
|
37
|
+
- pnpm is not supported for now, please use npm. (issue locating css in node_modules).
|
|
38
|
+
`);
|
|
39
|
+
},
|
|
40
|
+
});
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
{
|
|
2
|
+
"compilerOptions": {
|
|
3
|
+
"esModuleInterop": true,
|
|
4
|
+
"jsx": "react",
|
|
5
|
+
"emitDeclarationOnly": false,
|
|
6
|
+
"lib": ["DOM", "ESNext"],
|
|
7
|
+
"module": "ESNext",
|
|
8
|
+
"outDir": "dist",
|
|
9
|
+
"skipLibCheck": true,
|
|
10
|
+
"types": ["node"],
|
|
11
|
+
"moduleResolution": "node",
|
|
12
|
+
"isolatedModules": true,
|
|
13
|
+
"target": "ES2018"
|
|
14
|
+
},
|
|
15
|
+
"include": ["src"],
|
|
16
|
+
"exclude": ["node_modules", "dist", "vite.config.ts"]
|
|
17
|
+
}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import template from './template.t';
|
|
2
|
+
import { plate } from '@dxos/plate';
|
|
3
|
+
|
|
4
|
+
export default template.define.script({
|
|
5
|
+
content: ({ input: { defaultPlugins } }) => {
|
|
6
|
+
return plate/* javascript */`
|
|
7
|
+
import { defineConfig } from "vite";
|
|
8
|
+
import { resolve } from "path";
|
|
9
|
+
import react from "@vitejs/plugin-react";
|
|
10
|
+
import { ThemePlugin } from "@dxos/react-ui-theme/plugin";
|
|
11
|
+
|
|
12
|
+
${defaultPlugins && plate/* javascript */`
|
|
13
|
+
import { ConfigPlugin } from "@dxos/config/vite-plugin";
|
|
14
|
+
import TopLevelAwaitPlugin from 'vite-plugin-top-level-await';
|
|
15
|
+
import WasmPlugin from 'vite-plugin-wasm';
|
|
16
|
+
`}
|
|
17
|
+
|
|
18
|
+
// https://vitejs.dev/config/
|
|
19
|
+
export default defineConfig({
|
|
20
|
+
server: {
|
|
21
|
+
host: true,
|
|
22
|
+
},
|
|
23
|
+
root: 'dev',
|
|
24
|
+
build: { outDir: "dev/out", target: "esnext" },
|
|
25
|
+
optimizeDeps: { esbuildOptions: { target: "esnext" } },
|
|
26
|
+
define: {
|
|
27
|
+
process: {
|
|
28
|
+
env: {
|
|
29
|
+
NODE_ENV: JSON.stringify(process.env.NODE_ENV),
|
|
30
|
+
},
|
|
31
|
+
},
|
|
32
|
+
},
|
|
33
|
+
plugins: [
|
|
34
|
+
react(),
|
|
35
|
+
ThemePlugin({
|
|
36
|
+
root: __dirname + '/dev',
|
|
37
|
+
content: [
|
|
38
|
+
resolve(__dirname, "./dev/index.html"),
|
|
39
|
+
resolve(__dirname, "./src/**/*.{js,ts,jsx,tsx}"),
|
|
40
|
+
resolve(__dirname, "./dev/**/*.{js,ts,jsx,tsx}"),
|
|
41
|
+
${defaultPlugins && plate/* javascript */`
|
|
42
|
+
resolve(__dirname, "node_modules/@dxos/react-ui/dist/**/*.mjs"),
|
|
43
|
+
resolve(__dirname, "node_modules/@dxos/react-ui-theme/dist/**/*.mjs"),
|
|
44
|
+
resolve(
|
|
45
|
+
__dirname,
|
|
46
|
+
"node_modules/@dxos/react-ui-mosaic/dist/lib/**/*.mjs"
|
|
47
|
+
),
|
|
48
|
+
resolve(
|
|
49
|
+
__dirname,
|
|
50
|
+
"node_modules/@dxos/react-ui-stack/dist/lib/**/*.mjs"
|
|
51
|
+
),
|
|
52
|
+
resolve(
|
|
53
|
+
__dirname,
|
|
54
|
+
"node_modules/@dxos/react-ui-navtree/dist/lib/**/*.mjs"
|
|
55
|
+
),
|
|
56
|
+
resolve(
|
|
57
|
+
__dirname,
|
|
58
|
+
"node_modules/@braneframe/plugin-*/dist/lib/**/*.mjs"
|
|
59
|
+
),
|
|
60
|
+
`}
|
|
61
|
+
],
|
|
62
|
+
}),
|
|
63
|
+
${defaultPlugins && plate/* javascript */`
|
|
64
|
+
ConfigPlugin(),
|
|
65
|
+
TopLevelAwaitPlugin(),
|
|
66
|
+
WasmPlugin(),
|
|
67
|
+
`}
|
|
68
|
+
],
|
|
69
|
+
});
|
|
70
|
+
`
|
|
71
|
+
}
|
|
72
|
+
})
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
//
|
|
2
|
+
// Copyright 2023 DXOS.org
|
|
3
|
+
//
|
|
4
|
+
|
|
5
|
+
import { type InputOf } from '@dxos/plate';
|
|
6
|
+
|
|
7
|
+
import type template from '../src/template.t';
|
|
8
|
+
|
|
9
|
+
export const scenarios: InputOf<typeof template>[] = [
|
|
10
|
+
{
|
|
11
|
+
name: 'default',
|
|
12
|
+
createFolder: true,
|
|
13
|
+
defaultPlugins: true,
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
name: 'default-bare',
|
|
17
|
+
createFolder: true,
|
|
18
|
+
defaultPlugins: false,
|
|
19
|
+
},
|
|
20
|
+
];
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
//
|
|
2
|
+
// Copyright 2023 DXOS.org
|
|
3
|
+
//
|
|
4
|
+
|
|
5
|
+
import chai, { expect } from 'chai';
|
|
6
|
+
import chaiAsPromised from 'chai-as-promised';
|
|
7
|
+
import path from 'path';
|
|
8
|
+
import tmp from 'tmp-promise';
|
|
9
|
+
|
|
10
|
+
import { scenarios } from './scenarios';
|
|
11
|
+
import packageJson from '../package.json';
|
|
12
|
+
import template from '../src/template.t';
|
|
13
|
+
|
|
14
|
+
chai.use(chaiAsPromised);
|
|
15
|
+
|
|
16
|
+
describe('plugin template', () => {
|
|
17
|
+
it('exists', () => {
|
|
18
|
+
expect(true).to.be.true;
|
|
19
|
+
});
|
|
20
|
+
|
|
21
|
+
it('execute with permuted inputs', async () => {
|
|
22
|
+
console.log('executing', scenarios.length, 'scenarios...');
|
|
23
|
+
const tempFolder = await tmp.dir({ unsafeCleanup: false, keep: true, prefix: 'plugin-template' });
|
|
24
|
+
|
|
25
|
+
const promises = scenarios.map(async (scenario) => {
|
|
26
|
+
const outputDirectory = path.resolve(tempFolder.path);
|
|
27
|
+
|
|
28
|
+
const results = await template.apply({
|
|
29
|
+
input: { ...scenario, name: `${packageJson.name.split('/')[1]}-${scenario.name}` },
|
|
30
|
+
outputDirectory,
|
|
31
|
+
after: false, // do not print messages
|
|
32
|
+
});
|
|
33
|
+
|
|
34
|
+
return await results.apply();
|
|
35
|
+
});
|
|
36
|
+
await Promise.all(promises);
|
|
37
|
+
console.log('done executing scenarios');
|
|
38
|
+
console.log(`temp folder: ${tempFolder.path}`);
|
|
39
|
+
});
|
|
40
|
+
});
|
package/tsconfig.json
ADDED
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
{
|
|
2
|
+
"extends": "../../../../tsconfig.json",
|
|
3
|
+
"compilerOptions": {
|
|
4
|
+
"emitDeclarationOnly": false,
|
|
5
|
+
"lib": [
|
|
6
|
+
"DOM",
|
|
7
|
+
"ESNext"
|
|
8
|
+
],
|
|
9
|
+
"outDir": "dist",
|
|
10
|
+
"types": [
|
|
11
|
+
"@dxos/test",
|
|
12
|
+
"node"
|
|
13
|
+
]
|
|
14
|
+
},
|
|
15
|
+
"exclude": [
|
|
16
|
+
"dist",
|
|
17
|
+
"node_modules"
|
|
18
|
+
],
|
|
19
|
+
"include": [
|
|
20
|
+
"package.json",
|
|
21
|
+
"src",
|
|
22
|
+
"src/.storybook/*",
|
|
23
|
+
"src/.vscode/*",
|
|
24
|
+
"test"
|
|
25
|
+
],
|
|
26
|
+
"references": [
|
|
27
|
+
{
|
|
28
|
+
"path": "../../../common/plate"
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
"path": "../../../sdk/app-framework"
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
"path": "../../../sdk/config"
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
"path": "../../../sdk/shell"
|
|
38
|
+
}
|
|
39
|
+
]
|
|
40
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
{
|
|
2
|
+
"compilerOptions": {
|
|
3
|
+
"allowSyntheticDefaultImports": true,
|
|
4
|
+
"composite": true,
|
|
5
|
+
"module": "ESNext",
|
|
6
|
+
"moduleResolution": "Node",
|
|
7
|
+
"resolveJsonModule": true,
|
|
8
|
+
"rootDir": "../../.."
|
|
9
|
+
},
|
|
10
|
+
"include": [
|
|
11
|
+
"apps/templates/plugin-template/**/*.t.ts",
|
|
12
|
+
"apps/templates/plugin-template/package.json",
|
|
13
|
+
"./tsconfig.json"
|
|
14
|
+
]
|
|
15
|
+
}
|