@videinfra/static-website-builder 2.0.2 → 2.0.4

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 (122) hide show
  1. package/.prettierrc +11 -11
  2. package/CHANGELOG.md +214 -210
  3. package/README.md +102 -102
  4. package/bin/builder.js +40 -40
  5. package/eslint.config.js +39 -39
  6. package/gulpfile.js +63 -63
  7. package/init/default/config/config.js +44 -44
  8. package/init/default/src/html/data/global.js +9 -9
  9. package/init/default/src/javascripts/_entries.js +14 -14
  10. package/init/index.js +63 -63
  11. package/init/test/.env +6 -6
  12. package/init/test/.env.local +3 -2
  13. package/init/test/config/config.js +71 -67
  14. package/init/test/src/html/404.twig +12 -12
  15. package/init/test/src/html/data/global.js +10 -10
  16. package/init/test/src/html/env.twig +21 -21
  17. package/init/test/src/html/layouts/base.twig +1 -1
  18. package/init/test/src/html/other.twig +9 -9
  19. package/init/test/src/html/preposition.twig +4 -4
  20. package/init/test/src/javascripts/_entries-alt.js +10 -10
  21. package/init/test/src/javascripts/_entries.js +19 -19
  22. package/init/test/src/javascripts/common.js +13 -13
  23. package/init/test/src/javascripts/main.js +8 -8
  24. package/init/test/src/javascripts/something.ts +9 -9
  25. package/init/test/src/stylesheets/autoprefixer-test.scss +3 -3
  26. package/init/test/src/stylesheets/env-test.scss +28 -28
  27. package/init/test/src/stylesheets/ignore-test.scss +4 -4
  28. package/init/test/src/stylesheets/nested-calc-test.scss +3 -3
  29. package/init/test/src/stylesheets/sub-folder/import-test.scss +2 -2
  30. package/lib/camelize-file-name.js +21 -21
  31. package/lib/generate-gulp-tasks.js +85 -85
  32. package/lib/get-config.js +203 -204
  33. package/lib/get-file-names.js +23 -23
  34. package/lib/get-path.js +102 -102
  35. package/lib/globs-helper.js +243 -243
  36. package/lib/gulp/dynamic-task.js +8 -8
  37. package/lib/gulp/resolve-dynamic-task.js +11 -11
  38. package/lib/gulp/task-before-dest.js +8 -8
  39. package/lib/gulp/task-end.js +10 -10
  40. package/lib/gulp/task-start.js +12 -12
  41. package/lib/gulp/task-watch.js +66 -66
  42. package/lib/init/copy-folder.js +50 -50
  43. package/lib/init/folder-exists.js +10 -10
  44. package/lib/init/get-folder-list.js +16 -16
  45. package/lib/init/merge-package.js +17 -17
  46. package/lib/init/read-package.js +17 -17
  47. package/lib/log-error.js +15 -15
  48. package/lib/merge.js +27 -27
  49. package/lib/run-preprocess.js +32 -32
  50. package/lib/task-order.js +19 -19
  51. package/package.json +68 -68
  52. package/plugins/example/preprocess-config.js +17 -17
  53. package/plugins/example/task.js +55 -55
  54. package/plugins/example.js +38 -38
  55. package/plugins/sass-engine/preprocess-config.js +59 -59
  56. package/plugins/sass.js +41 -41
  57. package/plugins/twig/lodash-filters/filters.js +91 -91
  58. package/plugins/twig/lodash-filters.js +14 -14
  59. package/plugins/twig/symfony-filters/filters.js +102 -102
  60. package/plugins/twig/symfony-filters/preposition_nbsp.js +77 -77
  61. package/plugins/twig/symfony-filters.js +14 -14
  62. package/plugins/twig/symfony-functions/functions.js +31 -31
  63. package/plugins/twig/symfony-functions.js +14 -14
  64. package/plugins/twig-engine/preprocess-config.js +53 -53
  65. package/plugins/twig.js +74 -74
  66. package/tasks/browser-sync/config.js +39 -39
  67. package/tasks/browser-sync/preprocess-config.js +32 -32
  68. package/tasks/browser-sync/task.js +9 -9
  69. package/tasks/clean/config.js +20 -20
  70. package/tasks/clean/preprocess-config.js +19 -19
  71. package/tasks/clean/task.js +7 -7
  72. package/tasks/data/config.js +34 -34
  73. package/tasks/data/data-loader-js.js +14 -14
  74. package/tasks/data/data-loader-json.js +5 -5
  75. package/tasks/data/get-data.js +96 -96
  76. package/tasks/env/config.js +26 -23
  77. package/tasks/env/get-env.js +113 -81
  78. package/tasks/fonts/config.js +24 -24
  79. package/tasks/fonts/task.js +47 -47
  80. package/tasks/global/config.js +7 -7
  81. package/tasks/html/config.js +42 -42
  82. package/tasks/html/task.js +91 -91
  83. package/tasks/icons/config.js +47 -47
  84. package/tasks/icons/preprocess-config.js +60 -60
  85. package/tasks/icons/task.js +56 -56
  86. package/tasks/images/config.js +27 -27
  87. package/tasks/images/task.js +46 -46
  88. package/tasks/javascripts/config.js +69 -69
  89. package/tasks/javascripts/preprocess-config.js +109 -109
  90. package/tasks/javascripts/task.js +86 -86
  91. package/tasks/sitemap/config.js +48 -48
  92. package/tasks/sitemap/preprocess-config.js +18 -18
  93. package/tasks/sitemap/task.js +69 -69
  94. package/tasks/sizereport/config.js +23 -23
  95. package/tasks/sizereport/task.js +16 -16
  96. package/tasks/static/config.js +27 -27
  97. package/tasks/static/task.js +46 -46
  98. package/tasks/stylesheets/config.js +85 -85
  99. package/tasks/stylesheets/preprocess-config.js +41 -41
  100. package/tasks/stylesheets/task.js +73 -73
  101. package/tests/build/build.test.js +153 -153
  102. package/tests/camelize-file-name.test.js +11 -11
  103. package/tests/generate-gulp-tasks.test.js +78 -78
  104. package/tests/glob-helper.test.js +99 -99
  105. package/tests/merge.test.js +10 -10
  106. package/tests/preposition_nbsp.test.js +50 -50
  107. package/tests/run-preprocess.test.js +90 -90
  108. package/tests/sass-stringify.test.js +24 -24
  109. package/tests/sitemap.test.js +12 -12
  110. package/vendor/gulp-rolldown/index.js +151 -151
  111. package/vendor/gulp-rolldown/plugin-raw.js +17 -17
  112. package/vendor/gulp-rolldown/plugin-virtual-entry.js +30 -30
  113. package/vendor/gulp-sass/CHANGELOG.md +168 -168
  114. package/vendor/gulp-sass/LICENSE +20 -20
  115. package/vendor/gulp-sass/README.md +187 -187
  116. package/vendor/gulp-sass/index.js +208 -208
  117. package/vendor/gulp-sass/package.json +61 -61
  118. package/vendor/gulp-sass/sass-stringify.js +32 -32
  119. package/vendor/gulp-twig/LICENSE +20 -20
  120. package/vendor/gulp-twig/README.md +167 -167
  121. package/vendor/gulp-twig/index.js +138 -138
  122. package/vendor/gulp-twig/package.json +44 -44
