lucy-cli 2.0.0-beta.13 → 2.0.0-beta.15

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.
Files changed (172) hide show
  1. package/package.json +7 -2
  2. package/.cursorignore +0 -4
  3. package/.eslintrc.cjs +0 -96
  4. package/.github/funding.yml +0 -2
  5. package/.nvmrc +0 -1
  6. package/.stylelintrc.js +0 -8
  7. package/.wix/debug.log +0 -10
  8. package/.yarnrc.yml +0 -2
  9. package/files/sync-data/data/test.csv +0 -17
  10. package/files/sync-data/files/lucy.jpg +0 -0
  11. package/files/sync-data/schema/test.json +0 -11
  12. package/lucy.jpg +0 -0
  13. package/mitarbeiter-login.html +0 -188
  14. package/old/Gulpfile.d.ts +0 -34
  15. package/old/Gulpfile.js +0 -116
  16. package/old/Gulpfile.js.map +0 -1
  17. package/old/Gulpfile.ts +0 -231
  18. package/old/gulp/backend.d.ts +0 -3
  19. package/old/gulp/backend.js +0 -92
  20. package/old/gulp/backend.js.map +0 -1
  21. package/old/gulp/backend.ts +0 -109
  22. package/old/gulp/checks.d.ts +0 -3
  23. package/old/gulp/checks.js +0 -205
  24. package/old/gulp/checks.js.map +0 -1
  25. package/old/gulp/checks.ts +0 -228
  26. package/old/gulp/clean.d.ts +0 -3
  27. package/old/gulp/clean.js +0 -29
  28. package/old/gulp/clean.js.map +0 -1
  29. package/old/gulp/clean.ts +0 -33
  30. package/old/gulp/copy.d.ts +0 -2
  31. package/old/gulp/copy.js +0 -34
  32. package/old/gulp/copy.js.map +0 -1
  33. package/old/gulp/copy.ts +0 -42
  34. package/old/gulp/helpers.d.ts +0 -2
  35. package/old/gulp/helpers.js +0 -25
  36. package/old/gulp/helpers.js.map +0 -1
  37. package/old/gulp/helpers.ts +0 -26
  38. package/old/gulp/pages.d.ts +0 -2
  39. package/old/gulp/pages.js +0 -37
  40. package/old/gulp/pages.js.map +0 -1
  41. package/old/gulp/pages.ts +0 -40
  42. package/old/gulp/pipeline.d.ts +0 -1
  43. package/old/gulp/pipeline.js +0 -29
  44. package/old/gulp/pipeline.js.map +0 -1
  45. package/old/gulp/pipeline.ts +0 -31
  46. package/old/gulp/public.d.ts +0 -2
  47. package/old/gulp/public.js +0 -50
  48. package/old/gulp/public.js.map +0 -1
  49. package/old/gulp/public.ts +0 -59
  50. package/old/gulp/styles.d.ts +0 -2
  51. package/old/gulp/styles.js +0 -40
  52. package/old/gulp/styles.js.map +0 -1
  53. package/old/gulp/styles.ts +0 -46
  54. package/old/gulp/templates.d.ts +0 -2
  55. package/old/gulp/templates.js +0 -33
  56. package/old/gulp/templates.js.map +0 -1
  57. package/old/gulp/templates.ts +0 -39
  58. package/old/gulp/types.d.ts +0 -4
  59. package/old/gulp/types.js +0 -289
  60. package/old/gulp/types.js.map +0 -1
  61. package/old/gulp/types.ts +0 -311
  62. package/old/gulp/watchers.d.ts +0 -9
  63. package/old/gulp/watchers.js +0 -59
  64. package/old/gulp/watchers.js.map +0 -1
  65. package/old/gulp/watchers.ts +0 -105
  66. package/old/helpers.d.ts +0 -32
  67. package/old/helpers.js +0 -267
  68. package/old/helpers.js.map +0 -1
  69. package/old/helpers.ts +0 -307
  70. package/old/index.d.ts +0 -59
  71. package/old/index.js +0 -288
  72. package/old/index.js.map +0 -1
  73. package/old/index.ts +0 -379
  74. package/old/init.d.ts +0 -8
  75. package/old/init.js +0 -165
  76. package/old/init.js.map +0 -1
  77. package/old/init.ts +0 -183
  78. package/old/models.d.ts +0 -37
  79. package/old/models.js +0 -2
  80. package/old/models.js.map +0 -1
  81. package/old/models.ts +0 -35
  82. package/old/prepare.d.ts +0 -8
  83. package/old/prepare.js +0 -20
  84. package/old/prepare.js.map +0 -1
  85. package/old/prepare.ts +0 -24
  86. package/old/schemas/index.d.ts +0 -0
  87. package/old/schemas/index.js +0 -2
  88. package/old/schemas/index.js.map +0 -1
  89. package/old/schemas/index.ts +0 -0
  90. package/old/schemas/types.d.ts +0 -0
  91. package/old/schemas/types.js +0 -2
  92. package/old/schemas/types.js.map +0 -1
  93. package/old/schemas/types.ts +0 -0
  94. package/old/settings.json +0 -67
  95. package/old/sync.d.ts +0 -2
  96. package/old/sync.js +0 -88
  97. package/old/sync.js.map +0 -1
  98. package/old/sync.ts +0 -97
  99. package/old/types.d.ts +0 -8
  100. package/pnpm-workspace.yaml +0 -6
  101. package/settings/backend-settings.json +0 -19
  102. package/settings/master-settings.json +0 -20
  103. package/settings/page-settings.json +0 -21
  104. package/settings/public-settings.json +0 -22
  105. package/src/args.ts +0 -121
  106. package/src/commands/checks.ts +0 -51
  107. package/src/commands/cleanup.ts +0 -11
  108. package/src/commands/copy.ts +0 -29
  109. package/src/commands/edit.ts +0 -81
  110. package/src/commands/exec.ts +0 -73
  111. package/src/commands/git.ts +0 -152
  112. package/src/commands/home.ts +0 -20
  113. package/src/commands/install.ts +0 -269
  114. package/src/commands/read.ts +0 -45
  115. package/src/commands/write.ts +0 -45
  116. package/src/commands.ts +0 -21
  117. package/src/config.ts +0 -142
  118. package/src/error.ts +0 -3
  119. package/src/helpers.ts +0 -93
  120. package/src/index.ts +0 -113
  121. package/src/init/blocks.ts +0 -85
  122. package/src/init/cargo.ts +0 -25
  123. package/src/init/expo.ts +0 -69
  124. package/src/init/gitModules.ts +0 -15
  125. package/src/init/index.ts +0 -86
  126. package/src/init/monorepo.ts +0 -72
  127. package/src/init/prepareVelo.ts +0 -19
  128. package/src/init/tauri.ts +0 -42
  129. package/src/init/templates.ts +0 -98
  130. package/src/init/velo.ts +0 -66
  131. package/src/policy.ts +0 -6
  132. package/src/prepare.ts +0 -24
  133. package/src/runtime.ts +0 -21
  134. package/src/schemas/gulp.ts +0 -31
  135. package/src/schemas/index.ts +0 -17
  136. package/src/schemas/lucy.ts +0 -43
  137. package/src/schemas/tsconfig.ts +0 -35
  138. package/src/schemas/types.ts +0 -40
  139. package/src/settings.json +0 -67
  140. package/src/states.ts +0 -15
  141. package/src/tasks/Gulpfile.ts +0 -207
  142. package/src/tasks/gulp/backend.ts +0 -113
  143. package/src/tasks/gulp/checks.ts +0 -219
  144. package/src/tasks/gulp/clean.ts +0 -38
  145. package/src/tasks/gulp/copy.ts +0 -38
  146. package/src/tasks/gulp/helpers.ts +0 -18
  147. package/src/tasks/gulp/pages.ts +0 -43
  148. package/src/tasks/gulp/pipeline.ts +0 -31
  149. package/src/tasks/gulp/public.ts +0 -61
  150. package/src/tasks/gulp/styles.ts +0 -47
  151. package/src/tasks/gulp/templates.ts +0 -53
  152. package/src/tasks/gulp/types.ts +0 -310
  153. package/src/tasks/gulp/watchers.ts +0 -97
  154. package/src/tasks/index.ts +0 -24
  155. package/src/tasks/syncSettings.ts +0 -21
  156. package/src/types.d.ts +0 -8
  157. package/src/utils/index.ts +0 -0
  158. package/src/utils/logger.ts +0 -40
  159. package/src/wix-sdk/check.ts +0 -24
  160. package/src/wix-sdk/client.ts +0 -18
  161. package/src/wix-sdk/index.ts +0 -17
  162. package/src/wix-sdk/init.ts +0 -54
  163. package/src/wix-sdk/run.ts +0 -56
  164. package/src/wix-sync/client.ts +0 -6
  165. package/src/wix-sync/export.ts +0 -19
  166. package/src/wix-sync/import.ts +0 -27
  167. package/src/wix-sync/index.ts +0 -36
  168. package/src/wix-sync/init.ts +0 -77
  169. package/src/wix-sync/is-alive.ts +0 -25
  170. package/src/wix-sync/migrate.ts +0 -23
  171. package/src/wix-sync/sync.ts +0 -27
  172. package/tsconfig.json +0 -34
