lucy-cli 0.0.4 → 0.5.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (63) hide show
  1. package/.yarnrc.yml +0 -2
  2. package/config.json +1 -0
  3. package/dist/Gulpfile.js +24 -115
  4. package/dist/dev.d.ts +2 -1
  5. package/dist/dev.js +2 -3
  6. package/dist/gulp/backend.d.ts +2 -0
  7. package/dist/gulp/backend.js +52 -8
  8. package/dist/gulp/checks.d.ts +3 -3
  9. package/dist/gulp/checks.js +37 -27
  10. package/dist/gulp/clean.d.ts +2 -0
  11. package/dist/gulp/clean.js +15 -3
  12. package/dist/gulp/copy.d.ts +1 -0
  13. package/dist/gulp/copy.js +24 -4
  14. package/dist/gulp/docs.d.ts +2 -0
  15. package/dist/gulp/docs.js +27 -0
  16. package/dist/gulp/pages.js +3 -3
  17. package/dist/gulp/pipeline.d.ts +1 -0
  18. package/dist/gulp/pipeline.js +27 -0
  19. package/dist/gulp/public.js +13 -7
  20. package/dist/gulp/styles.js +4 -4
  21. package/dist/gulp/templates.d.ts +1 -0
  22. package/dist/gulp/templates.js +21 -3
  23. package/dist/gulp/test.d.ts +2 -0
  24. package/dist/gulp/test.js +82 -0
  25. package/dist/gulp/types.js +7 -8
  26. package/dist/gulp/watchers.d.ts +17 -0
  27. package/dist/gulp/watchers.js +94 -0
  28. package/dist/index.d.ts +23 -1
  29. package/dist/index.js +46 -46
  30. package/dist/init.d.ts +2 -1
  31. package/dist/init.js +27 -55
  32. package/dist/settings.json +4 -1
  33. package/dist/sync.d.ts +2 -0
  34. package/dist/sync.js +5 -0
  35. package/files/lucy.json +1 -1
  36. package/files/typedoc.json +2 -2
  37. package/package.json +9 -3
  38. package/settings/backend-settings.json +13 -3
  39. package/settings/master-settings.json +10 -3
  40. package/settings/page-settings.json +11 -3
  41. package/settings/public-settings.json +13 -4
  42. package/src/Gulpfile.ts +75 -145
  43. package/src/dev.ts +4 -3
  44. package/src/gulp/backend.ts +57 -9
  45. package/src/gulp/checks.ts +36 -29
  46. package/src/gulp/clean.ts +17 -7
  47. package/src/gulp/copy.ts +27 -5
  48. package/src/gulp/pages.ts +4 -4
  49. package/src/gulp/pipeline.ts +30 -0
  50. package/src/gulp/public.ts +16 -8
  51. package/src/gulp/styles.ts +6 -5
  52. package/src/gulp/templates.ts +24 -5
  53. package/src/gulp/test.ts +82 -0
  54. package/src/gulp/types.ts +9 -12
  55. package/src/gulp/watchers.ts +175 -0
  56. package/src/index.ts +59 -68
  57. package/src/init.ts +28 -62
  58. package/src/settings.json +4 -1
  59. package/src/sync.ts +10 -0
  60. package/src/types.d.ts +2 -1
  61. package/.eslintrc.json +0 -3
  62. package/files/jest.config.ts +0 -28
  63. package/files/tsconfig.json +0 -51
package/src/index.ts CHANGED
@@ -1,8 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import { dirname } from 'path';
3
3
  import { fileURLToPath } from 'url';
4
- import { spawnSync } from 'child_process';
5
- import { existsSync, mkdirSync, promises as fsPromises } from 'fs';
4
+ import { existsSync } from 'fs';
6
5
  import chalk from 'chalk';
7
6
  import settings from './settings.json' assert { type: 'json' };
8
7
 
@@ -11,122 +10,114 @@ import fs from 'fs/promises';
11
10
 
12
11
  import { init } from './init.js';
13
12
  import { dev } from './dev.js';
13
+ import { sync } from './sync.js';
14
14
 
