@powerlines/plugin-i18next 0.1.234 → 0.1.236

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 (39) hide show
  1. package/dist/helpers/config-utils.mjs +2 -1
  2. package/dist/helpers/config-utils.mjs.map +1 -0
  3. package/dist/index.d.cts +26 -0
  4. package/dist/index.d.cts.map +1 -0
  5. package/dist/index.d.mts +26 -0
  6. package/dist/index.d.mts.map +1 -0
  7. package/dist/index.mjs +2 -1
  8. package/dist/index.mjs.map +1 -0
  9. package/dist/node_modules/.pnpm/@stryke_type-checks@0.5.38/node_modules/@stryke/type-checks/dist/get-object-tag.mjs +2 -1
  10. package/dist/node_modules/.pnpm/@stryke_type-checks@0.5.38/node_modules/@stryke/type-checks/dist/get-object-tag.mjs.map +1 -0
  11. package/dist/node_modules/.pnpm/@stryke_type-checks@0.5.38/node_modules/@stryke/type-checks/dist/is-empty.mjs +2 -1
  12. package/dist/node_modules/.pnpm/@stryke_type-checks@0.5.38/node_modules/@stryke/type-checks/dist/is-empty.mjs.map +1 -0
  13. package/dist/node_modules/.pnpm/@stryke_type-checks@0.5.38/node_modules/@stryke/type-checks/dist/is-non-null-object.mjs +2 -1
  14. package/dist/node_modules/.pnpm/@stryke_type-checks@0.5.38/node_modules/@stryke/type-checks/dist/is-non-null-object.mjs.map +1 -0
  15. package/dist/node_modules/.pnpm/@stryke_type-checks@0.5.38/node_modules/@stryke/type-checks/dist/is-null.mjs +2 -1
  16. package/dist/node_modules/.pnpm/@stryke_type-checks@0.5.38/node_modules/@stryke/type-checks/dist/is-null.mjs.map +1 -0
  17. package/dist/node_modules/.pnpm/@stryke_type-checks@0.5.38/node_modules/@stryke/type-checks/dist/is-object.mjs +2 -1
  18. package/dist/node_modules/.pnpm/@stryke_type-checks@0.5.38/node_modules/@stryke/type-checks/dist/is-object.mjs.map +1 -0
  19. package/dist/node_modules/.pnpm/@stryke_type-checks@0.5.38/node_modules/@stryke/type-checks/dist/is-plain-object.mjs +2 -1
  20. package/dist/node_modules/.pnpm/@stryke_type-checks@0.5.38/node_modules/@stryke/type-checks/dist/is-plain-object.mjs.map +1 -0
  21. package/dist/node_modules/.pnpm/@stryke_type-checks@0.5.38/node_modules/@stryke/type-checks/dist/is-set-object.mjs +2 -1
  22. package/dist/node_modules/.pnpm/@stryke_type-checks@0.5.38/node_modules/@stryke/type-checks/dist/is-set-object.mjs.map +1 -0
  23. package/dist/node_modules/.pnpm/@stryke_type-checks@0.5.38/node_modules/@stryke/type-checks/dist/is-set.mjs +2 -1
  24. package/dist/node_modules/.pnpm/@stryke_type-checks@0.5.38/node_modules/@stryke/type-checks/dist/is-set.mjs.map +1 -0
  25. package/dist/node_modules/.pnpm/@stryke_type-checks@0.5.38/node_modules/@stryke/type-checks/dist/is-string.mjs +2 -1
  26. package/dist/node_modules/.pnpm/@stryke_type-checks@0.5.38/node_modules/@stryke/type-checks/dist/is-string.mjs.map +1 -0
  27. package/dist/node_modules/.pnpm/@stryke_type-checks@0.5.38/node_modules/@stryke/type-checks/dist/is-undefined.mjs +2 -1
  28. package/dist/node_modules/.pnpm/@stryke_type-checks@0.5.38/node_modules/@stryke/type-checks/dist/is-undefined.mjs.map +1 -0
  29. package/dist/types/i18n.d.cts +23 -0
  30. package/dist/types/i18n.d.cts.map +1 -0
  31. package/dist/types/i18n.d.mts +23 -0
  32. package/dist/types/i18n.d.mts.map +1 -0
  33. package/dist/types/index.d.cts +3 -0
  34. package/dist/types/index.d.mts +3 -0
  35. package/dist/types/plugin.d.cts +24 -0
  36. package/dist/types/plugin.d.cts.map +1 -0
  37. package/dist/types/plugin.d.mts +24 -0
  38. package/dist/types/plugin.d.mts.map +1 -0
  39. package/package.json +4 -4
@@ -27,4 +27,5 @@ function getOutputPath(outputTemplate, language, namespace) {
27
27
  }
28
28
 
29
29
  //#endregion
