react-native-intlayer 8.4.0-canary.0 → 8.4.1

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.
@@ -0,0 +1,2 @@
1
+ import{exclusionList as e}from"./exclusionList.mjs";import{resolve as t}from"node:path";import{prepareIntlayer as n}from"@intlayer/chokidar/build";import{getConfiguration as r}from"@intlayer/config/node";import{getAlias as i}from"@intlayer/config/utils";import{resolve as a}from"metro-resolver";var o=(e=>typeof require<`u`?require:typeof Proxy<`u`?new Proxy(e,{get:(e,t)=>(typeof require<`u`?require:e)[t]}):e)(function(e){if(typeof require<`u`)return require.apply(this,arguments);throw Error('Calling `require` for "'+e+"\" in an environment that doesn't expose the `require` function. See https://rolldown.rs/in-depth/bundling-cjs#require-external-modules for more details.")});const s=n=>{let s=i({configuration:r(),formatter:t}),c=n?.resolver?.blockList,l=c instanceof RegExp?[c]:c??[],u=n?.resolver?.resolveRequest;return{...n,resolver:{...n?.resolver,resolveRequest:(e,t,...n)=>Object.keys(s).includes(t)?{filePath:s[t],type:`sourceFile`}:t===`@intlayer/config/client`?{filePath:o.resolve(`@intlayer/config/client`),type:`sourceFile`}:t===`@intlayer/core/file`?{filePath:o.resolve(`@intlayer/core/file/browser`),type:`sourceFile`}:u?u(e,t,...n):a(e,t,...n),blockList:e([...l,/.*\.content\.(?:ts|tsx|js|jsx|cjs|cjx|mjs|mjx|json)$/])}}},c=async e=>(await n(r()),s(e));export{s as n,c as t};
2
+ //# sourceMappingURL=configMetroIntlayer-qNNTJySv.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"configMetroIntlayer-qNNTJySv.mjs","names":["pathResolve","resolve"],"sources":["../../src/configMetroIntlayer.ts"],"sourcesContent":["import { resolve as pathResolve } from 'node:path';\nimport { prepareIntlayer } from '@intlayer/chokidar/build';\nimport { getConfiguration } from '@intlayer/config/node';\nimport { getAlias } from '@intlayer/config/utils';\nimport type { getDefaultConfig } from 'expo/metro-config';\nimport { resolve } from 'metro-resolver';\nimport { exclusionList } from './exclusionList';\n\ntype MetroConfig = ReturnType<typeof getDefaultConfig>;\n\n/**\n * // metro.config.js\n * const { getDefaultConfig } = require(\"expo/metro-config\");\n * const { configMetroIntlayerSync } = require(\"react-native-intlayer/metro\");\n *\n *\n * const defaultConfig = getDefaultConfig(__dirname);\n *\n * return configMetroIntlayerSync(defaultConfig);\n * ```\n *\n * > Note: `configMetroIntlayerSync` does not build intlayer dictionaries on server start. Use `configMetroIntlayer` for that.\n */\nexport const configMetroIntlayerSync = (\n baseConfig?: MetroConfig\n): MetroConfig => {\n const configuration = getConfiguration();\n\n const alias = getAlias({\n configuration,\n formatter: pathResolve, // get absolute path\n });\n\n const existingBlockList = baseConfig?.resolver?.blockList;\n const existingPatterns: RegExp[] =\n existingBlockList instanceof RegExp\n ? [existingBlockList]\n : (existingBlockList ?? []);\n\n const existingResolveRequest = baseConfig?.resolver?.resolveRequest;\n\n const config = {\n ...baseConfig,\n\n resolver: {\n ...baseConfig?.resolver,\n resolveRequest: (context, moduleName, ...args) => {\n if (Object.keys(alias).includes(moduleName)) {\n return {\n filePath: alias[moduleName as keyof typeof alias],\n type: 'sourceFile',\n };\n }\n\n // Because metro does not resolve submodules, we need to resolve the path manually\n if (moduleName === '@intlayer/config/client') {\n return {\n filePath: require.resolve('@intlayer/config/client'),\n type: 'sourceFile',\n };\n }\n\n // Because metro does not resolve submodules, we need to resolve the path manually\n if (moduleName === '@intlayer/core/file') {\n // Force React Native to use the correct transpiled version\n return {\n filePath: require.resolve('@intlayer/core/file/browser'),\n type: 'sourceFile',\n };\n }\n\n // Delegate to the user-provided resolver if present\n if (existingResolveRequest) {\n return existingResolveRequest(context, moduleName, ...args);\n }\n\n // Fallback to metro-resolver\n return resolve(context as any, moduleName, ...args);\n },\n blockList: exclusionList([\n ...existingPatterns,\n // the following instruction should be replaced configuration.content.watchedFilesPattern\n // but using watchedFilesPattern does not exclude the files properly for now\n /.*\\.content\\.(?:ts|tsx|js|jsx|cjs|cjx|mjs|mjx|json)$/,\n ]),\n },\n } as MetroConfig;\n\n return config;\n};\n\n/**\n * // metro.config.js\n * const { getDefaultConfig } = require(\"expo/metro-config\");\n * const { configMetroIntlayer } = require(\"react-native-intlayer/metro\");\n *\n * module.exports = (async () => {\n * const defaultConfig = getDefaultConfig(__dirname);\n *\n * return await configMetroIntlayer(defaultConfig);\n * })();\n * ```\n *\n * > Note: `configMetroIntlayer` builds intlayer dictionaries on server start. Use `configMetroIntlayerSync` instead if you want to skip that.\n */\nexport const configMetroIntlayer = async (\n baseConfig?: MetroConfig\n): Promise<MetroConfig> => {\n const configuration = getConfiguration();\n\n await prepareIntlayer(configuration);\n\n return configMetroIntlayerSync(baseConfig);\n};\n"],"mappings":"0qBAuBA,MAAa,EACX,GACgB,CAGhB,IAAM,EAAQ,EAAS,CACrB,cAHoB,GAAkB,CAItC,UAAWA,EACZ,CAAC,CAEI,EAAoB,GAAY,UAAU,UAC1C,EACJ,aAA6B,OACzB,CAAC,EAAkB,CAClB,GAAqB,EAAE,CAExB,EAAyB,GAAY,UAAU,eAiDrD,MA/Ce,CACb,GAAG,EAEH,SAAU,CACR,GAAG,GAAY,SACf,gBAAiB,EAAS,EAAY,GAAG,IACnC,OAAO,KAAK,EAAM,CAAC,SAAS,EAAW,CAClC,CACL,SAAU,EAAM,GAChB,KAAM,aACP,CAIC,IAAe,0BACV,CACL,SAAA,EAAkB,QAAQ,0BAA0B,CACpD,KAAM,aACP,CAIC,IAAe,sBAEV,CACL,SAAA,EAAkB,QAAQ,8BAA8B,CACxD,KAAM,aACP,CAIC,EACK,EAAuB,EAAS,EAAY,GAAG,EAAK,CAItDC,EAAQ,EAAgB,EAAY,GAAG,EAAK,CAErD,UAAW,EAAc,CACvB,GAAG,EAGH,uDACD,CAAC,CACH,CACF,EAmBU,EAAsB,KACjC,KAIA,MAAM,EAFgB,GAAkB,CAEJ,CAE7B,EAAwB,EAAW"}
@@ -1,2 +1 @@
1
- import{__require as e}from"./_virtual/_rolldown/runtime.mjs";import{exclusionList as t}from"./exclusionList.mjs";import{resolve as n}from"node:path";import{prepareIntlayer as r}from"@intlayer/chokidar/build";import{getConfiguration as i}from"@intlayer/config/node";import{getAlias as a}from"@intlayer/config/utils";import{resolve as o}from"metro-resolver";const s=r=>{let s=a({configuration:i(),formatter:n}),c=r?.resolver?.blockList,l=c instanceof RegExp?[c]:c??[],u=r?.resolver?.resolveRequest;return{...r,resolver:{...r?.resolver,resolveRequest:(t,n,...r)=>Object.keys(s).includes(n)?{filePath:s[n],type:`sourceFile`}:n===`@intlayer/config/client`?{filePath:e.resolve(`@intlayer/config/client`),type:`sourceFile`}:n===`@intlayer/core/file`?{filePath:e.resolve(`@intlayer/core/file/browser`),type:`sourceFile`}:u?u(t,n,...r):o(t,n,...r),blockList:t([...l,/.*\.content\.(?:ts|tsx|js|jsx|cjs|cjx|mjs|mjx|json)$/])}}},c=async e=>(await r(i()),s(e));export{c as configMetroIntlayer,s as configMetroIntlayerSync};
2
- //# sourceMappingURL=configMetroIntlayer.mjs.map
1
+ import{n as e,t}from"./configMetroIntlayer-qNNTJySv.mjs";export{t as configMetroIntlayer,e as configMetroIntlayerSync};
@@ -1 +1 @@
1
- import{configMetroIntlayer as e,configMetroIntlayerSync as t}from"./configMetroIntlayer.mjs";export{e as configMetroIntlayer,t as configMetroIntlayerSync};
1
+ import{n as e,t}from"./configMetroIntlayer-qNNTJySv.mjs";export{t as configMetroIntlayer,e as configMetroIntlayerSync};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-intlayer",
3
- "version": "8.4.0-canary.0",
3
+ "version": "8.4.1",
4
4
  "private": false,
