lucy-cli 2.0.0-beta.13 â 2.0.0-beta.14
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/package.json +7 -2
- package/.cursorignore +0 -4
- package/.eslintrc.cjs +0 -96
- package/.github/funding.yml +0 -2
- package/.nvmrc +0 -1
- package/.stylelintrc.js +0 -8
- package/.wix/debug.log +0 -10
- package/.yarnrc.yml +0 -2
- package/files/sync-data/data/test.csv +0 -17
- package/files/sync-data/files/lucy.jpg +0 -0
- package/files/sync-data/schema/test.json +0 -11
- package/lucy.jpg +0 -0
- package/mitarbeiter-login.html +0 -188
- package/old/Gulpfile.d.ts +0 -34
- package/old/Gulpfile.js +0 -116
- package/old/Gulpfile.js.map +0 -1
- package/old/Gulpfile.ts +0 -231
- package/old/gulp/backend.d.ts +0 -3
- package/old/gulp/backend.js +0 -92
- package/old/gulp/backend.js.map +0 -1
- package/old/gulp/backend.ts +0 -109
- package/old/gulp/checks.d.ts +0 -3
- package/old/gulp/checks.js +0 -205
- package/old/gulp/checks.js.map +0 -1
- package/old/gulp/checks.ts +0 -228
- package/old/gulp/clean.d.ts +0 -3
- package/old/gulp/clean.js +0 -29
- package/old/gulp/clean.js.map +0 -1
- package/old/gulp/clean.ts +0 -33
- package/old/gulp/copy.d.ts +0 -2
- package/old/gulp/copy.js +0 -34
- package/old/gulp/copy.js.map +0 -1
- package/old/gulp/copy.ts +0 -42
- package/old/gulp/helpers.d.ts +0 -2
- package/old/gulp/helpers.js +0 -25
- package/old/gulp/helpers.js.map +0 -1
- package/old/gulp/helpers.ts +0 -26
- package/old/gulp/pages.d.ts +0 -2
- package/old/gulp/pages.js +0 -37
- package/old/gulp/pages.js.map +0 -1
- package/old/gulp/pages.ts +0 -40
- package/old/gulp/pipeline.d.ts +0 -1
- package/old/gulp/pipeline.js +0 -29
- package/old/gulp/pipeline.js.map +0 -1
- package/old/gulp/pipeline.ts +0 -31
- package/old/gulp/public.d.ts +0 -2
- package/old/gulp/public.js +0 -50
- package/old/gulp/public.js.map +0 -1
- package/old/gulp/public.ts +0 -59
- package/old/gulp/styles.d.ts +0 -2
- package/old/gulp/styles.js +0 -40
- package/old/gulp/styles.js.map +0 -1
- package/old/gulp/styles.ts +0 -46
- package/old/gulp/templates.d.ts +0 -2
- package/old/gulp/templates.js +0 -33
- package/old/gulp/templates.js.map +0 -1
- package/old/gulp/templates.ts +0 -39
- package/old/gulp/types.d.ts +0 -4
- package/old/gulp/types.js +0 -289
- package/old/gulp/types.js.map +0 -1
- package/old/gulp/types.ts +0 -311
- package/old/gulp/watchers.d.ts +0 -9
- package/old/gulp/watchers.js +0 -59
- package/old/gulp/watchers.js.map +0 -1
- package/old/gulp/watchers.ts +0 -105
- package/old/helpers.d.ts +0 -32
- package/old/helpers.js +0 -267
- package/old/helpers.js.map +0 -1
- package/old/helpers.ts +0 -307
- package/old/index.d.ts +0 -59
- package/old/index.js +0 -288
- package/old/index.js.map +0 -1
- package/old/index.ts +0 -379
- package/old/init.d.ts +0 -8
- package/old/init.js +0 -165
- package/old/init.js.map +0 -1
- package/old/init.ts +0 -183
- package/old/models.d.ts +0 -37
- package/old/models.js +0 -2
- package/old/models.js.map +0 -1
- package/old/models.ts +0 -35
- package/old/prepare.d.ts +0 -8
- package/old/prepare.js +0 -20
- package/old/prepare.js.map +0 -1
- package/old/prepare.ts +0 -24
- package/old/schemas/index.d.ts +0 -0
- package/old/schemas/index.js +0 -2
- package/old/schemas/index.js.map +0 -1
- package/old/schemas/index.ts +0 -0
- package/old/schemas/types.d.ts +0 -0
- package/old/schemas/types.js +0 -2
- package/old/schemas/types.js.map +0 -1
- package/old/schemas/types.ts +0 -0
- package/old/settings.json +0 -67
- package/old/sync.d.ts +0 -2
- package/old/sync.js +0 -88
- package/old/sync.js.map +0 -1
- package/old/sync.ts +0 -97
- package/old/types.d.ts +0 -8
- package/pnpm-workspace.yaml +0 -6
- package/settings/backend-settings.json +0 -19
- package/settings/master-settings.json +0 -20
- package/settings/page-settings.json +0 -21
- package/settings/public-settings.json +0 -22
- package/src/args.ts +0 -121
- package/src/commands/checks.ts +0 -51
- package/src/commands/cleanup.ts +0 -11
- package/src/commands/copy.ts +0 -29
- package/src/commands/edit.ts +0 -81
- package/src/commands/exec.ts +0 -73
- package/src/commands/git.ts +0 -152
- package/src/commands/home.ts +0 -20
- package/src/commands/install.ts +0 -269
- package/src/commands/read.ts +0 -45
- package/src/commands/write.ts +0 -45
- package/src/commands.ts +0 -21
- package/src/config.ts +0 -142
- package/src/error.ts +0 -3
- package/src/helpers.ts +0 -93
- package/src/index.ts +0 -113
- package/src/init/blocks.ts +0 -85
- package/src/init/cargo.ts +0 -25
- package/src/init/expo.ts +0 -69
- package/src/init/gitModules.ts +0 -15
- package/src/init/index.ts +0 -86
- package/src/init/monorepo.ts +0 -72
- package/src/init/prepareVelo.ts +0 -19
- package/src/init/tauri.ts +0 -42
- package/src/init/templates.ts +0 -98
- package/src/init/velo.ts +0 -66
- package/src/policy.ts +0 -6
- package/src/prepare.ts +0 -24
- package/src/runtime.ts +0 -21
- package/src/schemas/gulp.ts +0 -31
- package/src/schemas/index.ts +0 -17
- package/src/schemas/lucy.ts +0 -43
- package/src/schemas/tsconfig.ts +0 -35
- package/src/schemas/types.ts +0 -40
- package/src/settings.json +0 -67
- package/src/states.ts +0 -15
- package/src/tasks/Gulpfile.ts +0 -207
- package/src/tasks/gulp/backend.ts +0 -113
- package/src/tasks/gulp/checks.ts +0 -219
- package/src/tasks/gulp/clean.ts +0 -38
- package/src/tasks/gulp/copy.ts +0 -38
- package/src/tasks/gulp/helpers.ts +0 -18
- package/src/tasks/gulp/pages.ts +0 -43
- package/src/tasks/gulp/pipeline.ts +0 -31
- package/src/tasks/gulp/public.ts +0 -61
- package/src/tasks/gulp/styles.ts +0 -47
- package/src/tasks/gulp/templates.ts +0 -53
- package/src/tasks/gulp/types.ts +0 -310
- package/src/tasks/gulp/watchers.ts +0 -97
- package/src/tasks/index.ts +0 -24
- package/src/tasks/syncSettings.ts +0 -21
- package/src/types.d.ts +0 -8
- package/src/utils/index.ts +0 -0
- package/src/utils/logger.ts +0 -40
- package/src/wix-sdk/check.ts +0 -24
- package/src/wix-sdk/client.ts +0 -18
- package/src/wix-sdk/index.ts +0 -17
- package/src/wix-sdk/init.ts +0 -54
- package/src/wix-sdk/run.ts +0 -56
- package/src/wix-sync/client.ts +0 -6
- package/src/wix-sync/export.ts +0 -19
- package/src/wix-sync/import.ts +0 -27
- package/src/wix-sync/index.ts +0 -36
- package/src/wix-sync/init.ts +0 -77
- package/src/wix-sync/is-alive.ts +0 -25
- package/src/wix-sync/migrate.ts +0 -23
- package/src/wix-sync/sync.ts +0 -27
- package/tsconfig.json +0 -34
package/src/tasks/gulp/types.ts
DELETED
|
@@ -1,310 +0,0 @@
|
|
|
1
|
-
import gulp from 'gulp';
|
|
2
|
-
import * as path from 'path';
|
|
3
|
-
import { File, TaskOptions } from '../../schemas/gulp.js';
|
|
4
|
-
import replace from 'gulp-string-replace';
|
|
5
|
-
import flatmap from 'gulp-flatmap';
|
|
6
|
-
import jeditor from 'gulp-json-editor';
|
|
7
|
-
import * as insert from 'gulp-insert';
|
|
8
|
-
import tap from 'gulp-tap';
|
|
9
|
-
import { TSConfig } from '../../schemas/tsconfig.js';
|
|
10
|
-
import { logger, orange, yellow } from '../../utils/logger.js';
|
|
11
|
-
|
|
12
|
-
export function updateWixTypes(options: TaskOptions) {
|
|
13
|
-
return () => {
|
|
14
|
-
const { publicSettings, backendSettings, masterSettings, pageSettings, replaceOptions } = options;
|
|
15
|
-
let count = 0;
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
// Add module to publicSettings
|
|
19
|
-
publicSettings.compilerOptions.paths['backend/*.web'] = [ "../../../typescript/backend/*.web.ts" ] as never;
|
|
20
|
-
publicSettings.compilerOptions.paths['backend/*.web.js'] = [ "../../../typescript/backend/*.web.ts" ] as never;
|
|
21
|
-
publicSettings.compilerOptions.paths['backend/*'] = [ "../../../typescript/backend/*.web.ts" ] as never;
|
|
22
|
-
publicSettings.compilerOptions.paths['backend/*.jsw'] = [ "../../../typescript/backend/*.jsw.ts" ] as never;
|
|
23
|
-
publicSettings.compilerOptions.paths.mocks = [ "../../../typescript/__mocks__/*" ] as never;
|
|
24
|
-
publicSettings.compilerOptions.paths['types/*'] = [ "../../../typescript/types/*" ] as never;
|
|
25
|
-
publicSettings.compilerOptions.paths['public/*'] = [ "../../../typescript/public/*.ts" ] as never;
|
|
26
|
-
publicSettings.include = [
|
|
27
|
-
"../../../typescript/public/**/*",
|
|
28
|
-
"../../../typescript/__mocks__/**/*",
|
|
29
|
-
// "../../../typescript/backend/**/*.jsw.ts",
|
|
30
|
-
// "../../../typescript/backend/**/*.web.ts",
|
|
31
|
-
// "../../../typescript/backend/**/*.web"
|
|
32
|
-
] as never;
|
|
33
|
-
|
|
34
|
-
// Add module to backendSettings
|
|
35
|
-
backendSettings.compilerOptions.paths.mocks = [ "../../../typescript/__mocks__/*" ] as never;
|
|
36
|
-
backendSettings.compilerOptions.paths['types/*'] = [ `../../../typescript/types/*` ] as never;
|
|
37
|
-
backendSettings.include = [
|
|
38
|
-
"../../../typescript/backend/**/*",
|
|
39
|
-
"../../../typescript/__mocks__/**/*",
|
|
40
|
-
// "../../../typescript/backend/**/*.jsw.ts",
|
|
41
|
-
// "../../../typescript/backend/**/*.web.ts",
|
|
42
|
-
// "../../../typescript/backend/**/*.web"
|
|
43
|
-
] as never;
|
|
44
|
-
// Add module to masterSettings
|
|
45
|
-
masterSettings.compilerOptions.paths['backend/*.web'] = [ "../../../typescript/backend/*.web.ts" ] as never;
|
|
46
|
-
masterSettings.compilerOptions.paths['backend/*.web.js'] = [ "../../../typescript/backend/*.web.ts" ] as never;
|
|
47
|
-
masterSettings.compilerOptions.paths['backend/*'] = [ "../../../typescript/backend/*.web.ts" ] as never;
|
|
48
|
-
masterSettings.compilerOptions.paths['backend/*.jsw'] = [ "../../../typescript/backend/*.jsw.ts" ] as never;
|
|
49
|
-
masterSettings.compilerOptions.paths['types/*'] = [ "../../../typescript/types/*" ] as never;
|
|
50
|
-
masterSettings.include = [
|
|
51
|
-
"../../../typescript/public/**/*",
|
|
52
|
-
"../../../typescript/__mocks__/**/*",
|
|
53
|
-
// "../../../typescript/backend/**/*.jsw.ts",
|
|
54
|
-
// "../../../typescript/backend/**/*.web.ts",
|
|
55
|
-
// "../../../typescript/backend/**/*.web"
|
|
56
|
-
] as never;
|
|
57
|
-
// Add module to pageSettings
|
|
58
|
-
pageSettings.compilerOptions.paths['backend/*.web'] = [ "../../../typescript/backend/*.web.ts" ] as never;
|
|
59
|
-
pageSettings.compilerOptions.paths['backend/*.web.js'] = [ "../../../typescript/backend/*.web.ts" ] as never;
|
|
60
|
-
pageSettings.compilerOptions.paths['backend/*'] = [ "../../../typescript/backend/*.web.ts" ] as never;
|
|
61
|
-
pageSettings.compilerOptions.paths['backend/*.jsw'] = [ "../../../typescript/backend/*.jsw.ts" ] as never;
|
|
62
|
-
pageSettings.compilerOptions.paths['types/*'] = [ "../../../typescript/types/*" ] as never;
|
|
63
|
-
pageSettings.compilerOptions.paths['backend/*.jsw'] = [ "../../../typescript/backend/*.jsw.ts" ] as never;
|
|
64
|
-
pageSettings.include = [
|
|
65
|
-
"../../../typescript/public/**/*",
|
|
66
|
-
"../../../typescript/__mocks__/**/*",
|
|
67
|
-
// "../../../typescript/backend/**/*.jsw.ts",
|
|
68
|
-
// "../../../typescript/backend/**/*.web.ts",
|
|
69
|
-
// "../../../typescript/backend/**/*.web"
|
|
70
|
-
] as never;
|
|
71
|
-
|
|
72
|
-
for (const name of options.modulesSourcePaths) {
|
|
73
|
-
// Add module to publicSettings
|
|
74
|
-
publicSettings.compilerOptions.paths['backend/*.web.js'].push(`../../../${name}/backend/*.web.ts` as never);
|
|
75
|
-
publicSettings.compilerOptions.paths['backend/*.web'].push(`../../../${name}/backend/*.web.ts` as never);
|
|
76
|
-
publicSettings.compilerOptions.paths['backend/*'].push(`../../../${name}/backend/*.web.ts` as never);
|
|
77
|
-
publicSettings.compilerOptions.paths['backend/*.jsw'].push(`../../../${name}/backend/*.jsw.ts` as never);
|
|
78
|
-
publicSettings.compilerOptions.paths['public/*'].push(`../../../${name}/public/*` as never);
|
|
79
|
-
publicSettings.compilerOptions.paths.mocks.push(...[ `../../../${name}/__mocks__/*` as never ]);
|
|
80
|
-
publicSettings.compilerOptions.paths['types/*'].push(`../../../${name}/types/*` as never);
|
|
81
|
-
publicSettings.include.push(...[
|
|
82
|
-
`../../../${name}/public/**/*`,
|
|
83
|
-
`../../../${name}__mocks__/**/*`,
|
|
84
|
-
// `../../../${name}/backend/**/*.jsw.ts`,
|
|
85
|
-
// `../../../${name}/backend/**/*.web.ts`,
|
|
86
|
-
// `../../../${name}/backend/**/*.web`
|
|
87
|
-
] as never[]);
|
|
88
|
-
// Add module to backendSettings
|
|
89
|
-
backendSettings.compilerOptions.paths['public/*'].push(`../../../${name}/public/*` as never);
|
|
90
|
-
backendSettings.compilerOptions.paths['backend/*'].push(`../../../${name}/backend/*` as never);
|
|
91
|
-
backendSettings.compilerOptions.paths.mocks.push(...[ `../../../${name}/__mocks__/*` ] as never[]);
|
|
92
|
-
backendSettings.compilerOptions.paths['types/*'].push(`../../../${name}/types/*` as never);
|
|
93
|
-
backendSettings.include.push(...[
|
|
94
|
-
`../../../${name}/public/**/*`,
|
|
95
|
-
`../../../${name}__mocks__/**/*`,
|
|
96
|
-
`../../../${name}/backend/**/*`,
|
|
97
|
-
// `../../../${name}/backend/**/*.jsw.ts`,
|
|
98
|
-
// `../../../${name}/backend/**/*.web.ts`,
|
|
99
|
-
// `../../../${name}/backend/**/*.web`
|
|
100
|
-
] as never[]);
|
|
101
|
-
// Add module to masterSettings
|
|
102
|
-
masterSettings.compilerOptions.paths['backend/*.web.js'].push(`../../../${name}/backend/*.web.ts` as never);
|
|
103
|
-
masterSettings.compilerOptions.paths['backend/*.web'].push(`../../../${name}/backend/*.web.ts` as never);
|
|
104
|
-
masterSettings.compilerOptions.paths['backend/*'].push(`../../../${name}/backend/*.web.ts` as never);
|
|
105
|
-
masterSettings.compilerOptions.paths['backend/*.jsw'].push(`../../../${name}/backend/*.jsw.ts` as never);
|
|
106
|
-
masterSettings.compilerOptions.paths['public/*'].push(`../../../${name}/public/*` as never);
|
|
107
|
-
masterSettings.compilerOptions.paths['types/*'].push(`../../../${name}/types/*` as never);
|
|
108
|
-
masterSettings.include.push(...[
|
|
109
|
-
`../../../${name}/public/**/*`,
|
|
110
|
-
`../../../${name}__mocks__/**/*`,
|
|
111
|
-
// `../../../${name}/backend/**/*.jsw.ts`,
|
|
112
|
-
// `../../../${name}/backend/**/*.web.ts`,
|
|
113
|
-
// `../../../${name}/backend/**/*.web`
|
|
114
|
-
] as never[]);
|
|
115
|
-
// Add module to pageSettings
|
|
116
|
-
pageSettings.compilerOptions.paths['backend/*.web.js'].push(`../../../${name}/backend/*.web.ts` as never);
|
|
117
|
-
pageSettings.compilerOptions.paths['backend/*.web'].push(`../../../${name}/backend/*.web.ts` as never);
|
|
118
|
-
pageSettings.compilerOptions.paths['backend/*'].push(`../../../${name}/backend/*.web.ts` as never);
|
|
119
|
-
pageSettings.compilerOptions.paths['backend/*.jsw'].push(`../../../${name}/backend/*.jsw.ts` as never);
|
|
120
|
-
pageSettings.compilerOptions.paths['public/*'].push(`../../../${name}/public/*` as never);
|
|
121
|
-
pageSettings.compilerOptions.paths['types/*'].push(`../../../${name}/types/*` as never);
|
|
122
|
-
pageSettings.include.push(...[
|
|
123
|
-
`../../../${name}/public/**/*`,
|
|
124
|
-
`../../../${name}__mocks__/**/*`,
|
|
125
|
-
// `../../../${name}/backend/**/*.jsw.ts`,
|
|
126
|
-
// `../../../${name}/backend/**/*.web.ts`,
|
|
127
|
-
// `../../../${name}/backend/**/*.web`
|
|
128
|
-
] as never[]);
|
|
129
|
-
}
|
|
130
|
-
|
|
131
|
-
return gulp.src(['./.wix/types/**/*.json', '!./.wix/types/wix-code-types/**/*'])
|
|
132
|
-
.pipe(flatmap(function(stream: NodeJS.ReadableStream, file: File) {
|
|
133
|
-
count ++;
|
|
134
|
-
if (file.dirname.endsWith('public')) {
|
|
135
|
-
return stream.pipe(jeditor(publicSettings))
|
|
136
|
-
.pipe(jeditor((json: any) => cleanTsConfig(json)))
|
|
137
|
-
.pipe(jeditor((json: any) => processJson(json)))
|
|
138
|
-
.pipe(replace('"../backend.d.ts",', '', replaceOptions))
|
|
139
|
-
.pipe(replace('"../../../src/backend/\\*\\*/\\*.web.js",', '', replaceOptions));
|
|
140
|
-
}
|
|
141
|
-
if (file.dirname.endsWith('backend')) {
|
|
142
|
-
return stream.pipe(jeditor(backendSettings))
|
|
143
|
-
.pipe(jeditor((json: any) => cleanTsConfig(json)))
|
|
144
|
-
.pipe(jeditor((json: any) => processJson(json)))
|
|
145
|
-
};
|
|
146
|
-
if (file.dirname.endsWith('masterPage')) {
|
|
147
|
-
return stream.pipe(jeditor(masterSettings))
|
|
148
|
-
.pipe(jeditor((json: any) => cleanTsConfig(json)))
|
|
149
|
-
.pipe(jeditor((json: any) => processJson(json)))
|
|
150
|
-
.pipe(replace('"../backend.d.ts",', '', replaceOptions))
|
|
151
|
-
.pipe(replace('"../../../src/backend/\\*\\*/\\*.web.js",', '', replaceOptions));
|
|
152
|
-
};
|
|
153
|
-
|
|
154
|
-
return stream.pipe(jeditor(pageSettings))
|
|
155
|
-
.pipe(jeditor((json: any) => cleanTsConfig(json)))
|
|
156
|
-
.pipe(jeditor((json: any) => processJson(json)))
|
|
157
|
-
.pipe(replace('"../backend.d.ts",', '', replaceOptions))
|
|
158
|
-
.pipe(replace('"../../../src/backend/\\*\\*/\\*.web.js",', '', replaceOptions));
|
|
159
|
-
}))
|
|
160
|
-
.pipe(replace('masterPage.masterPage.js', 'masterPage.ts', replaceOptions))
|
|
161
|
-
.pipe(replace('/src/', '/typescript/', replaceOptions))
|
|
162
|
-
.pipe(replace('.js"', '.ts"', replaceOptions))
|
|
163
|
-
.pipe(tap(function(file) { // tap into the stream to log the output
|
|
164
|
-
// console.debug(file.contents?.toString() ?? 'no content'); TODO: Uncomment when needed
|
|
165
|
-
}))
|
|
166
|
-
.pipe(gulp.dest((file: File) => {
|
|
167
|
-
const filePath = file.dirname;
|
|
168
|
-
const outputDir = path.dirname(filePath);
|
|
169
|
-
|
|
170
|
-
return path.join(outputDir);
|
|
171
|
-
}))
|
|
172
|
-
.on('error', function (e: Error) {
|
|
173
|
-
logger.error('Modification of WIX configs failed!');
|
|
174
|
-
logger.error(`Error: ${orange(e.message)}`);
|
|
175
|
-
this.emit('end');
|
|
176
|
-
})
|
|
177
|
-
.on('end', function() { logger.success(`Modification of ${yellow(count)} WIX configs succeeded!`); });
|
|
178
|
-
}
|
|
179
|
-
}
|
|
180
|
-
|
|
181
|
-
export function addTypes(options: TaskOptions, done: gulp.TaskFunctionCallback) {
|
|
182
|
-
const { replaceOptions } = options;
|
|
183
|
-
|
|
184
|
-
// Regex to match keywords at the beginning of a line, capturing any leading whitespace.
|
|
185
|
-
// The 'm' flag is for multiline matching (^ matches start of line).
|
|
186
|
-
// The 'g' flag is for global matching (replace all instances).
|
|
187
|
-
const interfaceRegex = /^(\s*)interface\s/gm;
|
|
188
|
-
const enumRegex = /^(\s*)enum\s/gm;
|
|
189
|
-
const typeRegex = /^(\s*)type\s/gm;
|
|
190
|
-
|
|
191
|
-
const streams = [
|
|
192
|
-
// Stream for common types
|
|
193
|
-
gulp.src(['./.wix/types/wix-code-types/dist/types/common/*.d.ts', '!./.wix/types/wix-code-types/dist/types/common/$w.d.ts'])
|
|
194
|
-
.pipe(replace(interfaceRegex, 'export interface ', replaceOptions))
|
|
195
|
-
.pipe(replace(enumRegex, 'export enum ', replaceOptions))
|
|
196
|
-
.pipe(replace(typeRegex, 'export type ', replaceOptions))
|
|
197
|
-
.pipe(gulp.dest('./.wix/types/wix-code-types/dist/types/common/')),
|
|
198
|
-
|
|
199
|
-
// Stream for beta types
|
|
200
|
-
gulp.src(['./.wix/types/wix-code-types/dist/types/beta/common/*.d.ts', '!./.wix/types/wix-code-types/dist/types/beta/common/$w.d.ts'])
|
|
201
|
-
.pipe(replace(interfaceRegex, 'export interface ', replaceOptions))
|
|
202
|
-
.pipe(replace(enumRegex, 'export enum ', replaceOptions))
|
|
203
|
-
.pipe(replace(typeRegex, 'export type ', replaceOptions))
|
|
204
|
-
.pipe(gulp.dest('./.wix/types/wix-code-types/dist/types/beta/common/')),
|
|
205
|
-
|
|
206
|
-
// Stream for processing $w.d.ts
|
|
207
|
-
gulp.src(['./.wix/types/wix-code-types/dist/types/common/$w.d.ts'])
|
|
208
|
-
.pipe(insert.prepend("import '@total-typescript/ts-reset';\n"))
|
|
209
|
-
.pipe(gulp.dest('./.wix/types/wix-code-types/dist/types/common/'))
|
|
210
|
-
];
|
|
211
|
-
|
|
212
|
-
let completedStreams = 0;
|
|
213
|
-
let hasErrored = false;
|
|
214
|
-
|
|
215
|
-
streams.forEach(stream => {
|
|
216
|
-
stream.on('end', () => {
|
|
217
|
-
completedStreams++;
|
|
218
|
-
if (completedStreams === streams.length && !hasErrored) {
|
|
219
|
-
logger.success('Updating WIX succeeded!');
|
|
220
|
-
done();
|
|
221
|
-
}
|
|
222
|
-
});
|
|
223
|
-
stream.on('error', (e: Error) => {
|
|
224
|
-
if (!hasErrored) {
|
|
225
|
-
hasErrored = true;
|
|
226
|
-
logger.error('Updating WIX failed!');
|
|
227
|
-
logger.error(`Error: ${orange(e.message)}`);
|
|
228
|
-
done(e);
|
|
229
|
-
}
|
|
230
|
-
});
|
|
231
|
-
});
|
|
232
|
-
};
|
|
233
|
-
function makeHashable(obj: any): any {
|
|
234
|
-
if (Array.isArray(obj)) {
|
|
235
|
-
return obj.map(makeHashable);
|
|
236
|
-
} else if (obj && typeof obj === 'object') {
|
|
237
|
-
const sortedKeys = Object.keys(obj).sort();
|
|
238
|
-
const result: any = {};
|
|
239
|
-
for (const key of sortedKeys) {
|
|
240
|
-
result[key] = makeHashable(obj[key]);
|
|
241
|
-
}
|
|
242
|
-
return result;
|
|
243
|
-
} else {
|
|
244
|
-
return obj;
|
|
245
|
-
}
|
|
246
|
-
}
|
|
247
|
-
|
|
248
|
-
function removeDuplicatesFromArray(arr: any[]): any[] {
|
|
249
|
-
const seen = new Set<string>();
|
|
250
|
-
const newArr: any[] = [];
|
|
251
|
-
|
|
252
|
-
for (const item of arr) {
|
|
253
|
-
const processedItem = processJson(item); // Recursively process the item
|
|
254
|
-
const hashableItem = makeHashable(processedItem);
|
|
255
|
-
const serializedItem = JSON.stringify(hashableItem);
|
|
256
|
-
|
|
257
|
-
if (!seen.has(serializedItem)) {
|
|
258
|
-
seen.add(serializedItem);
|
|
259
|
-
newArr.push(processedItem);
|
|
260
|
-
}
|
|
261
|
-
}
|
|
262
|
-
return newArr;
|
|
263
|
-
}
|
|
264
|
-
|
|
265
|
-
function processJson(obj: any): any {
|
|
266
|
-
if (Array.isArray(obj)) {
|
|
267
|
-
// Process arrays and remove duplicate items
|
|
268
|
-
const uniqueArray = removeDuplicatesFromArray(obj);
|
|
269
|
-
return uniqueArray.length > 0 ? uniqueArray : undefined; // Remove empty arrays
|
|
270
|
-
} else if (obj && typeof obj === 'object') {
|
|
271
|
-
// Process objects, ensuring keys are unique
|
|
272
|
-
const result: any = {};
|
|
273
|
-
const seenKeys = new Set<string>();
|
|
274
|
-
|
|
275
|
-
for (const key in obj) {
|
|
276
|
-
if (Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
277
|
-
if (!seenKeys.has(key)) {
|
|
278
|
-
const processedValue = processJson(obj[key]);
|
|
279
|
-
if (processedValue !== undefined) { // Remove keys with undefined values
|
|
280
|
-
seenKeys.add(key);
|
|
281
|
-
result[key] = processedValue;
|
|
282
|
-
}
|
|
283
|
-
}
|
|
284
|
-
}
|
|
285
|
-
}
|
|
286
|
-
|
|
287
|
-
// If all keys were empty or undefined, return undefined
|
|
288
|
-
return Object.keys(result).length > 0 ? result : undefined;
|
|
289
|
-
} else {
|
|
290
|
-
// Return primitive values as-is
|
|
291
|
-
return obj;
|
|
292
|
-
}
|
|
293
|
-
}
|
|
294
|
-
|
|
295
|
-
function cleanTsConfig(json: TSConfig): TSConfig {
|
|
296
|
-
// const paths: Record<string, string[]> = {};
|
|
297
|
-
if (json.compilerOptions?.paths) {
|
|
298
|
-
for (const [key, value] of Object.entries(json.compilerOptions.paths)) {
|
|
299
|
-
const uniquePaths = new Set(value);
|
|
300
|
-
json.compilerOptions.paths[key] = Array.from(uniquePaths);
|
|
301
|
-
// paths[key] = Array.from(uniquePaths);
|
|
302
|
-
}
|
|
303
|
-
// json.compilerOptions.paths = paths;
|
|
304
|
-
}
|
|
305
|
-
json.include = Array.from(new Set(json.include));
|
|
306
|
-
json.exclude = Array.from(new Set(json.exclude));
|
|
307
|
-
json.files = Array.from(new Set(json.files));
|
|
308
|
-
|
|
309
|
-
return json;
|
|
310
|
-
}
|
|
@@ -1,97 +0,0 @@
|
|
|
1
|
-
import gulp from 'gulp';
|
|
2
|
-
import { buildBackend } from './backend.js';
|
|
3
|
-
import { buildPublic } from './public.js';
|
|
4
|
-
import { buildPages } from './pages.js';
|
|
5
|
-
import { copyFiles } from './copy.js';
|
|
6
|
-
import { previewTemplates } from './templates.js';
|
|
7
|
-
import { checkTs } from './checks.js';
|
|
8
|
-
import { TaskOptions } from '../../schemas/gulp.js';
|
|
9
|
-
import { TaskType } from '../../schemas/types.js';
|
|
10
|
-
|
|
11
|
-
export function watchAll(options: TaskOptions): TaskType {
|
|
12
|
-
function watchSCSS() {
|
|
13
|
-
return gulp.watch([
|
|
14
|
-
'*/styles/**/*.scss'
|
|
15
|
-
],
|
|
16
|
-
gulp.parallel('scss')
|
|
17
|
-
);
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
function watchBackend() {
|
|
21
|
-
return gulp.watch([
|
|
22
|
-
'*/backend/**/*.ts',
|
|
23
|
-
'*/backend/**/*.tsx',
|
|
24
|
-
'!*/backend/**/*.jsw.ts',
|
|
25
|
-
'!src/**/*',
|
|
26
|
-
], gulp.parallel(
|
|
27
|
-
checkTs(options, true),
|
|
28
|
-
buildBackend(options),
|
|
29
|
-
));
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
function watchPublic() {
|
|
33
|
-
return gulp.watch([
|
|
34
|
-
'*/public/**/*.ts',
|
|
35
|
-
'*/public/**/*.tsx',
|
|
36
|
-
'!src/**/*',
|
|
37
|
-
], gulp.parallel(
|
|
38
|
-
checkTs(options, true),
|
|
39
|
-
buildPublic(options),
|
|
40
|
-
));
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
function watchPages() {
|
|
44
|
-
return gulp.watch(['typescript/pages/**/*.ts', '!src/**/*',],
|
|
45
|
-
gulp.parallel(
|
|
46
|
-
checkTs(options, true),
|
|
47
|
-
buildPages(options),
|
|
48
|
-
)
|
|
49
|
-
);
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
function watchFiles() {
|
|
53
|
-
return gulp.watch([
|
|
54
|
-
'*/backend/**/*',
|
|
55
|
-
'*/public/**/*',
|
|
56
|
-
'*/pages/**/*',
|
|
57
|
-
'!*/**/*.ts',
|
|
58
|
-
'!*/**/*.tsx',
|
|
59
|
-
'!src/**/*',
|
|
60
|
-
], gulp.parallel(copyFiles(options)));
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
function watchTemplates() {
|
|
64
|
-
return gulp.watch([
|
|
65
|
-
'*/backend/templates/**/*.tsx',
|
|
66
|
-
'*/backend/templates/data/*.json',
|
|
67
|
-
'!*/backend/templates/render.ts',
|
|
68
|
-
'!src/**/*',
|
|
69
|
-
], gulp.parallel(
|
|
70
|
-
previewTemplates(options),
|
|
71
|
-
checkTs(options, true),
|
|
72
|
-
)
|
|
73
|
-
);
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
function watchTypes() {
|
|
77
|
-
return gulp.watch([
|
|
78
|
-
'./.wix/types/**/*.d.ts',
|
|
79
|
-
'!./.wix/types/wix-code-types',
|
|
80
|
-
'!src/**/*',
|
|
81
|
-
],
|
|
82
|
-
gulp.series(
|
|
83
|
-
'fix-wix-types'
|
|
84
|
-
)
|
|
85
|
-
);
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
return gulp.parallel(
|
|
89
|
-
watchSCSS,
|
|
90
|
-
watchBackend,
|
|
91
|
-
watchPublic,
|
|
92
|
-
watchPages,
|
|
93
|
-
watchFiles,
|
|
94
|
-
watchTemplates,
|
|
95
|
-
watchTypes,
|
|
96
|
-
);
|
|
97
|
-
}
|
package/src/tasks/index.ts
DELETED
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { Effect } from "effect/index"
|
|
2
|
-
import { Config } from "../config.js";
|
|
3
|
-
import { AppError } from "../error.js";
|
|
4
|
-
import { task_runGulp } from "./Gulpfile.js";
|
|
5
|
-
import { task_syncSettings } from "./syncSettings.js";
|
|
6
|
-
import { setNeedsCleanup } from "../index.js";
|
|
7
|
-
export const tasks = Effect.gen(function* (_) {
|
|
8
|
-
const config = yield* Config;
|
|
9
|
-
if(config.config.action.tasksName === undefined) {
|
|
10
|
-
return yield* Effect.fail(new AppError({ message: "No task name provided", cause: new Error("No task name provided") }));
|
|
11
|
-
}
|
|
12
|
-
if(
|
|
13
|
-
config.config.action.tasksName === 'dev'
|
|
14
|
-
|| config.config.action.tasksName === 'build'
|
|
15
|
-
|| config.config.action.tasksName === 'build-prod'
|
|
16
|
-
|| config.config.action.tasksName === 'build-pipeline'
|
|
17
|
-
)
|
|
18
|
-
{
|
|
19
|
-
setNeedsCleanup(true);
|
|
20
|
-
return yield* task_runGulp;
|
|
21
|
-
}
|
|
22
|
-
if(config.config.action.tasksName === 'sync-settings') return yield* task_syncSettings;
|
|
23
|
-
yield* Effect.fail(new AppError({ message: `Unsupported task type: ${config.config.action.tasksName}`, cause: new Error(`Unsupported task type: ${config.config.action.tasksName}`) }));
|
|
24
|
-
})
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { Effect } from "effect/index"
|
|
2
|
-
import { logger } from "../utils/logger.js";
|
|
3
|
-
import { Config } from "../config.js";
|
|
4
|
-
import { writeLucySettings } from "../commands/write.js";
|
|
5
|
-
|
|
6
|
-
export const task_syncSettings = Effect.gen(function*() {
|
|
7
|
-
const config = yield* Config;
|
|
8
|
-
logger.action("Syncing settings...");
|
|
9
|
-
if(config.config.lucySettings.initialized){
|
|
10
|
-
config.config.lucySettings.dependencies = config.config.packageJson.dependencies
|
|
11
|
-
config.config.lucySettings.devDependencies = config.config.packageJson.devDependencies
|
|
12
|
-
config.config.lucySettings.scripts = config.config.packageJson.scripts;
|
|
13
|
-
yield* writeLucySettings;
|
|
14
|
-
|
|
15
|
-
logger.success("Settings synced successfully.");
|
|
16
|
-
return;
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
logger.error("Lucy settings are not initialized. Please run 'lucy init' first.");
|
|
20
|
-
})
|
|
21
|
-
|
package/src/types.d.ts
DELETED
package/src/utils/index.ts
DELETED
|
File without changes
|
package/src/utils/logger.ts
DELETED
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import chalk from "chalk";
|
|
2
|
-
import { error } from "effect/Brand";
|
|
3
|
-
import { info } from "sass";
|
|
4
|
-
|
|
5
|
-
export const orange = chalk.hex('#FFA500');
|
|
6
|
-
export const blue = chalk.blueBright;
|
|
7
|
-
export const green = chalk.greenBright;
|
|
8
|
-
export const red = chalk.redBright;
|
|
9
|
-
export const yellow = chalk.yellow;
|
|
10
|
-
export const magenta = chalk.magentaBright;
|
|
11
|
-
|
|
12
|
-
export const logger = {
|
|
13
|
-
success: (message: string, ...optionalParams: any[]) => {
|
|
14
|
-
console.log("đļ" + green.underline(' => ' + message + optionalParams.map(param => ' ' + param)), ' â
');
|
|
15
|
-
},
|
|
16
|
-
info: (message: string, ...optionalParams: any[]) => {
|
|
17
|
-
console.log("đļ" + blue.underline(' => ' + message + optionalParams.map(param => ' ' + param)), ' âšī¸');
|
|
18
|
-
},
|
|
19
|
-
action: (message: string, ...optionalParams: any[]) => {
|
|
20
|
-
console.log("đ" + blue.underline(' => ' + message + optionalParams.map(param => ' ' + param)));
|
|
21
|
-
},
|
|
22
|
-
exception: (message: string, ...optionalParams: any[]) => {
|
|
23
|
-
console.log("đĨ" + red(' => ' + message + optionalParams.map(param => ' ' + param)));
|
|
24
|
-
},
|
|
25
|
-
error: (message: string, ...optionalParams: any[]) => {
|
|
26
|
-
console.log("đ" + red(' => ' + message + optionalParams.map(param => ' ' + param)));
|
|
27
|
-
},
|
|
28
|
-
warning: (message: string, ...optionalParams: any[]) => {
|
|
29
|
-
console.log("â ī¸" + orange.underline(' => ' + message + optionalParams.map(param => ' ' + param)));
|
|
30
|
-
},
|
|
31
|
-
alert: (message: string, ...optionalParams: any[]) => {
|
|
32
|
-
console.log("đ¨" + yellow.underline(' => ' + message + optionalParams.map(param => ' ' + param)));
|
|
33
|
-
},
|
|
34
|
-
report : (message: string, ...optionalParams: any[]) => {
|
|
35
|
-
console.log("đ" + magenta.underline(' => ' + message + optionalParams.map(param => ' ' + param)));
|
|
36
|
-
},
|
|
37
|
-
kill : (message: string, ...optionalParams: any[]) => {
|
|
38
|
-
console.log("đĒ" + red.underline(' => ' + message + optionalParams.map(param => ' ' + param)));
|
|
39
|
-
}
|
|
40
|
-
};
|
package/src/wix-sdk/check.ts
DELETED
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { Effect, Schema } from "effect/index";
|
|
2
|
-
import { Config } from "../config.js";
|
|
3
|
-
import { AppError } from "../error.js";
|
|
4
|
-
import { logger } from "../utils/logger.js";
|
|
5
|
-
import { createSDKClient } from "./client.js";
|
|
6
|
-
|
|
7
|
-
export const wix_sdk_check = Effect.gen(function* (_) {
|
|
8
|
-
const config = yield* Config;
|
|
9
|
-
const wixSDKSettings = config.config.wixSDKSettings;
|
|
10
|
-
if (!wixSDKSettings) return yield* Effect.fail(new AppError({ message: 'Wix SDK settings not found', cause: new Error('Wix SDK settings not found') }));
|
|
11
|
-
const client = yield* createSDKClient;
|
|
12
|
-
|
|
13
|
-
logger.action(`Checking if the SDK is working`);
|
|
14
|
-
|
|
15
|
-
const res = yield* Effect.tryPromise({
|
|
16
|
-
try: () => client.sites.countSites(),
|
|
17
|
-
catch: (e) => {
|
|
18
|
-
return new AppError({ cause: e, message: 'Error checking if the SDK is working' });
|
|
19
|
-
}
|
|
20
|
-
})
|
|
21
|
-
if(res.count) {
|
|
22
|
-
return logger.success(`SDK for site ${wixSDKSettings.siteId} is alive and working!`);
|
|
23
|
-
}
|
|
24
|
-
})
|
package/src/wix-sdk/client.ts
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { items, collections } from '@wix/data';
|
|
2
|
-
import { sites } from "@wix/sites";
|
|
3
|
-
import { createClient, ApiKeyStrategy } from '@wix/sdk';
|
|
4
|
-
import { Effect } from 'effect/index';
|
|
5
|
-
import { Config } from '../config.js';
|
|
6
|
-
import { AppError } from '../error.js';
|
|
7
|
-
|
|
8
|
-
export const createSDKClient = Effect.gen(function* (_) {
|
|
9
|
-
const config = yield* Config;
|
|
10
|
-
const wixSDKSettings = config.config.wixSDKSettings;
|
|
11
|
-
if (wixSDKSettings) {
|
|
12
|
-
return createClient({
|
|
13
|
-
modules: { items, collections, sites },
|
|
14
|
-
auth: ApiKeyStrategy(wixSDKSettings),
|
|
15
|
-
});
|
|
16
|
-
}
|
|
17
|
-
return yield* Effect.fail(new AppError({ message: "No API key provided", cause: new Error("No API key provided") }));
|
|
18
|
-
});
|
package/src/wix-sdk/index.ts
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { Effect, Schema } from "effect/index"
|
|
2
|
-
import { Config } from "../config.js";
|
|
3
|
-
import { AppError } from "../error.js";
|
|
4
|
-
import { wix_sdk_init } from "./init.js";
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
export const wix_sdk = Effect.gen(function* (_) {
|
|
8
|
-
const config = yield* Config;
|
|
9
|
-
if(config.config.action.wixSDKAction === undefined) {
|
|
10
|
-
return yield* Effect.fail(new AppError({ message: "No wix-sdk action provided", cause: new Error("No wix-sdk action provided") }));
|
|
11
|
-
}
|
|
12
|
-
if(config.config.action.wixSDKAction === 'init')
|
|
13
|
-
{
|
|
14
|
-
return yield* wix_sdk_init;
|
|
15
|
-
}
|
|
16
|
-
yield* Effect.fail(new AppError({ message: `Unsupported wix-sdk action type: ${config.config.action.syncAction}`, cause: new Error(`Unsupported wix-sdk action type: ${config.config.action.syncAction}`) }));
|
|
17
|
-
})
|
package/src/wix-sdk/init.ts
DELETED
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
import { Effect, Schema } from "effect/index";
|
|
2
|
-
import { Config } from "../config.js";
|
|
3
|
-
import Enquirer from "enquirer";
|
|
4
|
-
import { AppError } from "../error.js";
|
|
5
|
-
import { writeWixSDKSettings } from "../commands/write.js";
|
|
6
|
-
import { wixSDKSettings } from "../schemas/index.js";
|
|
7
|
-
import { logger } from "../utils/logger.js";
|
|
8
|
-
import { wix_sdk_check } from "./check.js";
|
|
9
|
-
|
|
10
|
-
export const wix_sdk_init = Effect.gen(function* (_) {
|
|
11
|
-
const config = yield* Config;
|
|
12
|
-
const prompter = new Enquirer();
|
|
13
|
-
|
|
14
|
-
const choice = yield* Effect.tryPromise({
|
|
15
|
-
try: () => prompter.prompt([
|
|
16
|
-
{
|
|
17
|
-
type: 'input',
|
|
18
|
-
name: 'siteId',
|
|
19
|
-
message: 'Enter the Wix SDK site ID',
|
|
20
|
-
initial: config.config.wixSDKSettings?.siteId || 'siteId',
|
|
21
|
-
validate: (value: string) => value.trim() !== '' ? true : 'Site ID cannot be empty'
|
|
22
|
-
},
|
|
23
|
-
{
|
|
24
|
-
type: 'input',
|
|
25
|
-
name: 'apiKey',
|
|
26
|
-
message: 'Enter the Wix SDK API key',
|
|
27
|
-
initial: config.config.wixSDKSettings?.apiKey || 'apiKey',
|
|
28
|
-
validate: (value: string) => value.trim() !== '' ? true : 'API key cannot be empty'
|
|
29
|
-
}
|
|
30
|
-
]),
|
|
31
|
-
catch: (e) => {
|
|
32
|
-
return new AppError({ cause: e, message: 'Error initializing wix-sdk settings' });
|
|
33
|
-
}
|
|
34
|
-
});
|
|
35
|
-
|
|
36
|
-
config.config.wixSDKSettings = yield* Schema.decodeUnknown(wixSDKSettings)(choice)
|
|
37
|
-
yield* writeWixSDKSettings
|
|
38
|
-
|
|
39
|
-
const question = new Enquirer();
|
|
40
|
-
const verify = yield* Effect.tryPromise({
|
|
41
|
-
try: () => question.prompt({
|
|
42
|
-
type: 'confirm',
|
|
43
|
-
name: 'verify',
|
|
44
|
-
message: 'Do you want to verify the wix-sdk settings?',
|
|
45
|
-
}),
|
|
46
|
-
catch: (e) => {
|
|
47
|
-
return new AppError({ cause: e, message: 'Error setting up wix-sdk settings' });
|
|
48
|
-
}
|
|
49
|
-
})
|
|
50
|
-
const verifySDK = yield* Schema.decodeUnknown(Schema.Struct({ verify: Schema.Boolean }))(verify)
|
|
51
|
-
if (verifySDK.verify) yield* wix_sdk_check
|
|
52
|
-
|
|
53
|
-
logger.success(`Velo-sync settings initialized successfully!`);
|
|
54
|
-
})
|