30
- export { getOutputPath };
30
+ export { getOutputPath };
31
+ //# sourceMappingURL=config-utils.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-utils.mjs","names":[],"sources":["../../src/helpers/config-utils.ts"],"sourcesContent":["/* -------------------------------------------------------------------\n\n ⚡ Storm Software - Powerlines\n\n This code was released as part of the Powerlines project. Powerlines\n is maintained by Storm Software under the Apache-2.0 license, and is\n free for commercial and private use. For more information, please visit\n our licensing page at https://stormsoftware.com/licenses/projects/powerlines.\n\n Website: https://stormsoftware.com\n Repository: https://github.com/storm-software/powerlines\n Documentation: https://docs.stormsoftware.com/projects/powerlines\n Contact: https://stormsoftware.com/contact\n\n SPDX-License-Identifier: Apache-2.0\n\n ------------------------------------------------------------------- */\n\nimport { correctPath } from \"@stryke/path/correct-path\";\n\n/**\n * Resolve an output template (string or function) into an actual path string.\n *\n * @remarks\n * - If `outputTemplate` is a function, call it with (language, namespace)\n * - If it's a string, replace placeholders:\n * - \\{\\{language\\}\\} or \\{\\{lng\\}\\} -\\> language\n * - \\{\\{namespace\\}\\} -\\> namespace (or removed if namespace is undefined)\n * - Normalizes duplicate slashes and returns a platform-correct path.\n */\nexport function getOutputPath(\n outputTemplate:\n | string\n | ((language: string, namespace?: string) => string)\n | undefined,\n language: string,\n namespace?: string\n): string {\n if (!outputTemplate) {\n // Fallback to a sensible default\n return correctPath(\n `locales/${language}/${namespace ?? \"translation\"}.json`\n );\n }\n\n if (typeof outputTemplate === \"function\") {\n try {\n const result = String(outputTemplate(language, namespace));\n\n return correctPath(result.replace(/\\/{2,}/g, \"/\"));\n } catch {\n // If user function throws, fallback to default path\n return correctPath(\n `locales/${language}/${namespace ?? \"translation\"}.json`\n );\n }\n }\n\n // It's a string template\n let out = String(outputTemplate);\n out = out.replace(/\\{\\{language\\}\\}|\\{\\{lng\\}\\}/g, language);\n\n if (namespace !== undefined && namespace !== null) {\n out = out.replace(/\\{\\{namespace\\}\\}/g, namespace);\n } else {\n // remove any occurrences of /{{namespace}} or {{namespace}} (keeping surrounding slashes tidy)\n out = out.replace(/\\/?\\{\\{namespace\\}\\}/g, \"\");\n }\n\n // collapse duplicate slashes and normalize to platform-specific separators\n out = out.replace(/\\/{2,}/g, \"/\");\n return correctPath(out);\n}\n"],"mappings":";;;;;;;;;;;;;AA8BA,SAAgB,cACd,gBAIA,UACA,WACQ;AACR,KAAI,CAAC,eAEH,QAAO,YACL,WAAW,SAAS,GAAG,aAAa,cAAc,OACnD;AAGH,KAAI,OAAO,mBAAmB,WAC5B,KAAI;AAGF,SAAO,YAFQ,OAAO,eAAe,UAAU,UAAU,CAAC,CAEhC,QAAQ,WAAW,IAAI,CAAC;SAC5C;AAEN,SAAO,YACL,WAAW,SAAS,GAAG,aAAa,cAAc,OACnD;;CAKL,IAAI,MAAM,OAAO,eAAe;AAChC,OAAM,IAAI,QAAQ,iCAAiC,SAAS;AAE5D,KAAI,cAAc,UAAa,cAAc,KAC3C,OAAM,IAAI,QAAQ,sBAAsB,UAAU;KAGlD,OAAM,IAAI,QAAQ,yBAAyB,GAAG;AAIhD,OAAM,IAAI,QAAQ,WAAW,IAAI;AACjC,QAAO,YAAY,IAAI"}
@@ -0,0 +1,26 @@
1
+ import { I18NextPluginContext, I18NextPluginOptions, I18NextPluginResolvedConfig, I18NextPluginUserConfig } from "./types/plugin.cjs";
2
+ import { Resource, ResourceContent } from "./types/i18n.cjs";
3
+ import "./types/index.cjs";
4
+ import { Plugin } from "powerlines";
5
+
6
+ //#region src/index.d.ts
7
+ declare module "powerlines" {
8
+ interface Config {
9
+ i18next?: I18NextPluginOptions;
10
+ }
11
+ }
12
+ /**
13
+ * i18next Plugin
14
+ *
15
+ * @remarks
16
+ * A Powerlines plugin to use the i18next internationalization framework during the prepare task.
17
+ *
18
+ * @see https://i18next.com
19
+ *
20
+ * @param options - The plugin options.
21
+ * @returns A Powerlines plugin instance.
22
+ */
23
+ declare const plugin: <TContext extends I18NextPluginContext = I18NextPluginContext>(options?: I18NextPluginOptions) => Plugin<TContext>;
24
+ //#endregion
25
+ export { I18NextPluginContext, I18NextPluginOptions, I18NextPluginResolvedConfig, I18NextPluginUserConfig, Resource, ResourceContent, plugin as default, plugin };
26
+ //# sourceMappingURL=index.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.cts","names":[],"sources":["../src/index.ts"],"sourcesContent":[],"mappings":";;;;;;;;cAyCc;EAJU;;;;;AAmBxB;;;;;;;;cAAa,0BACM,uBAAuB,gCAE/B,yBACR,OAAO"}
@@ -0,0 +1,26 @@
1
+ import { I18NextPluginContext, I18NextPluginOptions, I18NextPluginResolvedConfig, I18NextPluginUserConfig } from "./types/plugin.mjs";
2
+ import { Resource, ResourceContent } from "./types/i18n.mjs";
3
+ import "./types/index.mjs";
4
+ import { Plugin } from "powerlines";
5
+
6
+ //#region src/index.d.ts
7
+ declare module "powerlines" {
8
+ interface Config {
9
+ i18next?: I18NextPluginOptions;
10
+ }
11
+ }
12
+ /**
13
+ * i18next Plugin
14
+ *
15
+ * @remarks
16
+ * A Powerlines plugin to use the i18next internationalization framework during the prepare task.
17
+ *
18
+ * @see https://i18next.com
19
+ *
20
+ * @param options - The plugin options.
21
+ * @returns A Powerlines plugin instance.
22
+ */
23
+ declare const plugin: <TContext extends I18NextPluginContext = I18NextPluginContext>(options?: I18NextPluginOptions) => Plugin<TContext>;
24
+ //#endregion
25
+ export { I18NextPluginContext, I18NextPluginOptions, I18NextPluginResolvedConfig, I18NextPluginUserConfig, Resource, ResourceContent, plugin as default, plugin };
26
+ //# sourceMappingURL=index.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.mts","names":[],"sources":["../src/index.ts"],"sourcesContent":[],"mappings":";;;;;;;;cAyCc;EAJU;;;;;AAmBxB;;;;;;;;cAAa,0BACM,uBAAuB,gCAE/B,yBACR,OAAO"}
package/dist/index.mjs CHANGED
@@ -123,4 +123,5 @@ declare module 'i18next' {
123
123
  var src_default = plugin;
124
124
 
125
125
  //#endregion
126
- export { src_default as default, plugin };
126
+ export { src_default as default, plugin };
127
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","names":["resources: Resource[]","result!: string"],"sources":["../src/index.ts"],"sourcesContent":["/* -------------------------------------------------------------------\n\n ⚡ Storm Software - Powerlines\n\n This code was released as part of the Powerlines project. Powerlines\n is maintained by Storm Software under the Apache-2.0 license, and is\n free for commercial and private use. For more information, please visit\n our licensing page at https://stormsoftware.com/licenses/projects/powerlines.\n\n Website: https://stormsoftware.com\n Repository: https://github.com/storm-software/powerlines\n Documentation: https://docs.stormsoftware.com/projects/powerlines\n Contact: https://stormsoftware.com/contact\n\n SPDX-License-Identifier: Apache-2.0\n\n ------------------------------------------------------------------- */\n\nimport { listFiles } from \"@stryke/fs/list-files\";\nimport { appendPath } from \"@stryke/path/append\";\nimport { findFileName } from \"@stryke/path/file-path-fns\";\nimport { joinPaths } from \"@stryke/path/join\";\nimport { isSet } from \"@stryke/type-checks/is-set\";\nimport { isSetObject } from \"@stryke/type-checks/is-set-object\";\nimport { isString } from \"@stryke/type-checks/is-string\";\nimport defu from \"defu\";\nimport { I18nextToolkitConfig, runExtractor } from \"i18next-cli\";\nimport { mergeResourcesAsInterface } from \"i18next-resources-for-ts\";\nimport { Plugin } from \"powerlines\";\nimport { getOutputPath } from \"./helpers/config-utils\";\nimport { Resource, ResourceContent } from \"./types/i18n\";\nimport {\n I18NextPluginContext,\n I18NextPluginOptions,\n I18NextPluginResolvedConfig\n} from \"./types/plugin\";\n\nexport * from \"./types\";\n\ndeclare module \"powerlines\" {\n interface Config {\n i18next?: I18NextPluginOptions;\n }\n}\n\n/**\n * i18next Plugin\n *\n * @remarks\n * A Powerlines plugin to use the i18next internationalization framework during the prepare task.\n *\n * @see https://i18next.com\n *\n * @param options - The plugin options.\n * @returns A Powerlines plugin instance.\n */\nexport const plugin = <\n TContext extends I18NextPluginContext = I18NextPluginContext\n>(\n options: I18NextPluginOptions = {}\n): Plugin<TContext> => {\n return {\n name: \"i18next\",\n async config() {\n const i18next = defu<\n I18NextPluginResolvedConfig[\"i18next\"],\n I18NextPluginOptions[]\n >(\n options,\n {\n extract: {\n output: (language: string, namespace = \"translation\") =>\n joinPaths(\n this.config.root,\n `locales/${language}/${namespace}.json`\n ),\n primaryLanguage: this.workspaceConfig.locale\n }\n },\n {\n extract: {\n input: [\n \"src/**/*.ts\",\n \"src/**/*.tsx\",\n \"src/**/*.js\",\n \"src/**/*.jsx\"\n ],\n indentation: 2,\n defaultNS: \"translation\",\n mergeNamespaces: true,\n nsSeparator: \":\",\n keySeparator: \".\",\n primaryLanguage:\n options.locales && options.locales.length > 0\n ? options.locales[0]\n : \"en\"\n },\n types: {\n enableSelector: false\n },\n locales: [] as string[]\n }\n );\n\n if (!i18next.locales || i18next.locales.length === 0) {\n i18next.locales = [i18next.extract.primaryLanguage || \"en\"];\n }\n\n if (!isSet(i18next.types.indentation)) {\n i18next.types.indentation = i18next.extract.indentation;\n }\n\n return {\n i18next\n };\n },\n async configResolved() {},\n async prepare() {\n await runExtractor(this.config.i18next as I18nextToolkitConfig, {\n isWatchMode: false,\n isDryRun: false,\n syncAll: true,\n syncPrimaryWithDefaults: true,\n logger: {\n info: (message: string) => {\n this.info(message);\n },\n warn: (message: string, _more?: any) => {\n this.warn(message);\n },\n error: (message: string | any) => {\n this.error(message);\n }\n }\n });\n },\n async types(code: string) {\n const resources: Resource[] = [];\n for (const file of await listFiles(\n getOutputPath(\n this.config.i18next.extract.output,\n this.config.i18next.extract.primaryLanguage,\n \"*\"\n )\n )) {\n const namespace = findFileName(file, { withExtension: false });\n const parsedContent = await this.resolver.import<ResourceContent>(file);\n\n // If mergeNamespaces is used, a single file can contain multiple namespaces\n // (e.g. { \"translation\": { ... }, \"common\": { ... } } in a per-language file).\n // In that case, expose each top-level key as a namespace entry so the type\n // generator will produce top-level namespace interfaces (not a language wrapper).\n if (\n this.config.i18next.extract.mergeNamespaces &&\n isSetObject(parsedContent)\n ) {\n // If we have at least one object and we are in mergeNamespaces mode, assume it's a merged file\n if (\n Object.keys(parsedContent).filter(k =>\n isSetObject(parsedContent[k])\n ).length > 0\n ) {\n for (const nsName of Object.keys(parsedContent).filter(k =>\n isSetObject(parsedContent[k])\n )) {\n resources.push({\n name: nsName,\n resources: parsedContent[nsName] as ResourceContent\n });\n }\n\n if (\n Object.keys(parsedContent).filter(\n k => !isSetObject(parsedContent[k])\n ).length > 0\n ) {\n this.warn(\n `The file ${file} contains top-level keys that are not objects (${Object.keys(\n parsedContent\n )\n .filter(k => !isSetObject(parsedContent[k]))\n .join(\n \", \"\n )}). When 'mergeNamespaces' is enabled, top-level keys are treated as namespaces. These keys will be ignored.`\n );\n }\n\n continue;\n }\n }\n\n resources.push({ name: namespace, resources: parsedContent });\n }\n\n let result!: string;\n if (this.config.i18next.types.resourcesFile) {\n await this.fs.write(\n appendPath(\n this.config.i18next.types.resourcesFile,\n this.config.i18next.types.output || this.config.root\n ),\n mergeResourcesAsInterface(resources, {\n optimize: !!this.config.i18next.types.enableSelector,\n indentation: this.config.i18next.types.indentation\n })\n );\n } else {\n result = `${code}\n\n${mergeResourcesAsInterface(resources, {\n optimize: !!this.config.i18next.types.enableSelector,\n indentation: this.config.i18next.types.indentation\n})}\n\n/**\n * i18next Custom Type Options\n *\n * @see https://www.i18next.com/overview/typescript#custom-type-options\n */\ndeclare module 'i18next' {\n interface CustomTypeOptions {\n enableSelector: ${isString(this.config.i18next.types.enableSelector) ? `\"${this.config.i18next.types.enableSelector}\"` : this.config.i18next.types.enableSelector};\n defaultNS: ${\n this.config.i18next.extract.defaultNS === false\n ? \"false\"\n : `'${this.config.i18next.extract.defaultNS || \"translation\"}'`\n };\n resources: Resources;\n }\n}\n`;\n }\n\n return result;\n }\n };\n};\n\nexport default plugin;\n"],"mappings":"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"}
@@ -11,4 +11,5 @@ const getObjectTag = (value) => {
11
11
  };
