UNPKG

@nx/remix

Version:

The Remix plugin for Nx contains executors and generators for managing Remix applications and libraries within an Nx workspace. It provides: - Integration with libraries such as Vitest, Jest, Playwright, Cypress, and Storybook. - Generators for applica

37 lines (35 loc) 1.55 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = default_1; const devkit_1 = require("@nx/devkit"); const insert_import_1 = require("../../utils/insert-import"); const insert_statement_after_imports_1 = require("../../utils/insert-statement-after-imports"); const insert_statement_in_default_function_1 = require("../../utils/insert-statement-in-default-function"); async function default_1(tree, schema) { const routeFilePath = schema.path; if (!tree.exists(routeFilePath)) { throw new Error(`Route path does not exist: ${routeFilePath}. Please generate a Remix route first.`); } (0, insert_import_1.insertImport)(tree, routeFilePath, 'useLoaderData', '@remix-run/react'); (0, insert_import_1.insertImport)(tree, routeFilePath, 'json', '@remix-run/node'); (0, insert_import_1.insertImport)(tree, routeFilePath, 'LoaderFunctionArgs', '@remix-run/node', { typeOnly: true, }); (0, insert_statement_after_imports_1.insertStatementAfterImports)(tree, routeFilePath, ` export const loader = async ({request}: LoaderFunctionArgs ) => { return json({ message: 'Hello, world!', }) }; `); const statement = `\nconst data = useLoaderData<typeof loader>();`; try { (0, insert_statement_in_default_function_1.insertStatementInDefaultFunction)(tree, routeFilePath, statement); // eslint-disable-next-line no-empty } catch (err) { } finally { await (0, devkit_1.formatFiles)(tree); } }