UNPKG

one

Version:

One is a new React Framework that makes Vite serve both native and web.

66 lines (65 loc) 2.78 kB
import path from "path"; import { describe, expect, it } from "vitest"; import { buildOneMetroResolverOverrides } from "./buildOneMetroResolverOverrides.native.js"; describe("buildOneMetroResolverOverrides", function () { it("resolves every react-native-worklets import from the app root", function () { var _config_resolver; var projectRoot = path.resolve(__dirname, "../../"); var nestedOrigin = path.join(projectRoot, "node_modules/react-native-reanimated/src/index.ts"); var resolvedOrigins = []; var config = buildOneMetroResolverOverrides({ projectRoot })({ resolver: { resolveRequest: function (context, moduleName, _platform) { resolvedOrigins.push(`${moduleName}:${context.originModulePath}`); return { type: "sourceFile", filePath: moduleName }; } } }); var resolveRequest = (_config_resolver = config.resolver) === null || _config_resolver === void 0 ? void 0 : _config_resolver.resolveRequest; if (!resolveRequest) { throw new Error("expected a Metro resolver override"); } resolveRequest({ originModulePath: nestedOrigin }, "react-native-worklets", "ios"); resolveRequest({ originModulePath: nestedOrigin }, "react-native-worklets/package.json", "ios"); resolveRequest({ originModulePath: nestedOrigin }, "react-native-safe-area-context", "ios"); expect(resolvedOrigins).toEqual([`react-native-worklets:${path.join(projectRoot, "package.json")}`, `react-native-worklets/package.json:${path.join(projectRoot, "package.json")}`, `react-native-safe-area-context:${nestedOrigin}`]); }); it("keeps the compiled react-native-svg native entry point", function () { var _config_resolver; var projectRoot = path.resolve(__dirname, "../../"); var config = buildOneMetroResolverOverrides({ projectRoot })({ resolver: { resolveRequest: function (_context, moduleName, _platform) { return { type: "sourceFile", filePath: path.join(projectRoot, "node_modules", moduleName, "src", "index.ts") }; } } }); var resolveRequest = (_config_resolver = config.resolver) === null || _config_resolver === void 0 ? void 0 : _config_resolver.resolveRequest; if (!resolveRequest) { throw new Error("expected a Metro resolver override"); } expect(resolveRequest({ originModulePath: path.join(projectRoot, "app.tsx") }, "react-native-svg", "ios")).toEqual({ type: "sourceFile", filePath: path.join(projectRoot, "node_modules", "react-native-svg", "lib", "commonjs", "index.js") }); }); }); //# sourceMappingURL=buildOneMetroResolverOverrides.test.native.js.map