12
12
 
13
13
  //#endregion
14
- export { getObjectTag };
14
+ export { getObjectTag };
15
+ //# sourceMappingURL=get-object-tag.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-object-tag.mjs","names":[],"sources":["../../../../../../../../../../node_modules/.pnpm/@stryke+type-checks@0.5.38/node_modules/@stryke/type-checks/dist/get-object-tag.mjs"],"sourcesContent":["//#region src/get-object-tag.ts\n/**\n* Gets the `toStringTag` of `obj`.\n*\n* @param value - The obj to query.\n* @returns Returns the `toStringTag`.\n*/\nconst getObjectTag = (value) => {\n\tif (value == null) return value === void 0 ? \"[object Undefined]\" : \"[object Null]\";\n\treturn Object.prototype.toString.call(value);\n};\n\n//#endregion\nexport { getObjectTag };\n//# sourceMappingURL=get-object-tag.mjs.map"],"x_google_ignoreList":[0],"mappings":";;;;;;;AAOA,MAAM,gBAAgB,UAAU;AAC/B,KAAI,SAAS,KAAM,QAAO,UAAU,KAAK,IAAI,uBAAuB;AACpE,QAAO,OAAO,UAAU,SAAS,KAAK,MAAM"}
@@ -17,4 +17,5 @@ const isEmpty = (value) => {
17
17
  };
