nibula 1.6.0 → 1.6.2

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 (99) hide show
  1. package/.eleventy.js +82 -81
  2. package/CHANGELOG.md +395 -377
  3. package/LICENSE +169 -169
  4. package/NOTICE +4 -4
  5. package/README.md +110 -110
  6. package/bin/create.js +540 -505
  7. package/bin/delegate.js +58 -57
  8. package/bin/nibula.js +302 -302
  9. package/docs/Assistant CLI.md +65 -65
  10. package/docs/Backend.md +201 -201
  11. package/docs/Components.md +140 -140
  12. package/docs/Creating pages.md +69 -69
  13. package/docs/Deploy.md +210 -210
  14. package/docs/Head and SEO.md +139 -139
  15. package/docs/Javascript.md +126 -126
  16. package/docs/Styling with SCSS.md +141 -139
  17. package/nginx.conf +113 -113
  18. package/package.json +69 -69
  19. package/src/backend/.htaccess +6 -6
  20. package/src/backend/_core/composer.json +5 -5
  21. package/src/backend/_core/composer.lock +492 -492
  22. package/src/backend/_core/index.js +267 -267
  23. package/src/backend/_core/index.php +160 -160
  24. package/src/backend/_core/init.js +52 -52
  25. package/src/backend/_core/init.php +33 -33
  26. package/src/backend/_core/modules/RateLimiter.js +58 -58
  27. package/src/backend/_core/modules/RateLimiter.php +30 -30
  28. package/src/backend/_core/modules/Response.js +59 -59
  29. package/src/backend/_core/modules/Response.php +48 -48
  30. package/src/backend/api/protected/example-protected.js +23 -23
  31. package/src/backend/api/protected/example-protected.php +16 -16
  32. package/src/backend/api/public/example-public.js +24 -24
  33. package/src/backend/api/public/example-public.php +16 -16
  34. package/src/backend/database/Database.js +46 -46
  35. package/src/backend/database/Database.php +23 -23
  36. package/src/backend/example.config.js +37 -37
  37. package/src/backend/example.config.php +37 -37
  38. package/src/backend/package.json +17 -17
  39. package/src/backend/web.config +43 -43
  40. package/src/frontend/.htaccess +51 -51
  41. package/src/frontend/404.njk +17 -17
  42. package/src/frontend/assets/brand/favicon.svg +54 -54
  43. package/src/frontend/assets/brand/logo.svg +54 -54
  44. package/src/frontend/components/global/footer.njk +25 -25
  45. package/src/frontend/components/global/header.njk +6 -6
  46. package/src/frontend/components/welcome.njk +115 -115
  47. package/src/frontend/index.njk +8 -8
  48. package/src/frontend/js/global.js +10 -10
  49. package/src/frontend/js/modules/exampleModule.js +2 -2
  50. package/src/frontend/js/pages/404.js +8 -8
  51. package/src/frontend/js/pages/homepage.js +8 -8
  52. package/src/frontend/layouts/base.njk +135 -136
  53. package/src/frontend/layouts/page-components.njk +13 -13
  54. package/src/frontend/llms.njk +17 -17
  55. package/src/frontend/robots.njk +7 -7
  56. package/src/frontend/scss/_global.scss +46 -46
  57. package/src/frontend/scss/_root.scss +13 -13
  58. package/src/frontend/scss/modules/_animations.scss +24 -24
  59. package/src/frontend/scss/modules/_footer.scss +28 -28
  60. package/src/frontend/scss/modules/_header.scss +26 -26
  61. package/src/frontend/scss/modules/_mobile.scss +29 -29
  62. package/src/frontend/scss/modules/_typography.scss +18 -18
  63. package/src/frontend/scss/modules/frameworks/_bootstrap.scss +109 -109
  64. package/src/frontend/scss/modules/frameworks/_bulma.scss +108 -108
  65. package/src/frontend/scss/modules/frameworks/_foundation.scss +137 -137
  66. package/src/frontend/scss/modules/frameworks/_uikit.scss +109 -109
  67. package/src/frontend/scss/pages/404.scss +27 -27
  68. package/src/frontend/scss/pages/homepage.scss +22 -22
  69. package/src/frontend/sitemap.njk +17 -17
  70. package/src/frontend/ts/global.ts +11 -11
  71. package/src/frontend/ts/modules/exampleModule.ts +2 -2
  72. package/src/frontend/ts/pages/404.ts +8 -8
  73. package/src/frontend/ts/pages/homepage.ts +8 -8
  74. package/src/frontend/web.config +51 -51
  75. package/tools/assistant.js +122 -122
  76. package/tools/buildJs.js +39 -39
  77. package/tools/cleanOutput.js +23 -23
  78. package/tools/cli/prompt.js +40 -40
  79. package/tools/cli/ui.js +87 -87
  80. package/tools/config/messages.json +80 -80
  81. package/tools/config/settings.json +130 -130
  82. package/tools/lib/colors.js +17 -17
  83. package/tools/lib/files.js +75 -75
  84. package/tools/lib/logger.js +22 -22
  85. package/tools/lib/outputPath.js +141 -141
  86. package/tools/lib/pageActions.js +146 -146
  87. package/tools/lib/pageArtifacts.js +46 -46
  88. package/tools/lib/pageComponents.js +88 -88
  89. package/tools/lib/pagesData.js +87 -87
  90. package/tools/lib/paths.js +63 -63
  91. package/tools/lib/project.js +54 -54
  92. package/tools/lib/text.js +47 -47
  93. package/tools/lib/validation.js +40 -40
  94. package/tools/res/templates/template.js +7 -7
  95. package/tools/res/templates/template.njk +8 -8
  96. package/tools/res/templates/template.scss +22 -22
  97. package/tools/res/templates/template.ts +8 -8
  98. package/tsconfig.json +24 -24
  99. package/src/frontend/scss/pages/prova.scss +0 -23