5
5
  "description": "A React Native plugin for seamless internationalization (i18n), providing locale detection, redirection, and environment-based configuration",
6
6
  "keywords": [
@@ -86,11 +86,11 @@
86
86
  "typecheck": "tsc --noEmit --project tsconfig.types.json"
87
87
  },
88
88
  "dependencies": {
89
- "@intlayer/chokidar": "8.4.0-canary.0",
90
- "@intlayer/config": "8.4.0-canary.0",
91
- "@intlayer/core": "8.4.0-canary.0",
92
- "@intlayer/types": "8.4.0-canary.0",
93
- "react-intlayer": "8.4.0-canary.0"
89
+ "@intlayer/chokidar": "8.4.1",
90
+ "@intlayer/config": "8.4.1",
91
+ "@intlayer/core": "8.4.1",
92
+ "@intlayer/types": "8.4.1",
93
+ "react-intlayer": "8.4.1"
94
94
  },
95
95
  "devDependencies": {
96
96
  "@types/node": "25.5.0",
@@ -110,7 +110,7 @@
110
110
  "expo": ">=52",
111
111
  "metro-resolver": ">=0.80",
112
112
  "react": ">=18.0.0",
113
- "react-intlayer": "8.4.0-canary.0"
113
+ "react-intlayer": "8.4.1"
114
114
  },
