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 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.9",
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.20",
22
- "browserslist": "^4.24.2",
23
- "chalk": "^5.3.0",
24
- "cssnano": "^7.0.6",
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.4.49",
26
+ "postcss": "^8.5.8",
27
27
  "postcss-nested": "^7.0.2",
28
- "postcss-preset-env": "^10.1.1",
28
+ "postcss-preset-env": "^10.6.1",
29
29
  "postcss-sort-media-queries": "^5.2.0",
30
- "sass": "^1.75.0",
31
- "sharp": "^0.32.6",
32
- "svgo": "^3.2.0",
30
+ "sass": "^1.98.0",
31
+ "sharp": "latest",
32
+ "svgo": "^3.3.3",
33
33
  "tsconfig": "^7.0.0",
34
- "vite": "^5.4.11",
35
- "vite-plugin-image-optimizer": "^1.1.8",
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
@@ -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({ sortMediaQueries = true } = {}) {
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
  },