18
18
 
19
19
  //#endregion
20
- export { isEmpty };
20
+ export { isEmpty };
21
+ //# sourceMappingURL=is-empty.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"is-empty.mjs","names":[],"sources":["../../../../../../../../../../node_modules/.pnpm/@stryke+type-checks@0.5.38/node_modules/@stryke/type-checks/dist/is-empty.mjs"],"sourcesContent":["import { isDate } from \"./is-date.mjs\";\nimport { isFunction } from \"./is-function.mjs\";\nimport { isNull } from \"./is-null.mjs\";\nimport { isNumber } from \"./is-number.mjs\";\nimport { isSymbol } from \"./is-symbol.mjs\";\nimport { isUndefined } from \"./is-undefined.mjs\";\n\n//#region src/is-empty.ts\n/**\n* Check if the provided value's type is `null` or `undefined`\n*\n* @param value - The value to type check\n* @returns An indicator specifying if the value provided is of type `null` or `undefined`\n*/\nconst isEmpty = (value) => {\n\ttry {\n\t\treturn isUndefined(value) || isNull(value);\n\t} catch {\n\t\treturn false;\n\t}\n};\nconst isEmptyAnything = (value) => {\n\tif (value === true || value === false) return true;\n\tif (value === null || value === void 0) return true;\n\tif (isNumber(value)) return value === 0;\n\tif (isDate(value)) return Number.isNaN(value.getTime());\n\tif (isFunction(value)) return false;\n\tif (isSymbol(value)) return false;\n\tconst { length } = value;\n\tif (isNumber(length)) return length === 0;\n\tconst { size } = value;\n\tif (isNumber(size)) return size === 0;\n\treturn Object.keys(value).length === 0;\n};\n\n//#endregion\nexport { isEmpty, isEmptyAnything };\n//# sourceMappingURL=is-empty.mjs.map"],"x_google_ignoreList":[0],"mappings":";;;;;;;;;;AAcA,MAAM,WAAW,UAAU;AAC1B,KAAI;AACH,SAAO,YAAY,MAAM,IAAI,OAAO,MAAM;SACnC;AACP,SAAO"}
@@ -13,4 +13,5 @@ const isNonNullObject = (value) => {
13
13
  };