package/lib/get-path.js CHANGED
@@ -1,102 +1,102 @@
1
- import path from 'path';
2
- import { fileURLToPath } from 'node:url';
3
- import nanomemoize from 'nano-memoize';
4
- import { getConfig } from './get-config.js';
5
-
6
- const __dirname = path.dirname(fileURLToPath(import.meta.url));
7
-
8
- /**
9
- * Returns builder and project specific path configurations merged
10
- *
11
- * @returns {object} Configuration
12
- */
13
-
14
- export const getPathConfig = nanomemoize.nanomemoize(function () {
15
- return getConfig().paths;
16
- });
17
-
18
- /**
19
- * Returns a path relative to the project folder
20
- *
21
- * @param {...any} paths List of paths
22
- * @returns {string} Path
23
- */
24
- export function getProjectPath(...paths) {
25
- return path.resolve(process.env.INIT_CWD || process.cwd(), ...paths);
26
- }
27
-
28
- /**
29
- * Returns a path relative to the builder folder
30
- *
31
- * @param {...any} paths List of paths
32
- * @returns {string} Path
33
- */
34
- export function getBuilderPath(...paths) {
35
- return path.resolve(__dirname, '../', ...paths);
36
- }
37
-
38
- /**
39
- * Returns task source path or paths
40
- *
41
- * @param {string} name Task name
42
- * @param {...string} paths Additional sub paths
43
- * @returns {string|array} Task source path or list of paths
44
- */
45
- export function getSourcePath(name, ...paths) {
46
- const pathConfig = getPathConfig();
47
- const path = pathConfig[name].src;
48
-
49
- if (typeof path === 'string') {
50
- return getProjectPath(pathConfig.src, path, ...paths);
51
- } else if (Array.isArray(path)) {
52
- return path.map((path) => getProjectPath(pathConfig.src, path, ...paths));
53
- } else {
54
- return null;
55
- }
56
- }
57
-
58
- /**
59
- * Returns task source paths
60
- *
61
- * @param {string} name Task name
62
- * @param {...string} paths Additional sub paths
63
- * @returns {array} Task source paths
64
- */
65
- export function getSourcePaths(name, ...paths) {
66
- const path = getSourcePath(name, ...paths);
67
-
68
- if (typeof path === 'string') {
69
- return [path];
70
- } else {
71
- return path;
72
- }
73
- }
74
-
75
- /**
76
- * Returns task destination path
77
- *
78
- * @param {string} [name] Task name
79
- * @param {...string} paths Additional sub paths
80
- * @returns {string} Task destination path
81
- */
82
- export function getDestPath(name, ...paths) {
83
- const pathConfig = getPathConfig();
84
-
85
- if (name) {
86
- return getProjectPath(pathConfig.dest, pathConfig[name].dest || '', ...paths);
87
- } else {
88
- return getProjectPath(pathConfig.dest);
89
- }
90
- }
91
-
92
- /**
93
- * Returns public path
94
- *
95
- * @param {string} [name] Task name
96
- * @returns {string} Task public path
97
- */
98
- export function getPublicPath(name) {
99
- const destFullPath = getDestPath(name);
100
- const destPath = getDestPath();
101
- return destFullPath.replace(destPath, '') + '/';
102
- }
1
+ import path from 'path';
2
+ import { fileURLToPath } from 'node:url';
3
+ import nanomemoize from 'nano-memoize';
4
+ import { getConfig } from './get-config.js';
5
+
6
+ const __dirname = path.dirname(fileURLToPath(import.meta.url));
7
+
8
+ /**
9
+ * Returns builder and project specific path configurations merged
10
+ *
11
+ * @returns {object} Configuration
12
+ */
13
+
14
+ export const getPathConfig = nanomemoize.nanomemoize(function () {
15
+ return getConfig().paths;
16
+ });
17
+
18
+ /**
19
+ * Returns a path relative to the project folder
20
+ *
21
+ * @param {...any} paths List of paths
22
+ * @returns {string} Path
23
+ */
24
+ export function getProjectPath(...paths) {
25
+ return path.resolve(process.env.INIT_CWD || process.cwd(), ...paths);
26
+ }
27
+
28
+ /**
29
+ * Returns a path relative to the builder folder
30
+ *
31
+ * @param {...any} paths List of paths
32
+ * @returns {string} Path
33
+ */
34
+ export function getBuilderPath(...paths) {
35
+ return path.resolve(__dirname, '../', ...paths);
36
+ }
37
+
38
+ /**
39
+ * Returns task source path or paths
40
+ *
41
+ * @param {string} name Task name
42
+ * @param {...string} paths Additional sub paths
43
+ * @returns {string|array} Task source path or list of paths
44
+ */
45
+ export function getSourcePath(name, ...paths) {
46
+ const pathConfig = getPathConfig();
47
+ const path = pathConfig[name].src;
48
+
49
+ if (typeof path === 'string') {
50
+ return getProjectPath(pathConfig.src, path, ...paths);
51
+ } else if (Array.isArray(path)) {
52
+ return path.map((path) => getProjectPath(pathConfig.src, path, ...paths));
53
+ } else {
54
+ return null;
55
+ }
56
+ }
57
+
58
+ /**
59
+ * Returns task source paths
60
+ *
61
+ * @param {string} name Task name
62
+ * @param {...string} paths Additional sub paths
63
+ * @returns {array} Task source paths
64
+ */
65
+ export function getSourcePaths(name, ...paths) {
66
+ const path = getSourcePath(name, ...paths);
67
+
68
+ if (typeof path === 'string') {
69
+ return [path];
70
+ } else {
71
+ return path;
72
+ }
73
+ }
74
+
75
+ /**
76
+ * Returns task destination path
77
+ *
78
+ * @param {string} [name] Task name
79
+ * @param {...string} paths Additional sub paths
80
+ * @returns {string} Task destination path
81
+ */
82
+ export function getDestPath(name, ...paths) {
83
+ const pathConfig = getPathConfig();
84
+
85
+ if (name) {
86
+ return getProjectPath(pathConfig.dest, pathConfig[name].dest || '', ...paths);
87
+ } else {
88
+ return getProjectPath(pathConfig.dest);
89
+ }
90
+ }
91
+
92
+ /**
93
+ * Returns public path
94
+ *
95
+ * @param {string} [name] Task name
96
+ * @returns {string} Task public path
97
+ */
98
+ export function getPublicPath(name) {
99
+ const destFullPath = getDestPath(name);
100
+ const destPath = getDestPath();
101
+ return destFullPath.replace(destPath, '') + '/';
102
+ }