b13-rocket 0.8.9 → 0.8.11
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/README.md +17 -0
- package/index.js +2 -1
- package/package.json +12 -12
- package/src/build.js +34 -10
- package/src/cli.js +0 -0
- package/src/vite/vite.config.js +6 -2
package/README.md
CHANGED
|
@@ -82,6 +82,11 @@ export const config = definePackageConfig({
|
|
|
82
82
|
postcss: {
|
|
83
83
|
sortMediaQueries: true, // default: true
|
|
84
84
|
},
|
|
85
|
+
sass: {
|
|
86
|
+
// Optional: silence Dart Sass deprecation warnings per package
|
|
87
|
+
// e.g. "slash-div" (removed in Sass 2.0) and "import" (removed in Sass 3.0)
|
|
88
|
+
silenceDeprecations: silenceDeprecations: ['slash-div', 'import', 'color-functions', 'global-builtin', 'mixed-decls', 'strict-unary'],
|
|
89
|
+
},
|
|
85
90
|
viteConfig: {
|
|
86
91
|
// Override Vite config for this package
|
|
87
92
|
resolve: {
|
|
@@ -106,6 +111,18 @@ export const config = definePackageConfig({
|
|
|
106
111
|
});
|
|
107
112
|
```
|
|
108
113
|
|
|
114
|
+
Silence specific Dart Sass deprecation warnings for one package:
|
|
115
|
+
|
|
116
|
+
```js
|
|
117
|
+
export const config = definePackageConfig({
|
|
118
|
+
name: 'legacy-package',
|
|
119
|
+
// ...
|
|
120
|
+
sass: {
|
|
121
|
+
silenceDeprecations: ['slash-div', 'import', 'color-functions', 'global-builtin', 'mixed-decls', 'strict-unary'],
|
|
122
|
+
},
|
|
123
|
+
});
|
|
124
|
+
```
|
|
125
|
+
|
|
109
126
|
---
|
|
110
127
|
|
|
111
128
|
## Extract CSS
|
package/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export function definePackageConfig({ name = '', input = '', output = '', root = '', viteConfig = {}, postcss = {} }) {
|
|
1
|
+
export function definePackageConfig({ name = '', input = '', output = '', root = '', viteConfig = {}, postcss = {}, sass = {} }) {
|
|
2
2
|
|
|
3
3
|
return {
|
|
4
4
|
name,
|
|
@@ -7,5 +7,6 @@ export function definePackageConfig({ name = '', input = '', output = '', root =
|
|
|
7
7
|
root,
|
|
8
8
|
viteConfig,
|
|
9
9
|
postcss,
|
|
10
|
+
sass,
|
|
10
11
|
};
|
|
11
12
|
}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "b13-rocket",
|
|
3
3
|
"description": "FE CLI build tool",
|
|
4
|
-
"version": "0.8.
|
|
4
|
+
"version": "0.8.11",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"engines": {
|
|
7
7
|
"node": ">=v16.13.0",
|
|
@@ -18,21 +18,21 @@
|
|
|
18
18
|
},
|
|
19
19
|
"main": "index.js",
|
|
20
20
|
"dependencies": {
|
|
21
|
-
"autoprefixer": "^10.4.
|
|
22
|
-
"browserslist": "^4.
|
|
23
|
-
"chalk": "^5.
|
|
24
|
-
"cssnano": "^7.
|
|
21
|
+
"autoprefixer": "^10.4.27",
|
|
22
|
+
"browserslist": "^4.28.2",
|
|
23
|
+
"chalk": "^5.6.2",
|
|
24
|
+
"cssnano": "^7.1.4",
|
|
25
25
|
"minimist": "^1.2.8",
|
|
26
|
-
"postcss": "^8.
|
|
26
|
+
"postcss": "^8.5.8",
|
|
27
27
|
"postcss-nested": "^7.0.2",
|
|
28
|
-
"postcss-preset-env": "^10.
|
|
28
|
+
"postcss-preset-env": "^10.6.1",
|
|
29
29
|
"postcss-sort-media-queries": "^5.2.0",
|
|
30
|
-
"sass": "^1.
|
|
31
|
-
"sharp": "
|
|
32
|
-
"svgo": "^3.
|
|
30
|
+
"sass": "^1.98.0",
|
|
31
|
+
"sharp": "latest",
|
|
32
|
+
"svgo": "^3.3.3",
|
|
33
33
|
"tsconfig": "^7.0.0",
|
|
34
|
-
"vite": "^5.4.
|
|
35
|
-
"vite-plugin-image-optimizer": "^1.1.
|
|
34
|
+
"vite": "^5.4.21",
|
|
35
|
+
"vite-plugin-image-optimizer": "^1.1.9",
|
|
36
36
|
"vite-plugin-require-support": "^1.6.1",
|
|
37
37
|
"vite-svg-loader": "^4.0.0"
|
|
38
38
|
},
|
package/src/build.js
CHANGED
|
@@ -2,6 +2,18 @@ import { build as viteBuild, defineConfig, mergeConfig , createServer, loadEnv}
|
|
|
2
2
|
import { createDefaultViteConfig } from './vite/vite.config.js';
|
|
3
3
|
import fs from 'node:fs';
|
|
4
4
|
|
|
5
|
+
const normalizeSassSilenceDeprecations = (silenceDeprecations) => {
|
|
6
|
+
if (typeof silenceDeprecations === 'string') {
|
|
7
|
+
return [silenceDeprecations];
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
if (!Array.isArray(silenceDeprecations)) {
|
|
11
|
+
return [];
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
return [...new Set(silenceDeprecations.filter(value => typeof value === 'string' && value.length > 0))];
|
|
15
|
+
};
|
|
16
|
+
|
|
5
17
|
// post process manifest json
|
|
6
18
|
// remove all css files starting with 'external-' from manifest.json entry file
|
|
7
19
|
const postProcessManifest = (manifestPath = '') => {
|
|
@@ -34,9 +46,11 @@ const postProcessManifest = (manifestPath = '') => {
|
|
|
34
46
|
});
|
|
35
47
|
}
|
|
36
48
|
|
|
37
|
-
async function vite(config = {}, sharedViteConfig = {}, enableServer = false) {
|
|
49
|
+
async function vite(config = {}, sharedViteConfig = {}, enableServer = false, mode = 'production') {
|
|
38
50
|
const defaultViteConfig = createDefaultViteConfig({
|
|
39
51
|
sortMediaQueries: config?.postcss?.sortMediaQueries !== false,
|
|
52
|
+
sassSilenceDeprecations: normalizeSassSilenceDeprecations(config?.sass?.silenceDeprecations),
|
|
53
|
+
mode,
|
|
40
54
|
});
|
|
41
55
|
|
|
42
56
|
let viteConfig = mergeConfig(
|
|
@@ -76,16 +90,24 @@ async function vite(config = {}, sharedViteConfig = {}, enableServer = false) {
|
|
|
76
90
|
viteConfig.mode = 'development';
|
|
77
91
|
|
|
78
92
|
if (process.env.DDEV_PRIMARY_URL !== undefined) {
|
|
93
|
+
const hmrServerDefaults = {
|
|
94
|
+
host: true,
|
|
95
|
+
origin: `${process.env.DDEV_PRIMARY_URL.replace(/:\d+$/, '')}:${vitePort}`,
|
|
96
|
+
cors: {
|
|
97
|
+
origin: /https?:\/\/([A-Za-z0-9\-.]+)?(\.ddev\.site)(?::\d+)?$/,
|
|
98
|
+
},
|
|
99
|
+
};
|
|
100
|
+
const userServerConfig = viteConfig?.server || {};
|
|
101
|
+
const mergedServerConfig = mergeConfig(
|
|
102
|
+
hmrServerDefaults,
|
|
103
|
+
userServerConfig,
|
|
104
|
+
false,
|
|
105
|
+
);
|
|
106
|
+
|
|
79
107
|
const server = await createServer({
|
|
80
108
|
...viteConfig,
|
|
81
109
|
configFile: false,
|
|
82
|
-
server:
|
|
83
|
-
host: true,
|
|
84
|
-
origin: `${process.env.DDEV_PRIMARY_URL.replace(/:\d+$/, '')}:${vitePort}`,
|
|
85
|
-
cors: {
|
|
86
|
-
origin: /https?:\/\/([A-Za-z0-9\-.]+)?(\.ddev\.site)(?::\d+)?$/,
|
|
87
|
-
},
|
|
88
|
-
},
|
|
110
|
+
server: mergedServerConfig,
|
|
89
111
|
})
|
|
90
112
|
await server.listen();
|
|
91
113
|
console.log(`${config.name} HMR is ready 🚀`);
|
|
@@ -100,11 +122,13 @@ async function vite(config = {}, sharedViteConfig = {}, enableServer = false) {
|
|
|
100
122
|
}
|
|
101
123
|
|
|
102
124
|
export async function build(sitesConfig = {}, args = '', enableServer = false) {
|
|
125
|
+
const mode = enableServer ? 'development' : (args?.mode === 'development' ? 'development' : 'production');
|
|
126
|
+
|
|
103
127
|
if (args.site && sitesConfig.sites.get(args.site)) {
|
|
104
|
-
vite(sitesConfig.sites.get(args.site).config, sitesConfig.sharedConfig, enableServer);
|
|
128
|
+
vite(sitesConfig.sites.get(args.site).config, sitesConfig.sharedConfig, enableServer, mode);
|
|
105
129
|
} else {
|
|
106
130
|
for (const [key, site] of sitesConfig.sites) {
|
|
107
|
-
vite(site.config, sitesConfig.sharedConfig);
|
|
131
|
+
vite(site.config, sitesConfig.sharedConfig, enableServer, mode);
|
|
108
132
|
}
|
|
109
133
|
}
|
|
110
134
|
}
|
package/src/cli.js
CHANGED
|
File without changes
|
package/src/vite/vite.config.js
CHANGED
|
@@ -8,10 +8,13 @@ import { ViteImageOptimizer } from 'vite-plugin-image-optimizer';
|
|
|
8
8
|
import path from 'node:path';
|
|
9
9
|
import browserslist from 'browserslist';
|
|
10
10
|
|
|
11
|
-
const mode = 'production';
|
|
12
11
|
const browserslistConfig = browserslist.loadConfig({ path: process.cwd() }) ?? browserslist.defaults
|
|
13
12
|
|
|
14
|
-
export function createDefaultViteConfig({
|
|
13
|
+
export function createDefaultViteConfig({
|
|
14
|
+
sortMediaQueries = true,
|
|
15
|
+
sassSilenceDeprecations = [],
|
|
16
|
+
mode = 'production',
|
|
17
|
+
} = {}) {
|
|
15
18
|
return defineConfig({
|
|
16
19
|
mode,
|
|
17
20
|
publicDir: false,
|
|
@@ -66,6 +69,7 @@ export function createDefaultViteConfig({ sortMediaQueries = true } = {}) {
|
|
|
66
69
|
scss: {
|
|
67
70
|
api: 'modern',
|
|
68
71
|
additionalData: `$mode: ${mode};`,
|
|
72
|
+
...(sassSilenceDeprecations.length > 0 ? { silenceDeprecations: sassSilenceDeprecations } : {}),
|
|
69
73
|
},
|
|
70
74
|
},
|
|
71
75
|
},
|