14
14
 
15
15
  //#endregion
16
- export { isNonNullObject };
16
+ export { isNonNullObject };
17
+ //# sourceMappingURL=is-non-null-object.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"is-non-null-object.mjs","names":[],"sources":["../../../../../../../../../../node_modules/.pnpm/@stryke+type-checks@0.5.38/node_modules/@stryke/type-checks/dist/is-non-null-object.mjs"],"sourcesContent":["import { isObject } from \"./is-object.mjs\";\nimport { isSet } from \"./is-set.mjs\";\n\n//#region src/is-non-null-object.ts\n/**\n* Check if the provided value's type is `Object` and is not `null` or `undefined`\n*\n* @param value - The value to type check\n* @returns An indicator specifying if the value provided is of type `Object` and is not `null` or `undefined`\n*/\nconst isNonNullObject = (value) => {\n\treturn isSet(value) && isObject(value);\n};\n\n//#endregion\nexport { isNonNullObject };\n//# sourceMappingURL=is-non-null-object.mjs.map"],"x_google_ignoreList":[0],"mappings":";;;;;;;;;;AAUA,MAAM,mBAAmB,UAAU;AAClC,QAAO,MAAM,MAAM,IAAI,SAAS,MAAM"}
@@ -8,4 +8,5 @@ const isNull = (value) => {
8
8
  };
9
9
 
10
10
  //#endregion
11
- export { isNull };
11
+ export { isNull };
12
+ //# sourceMappingURL=is-null.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"is-null.mjs","names":[],"sources":["../../../../../../../../../../node_modules/.pnpm/@stryke+type-checks@0.5.38/node_modules/@stryke/type-checks/dist/is-null.mjs"],"sourcesContent":["//#region src/is-null.ts\nconst isNull = (value) => {\n\ttry {\n\t\treturn value === null;\n\t} catch {\n\t\treturn false;\n\t}\n};\n\n//#endregion\nexport { isNull };\n//# sourceMappingURL=is-null.mjs.map"],"x_google_ignoreList":[0],"mappings":";AACA,MAAM,UAAU,UAAU;AACzB,KAAI;AACH,SAAO,UAAU;SACV;AACP,SAAO"}
@@ -16,4 +16,5 @@ const isObject = (value) => {
16
16
  };
17
17
 
18
18
  //#endregion
19
- export { isObject };
19
+ export { isObject };
20
+ //# sourceMappingURL=is-object.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"is-object.mjs","names":[],"sources":["../../../../../../../../../../node_modules/.pnpm/@stryke+type-checks@0.5.38/node_modules/@stryke/type-checks/dist/is-object.mjs"],"sourcesContent":["import { isPlainObject } from \"./is-plain-object.mjs\";\n\n//#region src/is-object.ts\nconst isClassRegex = /^class\\s|^function\\s+[A-Z]/;\nconst isConventionalClassRegex = /^function\\s+[A-Z]/;\nconst isNativeClassRegex = /^class\\s/;\n/** Is ES6+ class */\nfunction isNativeClass(value) {\n\treturn typeof value === \"function\" && isNativeClassRegex.test(value.toString());\n}\n/**\n* Check if the provided value's type is a conventional class\n*\n* @remarks\n* Is Conventional Class\n* Looks for function with capital first letter MyClass\n* First letter is the 9th character\n* If changed, isClass must also be updated\n*\n* @param value - The value to type check\n* @returns An indicator specifying if the value provided is a conventional class\n*/\nfunction isConventionalClass(value) {\n\treturn typeof value === \"function\" && isConventionalClassRegex.test(value.toString());\n}\nfunction isClass(value) {\n\treturn typeof value === \"function\" && isClassRegex.test(value.toString());\n}\n/**\n* Check if the provided value's type is `Object`\n*\n* @param value - The value to type check\n* @returns An indicator specifying if the value provided is of type `Object`\n*/\nconst isObject = (value) => {\n\ttry {\n\t\treturn typeof value === \"object\" || Boolean(value) && value?.constructor === Object || isPlainObject(value);\n\t} catch {\n\t\treturn false;\n\t}\n};\n\n//#endregion\nexport { isClass, isConventionalClass, isNativeClass, isObject };\n//# sourceMappingURL=is-object.mjs.map"],"x_google_ignoreList":[0],"mappings":";;;;;;;;;AAkCA,MAAM,YAAY,UAAU;AAC3B,KAAI;AACH,SAAO,OAAO,UAAU,YAAY,QAAQ,MAAM,IAAI,OAAO,gBAAgB,UAAU,cAAc,MAAM;SACpG;AACP,SAAO"}
@@ -60,4 +60,5 @@ const isPlainObject = (obj) => {
60
60
  };
61
61
 
62
62
  //#endregion