package/package.json CHANGED
@@ -1,9 +1,14 @@
1
1
  {
2
2
  "type": "module",
3
3
  "name": "lucy-cli",
4
- "version": "2.0.0-beta.13",
4
+ "version": "2.0.0-beta.15",
5
5
  "description": "Lucy Framework for WIX Studio Editor",
6
- "main": ".dist/index.js",
6
+ "main": "dist/index.js",
7
+ "files": [
8
+ "dist",
9
+ "lucy",
10
+ "patches"
11
+ ],
7
12
  "repository": {
8
13
  "type": "git",
9
14
  "url": "git+https://github.com/Sunnyside-UP-GmbH/lucy-cli.git"
package/.cursorignore DELETED
@@ -1,4 +0,0 @@
1
- wix-sync.json
2
- wix-sdk-settings.json
3
- .env
4
- settings*
package/.eslintrc.cjs DELETED
@@ -1,96 +0,0 @@
1
- module.exports = {
2
- extends: ['eslint:recommended', 'plugin:import/recommended', 'plugin:jsdoc/recommended', 'plugin:@typescript-eslint/recommended'],
3
- plugins: ['simple-import-sort', 'eslint-plugin-named-import-spacing', '@typescript-eslint'],
4
- parser: '@typescript-eslint/parser',
5
- ignorePatterns: ['src/**/*', '**/types/backend/**/*', '**/types/pages/**/*', '**/types/public/**/*', '**/types/node/**/*', '.wix/**/*', 'coverage/**/*', 'docs/**/*'],
6
- rules: {
7
- quotes: [2, 'single', { 'avoidEscape': true, 'allowTemplateLiterals': true }],
8
- curly: ['error', 'multi-line'],
9
- 'simple-import-sort/imports': 'error',
10
- 'simple-import-sort/exports': 'error',
11
- indent: ['error', 'tab'],
12
- 'no-tabs': 0,
13
- 'semi-style': ['error', 'last'],
14
- semi: [2, 'always'],
15
- 'object-curly-spacing': ['error', 'always'],
16
- 'space-in-parens': ['error', 'never'],
17
- 'newline-before-return': 'error',
18
- 'space-before-blocks': ['error', { functions: 'always', keywords: 'never', classes: 'always' }],
19
- 'comma-spacing': ['error', { before: false, after: true }],
20
- 'no-multi-spaces': ['error'],
21
- 'import/newline-after-import': ['error', { count: 1 }],
22
- 'named-import-spacing/named-import-spacing': 2,
23
- 'no-unused-vars': 'warn',
24
- 'import/no-unresolved': [0],
25
- 'no-forbidden-relative-imports': [0],
26
- '@typescript-eslint/triple-slash-reference': 'off',
27
- '@typescript-eslint/member-ordering': [
28
- 'error',
29
- { classes: ['constructor', 'private-instance-field', 'protected-instance-field', 'public-instance-field', 'public-instance-method', 'private-instance-method'] }
30
- ],
31
- '@typescript-eslint/naming-convention': [
32
- 'error',
33
- {
34
- selector: ['variable', 'function'],
35
- format: ['camelCase'],
36
- leadingUnderscore: 'allow'
37
- },
38
- {
39
- selector: ['objectLiteralProperty'],
40
- format: null,
41
- leadingUnderscore: 'allow'
42
- },
43
- {
44
- selector: 'memberLike',
45
- modifiers: ['private'],
46
- format: ['camelCase'],
47
- leadingUnderscore: 'require'
48
- },
49
- {
50
- selector: 'memberLike',
51
- modifiers: ['protected'],
52
- format: ['camelCase'],
53
- leadingUnderscore: 'require'
54
- },
55
- {
56
- selector: 'memberLike',
57
- modifiers: ['public'],
58
- format: ['camelCase'],
59
- leadingUnderscore: 'forbid'
60
- },
61
- {
62
- selector: ['parameterProperty', 'parameter'],
63
- format: ['camelCase'],
64
- leadingUnderscore: 'forbid'
65
- },
66
- {
67
- selector: 'default',
68
- format: ['UPPER_CASE'],
69
- leadingUnderscore: 'forbid',
70
- trailingUnderscore: 'forbid',
71
- custom: {
72
- regex: '^[A-Z_]+$',
73
- match: true
74
- }
75
- },
76
- {
77
- selector: 'typeLike',
78
- format: ['PascalCase']
79
- },
80
- // Custom rule added
81
- {
82
- selector: 'function',
83
- format: ['UPPER_CASE']
84
- }
85
- ],
86
- },
87
- root: true,
88
- env: {
89
- es6: true,
90
- browser: true,
91
- node: true
92
- },
93
- globals: {
94
- $w: 'readonly'
95
- }
96
- };
@@ -1,2 +0,0 @@
1
- github: Integral-Systems
2
- buy_me_a_coffee: gradlon
package/.nvmrc DELETED
@@ -1 +0,0 @@
1
- 20
package/.stylelintrc.js DELETED
@@ -1,8 +0,0 @@
1
- module.exports = {
2
- overrides: [
3
- {
4
- files: ["**/*.{ts,tsx}"],
5
- customSyntax: "@stylelint/postcss-css-in-js",
6
- },
7
- ],
8
- };
package/.wix/debug.log DELETED
@@ -1,10 +0,0 @@
1
- ----- CLI crash report at 2025-08-10T16:11:35.320Z
2
- Error Trace
3
- FailedToIdentifyProgramFlow: FailedToIdentifyProgramFlow
4
- at _Command.<anonymous> (/Users/gradlon/.nvm/versions/node/v20.11.1/lib/node_modules/@wix/cli/src/program.ts:73:15)
5
- at _Command.emit (node:events:518:28)
6
- at _Command._parseCommand (/Users/gradlon/.nvm/versions/node/v20.11.1/lib/node_modules/node_modules/commander/lib/command.js:1607:14)
7
- at _Command.parseAsync (/Users/gradlon/.nvm/versions/node/v20.11.1/lib/node_modules/node_modules/commander/lib/command.js:1104:16)
8
- at <anonymous> (/Users/gradlon/.nvm/versions/node/v20.11.1/lib/node_modules/@wix/cli/src/index.tsx:80:39)
9
- Error Info
10
- {}
package/.yarnrc.yml DELETED
@@ -1,2 +0,0 @@
1
- nodeLinker: node-modules
2
- npmRegistryServer: "https://registry.npmjs.org/"
@@ -1,17 +0,0 @@
1
- Image,Artist,Location,Description,ID,Name
2
- ../files/lucy.jpg,c1c03e11-024b-4dad-a689-1c3610913b9b,London Bridge,,0451962b-9cd2-4fe2-aa24-f7973d073d75,Little Mermaid
3
- wix:image://v1/fc7570_846eb609b9d640d184345e6309f8768c~mv2.jpg/%20Shop%20till%20you%20drop%20%20%20.JPG#originWidth=1600&originHeight=1067,50072d76-8368-42f7-99ee-0e9296029d75, Bruton Street,"Also known as the “Falling Shopper”, the mural is located on Bruton Lane on the side of a large office building in the heart of the West End district. The piece is over two storeys up and represents a woman falling with a trolley from the top of a building. Banksy’s aim was to point out the dangers of consumerism. The mural was painted in November 2011 in broad daylight. A scaffolding and a tarpaulin were used to make sure nobody caught the artist red-handed. “Shop Till You Drop” is still visible and quite damaged.",0560c783-f374-44f6-b318-908d6de77816, Shop Till You Drop
4
- wix:image://v1/596320_f0681085ac544bea9527272059955ba2~mv2.jpg/46600548_595929587504016_290259145196053.jpg#originWidth=1080&originHeight=1080,777a0f48-b2ff-421e-a435-739081cf05ba,King John Court,,0a910c5e-cf3c-4d92-b911-8db7819296f1,Artemis
5
- wix:image://v1/596320_65dfa944076d44a9a945868d7702331b~mv2.jpeg/IMG_6611.jpeg#originWidth=1000&originHeight=750,59430c6f-11f4-49c5-a7f5-19b855d2b5f3,Shoreditch Underground,,0b75e1d7-073c-44ae-b965-a1fa6bb2c15a,Hey Baby
6
- wix:image://v1/fc7570_dfbf8d18bf2f4d8db98a48b65e491d78~mv2.jpg/Banksy-There-is-Always-Hope.jpg#originWidth=1500&originHeight=1076,50072d76-8368-42f7-99ee-0e9296029d75,South Bank,"Arguably Banksy’s most iconic piece, it appeared in South Bank, London in around 2002. The words ‘There Is Always Hope’ are written just behind a young girl, who can be seen reaching for a balloon in the shape of a heart. Intense debate has raged on over the years regarding the true meaning of this stencil, with a variety of ideas involving love, innocence and – obviously – hope",1c138979-d640-4d53-b390-187a4196db5f,There Is Always Hope
7
- wix:image://v1/596320_a2535724be2c4376b382260f10d7f069~mv2.jpg/BaltimoreBorn.jpg#originWidth=1080&originHeight=827,777a0f48-b2ff-421e-a435-739081cf05ba,Old Street,,297516b7-3389-49ae-b1c7-14a28b4ba76b,Baltimore Born
8
- wix:image://v1/fc7570_221a6ef024794bb69a43a208225643bd~mv2.jpg/street-art-in-london-banksy-graffiti-pai.jpg#originWidth=640&originHeight=428,50072d76-8368-42f7-99ee-0e9296029d75,Portobello Road Market," This piece can be found beside Regent’s Canal tunnel and under the London Transport Police Headquarters in Camden. The mural, painted in 2009, represents a city worker covering the work of another graffiti artist painted in 1985 with grey wallpaper. This wall became the battleground of a graffiti war between Banksy and the deceased London graffiti legend King Robbo. Shortly after, Robbo struck back and covered Banksy’s piece on the pretext that he broke the underground code of conduct. The wall undergone eight other modifications from both artists. The feud stopped when King Robbo was hospitalised for life-threatening head injuries. When Banksy heard about King Robbo’s serious health condition, he painted an ode to Robbo’s original graffiti piece. As a tribute to Robbo, the mural was restored to its original form with slight changes.",414c339e-0300-44b9-b8a4-376d8f0acbca, Graffiti Painter
9
- wix:image://v1/596320_057219a2167d4b6dbdac4ffc8bf70012~mv2.jpg/G.%20Davis%20is%20Innocent%20OK.jpg#originWidth=1200&originHeight=800,777a0f48-b2ff-421e-a435-739081cf05ba,Sclater Street,,63d5d8d0-3939-4c68-b641-8e93e7bc61f5,G. Davis is Innocent OK
10
- wix:image://v1/fc7570_d259e3c970094cb3a2cdec0c8e28eb93~mv2.png/Screenshot%20at%20Mar%2005%2011-13-56.png#originWidth=1702&originHeight=1176,50072d76-8368-42f7-99ee-0e9296029d75,Rivington Street Shoreditch,"Banksy’s mural is located on Essex Road, North London. Painted in 2008 on the side of a pharmacy, Banksy’s work depicts a group of three children pledging their allegiance to the British supermarket chain Tesco. One of them is raising a flag composed by a Tesco carrier bag. Even though it was quickly covered in perspex, “Very Little Help” has been vandalised on several occasions and it is currently partially damaged. The flag has been painted over and replaced with a tag from Robbo.",696f7b91-cd61-4a6c-a5f8-06fe1e916354,Tesco Kids
11
- wix:image://v1/596320_e970850a978147cf89d49d62e0442736~mv2.jpg/ad2dd_Jose-Mendez-1.jpg#originWidth=470&originHeight=470,59430c6f-11f4-49c5-a7f5-19b855d2b5f3,Shoreditch,,6d779be3-bc57-49e0-b1a7-291d9429bbf8,Happy Walk
12
- wix:image://v1/596320_25360281cc7e491bb4870bd5d32e909f~mv2.jpg/Garden+Of+Desire6+WEB.jpg#originWidth=709&originHeight=653,59430c6f-11f4-49c5-a7f5-19b855d2b5f3,Shoreditch,,7242d0da-73b7-431e-abaa-7efc18fa56f0,Garden of Desire
13
- wix:image://v1/596320_c29d9c5caa03466ebe86d216f0c652f1~mv2.jpg/ben-wilson8_orig.jpg#originWidth=796&originHeight=800,c1c03e11-024b-4dad-a689-1c3610913b9b,London Bridge,,7bd23aac-2bce-4a69-8907-69152838ba82,London Sky
14
- wix:image://v1/596320_1f2d833d379047579240f9f0e9c1ddad~mv2.jpg/1.jpg#originWidth=1000&originHeight=1000,59430c6f-11f4-49c5-a7f5-19b855d2b5f3,Shoreditch,,aed627a9-47da-404d-96ee-42e042eb6602,Red Gallery Window
15
- wix:image://v1/596320_e8f7ee11aaa9428bb25233cf1304cb54~mv2.jpg/fingercrossed.jpg#originWidth=640&originHeight=640,777a0f48-b2ff-421e-a435-739081cf05ba,Brick Lane,,c1ba82f3-fd79-4860-87ce-d894c15c98fb,Fingers Crossed
16
- wix:image://v1/596320_44bc2bdb102a48f3ae6e596bb2d2806c~mv2.jpg/tn_IMG_5069.jpg#originWidth=555&originHeight=740,c1c03e11-024b-4dad-a689-1c3610913b9b,London Bridge,,c2e3c665-664b-4797-a91f-f59559497ad2,I'll Quit Tomorrow
17
- wix:image://v1/596320_1e8978648f0e4e56b79712f03ff80fa7~mv2.jpg/tn_IMG_0369-001.jpg#originWidth=864&originHeight=837,c1c03e11-024b-4dad-a689-1c3610913b9b,Old Street,,d5e474f2-7faf-47be-9702-27cbab81d0e7,BW Face
Binary file
@@ -1,11 +0,0 @@
1
- {
2
- "keyField": "ID",
3
- "fields": {
4
- "Image": "Image",
5
- "Artist": "Reference",
6
- "Location": "string",
7
- "Description": "string",
8
- "ID": "string",
9
- "Name": "string"
10
- }
11
- }
package/lucy.jpg DELETED
Binary file
@@ -1,188 +0,0 @@
1
- <!DOCTYPE html>
2
- <html lang="de">
3
- <head>
4
- <meta charset="UTF-8">
5
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
- <title>Mitarbeiter Login</title>
7
- <style>
8
- @import url('https://fonts.googleapis.com/css2?family=Barlow+Semi+Condensed&display=swap');
9
-
10
- * {
11
- margin: 0;
12
- padding: 0;
13
- box-sizing: border-box;
14
- }
15
-
16
- body {
17
- font-family: 'Barlow Semi Condensed', sans-serif;
18
- height: 100vh;
19
- display: flex;
20
- justify-content: center;
21
- align-items: center;
22
- background-color: #f0f0f0;
23
- }
24
-
25
- .login-container {
26
- position: relative;
27
- width: 1200px;
28
- height: 1920px;
29
- border-radius: 20px;
30
- overflow: hidden;
31
- background: radial-gradient(ellipse at center,
32
- rgba(122,206,255,1) 0%,
33
- rgba(92,187,243,1) 10.677%,
34
- rgba(61,168,231,1) 21.354%,
35
- rgba(31,148,218,1) 32.031%,
36
- rgba(15,139,212,1) 37.37%,
37
- rgba(0,129,206,1) 42.708%,
38
- rgba(14,111,169,1) 51.563%,
39
- rgba(28,93,132,1) 60.417%,
40
- rgba(41,74,94,1) 69.271%,
41
- rgba(55,56,57,1) 78.125%);
42
- }
43
-
44
- .login-button {
45
- position: absolute;
46
- top: 50%;
47
- left: 50%;
48
- transform: translate(-50%, -50%);
49
- width: 440px;
50
- height: 440px;
51
- background-color: #ffffff;
52
- border-radius: 9999px;
53
- display: flex;
54
- align-items: center;
55
- justify-content: center;
56
- padding: 10px 24px;
57
- box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
58
- }
59
-
60
- .login-text {
61
- font-family: 'Barlow Semi Condensed', sans-serif;
62
- font-size: 56px;
63
- font-weight: 400;
64
- color: #363839;
65
- text-align: center;
66
- line-height: 1;
67
- }
68
-
69
- .instruction-text {
70
- position: absolute;
71
- top: 608px;
72
- left: 50%;
73
- transform: translateX(-50%);
74
- width: 1030px;
75
- height: 102px;
76
- display: flex;
77
- align-items: center;
78
- justify-content: center;
79
- font-family: 'Barlow Semi Condensed', sans-serif;
80
- font-size: 56px;
81
- font-weight: 400;
82
- color: #ffffff;
83
- text-align: center;
84
- line-height: 1;
85
- }
86
-
87
- .icon-button {
88
- position: absolute;
89
- bottom: 20px;
90
- left: 14px;
91
- width: 80px;
92
- height: 80px;
93
- background-color: #363839;
94
- border-radius: 100px;
95
- display: flex;
96
- align-items: center;
97
- justify-content: center;
98
- border: 4px solid #ffffff;
99
- }
100
-
101
- .icon {
102
- width: 50px;
103
- height: 50px;
104
- position: relative;
105
- }
106
-
107
- .icon-inner {
108
- position: absolute;
109
- top: 16.667%;
110
- left: 16.667%;
111
- width: 66.666%;
112
- height: 66.666%;
113
- background-color: #ffffff;
114
- border-radius: 8px;
115
- }
116
-
117
- .logo {
118
- position: absolute;
119
- bottom: 95px;
120
- right: 98px;
121
- width: 600px;
122
- height: 125px;
123
- background-color: rgba(255, 255, 255, 0.1);
124
- border-radius: 10px;
125
- display: flex;
126
- align-items: center;
127
- justify-content: center;
128
- color: #ffffff;
129
- font-size: 24px;
130
- }
131
-
132
- /* Responsive adjustments */
133
- @media (max-width: 1200px) {
134
- .login-container {
135
- width: 100vw;
136
- height: 100vh;
137
- border-radius: 0;
138
- }
139
-
140
- .login-button {
141
- width: 300px;
142
- height: 300px;
143
- }
144
-
145
- .login-text {
146
- font-size: 40px;
147
- }
148
-
149
- .instruction-text {
150
- width: 90%;
151
- font-size: 40px;
152
- }
153
-
154
- .logo {
155
- width: 400px;
156
- height: 80px;
157
- right: 20px;
158
- bottom: 60px;
159
- }
160
- }
161
- </style>
162
- </head>
163
- <body>
164
- <div class="login-container">
165
- <!-- Main Login Button -->
166
- <div class="login-button">
167
- <div class="login-text">LOGIN</div>
168
- </div>
169
-
170
- <!-- Instruction Text -->
171
- <div class="instruction-text">
172
- <p>Mitarbeiterausweis an das Gerät halten.</p>
173
- </div>
174
-
175
- <!-- Icon Button -->
176
- <div class="icon-button">
177
- <div class="icon">
178
- <div class="icon-inner"></div>
179
- </div>
180
- </div>
181
-
182
- <!-- Logo Placeholder -->
183
- <div class="logo">
184
- [Logo Placeholder]
185
- </div>
186
- </div>
187
- </body>
188
- </html>
package/old/Gulpfile.d.ts DELETED
@@ -1,34 +0,0 @@
1
- import gulpSass from 'gulp-sass';
2
- import backendSettings from '../settings/backend-settings.json';
3
- import masterSettings from '../settings/master-settings.json';
4
- import pageSettings from '../settings/page-settings.json';
5
- import publicSettings from '../settings/public-settings.json';
6
- import { ModuleSettings, ProjectSettings } from './index.js';
7
- export type TaskOptions = {
8
- moduleSettings?: ModuleSettings;
9
- projectSettings?: ProjectSettings;
10
- enableIncrementalBuild: boolean;
11
- outputDir: string;
12
- sass: ReturnType<typeof gulpSass>;
13
- userHomeDir: string;
14
- replaceOptions: typeof replaceOptions;
15
- backendSettings: typeof backendSettings;
16
- masterSettings: typeof masterSettings;
17
- pageSettings: typeof pageSettings;
18
- publicSettings: typeof publicSettings;
19
- modulesSync: Record<string, string> | undefined;
20
- modulesSourcePaths: string[];
21
- cwd: string;
22
- isWatching?: boolean;
23
- };
24
- export interface File {
25
- path: string;
26
- dirname: string;
27
- }
28
- declare const replaceOptions: {
29
- logs: {
30
- enabled: boolean;
31
- };
32
- };
33
- export declare function runTask(task: string, moduleSettings: ModuleSettings, projectSettings: ProjectSettings): Promise<void>;
34
- export {};
package/old/Gulpfile.js DELETED
@@ -1,116 +0,0 @@
1
- import gulp from 'gulp';
2
- import gulpSass from 'gulp-sass';
3
- import shell from 'gulp-shell';
4
- import * as os from 'os';
5
- import * as dartSass from 'sass';
6
- import backendSettings from '../settings/backend-settings.json' with { type: "json" };
7
- ;
8
- import masterSettings from '../settings/master-settings.json' with { type: "json" };
9
- ;
10
- import pageSettings from '../settings/page-settings.json' with { type: "json" };
11
- ;
12
- import publicSettings from '../settings/public-settings.json' with { type: "json" };
13
- ;
14
- import { buildPublic } from './gulp/public.js';
15
- import { buildBackend, buildBackendJSW } from './gulp/backend.js';
16
- import { checkPages, checkTs } from './gulp/checks.js';
17
- import { compileScss } from './gulp/styles.js';
18
- import { buildPages } from './gulp/pages.js';
19
- import { previewTemplates } from './gulp/templates.js';
20
- import { copyFiles } from './gulp/copy.js';
21
- import { cleanSrc, cleanWix } from './gulp/clean.js';
22
- import { addTypes, updateWixTypes } from './gulp/types.js';
23
- import { setProdConfig } from './gulp/pipeline.js';
24
- import { watchAll } from './gulp/watchers.js';
25
- import { blue, green, magenta, orange, red } from './index.js';
26
- import { getModulesSourcePaths, getModulesSync } from './gulp/helpers.js';
27
- const sass = gulpSass(dartSass);
28
- const outputDir = './src';
29
- const userHomeDir = os.homedir();
30
- const replaceOptions = {
31
- logs: {
32
- enabled: false
33
- }
34
- };
35
- const taskOptions = {
36
- enableIncrementalBuild: false,
37
- outputDir,
38
- sass,
39
- userHomeDir,
40
- pageSettings,
41
- publicSettings,
42
- backendSettings,
43
- masterSettings,
44
- replaceOptions,
45
- cwd: process.cwd(),
46
- modulesSync: getModulesSync(),
47
- modulesSourcePaths: getModulesSourcePaths(),
48
- };
49
- const watchTaskOptions = { ...taskOptions, isWatching: true };
50
- gulp.task('check-ts', gulp.parallel(checkTs(taskOptions)));
51
- gulp.task('scss', gulp.parallel(compileScss(taskOptions)));
52
- gulp.task('build-backend', gulp.parallel(buildBackend(taskOptions), buildBackendJSW(taskOptions)));
53
- gulp.task('build-public', gulp.parallel(buildPublic(taskOptions)));
54
- gulp.task('preview-templates', gulp.parallel(previewTemplates(taskOptions)));
55
- gulp.task('copy-files', gulp.parallel(copyFiles(taskOptions)));
56
- gulp.task('test', function () {
57
- return shell.task(['yarn test'], { ignoreErrors: true })().then(() => {
58
- console.log("🐕" + blue.underline.bold(' => Exited test task!'));
59
- }).catch(err => {
60
- console.log("💩" + red.underline.bold(' => Error in test task!'));
61
- });
62
- });
63
- gulp.task('test-ci', function () {
64
- return shell.task(['yarn test --run'], { ignoreErrors: true })().then(() => {
65
- console.log("🐕" + blue.underline.bold(' => Exited test task!'));
66
- }).catch(err => {
67
- console.log("💩" + red.underline.bold(' => Error in test task!'));
68
- });
69
- });
70
- gulp.task('sync-types', shell.task([
71
- 'yarn postinstall',
72
- ]));
73
- gulp.task('fix-wixtypes', gulp.parallel(updateWixTypes(taskOptions)));
74
- gulp.task('add-wix-types', function (done) {
75
- return addTypes(taskOptions, done);
76
- });
77
- gulp.task('set-production', gulp.parallel(setProdConfig()));
78
- gulp.task('start-wix', shell.task([
79
- 'yarn wix:dev',
80
- ]));
81
- gulp.task('gen-docs', shell.task([
82
- 'yarn docs',
83
- ]));
84
- gulp.task('fix-wix', gulp.series(cleanWix(), 'sync-types', 'fix-wixtypes', 'add-wix-types'));
85
- gulp.task('build', gulp.parallel('build-backend', 'build-public', 'preview-templates', buildPages(taskOptions), compileScss(taskOptions), 'copy-files'));
86
- gulp.task('build-pipeline', gulp.series(cleanSrc(taskOptions), 'set-production', 'check-ts', 'fix-wixtypes', 'add-wix-types', 'test-ci', 'build'));
87
- gulp.task('build-prod', gulp.series((done) => checkPages(true, false).then(() => done(), (err) => done(err)), cleanSrc(taskOptions), 'set-production', 'fix-wix', 'check-ts', 'test-ci', 'build-backend', 'build-public', buildPages(taskOptions), 'copy-files', compileScss(taskOptions)));
88
- gulp.task('start-dev-env', gulp.parallel(watchAll(watchTaskOptions), 'test', 'start-wix', 'check-ts', (done) => checkPages(false, taskOptions.moduleSettings?.force ?? false).then(() => done(), (err) => done(err))));
89
- gulp.task('dev', gulp.series(cleanSrc(taskOptions), 'fix-wix', 'build', 'start-dev-env'));
90
- async function gulpTaskRunner(task) {
91
- return new Promise(function (resolve, reject) {
92
- gulp.series(task, (done) => {
93
- resolve(true);
94
- done();
95
- })(function (err) {
96
- if (err) {
97
- console.log((`💩 ${red.underline.bold("=> Error starting tasks =>")} ${orange(err)}`));
98
- reject(err);
99
- }
100
- });
101
- });
102
- }
103
- export async function runTask(task, moduleSettings, projectSettings) {
104
- taskOptions.cwd = moduleSettings.targetFolder;
105
- taskOptions.moduleSettings = moduleSettings;
106
- taskOptions.projectSettings = projectSettings;
107
- console.log("🐕" + magenta.underline(' => Starting Task => ' + orange(task)));
108
- try {
109
- await gulpTaskRunner(task);
110
- }
111
- catch (err) {
112
- console.log((`💩 ${red.underline.bold("=> Error starting tasks =>")} ${orange(err)}`));
113
- }
114
- console.log("🐶" + green.underline.bold(' => Task completed: ' + task));
115
- }
116
- //# sourceMappingURL=Gulpfile.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Gulpfile.js","sourceRoot":"","sources":["Gulpfile.ts"],"names":[],"mappings":"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"}