next-yak 5.0.0 → 5.1.0
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/dist/withYak/index.cjs
CHANGED
|
@@ -43,14 +43,16 @@ var currentDir = typeof __dirname !== "undefined" ? __dirname : (0, import_node_
|
|
|
43
43
|
var { resolve } = (0, import_module.createRequire)(currentDir + "/index.js");
|
|
44
44
|
var addYak = (yakOptions, nextConfig) => {
|
|
45
45
|
const previousConfig = nextConfig.webpack;
|
|
46
|
+
const devMode = process.env.NODE_ENV !== "production";
|
|
46
47
|
nextConfig.experimental ||= {};
|
|
47
48
|
nextConfig.experimental.swcPlugins ||= [];
|
|
48
49
|
nextConfig.experimental.swcPlugins.push([
|
|
49
50
|
resolve("yak-swc"),
|
|
50
51
|
{
|
|
51
|
-
devMode
|
|
52
|
+
devMode,
|
|
52
53
|
basePath: currentDir,
|
|
53
|
-
prefix: yakOptions.prefix
|
|
54
|
+
prefix: yakOptions.prefix,
|
|
55
|
+
displayNames: yakOptions.displayNames ?? devMode
|
|
54
56
|
}
|
|
55
57
|
]);
|
|
56
58
|
nextConfig.webpack = (webpackConfig, options) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../withYak/index.ts"],"sourcesContent":["/// <reference types=\"node\" />\nimport { NextConfig } from \"../../example/node_modules/next/dist/server/config.js\";\nimport path from \"node:path\";\nimport { fileURLToPath } from \"node:url\";\nimport { existsSync } from \"node:fs\";\nimport { dirname } from \"node:path\";\nimport { createRequire } from \"module\";\n\nconst currentDir =\n typeof __dirname !== \"undefined\"\n ? __dirname\n : dirname(fileURLToPath(import.meta.url));\n\nconst { resolve } = createRequire(currentDir + \"/index.js\");\n\nexport type YakConfigOptions = {\n contextPath?: string;\n /**\n * Optional prefix for generated CSS identifiers.\n * This can be used to ensure unique class names across different applications\n * or to add organization-specific prefixes.\n */\n prefix?: string;\n experiments?: {\n debug?:\n | boolean\n | {\n filter?: (path: string) => boolean;\n type: \"all\" | \"ts\" | \"css\" | \"css resolved\";\n };\n };\n};\n\nconst addYak = (yakOptions: YakConfigOptions, nextConfig: NextConfig) => {\n const previousConfig = nextConfig.webpack;\n\n nextConfig.experimental ||= {};\n nextConfig.experimental.swcPlugins ||= [];\n nextConfig.experimental.swcPlugins.push([\n resolve(\"yak-swc\"),\n {\n devMode
|
|
1
|
+
{"version":3,"sources":["../../withYak/index.ts"],"sourcesContent":["/// <reference types=\"node\" />\nimport { NextConfig } from \"../../example/node_modules/next/dist/server/config.js\";\nimport path from \"node:path\";\nimport { fileURLToPath } from \"node:url\";\nimport { existsSync } from \"node:fs\";\nimport { dirname } from \"node:path\";\nimport { createRequire } from \"module\";\n\nconst currentDir =\n typeof __dirname !== \"undefined\"\n ? __dirname\n : dirname(fileURLToPath(import.meta.url));\n\nconst { resolve } = createRequire(currentDir + \"/index.js\");\n\nexport type YakConfigOptions = {\n contextPath?: string;\n /**\n * Optional prefix for generated CSS identifiers.\n * This can be used to ensure unique class names across different applications\n * or to add organization-specific prefixes.\n */\n prefix?: string;\n /**\n * Adds `displayName` to each components for better React DevTools debugging\n * - Enabled by default in development mode\n * - Disabled by default in production\n * - Increases bundle size slightly when enabled\n */\n displayNames?: boolean;\n experiments?: {\n debug?:\n | boolean\n | {\n filter?: (path: string) => boolean;\n type: \"all\" | \"ts\" | \"css\" | \"css resolved\";\n };\n };\n};\n\nconst addYak = (yakOptions: YakConfigOptions, nextConfig: NextConfig) => {\n const previousConfig = nextConfig.webpack;\n const devMode = process.env.NODE_ENV !== \"production\";\n\n nextConfig.experimental ||= {};\n nextConfig.experimental.swcPlugins ||= [];\n nextConfig.experimental.swcPlugins.push([\n resolve(\"yak-swc\"),\n {\n devMode,\n basePath: currentDir,\n prefix: yakOptions.prefix,\n displayNames: yakOptions.displayNames ?? devMode,\n },\n ]);\n\n nextConfig.webpack = (webpackConfig, options) => {\n if (previousConfig) {\n webpackConfig = previousConfig(webpackConfig, options);\n }\n\n webpackConfig.module.rules.push({\n test: /\\.yak\\.module\\.css$/,\n loader: path.join(currentDir, \"../loaders/css-loader.js\"),\n options: yakOptions,\n });\n\n // With the following alias the internal next-yak code\n // is able to import a context which works for server components\n const yakContext = resolveYakContext(\n yakOptions.contextPath,\n webpackConfig.context || process.cwd(),\n );\n if (yakContext) {\n webpackConfig.resolve.alias[\"next-yak/context/baseContext\"] = yakContext;\n }\n\n return webpackConfig;\n };\n return nextConfig;\n};\n\n/**\n * Try to resolve yak\n */\nfunction resolveYakContext(contextPath: string | undefined, cwd: string) {\n const yakContext = contextPath\n ? path.resolve(cwd, contextPath)\n : path.resolve(cwd, \"yak.context\");\n const extensions = [\"\", \".ts\", \".tsx\", \".js\", \".jsx\"];\n for (const extension in extensions) {\n const fileName = yakContext + extensions[extension];\n if (existsSync(fileName)) {\n return fileName;\n }\n }\n if (contextPath) {\n throw new Error(`Could not find yak context file at ${yakContext}`);\n }\n}\n\n// Wrapper to allow sync, async, and function configuration of Next.js\n/**\n * Add Yak to your Next.js app\n *\n * @usage\n *\n * ```ts\n * // next.config.js\n * const { withYak } = require(\"next-yak/withYak\");\n * const nextConfig = {\n * // your next config here\n * };\n * module.exports = withYak(nextConfig);\n * ```\n *\n * With a custom yakConfig\n *\n * ```ts\n * // next.config.js\n * const { withYak } = require(\"next-yak/withYak\");\n * const nextConfig = {\n * // your next config here\n * };\n * const yakConfig = {\n * // Optional prefix for generated CSS identifiers\n * prefix: \"my-app\",\n * // Other yak config options...\n * };\n * module.exports = withYak(yakConfig, nextConfig);\n * ```\n */\nexport const withYak: {\n <\n T extends\n | Record<string, any>\n | ((...args: any[]) => Record<string, any>)\n | ((...args: any[]) => Promise<Record<string, any>>),\n >(\n yakOptions: YakConfigOptions,\n nextConfig: T,\n ): T;\n // no yakConfig\n <\n T extends\n | Record<string, any>\n | ((...args: any[]) => Record<string, any>)\n | ((...args: any[]) => Promise<Record<string, any>>),\n >(\n nextConfig: T,\n _?: undefined,\n ): T;\n} = (maybeYakOptions, nextConfig) => {\n if (nextConfig === undefined) {\n return withYak({}, maybeYakOptions);\n }\n // If the second parameter is present the first parameter must be a YakConfigOptions\n const yakOptions = maybeYakOptions as YakConfigOptions;\n if (typeof nextConfig === \"function\") {\n /**\n * A NextConfig can be a sync or async function\n * https://nextjs.org/docs/pages/api-reference/next-config-js\n * @param {any[]} args\n */\n return (...args) => {\n /** Dynamic Next Configs can be async or sync */\n const config = nextConfig(...args) as NextConfig | Promise<NextConfig>;\n return config instanceof Promise\n ? config.then((config) => addYak(yakOptions, config))\n : addYak(yakOptions, config);\n };\n }\n return addYak(yakOptions, nextConfig);\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,uBAAiB;AACjB,sBAA8B;AAC9B,qBAA2B;AAC3B,IAAAA,oBAAwB;AACxB,oBAA8B;AAN9B;AAQA,IAAM,aACJ,OAAO,cAAc,cACjB,gBACA,+BAAQ,+BAAc,YAAY,GAAG,CAAC;AAE5C,IAAM,EAAE,QAAQ,QAAI,6BAAc,aAAa,WAAW;AA2B1D,IAAM,SAAS,CAAC,YAA8B,eAA2B;AACvE,QAAM,iBAAiB,WAAW;AAClC,QAAM,UAAU,QAAQ,IAAI,aAAa;AAEzC,aAAW,iBAAiB,CAAC;AAC7B,aAAW,aAAa,eAAe,CAAC;AACxC,aAAW,aAAa,WAAW,KAAK;AAAA,IACtC,QAAQ,SAAS;AAAA,IACjB;AAAA,MACE;AAAA,MACA,UAAU;AAAA,MACV,QAAQ,WAAW;AAAA,MACnB,cAAc,WAAW,gBAAgB;AAAA,IAC3C;AAAA,EACF,CAAC;AAED,aAAW,UAAU,CAAC,eAAe,YAAY;AAC/C,QAAI,gBAAgB;AAClB,sBAAgB,eAAe,eAAe,OAAO;AAAA,IACvD;AAEA,kBAAc,OAAO,MAAM,KAAK;AAAA,MAC9B,MAAM;AAAA,MACN,QAAQ,iBAAAC,QAAK,KAAK,YAAY,0BAA0B;AAAA,MACxD,SAAS;AAAA,IACX,CAAC;AAID,UAAM,aAAa;AAAA,MACjB,WAAW;AAAA,MACX,cAAc,WAAW,QAAQ,IAAI;AAAA,IACvC;AACA,QAAI,YAAY;AACd,oBAAc,QAAQ,MAAM,8BAA8B,IAAI;AAAA,IAChE;AAEA,WAAO;AAAA,EACT;AACA,SAAO;AACT;AAKA,SAAS,kBAAkB,aAAiC,KAAa;AACvE,QAAM,aAAa,cACf,iBAAAA,QAAK,QAAQ,KAAK,WAAW,IAC7B,iBAAAA,QAAK,QAAQ,KAAK,aAAa;AACnC,QAAM,aAAa,CAAC,IAAI,OAAO,QAAQ,OAAO,MAAM;AACpD,aAAW,aAAa,YAAY;AAClC,UAAM,WAAW,aAAa,WAAW,SAAS;AAClD,YAAI,2BAAW,QAAQ,GAAG;AACxB,aAAO;AAAA,IACT;AAAA,EACF;AACA,MAAI,aAAa;AACf,UAAM,IAAI,MAAM,sCAAsC,UAAU,EAAE;AAAA,EACpE;AACF;AAiCO,IAAM,UAoBT,CAAC,iBAAiB,eAAe;AACnC,MAAI,eAAe,QAAW;AAC5B,WAAO,QAAQ,CAAC,GAAG,eAAe;AAAA,EACpC;AAEA,QAAM,aAAa;AACnB,MAAI,OAAO,eAAe,YAAY;AAMpC,WAAO,IAAI,SAAS;AAElB,YAAM,SAAS,WAAW,GAAG,IAAI;AACjC,aAAO,kBAAkB,UACrB,OAAO,KAAK,CAACC,YAAW,OAAO,YAAYA,OAAM,CAAC,IAClD,OAAO,YAAY,MAAM;AAAA,IAC/B;AAAA,EACF;AACA,SAAO,OAAO,YAAY,UAAU;AACtC;","names":["import_node_path","path","config"]}
|
package/dist/withYak/index.d.cts
CHANGED
|
@@ -6,6 +6,13 @@ type YakConfigOptions = {
|
|
|
6
6
|
* or to add organization-specific prefixes.
|
|
7
7
|
*/
|
|
8
8
|
prefix?: string;
|
|
9
|
+
/**
|
|
10
|
+
* Adds `displayName` to each components for better React DevTools debugging
|
|
11
|
+
* - Enabled by default in development mode
|
|
12
|
+
* - Disabled by default in production
|
|
13
|
+
* - Increases bundle size slightly when enabled
|
|
14
|
+
*/
|
|
15
|
+
displayNames?: boolean;
|
|
9
16
|
experiments?: {
|
|
10
17
|
debug?: boolean | {
|
|
11
18
|
filter?: (path: string) => boolean;
|
package/dist/withYak/index.d.ts
CHANGED
|
@@ -6,6 +6,13 @@ type YakConfigOptions = {
|
|
|
6
6
|
* or to add organization-specific prefixes.
|
|
7
7
|
*/
|
|
8
8
|
prefix?: string;
|
|
9
|
+
/**
|
|
10
|
+
* Adds `displayName` to each components for better React DevTools debugging
|
|
11
|
+
* - Enabled by default in development mode
|
|
12
|
+
* - Disabled by default in production
|
|
13
|
+
* - Increases bundle size slightly when enabled
|
|
14
|
+
*/
|
|
15
|
+
displayNames?: boolean;
|
|
9
16
|
experiments?: {
|
|
10
17
|
debug?: boolean | {
|
|
11
18
|
filter?: (path: string) => boolean;
|
package/dist/withYak/index.js
CHANGED
|
@@ -8,14 +8,16 @@ var currentDir = typeof __dirname !== "undefined" ? __dirname : dirname(fileURLT
|
|
|
8
8
|
var { resolve } = createRequire(currentDir + "/index.js");
|
|
9
9
|
var addYak = (yakOptions, nextConfig) => {
|
|
10
10
|
const previousConfig = nextConfig.webpack;
|
|
11
|
+
const devMode = process.env.NODE_ENV !== "production";
|
|
11
12
|
nextConfig.experimental ||= {};
|
|
12
13
|
nextConfig.experimental.swcPlugins ||= [];
|
|
13
14
|
nextConfig.experimental.swcPlugins.push([
|
|
14
15
|
resolve("yak-swc"),
|
|
15
16
|
{
|
|
16
|
-
devMode
|
|
17
|
+
devMode,
|
|
17
18
|
basePath: currentDir,
|
|
18
|
-
prefix: yakOptions.prefix
|
|
19
|
+
prefix: yakOptions.prefix,
|
|
20
|
+
displayNames: yakOptions.displayNames ?? devMode
|
|
19
21
|
}
|
|
20
22
|
]);
|
|
21
23
|
nextConfig.webpack = (webpackConfig, options) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../withYak/index.ts"],"sourcesContent":["/// <reference types=\"node\" />\nimport { NextConfig } from \"../../example/node_modules/next/dist/server/config.js\";\nimport path from \"node:path\";\nimport { fileURLToPath } from \"node:url\";\nimport { existsSync } from \"node:fs\";\nimport { dirname } from \"node:path\";\nimport { createRequire } from \"module\";\n\nconst currentDir =\n typeof __dirname !== \"undefined\"\n ? __dirname\n : dirname(fileURLToPath(import.meta.url));\n\nconst { resolve } = createRequire(currentDir + \"/index.js\");\n\nexport type YakConfigOptions = {\n contextPath?: string;\n /**\n * Optional prefix for generated CSS identifiers.\n * This can be used to ensure unique class names across different applications\n * or to add organization-specific prefixes.\n */\n prefix?: string;\n experiments?: {\n debug?:\n | boolean\n | {\n filter?: (path: string) => boolean;\n type: \"all\" | \"ts\" | \"css\" | \"css resolved\";\n };\n };\n};\n\nconst addYak = (yakOptions: YakConfigOptions, nextConfig: NextConfig) => {\n const previousConfig = nextConfig.webpack;\n\n nextConfig.experimental ||= {};\n nextConfig.experimental.swcPlugins ||= [];\n nextConfig.experimental.swcPlugins.push([\n resolve(\"yak-swc\"),\n {\n devMode
|
|
1
|
+
{"version":3,"sources":["../../withYak/index.ts"],"sourcesContent":["/// <reference types=\"node\" />\nimport { NextConfig } from \"../../example/node_modules/next/dist/server/config.js\";\nimport path from \"node:path\";\nimport { fileURLToPath } from \"node:url\";\nimport { existsSync } from \"node:fs\";\nimport { dirname } from \"node:path\";\nimport { createRequire } from \"module\";\n\nconst currentDir =\n typeof __dirname !== \"undefined\"\n ? __dirname\n : dirname(fileURLToPath(import.meta.url));\n\nconst { resolve } = createRequire(currentDir + \"/index.js\");\n\nexport type YakConfigOptions = {\n contextPath?: string;\n /**\n * Optional prefix for generated CSS identifiers.\n * This can be used to ensure unique class names across different applications\n * or to add organization-specific prefixes.\n */\n prefix?: string;\n /**\n * Adds `displayName` to each components for better React DevTools debugging\n * - Enabled by default in development mode\n * - Disabled by default in production\n * - Increases bundle size slightly when enabled\n */\n displayNames?: boolean;\n experiments?: {\n debug?:\n | boolean\n | {\n filter?: (path: string) => boolean;\n type: \"all\" | \"ts\" | \"css\" | \"css resolved\";\n };\n };\n};\n\nconst addYak = (yakOptions: YakConfigOptions, nextConfig: NextConfig) => {\n const previousConfig = nextConfig.webpack;\n const devMode = process.env.NODE_ENV !== \"production\";\n\n nextConfig.experimental ||= {};\n nextConfig.experimental.swcPlugins ||= [];\n nextConfig.experimental.swcPlugins.push([\n resolve(\"yak-swc\"),\n {\n devMode,\n basePath: currentDir,\n prefix: yakOptions.prefix,\n displayNames: yakOptions.displayNames ?? devMode,\n },\n ]);\n\n nextConfig.webpack = (webpackConfig, options) => {\n if (previousConfig) {\n webpackConfig = previousConfig(webpackConfig, options);\n }\n\n webpackConfig.module.rules.push({\n test: /\\.yak\\.module\\.css$/,\n loader: path.join(currentDir, \"../loaders/css-loader.js\"),\n options: yakOptions,\n });\n\n // With the following alias the internal next-yak code\n // is able to import a context which works for server components\n const yakContext = resolveYakContext(\n yakOptions.contextPath,\n webpackConfig.context || process.cwd(),\n );\n if (yakContext) {\n webpackConfig.resolve.alias[\"next-yak/context/baseContext\"] = yakContext;\n }\n\n return webpackConfig;\n };\n return nextConfig;\n};\n\n/**\n * Try to resolve yak\n */\nfunction resolveYakContext(contextPath: string | undefined, cwd: string) {\n const yakContext = contextPath\n ? path.resolve(cwd, contextPath)\n : path.resolve(cwd, \"yak.context\");\n const extensions = [\"\", \".ts\", \".tsx\", \".js\", \".jsx\"];\n for (const extension in extensions) {\n const fileName = yakContext + extensions[extension];\n if (existsSync(fileName)) {\n return fileName;\n }\n }\n if (contextPath) {\n throw new Error(`Could not find yak context file at ${yakContext}`);\n }\n}\n\n// Wrapper to allow sync, async, and function configuration of Next.js\n/**\n * Add Yak to your Next.js app\n *\n * @usage\n *\n * ```ts\n * // next.config.js\n * const { withYak } = require(\"next-yak/withYak\");\n * const nextConfig = {\n * // your next config here\n * };\n * module.exports = withYak(nextConfig);\n * ```\n *\n * With a custom yakConfig\n *\n * ```ts\n * // next.config.js\n * const { withYak } = require(\"next-yak/withYak\");\n * const nextConfig = {\n * // your next config here\n * };\n * const yakConfig = {\n * // Optional prefix for generated CSS identifiers\n * prefix: \"my-app\",\n * // Other yak config options...\n * };\n * module.exports = withYak(yakConfig, nextConfig);\n * ```\n */\nexport const withYak: {\n <\n T extends\n | Record<string, any>\n | ((...args: any[]) => Record<string, any>)\n | ((...args: any[]) => Promise<Record<string, any>>),\n >(\n yakOptions: YakConfigOptions,\n nextConfig: T,\n ): T;\n // no yakConfig\n <\n T extends\n | Record<string, any>\n | ((...args: any[]) => Record<string, any>)\n | ((...args: any[]) => Promise<Record<string, any>>),\n >(\n nextConfig: T,\n _?: undefined,\n ): T;\n} = (maybeYakOptions, nextConfig) => {\n if (nextConfig === undefined) {\n return withYak({}, maybeYakOptions);\n }\n // If the second parameter is present the first parameter must be a YakConfigOptions\n const yakOptions = maybeYakOptions as YakConfigOptions;\n if (typeof nextConfig === \"function\") {\n /**\n * A NextConfig can be a sync or async function\n * https://nextjs.org/docs/pages/api-reference/next-config-js\n * @param {any[]} args\n */\n return (...args) => {\n /** Dynamic Next Configs can be async or sync */\n const config = nextConfig(...args) as NextConfig | Promise<NextConfig>;\n return config instanceof Promise\n ? config.then((config) => addYak(yakOptions, config))\n : addYak(yakOptions, config);\n };\n }\n return addYak(yakOptions, nextConfig);\n};\n"],"mappings":";AAEA,OAAO,UAAU;AACjB,SAAS,qBAAqB;AAC9B,SAAS,kBAAkB;AAC3B,SAAS,eAAe;AACxB,SAAS,qBAAqB;AAE9B,IAAM,aACJ,OAAO,cAAc,cACjB,YACA,QAAQ,cAAc,YAAY,GAAG,CAAC;AAE5C,IAAM,EAAE,QAAQ,IAAI,cAAc,aAAa,WAAW;AA2B1D,IAAM,SAAS,CAAC,YAA8B,eAA2B;AACvE,QAAM,iBAAiB,WAAW;AAClC,QAAM,UAAU,QAAQ,IAAI,aAAa;AAEzC,aAAW,iBAAiB,CAAC;AAC7B,aAAW,aAAa,eAAe,CAAC;AACxC,aAAW,aAAa,WAAW,KAAK;AAAA,IACtC,QAAQ,SAAS;AAAA,IACjB;AAAA,MACE;AAAA,MACA,UAAU;AAAA,MACV,QAAQ,WAAW;AAAA,MACnB,cAAc,WAAW,gBAAgB;AAAA,IAC3C;AAAA,EACF,CAAC;AAED,aAAW,UAAU,CAAC,eAAe,YAAY;AAC/C,QAAI,gBAAgB;AAClB,sBAAgB,eAAe,eAAe,OAAO;AAAA,IACvD;AAEA,kBAAc,OAAO,MAAM,KAAK;AAAA,MAC9B,MAAM;AAAA,MACN,QAAQ,KAAK,KAAK,YAAY,0BAA0B;AAAA,MACxD,SAAS;AAAA,IACX,CAAC;AAID,UAAM,aAAa;AAAA,MACjB,WAAW;AAAA,MACX,cAAc,WAAW,QAAQ,IAAI;AAAA,IACvC;AACA,QAAI,YAAY;AACd,oBAAc,QAAQ,MAAM,8BAA8B,IAAI;AAAA,IAChE;AAEA,WAAO;AAAA,EACT;AACA,SAAO;AACT;AAKA,SAAS,kBAAkB,aAAiC,KAAa;AACvE,QAAM,aAAa,cACf,KAAK,QAAQ,KAAK,WAAW,IAC7B,KAAK,QAAQ,KAAK,aAAa;AACnC,QAAM,aAAa,CAAC,IAAI,OAAO,QAAQ,OAAO,MAAM;AACpD,aAAW,aAAa,YAAY;AAClC,UAAM,WAAW,aAAa,WAAW,SAAS;AAClD,QAAI,WAAW,QAAQ,GAAG;AACxB,aAAO;AAAA,IACT;AAAA,EACF;AACA,MAAI,aAAa;AACf,UAAM,IAAI,MAAM,sCAAsC,UAAU,EAAE;AAAA,EACpE;AACF;AAiCO,IAAM,UAoBT,CAAC,iBAAiB,eAAe;AACnC,MAAI,eAAe,QAAW;AAC5B,WAAO,QAAQ,CAAC,GAAG,eAAe;AAAA,EACpC;AAEA,QAAM,aAAa;AACnB,MAAI,OAAO,eAAe,YAAY;AAMpC,WAAO,IAAI,SAAS;AAElB,YAAM,SAAS,WAAW,GAAG,IAAI;AACjC,aAAO,kBAAkB,UACrB,OAAO,KAAK,CAACA,YAAW,OAAO,YAAYA,OAAM,CAAC,IAClD,OAAO,YAAY,MAAM;AAAA,IAC/B;AAAA,EACF;AACA,SAAO,OAAO,YAAY,UAAU;AACtC;","names":["config"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "next-yak",
|
|
3
|
-
"version": "5.
|
|
3
|
+
"version": "5.1.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"types": "./dist/",
|
|
6
6
|
"sideEffects": false,
|
|
@@ -65,7 +65,7 @@
|
|
|
65
65
|
"dependencies": {
|
|
66
66
|
"@babel/core": "7.26.0",
|
|
67
67
|
"@babel/plugin-syntax-typescript": "7.25.9",
|
|
68
|
-
"yak-swc": "5.
|
|
68
|
+
"yak-swc": "5.1.0"
|
|
69
69
|
},
|
|
70
70
|
"devDependencies": {
|
|
71
71
|
"@types/babel__core": "7.20.5",
|
package/withYak/index.ts
CHANGED
|
@@ -21,6 +21,13 @@ export type YakConfigOptions = {
|
|
|
21
21
|
* or to add organization-specific prefixes.
|
|
22
22
|
*/
|
|
23
23
|
prefix?: string;
|
|
24
|
+
/**
|
|
25
|
+
* Adds `displayName` to each components for better React DevTools debugging
|
|
26
|
+
* - Enabled by default in development mode
|
|
27
|
+
* - Disabled by default in production
|
|
28
|
+
* - Increases bundle size slightly when enabled
|
|
29
|
+
*/
|
|
30
|
+
displayNames?: boolean;
|
|
24
31
|
experiments?: {
|
|
25
32
|
debug?:
|
|
26
33
|
| boolean
|
|
@@ -33,15 +40,17 @@ export type YakConfigOptions = {
|
|
|
33
40
|
|
|
34
41
|
const addYak = (yakOptions: YakConfigOptions, nextConfig: NextConfig) => {
|
|
35
42
|
const previousConfig = nextConfig.webpack;
|
|
43
|
+
const devMode = process.env.NODE_ENV !== "production";
|
|
36
44
|
|
|
37
45
|
nextConfig.experimental ||= {};
|
|
38
46
|
nextConfig.experimental.swcPlugins ||= [];
|
|
39
47
|
nextConfig.experimental.swcPlugins.push([
|
|
40
48
|
resolve("yak-swc"),
|
|
41
49
|
{
|
|
42
|
-
devMode
|
|
50
|
+
devMode,
|
|
43
51
|
basePath: currentDir,
|
|
44
52
|
prefix: yakOptions.prefix,
|
|
53
|
+
displayNames: yakOptions.displayNames ?? devMode,
|
|
45
54
|
},
|
|
46
55
|
]);
|
|
47
56
|
|