15
- type ModuleSettings = {
15
+ export type ModuleSettings = {
16
16
  packageRoot: string;
17
17
  targetFolder: string;
18
18
  args: string[];
19
19
  wixConfigPath: string;
20
20
  lucyConfigPath: string;
21
+ packageJonPath: string;
22
+ settings: typeof settings;
21
23
  }
22
24
 
23
- type ProjectSettings = {
25
+ export type ProjectSettings = {
24
26
  packages?: Record<string, string>;
25
27
  modules?: Record<string, string>;
28
+ lucySettings?: Record<string, string>;
29
+ packageJSON?: Record<string, any>;
30
+ lucyJSON?: Record<string, any>;
26
31
  }
27
-
32
+ export const orange = chalk.hex('#FFA500');
33
+ export const blue = chalk.blueBright;
34
+ export const green = chalk.greenBright;
35
+ export const red = chalk.redBright;
36
+ export const yellow = chalk.yellow;
37
+ export const magenta = chalk.magentaBright;
28
38
  // eslint-disable-next-line @typescript-eslint/naming-convention
29
39
  const __filename = fileURLToPath(import.meta.url);
30
40
  // eslint-disable-next-line @typescript-eslint/naming-convention
31
41
  const __dirname = dirname(__filename);
32
42
 
33
43
 
34
-
35
44
  /**
36
- *
45
+ * Main function
46
+ * @returns {Promise<void>}
37
47
  */
38
- async function main() {
48
+ async function main(): Promise<void> {
39
49
 
40
50
  const moduleSettings: ModuleSettings = {
41
51
  packageRoot: dirname(__dirname),
42
52
  targetFolder: process.cwd(),
43
53
  args: process.argv.slice(2),
54
+ settings,
44
55
  wixConfigPath: join(process.cwd(), 'wix.config.json'),
45
- lucyConfigPath: join(process.cwd(), 'lucy.json')
56
+ lucyConfigPath: join(process.cwd(), 'lucy.json'),
57
+ packageJonPath: join(process.cwd(), 'package.json'),
46
58
  }
47
59
 
48
- let projectSettings: ProjectSettings | undefined;
60
+ let projectSettings: ProjectSettings = {};
61
+
62
+ if(moduleSettings.args.includes('version') || moduleSettings.args.includes('-v')){
63
+ console.log("🐾" + blue.bold(' => 1.0.0'));
64
+
65
+ return;
66
+ }
67
+
68
+ if(moduleSettings.args.includes('help') || moduleSettings.args.includes('-h')){
69
+ console.log("🦮" + green.underline.bold(' => Lucy CLI Help'));
70
+
71
+ return;
72
+ }
49
73
 
50
74
  if (!existsSync(moduleSettings.wixConfigPath)) {
51
- console.log(chalk.red.underline.bold(`This is not a WIX project ${moduleSettings.targetFolder}`));
75
+ console.log((`💩 ${red.underline.bold("=> This is not a WIX project =>")} ${orange(moduleSettings.targetFolder)}`));
52
76
  return;
53
77
  }
54
78
 
55
- const packageJSONraw = await fs.readFile(join(moduleSettings.targetFolder, 'package.json'), 'utf8');
56
- const packageJSON = JSON.parse(packageJSONraw);
79
+ if(existsSync(moduleSettings.packageJonPath)) {
80
+ const packageJSONraw = await fs.readFile(join(moduleSettings.packageJonPath), 'utf8');
81
+ try {
82
+ projectSettings.packageJSON = JSON.parse(packageJSONraw);
83
+ } catch (parseError) {
84
+ console.log((`💩 ${red.underline.bold("=> Error parsing package.json =>")} ${orange(parseError)}`));
85
+ return;
86
+ }
87
+ }
57
88
 
58
89
  if(existsSync(moduleSettings.lucyConfigPath)) {
59
90
  try {
60
91
  const data = await fs.readFile(moduleSettings.lucyConfigPath, 'utf8');
61
- projectSettings = JSON.parse(data);
92
+ projectSettings.lucySettings = JSON.parse(data);
62
93
  } catch (parseError) {
63
- console.error(chalk.red.underline.bold('Error parsing Lucy.json', parseError));
94
+ console.log((`💩 ${red.underline.bold("=> Error parsing Lucy.json =>")} ${orange(parseError)}`));
64
95
  }
65
96
  } else {
66
- console.log(chalk.blueBright.underline.bold('Project not Intialized!'));
67
- return;
68
- }
69
-
70
-
71
-
72
- if(packageJSON?.wixLucy?.intialized && ! args.includes('-f')) {
73
- console.error(chalk.red.underline.bold(`This project is already initialized ${moduleSettings.targetFolder}`));
74
- return;
75
- }
76
-
77
- console.log({ args, cwd });
78
- if(args.includes('help') || args.includes('-h')){
79
- console.log('Help is on the way!');
80
-
81
- return;
82
- }
83
- if(args.includes('version') || args.includes('-v')){
84
- console.log('1.0.0');
85
-
86
- return;
97
+ if(!moduleSettings.args.includes('init')) {
98
+ return console.log(yellow.underline.bold('🐶 => Project not Intialized! Please initialize using "lucy-cli init"'));
99
+ };
87
100
  }
88
101
 
89
- if(args.includes('init')){
90
- init(cwd, packageRoot, args);
102
+ if(moduleSettings.args.includes('init')){
103
+ console.log("🐕" + magenta.underline(' => Initializing project'));
104
+ init(moduleSettings, projectSettings);
91
105
 
92
106
  return;
93
107
  }
94
108
 
95
- if(args.includes('dev')){
96
- dev(cwd, args);
97
-
98
- return;
109
+ if(moduleSettings.args.includes('dev')){
110
+ dev(moduleSettings, projectSettings);
111
+
112
+ return;
99
113
  }
100
114
 
101
- if(args.includes('sync')){
102
- console.log('Hello serve');
115
+ if(moduleSettings.args.includes('sync')){
116
+ sync(moduleSettings, projectSettings);
103
117
 
104
118
  return;
105
119
  }
106
120
 
107
121
  }
108
122
 
109
- main();
110
-
111
- // const fs = require("fs"),
112
- // path = require("path")
113
-
114
- // /** Parse the command line */
115
- // var args = process.argv.slice(2);
116
-
117
- // // Validate input
118
- // if (args.length !== 2) {
119
- // console.log("Warning: Requires 2 arguments");
120
- // console.log("node index.js [path/source.html] [targetfile]");
121
- // process.exit();
122
- // }
123
-
124
- // const src = args[0];
125
- // const target = args[1];
126
- // const dirsrc = path.dirname(src);
127
-
128
- // if (!fs.existsSync(src)) {
129
- // console.log("Error: Source file doesn't exist. Given: ", src);
130
- // process.exit();
131
- // }
132
-
123
+ main();
package/src/init.ts CHANGED
@@ -2,17 +2,11 @@ import chalk from 'chalk';
2
2
  import { existsSync, mkdirSync, promises as fsPromises } from 'fs';
3
3
  import fse from 'fs-extra';
4
4
  import { join } from 'path';
5
- import { simpleGit, SimpleGit, SimpleGitOptions } from 'simple-git';
5
+ import { simpleGit } from 'simple-git';
6
6
  import fs from 'fs/promises';
7
7
  import { spawnSync } from 'child_process';
8
- import settings from './settings.json' assert { type: 'json' };
9
8
  import path from 'path';
10
-
11
-
12
- type ProjectSettings = {
13
- packages?: Record<string, string>;
14
- modules?: Record<string, string>;
15
- }
9
+ import { ModuleSettings, ProjectSettings, blue, green, orange, red } from './index.js';
16
10
 
17
11
  /**
18
12
  * Init Lucy project
@@ -20,54 +14,26 @@ type ProjectSettings = {
20
14
  * @param {string} packageRoot Package root directory
21
15
  * @returns {void}
22
16
  */
23
- export async function init(cwd: string, packageRoot:string, args: string[]) {
24
- const sourceFolder = join(packageRoot, 'files');
25
- const targetFolder = cwd;
26
- let projectSettings: ProjectSettings|undefined;
27
-
28
- if(existsSync(join(targetFolder, 'lucy.json'))) {
29
- try {
30
- const lucyConfig = join(targetFolder, 'lucy.json');
31
- const data = await fs.readFile(lucyConfig, 'utf8');
32
- projectSettings = JSON.parse(data);
33
- } catch (parseError) {
34
- console.error(chalk.red.underline.bold('Error parsinc Lucy.json', parseError));
35
- }
36
- } else {
37
- const lucyConfig = {
38
- packages: settings.packages,
39
- modules: settings.modules
40
- }
41
- await fs.writeFile(join(targetFolder, 'lucy.json'), JSON.stringify(lucyConfig, null, 2), 'utf8');
42
- console.log(chalk.blueBright.underline.bold('Created Lucy config file!'));
43
- }
44
-
45
- const wixConfigPath = join(targetFolder, 'wix.config.json');
46
- const packageJSONraw = await fs.readFile(join(targetFolder, 'package.json'), 'utf8');
47
- const packageJSON = JSON.parse(packageJSONraw);
17
+ export async function init(moduleSettings: ModuleSettings, projectSettings: ProjectSettings) {
48
18
 
49
- if(packageJSON?.wixLucy?.intialized && ! args.includes('-f')) {
50
- console.error(chalk.red.underline.bold(`This project is already initialized ${targetFolder}`));
19
+ if(projectSettings.packageJSON && projectSettings.packageJSON.wixLucy?.intialized && !moduleSettings.args.includes('-f')) {
20
+ console.log((`💩 ${red.underline.bold("=> This project is already initialized =>")} ${orange(moduleSettings.targetFolder)}`));
51
21
  return;
52
22
  }
53
23
 
54
- if (!existsSync(wixConfigPath)) {
55
- console.error(chalk.red.underline.bold(`This is not a WIX project ${targetFolder}`));
56
- return;
57
- }
24
+ await copyFolder(join(moduleSettings.packageRoot, 'files'), moduleSettings.targetFolder);
58
25
 
59
- await copyFolder(sourceFolder, targetFolder);
26
+ await editJson(moduleSettings.packageJonPath, ['type', 'scripts', 'wixLucy'], ['module', moduleSettings.settings.scripts, moduleSettings.settings.lucySettings ]);
27
+ await stringReplace(join(moduleSettings.targetFolder, 'currents.config.js'), ['__ProjectName__'], [path.basename(moduleSettings.targetFolder)]);
60
28
 
61
- await editJson(join(targetFolder, 'package.json'), ['type', 'scripts', 'wixLucy'], ['module', settings.scripts, settings.lucySettings ]);
62
- await stringReplace(join(targetFolder, 'currents.config.js'), ['__ProjectName__'], [path.basename(targetFolder)]);
29
+ await installPackages(projectSettings?.packages ? projectSettings?.packages : moduleSettings.settings.packages, moduleSettings.targetFolder);
63
30
 
64
- await installPackages(projectSettings?.packages ? projectSettings?.packages : settings.packages, targetFolder);
31
+ await editJson(join(moduleSettings.targetFolder, 'jsconfig.json'), ['compilerOptions', 'exclude'], [moduleSettings.settings.wixSettings.compilerOptions, moduleSettings.settings.wixSettings.exclude]);
32
+ await editJson(join(moduleSettings.targetFolder, 'typedoc.json'), ['name'], [path.basename(moduleSettings.targetFolder)]);
65
33
 
66
- await editJson(join(targetFolder, 'jsconfig.json'), ['compilerOptions', 'exclude'], [settings.wixSettings.compilerOptions, settings.wixSettings.exclude]);
67
- await editJson(join(targetFolder, 'typedoc.json'), ['name'], [path.basename(targetFolder)]);
34
+ await gitInit(moduleSettings.targetFolder, projectSettings?.modules ? projectSettings?.modules : moduleSettings.settings.modules);
68
35
 
69
- await gitInit(targetFolder, projectSettings?.modules ? projectSettings?.modules : settings.modules);
70
- console.log(chalk.blueBright.underline.bold('Done!'));
36
+ console.log(chalk.greenBright.underline('🐶 => Initialization done!'));
71
37
  }
72
38
 
73
39
  /**
@@ -78,7 +44,7 @@ export async function init(cwd: string, packageRoot:string, args: string[]) {
78
44
  */
79
45
  async function copyFolder(source: string, target: string): Promise<void> {
80
46
  if (!existsSync(target)){
81
- console.error(chalk.red.underline.bold(`Target folder doesn't exist: ${target}`));
47
+ console.log((`💩 ${red.underline.bold("=> Target folder doesn't exist =>")} ${orange(target)}`));
82
48
  return;
83
49
  }
84
50
 
@@ -102,9 +68,9 @@ async function copyFolder(source: string, target: string): Promise<void> {
102
68
  }
103
69
  }
104
70
  } catch (err){
105
- console.error(chalk.red.underline.bold(err));
71
+ console.log((`💩 ${red.underline.bold("=> There was an error while copying files =>")} ${orange(err)}`));
106
72
  } finally {
107
- console.log(chalk.blueBright.underline.bold('Copy files completed!'));
73
+ console.log("🐕" + blue.underline.bold(' => Copy files completed!'));
108
74
  }
109
75
  }
110
76
 
@@ -123,7 +89,7 @@ async function editJson(filePath: string, keys: string[], values: string[] | Obj
123
89
  try {
124
90
  jsonData = JSON.parse(data);
125
91
  } catch (parseError) {
126
- console.error(chalk.red.underline.bold('Error parsing JSON:', parseError));
92
+ console.log((`💩 ${red.underline.bold("=> Error parsing JSON =>")} ${orange(parseError)}`));
127
93
  return;
128
94
  }
129
95
 
@@ -136,9 +102,9 @@ async function editJson(filePath: string, keys: string[], values: string[] | Obj
136
102
  const updatedJsonData = JSON.stringify(jsonData, null, 2);
137
103
  await fs.writeFile(filePath, updatedJsonData, 'utf8');
138
104
  } catch (err) {
139
- console.log(chalk.red.underline.bold(err));
105
+ console.log((`💩 ${red.underline.bold("=> Error editing JSON Data =>")} ${orange(err)}`));
140
106
  } finally {
141
- console.log(chalk.blueBright.underline.bold(`File ${filePath} updated successfully!`));
107
+ console.log("🐕" + blue.underline(` => Updated file ${orange(filePath)}`));
142
108
  }
143
109
  }
144
110
 
@@ -156,9 +122,9 @@ async function stringReplace(filePath: string, keys: string[], values: string[])
156
122
 
157
123
  await fs.writeFile(filePath, modifiedContent, 'utf8');
158
124
  } catch (err) {
159
- console.log(chalk.red.underline.bold(err));
125
+ console.log((`💩 ${red.underline.bold("=> Durring string replace =>")} ${orange(err)}`));
160
126
  } finally {
161
- console.log(chalk.blueBright.underline.bold(`File ${filePath} updated successfully!`));
127
+ console.log(blue.underline(`🐕 => Updated file ${orange(filePath)}`));
162
128
  }
163
129
  }
164
130
 
@@ -166,12 +132,12 @@ async function installPackages(packages: Record<string, string>, cwd: string) {
166
132
  const packageNames = Object.keys(packages);
167
133
  const packageVersions = Object.values(packages);
168
134
  const packageNamesAndVersions = packageNames.map((name, index) => `${name}@${packageVersions[index]}`);
169
- const command = `yarn add ${packageNamesAndVersions.join(' ')}`;
135
+ const command = `yarn add -D ${packageNamesAndVersions.join(' ')}`;
170
136
  const result = spawnSync(command, { shell: true, stdio: 'inherit' });
171
137
  if (result.error) {
172
- console.error(chalk.red.underline.bold(`Command failed: ${result.error.message}`));
138
+ console.log((`💩 ${red.underline.bold("=> Failed to install packages =>")} ${orange(result.error.message)}`));
173
139
  } else {
174
- console.log(chalk.blueBright.underline.bold(`Command succeeded: ${result.stdout}`));
140
+ console.log("🐕" + blue.underline(` => Packeges installed!`));
175
141
  }
176
142
  }
177
143
 
@@ -181,11 +147,11 @@ async function gitInit(cwd: string, modules: Record<string, string>) {
181
147
  console.log(chalk.green.underline.bold(`Cloning ${name}`));
182
148
  try {
183
149
  await git.submoduleAdd(url, name)
184
- } catch (e) {
185
- console.error(chalk.red.underline.bold(`Command failed: ${e}`));
150
+ } catch (err) {
151
+ console.log((`💩 ${red.underline.bold("=> Command failed =>")} ${orange(err)}`));
186
152
  } finally {
187
- console.log(chalk.blueBright.underline.bold(`Cloned ${name}`));
153
+ console.log("🐕" + blue.underline(` => Cloned ${orange(name)}`));
188
154
  }
189
155
  }
190
- console.log(chalk.blueBright.underline.bold(`All Modules cloned!`));
156
+ console.log("🐶" + green.underline(' => All Modules cloned!'));
191
157
  }
package/src/settings.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "modules": {
3
- "wix-lucy-lib": "git@github.com:Integral-Systems/wix-lucy-lib.git"
3
+ "lucy-lib": "git@github.com:Integral-Systems/lucy-lib.git"
4
4
  },
5
5
  "wixSettings": {
6
6
  "compilerOptions": {
@@ -24,8 +24,11 @@
24
24
  "@js-joda/locale": "4.8.10",
25
25
  "@js-joda/locale_de": "4.8.10",
26
26
  "@js-joda/locale_en": "4.8.10",
27
+ "@js-joda/locale_fr": "4.8.10",
28
+ "@js-joda/locale_it": "4.8.10",
27
29
  "@js-joda/timezone": "2.18.0",
28
30
  "@react-pdf/renderer": "2.0.17",
31
+ "velo-sync": "^0.0.9",
29
32
  "@total-typescript/ts-reset": "^0.4.2",
30
33
  "@types/i18n": "^0.13.6",
31
34
  "@types/jest": "^29.5.3",
package/src/sync.ts ADDED
@@ -0,0 +1,10 @@
1
+ import { modifierNames } from "chalk";
2
+ import { ModuleSettings, ProjectSettings } from ".";
3
+
4
+ export function sync(moduleSettings: ModuleSettings, projectSettings: ProjectSettings) {
5
+
6
+ if(moduleSettings.args.includes('sync')){
7
+
8
+ }
9
+ console.log('Hello sync');
10
+ }
package/src/types.d.ts CHANGED
@@ -2,4 +2,5 @@ declare module 'gulp-exec';
2
2
  declare module 'gulp-clean';
3
3
  declare module 'gulp-foreach';
4
4
  declare module 'gulp-string-replace';
5
- declare module 'gulp-wait';
5
+ declare module 'gulp-wait';
6
+ declare module 'gulp-jest';
package/.eslintrc.json DELETED
@@ -1,3 +0,0 @@
1
- {
2
- "extends": ["plugin:@wix/cli/recommended"]
3
- }
@@ -1,28 +0,0 @@
1
- import type { JestConfigWithTsJest} from 'ts-jest';
2
-
3
- const config: JestConfigWithTsJest = {
4
- verbose: true,
5
- extensionsToTreatAsEsm: ['.ts'],
6
- transform: {
7
- '^.+\\.tsx?$': [
8
- 'ts-jest',
9
- {
10
- tsconfig: './typescript/tsconfig.json',
11
- usESM: true,
12
- },
13
- ],
14
- },
15
- preset: 'ts-jest',
16
- setupFilesAfterEnv: [],
17
- testEnvironment: 'node',
18
- collectCoverage: true,
19
- coverageDirectory: '../coverage',
20
- coverageReporters: ['clover', 'json', 'lcov', 'text'],
21
- rootDir: './typescript',
22
- testMatch: ['**/*.spec.ts'],
23
- moduleNameMapper: {
24
- "public/(.*)": "<rootDir>/public/$1"
25
- }
26
- };
27
-
28
- export default config;
@@ -1,51 +0,0 @@
1
- {
2
- "typeAcquisition": {
3
- "enable": true
4
- },
5
- "compilerOptions": {
6
- "outDir": "../src",
7
- "rootDir": "../typescript",
8
- "target": "ES2020",
9
- "build": true,
10
- "module": "ESNext",
11
- "moduleResolution": "Node",
12
- "preserveConstEnums": true,
13
- "allowSyntheticDefaultImports": true,
14
- "skipLibCheck": true,
15
- "jsx": "react-jsx",
16
- "lib": ["DOM"],
17
- "declaration": true,
18
- "strict": true,
19
- "noEmitOnError": false,
20
- "strictNullChecks": true,
21
- "noImplicitAny": true,
22
- "noImplicitReturns": true,
23
- "noUncheckedIndexedAccess": true,
24
- "noImplicitThis": true,
25
- "strictBindCallApply": true,
26
- "strictFunctionTypes": true,
27
- "strictPropertyInitialization": true,
28
- "experimentalDecorators": true,
29
- "esModuleInterop": true,
30
- "resolveJsonModule": true,
31
- "paths": {
32
- "public/*": ["./public/*"],
33
- "backend/*": ["./backend/*"],
34
- "pages/*": ["./pages/*"],
35
- },
36
- "plugins": [
37
- {
38
- "name": "typescript-hbs-plugin"
39
- }
40
- ]
41
- },
42
- "exclude": ["../node_modules", "../.wix", "node_modules", "./wix", "./**/*.spec.ts"],
43
- "include":[
44
- "public/**/*.tsx"
45
- ],
46
- "references": [
47
- {
48
- "path": "../jsconfig.json"
49
- }
50
- ]
51
- }