115
115
  "engines": {
116
116
  "node": ">=14.18"
@@ -1 +0,0 @@
1
- var e=(e=>typeof require<`u`?require:typeof Proxy<`u`?new Proxy(e,{get:(e,t)=>(typeof require<`u`?require:e)[t]}):e)(function(e){if(typeof require<`u`)return require.apply(this,arguments);throw Error('Calling `require` for "'+e+"\" in an environment that doesn't expose the `require` function. See https://rolldown.rs/in-depth/bundling-cjs#require-external-modules for more details.")});export{e as __require};
@@ -1 +0,0 @@
1
- {"version":3,"file":"configMetroIntlayer.mjs","names":["pathResolve","resolve"],"sources":["../../src/configMetroIntlayer.ts"],"sourcesContent":["import { resolve as pathResolve } from 'node:path';\nimport { prepareIntlayer } from '@intlayer/chokidar/build';\nimport { getConfiguration } from '@intlayer/config/node';\nimport { getAlias } from '@intlayer/config/utils';\nimport type { getDefaultConfig } from 'expo/metro-config';\nimport { resolve } from 'metro-resolver';\nimport { exclusionList } from './exclusionList';\n\ntype MetroConfig = ReturnType<typeof getDefaultConfig>;\n\n/**\n * // metro.config.js\n * const { getDefaultConfig } = require(\"expo/metro-config\");\n * const { configMetroIntlayerSync } = require(\"react-native-intlayer/metro\");\n *\n *\n * const defaultConfig = getDefaultConfig(__dirname);\n *\n * return configMetroIntlayerSync(defaultConfig);\n * ```\n *\n * > Note: `configMetroIntlayerSync` does not build intlayer dictionaries on server start. Use `configMetroIntlayer` for that.\n */\nexport const configMetroIntlayerSync = (\n baseConfig?: MetroConfig\n): MetroConfig => {\n const configuration = getConfiguration();\n\n const alias = getAlias({\n configuration,\n formatter: pathResolve, // get absolute path\n });\n\n const existingBlockList = baseConfig?.resolver?.blockList;\n const existingPatterns: RegExp[] =\n existingBlockList instanceof RegExp\n ? [existingBlockList]\n : (existingBlockList ?? []);\n\n const existingResolveRequest = baseConfig?.resolver?.resolveRequest;\n\n const config = {\n ...baseConfig,\n\n resolver: {\n ...baseConfig?.resolver,\n resolveRequest: (context, moduleName, ...args) => {\n if (Object.keys(alias).includes(moduleName)) {\n return {\n filePath: alias[moduleName as keyof typeof alias],\n type: 'sourceFile',\n };\n }\n\n // Because metro does not resolve submodules, we need to resolve the path manually\n if (moduleName === '@intlayer/config/client') {\n return {\n filePath: require.resolve('@intlayer/config/client'),\n type: 'sourceFile',\n };\n }\n\n // Because metro does not resolve submodules, we need to resolve the path manually\n if (moduleName === '@intlayer/core/file') {\n // Force React Native to use the correct transpiled version\n return {\n filePath: require.resolve('@intlayer/core/file/browser'),\n type: 'sourceFile',\n };\n }\n\n // Delegate to the user-provided resolver if present\n if (existingResolveRequest) {\n return existingResolveRequest(context, moduleName, ...args);\n }\n\n // Fallback to metro-resolver\n return resolve(context as any, moduleName, ...args);\n },\n blockList: exclusionList([\n ...existingPatterns,\n // the following instruction should be replaced configuration.content.watchedFilesPattern\n // but using watchedFilesPattern does not exclude the files properly for now\n /.*\\.content\\.(?:ts|tsx|js|jsx|cjs|cjx|mjs|mjx|json)$/,\n ]),\n },\n } as MetroConfig;\n\n return config;\n};\n\n/**\n * // metro.config.js\n * const { getDefaultConfig } = require(\"expo/metro-config\");\n * const { configMetroIntlayer } = require(\"react-native-intlayer/metro\");\n *\n * module.exports = (async () => {\n * const defaultConfig = getDefaultConfig(__dirname);\n *\n * return await configMetroIntlayer(defaultConfig);\n * })();\n * ```\n *\n * > Note: `configMetroIntlayer` builds intlayer dictionaries on server start. Use `configMetroIntlayerSync` instead if you want to skip that.\n */\nexport const configMetroIntlayer = async (\n baseConfig?: MetroConfig\n): Promise<MetroConfig> => {\n const configuration = getConfiguration();\n\n await prepareIntlayer(configuration);\n\n return configMetroIntlayerSync(baseConfig);\n};\n"],"mappings":"oWAuBA,MAAa,EACX,GACgB,CAGhB,IAAM,EAAQ,EAAS,CACrB,cAHoB,GAAkB,CAItC,UAAWA,EACZ,CAAC,CAEI,EAAoB,GAAY,UAAU,UAC1C,EACJ,aAA6B,OACzB,CAAC,EAAkB,CAClB,GAAqB,EAAE,CAExB,EAAyB,GAAY,UAAU,eAiDrD,MA/Ce,CACb,GAAG,EAEH,SAAU,CACR,GAAG,GAAY,SACf,gBAAiB,EAAS,EAAY,GAAG,IACnC,OAAO,KAAK,EAAM,CAAC,SAAS,EAAW,CAClC,CACL,SAAU,EAAM,GAChB,KAAM,aACP,CAIC,IAAe,0BACV,CACL,SAAA,EAAkB,QAAQ,0BAA0B,CACpD,KAAM,aACP,CAIC,IAAe,sBAEV,CACL,SAAA,EAAkB,QAAQ,8BAA8B,CACxD,KAAM,aACP,CAIC,EACK,EAAuB,EAAS,EAAY,GAAG,EAAK,CAItDC,EAAQ,EAAgB,EAAY,GAAG,EAAK,CAErD,UAAW,EAAc,CACvB,GAAG,EAGH,uDACD,CAAC,CACH,CACF,EAmBU,EAAsB,KACjC,KAIA,MAAM,EAFgB,GAAkB,CAEJ,CAE7B,EAAwB,EAAW"}