sinto 1.9.0 → 1.10.1

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/README.md CHANGED
@@ -207,9 +207,31 @@ Using:
207
207
 
208
208
  ```cmd
209
209
  sin esbuild
210
- pnpm i
211
- pnpm dev
212
- pnpm start
210
+ npm i
211
+ npm run dev
212
+ npm start
213
+ ```
214
+
215
+ Generated directories and files:
216
+
217
+ ```txt
218
+ app01/
219
+ |-public/
220
+ | |-index.html
221
+ | `-style.css
222
+ |-src/
223
+ | `-index.ts
224
+ |-package.json
225
+ `-README.md
226
+ ```
227
+
228
+ Or, create JavaScript client:
229
+
230
+ ```cmd
231
+ sin esbuild -j
232
+ npm i
233
+ npm run dev
234
+ npm start
213
235
  ```
214
236
 
215
237
  Generated directories and files:
@@ -225,20 +247,18 @@ app01/
225
247
  `-README.md
226
248
  ```
227
249
 
228
- Update the src/app.ts your index file.
250
+ To development run next command:
229
251
 
230
- Example:
252
+ ```cmd
253
+ npm run dev
254
+ ```
231
255
 
232
- * src/app.ts
233
- * src/index.ts
234
- * src/app.js
235
- * src/index.js
236
- * src/script.js
256
+ This command is generate in public directory an app.js file from src directory.
237
257
 
238
258
  To build production run next command:
239
259
 
240
260
  ```cmd