63
- export { isPlainObject };
63
+ export { isPlainObject };
64
+ //# sourceMappingURL=is-plain-object.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"is-plain-object.mjs","names":[],"sources":["../../../../../../../../../../node_modules/.pnpm/@stryke+type-checks@0.5.38/node_modules/@stryke/type-checks/dist/is-plain-object.mjs"],"sourcesContent":["import { getObjectTag } from \"./get-object-tag.mjs\";\n\n//#region src/is-plain-object.ts\n/**\n* Checks if `value` is object-like. A value is object-like if it's not `null`\n* and has a `typeof` result of \"object\".\n*\n* @example\n* ```typescript\n* isObjectLike({})\n* // => true\n*\n* isObjectLike([1, 2, 3])\n* // => true\n*\n* isObjectLike(Function)\n* // => false\n*\n* isObjectLike(null)\n* // => false\n* ```\n*\n* @param value - The value to check.\n* @returns Returns `true` if `value` is object-like, else `false`.\n*/\nconst isObjectLike = (obj) => {\n\treturn typeof obj === \"object\" && obj !== null;\n};\n/**\n* Checks if `obj` is a plain object, that is, an object created by the `Object` constructor or one with a `[[Prototype]]` of `null`.\n*\n* @example\n* ```typescript\n* function Foo() {\n* this.a = 1\n* }\n*\n* isPlainObject(new Foo)\n* // => false\n*\n* isPlainObject([1, 2, 3])\n* // => false\n*\n* isPlainObject({ 'x': 0, 'y': 0 })\n* // => true\n*\n* isPlainObject(Object.create(null))\n* // => true\n* ```\n*\n* @param obj - The value to check.\n* @returns Returns `true` if `obj` is a plain object, else `false`.\n*/\nconst isPlainObject = (obj) => {\n\tif (!isObjectLike(obj) || getObjectTag(obj) !== \"[object Object]\") return false;\n\tif (Object.getPrototypeOf(obj) === null) return true;\n\tlet proto = obj;\n\twhile (Object.getPrototypeOf(proto) !== null) proto = Object.getPrototypeOf(proto);\n\treturn Object.getPrototypeOf(obj) === proto;\n};\n\n//#endregion\nexport { isObjectLike, isPlainObject };\n//# sourceMappingURL=is-plain-object.mjs.map"],"x_google_ignoreList":[0],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAyBA,MAAM,gBAAgB,QAAQ;AAC7B,QAAO,OAAO,QAAQ,YAAY,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2B3C,MAAM,iBAAiB,QAAQ;AAC9B,KAAI,CAAC,aAAa,IAAI,IAAI,aAAa,IAAI,KAAK,kBAAmB,QAAO;AAC1E,KAAI,OAAO,eAAe,IAAI,KAAK,KAAM,QAAO;CAChD,IAAI,QAAQ;AACZ,QAAO,OAAO,eAAe,MAAM,KAAK,KAAM,SAAQ,OAAO,eAAe,MAAM;AAClF,QAAO,OAAO,eAAe,IAAI,KAAK"}
@@ -16,4 +16,5 @@ const isSetObject = (value) => {
16
16
  };
17
17
 
18
18
  //#endregion
19
- export { isSetObject };
19
+ export { isSetObject };
20
+ //# sourceMappingURL=is-set-object.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"is-set-object.mjs","names":[],"sources":["../../../../../../../../../../node_modules/.pnpm/@stryke+type-checks@0.5.38/node_modules/@stryke/type-checks/dist/is-set-object.mjs"],"sourcesContent":["import { isNonNullObject } from \"./is-non-null-object.mjs\";\n\n//#region src/is-set-object.ts\n/**\n* Check if the provided value's type is an object with some fields set\n*\n* @param value - The value to type check\n* @returns An indicator specifying if the value provided is an object with some fields se\n*/\nconst isSetObject = (value) => {\n\ttry {\n\t\treturn isNonNullObject(value) && Object.keys(value).length > 0;\n\t} catch {\n\t\treturn false;\n\t}\n};\n\n//#endregion\nexport { isSetObject };\n//# sourceMappingURL=is-set-object.mjs.map"],"x_google_ignoreList":[0],"mappings":";;;;;;;;;AASA,MAAM,eAAe,UAAU;AAC9B,KAAI;AACH,SAAO,gBAAgB,MAAM,IAAI,OAAO,KAAK,MAAM,CAAC,SAAS;SACtD;AACP,SAAO"}
@@ -16,4 +16,5 @@ const isSet = (value) => {
16
16
  };
17
17
 
18
18
  //#endregion
19
- export { isSet };
19
+ export { isSet };
20
+ //# sourceMappingURL=is-set.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"is-set.mjs","names":[],"sources":["../../../../../../../../../../node_modules/.pnpm/@stryke+type-checks@0.5.38/node_modules/@stryke/type-checks/dist/is-set.mjs"],"sourcesContent":["import { isEmpty } from \"./is-empty.mjs\";\n\n//#region src/is-set.ts\n/**\n* The inverse of the `isEmpty` function\n*\n* @param value - The value to type check\n* @returns An indicator specifying if the value provided is **NOT** of type `null` or `undefined`\n*/\nconst isSet = (value) => {\n\ttry {\n\t\treturn !isEmpty(value);\n\t} catch {\n\t\treturn false;\n\t}\n};\n\n//#endregion\nexport { isSet };\n//# sourceMappingURL=is-set.mjs.map"],"x_google_ignoreList":[0],"mappings":";;;;;;;;;AASA,MAAM,SAAS,UAAU;AACxB,KAAI;AACH,SAAO,CAAC,QAAQ,MAAM;SACf;AACP,SAAO"}
@@ -8,4 +8,5 @@ const isString = (value) => {
8
8
  };
9
9
 
10
10
  //#endregion
11
- export { isString };
11
+ export { isString };
12
+ //# sourceMappingURL=is-string.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"is-string.mjs","names":[],"sources":["../../../../../../../../../../node_modules/.pnpm/@stryke+type-checks@0.5.38/node_modules/@stryke/type-checks/dist/is-string.mjs"],"sourcesContent":["//#region src/is-string.ts\nconst isString = (value) => {\n\ttry {\n\t\treturn typeof value === \"string\";\n\t} catch {\n\t\treturn false;\n\t}\n};\n\n//#endregion\nexport { isString };\n//# sourceMappingURL=is-string.mjs.map"],"x_google_ignoreList":[0],"mappings":";AACA,MAAM,YAAY,UAAU;AAC3B,KAAI;AACH,SAAO,OAAO,UAAU;SACjB;AACP,SAAO"}
@@ -4,4 +4,5 @@ const isUndefined = (value) => {
4
4
  };
5
5
 
6
6
  //#endregion
