create-presenter 0.6.4 → 0.6.5
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/dist/index.js +70 -1
- package/package.json +3 -5
package/dist/index.js
CHANGED
|
@@ -1,2 +1,71 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
|
|
2
|
+
"use strict";const u=require("path"),m=require("fs"),f=require("readline");function a(n){const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(n){for(const t in n)if(t!=="default"){const i=Object.getOwnPropertyDescriptor(n,t);Object.defineProperty(e,t,i.get?i:{enumerable:!0,get:()=>n[t]})}}return e.default=n,Object.freeze(e)}const s=a(u),l=a(m),w=a(f);function r(n,...e){console.log(n,...e)}async function g(n){return new Promise(e=>{const t=w.createInterface({input:process.stdin,output:process.stdout});t.question(n,i=>{t.close(),e(i)})})}async function p(n){return new Promise((e,t)=>{l.mkdir(n,i=>{i?(i.code==="EEXIST"&&t(new Error(`Directory '${n}' already exists.`)),t(i)):e()})})}async function o(n,e,t){return Object.keys(t).forEach(i=>{e=e.replace(new RegExp(`{{\\s*${i}\\s*}}`,"g"),t[i])}),new Promise((i,d)=>{l.writeFile(n,e,c=>{c?d(c):i()})})}const h=`{
|
|
3
|
+
"name": "{{ projectName }}",
|
|
4
|
+
"version": "1.0.0",
|
|
5
|
+
"description": "A Presenter.js presentation",
|
|
6
|
+
"scripts": {
|
|
7
|
+
"build": "vite build",
|
|
8
|
+
"dev": "vite",
|
|
9
|
+
"serve": "vite"
|
|
10
|
+
},
|
|
11
|
+
"devDependencies": {
|
|
12
|
+
"typescript": "^5.7.2",
|
|
13
|
+
"vite": "^6.1.0"
|
|
14
|
+
},
|
|
15
|
+
"dependencies": {
|
|
16
|
+
"presenter": "^0.6.5"
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
`,j=`<!doctype html>
|
|
20
|
+
<html lang="en">
|
|
21
|
+
<head>
|
|
22
|
+
<title>Presenter.js</title>
|
|
23
|
+
</head>
|
|
24
|
+
<body>
|
|
25
|
+
<script type="module" src="/src/index.ts"><\/script>
|
|
26
|
+
</body>
|
|
27
|
+
</html>
|
|
28
|
+
`,y=`import { Anchor, BrowserCanvasRenderer, Presentation, Slide, Text } from "presenter";
|
|
29
|
+
|
|
30
|
+
const presentationSize = { width: 3840, height: 2160 };
|
|
31
|
+
|
|
32
|
+
const text = Text("Welcome to Presenter.js!", {
|
|
33
|
+
x: presentationSize.width / 2,
|
|
34
|
+
y: presentationSize.height / 2,
|
|
35
|
+
anchor: Anchor.CENTER,
|
|
36
|
+
fontSize: 150,
|
|
37
|
+
});
|
|
38
|
+
|
|
39
|
+
const slide = Slide({
|
|
40
|
+
objects: [text],
|
|
41
|
+
});
|
|
42
|
+
|
|
43
|
+
document.addEventListener("DOMContentLoaded", () => {
|
|
44
|
+
const presentation = Presentation({
|
|
45
|
+
size: presentationSize,
|
|
46
|
+
slides: [slide],
|
|
47
|
+
});
|
|
48
|
+
|
|
49
|
+
const renderer = new BrowserCanvasRenderer({ presentation });
|
|
50
|
+
renderer.present();
|
|
51
|
+
});
|
|
52
|
+
`,v=`{
|
|
53
|
+
"compilerOptions": {
|
|
54
|
+
"moduleResolution": "node16",
|
|
55
|
+
"module": "node16",
|
|
56
|
+
"outDir": "./dist/",
|
|
57
|
+
"noImplicitAny": true,
|
|
58
|
+
"target": "es5",
|
|
59
|
+
"allowJs": true
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
`,x=`import { defineConfig } from "vite";
|
|
63
|
+
|
|
64
|
+
export default defineConfig({});
|
|
65
|
+
`;async function b(){try{const n=process.cwd();r(`This utility will help you create a new Presenter.js presentation.
|
|
66
|
+
`);let e=(await g("presentation name: (presentation) ")).replace(/\s+/g,"-").toLowerCase();e===""&&(e="presentation"),r(`Creating a new Presenter.js presentation in ${e}...`),await p(e),await p(s.join(e,"src")),await o(s.join(n,e,"package.json"),h,{projectName:e}),await o(s.join(n,e,"tsconfig.json"),v,{}),await o(s.join(n,e,"vite.config.ts"),x,{}),await o(s.join(n,e,"index.html"),j,{}),await o(s.join(n,e,"src","index.ts"),y,{}),r("Installing dependencies..."),await require("child_process").execSync(`cd ${e} && npm install`,{stdio:"inherit"}),r(`
|
|
67
|
+
\x1B[32mSuccess! Created project "${e}" at ${s.join(n,e)}\x1B[0m`),r(`
|
|
68
|
+
To run your presentation, run:`),r(`
|
|
69
|
+
$ cd ${e}`),r(`
|
|
70
|
+
$ npm run serve`),r(`
|
|
71
|
+
`)}catch(n){console.error(),console.error(n)}}b();
|
package/package.json
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "create-presenter",
|
|
3
|
-
"version": "0.6.
|
|
3
|
+
"version": "0.6.5",
|
|
4
4
|
"description": "Create a Presenter.js presentation",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"scripts": {
|
|
7
|
-
"build": "
|
|
7
|
+
"build": "vite build",
|
|
8
8
|
"start": "node dist/index.js",
|
|
9
9
|
"dev": "NODE_ENV=production webpack && node dist/index.js"
|
|
10
10
|
},
|
|
@@ -26,9 +26,7 @@
|
|
|
26
26
|
},
|
|
27
27
|
"homepage": "https://github.com/brianyu28/presenter#readme",
|
|
28
28
|
"devDependencies": {
|
|
29
|
-
"ts-loader": "^9.5.1",
|
|
30
29
|
"typescript": "^5.7.2",
|
|
31
|
-
"
|
|
32
|
-
"webpack-cli": "^5.1.4"
|
|
30
|
+
"vite": "^6.1.0"
|
|
33
31
|
}
|
|
34
32
|
}
|