241
- pnpm build
261
+ npm run build
242
262
  ```
243
263
 
244
264
  This command is generate dist directory from src directory. The build command not copy the public directory.
@@ -5,15 +5,22 @@
5
5
  "scripts": {
6
6
  "test": "echo \"Error: no test specified\" && exit 1",
7
7
  "start": "browser-sync start --config bs-config.json",
8
- "dev": "npx esbuild src/app.ts --outdir=public --bundle --watch",
9
- "build": "npx esbuild src/app.ts --outdir=dist --bundle --minify"
8
+ "preview": "browser-sync start --server dist",
9
+ "dev": "npx esbuild src/**/.ts --outdir=public --bundle --watch",
10
+ "build:src": "npx esbuild src/app.ts --outdir=dist --bundle --minify",
11
+ "build:htmlcss": "cpx public/**/*.{html,css,png} dist",
12
+ "build:bscss": "cpx node_modules/bootstrap/dist/css/bootstrap.css dist",
13
+ "build:bsjs": "cpx node_modules/bootstrap/dist/js/bootstrap.js dist",
14
+ "build": "npm-run-all build:*"
10
15
  },
11
16
  "dependencies": {
12
17
  "bootstrap": "^5.3.3"
13
18
  },
14
19
  "devDependencies": {
15
20
  "esbuild": "^0.23.1",
16
- "browser-sync": "^3.0.2"
21
+ "browser-sync": "^3.0.2",
22
+ "cpx": "^1.5.0",
23
+ "npm-run-all": "^4.1.5"
17
24
  }
18
25
  }
19
26
 
@@ -0,0 +1,25 @@
1
+ {
2
+ "name": "sinto-project",
3
+ "version": "0.0.1",
4
+ "description": "A project created by the Sinto command",
5
+ "scripts": {
6
+ "test": "echo \"Error: no test specified\" && exit 1",
7
+ "start": "browser-sync start --config bs-config.json",
8
+ "dev": "npx esbuild src/app.js --outdir=public --bundle --watch",
9
+ "build:src": "npx esbuild src/app.js --outdir=dist --bundle --minify",
10
+ "build:htmlcss": "cpx public/**/*.{html,css,png} dist",
11
+ "build:bscss": "cpx node_modules/bootstrap/dist/css/bootstrap.css dist",
12
+ "build:bsjs": "cpx node_modules/bootstrap/dist/js/bootstrap.js dist",
13
+ "build": "npm-run-all build:*"
14
+ },
15
+ "dependencies": {
16
+ "bootstrap": "^5.3.3"
17
+ },
18
+ "devDependencies": {
19
+ "esbuild": "^0.23.1",
20
+ "browser-sync": "^3.0.2",
21
+ "cpx": "^1.5.0",
22
+ "npm-run-all": "^4.1.5"
23
+ }
24
+ }
25
+
@@ -0,0 +1,7 @@
1
+ const gitignoreContent = `
2
+ node_modules/
3
+ dist/
4
+ pnpm-lock.yaml
5
+ public/*.js
6
+ `
7
+ module.exports = gitignoreContent
@@ -1,10 +1,22 @@
1
1
 
2
2
  module.exports = `
3
+ <!--
4
+ File: index.html
5
+ Author: Vezetéknév Keresztnév
6
+ Copyright: 2024, Vezetéknév Keresztnév
7
+ Group: Csoportnév
8
+ Date: 2024-12-02
9
+ Github: https://github.com/valami12345/
10
+ Licenc: MIT
11
+ -->
12
+
3
13
  <!DOCTYPE html>
4
14
  <html lang="hu">
5
15
  <head>
6
16
  <meta charset="UTF-8">
7
17
  <title>Sinto esbuild</title>
18
+ <link rel="stylesheet" href="bootstrap.css">
19
+ <link rel="stylesheet" href="style.css">
8
20
  </head>
9
21
  <body>
10
22
  <div class="container">
@@ -12,6 +24,7 @@ module.exports = `
12
24
  <p>The website generated by Sinto.</p>
13
25
 
14
26
  </div>
27
+ <script src="bootstrap.js"></script>
15
28
  <script src="app.js"></script>
16
29
  </body>
17
30
  </html>
@@ -3,10 +3,28 @@ const { createFile, createDirectory } = require('../tools/tools.js');
3
3
  const jsonfile = require('jsonfile');
4
4
 
5
5
  const swcPackageContent = require('./contents/esbuildPackage.json');
6
+ const swcPackageJsContent = require('./contents/esbuildPackageJs.json');
6
7
  const indexHtmlContent = require('./contents/indexHtml.js');
7
8
  const defaultBsconfigContent = require('./generators/genBsconfig.js');
9
+ const gitignoreContent = require('./contents/gitignoreContent');
10
+
11
+ const createEsbuildProject = (options) => {
12
+ if(options.javascript === true && options.typescript === true) {
13
+ console.log('JavaScript or TypeScript project?');
14
+ return;
15
+ }
16
+ let typescript = true;
17
+ if(options.javascript === false && options.typescript === false) {
18
+ console.log('TypeScript project creating...');
19
+ }
20
+ if(options.javascript === true) {
21
+ console.log('JavaScript project creating...');
22
+ typescript = false;
23
+ }
24
+ if(options.typescript === true) {
25
+ console.log('TypeScript project creating...');
26
+ }
8
27
 
9
- const createEsbuildProject = () => {
10
28
  const dir = process.cwd();
11
29
 
12
30
  createDirectory(`${dir}/src`);
@@ -14,24 +32,34 @@ const createEsbuildProject = () => {
14
32
  createDirectory(`${dir}/public/assets`);
15
33
 
16
34
  createFile(`${dir}/public/index.html`, indexHtmlContent);
17
- createFile(`${dir}/public/style.css`, '');
18
- createFile(`${dir}/src/app.ts`, '');
35
+ createFile(`${dir}/public/style.css`, '');
36
+
37
+ if(typescript) {
38
+ createFile(`${dir}/src/app.ts`, '');
39
+ }else {
40
+ createFile(`${dir}/src/app.js`, '');
41
+ }
19
42
 
20
43
  createFile(`${dir}/README.md`, '# Sinto ESBuild client\n');
21
44
 
22
- createPackageJsonFile(dir);
45
+ createPackageJsonFile(dir, typescript);
23
46
  createBsconfigFile(dir);
47
+ createFile(`${dir}/.gitignore`, gitignoreContent);
24
48
 
25
49
  console.log('ESBuild client created.');
26
50
  console.log('Run next commands:');
27
- console.log(' pnpm i');
28
- console.log(' pnpm dev');
29
- console.log(' pnpm start');
51
+ console.log(' npm i');
52
+ console.log(' npm run dev');
53
+ console.log(' npm start');
30
54
  }
31
55
 
32
- const createPackageJsonFile = (directory) => {
56
+ const createPackageJsonFile = (directory, typescript) => {
33
57
  const packageJsonPath = `${directory}/package.json`;
34
- jsonfile.writeFileSync(packageJsonPath, swcPackageContent, { spaces: 2 });
58
+ if(typescript) {
59
+ jsonfile.writeFileSync(packageJsonPath, swcPackageContent, { spaces: 2 });
60
+ }else {
61
+ jsonfile.writeFileSync(packageJsonPath, swcPackageJsContent, { spaces: 2 });
62
+ }
35
63
  if(debug) {
36
64
  console.log('package.json file created.');
37
65
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sinto",
3
- "version": "1.9.0",
3
+ "version": "1.10.1",
4
4
  "description": "Project development manager for web and JavaFX",
5
5
  "bin": {
6
6
  "sin": "sin.js"
package/sin.js CHANGED
@@ -12,14 +12,13 @@ const { createPuppeteerTest } = require('./gentest/generate');
12
12
  const { supplementTypescript } = require('./addts/addts');
13
13
  const { initTypescriptProject } = require('./gents/gents');
14
14
  const { createIndexHtmlCssFile } = require('./htmlcss/htmlcss');
15
- const { createJavafxProject } = require('./javafx/generate');
16
15
 
17
16
  const program = new Command();
18
17
 
19
18
  program
20
19
  .name('sin')
21
20
  .description('Project handler')
22
- .version('1.9.0');
21
+ .version('1.10.1');
23
22
 
24
23
  program
25
24
  .command('init')
@@ -95,8 +94,10 @@ program
95
94
  program
96
95
  .command('esbuild')
97
96
  .description('ESBuild client')
98
- .action(() => {
99
- createEsbuildProject();
97
+ .option('-j, --javascript', 'JavaScript application')
98
+ .option('-t, --typescript', 'TypeScript application (default)')
99
+ .action((options) => {
100
+ createEsbuildProject(options);
100
101
  });
101
102
 
102
103
  program