package/bin/delegate.js CHANGED
@@ -1,58 +1,59 @@
1
- const fs = require('fs');
2
- const path = require('path');
3
- const { spawnSync } = require('child_process');
4
- const { color } = require('../tools/lib/colors');
5
- const { message } = require('../tools/lib/logger');
6
-
7
- const PACKAGE_NAME = 'nibula';
8
- const NODE_MODULES = 'node_modules';
9
- const ENTRY_FILE = path.join('bin', 'nibula.js');
10
- const PACKAGE_FILE = 'package.json';
11
- const LOCAL_FLAG = 'NIBULA_LOCAL';
12
- const LOCAL_FLAG_VALUE = '1';
13
-
14
- const globalVersion = require(`../${PACKAGE_FILE}`).version;
15
-
16
- function realPath(target) {
17
- try {
18
- return fs.realpathSync(target);
19
- } catch {
20
- return null;
21
- }
22
- }
23
-
24
- function readVersion(packageRoot) {
25
- try {
26
- return JSON.parse(fs.readFileSync(path.join(packageRoot, PACKAGE_FILE), 'utf8')).version;
27
- } catch {
28
- return null;
29
- }
30
- }
31
-
32
- function delegateToLocal(projectRoot) {
33
- if (process.env[LOCAL_FLAG] === LOCAL_FLAG_VALUE) return;
34
-
35
- const localRoot = realPath(path.join(projectRoot, NODE_MODULES, PACKAGE_NAME));
36
- const selfRoot = realPath(path.join(__dirname, '..'));
37
-
38
- if (!localRoot || localRoot === selfRoot) return;
39
-
40
- const localEntry = path.join(localRoot, ENTRY_FILE);
41
- if (!fs.existsSync(localEntry)) return;
42
-
43
- const localVersion = readVersion(localRoot);
44
-
45
- if (localVersion && localVersion !== globalVersion) {
46
- console.log(`${color.dim}${message('cli.usingLocalVersion', { local: localVersion, global: globalVersion })}${color.reset}`);
47
- }
48
-
49
- const result = spawnSync(process.execPath, [localEntry, ...process.argv.slice(2)], {
50
- stdio: 'inherit',
51
- cwd: process.cwd(),
52
- env: { ...process.env, [LOCAL_FLAG]: LOCAL_FLAG_VALUE },
53
- });
54
-
55
- process.exit(result.status ?? 0);
56
- }
57
-
1
+ const fs = require('fs');
2
+ const path = require('path');
3
+ const { spawnSync } = require('child_process');
4
+ const { color } = require('../tools/lib/colors');
5
+ const { message } = require('../tools/lib/logger');
6
+
7
+ const PACKAGE_NAME = 'nibula';
8
+ const NODE_MODULES = 'node_modules';
9
+ const ENTRY_FILE = path.join('bin', 'nibula.js');
10
+ const PACKAGE_FILE = 'package.json';
11
+ const LOCAL_FLAG = 'NIBULA_LOCAL';
12
+ const LOCAL_FLAG_VALUE = '1';
13
+ const GLOBAL_VERSION_FLAG = 'NIBULA_GLOBAL_VERSION';
14
+
15
+ const globalVersion = require(`../${PACKAGE_FILE}`).version;
16
+
17
+ function realPath(target) {
18
+ try {
19
+ return fs.realpathSync(target);
20
+ } catch {
21
+ return null;
22
+ }
23
+ }
24
+
25
+ function readVersion(packageRoot) {
26
+ try {
27
+ return JSON.parse(fs.readFileSync(path.join(packageRoot, PACKAGE_FILE), 'utf8')).version;
28
+ } catch {
29
+ return null;
30
+ }
31
+ }
32
+
33
+ function delegateToLocal(projectRoot) {
34
+ if (process.env[LOCAL_FLAG] === LOCAL_FLAG_VALUE) return;
35
+
36
+ const localRoot = realPath(path.join(projectRoot, NODE_MODULES, PACKAGE_NAME));
37
+ const selfRoot = realPath(path.join(__dirname, '..'));
38
+
39
+ if (!localRoot || localRoot === selfRoot) return;
40
+
41
+ const localEntry = path.join(localRoot, ENTRY_FILE);
42
+ if (!fs.existsSync(localEntry)) return;
43
+
44
+ const localVersion = readVersion(localRoot);
45
+
46
+ if (localVersion && localVersion !== globalVersion) {
47
+ console.log(`${color.dim}${message('cli.usingLocalVersion', { local: localVersion, global: globalVersion })}${color.reset}`);
48
+ }
49
+
50
+ const result = spawnSync(process.execPath, [localEntry, ...process.argv.slice(2)], {
51
+ stdio: 'inherit',
52
+ cwd: process.cwd(),
53
+ env: { ...process.env, [LOCAL_FLAG]: LOCAL_FLAG_VALUE, [GLOBAL_VERSION_FLAG]: globalVersion },
54
+ });
55
+
56
+ process.exit(result.status ?? 0);
57
+ }
58
+
58
59
  module.exports = { delegateToLocal };