7
- export { isUndefined };
7
+ export { isUndefined };
8
+ //# sourceMappingURL=is-undefined.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"is-undefined.mjs","names":[],"sources":["../../../../../../../../../../node_modules/.pnpm/@stryke+type-checks@0.5.38/node_modules/@stryke/type-checks/dist/is-undefined.mjs"],"sourcesContent":["//#region src/is-undefined.ts\nconst isUndefined = (value) => {\n\treturn value === void 0;\n};\n\n//#endregion\nexport { isUndefined };\n//# sourceMappingURL=is-undefined.mjs.map"],"x_google_ignoreList":[0],"mappings":";AACA,MAAM,eAAe,UAAU;AAC9B,QAAO,UAAU,KAAK"}
@@ -0,0 +1,23 @@
1
+ //#region src/types/i18n.d.ts
2
+ /**
3
+ * Represents a translation resource with its namespace name and content
4
+ */
5
+ interface ResourceContent {
6
+ [key: string]: string | ResourceContent;
7
+ }
8
+ /**
9
+ * Represents a translation resource with its namespace name and content
10
+ */
11
+ interface Resource {
12
+ /**
13
+ * The namespace name (filename without extension)
14
+ */
15
+ name: string;
16
+ /**
17
+ * The parsed JSON resources object
18
+ */
19
+ resources: ResourceContent;
20
+ }
21
+ //#endregion
22
+ export { Resource, ResourceContent };
23
+ //# sourceMappingURL=i18n.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"i18n.d.cts","names":[],"sources":["../../src/types/i18n.ts"],"sourcesContent":[],"mappings":";;AAqBA;AAOA;UAPiB,eAAA;0BACS;;;;;UAMT,QAAA;;;;;;;;aASJ"}
@@ -0,0 +1,23 @@
1
+ //#region src/types/i18n.d.ts
2
+ /**
3
+ * Represents a translation resource with its namespace name and content
4
+ */
5
+ interface ResourceContent {
6
+ [key: string]: string | ResourceContent;
7
+ }
8
+ /**
9
+ * Represents a translation resource with its namespace name and content
10
+ */
11
+ interface Resource {
12
+ /**
13
+ * The namespace name (filename without extension)
14
+ */
15
+ name: string;
16
+ /**
17
+ * The parsed JSON resources object
18
+ */
19
+ resources: ResourceContent;
20
+ }
21
+ //#endregion
22
+ export { Resource, ResourceContent };
23
+ //# sourceMappingURL=i18n.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"i18n.d.mts","names":[],"sources":["../../src/types/i18n.ts"],"sourcesContent":[],"mappings":";;AAqBA;AAOA;UAPiB,eAAA;0BACS;;;;;UAMT,QAAA;;;;;;;;aASJ"}
@@ -0,0 +1,3 @@
1
+ import { I18NextPluginContext, I18NextPluginOptions, I18NextPluginResolvedConfig, I18NextPluginUserConfig } from "./plugin.cjs";
2
+ import { Resource, ResourceContent } from "./i18n.cjs";
3
+ export { I18NextPluginContext, I18NextPluginOptions, I18NextPluginResolvedConfig, I18NextPluginUserConfig, Resource, ResourceContent };
@@ -0,0 +1,3 @@
1
+ import { I18NextPluginContext, I18NextPluginOptions, I18NextPluginResolvedConfig, I18NextPluginUserConfig } from "./plugin.mjs";
2
+ import { Resource, ResourceContent } from "./i18n.mjs";
3
+ export { I18NextPluginContext, I18NextPluginOptions, I18NextPluginResolvedConfig, I18NextPluginUserConfig, Resource, ResourceContent };
@@ -0,0 +1,24 @@
1
+ import { PluginContext, ResolvedConfig, UserConfig } from "powerlines";
2
+ import { DeepPartial } from "@stryke/types/base";
3
+ import { I18nextToolkitConfig } from "i18next-cli";
4
+
5
+ //#region src/types/plugin.d.ts
6
+ type I18NextPluginOptions = DeepPartial<I18nextToolkitConfig>;
7
+ type I18NextPluginUserConfig = UserConfig & {
8
+ i18next?: I18NextPluginOptions;
9
+ };
10
+ type I18NextPluginResolvedConfig = ResolvedConfig & {
11
+ i18next: Omit<I18nextToolkitConfig, "extract" | "types"> & {
12
+ extract: Omit<I18nextToolkitConfig["extract"], "output" | "primaryLanguage" | "indentation"> & Required<Pick<I18nextToolkitConfig["extract"], "output" | "primaryLanguage" | "indentation">>;
13
+ types: Omit<NonNullable<I18nextToolkitConfig["types"]>, "input" | "output" | "enableSelector" | "indentation"> & {
14
+ input?: string;
15
+ output?: string;
16
+ enableSelector: boolean | "optimize";
17
+ indentation: number | string;
18
+ };
19
+ };
20
+ };
21
+ type I18NextPluginContext<TResolvedConfig extends I18NextPluginResolvedConfig = I18NextPluginResolvedConfig> = PluginContext<TResolvedConfig>;
22
+ //#endregion
23
+ export { I18NextPluginContext, I18NextPluginOptions, I18NextPluginResolvedConfig, I18NextPluginUserConfig };
24
+ //# sourceMappingURL=plugin.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin.d.cts","names":[],"sources":["../../src/types/plugin.ts"],"sourcesContent":[],"mappings":";;;;;KAsBY,oBAAA,GAAuB,YAAY;KAEnC,uBAAA,GAA0B;EAF1B,OAAA,CAAA,EAGA,oBAHoB;AAEhC,CAAA;AAIY,KAAA,2BAAA,GAA8B,cAAH,GAAA;EAAG,OAAA,EAC/B,IAD+B,CAC1B,oBAD0B,EAAA,SAAA,GAAA,OAAA,CAAA,GAAA;IAC1B,OAAA,EACH,IADG,CAEV,oBAFU,CAAA,SAAA,CAAA,EAAA,QAAA,GAAA,iBAAA,GAAA,aAAA,CAAA,GAKV,QALU,CAMR,IANQ,CAON,oBAPM,CAAA,SAAA,CAAA,EAAA,QAAA,GAAA,iBAAA,GAAA,aAAA,CAAA,CAAA;IAAL,KAAA,EAWA,IAXA,CAYL,WAZK,CAYO,oBAZP,CAAA,OAAA,CAAA,CAAA,EAAA,OAAA,GAAA,QAAA,GAAA,gBAAA,GAAA,aAAA,CAAA,GAAA;MAEL,KAAA,CAAA,EAAA,MAAA;MADO,MAAA,CAAA,EAAA,MAAA;MAMH,cAAA,EAAA,OAAA,GAAA,UAAA;MADF,WAAA,EAAA,MAAA,GAAA,MAAA;IADF,CAAA;EAOY,CAAA;CAAZ;AADK,KAYC,oBAZD,CAAA,wBAae,2BAbf,GAcP,2BAdO,CAAA,GAeP,aAfO,CAeO,eAfP,CAAA"}
@@ -0,0 +1,24 @@
1
+ import { I18nextToolkitConfig } from "i18next-cli";
2
+ import { PluginContext, ResolvedConfig, UserConfig } from "powerlines";
3
+ import { DeepPartial } from "@stryke/types/base";
4
+
5
+ //#region src/types/plugin.d.ts
6
+ type I18NextPluginOptions = DeepPartial<I18nextToolkitConfig>;
7
+ type I18NextPluginUserConfig = UserConfig & {
8
+ i18next?: I18NextPluginOptions;
9
+ };
10
+ type I18NextPluginResolvedConfig = ResolvedConfig & {
11
+ i18next: Omit<I18nextToolkitConfig, "extract" | "types"> & {
12
+ extract: Omit<I18nextToolkitConfig["extract"], "output" | "primaryLanguage" | "indentation"> & Required<Pick<I18nextToolkitConfig["extract"], "output" | "primaryLanguage" | "indentation">>;
13
+ types: Omit<NonNullable<I18nextToolkitConfig["types"]>, "input" | "output" | "enableSelector" | "indentation"> & {
14
+ input?: string;
15
+ output?: string;
16
+ enableSelector: boolean | "optimize";
17
+ indentation: number | string;
18
+ };
19
+ };
20
+ };
21
+ type I18NextPluginContext<TResolvedConfig extends I18NextPluginResolvedConfig = I18NextPluginResolvedConfig> = PluginContext<TResolvedConfig>;
22
+ //#endregion
23
+ export { I18NextPluginContext, I18NextPluginOptions, I18NextPluginResolvedConfig, I18NextPluginUserConfig };
24
+ //# sourceMappingURL=plugin.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin.d.mts","names":[],"sources":["../../src/types/plugin.ts"],"sourcesContent":[],"mappings":";;;;;KAsBY,oBAAA,GAAuB,YAAY;KAEnC,uBAAA,GAA0B;EAF1B,OAAA,CAAA,EAGA,oBAHoB;AAEhC,CAAA;AAIY,KAAA,2BAAA,GAA8B,cAAH,GAAA;EAAG,OAAA,EAC/B,IAD+B,CAC1B,oBAD0B,EAAA,SAAA,GAAA,OAAA,CAAA,GAAA;IAC1B,OAAA,EACH,IADG,CAEV,oBAFU,CAAA,SAAA,CAAA,EAAA,QAAA,GAAA,iBAAA,GAAA,aAAA,CAAA,GAKV,QALU,CAMR,IANQ,CAON,oBAPM,CAAA,SAAA,CAAA,EAAA,QAAA,GAAA,iBAAA,GAAA,aAAA,CAAA,CAAA;IAAL,KAAA,EAWA,IAXA,CAYL,WAZK,CAYO,oBAZP,CAAA,OAAA,CAAA,CAAA,EAAA,OAAA,GAAA,QAAA,GAAA,gBAAA,GAAA,aAAA,CAAA,GAAA;MAEL,KAAA,CAAA,EAAA,MAAA;MADO,MAAA,CAAA,EAAA,MAAA;MAMH,cAAA,EAAA,OAAA,GAAA,UAAA;MADF,WAAA,EAAA,MAAA,GAAA,MAAA;IADF,CAAA;EAOY,CAAA;CAAZ;AADK,KAYC,oBAZD,CAAA,wBAae,2BAbf,GAcP,2BAdO,CAAA,GAeP,aAfO,CAeO,eAfP,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@powerlines/plugin-i18next",
3
- "version": "0.1.234",
3
+ "version": "0.1.236",
4
4
  "type": "module",
5
5
  "description": "A Powerlines plugin to use i18next for internationalization.",
6
6
  "repository": {
@@ -109,13 +109,13 @@
109
109
  "defu": "^6.1.4",
110
110
  "i18next-cli": "^1.49.6",
111
111
  "i18next-resources-for-ts": "^2.0.1",
112
- "powerlines": "^0.41.2"
112
+ "powerlines": "^0.41.4"
113
113
  },
114
114
  "devDependencies": {
115
- "@powerlines/plugin-plugin": "^0.12.288",
115
+ "@powerlines/plugin-plugin": "^0.12.290",
116
116
  "@types/node": "^25.4.0"
117
117
  },
118
118
  "publishConfig": { "access": "public" },
119
119
  "types": "./dist/index.d.cts",
120
- "gitHead": "f53c211d745492a562800e7beec598d860ac2092"
120
+ "gitHead": "387dd4f3e14b4e5a2580ffcf2951d7727aae15a3"
121
121
  }