{"_id":"@pankod/refine-core","_rev":"229-a8f412e05f08e6cb8d9f0e61f6eb6d70","name":"@pankod/refine-core","dist-tags":{"alpha":"3.18.2","latest":"3.103.0","next":"3.102.0"},"versions":{"3.0.0":{"name":"@pankod/refine-core","version":"3.0.0","description":"refine is a React-based framework for building data-intensive applications in no time. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/refine-core.esm.js","typings":"dist/index.d.ts","scripts":{"start":"tsdx watch --tsconfig tsconfig.json --verbose --noClean","build":"tsdx build --tsconfig tsconfig.json","test":"tsdx test --passWithNoTests --runInBand","prepare":"tsdx build","size":"size-limit","analyze":"size-limit --why","generate-theme":"npx @emeks/antd-custom-theme-generator -w --antd ../../node_modules/antd ./src/assets/styles/custom-theme.less ./src/assets/styles/styles.min.css"},"peerDependencies":{"antd":"^4.17.1","react":"^17.0.2","react-dom":"^17.0.2"},"devDependencies":{"@babel/core":"^7.13.14","@size-limit/preset-small-lib":"^5.0.5","@testing-library/jest-dom":"^5.12.0","@testing-library/react":"^11.2.6","@testing-library/react-hooks":"^5.0.3","@testing-library/user-event":"^12.8.3","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^17.0.4","@types/react-csv":"^1.1.1","@types/react-dom":"^17.0.4","@types/react-router-dom":"^5.1.8","@types/testing-library__jest-dom":"^5.9.5","babel-plugin-module-resolver":"^4.1.0","identity-obj-proxy":"^3.0.0","msw":"^0.26.2","postcss":"^8.1.4","react-router-dom":"^5.3.0","size-limit":"^5.0.5","tsdx":"^0.14.1","typescript":"^4.4.3"},"dependencies":{"@ant-design/icons":"^4.5.0","antd":"^4.17.1","export-to-csv":"^0.2.1","humanize-string":"^2.1.0","lodash":"^4.17.21","lodash-es":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","react-csv":"^2.0.3","react-query":"^3.19.2","tslib":"^2.3.1"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"eaf89e89826c676be4d69eeae428bacd974b524b","publishConfig":{"access":"public"},"_id":"@pankod/refine-core@3.0.0","_nodeVersion":"14.18.3","_npmVersion":"lerna/4.0.0/node@v14.18.3+x64 (linux)","dist":{"integrity":"sha512-cj0tnZh0JHfEUO3hxIYdp1gj3FSrh2KP9qL5ym6o52EgEAg2XIcE7/qoSJ1KSHOpb4UAGNx4VhjQIpedNNoEFQ==","shasum":"07bd395926c203865c559a7e3bd8c0f330c5f793","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.0.0.tgz","fileCount":337,"unpackedSize":1785109,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh5VhXCRA9TVsSAnZWagAAOGAQAJrM2ydSr9oOWkkQ0PSo\nJ5yQFbvfNn8kt810HjLJii0WX9IIDnVOYvw0lIzj4fzF5QcDcgB1exqktRcF\nqVPlLH+rNK1qkk+Ws8GIjYpOgwUDMljseemhLIN+q/NBS6d2/abjft9EBFx1\nTOwhXLZDbsZGLQnf2Ge7xt1MDsHrPFrKtZ3mIKghN/ETnLl/FMY/KuXeOmQY\nqodnQiGbGzo4Fsf7ye7QLe+uP5ke+iwUKcGTlU61Q4dUfTH0yROXJSiQ+cHs\nDqEaIOngu2brBxO0NqMrTg7n+Bf0OIF029o5uy5+qFRfs4LSMoBCWj/3er7/\nEkCbqdma4aptr/bIUtBtGwmPKBwFDVWQ5igVJfKyufTg98QyvEvKj/a2doK2\nfnkYrBFQuYILRgoPcLldEKcQ/OVr24y3XbARISDJlZQRg12UgUkzcvWJcaKi\nAxzTLHyGNEjBqKhFlU6rGoutREDiy/Uzfiln9w87jj6NeVZN06lH7z/pbJK+\nmGK5qKlpuC1zX4P7thmlWU3O+xDoaLx2KhpF5RRsA8mTR+rafgxJpgr9rY1O\nIU63amIVT4+io0V1cBOmLA2+VDOxaQM4lToT6yIIL4Y99jyQm69RVUvDvUc/\nNvcoFuikLKyoDCpl5tbQuIuY1gIkhGJWuUB9HrLJSynKtLwzwGl0J0zbaFIk\n4YVu\r\n=oBhr\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCQ1ucw5SdHJz+pslQiQBoj6nrFeNuzz0dU3Cvd/EW78wIhAKHq8Qh8L5ad/+neX2o0Sq4s5Ru1ZaXncn/vKH9/VxHV"}]},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"mhrrmk","email":"mkocadere@gmail.com"},{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"aydinakyol","email":"aydinakyol11@gmail.com"},{"name":"necatiozmen","email":"necati.ozmen.9@gmail.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.0.0_1642420311586_0.2501558442061582"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.0.1":{"name":"@pankod/refine-core","version":"3.0.1","description":"refine is a React-based framework for building data-intensive applications in no time. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/refine-core.esm.js","typings":"dist/index.d.ts","scripts":{"start":"tsdx watch --tsconfig tsconfig.json --verbose --noClean","build":"tsdx build --tsconfig tsconfig.json","test":"tsdx test --passWithNoTests --runInBand","prepare":"tsdx build","size":"size-limit","analyze":"size-limit --why","generate-theme":"npx @emeks/antd-custom-theme-generator -w --antd ../../node_modules/antd ./src/assets/styles/custom-theme.less ./src/assets/styles/styles.min.css"},"peerDependencies":{"antd":"^4.17.1","react":"^17.0.2","react-dom":"^17.0.2"},"devDependencies":{"@babel/core":"^7.13.14","@size-limit/preset-small-lib":"^5.0.5","@testing-library/jest-dom":"^5.12.0","@testing-library/react":"^11.2.6","@testing-library/react-hooks":"^5.0.3","@testing-library/user-event":"^12.8.3","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^17.0.4","@types/react-csv":"^1.1.1","@types/react-dom":"^17.0.4","@types/react-router-dom":"^5.1.8","@types/testing-library__jest-dom":"^5.9.5","babel-plugin-module-resolver":"^4.1.0","identity-obj-proxy":"^3.0.0","msw":"^0.26.2","postcss":"^8.1.4","react-router-dom":"^5.3.0","size-limit":"^5.0.5","tsdx":"^0.14.1","typescript":"^4.4.3"},"dependencies":{"@ant-design/icons":"^4.5.0","antd":"^4.17.1","export-to-csv":"^0.2.1","humanize-string":"^2.1.0","lodash":"^4.17.21","lodash-es":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","react-csv":"^2.0.3","react-query":"^3.19.2","tslib":"^2.3.1"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"ac7156d239d77c057d0c867b111d08fbe5972344","publishConfig":{"access":"public"},"readme":"<div align=\"center\" style=\"margin: 30px;\">\n<a href=\"https://refine.dev/\">\n  <img src=\"https://raw.githubusercontent.com/pankod/refine/master/logo.png\"   style=\"width:250px;\" align=\"center\" />\n</a>\n<br />\n<br />\n\n<div align=\"center\">\n    <a href=\"https://refine.dev\">Home Page</a> |\n    <a href=\"https://refine.dev/demo/\">Demo</a> | \n    <a href=\"https://refine.dev/blog/\">Blog</a> | \n    <a href=\"https://refine.dev/docs/\">Documentation</a> | \n    <a href=\"https://github.com/pankod/refine/projects/1\">Roadmap</a> | \n    <a href=\"https://refine.dev/docs/examples/tutorial/\">Examples</a> | \n    <a href=\"https://refine.dev/enterprise/\">Enterprise</a> | \n    <a href=\"https://discord.gg/UuU3XCc3J5\">Discord</a>\n</div>\n\n</div>\n<br/>\n\n<div align=\"center\"><strong>refine</strong> is a <a href=\"https://reactjs.org/\">React</a>-based framework for building data-intensive applications in no time ✨ It ships with <a href=\"https://ant.design/\">Ant Design System</a>, an enterprise-level UI toolkit.</div>\n\n<br />\n\n<div align=\"center\">\n\n[![Tweet](https://img.shields.io/twitter/url/http/shields.io.svg?style=social)](https://twitter.com/intent/tweet?text=A%20React-based%20framework%20for%20building%20data-intensive%20applications%20in%20no%20time.&url=https://github.com/pankod/refine&hashtags=opensource,react,reactquery,antdesign)\n\n<a href=\"https://www.producthunt.com/posts/refine-open-source-react-framework?utm_source=badge-featured&utm_medium=badge&utm_souce=badge-refine-open-source-react-framework\" target=\"_blank\"><img src=\"https://api.producthunt.com/widgets/embed-image/v1/featured.svg?post_id=319164&theme=light\" alt=\"refine: Open Source React Framework - Focus your business logic. refine will do the rest. | Product Hunt\" style=\"width: 250px; height: 54px;\" width=\"250\" height=\"54\" /></a>\n\n[![Meercode CI Score](https://meercode.io/badge/pankod/refine?type=ci-score&branch=master&token=2ZiT8YsoJgt57JB23NYwXrFY3rJHZboT&lastDay=31)](https://meercode.io/)\n[![Meercode CI Success Rate](https://meercode.io/badge/pankod/refine?type=ci-success-rate&branch=master&token=2ZiT8YsoJgt57JB23NYwXrFY3rJHZboT&lastDay=31)](https://meercode.io/)\n[![Maintainability](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/maintainability)](https://codeclimate.com/github/pankod/refine/maintainability)\n[![Test Coverage](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/test_coverage)](https://codeclimate.com/github/pankod/refine/test_coverage)\n[![npm version](https://img.shields.io/npm/v/@pankod/refine.svg)](https://www.npmjs.com/package/@pankod/refine)\n[![npm](https://img.shields.io/npm/dm/@pankod/refine)](https://www.npmjs.com/package/@pankod/refine)\n[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.0-4baaaa.svg)](code_of_conduct.md)\n[![Discord](https://img.shields.io/discord/837692625737613362.svg?label=&logo=discord&logoColor=ffffff&color=7389D8&labelColor=6A7EC2)](https://discord.gg/UuU3XCc3J5)\n\n</div>\n\n<div align=\"center\">\n  <sub>Created by <a href=\"https://www.pankod.com\">Pankod</a></sub>\n</div>\n\n## About\n\n[**refine**](https://refine.dev/) offers lots of out-of-the box functionality for rapid development, without compromising extreme customizability. Use-cases include, but are not limited to _admin panels_, _B2B applications_ and _dashboards_.\n\n## Documentation\n\nFor more detailed information and usage, refer to the [refine documentation](https://refine.dev/docs/).\n\n## Key features\n\n⚙️ **Zero-configuration**: One-line setup with [superplate](https://github.com/pankod/superplate). It takes less than a minute to start a project.\n\n📦 **Out-of-the-box** : Routing, networking, authentication, state management, i18n and UI.\n\n🔌 **Backend Agnostic** : Connects to any custom backend. Built-in support for [REST API](https://github.com/pankod/refine/tree/master/packages/simple-rest), [GraphQL](https://github.com/pankod/refine/tree/master/packages/graphql), [NestJs CRUD](https://github.com/pankod/refine/tree/master/packages/nestjsx-crud), [Airtable](https://github.com/pankod/refine/tree/master/packages/airtable), [Strapi](https://github.com/pankod/refine/tree/master/packages/strapi), [Strapi v4](https://github.com/pankod/refine/tree/master/packages/strapi-v4), [Strapi GraphQL](https://github.com/pankod/refine/tree/master/packages/strapi-graphql), [Supabase](https://github.com/pankod/refine/tree/master/packages/supabase), [Hasura](https://github.com/pankod/refine/tree/master/packages/hasura), [Appwrite](https://github.com/pankod/refine/tree/master/packages/appwrite), [Firebase](https://github.com/rturan29/refine-firebase) and [Altogic](https://github.com/pankod/refine/tree/master/packages/altogic).\n\n📝 **Native Typescript Core** : You can always opt out for plain JavaScript.\n\n🔘 **Decoupled UI** : UI components are exposed directly without encapsulation. You have full control on UI elements.\n\n🐜 **Powerful Default UI** : Works seamlessly with integrated [Ant Design System](https://ant.design/). (Support for multiple UI frameworks is on the Roadmap)\n\n📝 **Boilerplate-free Code** : Keeps your codebase clean and readable.\n\n## Motivation\n\nHigher-level frontend frameworks can save you a lot time, but they typically offer you a trade-off between speed and flexibility.\n\nAfter many years of experience in developing B2B frontend applications and working with popular frameworks, we came up with a new approach to tackle this dilemma. This is how **refine** is born.\n\n**refine** is a collection of helper `hooks`, `components` and `providers`. They are all decoupled from your UI components and business logic, so they never keep you from customizing your UI or coding your own flow.\n\nAs **refine** is totally _unopinionated_ about UI and logic, it's strongly _opinionated_ about three parts of your application:\n\n1. **API Networking**\n2. **State Management**\n3. **Authentication & Authorization**\n\nWe believe, these are the most important components of a data-intensive frontend application and should be handled in a robust way by leveraging industry best practices.\n\n**refine** guarantees you a perfect implementation of these building blocks in your project, so you can focus on your development.\n\n## Architecture\n\n**refine** makes extensive use of [hooks](https://reactjs.org/docs/hooks-reference.html#gatsby-focus-wrapper) as a default way for interacting with your components.\nUnder the hood, **refine** relies heavily to [React Query](https://react-query.tanstack.com/) for data handling, caching and state management.\nAccess to external sources and API's happen via providers which are basically plug-in type components for extendibility.\n\n<br/>\n\n<div align=\"center\">\n    <img src=\"https://raw.githubusercontent.com/pankod/refine/master/documentation/static/img/getting-started/refine_architecture.png\" width=\"400px\" />\n</div>\n\n## Benchmark\n\nAfter releasing the first internal versions, we had the chance to migrate some of our _React_ projects to **refine**.\nIn addition to **shorter development** times and **overall performance gains**, we've measured significant reduction in project size.\n\n**refine** makes your codebase significantly smaller, by eliminating redundant code such as _reducers_, _actions_ and _unit tests_. Below is a size comparison for an example project:\n\n<br/>\n\n<div align=\"center\">\n    <img src=\"https://raw.githubusercontent.com/pankod/refine/master/documentation/static/img/getting-started/benchmark.png\" width=\"400px\" align=\"center\" />\n</div>\n\n## Quick Start\n\nRun the **superplate** tool with the following command:\n\n```\nnpx superplate-cli tutorial\n```\n\nFollow the _CLI wizard_ to select options and start creating your project.\n\nAfter setup is complete, navigate to the project folder and start your project with:\n\n```\nnpm run dev\n```\n\nYour **refine** application will be accessible at [http://localhost:3000](http://localhost:3000).\n\nReplace the contents of `App.tsx` with the following code:\n\n```tsx title=\"App.tsx\"\nimport React from \"react\";\nimport {\n    Refine,\n    Resource,\n    useTable,\n    List,\n    Table,\n    useMany,\n    DateField,\n} from \"@pankod/refine\";\nimport routerProvider from \"@pankod/refine-react-router\";\nimport dataProvider from \"@pankod/refine-simple-rest\";\n\nimport \"@pankod/refine/dist/styles.min.css\";\n\nconst App: React.FC = () => {\n    return (\n        <Refine\n            routerProvider={routerProvider}\n            dataProvider={dataProvider(\"https://api.fake-rest.refine.dev\")}\n            resources={[\n                {\n                    name: \"posts\",\n                    list: PostList,\n                },\n            ]}\n        />\n    );\n};\n\nexport const PostList: React.FC = () => {\n    const { tableProps } = useTable<IPost>();\n\n    const categoryIds =\n        tableProps?.dataSource?.map((item) => item.category.id) ?? [];\n\n    const { data, isLoading } = useMany<ICategory>({\n        resource: \"categories\",\n        ids: categoryIds,\n        queryOptions: {\n            enabled: categoryIds.length > 0,\n        },\n    });\n\n    return (\n        <List>\n            <Table<IPost> {...tableProps} rowKey=\"id\">\n                <Table.Column dataIndex=\"title\" title=\"title\" />\n                <Table.Column\n                    dataIndex={[\"category\", \"id\"]}\n                    title=\"category\"\n                    render={(value: string) => {\n                        if (isLoading) {\n                            return \"loading...\";\n                        }\n\n                        return data?.data.find(\n                            (item: ICategory) => item.id === value,\n                        )?.title;\n                    }}\n                />\n                <Table.Column\n                    dataIndex=\"createdAt\"\n                    title=\"createdAt\"\n                    render={(value) => <DateField format=\"LLL\" value={value} />}\n                />\n            </Table>\n        </List>\n    );\n};\n\nexport default App;\n```\n\n```tsx title=\"interfaces.d.ts\"\ninterface IPost {\n    title: string;\n    createdAt: string;\n    category: ICategory;\n}\n\ninterface ICategory {\n    id: string;\n    title: string;\n}\n```\n\n## Roadmap\nYou can find Refine's <a href=\"https://github.com/pankod/refine/projects/1\">Public Roadmap here!</a> \n\n## Stargazers\n\n[![Stargazers repo roster for pankod/refine](https://reporoster.com/stars/pankod/refine)](https://github.com/pankod/refine/stargazers)\n\n## Contribution\n\nIf you have a bug to report, do not hesitate to file an issue.\n\nIf you are willing to fix an issue or propose a feature; all PRs with clear explanations are welcome and encouraged.\n\n## License\n\nLicensed under the MIT License, Copyright © 2021-present Pankod\n\n## Special Thanks\n\n[React Admin](https://marmelab.com/react-admin/) has been a great source of ideas and inspiration for refine. Big thanks to friends at [Marmelab](https://marmelab.com) for the amazing work they are doing.\n","readmeFilename":"README.md","_id":"@pankod/refine-core@3.0.1","_nodeVersion":"14.18.3","_npmVersion":"lerna/4.0.0/node@v14.18.3+x64 (linux)","dist":{"integrity":"sha512-mVkn6lvUR8qfvfeoO67/GM4Jc+V3PqO0Z7dtsS8xhFjHxHr1VamswtSP5acHPihrTwHnclHMHfjuLq5H3eUsng==","shasum":"8c40d7b56421bb8e0c7337e1cc29b2d03c96f1e1","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.0.1.tgz","fileCount":335,"unpackedSize":1786478,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh5rryCRA9TVsSAnZWagAArdUP/RCSZHizVHdIDHnF3KCd\nadMK/RGu4cDpSpSZYI2AR1JYqSKwRIXr7CSqle4Y6hqMqdc3teCkjw2Cd53y\njbOoApaQ+Pfop5NA+sKA44pIw0SmNhaLgU9MTQuonhZImP3OFvmqabj8jWKa\nndHJ0chaaXKuz0KzEDev8Hi2oIo9FzKBI/JdUPQ//tCvWx1re9BUBT29qYHi\n2kCinDkYhxFBoBbIO1ClxV5Zd2gDRlaNEQPU37h2liQk8PKgrniyzjfqiHTT\nsE0s13puEMP0rZEIX8To+W0J80gbBi6JV2PYhmTkrsG5Cy1De+whOS9W+hLr\nPRynPx6wD+kbeR2yIirVAW3b6paLCRyjepJdkBDvyyOHleTOgIbcrdahCCM0\nsjxNbK8ghYZ5ydKnPUhEddIVn+jxmQCFDK8gS0Cn7frbiEGIqFCDAFvhgGdt\nbLROmgyXPUAZwuHDbPTQ+MOpb8Q/dQmHMEPLNlSgyWtGmWPtQFkooW8XCGHQ\nrBT+09KYz8yFdWTxzWnQvti7NbSNRLG1LCUb/to0gF/DQ2VeSI7qw955czLH\n2lNTmifuJFTBqx2eO3q+RLrNVqJI0VjP3PsTUY/qkukW/oPONCQDimm6UpA6\neTAAMl9V9j/hwa0EvNd2sfY2r+RBcHgI2WS3rs2p5mUJATa6zgLP9KM1YyGl\nKR6d\r\n=02bD\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICWhBKgKxmcQq+NdWigeigTw0/KoVs4xGydQJ89W5UB5AiBnyq9KfC4Haakx8KNtJsIPUjU/6HFr2E8stzxqzC1Bhw=="}]},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"mhrrmk","email":"mkocadere@gmail.com"},{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"aydinakyol","email":"aydinakyol11@gmail.com"},{"name":"necatiozmen","email":"necati.ozmen.9@gmail.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.0.1_1642511090356_0.026884550566076415"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.0.2":{"name":"@pankod/refine-core","version":"3.0.2","description":"refine is a React-based framework for building data-intensive applications in no time. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/refine-core.esm.js","typings":"dist/index.d.ts","scripts":{"start":"tsdx watch --tsconfig tsconfig.json --verbose --noClean","build":"tsdx build --tsconfig tsconfig.json","test":"tsdx test --passWithNoTests --runInBand","prepare":"tsdx build","size":"size-limit","analyze":"size-limit --why","generate-theme":"npx @emeks/antd-custom-theme-generator -w --antd ../../node_modules/antd ./src/assets/styles/custom-theme.less ./src/assets/styles/styles.min.css"},"peerDependencies":{"antd":"^4.17.1","react":"^17.0.2","react-dom":"^17.0.2"},"devDependencies":{"@babel/core":"^7.13.14","@size-limit/preset-small-lib":"^5.0.5","@testing-library/jest-dom":"^5.12.0","@testing-library/react":"^11.2.6","@testing-library/react-hooks":"^5.0.3","@testing-library/user-event":"^12.8.3","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^17.0.4","@types/react-csv":"^1.1.1","@types/react-dom":"^17.0.4","@types/react-router-dom":"^5.1.8","@types/testing-library__jest-dom":"^5.9.5","babel-plugin-module-resolver":"^4.1.0","identity-obj-proxy":"^3.0.0","react-router-dom":"^5.3.0","size-limit":"^5.0.5","tsdx":"^0.14.1","typescript":"^4.4.3"},"dependencies":{"export-to-csv":"^0.2.1","humanize-string":"^2.1.0","lodash":"^4.17.21","lodash-es":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","react-csv":"^2.0.3","react-query":"^3.19.2","tslib":"^2.3.1"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"16f6d7322cb5092c8c4a77a7dc39d8eebe06cf23","publishConfig":{"access":"public"},"readme":"<div align=\"center\" style=\"margin: 30px;\">\n<a href=\"https://refine.dev/\">\n  <img src=\"https://raw.githubusercontent.com/pankod/refine/master/logo.png\"   style=\"width:250px;\" align=\"center\" />\n</a>\n<br />\n<br />\n\n<div align=\"center\">\n    <a href=\"https://refine.dev\">Home Page</a> |\n    <a href=\"https://refine.dev/demo/\">Demo</a> | \n    <a href=\"https://refine.dev/blog/\">Blog</a> | \n    <a href=\"https://refine.dev/docs/\">Documentation</a> | \n    <a href=\"https://github.com/pankod/refine/projects/1\">Roadmap</a> | \n    <a href=\"https://refine.dev/docs/examples/tutorial/\">Examples</a> | \n    <a href=\"https://refine.dev/enterprise/\">Enterprise</a> | \n    <a href=\"https://discord.gg/UuU3XCc3J5\">Discord</a>\n</div>\n\n</div>\n<br/>\n\n<div align=\"center\"><strong>refine</strong> is a <a href=\"https://reactjs.org/\">React</a>-based framework for building data-intensive applications in no time ✨ It ships with <a href=\"https://ant.design/\">Ant Design System</a>, an enterprise-level UI toolkit.</div>\n\n<br />\n\n<div align=\"center\">\n\n[![Tweet](https://img.shields.io/twitter/url/http/shields.io.svg?style=social)](https://twitter.com/intent/tweet?text=A%20React-based%20framework%20for%20building%20data-intensive%20applications%20in%20no%20time.&url=https://github.com/pankod/refine&hashtags=opensource,react,reactquery,antdesign)\n\n<a href=\"https://www.producthunt.com/posts/refine-open-source-react-framework?utm_source=badge-featured&utm_medium=badge&utm_souce=badge-refine-open-source-react-framework\" target=\"_blank\"><img src=\"https://api.producthunt.com/widgets/embed-image/v1/featured.svg?post_id=319164&theme=light\" alt=\"refine: Open Source React Framework - Focus your business logic. refine will do the rest. | Product Hunt\" style=\"width: 250px; height: 54px;\" width=\"250\" height=\"54\" /></a>\n\n[![Meercode CI Score](https://meercode.io/badge/pankod/refine?type=ci-score&branch=master&token=2ZiT8YsoJgt57JB23NYwXrFY3rJHZboT&lastDay=31)](https://meercode.io/)\n[![Meercode CI Success Rate](https://meercode.io/badge/pankod/refine?type=ci-success-rate&branch=master&token=2ZiT8YsoJgt57JB23NYwXrFY3rJHZboT&lastDay=31)](https://meercode.io/)\n[![Maintainability](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/maintainability)](https://codeclimate.com/github/pankod/refine/maintainability)\n[![Test Coverage](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/test_coverage)](https://codeclimate.com/github/pankod/refine/test_coverage)\n[![npm version](https://img.shields.io/npm/v/@pankod/refine.svg)](https://www.npmjs.com/package/@pankod/refine)\n[![npm](https://img.shields.io/npm/dm/@pankod/refine)](https://www.npmjs.com/package/@pankod/refine)\n[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.0-4baaaa.svg)](code_of_conduct.md)\n[![Discord](https://img.shields.io/discord/837692625737613362.svg?label=&logo=discord&logoColor=ffffff&color=7389D8&labelColor=6A7EC2)](https://discord.gg/UuU3XCc3J5)\n\n</div>\n\n<div align=\"center\">\n  <sub>Created by <a href=\"https://www.pankod.com\">Pankod</a></sub>\n</div>\n\n## About\n\n[**refine**](https://refine.dev/) offers lots of out-of-the box functionality for rapid development, without compromising extreme customizability. Use-cases include, but are not limited to _admin panels_, _B2B applications_ and _dashboards_.\n\n## Documentation\n\nFor more detailed information and usage, refer to the [refine documentation](https://refine.dev/docs/).\n\n## Key features\n\n⚙️ **Zero-configuration**: One-line setup with [superplate](https://github.com/pankod/superplate). It takes less than a minute to start a project.\n\n📦 **Out-of-the-box** : Routing, networking, authentication, state management, i18n and UI.\n\n🔌 **Backend Agnostic** : Connects to any custom backend. Built-in support for [REST API](https://github.com/pankod/refine/tree/master/packages/simple-rest), [GraphQL](https://github.com/pankod/refine/tree/master/packages/graphql), [NestJs CRUD](https://github.com/pankod/refine/tree/master/packages/nestjsx-crud), [Airtable](https://github.com/pankod/refine/tree/master/packages/airtable), [Strapi](https://github.com/pankod/refine/tree/master/packages/strapi), [Strapi v4](https://github.com/pankod/refine/tree/master/packages/strapi-v4), [Strapi GraphQL](https://github.com/pankod/refine/tree/master/packages/strapi-graphql), [Supabase](https://github.com/pankod/refine/tree/master/packages/supabase), [Hasura](https://github.com/pankod/refine/tree/master/packages/hasura), [Appwrite](https://github.com/pankod/refine/tree/master/packages/appwrite), [Firebase](https://github.com/rturan29/refine-firebase) and [Altogic](https://github.com/pankod/refine/tree/master/packages/altogic).\n\n📝 **Native Typescript Core** : You can always opt out for plain JavaScript.\n\n🔘 **Decoupled UI** : UI components are exposed directly without encapsulation. You have full control on UI elements.\n\n🐜 **Powerful Default UI** : Works seamlessly with integrated [Ant Design System](https://ant.design/). (Support for multiple UI frameworks is on the Roadmap)\n\n📝 **Boilerplate-free Code** : Keeps your codebase clean and readable.\n\n## Motivation\n\nHigher-level frontend frameworks can save you a lot time, but they typically offer you a trade-off between speed and flexibility.\n\nAfter many years of experience in developing B2B frontend applications and working with popular frameworks, we came up with a new approach to tackle this dilemma. This is how **refine** is born.\n\n**refine** is a collection of helper `hooks`, `components` and `providers`. They are all decoupled from your UI components and business logic, so they never keep you from customizing your UI or coding your own flow.\n\nAs **refine** is totally _unopinionated_ about UI and logic, it's strongly _opinionated_ about three parts of your application:\n\n1. **API Networking**\n2. **State Management**\n3. **Authentication & Authorization**\n\nWe believe, these are the most important components of a data-intensive frontend application and should be handled in a robust way by leveraging industry best practices.\n\n**refine** guarantees you a perfect implementation of these building blocks in your project, so you can focus on your development.\n\n## Architecture\n\n**refine** makes extensive use of [hooks](https://reactjs.org/docs/hooks-reference.html#gatsby-focus-wrapper) as a default way for interacting with your components.\nUnder the hood, **refine** relies heavily to [React Query](https://react-query.tanstack.com/) for data handling, caching and state management.\nAccess to external sources and API's happen via providers which are basically plug-in type components for extendibility.\n\n<br/>\n\n<div align=\"center\">\n    <img src=\"https://raw.githubusercontent.com/pankod/refine/master/documentation/static/img/getting-started/refine_architecture.png\" width=\"400px\" />\n</div>\n\n## Benchmark\n\nAfter releasing the first internal versions, we had the chance to migrate some of our _React_ projects to **refine**.\nIn addition to **shorter development** times and **overall performance gains**, we've measured significant reduction in project size.\n\n**refine** makes your codebase significantly smaller, by eliminating redundant code such as _reducers_, _actions_ and _unit tests_. Below is a size comparison for an example project:\n\n<br/>\n\n<div align=\"center\">\n    <img src=\"https://raw.githubusercontent.com/pankod/refine/master/documentation/static/img/getting-started/benchmark.png\" width=\"400px\" align=\"center\" />\n</div>\n\n## Quick Start\n\nRun the **superplate** tool with the following command:\n\n```\nnpx superplate-cli tutorial\n```\n\nFollow the _CLI wizard_ to select options and start creating your project.\n\nAfter setup is complete, navigate to the project folder and start your project with:\n\n```\nnpm run dev\n```\n\nYour **refine** application will be accessible at [http://localhost:3000](http://localhost:3000).\n\nReplace the contents of `App.tsx` with the following code:\n\n```tsx title=\"App.tsx\"\nimport React from \"react\";\nimport {\n    Refine,\n    Resource,\n    useTable,\n    List,\n    Table,\n    useMany,\n    DateField,\n} from \"@pankod/refine\";\nimport routerProvider from \"@pankod/refine-react-router\";\nimport dataProvider from \"@pankod/refine-simple-rest\";\n\nimport \"@pankod/refine/dist/styles.min.css\";\n\nconst App: React.FC = () => {\n    return (\n        <Refine\n            routerProvider={routerProvider}\n            dataProvider={dataProvider(\"https://api.fake-rest.refine.dev\")}\n            resources={[\n                {\n                    name: \"posts\",\n                    list: PostList,\n                },\n            ]}\n        />\n    );\n};\n\nexport const PostList: React.FC = () => {\n    const { tableProps } = useTable<IPost>();\n\n    const categoryIds =\n        tableProps?.dataSource?.map((item) => item.category.id) ?? [];\n\n    const { data, isLoading } = useMany<ICategory>({\n        resource: \"categories\",\n        ids: categoryIds,\n        queryOptions: {\n            enabled: categoryIds.length > 0,\n        },\n    });\n\n    return (\n        <List>\n            <Table<IPost> {...tableProps} rowKey=\"id\">\n                <Table.Column dataIndex=\"title\" title=\"title\" />\n                <Table.Column\n                    dataIndex={[\"category\", \"id\"]}\n                    title=\"category\"\n                    render={(value: string) => {\n                        if (isLoading) {\n                            return \"loading...\";\n                        }\n\n                        return data?.data.find(\n                            (item: ICategory) => item.id === value,\n                        )?.title;\n                    }}\n                />\n                <Table.Column\n                    dataIndex=\"createdAt\"\n                    title=\"createdAt\"\n                    render={(value) => <DateField format=\"LLL\" value={value} />}\n                />\n            </Table>\n        </List>\n    );\n};\n\nexport default App;\n```\n\n```tsx title=\"interfaces.d.ts\"\ninterface IPost {\n    title: string;\n    createdAt: string;\n    category: ICategory;\n}\n\ninterface ICategory {\n    id: string;\n    title: string;\n}\n```\n\n## Roadmap\nYou can find Refine's <a href=\"https://github.com/pankod/refine/projects/1\">Public Roadmap here!</a> \n\n## Stargazers\n\n[![Stargazers repo roster for pankod/refine](https://reporoster.com/stars/pankod/refine)](https://github.com/pankod/refine/stargazers)\n\n## Contribution\n\nIf you have a bug to report, do not hesitate to file an issue.\n\nIf you are willing to fix an issue or propose a feature; all PRs with clear explanations are welcome and encouraged.\n\n## License\n\nLicensed under the MIT License, Copyright © 2021-present Pankod\n\n## Special Thanks\n\n[React Admin](https://marmelab.com/react-admin/) has been a great source of ideas and inspiration for refine. Big thanks to friends at [Marmelab](https://marmelab.com) for the amazing work they are doing.\n","readmeFilename":"README.md","_id":"@pankod/refine-core@3.0.2","_nodeVersion":"14.18.3","_npmVersion":"lerna/4.0.0/node@v14.18.3+x64 (linux)","dist":{"integrity":"sha512-uebNFoWw7S0gNZyo/Fynss0PDa7VlU3artCRDeXkAh++Ja4kZNkNQUOHiLktqrL+SMr681pCY+mV3mkfuxYdvQ==","shasum":"273b43d559c1fd58aa5a2ad584b4dc300670ef81","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.0.2.tgz","fileCount":335,"unpackedSize":1786357,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh6mHPCRA9TVsSAnZWagAAfs4P/2YjgutWC8e/xCrfUQgq\nWWUD0coXRqT1/ek0H6o6lb5FHoBGBn8pYCjfnMe6LdlTrAL+crJSUj5lhGqs\nuYKjKsyfTkXdlEsITTSaDa3j8W57y9mzGPz2bkjzFFOlkMYZG4xrQB4bjUKv\nq1jbZPRcml/GvtLjAn+uv5+S5EgQD9r7taC/2WXywIixdx6Ut/E9qIh9iIKj\n66bWmmH3jiH17y5eC/ZkKpbwNeLu9xxYL93+nUWIAM0EJ6tOlCpM7XCaeFDS\n5zuOS0MELR5Xm8Ag8/mtSNI+UO0JG7sIGo0F6yWS0oLUnDNvi41x4mXYbxlz\nnhgzUFm/CTxTP3guNC5LIJOi1Pj7xCO7D7Qqa0KaC4JDcADvrgJ3y5T+R4cd\nbFIrsmA7e/tvydUfwE382KZ7kK/X6rapbZseyqLtruUbWI0zvLh10e2GeuUW\nEBUOrezrE06vGsHqqBsa9MHaPLe5YrkQnL8CNfZDGxSCzFOsIEbjSzIrORG4\n6BUujozztcMaomYZXqnePfWfD+umkof4orXcsLB3r3ifbS8EspMlfCn8WLE+\ntjmB4GhnvO/sDxzqTnx9WdP3T+JNxA/QZxHYf4z6zLOWVhYADZp6aFV2JcJx\nc4yvIGEth2yVA+Li3NR+yKIrwxTrAdkoiwMDWSubUGksUBEINbPUKJvrcpXC\na7MQ\r\n=0zve\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGF0Fg/PCRUl1m11pYTFzTgFqkcZVmE2Kqipi0Qn1bpIAiEAxrnIiq7xh1ZQ7ncCkK6fsWp4x9a1/xwUYE3mJrP91sI="}]},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"mhrrmk","email":"mkocadere@gmail.com"},{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"aydinakyol","email":"aydinakyol11@gmail.com"},{"name":"necatiozmen","email":"necati.ozmen.9@gmail.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.0.2_1642750415662_0.4905437340215635"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.0.3":{"name":"@pankod/refine-core","version":"3.0.3","description":"refine is a React-based framework for building data-intensive applications in no time. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/refine-core.esm.js","typings":"dist/index.d.ts","scripts":{"start":"tsdx watch --tsconfig tsconfig.json --verbose --noClean","build":"tsdx build --tsconfig tsconfig.json","test":"tsdx test --passWithNoTests --runInBand","prepare":"tsdx build","size":"size-limit","analyze":"size-limit --why","generate-theme":"npx @emeks/antd-custom-theme-generator -w --antd ../../node_modules/antd ./src/assets/styles/custom-theme.less ./src/assets/styles/styles.min.css"},"peerDependencies":{"antd":"^4.17.1","react":"^17.0.2","react-dom":"^17.0.2"},"devDependencies":{"@babel/core":"^7.13.14","@size-limit/preset-small-lib":"^5.0.5","@testing-library/jest-dom":"^5.12.0","@testing-library/react":"^11.2.6","@testing-library/react-hooks":"^5.0.3","@testing-library/user-event":"^12.8.3","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^17.0.4","@types/react-csv":"^1.1.1","@types/react-dom":"^17.0.4","@types/react-router-dom":"^5.1.8","@types/testing-library__jest-dom":"^5.9.5","babel-plugin-module-resolver":"^4.1.0","identity-obj-proxy":"^3.0.0","react-router-dom":"^5.3.0","size-limit":"^5.0.5","tsdx":"^0.14.1","typescript":"^4.4.3"},"dependencies":{"export-to-csv":"^0.2.1","humanize-string":"^2.1.0","lodash":"^4.17.21","lodash-es":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","react-csv":"^2.0.3","react-query":"^3.19.2","tslib":"^2.3.1"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"17980622f4a9353f3b372d9c27ae7d82baeb003c","publishConfig":{"access":"public"},"readme":"<div align=\"center\" style=\"margin: 30px;\">\n<a href=\"https://refine.dev/\">\n  <img src=\"https://raw.githubusercontent.com/pankod/refine/master/logo.png\"   style=\"width:250px;\" align=\"center\" />\n</a>\n<br />\n<br />\n\n<div align=\"center\">\n    <a href=\"https://refine.dev\">Home Page</a> |\n    <a href=\"https://refine.dev/demo/\">Demo</a> | \n    <a href=\"https://refine.dev/blog/\">Blog</a> | \n    <a href=\"https://refine.dev/docs/\">Documentation</a> | \n    <a href=\"https://github.com/pankod/refine/projects/1\">Roadmap</a> | \n    <a href=\"https://refine.dev/docs/examples/tutorial/\">Examples</a> | \n    <a href=\"https://refine.dev/enterprise/\">Enterprise</a> | \n    <a href=\"https://discord.gg/UuU3XCc3J5\">Discord</a>\n</div>\n\n</div>\n<br/>\n\n<div align=\"center\"><strong>refine</strong> is a <a href=\"https://reactjs.org/\">React</a>-based framework for building data-intensive applications in no time ✨ It ships with <a href=\"https://ant.design/\">Ant Design System</a>, an enterprise-level UI toolkit.</div>\n\n<br />\n\n<div align=\"center\">\n\n[![Tweet](https://img.shields.io/twitter/url/http/shields.io.svg?style=social)](https://twitter.com/intent/tweet?text=A%20React-based%20framework%20for%20building%20data-intensive%20applications%20in%20no%20time.&url=https://github.com/pankod/refine&hashtags=opensource,react,reactquery,antdesign)\n\n<a href=\"https://www.producthunt.com/posts/refine-open-source-react-framework?utm_source=badge-featured&utm_medium=badge&utm_souce=badge-refine-open-source-react-framework\" target=\"_blank\"><img src=\"https://api.producthunt.com/widgets/embed-image/v1/featured.svg?post_id=319164&theme=light\" alt=\"refine: Open Source React Framework - Focus your business logic. refine will do the rest. | Product Hunt\" style=\"width: 250px; height: 54px;\" width=\"250\" height=\"54\" /></a>\n\n[![Meercode CI Score](https://meercode.io/badge/pankod/refine?type=ci-score&branch=master&token=2ZiT8YsoJgt57JB23NYwXrFY3rJHZboT&lastDay=31)](https://meercode.io/)\n[![Meercode CI Success Rate](https://meercode.io/badge/pankod/refine?type=ci-success-rate&branch=master&token=2ZiT8YsoJgt57JB23NYwXrFY3rJHZboT&lastDay=31)](https://meercode.io/)\n[![Maintainability](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/maintainability)](https://codeclimate.com/github/pankod/refine/maintainability)\n[![Test Coverage](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/test_coverage)](https://codeclimate.com/github/pankod/refine/test_coverage)\n[![npm version](https://img.shields.io/npm/v/@pankod/refine.svg)](https://www.npmjs.com/package/@pankod/refine)\n[![npm](https://img.shields.io/npm/dm/@pankod/refine)](https://www.npmjs.com/package/@pankod/refine)\n[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.0-4baaaa.svg)](code_of_conduct.md)\n[![Discord](https://img.shields.io/discord/837692625737613362.svg?label=&logo=discord&logoColor=ffffff&color=7389D8&labelColor=6A7EC2)](https://discord.gg/UuU3XCc3J5)\n\n</div>\n\n<div align=\"center\">\n  <sub>Created by <a href=\"https://www.pankod.com\">Pankod</a></sub>\n</div>\n\n## About\n\n[**refine**](https://refine.dev/) offers lots of out-of-the box functionality for rapid development, without compromising extreme customizability. Use-cases include, but are not limited to _admin panels_, _B2B applications_ and _dashboards_.\n\n## Documentation\n\nFor more detailed information and usage, refer to the [refine documentation](https://refine.dev/docs/).\n\n## Key features\n\n⚙️ **Zero-configuration**: One-line setup with [superplate](https://github.com/pankod/superplate). It takes less than a minute to start a project.\n\n📦 **Out-of-the-box** : Routing, networking, authentication, state management, i18n and UI.\n\n🔌 **Backend Agnostic** : Connects to any custom backend. Built-in support for [REST API](https://github.com/pankod/refine/tree/master/packages/simple-rest), [GraphQL](https://github.com/pankod/refine/tree/master/packages/graphql), [NestJs CRUD](https://github.com/pankod/refine/tree/master/packages/nestjsx-crud), [Airtable](https://github.com/pankod/refine/tree/master/packages/airtable), [Strapi](https://github.com/pankod/refine/tree/master/packages/strapi), [Strapi v4](https://github.com/pankod/refine/tree/master/packages/strapi-v4), [Strapi GraphQL](https://github.com/pankod/refine/tree/master/packages/strapi-graphql), [Supabase](https://github.com/pankod/refine/tree/master/packages/supabase), [Hasura](https://github.com/pankod/refine/tree/master/packages/hasura), [Appwrite](https://github.com/pankod/refine/tree/master/packages/appwrite), [Firebase](https://github.com/rturan29/refine-firebase) and [Altogic](https://github.com/pankod/refine/tree/master/packages/altogic).\n\n📝 **Native Typescript Core** : You can always opt out for plain JavaScript.\n\n🔘 **Decoupled UI** : UI components are exposed directly without encapsulation. You have full control on UI elements.\n\n🐜 **Powerful Default UI** : Works seamlessly with integrated [Ant Design System](https://ant.design/). (Support for multiple UI frameworks is on the Roadmap)\n\n📝 **Boilerplate-free Code** : Keeps your codebase clean and readable.\n\n## Motivation\n\nHigher-level frontend frameworks can save you a lot time, but they typically offer you a trade-off between speed and flexibility.\n\nAfter many years of experience in developing B2B frontend applications and working with popular frameworks, we came up with a new approach to tackle this dilemma. This is how **refine** is born.\n\n**refine** is a collection of helper `hooks`, `components` and `providers`. They are all decoupled from your UI components and business logic, so they never keep you from customizing your UI or coding your own flow.\n\nAs **refine** is totally _unopinionated_ about UI and logic, it's strongly _opinionated_ about three parts of your application:\n\n1. **API Networking**\n2. **State Management**\n3. **Authentication & Authorization**\n\nWe believe, these are the most important components of a data-intensive frontend application and should be handled in a robust way by leveraging industry best practices.\n\n**refine** guarantees you a perfect implementation of these building blocks in your project, so you can focus on your development.\n\n## Architecture\n\n**refine** makes extensive use of [hooks](https://reactjs.org/docs/hooks-reference.html#gatsby-focus-wrapper) as a default way for interacting with your components.\nUnder the hood, **refine** relies heavily to [React Query](https://react-query.tanstack.com/) for data handling, caching and state management.\nAccess to external sources and API's happen via providers which are basically plug-in type components for extendibility.\n\n<br/>\n\n<div align=\"center\">\n    <img src=\"https://raw.githubusercontent.com/pankod/refine/master/documentation/static/img/getting-started/refine_architecture.png\" width=\"400px\" />\n</div>\n\n## Benchmark\n\nAfter releasing the first internal versions, we had the chance to migrate some of our _React_ projects to **refine**.\nIn addition to **shorter development** times and **overall performance gains**, we've measured significant reduction in project size.\n\n**refine** makes your codebase significantly smaller, by eliminating redundant code such as _reducers_, _actions_ and _unit tests_. Below is a size comparison for an example project:\n\n<br/>\n\n<div align=\"center\">\n    <img src=\"https://raw.githubusercontent.com/pankod/refine/master/documentation/static/img/getting-started/benchmark.png\" width=\"400px\" align=\"center\" />\n</div>\n\n## Quick Start\n\nRun the **superplate** tool with the following command:\n\n```\nnpx superplate-cli tutorial\n```\n\nFollow the _CLI wizard_ to select options and start creating your project.\n\nAfter setup is complete, navigate to the project folder and start your project with:\n\n```\nnpm run dev\n```\n\nYour **refine** application will be accessible at [http://localhost:3000](http://localhost:3000).\n\nReplace the contents of `App.tsx` with the following code:\n\n```tsx title=\"App.tsx\"\nimport React from \"react\";\nimport {\n    Refine,\n    Resource,\n    useTable,\n    List,\n    Table,\n    useMany,\n    DateField,\n} from \"@pankod/refine\";\nimport routerProvider from \"@pankod/refine-react-router\";\nimport dataProvider from \"@pankod/refine-simple-rest\";\n\nimport \"@pankod/refine/dist/styles.min.css\";\n\nconst App: React.FC = () => {\n    return (\n        <Refine\n            routerProvider={routerProvider}\n            dataProvider={dataProvider(\"https://api.fake-rest.refine.dev\")}\n            resources={[\n                {\n                    name: \"posts\",\n                    list: PostList,\n                },\n            ]}\n        />\n    );\n};\n\nexport const PostList: React.FC = () => {\n    const { tableProps } = useTable<IPost>();\n\n    const categoryIds =\n        tableProps?.dataSource?.map((item) => item.category.id) ?? [];\n\n    const { data, isLoading } = useMany<ICategory>({\n        resource: \"categories\",\n        ids: categoryIds,\n        queryOptions: {\n            enabled: categoryIds.length > 0,\n        },\n    });\n\n    return (\n        <List>\n            <Table<IPost> {...tableProps} rowKey=\"id\">\n                <Table.Column dataIndex=\"title\" title=\"title\" />\n                <Table.Column\n                    dataIndex={[\"category\", \"id\"]}\n                    title=\"category\"\n                    render={(value: string) => {\n                        if (isLoading) {\n                            return \"loading...\";\n                        }\n\n                        return data?.data.find(\n                            (item: ICategory) => item.id === value,\n                        )?.title;\n                    }}\n                />\n                <Table.Column\n                    dataIndex=\"createdAt\"\n                    title=\"createdAt\"\n                    render={(value) => <DateField format=\"LLL\" value={value} />}\n                />\n            </Table>\n        </List>\n    );\n};\n\nexport default App;\n```\n\n```tsx title=\"interfaces.d.ts\"\ninterface IPost {\n    title: string;\n    createdAt: string;\n    category: ICategory;\n}\n\ninterface ICategory {\n    id: string;\n    title: string;\n}\n```\n\n## Roadmap\nYou can find Refine's <a href=\"https://github.com/pankod/refine/projects/1\">Public Roadmap here!</a> \n\n## Stargazers\n\n[![Stargazers repo roster for pankod/refine](https://reporoster.com/stars/pankod/refine)](https://github.com/pankod/refine/stargazers)\n\n## Contribution\n\nIf you have a bug to report, do not hesitate to file an issue.\n\nIf you are willing to fix an issue or propose a feature; all PRs with clear explanations are welcome and encouraged.\n\n## License\n\nLicensed under the MIT License, Copyright © 2021-present Pankod\n\n## Special Thanks\n\n[React Admin](https://marmelab.com/react-admin/) has been a great source of ideas and inspiration for refine. Big thanks to friends at [Marmelab](https://marmelab.com) for the amazing work they are doing.\n","readmeFilename":"README.md","_id":"@pankod/refine-core@3.0.3","_nodeVersion":"14.18.3","_npmVersion":"lerna/4.0.0/node@v14.18.3+x64 (linux)","dist":{"integrity":"sha512-htEs7ty3QaebU4BuvOS9UfxaNLF7QMsicTsejuGqg+WwHBG0IUDj4d9p1EcPl9Lj/4FAvpO3/1afMhd/5Z/M4Q==","shasum":"7aaf2b99e0d27562b2a5585222694a412f7d2610","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.0.3.tgz","fileCount":335,"unpackedSize":1792359,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh7+ESCRA9TVsSAnZWagAAywMP/1RslWlb7wnHzj31bdkQ\nx4AXxgF9zqsum9H7OqFJAWWK9wrwQ2l4xnigxytSNMn9Iv8v3tVGL5zljPUI\n3I9q44e2H0Rp0EcpZwu9LwAFy7PgUc5SGtLnC/3UP3Ok0aNcPFn0c5Msx3cP\nUbBNRyrV4Cno0ahN70W9K/2H493Yxs+SQu/RbI5VbYGTcWeJNFFfLiz5pB3z\nhk29YYc4yIPsuGHEhMyjxrLnblIXX2tA0eV6Yi3g2C2EoOXOdBgnWrcIEzvC\nWStEQyln2DmfJExdEkxmWon5GFYyMvQK9p17Wdg8Y/w2XEWyfOyXUfLPdAf9\nIX7o+Xhpx2EpoJ47vjphWZ7g74YIlCg5Ku9Il6jO1U/2c/+/rMCKEybZEYsQ\nZ6DQqZVxCJ5pCHsXTRQtA+EJQZVr82mSfIbxNOgK3xPLef5WWOrCFGUn10y1\nzgOFHERvDCu+pN/YvJUoh6SFghT2R6uPQR1NWHVKESMc2Ly56eL9EJdE84rv\noxMy+0Qxca+rUGJJc1Y+yFo+5ySp77HLjqw/Jfy8DdxR6IiCCfA+JqWqCFiy\nCeMzVs93cCd1GgAZWYmK9tZkwY8OfHQbTNQmRbbB2vB5DVGtCfJ+sOTL72xf\nw52XsB3jGq+u8ndEWCzga95R7br6G1gcr+cgn7gOZohWzdxpCdV5XYGkI2TG\n1n0/\r\n=1KSF\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDRkM/qU+0jCl4zTbrceX+gfySQcTHD1HCEOjIyjV1x1wIgQTfWe2PvsUHTthcOLa9DoHy3mVqm12pt350sOd1YC38="}]},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"mhrrmk","email":"mkocadere@gmail.com"},{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"aydinakyol","email":"aydinakyol11@gmail.com"},{"name":"necatiozmen","email":"necati.ozmen.9@gmail.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.0.3_1643110674032_0.7743580479248058"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.0.4":{"name":"@pankod/refine-core","version":"3.0.4","description":"refine is a React-based headless framework for building data-intensive applications in no time. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/refine-core.esm.js","typings":"dist/index.d.ts","scripts":{"start":"tsdx watch --tsconfig tsconfig.json --verbose --noClean","build":"tsdx build --tsconfig tsconfig.json","test":"tsdx test --passWithNoTests --runInBand","prepare":"tsdx build","size":"size-limit","analyze":"size-limit --why","generate-theme":"npx @emeks/antd-custom-theme-generator -w --antd ../../node_modules/antd ./src/assets/styles/custom-theme.less ./src/assets/styles/styles.min.css"},"peerDependencies":{"antd":"^4.17.1","react":"^17.0.2","react-dom":"^17.0.2"},"devDependencies":{"@babel/core":"^7.13.14","@size-limit/preset-small-lib":"^5.0.5","@testing-library/jest-dom":"^5.12.0","@testing-library/react":"^11.2.6","@testing-library/react-hooks":"^5.0.3","@testing-library/user-event":"^12.8.3","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^17.0.4","@types/react-csv":"^1.1.1","@types/react-dom":"^17.0.4","@types/react-router-dom":"^5.1.8","@types/testing-library__jest-dom":"^5.9.5","babel-plugin-module-resolver":"^4.1.0","identity-obj-proxy":"^3.0.0","react-router-dom":"^5.3.0","size-limit":"^5.0.5","tsdx":"^0.14.1","typescript":"^4.4.3"},"dependencies":{"export-to-csv":"^0.2.1","humanize-string":"^2.1.0","lodash":"^4.17.21","lodash-es":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","react-csv":"^2.0.3","react-query":"^3.19.2","tslib":"^2.3.1"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"d2b0e000c6beaa4a7343db51d327db31bc136aed","publishConfig":{"access":"public"},"readme":"<div align=\"center\" style=\"margin: 30px;\">\n<a href=\"https://refine.dev/\">\n  <img src=\"https://raw.githubusercontent.com/pankod/refine/master/logo.png\"   style=\"width:250px;\" align=\"center\" />\n</a>\n<br />\n<br />\n\n<div align=\"center\">\n    <a href=\"https://refine.dev\">Home Page</a> |\n    <a href=\"https://refine.dev/demo/\">Demo</a> | \n    <a href=\"https://refine.dev/blog/\">Blog</a> | \n    <a href=\"https://refine.dev/docs/\">Documentation</a> | \n    <a href=\"https://github.com/pankod/refine/projects/1\">Roadmap</a> | \n    <a href=\"https://refine.dev/docs/examples/tutorial/\">Examples</a> | \n    <a href=\"https://refine.dev/enterprise/\">Enterprise</a> | \n    <a href=\"https://discord.gg/UuU3XCc3J5\">Discord</a>\n</div>\n\n</div>\n<br/>\n\n<div align=\"center\"><strong>refine</strong> is a <a href=\"https://reactjs.org/\">React</a>-based headless framework for building data-intensive applications in no time ✨ It ships with <a href=\"https://ant.design/\">Ant Design System</a>, an enterprise-level UI toolkit.</div>\n\n<br />\n\n<div align=\"center\">\n\n[![Tweet](https://img.shields.io/twitter/url/http/shields.io.svg?style=social)](https://twitter.com/intent/tweet?text=A%20React-based%20framework%20for%20building%20data-intensive%20applications%20in%20no%20time.&url=https://github.com/pankod/refine&hashtags=opensource,react,reactquery,antdesign)\n\n<a href=\"https://www.producthunt.com/posts/refine-open-source-react-framework?utm_source=badge-featured&utm_medium=badge&utm_souce=badge-refine-open-source-react-framework\" target=\"_blank\"><img src=\"https://api.producthunt.com/widgets/embed-image/v1/featured.svg?post_id=319164&theme=light\" alt=\"refine: Open Source React Framework - Focus your business logic. refine will do the rest. | Product Hunt\" style=\"width: 250px; height: 54px;\" width=\"250\" height=\"54\" /></a>\n\n[![Meercode CI Score](https://meercode.io/badge/pankod/refine?type=ci-score&branch=master&token=2ZiT8YsoJgt57JB23NYwXrFY3rJHZboT&lastDay=31)](https://meercode.io/)\n[![Meercode CI Success Rate](https://meercode.io/badge/pankod/refine?type=ci-success-rate&branch=master&token=2ZiT8YsoJgt57JB23NYwXrFY3rJHZboT&lastDay=31)](https://meercode.io/)\n[![Maintainability](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/maintainability)](https://codeclimate.com/github/pankod/refine/maintainability)\n[![Test Coverage](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/test_coverage)](https://codeclimate.com/github/pankod/refine/test_coverage)\n[![npm version](https://img.shields.io/npm/v/@pankod/refine.svg)](https://www.npmjs.com/package/@pankod/refine)\n[![npm](https://img.shields.io/npm/dm/@pankod/refine)](https://www.npmjs.com/package/@pankod/refine)\n[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.0-4baaaa.svg)](code_of_conduct.md)\n[![Discord](https://img.shields.io/discord/837692625737613362.svg?label=&logo=discord&logoColor=ffffff&color=7389D8&labelColor=6A7EC2)](https://discord.gg/UuU3XCc3J5)\n\n</div>\n\n<div align=\"center\">\n  <sub>Created by <a href=\"https://www.pankod.com\">Pankod</a></sub>\n</div>\n\n## About\n\n[**refine**](https://refine.dev/) offers lots of out-of-the box functionality for rapid development, without compromising extreme customizability. Use-cases include, but are not limited to _admin panels_, _B2B applications_ and _dashboards_.\n\n## Documentation\n\nFor more detailed information and usage, refer to the [refine documentation](https://refine.dev/docs/).\n\n## Key features\n\n⚙️ **Zero-configuration**: One-line setup with [superplate](https://github.com/pankod/superplate). It takes less than a minute to start a project.\n\n📦 **Out-of-the-box** : Routing, networking, authentication, state management, i18n and UI.\n\n🔌 **Backend Agnostic** : Connects to any custom backend. Built-in support for [REST API](https://github.com/pankod/refine/tree/master/packages/simple-rest), [GraphQL](https://github.com/pankod/refine/tree/master/packages/graphql), [NestJs CRUD](https://github.com/pankod/refine/tree/master/packages/nestjsx-crud), [Airtable](https://github.com/pankod/refine/tree/master/packages/airtable), [Strapi](https://github.com/pankod/refine/tree/master/packages/strapi), [Strapi v4](https://github.com/pankod/refine/tree/master/packages/strapi-v4), [Strapi GraphQL](https://github.com/pankod/refine/tree/master/packages/strapi-graphql), [Supabase](https://github.com/pankod/refine/tree/master/packages/supabase), [Hasura](https://github.com/pankod/refine/tree/master/packages/hasura), [Appwrite](https://github.com/pankod/refine/tree/master/packages/appwrite), [Firebase](https://github.com/rturan29/refine-firebase) and [Altogic](https://github.com/pankod/refine/tree/master/packages/altogic).\n\n📝 **Native Typescript Core** : You can always opt out for plain JavaScript.\n\n🔘 **Decoupled UI** : UI components are exposed directly without encapsulation. You have full control on UI elements.\n\n🐜 **Powerful Default UI** : Works seamlessly with integrated [Ant Design System](https://ant.design/). (Support for multiple UI frameworks is on the Roadmap)\n\n📝 **Boilerplate-free Code** : Keeps your codebase clean and readable.\n\n## Motivation\n\nHigher-level frontend frameworks can save you a lot time, but they typically offer you a trade-off between speed and flexibility.\n\nAfter many years of experience in developing B2B frontend applications and working with popular frameworks, we came up with a new approach to tackle this dilemma. This is how **refine** is born.\n\n**refine** is a collection of helper `hooks`, `components` and `providers`. They are all decoupled from your UI components and business logic, so they never keep you from customizing your UI or coding your own flow.\n\nAs **refine** is totally _unopinionated_ about UI and logic, it's strongly _opinionated_ about three parts of your application:\n\n1. **API Networking**\n2. **State Management**\n3. **Authentication & Authorization**\n\nWe believe, these are the most important components of a data-intensive frontend application and should be handled in a robust way by leveraging industry best practices.\n\n**refine** guarantees you a perfect implementation of these building blocks in your project, so you can focus on your development.\n\n## Architecture\n\n**refine** makes extensive use of [hooks](https://reactjs.org/docs/hooks-reference.html#gatsby-focus-wrapper) as a default way for interacting with your components.\nUnder the hood, **refine** relies heavily to [React Query](https://react-query.tanstack.com/) for data handling, caching and state management.\nAccess to external sources and API's happen via providers which are basically plug-in type components for extendibility.\n\n<br/>\n\n<div align=\"center\">\n    <img src=\"https://raw.githubusercontent.com/pankod/refine/master/documentation/static/img/getting-started/refine_architecture.png\" width=\"400px\" />\n</div>\n\n## Benchmark\n\nAfter releasing the first internal versions, we had the chance to migrate some of our _React_ projects to **refine**.\nIn addition to **shorter development** times and **overall performance gains**, we've measured significant reduction in project size.\n\n**refine** makes your codebase significantly smaller, by eliminating redundant code such as _reducers_, _actions_ and _unit tests_. Below is a size comparison for an example project:\n\n<br/>\n\n<div align=\"center\">\n    <img src=\"https://raw.githubusercontent.com/pankod/refine/master/documentation/static/img/getting-started/benchmark.png\" width=\"400px\" align=\"center\" />\n</div>\n\n## Quick Start\n\nRun the **superplate** tool with the following command:\n\n```\nnpx superplate-cli tutorial\n```\n\nFollow the _CLI wizard_ to select options and start creating your project.\n\nAfter setup is complete, navigate to the project folder and start your project with:\n\n```\nnpm run dev\n```\n\nYour **refine** application will be accessible at [http://localhost:3000](http://localhost:3000).\n\nReplace the contents of `App.tsx` with the following code:\n\n```tsx title=\"App.tsx\"\nimport React from \"react\";\nimport {\n    Refine,\n    Resource,\n    useTable,\n    List,\n    Table,\n    useMany,\n    DateField,\n} from \"@pankod/refine\";\nimport routerProvider from \"@pankod/refine-react-router\";\nimport dataProvider from \"@pankod/refine-simple-rest\";\n\nimport \"@pankod/refine/dist/styles.min.css\";\n\nconst App: React.FC = () => {\n    return (\n        <Refine\n            routerProvider={routerProvider}\n            dataProvider={dataProvider(\"https://api.fake-rest.refine.dev\")}\n            resources={[\n                {\n                    name: \"posts\",\n                    list: PostList,\n                },\n            ]}\n        />\n    );\n};\n\nexport const PostList: React.FC = () => {\n    const { tableProps } = useTable<IPost>();\n\n    const categoryIds =\n        tableProps?.dataSource?.map((item) => item.category.id) ?? [];\n\n    const { data, isLoading } = useMany<ICategory>({\n        resource: \"categories\",\n        ids: categoryIds,\n        queryOptions: {\n            enabled: categoryIds.length > 0,\n        },\n    });\n\n    return (\n        <List>\n            <Table<IPost> {...tableProps} rowKey=\"id\">\n                <Table.Column dataIndex=\"title\" title=\"title\" />\n                <Table.Column\n                    dataIndex={[\"category\", \"id\"]}\n                    title=\"category\"\n                    render={(value: string) => {\n                        if (isLoading) {\n                            return \"loading...\";\n                        }\n\n                        return data?.data.find(\n                            (item: ICategory) => item.id === value,\n                        )?.title;\n                    }}\n                />\n                <Table.Column\n                    dataIndex=\"createdAt\"\n                    title=\"createdAt\"\n                    render={(value) => <DateField format=\"LLL\" value={value} />}\n                />\n            </Table>\n        </List>\n    );\n};\n\nexport default App;\n```\n\n```tsx title=\"interfaces.d.ts\"\ninterface IPost {\n    title: string;\n    createdAt: string;\n    category: ICategory;\n}\n\ninterface ICategory {\n    id: string;\n    title: string;\n}\n```\n\n## Roadmap\nYou can find Refine's <a href=\"https://github.com/pankod/refine/projects/1\">Public Roadmap here!</a> \n\n## Stargazers\n\n[![Stargazers repo roster for pankod/refine](https://reporoster.com/stars/pankod/refine)](https://github.com/pankod/refine/stargazers)\n\n## Contribution\n\nIf you have a bug to report, do not hesitate to file an issue.\n\nIf you are willing to fix an issue or propose a feature; all PRs with clear explanations are welcome and encouraged.\n\n## License\n\nLicensed under the MIT License, Copyright © 2021-present Pankod\n\n## Special Thanks\n\n[React Admin](https://marmelab.com/react-admin/) has been a great source of ideas and inspiration for refine. Big thanks to friends at [Marmelab](https://marmelab.com) for the amazing work they are doing.\n","readmeFilename":"README.md","_id":"@pankod/refine-core@3.0.4","_nodeVersion":"14.18.3","_npmVersion":"lerna/4.0.0/node@v14.18.3+x64 (linux)","dist":{"integrity":"sha512-3iUjX5z31CB1XwE9IxYd9wT+sl+JdYOyn5EkImyj7zDaAbSgyQMeRWtsxJls9mzpofxRQ6AdYq7W0+2W9o+eNw==","shasum":"e437ad48788d5577f7ef192de855549eef56a34e","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.0.4.tgz","fileCount":335,"unpackedSize":1794355,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh+kg2CRA9TVsSAnZWagAA1skP/RQfM2mF++6IuSqbzHLk\nTSN2O0Kf4RJXEyUWzjrQrpaP8swQeG7XcETJk2H891wBLY8BbkpcAuDYcri1\nZ8XH6AcO5WGiE7OOrnl1l59AI79EYDfS5H5IFrFHwUpBNtTNL/YoRqx/Ylnv\nTC8CzaCWELpwMEXrOXyQluPp19DIgMb8tASyDT2i7T+8RwBsTsBbdCpC0LYG\nnxZVR8ZLZcEtF4CPtx69o5kSmF3SVpiIZMW8547014ken+LqKBv67uYxL5LR\njwIBmNLv7oLSZ+mu+AR2I/puG8QGQBejXZURlvny+mFoh6SMe6cTZmXMqpFi\nTIcifWTzE5hz0vGjTDOFfRah4+5JnARFjK1h0ylAUpFyOP56WWMRBzEs5YPw\nrrTwImOCX2l0e+E4/RcsvstjBfbp+/tX37ZjgOxegUIF3Ypf5p+iRtC/N465\nbf5I1VSZQji7XIFwyp/t4yVvnTDguyKfVjirvWC+gg3Y7oh1KLeO0gLNgMyx\n2xqrB2Lh9ciSZjPbSjKxEdmTcpaRYhUsvL6Nb2kXT55MAjo+9YwMkkRIkgA2\nE3ml94uJSvnR5C/5CvaZT3Ntg2/7a1jrridn6Da5eTTcKrQp+sKJIRKPMEul\nS/8yMGAFnu/TWyH3jV5zXJmgNck201BmO8KtStWRgVrYJJ/B/EZoeMEHQ6kH\nUDqb\r\n=fFd5\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDgxidsH/P2wS6TvUeQ9eoDGrGxINrJ03jjJ8eo48dmFAiADPc3BejCp2sizS7uN0t9ye3Ok29Afaowo7ISi80P8eA=="}]},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"mhrrmk","email":"mkocadere@gmail.com"},{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"aydinakyol","email":"aydinakyol11@gmail.com"},{"name":"necatiozmen","email":"necati.ozmen.9@gmail.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.0.4_1643792437972_0.3451391689343539"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.0.5":{"name":"@pankod/refine-core","version":"3.0.5","description":"refine is a React-based headless framework for building data-intensive applications in no time. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/refine-core.esm.js","typings":"dist/index.d.ts","scripts":{"start":"tsdx watch --tsconfig tsconfig.json --verbose --noClean","build":"tsdx build --tsconfig tsconfig.json","test":"tsdx test --passWithNoTests --runInBand","prepare":"tsdx build","size":"size-limit","analyze":"size-limit --why","generate-theme":"npx @emeks/antd-custom-theme-generator -w --antd ../../node_modules/antd ./src/assets/styles/custom-theme.less ./src/assets/styles/styles.min.css"},"peerDependencies":{"antd":"^4.17.1","react":"^17.0.2","react-dom":"^17.0.2"},"devDependencies":{"@babel/core":"^7.13.14","@size-limit/preset-small-lib":"^5.0.5","@testing-library/jest-dom":"^5.12.0","@testing-library/react":"^11.2.6","@testing-library/react-hooks":"^5.0.3","@testing-library/user-event":"^12.8.3","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^17.0.4","@types/react-csv":"^1.1.1","@types/react-dom":"^17.0.4","@types/react-router-dom":"^5.1.8","@types/testing-library__jest-dom":"^5.9.5","babel-plugin-module-resolver":"^4.1.0","identity-obj-proxy":"^3.0.0","react-router-dom":"^5.3.0","size-limit":"^5.0.5","tsdx":"^0.14.1","typescript":"^4.4.3"},"dependencies":{"export-to-csv":"^0.2.1","humanize-string":"^2.1.0","lodash":"^4.17.21","lodash-es":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","react-csv":"^2.0.3","react-query":"^3.19.2","tslib":"^2.3.1"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"e721ac03266f4b220aade8c3a2add86dc3b0b019","publishConfig":{"access":"public"},"readme":"<div align=\"center\" style=\"margin: 30px;\">\n<a href=\"https://refine.dev/\">\n  <img src=\"https://raw.githubusercontent.com/pankod/refine/master/logo.png\"   style=\"width:250px;\" align=\"center\" />\n</a>\n<br />\n<br />\n\n<div align=\"center\">\n    <a href=\"https://refine.dev\">Home Page</a> |\n    <a href=\"https://refine.dev/demo/\">Demo</a> | \n    <a href=\"https://refine.dev/blog/\">Blog</a> | \n    <a href=\"https://refine.dev/docs/\">Documentation</a> | \n    <a href=\"https://github.com/pankod/refine/projects/1\">Roadmap</a> | \n    <a href=\"https://refine.dev/docs/examples/tutorial/\">Examples</a> | \n    <a href=\"https://refine.dev/enterprise/\">Enterprise</a> | \n    <a href=\"https://discord.gg/UuU3XCc3J5\">Discord</a>\n</div>\n\n</div>\n<br/>\n\n<div align=\"center\"><strong>refine</strong> is a <a href=\"https://reactjs.org/\">React</a>-based headless framework for building data-intensive applications in no time ✨ It ships with <a href=\"https://ant.design/\">Ant Design System</a>, an enterprise-level UI toolkit.</div>\n\n<br />\n\n<div align=\"center\">\n\n[![Tweet](https://img.shields.io/twitter/url/http/shields.io.svg?style=social)](https://twitter.com/intent/tweet?text=A%20React-based%20framework%20for%20building%20data-intensive%20applications%20in%20no%20time.&url=https://github.com/pankod/refine&hashtags=opensource,react,reactquery,antdesign)\n\n<a href=\"https://www.producthunt.com/posts/refine-open-source-react-framework?utm_source=badge-featured&utm_medium=badge&utm_souce=badge-refine-open-source-react-framework\" target=\"_blank\"><img src=\"https://api.producthunt.com/widgets/embed-image/v1/featured.svg?post_id=319164&theme=light\" alt=\"refine: Open Source React Framework - Focus your business logic. refine will do the rest. | Product Hunt\" style=\"width: 250px; height: 54px;\" width=\"250\" height=\"54\" /></a>\n\n[![Meercode CI Score](https://meercode.io/badge/pankod/refine?type=ci-score&branch=master&token=2ZiT8YsoJgt57JB23NYwXrFY3rJHZboT&lastDay=31)](https://meercode.io/)\n[![Meercode CI Success Rate](https://meercode.io/badge/pankod/refine?type=ci-success-rate&branch=master&token=2ZiT8YsoJgt57JB23NYwXrFY3rJHZboT&lastDay=31)](https://meercode.io/)\n[![Maintainability](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/maintainability)](https://codeclimate.com/github/pankod/refine/maintainability)\n[![Test Coverage](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/test_coverage)](https://codeclimate.com/github/pankod/refine/test_coverage)\n[![npm version](https://img.shields.io/npm/v/@pankod/refine.svg)](https://www.npmjs.com/package/@pankod/refine)\n[![npm](https://img.shields.io/npm/dm/@pankod/refine)](https://www.npmjs.com/package/@pankod/refine)\n[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.0-4baaaa.svg)](code_of_conduct.md)\n[![Discord](https://img.shields.io/discord/837692625737613362.svg?label=&logo=discord&logoColor=ffffff&color=7389D8&labelColor=6A7EC2)](https://discord.gg/UuU3XCc3J5)\n\n</div>\n\n<div align=\"center\">\n  <sub>Created by <a href=\"https://www.pankod.com\">Pankod</a></sub>\n</div>\n\n## About\n\n[**refine**](https://refine.dev/) offers lots of out-of-the box functionality for rapid development, without compromising extreme customizability. Use-cases include, but are not limited to _admin panels_, _B2B applications_ and _dashboards_.\n\n## Documentation\n\nFor more detailed information and usage, refer to the [refine documentation](https://refine.dev/docs/).\n\n## Key features\n\n⚙️ **Zero-configuration**: One-line setup with [superplate](https://github.com/pankod/superplate). It takes less than a minute to start a project.\n\n📦 **Out-of-the-box** : Routing, networking, authentication, state management, i18n and UI.\n\n🔌 **Backend Agnostic** : Connects to any custom backend. Built-in support for [REST API](https://github.com/pankod/refine/tree/master/packages/simple-rest), [GraphQL](https://github.com/pankod/refine/tree/master/packages/graphql), [NestJs CRUD](https://github.com/pankod/refine/tree/master/packages/nestjsx-crud), [Airtable](https://github.com/pankod/refine/tree/master/packages/airtable), [Strapi](https://github.com/pankod/refine/tree/master/packages/strapi), [Strapi v4](https://github.com/pankod/refine/tree/master/packages/strapi-v4), [Strapi GraphQL](https://github.com/pankod/refine/tree/master/packages/strapi-graphql), [Supabase](https://github.com/pankod/refine/tree/master/packages/supabase), [Hasura](https://github.com/pankod/refine/tree/master/packages/hasura), [Appwrite](https://github.com/pankod/refine/tree/master/packages/appwrite), [Firebase](https://github.com/rturan29/refine-firebase) and [Altogic](https://github.com/pankod/refine/tree/master/packages/altogic).\n\n📝 **Native Typescript Core** : You can always opt out for plain JavaScript.\n\n🔘 **Decoupled UI** : UI components are exposed directly without encapsulation. You have full control on UI elements.\n\n🐜 **Powerful Default UI** : Works seamlessly with integrated [Ant Design System](https://ant.design/). (Support for multiple UI frameworks is on the Roadmap)\n\n📝 **Boilerplate-free Code** : Keeps your codebase clean and readable.\n\n## Motivation\n\nHigher-level frontend frameworks can save you a lot time, but they typically offer you a trade-off between speed and flexibility.\n\nAfter many years of experience in developing B2B frontend applications and working with popular frameworks, we came up with a new approach to tackle this dilemma. This is how **refine** is born.\n\n**refine** is a collection of helper `hooks`, `components` and `providers`. They are all decoupled from your UI components and business logic, so they never keep you from customizing your UI or coding your own flow.\n\nAs **refine** is totally _unopinionated_ about UI and logic, it's strongly _opinionated_ about three parts of your application:\n\n1. **API Networking**\n2. **State Management**\n3. **Authentication & Authorization**\n\nWe believe, these are the most important components of a data-intensive frontend application and should be handled in a robust way by leveraging industry best practices.\n\n**refine** guarantees you a perfect implementation of these building blocks in your project, so you can focus on your development.\n\n## Architecture\n\n**refine** makes extensive use of [hooks](https://reactjs.org/docs/hooks-reference.html#gatsby-focus-wrapper) as a default way for interacting with your components.\nUnder the hood, **refine** relies heavily to [React Query](https://react-query.tanstack.com/) for data handling, caching and state management.\nAccess to external sources and API's happen via providers which are basically plug-in type components for extendibility.\n\n<br/>\n\n<div align=\"center\">\n    <img src=\"https://raw.githubusercontent.com/pankod/refine/master/documentation/static/img/getting-started/refine_architecture.png\" width=\"400px\" />\n</div>\n\n## Benchmark\n\nAfter releasing the first internal versions, we had the chance to migrate some of our _React_ projects to **refine**.\nIn addition to **shorter development** times and **overall performance gains**, we've measured significant reduction in project size.\n\n**refine** makes your codebase significantly smaller, by eliminating redundant code such as _reducers_, _actions_ and _unit tests_. Below is a size comparison for an example project:\n\n<br/>\n\n<div align=\"center\">\n    <img src=\"https://raw.githubusercontent.com/pankod/refine/master/documentation/static/img/getting-started/benchmark.png\" width=\"400px\" align=\"center\" />\n</div>\n\n## Quick Start\n\nRun the **superplate** tool with the following command:\n\n```\nnpx superplate-cli tutorial\n```\n\nFollow the _CLI wizard_ to select options and start creating your project.\n\nAfter setup is complete, navigate to the project folder and start your project with:\n\n```\nnpm run dev\n```\n\nYour **refine** application will be accessible at [http://localhost:3000](http://localhost:3000).\n\nReplace the contents of `App.tsx` with the following code:\n\n```tsx title=\"App.tsx\"\nimport React from \"react\";\nimport {\n    Refine,\n    Resource,\n    useTable,\n    List,\n    Table,\n    useMany,\n    DateField,\n} from \"@pankod/refine\";\nimport routerProvider from \"@pankod/refine-react-router\";\nimport dataProvider from \"@pankod/refine-simple-rest\";\n\nimport \"@pankod/refine/dist/styles.min.css\";\n\nconst App: React.FC = () => {\n    return (\n        <Refine\n            routerProvider={routerProvider}\n            dataProvider={dataProvider(\"https://api.fake-rest.refine.dev\")}\n            resources={[\n                {\n                    name: \"posts\",\n                    list: PostList,\n                },\n            ]}\n        />\n    );\n};\n\nexport const PostList: React.FC = () => {\n    const { tableProps } = useTable<IPost>();\n\n    const categoryIds =\n        tableProps?.dataSource?.map((item) => item.category.id) ?? [];\n\n    const { data, isLoading } = useMany<ICategory>({\n        resource: \"categories\",\n        ids: categoryIds,\n        queryOptions: {\n            enabled: categoryIds.length > 0,\n        },\n    });\n\n    return (\n        <List>\n            <Table<IPost> {...tableProps} rowKey=\"id\">\n                <Table.Column dataIndex=\"title\" title=\"title\" />\n                <Table.Column\n                    dataIndex={[\"category\", \"id\"]}\n                    title=\"category\"\n                    render={(value: string) => {\n                        if (isLoading) {\n                            return \"loading...\";\n                        }\n\n                        return data?.data.find(\n                            (item: ICategory) => item.id === value,\n                        )?.title;\n                    }}\n                />\n                <Table.Column\n                    dataIndex=\"createdAt\"\n                    title=\"createdAt\"\n                    render={(value) => <DateField format=\"LLL\" value={value} />}\n                />\n            </Table>\n        </List>\n    );\n};\n\nexport default App;\n```\n\n```tsx title=\"interfaces.d.ts\"\ninterface IPost {\n    title: string;\n    createdAt: string;\n    category: ICategory;\n}\n\ninterface ICategory {\n    id: string;\n    title: string;\n}\n```\n\n## Roadmap\nYou can find Refine's <a href=\"https://github.com/pankod/refine/projects/1\">Public Roadmap here!</a> \n\n## Stargazers\n\n[![Stargazers repo roster for pankod/refine](https://reporoster.com/stars/pankod/refine)](https://github.com/pankod/refine/stargazers)\n\n## Contribution\n\nIf you have a bug to report, do not hesitate to file an issue.\n\nIf you are willing to fix an issue or propose a feature; all PRs with clear explanations are welcome and encouraged.\n\n## License\n\nLicensed under the MIT License, Copyright © 2021-present Pankod\n\n## Special Thanks\n\n[React Admin](https://marmelab.com/react-admin/) has been a great source of ideas and inspiration for refine. Big thanks to friends at [Marmelab](https://marmelab.com) for the amazing work they are doing.\n","readmeFilename":"README.md","_id":"@pankod/refine-core@3.0.5","_nodeVersion":"14.18.3","_npmVersion":"lerna/4.0.0/node@v14.18.3+x64 (linux)","dist":{"integrity":"sha512-TaaGlZYzob9UKEbx3mN71iZZFLVrf71VbbHnxgonJaPfspdJDERw8W0q7Y3RBw4C9hgUKi+HrKSZ3h5Or72UrQ==","shasum":"e5ca75d42c42107ddadb4c0848dd4be6a537261b","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.0.5.tgz","fileCount":335,"unpackedSize":1794357,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh+5hsCRA9TVsSAnZWagAAxvYP/3DDNx0/Oa+peZdI/OMD\nMIFq++z8ePB5rxhebKNRZ9+OH9HK2/y3/y8WcI4mtpnKq4KqDw/JaZffDcU9\n+yY4S7qHTk2RZ3v17FwDADjCPYe0i6CAQ74r5DzRIV8lqBVU2lGnUx4DhEtj\nNSdhhn0J2brSr5sp1SQ8Zc2Y379XYlwUkzdrSrIaiiggH8RJDnuYutbc/cUg\njtRmb4Y1Tm3PNy/0ffOC1YTeLhhajeIgAdJliH4qcweqOj1ZZd4fL3ne+0GV\nYA2mnGQA62W36DIAjRVSwnflIIBgaR5DgqxEtdiAha8dPnK8L95XF97dpUIB\nxSF7qs+5vTWdOng0570Pu45pSewV4jta+E0lZSUnllCn1f9ihmp8SM8O1kMm\nFxM3/s7cQZVgQXuh2mkJ9JunZW3aNJoDkq8FfWXAwrAs/OtnPpUhYgwc7Q5u\n7SBS4OItDeRAeZ5rLYMbwSzZ1CsM/3VuSskrVFOCvtNUS9GoKeoHfQijHLs+\nJ9LEJyHwINCPHB4NtJ3vIFi/PfkyU0FN8WzPq68yCCarc/FlpCmgakoQDfeb\nj/ZUjpomL34J6THJqP1kSkj3sZSHRgJ2CJzzlwnKPwRWvi4VBMz3x00De4Mj\ndmiBPHAPNu9d2MW+OnbblATXZsfkT4Tn8oQRQ4hcmwKVtfE4i1+faU/qLFL1\nDirj\r\n=rqCi\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGYa/+VbCOjLMMFJtadGyaG80CYB59oopJ+idB21EV++AiB1ETgraGIgtLTw+Mb13kyBrTxqpVPo/TLlp03InRxfpw=="}]},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"mhrrmk","email":"mkocadere@gmail.com"},{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"aydinakyol","email":"aydinakyol11@gmail.com"},{"name":"necatiozmen","email":"necati.ozmen.9@gmail.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.0.5_1643878508244_0.8700471996556176"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.0.10":{"name":"@pankod/refine-core","version":"3.0.10","description":"refine is a React-based headless framework for building data-intensive applications in no time. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/refine-core.esm.js","typings":"dist/index.d.ts","scripts":{"start":"tsdx watch --tsconfig tsconfig.json --verbose --noClean","build":"tsdx build --tsconfig tsconfig.json","test":"tsdx test --passWithNoTests --runInBand","prepare":"tsdx build","size":"size-limit","analyze":"size-limit --why","generate-theme":"npx @emeks/antd-custom-theme-generator -w --antd ../../node_modules/antd ./src/assets/styles/custom-theme.less ./src/assets/styles/styles.min.css"},"peerDependencies":{"antd":"^4.17.1","react":"^17.0.2","react-dom":"^17.0.2"},"devDependencies":{"@babel/core":"^7.13.14","@size-limit/preset-small-lib":"^5.0.5","@testing-library/jest-dom":"^5.12.0","@testing-library/react":"^11.2.6","@testing-library/react-hooks":"^5.0.3","@testing-library/user-event":"^12.8.3","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^17.0.4","@types/react-csv":"^1.1.1","@types/react-dom":"^17.0.4","@types/react-router-dom":"^5.1.8","@types/testing-library__jest-dom":"^5.9.5","babel-plugin-module-resolver":"^4.1.0","identity-obj-proxy":"^3.0.0","react-router-dom":"^5.3.0","size-limit":"^5.0.5","tsdx":"^0.14.1","typescript":"^4.4.3"},"dependencies":{"export-to-csv":"^0.2.1","humanize-string":"^2.1.0","lodash":"^4.17.21","lodash-es":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","react-csv":"^2.0.3","react-query":"^3.19.2","tslib":"^2.3.1"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"0bf48ac8037df5e57998754b172958db801a9168","publishConfig":{"access":"public"},"readme":"<div align=\"center\" style=\"margin: 30px;\">\n<a href=\"https://refine.dev/\">\n  <img src=\"https://raw.githubusercontent.com/pankod/refine/master/logo.png\"   style=\"width:250px;\" align=\"center\" />\n</a>\n<br />\n<br />\n\n<div align=\"center\">\n    <a href=\"https://refine.dev\">Home Page</a> |\n    <a href=\"https://refine.dev/demo/\">Demo</a> | \n    <a href=\"https://refine.dev/blog/\">Blog</a> | \n    <a href=\"https://refine.dev/docs/\">Documentation</a> | \n    <a href=\"https://github.com/pankod/refine/projects/1\">Roadmap</a> | \n    <a href=\"https://refine.dev/docs/examples/tutorial/\">Examples</a> | \n    <a href=\"https://refine.dev/enterprise/\">Enterprise</a> | \n    <a href=\"https://discord.gg/UuU3XCc3J5\">Discord</a>\n</div>\n\n</div>\n<br/>\n\n<div align=\"center\"><strong>refine</strong> is a <a href=\"https://reactjs.org/\">React</a>-based <b>headless</b> framework for building data-intensive applications in no time ✨ It ships with <a href=\"https://ant.design/\">Ant Design System</a>, an enterprise-level UI toolkit.</div>\n\n<br />\n\n<div align=\"center\">\n\n[![Discord](https://img.shields.io/discord/837692625737613362.svg?label=&logo=discord&logoColor=ffffff&color=7389D8&labelColor=6A7EC2)](https://discord.gg/UuU3XCc3J5)\n![Twitter Follow](https://img.shields.io/twitter/follow/refine_dev?style=social)\n\n<a href=\"https://www.producthunt.com/posts/refine-open-source-react-framework?utm_source=badge-featured&utm_medium=badge&utm_souce=badge-refine-open-source-react-framework\" target=\"_blank\"><img src=\"https://api.producthunt.com/widgets/embed-image/v1/featured.svg?post_id=319164&theme=light\" alt=\"refine: Open Source React Framework - Focus your business logic. refine will do the rest. | Product Hunt\" style=\"width: 250px; height: 54px;\" width=\"250\" height=\"54\" /></a>\n\n[![Meercode CI Score](https://meercode.io/badge/pankod/refine?type=ci-score&branch=master&token=2ZiT8YsoJgt57JB23NYwXrFY3rJHZboT&lastDay=31)](https://meercode.io/)\n[![Meercode CI Success Rate](https://meercode.io/badge/pankod/refine?type=ci-success-rate&branch=master&token=2ZiT8YsoJgt57JB23NYwXrFY3rJHZboT&lastDay=31)](https://meercode.io/)\n[![Maintainability](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/maintainability)](https://codeclimate.com/github/pankod/refine/maintainability)\n[![Test Coverage](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/test_coverage)](https://codeclimate.com/github/pankod/refine/test_coverage)\n[![npm version](https://img.shields.io/npm/v/@pankod/refine.svg)](https://www.npmjs.com/package/@pankod/refine)\n[![npm](https://img.shields.io/npm/dm/@pankod/refine)](https://www.npmjs.com/package/@pankod/refine)\n[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.0-4baaaa.svg)](code_of_conduct.md)\n\n\n</div>\n\n<div align=\"center\">\n  <sub>Created by <a href=\"https://www.pankod.com\">Pankod</a></sub>\n</div>\n\n## About\n\n[**refine**](https://refine.dev/) offers lots of out-of-the box functionality for rapid development, without compromising extreme customizability. Use-cases include, but are not limited to _admin panels_, _B2B applications_ and _dashboards_.\n\n## Documentation\n\nFor more detailed information and usage, refer to the [refine documentation](https://refine.dev/docs/).\n\n## What is refine?\n\n**refine** is a [React](https://reactjs.org/)-based **headless** framework for building data-intensive applications in no time :sparkles: It ships with [Ant Design System](https://ant.design/), an enterprise-level UI toolkit.\n\nRefine offers lots of out-of-the box functionality for rapid development, without compromising extreme customizability. Use-cases include, but are not limited to _admin panels_, _B2B applications_ and _dashboards_.\n\n## What is a \"headless\" Framework?\n**refine** is a **headless** React framework, which means all out-of-the-box features(**Routing**, **Networking**, **Authentication**, **Authorization**, **State Management**, **Realtime**, **i18n**, etc.), it can be used without being tied to any UI elements or framework. Also, Ant Design as out-of-the-box is supported.\n\n- Customization & Extensibility -  UI is a completely customizable area and each developer uses different solutions. **refine** features does not restrict or interfere with your UI structure. **refine** allows the you to design and customizable the UI based on their unique use case.\n\n- Separation of Concerns - **refine** as a framework, is not responsible for your UI and is independent.\n\n- Maintenance - By removing the API surface to support every UI use case, **refine** easy to use and update/maintain is simple.\n\n###\n\n## Key features\n\n🔥 **Headless** : So you can bring your own UI and fuel it with Refine for top speed development.\n\n⚙️ **Zero-configuration**: One-line setup with [superplate](https://github.com/pankod/superplate). It takes less than a minute to start a project.\n\n📦 **Out-of-the-box** : Routing, networking, authentication, state management, i18n and UI.\n\n🔌 **Backend Agnostic** : Connects to any custom backend. Built-in support for [REST API](https://github.com/pankod/refine/tree/master/packages/simple-rest), [GraphQL](https://github.com/pankod/refine/tree/master/packages/graphql), [NestJs CRUD](https://github.com/pankod/refine/tree/master/packages/nestjsx-crud), [Airtable](https://github.com/pankod/refine/tree/master/packages/airtable), [Strapi](https://github.com/pankod/refine/tree/master/packages/strapi), [Strapi v4](https://github.com/pankod/refine/tree/master/packages/strapi-v4), [Strapi GraphQL](https://github.com/pankod/refine/tree/master/packages/strapi-graphql), [Supabase](https://github.com/pankod/refine/tree/master/packages/supabase), [Hasura](https://github.com/pankod/refine/tree/master/packages/hasura), [Appwrite](https://github.com/pankod/refine/tree/master/packages/appwrite), [Firebase](https://firebase.google.com/) and [Altogic](https://github.com/pankod/refine/tree/master/packages/altogic).\n\n📝 **Native Typescript Core** : You can always opt out for plain JavaScript.\n\n🐜 **Enterprise UI** : Works seamlessly with Ant Design System. (Support for multiple UI frameworks is on the Roadmap)\n\n📝 **Boilerplate-free Code** : Keeps your codebase clean and readable.\n\n## Motivation\n\nHigher-level frontend frameworks can save you a lot time, but they typically offer you a trade-off between speed and flexibility.\n\nAfter many years of experience in developing B2B frontend applications and working with popular frameworks, we came up with a new approach to tackle this dilemma. This is how **refine** is born.\n\n**refine** is a collection of helper `hooks`, `components` and `providers`. They are all decoupled from your UI components and business logic, so they never keep you from customizing your UI or coding your own flow.\n\nAs **refine** is totally _unopinionated_ about UI and logic, it's strongly _opinionated_ about three parts of your application:\n\n1. **API Networking**\n2. **State Management**\n3. **Authentication & Authorization**\n\nWe believe, these are the most important components of a data-intensive frontend application and should be handled in a robust way by leveraging industry best practices.\n\n**refine** guarantees you a perfect implementation of these building blocks in your project, so you can focus on your development.\n\n## Architecture\n\n**refine** makes extensive use of [hooks](https://reactjs.org/docs/hooks-reference.html#gatsby-focus-wrapper) as a default way for interacting with your components.\nUnder the hood, **refine** relies heavily to [React Query](https://react-query.tanstack.com/) for data handling, caching and state management.\nAccess to external sources and API's happen via providers which are basically plug-in type components for extendibility.\n\n<br/>\n\n<div align=\"center\">\n    <img src=\"https://raw.githubusercontent.com/pankod/refine/master/documentation/static/img/getting-started/refine_architecture.png\" width=\"400px\" />\n</div>\n\n## Benchmark\n\nAfter releasing the first internal versions, we had the chance to migrate some of our _React_ projects to **refine**.\nIn addition to **shorter development** times and **overall performance gains**, we've measured significant reduction in project size.\n\n**refine** makes your codebase significantly smaller, by eliminating redundant code such as _reducers_, _actions_ and _unit tests_. Below is a size comparison for an example project:\n\n<br/>\n\n<div align=\"center\">\n    <img src=\"https://raw.githubusercontent.com/pankod/refine/master/documentation/static/img/getting-started/benchmark.png\" width=\"400px\" align=\"center\" />\n</div>\n\n## Quick Start\n\nRun the **superplate** tool with the following command:\n\n```\nnpx superplate-cli -p refine-react tutorial\n```\n\nFollow the _CLI wizard_ to select options and start creating your project.\n\nAfter setup is complete, navigate to the project folder and start your project with:\n\n```\nnpm run dev\n```\n\nYour **refine** application will be accessible at [http://localhost:3000](http://localhost:3000).\n\nReplace the contents of `App.tsx` with the following code:\n\n```tsx title=\"App.tsx\"\nmport { Refine, useMany } from \"@pankod/refine-core\";\nimport {\n    useTable,\n    List,\n    Table,\n    DateField,\n} from \"@pankod/refine-antd\";\nimport routerProvider from \"@pankod/refine-react-router\";\nimport dataProvider from \"@pankod/refine-simple-rest\";\n\nimport \"@pankod/refine-antd/dist/styles.min.css\";\n\nconst App: React.FC = () => {\n    return (\n        <Refine\n            routerProvider={routerProvider}\n            dataProvider={dataProvider(\"https://api.fake-rest.refine.dev\")}\n            resources={[{ name: \"posts\", list: PostList }]}\n        />\n    );\n};\n\nexport const PostList: React.FC = () => {\n    const { tableProps } = useTable<IPost>();\n\n    const categoryIds =\n        tableProps?.dataSource?.map((item) => item.category.id) ?? [];\n\n    const { data, isLoading } = useMany<ICategory>({\n        resource: \"categories\",\n        ids: categoryIds,\n        queryOptions: {\n            enabled: categoryIds.length > 0,\n        },\n    });\n\n    return (\n        <List>\n            <Table<IPost> {...tableProps} rowKey=\"id\">\n                <Table.Column dataIndex=\"title\" title=\"title\" />\n                <Table.Column\n                    dataIndex={[\"category\", \"id\"]}\n                    title=\"category\"\n                    render={(value: string) => {\n                        if (isLoading) {\n                            return \"loading...\";\n                        }\n\n                        return data?.data.find(\n                            (item: ICategory) => item.id === value,\n                        )?.title;\n                    }}\n                />\n                <Table.Column\n                    dataIndex=\"createdAt\"\n                    title=\"createdAt\"\n                    render={(value) => <DateField format=\"LLL\" value={value} />}\n                />\n            </Table>\n        </List>\n    );\n};\n\nexport default App;\n```\n\n```tsx title=\"interfaces.d.ts\"\ninterface IPost {\n    title: string;\n    createdAt: string;\n    category: ICategory;\n}\n\ninterface ICategory {\n    id: string;\n    title: string;\n}\n```\n\n## Roadmap\nYou can find Refine's <a href=\"https://github.com/pankod/refine/projects/1\">Public Roadmap here!</a> \n\n## Stargazers\n\n[![Stargazers repo roster for pankod/refine](https://reporoster.com/stars/pankod/refine)](https://github.com/pankod/refine/stargazers)\n\n## Contribution\n\nIf you have a bug to report, do not hesitate to file an issue.\n\nIf you are willing to fix an issue or propose a feature; all PRs with clear explanations are welcome and encouraged.\n\n## License\n\nLicensed under the MIT License, Copyright © 2021-present Pankod\n\n## Special Thanks\n\n[React Admin](https://marmelab.com/react-admin/) has been a great source of ideas and inspiration for refine. Big thanks to friends at [Marmelab](https://marmelab.com) for the amazing work they are doing.\n","readmeFilename":"README.md","_id":"@pankod/refine-core@3.0.10","_nodeVersion":"14.18.3","_npmVersion":"lerna/4.0.0/node@v14.18.3+x64 (linux)","dist":{"integrity":"sha512-wwFvWVol9mS8x6hbj4OQUMHmvxuIavviXL8eWD4W8ie0tIpu+hLy5ipcEhVMndKJ5HGrZorB0eb9sRxq4usvrg==","shasum":"62cbdcf5c0a7de189877048e8e0c74a16bea5861","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.0.10.tgz","fileCount":335,"unpackedSize":1792197,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJiA3KiCRA9TVsSAnZWagAAIqcP/1WjcIpA45FgNjugANBk\nI+oG0kkZb9BLk1bsYRXMb6IjwNl7AJ+AhbxT68i6U83eiol1DTbVO2iFIZlj\n8ipPmHUQmybff/8bMFH4+GIc6chMLG1VGbrbJelRgT2Hpx5Epb20mYOMl+c0\nw0k9f45G6Ri3YU4/tTkC8KFhHdY6p8FPiLuh6rUq9LuHf21ZREtOpB/lsTWZ\nJVDrO4VLLU/6b5WiQt/B0iQKfoIUxzRuIcfhSMmWgM41lZk07ScrSoYWtrST\n2x82kX9IoVY5NXkM8/N+CRNkaYTRmbImTnOcFsxWIpaV8SDfq6DYk0bxMxQN\nnjhu6vNYQPSBRN91mZpyjyb6bqDqT/Ic0ocCIdiOyHrjkQpKu8aD2nIQgbIp\niYTAEBCYF3CuMVJMQcSJ1gshAsadOjaNxmEXE3mejNQZ8T2VoQqZLtn1olNm\nd0JsV4TjBqaTavmk/oqDXBWARBMdmhWJCn/haNca3D4yA8sAyFFDmgxA3Vgk\nzCwoSlFIb1oeOFZ4DVmTQ2W0R/sfBlRa9/CtPjh5d84Hn6vZ1g8yv2Y1nUnX\nj/7lMdbTk0jJmwurml5pUDdwZiP6AnsGsSc5cz5s2Iab2ZVDk0GHs1Fmo67S\nNXVPNtOMjFgDDfULWuTXvZDcNNtQV+0FExuSp+/gIG/poyuSz0dfjBasg5k0\npClX\r\n=XB48\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIALB49y6Em5wq7zXKX9DiY17OFccjMJ5Hk9Qwx+g8wSZAiBig7VeCbBVRhBD9g92ivkvlSqOJY8UTrs2gVKS83xQnQ=="}]},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"mhrrmk","email":"mkocadere@gmail.com"},{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"aydinakyol","email":"aydinakyol11@gmail.com"},{"name":"necatiozmen","email":"necati.ozmen.9@gmail.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.0.10_1644393122524_0.9510693691156422"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.1.0":{"name":"@pankod/refine-core","version":"3.1.0","description":"refine is a React-based headless framework for building data-intensive applications in no time. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/refine-core.esm.js","typings":"dist/index.d.ts","scripts":{"start":"tsdx watch --tsconfig tsconfig.json --verbose --noClean","build":"tsdx build --tsconfig tsconfig.json","test":"tsdx test --passWithNoTests --runInBand","prepare":"tsdx build","size":"size-limit","analyze":"size-limit --why","generate-theme":"npx @emeks/antd-custom-theme-generator -w --antd ../../node_modules/antd ./src/assets/styles/custom-theme.less ./src/assets/styles/styles.min.css"},"peerDependencies":{"antd":"^4.17.1","react":"^17.0.2","react-dom":"^17.0.2"},"devDependencies":{"@babel/core":"^7.13.14","@size-limit/preset-small-lib":"^5.0.5","@testing-library/jest-dom":"^5.12.0","@testing-library/react":"^11.2.6","@testing-library/react-hooks":"^5.0.3","@testing-library/user-event":"^12.8.3","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^17.0.4","@types/react-csv":"^1.1.1","@types/react-dom":"^17.0.4","@types/react-router-dom":"^5.1.8","@types/testing-library__jest-dom":"^5.9.5","babel-plugin-module-resolver":"^4.1.0","identity-obj-proxy":"^3.0.0","react-router-dom":"^5.3.0","size-limit":"^5.0.5","tsdx":"^0.14.1","typescript":"^4.4.3"},"dependencies":{"export-to-csv":"^0.2.1","humanize-string":"^2.1.0","lodash":"^4.17.21","lodash-es":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","react-csv":"^2.0.3","react-query":"^3.19.2","tslib":"^2.3.1"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"664d2263ec800873aea8a87f72320fc1c5d441b1","publishConfig":{"access":"public"},"_id":"@pankod/refine-core@3.1.0","_nodeVersion":"14.18.3","_npmVersion":"lerna/4.0.0/node@v14.18.3+x64 (linux)","dist":{"integrity":"sha512-h8HcexDvB1kXe+Def9Odb5MAnoe6bXgE6b5tDkg0AGhMJNdxGPWv3eMWtE5MRm3+XAXF84fBZLwFX1SvnXDbJw==","shasum":"98b438456b3aedb46883b1998eec06b3d53bc458","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.1.0.tgz","fileCount":335,"unpackedSize":1792196,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJiA7IyCRA9TVsSAnZWagAA0pgQAJMY85hzSX4ap/LYCioA\ngJI0STFyUFpGAwgTN/lmKb66dRhcTYnMZ8FS36kmveDqrkSgey+jr1ayiIim\n9rTAL/5UfIoaXeLV926EVnRfp2nOHlc2c9F905oUT3X3I8ybHpdON9Kz3KO5\n8H1s7vaAum1mzq5doKxuUekxh7WsK5KEdLomMM6xsULNNZ3K5vVdxXCpR44A\nB+xlu11Vem8oEXTc/x0sfSMqhwkduaFrVQ+N/PhhM/rePW6Uiht6xlt0hh0X\noK9K8HtOGf8qNZ/BdPIVIWeZCb5VY64ZFqaZQufT47Zpkjj3N3biKbGX30iv\n3Ae/Zr3Kpt03UgfYW0u04eyG8YKSIqrEwRcrGReiYGuXBoLhdqwyg5KkQizv\nt5VOHcClKu8ZaqLTMsjk6iHDTkX+r4S5hTf/1ok61M5hgZqkb9gGiExVwj9/\nIDe9zjaCJxpNuSk8x6unE5Tl0TzohSxEgufBPE6zwB3TT8PgZaHCkY744kzp\nhXLAc80ad/YeiutfFUc7i2vxcvYZcrRnz3yY2jtQ7Yh2CvpBFd8HXCLpuzJv\nIYZylyfU5dPLndmI1xRvoDk2nood9nZ2omlxmBtd7RuLpnCM1i8h5ZfRFXxy\n3vT0DcDJhFczyZM1UG6OnfCAuByh3PVR7Paqx32PGUKbvx3A9AKjfZanfFwl\nuPUx\r\n=FI5W\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDaGVoVx8SrynH5AvN2c55A1skZh208aUW6obzh0irvTQIgdYogN/GEhc9CqpVXK3d4CJER2z5w5u1q9dcQLhis5vU="}]},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"mhrrmk","email":"mkocadere@gmail.com"},{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"aydinakyol","email":"aydinakyol11@gmail.com"},{"name":"necatiozmen","email":"necati.ozmen.9@gmail.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.1.0_1644409394348_0.6934753416718749"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.1.1":{"name":"@pankod/refine-core","version":"3.1.1","description":"refine is a React-based headless framework for building data-intensive applications in no time. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/refine-core.esm.js","typings":"dist/index.d.ts","scripts":{"start":"tsdx watch --tsconfig tsconfig.json --verbose --noClean","build":"tsdx build --tsconfig tsconfig.json","test":"tsdx test --passWithNoTests --runInBand","prepare":"tsdx build","size":"size-limit","analyze":"size-limit --why","generate-theme":"npx @emeks/antd-custom-theme-generator -w --antd ../../node_modules/antd ./src/assets/styles/custom-theme.less ./src/assets/styles/styles.min.css"},"peerDependencies":{"antd":"^4.17.1","react":"^17.0.2","react-dom":"^17.0.2"},"devDependencies":{"@babel/core":"^7.13.14","@size-limit/preset-small-lib":"^5.0.5","@testing-library/jest-dom":"^5.12.0","@testing-library/react":"^11.2.6","@testing-library/react-hooks":"^5.0.3","@testing-library/user-event":"^12.8.3","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^17.0.4","@types/react-csv":"^1.1.1","@types/react-dom":"^17.0.4","@types/react-router-dom":"^5.1.8","@types/testing-library__jest-dom":"^5.9.5","babel-plugin-module-resolver":"^4.1.0","identity-obj-proxy":"^3.0.0","react-router-dom":"^5.3.0","size-limit":"^5.0.5","tsdx":"^0.14.1","typescript":"^4.4.3"},"dependencies":{"export-to-csv":"^0.2.1","humanize-string":"^2.1.0","lodash":"^4.17.21","lodash-es":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","react-csv":"^2.0.3","react-query":"^3.19.2","tslib":"^2.3.1"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"aa6bb2511579be2611947287dc76d82fc20f11eb","publishConfig":{"access":"public"},"_id":"@pankod/refine-core@3.1.1","_nodeVersion":"14.19.0","_npmVersion":"lerna/4.0.0/node@v14.19.0+x64 (linux)","dist":{"integrity":"sha512-zs9zgkM5f0J+zF45USJRcvyC0kDuywU4DcBuV7ow6E9SZO6LgWq/Rmjc+xFE/suY1q//BF5rsmkCtyJ4FqH+HA==","shasum":"8f41bd95bbdd38ee4e80145d70854105e9c24a2f","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.1.1.tgz","fileCount":335,"unpackedSize":1799522,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJiBkwWCRA9TVsSAnZWagAAiy0P/RIlwn9EzOLC+/6RLcDr\njB/tZ06XgKlcb01GYIgsdfWMsIUl8mub/Yi/CmAcARswmXh2Wh4hXtwRQbaX\nF3cMDcQED0N3k0NB0I04W+rg1vzBTBIvU3n9nbmCfmTwmO/WfzwvP8fbOULu\n8hJleK/gOcrMetg42X/+Wxj3l0DyDumDOMr24bRid044BUJCWoqPJbip1sse\nri7nI8+xhJf+fAQzIipsumeLOnBati8kpwXntg6vUqu+jXSzwnDIqodTmJ7l\niSfQ8TBBpj9+KSC3XoFY2/EeA7/LyPQd3akb5RV11G9XtlIX07WqLwig+SWA\nUg2Tq7FKTKDjo+IXfhaAofa/iDSDo9Q+xBBWJ9N3M/Md13T5ofaZTT5aCws6\ndgP/Q3/VE1HDa5Ik0Ye3aF79WZ2Uwn4g0oYIzrE3LdhHVzxlhc8mAxzH4UtN\nYsism1zvjXcfn14wc/xPCh8fixCPBSbF9Cn4IlJO+TkLDneuNLTBN0WTQNCe\nXSSPlz2rPXoyuMhbfWtrV/ORDYcWHladj+0lzvKlIbLRPhslyavSED+Ay4rw\nrRgK4Wl6jCAnpWThiYXgJMbXzV9k19CRd8baO4jzN0aWfi0VZ5Ahx3k8Gth8\nY73WJ/TvZck88PvoZFnZe/87FkI63DGgPRd0u9bCejS+427dYDRArlXnjG4k\n1WLq\r\n=qRIP\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHSh5epUu2m7EfAw+8nt8SklVVxMo1omv5BTCoyMdSoyAiEAijwj1QWSUVce9M1MQztgSTbWYQhUcu3FNFDmiQnpZbI="}]},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"mhrrmk","email":"mkocadere@gmail.com"},{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"aydinakyol","email":"aydinakyol11@gmail.com"},{"name":"necatiozmen","email":"necati.ozmen.9@gmail.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.1.1_1644579862307_0.13203202900181243"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.1.2":{"name":"@pankod/refine-core","version":"3.1.2","description":"refine is a React-based headless framework for building data-intensive applications in no time. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/refine-core.esm.js","typings":"dist/index.d.ts","scripts":{"start":"tsdx watch --tsconfig tsconfig.json --verbose --noClean","build":"tsdx build --tsconfig tsconfig.json","test":"tsdx test --passWithNoTests --runInBand","prepare":"tsdx build","size":"size-limit","analyze":"size-limit --why","generate-theme":"npx @emeks/antd-custom-theme-generator -w --antd ../../node_modules/antd ./src/assets/styles/custom-theme.less ./src/assets/styles/styles.min.css"},"peerDependencies":{"antd":"^4.17.1","react":"^17.0.2","react-dom":"^17.0.2"},"devDependencies":{"@babel/core":"^7.13.14","@size-limit/preset-small-lib":"^5.0.5","@testing-library/jest-dom":"^5.12.0","@testing-library/react":"^11.2.6","@testing-library/react-hooks":"^5.0.3","@testing-library/user-event":"^12.8.3","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^17.0.4","@types/react-csv":"^1.1.1","@types/react-dom":"^17.0.4","@types/react-router-dom":"^5.1.8","@types/testing-library__jest-dom":"^5.9.5","babel-plugin-module-resolver":"^4.1.0","identity-obj-proxy":"^3.0.0","react-router-dom":"^5.3.0","size-limit":"^5.0.5","tsdx":"^0.14.1","typescript":"^4.4.3"},"dependencies":{"export-to-csv":"^0.2.1","humanize-string":"^2.1.0","lodash":"^4.17.21","lodash-es":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","react-csv":"^2.0.3","react-query":"^3.19.2","tslib":"^2.3.1"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"23ae9bd22cfa26e14e81e7ba4fdd7452d9d757e3","publishConfig":{"access":"public"},"_id":"@pankod/refine-core@3.1.2","_nodeVersion":"14.16.1","_npmVersion":"lerna/4.0.0/node@v14.16.1+x64 (darwin)","dist":{"integrity":"sha512-gQbfJkc/RpolmVq0iUQ57psFiJT4IjH1kA1D6zZKUDt2TRlLSRm6M+Zr8Nn/ZrriB1ztcPd2Hel3GeYbg3InwQ==","shasum":"e53855e93ff08f6849acdb59e3642e2f5da9be1e","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.1.2.tgz","fileCount":335,"unpackedSize":1799604,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJiCfDDCRA9TVsSAnZWagAATX8P/0lZwf8zYcqnPVTo34CA\nDwdRWCQYt6idH8bBF8ufSevqE+rn22/eyKq7XlE03eMDJW7aHOZXXZJb07+D\nGrkP8qIqUavqW9VKWmZViDYJ2pVqNPqX3btVZCQ5yRoKhK26I6zmJgdgaS7j\nR5D3dIas8abQsIW1NVrjQI375Hn1DeZjib2idn+MwezbF3INEtbIPqoHnSjN\n8c/xO/OjKDpohyHhN1eWzM7oEe3J2LxCKiOnxMbN+DNMewJHDeAYDKtpvQeL\nWVOjnC99u1JYGapHB4628FNOWHErjHHQI0YVov3fWj9J9uD2XLRXh1HaoJ8K\nvV/i+Eme2pFpiqMnD+6wBa09sodfamMQ3XCvTdobdQuUjjWOYs5r1D7FD88n\nyX9OJJQf1Ku11qJq0OfKdnnVxt85DMVDn///ICQBRNWRuZ48DeZJQew2S6RL\ndB/gtJIPuJRL8TX0iQG9KJYw5a6/zSd/LycL0m/twla6nQqG+97MWDi4dzw1\nx/uEGZ/VVpi9NKxmGR0EYX0Sv4lt3y318hB+s64L/6tvMJahsP4+qTDJOmYP\ninHDTnUuUMO2iN0JZ+V/Lf2FygaN54xnYeBTz4vBjav42gVpoMHCx86iMmHW\nBWYsKyF9M3LeAv+gLsIdnQTyS8YU5zm904Lau6xCA+7z6Mdwh3B4hitBRT07\nZzmH\r\n=3E5W\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFmUyJ+mB1RjvlfrbsDKHEWDJY0OofwFtQ3GlFtoF57sAiEA2VWJLQAl4exTbbMAj8aB+qbX7U6ADVaKbUjtke15bbs="}]},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"mhrrmk","email":"mkocadere@gmail.com"},{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"aydinakyol","email":"aydinakyol11@gmail.com"},{"name":"necatiozmen","email":"necati.ozmen.9@gmail.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.1.2_1644818626869_0.9231480056484784"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.1.4":{"name":"@pankod/refine-core","version":"3.1.4","description":"refine is a React-based headless framework for building data-intensive applications in no time. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/refine-core.esm.js","typings":"dist/index.d.ts","scripts":{"start":"tsdx watch --tsconfig tsconfig.json --verbose --noClean","build":"tsdx build --tsconfig tsconfig.json","test":"tsdx test --passWithNoTests --runInBand","prepare":"tsdx build","size":"size-limit","analyze":"size-limit --why","generate-theme":"npx @emeks/antd-custom-theme-generator -w --antd ../../node_modules/antd ./src/assets/styles/custom-theme.less ./src/assets/styles/styles.min.css"},"peerDependencies":{"antd":"^4.17.1","react":"^17.0.2","react-dom":"^17.0.2"},"devDependencies":{"@babel/core":"^7.13.14","@size-limit/preset-small-lib":"^5.0.5","@testing-library/jest-dom":"^5.12.0","@testing-library/react":"^11.2.6","@testing-library/react-hooks":"^5.0.3","@testing-library/user-event":"^12.8.3","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^17.0.4","@types/react-csv":"^1.1.1","@types/react-dom":"^17.0.4","@types/react-router-dom":"^5.1.8","@types/testing-library__jest-dom":"^5.9.5","babel-plugin-module-resolver":"^4.1.0","identity-obj-proxy":"^3.0.0","react-router-dom":"^5.3.0","size-limit":"^5.0.5","tsdx":"^0.14.1","typescript":"^4.4.3"},"dependencies":{"export-to-csv":"^0.2.1","humanize-string":"^2.1.0","lodash":"^4.17.21","lodash-es":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","react-csv":"^2.0.3","react-query":"^3.19.2","tslib":"^2.3.1"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"1f1980a529ba819525bb8fea5466637612df554d","publishConfig":{"access":"public"},"_id":"@pankod/refine-core@3.1.4","_nodeVersion":"14.19.0","_npmVersion":"lerna/4.0.0/node@v14.19.0+x64 (linux)","dist":{"integrity":"sha512-thyxP6wh60QNnHHE9Gru5qyD4VA2bxMVjm1UUH85qyFSN4epkGKVhEP5/8osUlA+dEACSpMnjeGMdqLDMyLGdA==","shasum":"d4994eb750bae03a689544edcc785dd818999b2a","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.1.4.tgz","fileCount":335,"unpackedSize":1800921,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJiCkpbCRA9TVsSAnZWagAAft4P/1Ugm6Al5MbT3+7MEAJ8\nI5zQdU7es4F5dpVlDypn1cO3bnUbk4qNHn2Wt8aoU3MWqQ5r5NRaiiOS40BK\n9nWE+8QhbYrjwVKKu4sM1TV0KpHrAoXK9yjlTN7Syk2pbddcFKnkUDvw2OgG\narhKpioJa6PfnJZ8FHtWdy7xgZL9StRhGA9gAZgdHWVZnKE039tapGPtuwBz\nImJy7qnAMMr0qbsjVsG01hKyjoOXjmndB95/3hj9ZRpOm8QyVhnE6DTIi8m5\nMfsLOujQdpwVmXj2M+ZU+NDkndrpokFoVo5S0FcggOldGeNQuqAfgJrQw7H3\nqlDN9QnwHMmSNbMZJF5/o0UxZWCdD95807P9d7HeJZcyvPIOHzPZMv+OTI5s\npLiNPMCCPLxitRiy8R88+KLw+QihJUvIxfQWdYKttJ3lrFmoyuPj0ck1DPy8\nE6L4IpJzjIE08oZWEIx3Ng7a2xjEVrPM600I0aYEAtzQQC2Ps1OOuPw+jBd8\nb2dYe4n2j3D5+g4bvuZD8t8+x2/vmYwb17JiUdi6E1oXtlpQhR/h5qubVUcV\n6NsXr556xZF/mXw9fMnbkgB8wAMLA53QumWglgxjvTX2vuaEeFW4kHqf900Q\njrQMn5oBKzu7fJYfVCBc/9ScOT0HBYrGecktisf6Ig+LBXvwOWSYYrLSLKb2\nZpAp\r\n=a4C9\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCU+vwanJ24s5duc5gErXUlUbkIuE68PnaFKQAIODDD9QIgDFCQulXFAW03L1vVkuvDZICQfREHf7eR2/Qhapvk0Fo="}]},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"mhrrmk","email":"mkocadere@gmail.com"},{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"aydinakyol","email":"aydinakyol11@gmail.com"},{"name":"necatiozmen","email":"necati.ozmen.9@gmail.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.1.4_1644841562998_0.6495329304828714"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.1.6":{"name":"@pankod/refine-core","version":"3.1.6","description":"refine is a React-based headless framework for building data-intensive applications in no time. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/refine-core.esm.js","typings":"dist/index.d.ts","scripts":{"start":"tsdx watch --tsconfig tsconfig.json --verbose --noClean","build":"tsdx build --tsconfig tsconfig.json","test":"tsdx test --passWithNoTests --runInBand","prepare":"tsdx build","size":"size-limit","analyze":"size-limit --why","generate-theme":"npx @emeks/antd-custom-theme-generator -w --antd ../../node_modules/antd ./src/assets/styles/custom-theme.less ./src/assets/styles/styles.min.css"},"peerDependencies":{"antd":"^4.17.1","react":"^17.0.2","react-dom":"^17.0.2"},"devDependencies":{"@babel/core":"^7.13.14","@size-limit/preset-small-lib":"^5.0.5","@testing-library/jest-dom":"^5.12.0","@testing-library/react":"^11.2.6","@testing-library/react-hooks":"^5.0.3","@testing-library/user-event":"^12.8.3","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^17.0.4","@types/react-csv":"^1.1.1","@types/react-dom":"^17.0.4","@types/react-router-dom":"^5.1.8","@types/testing-library__jest-dom":"^5.9.5","babel-plugin-module-resolver":"^4.1.0","identity-obj-proxy":"^3.0.0","react-router-dom":"^5.3.0","size-limit":"^5.0.5","tsdx":"^0.14.1","typescript":"^4.4.3"},"dependencies":{"export-to-csv":"^0.2.1","humanize-string":"^2.1.0","lodash":"^4.17.21","lodash-es":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","react-csv":"^2.0.3","react-query":"^3.19.2","tslib":"^2.3.1"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"e251784ce00beb3b235acf333b019c5814c66781","publishConfig":{"access":"public"},"_id":"@pankod/refine-core@3.1.6","_nodeVersion":"14.19.0","_npmVersion":"lerna/4.0.0/node@v14.19.0+x64 (linux)","dist":{"integrity":"sha512-rjeHvalL9YELROvoOlpwRjhTdldWq2P2sOhZKmVxdJRNfR1CyTyZeUZbhgLK5Ft+Gd2zYIQxroiKA1JeuxdsJA==","shasum":"60489770788917c9671b38a092a36b4643e53e91","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.1.6.tgz","fileCount":335,"unpackedSize":1801426,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJiCmYACRA9TVsSAnZWagAAvcIP+wQ2kEyMs8OI6V1GNGb/\nUZo+7ARsqOdJ8DABdYMgVMJp6lDJatfXuyLhTAxqw6UxgG5Yl6DMoVGA9ILN\nVYoziONjUZKtZTKPdY8UfwFP7hYZzsigVEwkzc5S73n5OMvgY2+B/Sy1i6Nl\nl/yoNgM/kzQz14+38Wbenb4VpE4dClvnAATEF6ZJFXTZ57vDm7eU7x4FaB1v\n7z/pdJsvGQwwTxTaaUTKZZlaV9TwyciM9nbiRSRX95fVCILkEpQpOg4RHEMA\nkR2dg0Xekm7+RpyIJaGh51kJi66Wm8vd08GErAAtvGOWRezmNLS3CVCDKfST\n1b/4YpPm6R5Qmi1g57RmXgBMlE6aNXdfTsOA4c0OKPBTI5mioV5LkjlC8EB+\nGGHsHmxDLtZKD2xEbVuJmn9ft2j1vPlMu0g3hw5VJcQdwPf8doRe7q8jtbfb\nDkwhdkXoRIN0IxbaGaXOIv99ZrEZfJRMHO5Hw1sfHxBuiFJSwWgi3x4r/pk+\nS0M0yDUuWClOTTAoF7XtpWXUJf2dWMo0Mbs4VGY5GEeQZMF4mDpsElt8e1np\nmjeyAVhiowMjvsPtNF7moGimzrePH2gN+Rv+mWURu/jg9HNMA4MK4JbKCdF2\n1FKgTdW1owyXFefNVZ2Ckrq09+p7w81bLp6tFW4GohIkGfaZwggFkLkaehWZ\nLvkX\r\n=dXRI\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDMYh+XIDcw/sitSM4CuNPp30qDrIFb2pqCxwQOlz9NRgIhAI32RghLEx8I9Xlb2i1ZMXe/1H5Qj2QFzodUpWzHZSun"}]},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"mhrrmk","email":"mkocadere@gmail.com"},{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"aydinakyol","email":"aydinakyol11@gmail.com"},{"name":"necatiozmen","email":"necati.ozmen.9@gmail.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.1.6_1644848640697_0.6528224632772137"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.1.9":{"name":"@pankod/refine-core","version":"3.1.9","description":"refine is a React-based headless framework for building data-intensive applications in no time. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/refine-core.esm.js","typings":"dist/index.d.ts","scripts":{"start":"tsdx watch --tsconfig tsconfig.json --verbose --noClean","build":"tsdx build --tsconfig tsconfig.json","test":"tsdx test --passWithNoTests --runInBand","prepare":"tsdx build","size":"size-limit","analyze":"size-limit --why","generate-theme":"npx @emeks/antd-custom-theme-generator -w --antd ../../node_modules/antd ./src/assets/styles/custom-theme.less ./src/assets/styles/styles.min.css"},"peerDependencies":{"antd":"^4.17.1","react":"^17.0.2","react-dom":"^17.0.2"},"devDependencies":{"@babel/core":"^7.13.14","@size-limit/preset-small-lib":"^5.0.5","@testing-library/jest-dom":"^5.12.0","@testing-library/react":"^11.2.6","@testing-library/react-hooks":"^5.0.3","@testing-library/user-event":"^12.8.3","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^17.0.4","@types/react-csv":"^1.1.1","@types/react-dom":"^17.0.4","@types/react-router-dom":"^5.1.8","@types/testing-library__jest-dom":"^5.9.5","babel-plugin-module-resolver":"^4.1.0","identity-obj-proxy":"^3.0.0","react-router-dom":"^5.3.0","size-limit":"^5.0.5","tsdx":"^0.14.1","typescript":"^4.4.3"},"dependencies":{"export-to-csv":"^0.2.1","humanize-string":"^2.1.0","lodash":"^4.17.21","lodash-es":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","react-csv":"^2.0.3","react-query":"^3.19.2","tslib":"^2.3.1"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"2b97818237cc72ef2e8a340424889a0901d93fd8","publishConfig":{"access":"public"},"_id":"@pankod/refine-core@3.1.9","_nodeVersion":"14.16.1","_npmVersion":"lerna/4.0.0/node@v14.16.1+x64 (darwin)","dist":{"integrity":"sha512-Gj3Qag7zjomCiJ8WpzaxYiFvXyd3dPknryC/eTY/Nj6V7q/50ZVKWc/YpFG9DiSGrvPBU1EufrhUzODXfiydUQ==","shasum":"46be247ebb0f3b91572230e71ee4f6d70bb281eb","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.1.9.tgz","fileCount":335,"unpackedSize":1801426,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJiDMKKCRA9TVsSAnZWagAArsIP/iQH9SBG3m0zWhfznIJz\nYkOQS6dEyEjKHnsGOI+/qyBn3Axx58FmIS12kZx3ZO6H/i/EjMiOf50PY/uP\nL5cWJGwKvsVnPrdOEZohJ5FvSdPEfXAmU+R5JKPpRQtEEE0fjC68jF87W9wy\nAekBXbF9/nj9BNs6HY0eRI6RPyLR4IxLrEbJ8itKeoPoRk/Ljxj0d1JO3u/2\nNdOj1CopjpGZlhhG9PMtvuyj0pBK9Q21o9Pt9vLRUfO2OIF/7zi7H1r6hGbQ\nVowgcciW0mPEpjNpto8z5Qtxf0t8mwdp/lEMdO4Oun8lka+Ob2qwgdoZXw7K\nnD6QB1KqNw0qYH/qFJGSc7kAC2uNyRjfTcBP1pYrqdiYiy+ixKFuI8kSUCzk\nHKJS9qXkUw6XgGoxEVUFexWuIfRL+ezF//hzwnHOqD5jszXuHiSO3FHI93Ae\nGfOuGF4mrmJzqjR181WYNWeDg5+QV+27k+OGU4IWcYEbE0o+SN40FlT8enz7\ngu00Hc64yCLJYpmrjSFFnGa8S+faQJFbHf+QqnIoFkny5zL6EX2cXVRwBLAl\nnsOVObI2adegjKLt58r1juMhtfdPBtsDcMThCHNK3oI+LIX4+iJolFIKI5Ox\n2Qj0bW9Y3rzxeTqUHt4/ss4SG81qJvqEGt3Vt4rljGNK+VIJn5TFgOo+CqvM\nqCVz\r\n=+11k\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCqs6Wy01EvnjepNiVr3hshMiZay/y74PqCxAPg08v8uwIhAPqRqjpmClY/WXOLCY/ToVY4qXFQUJ/ASHHWIAdt2bgw"}]},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"mhrrmk","email":"mkocadere@gmail.com"},{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"aydinakyol","email":"aydinakyol11@gmail.com"},{"name":"necatiozmen","email":"necati.ozmen.9@gmail.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.1.9_1645003402152_0.13990387802079796"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.2.0":{"name":"@pankod/refine-core","version":"3.2.0","description":"refine is a React-based headless framework for building data-intensive applications in no time. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/refine-core.esm.js","typings":"dist/index.d.ts","scripts":{"start":"tsdx watch --tsconfig tsconfig.json --verbose --noClean","build":"tsdx build --tsconfig tsconfig.json","test":"tsdx test --passWithNoTests --runInBand","prepare":"tsdx build","size":"size-limit","analyze":"size-limit --why","generate-theme":"npx @emeks/antd-custom-theme-generator -w --antd ../../node_modules/antd ./src/assets/styles/custom-theme.less ./src/assets/styles/styles.min.css"},"peerDependencies":{"antd":"^4.17.1","react":"^17.0.2","react-dom":"^17.0.2"},"devDependencies":{"@babel/core":"^7.13.14","@size-limit/preset-small-lib":"^5.0.5","@testing-library/jest-dom":"^5.12.0","@testing-library/react":"^11.2.6","@testing-library/react-hooks":"^5.0.3","@testing-library/user-event":"^12.8.3","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^17.0.4","@types/react-csv":"^1.1.1","@types/react-dom":"^17.0.4","@types/react-router-dom":"^5.1.8","@types/testing-library__jest-dom":"^5.9.5","babel-plugin-module-resolver":"^4.1.0","identity-obj-proxy":"^3.0.0","react-router-dom":"^5.3.0","size-limit":"^5.0.5","tsdx":"^0.14.1","typescript":"^4.4.3"},"dependencies":{"export-to-csv":"^0.2.1","humanize-string":"^2.1.0","lodash":"^4.17.21","lodash-es":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","react-csv":"^2.0.3","react-query":"^3.19.2","tslib":"^2.3.1"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"c97982033c38dc763d75ba51391d2d632fc559cb","publishConfig":{"access":"public"},"_id":"@pankod/refine-core@3.2.0","_nodeVersion":"16.14.0","_npmVersion":"lerna/4.0.0/node@v16.14.0+arm64 (darwin)","dist":{"integrity":"sha512-aNkdAtzfyWNTsj9zPJj4mzIbvDKpxH8qlaqKNZ1GY9zB5uCy9UF/HgvI3T/uCBn+xvp2BMVx8jMYVSPPDZPEAQ==","shasum":"6ea985cc8a4dd7f2bd198a7c17d92a821debab03","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.2.0.tgz","fileCount":338,"unpackedSize":1824055,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJiDRZnCRA9TVsSAnZWagAA9eMP+wVCmMENqqMNiImCfS4n\np3TMaegUzNE9Lcd/S8HsW+5OotyJMcDyFOysE69TjqYPAZTZ53q4r9yR2G/z\npq3chknbEiICx7JxargbwwiL1IG0yqTb5ow08lpsUnhPvt/G6bIaG3/xQUbQ\nEvSTM5MX7ZnFvxYp5gUAw+xMQn/6VbJ1nRwPA9kXL8GxV7n6ZEwBROkEEde8\nEgmvhcICK+K2x/Mb/vhha3TVYBdqhHypvYiljeMFMD8pMxIt0n4FBoMy1EZ2\nIkZh2hJNbVipomo2JFOCqcVYNguQ6g6zBjV0SOpfh2aVOnBqaYZ+x90QGBp/\nYD/YPdPVZKMq/xi7yhSofNlhEhk08wqrsJRdRMQ71jh00VjXF/B7ZRoChhd4\nw34Y0mGJ1EP8VSPZHYqVKNOdYMiAKY1K+uZkaGS5jiMeNSAz8dmoWNmpFxB6\nS7dU5m9kKtOZispQnPcqi+G0ttTGMFGciiNO3JFG1lCXaExiFWLTXWjjdHhu\nXAx3W9nwTFS0ER740fhl3Fs/43+5fAF7ZIOZwpYMfpTXM3ihE5Z9uC+jPDI9\nMlUblJeIKEmF2NhWHAHgnykT/ur+3mzpqvBEw9nifOSNaWtQMjEsPxKDZmOS\nEyhJ+wpCZGh1uySeIzQUIY/JH6+Us4E/Dj4ymBsR3R4VSMt3NWeVo8uNMSid\nBdfv\r\n=s2p6\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDTtfWHMBm4DhRE5R9lW9Gjs2jY1FiKoX4h01JsPMHvRwIhAOqWywy+Ikl2Ysw00RTOjny5yiVXlS+ugfFPzIKKMmFP"}]},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"mhrrmk","email":"mkocadere@gmail.com"},{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"aydinakyol","email":"aydinakyol11@gmail.com"},{"name":"necatiozmen","email":"necati.ozmen.9@gmail.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.2.0_1645024871386_0.01663792945457887"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.2.2":{"name":"@pankod/refine-core","version":"3.2.2","description":"refine is a React-based headless framework for building data-intensive applications in no time. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/refine-core.esm.js","typings":"dist/index.d.ts","scripts":{"start":"tsdx watch --tsconfig tsconfig.json --verbose --noClean","build":"tsdx build --tsconfig tsconfig.json","test":"tsdx test --passWithNoTests --runInBand","prepare":"tsdx build","size":"size-limit","analyze":"size-limit --why","generate-theme":"npx @emeks/antd-custom-theme-generator -w --antd ../../node_modules/antd ./src/assets/styles/custom-theme.less ./src/assets/styles/styles.min.css"},"peerDependencies":{"antd":"^4.17.1","react":"^17.0.2","react-dom":"^17.0.2"},"devDependencies":{"@babel/core":"^7.13.14","@size-limit/preset-small-lib":"^5.0.5","@testing-library/jest-dom":"^5.12.0","@testing-library/react":"^11.2.6","@testing-library/react-hooks":"^5.0.3","@testing-library/user-event":"^12.8.3","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^17.0.4","@types/react-dom":"^17.0.4","@types/react-router-dom":"^5.1.8","@types/testing-library__jest-dom":"^5.9.5","babel-plugin-module-resolver":"^4.1.0","identity-obj-proxy":"^3.0.0","react-router-dom":"^5.3.0","size-limit":"^5.0.5","tsdx":"^0.14.1","typescript":"^4.4.3"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","humanize-string":"^2.1.0","lodash":"^4.17.21","lodash-es":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","react-query":"^3.19.2","tslib":"^2.3.1"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"4a0353ee392d9c655b03940cba04db709c06ff5a","publishConfig":{"access":"public"},"_id":"@pankod/refine-core@3.2.2","_nodeVersion":"16.14.0","_npmVersion":"lerna/4.0.0/node@v16.14.0+arm64 (darwin)","dist":{"integrity":"sha512-PgXL8ahRLTFjBHUAH/2fsC3cm3ryjWHrMO4mO1K8MjgMFX2w6sD0ut4F5NkMcGb58MrmlNTHP7oqx2gMWWMD1g==","shasum":"ca9553a135a17ffe6e520b28374f3d18301cd5e9","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.2.2.tgz","fileCount":338,"unpackedSize":1823844,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiD+4bACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo3eQ//UnFWiQ80AH7iQqpjfu8JxcmNgGngmWN+FY51McbofNnCzPrr\r\nRlrEOPvUxMtiA6ZaBvNLByqOFqVB+3UVvD77s75R7E4iDmm4J5FC5XkTdqR8\r\nnrMEQD7kP5DOoioQJJDsNYmm9Y0gPGrkxWQ/zxsysWzfUoBOW7JZTmscAMJy\r\neGtoc3GIOYDbs1CcCvb/gZLaLlwy6C18f1Hbe6s9YV8pEp/qV3V0ZUeW1+V5\r\nKvPOmwD9hMcURoztDhxBVTrJp0KHRY+t6/wWBurPxYiXuf++MEsCBPzp7g2M\r\nxVwvbGOBzZNHxXESfADDUSB5a+rhg9iio4kTapozhXEsm3HQ5nNHQ/36FcvA\r\ni8dOCQoRsE9e+dbcSGfIYp0ZeO90EnRVJF4jjLvx8Yd+DdVVsTxxn1aeLash\r\nffxlijPVPKPan4abk+A7HG41A2u/VKFGe3vKrSJOjjGwx90Q355XgNO3A7W2\r\nlhEVS7ibevV257ek3pfSuMkhtnE9VXznRghmMiNsrN0iuO5h95mYfWU8ECZx\r\n7Csao7wwpZS5qlSyS0fnc1EJYe8rntCk0avi/nkW5GUONTSOCvMxR0BD+BlA\r\n83OAS1aWD8xCqDW3u/A6WdfNIjJj8DJZciMjTA/Aquf1i31zqSe1gXsQILr9\r\ndoG9esYMwsr+/bnDUwrjXUCKCIdI6vj2/Vs=\r\n=V0dU\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEkb18NIjHq+4LHn6bk2vFXkqTs5IcfYtEciTG6fzKG6AiAMPsftJGXqDjaM4rQRQc0tOLu/3Tt5/rG85E7/PYmZsg=="}]},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"mhrrmk","email":"mkocadere@gmail.com"},{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"aydinakyol","email":"aydinakyol11@gmail.com"},{"name":"necatiozmen","email":"necati.ozmen.9@gmail.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.2.2_1645211163129_0.1892342268077729"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.2.4":{"name":"@pankod/refine-core","version":"3.2.4","description":"refine is a React-based headless framework for building data-intensive applications in no time. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/refine-core.esm.js","typings":"dist/index.d.ts","scripts":{"start":"tsdx watch --tsconfig tsconfig.json --verbose --noClean","build":"tsdx build --tsconfig tsconfig.json","test":"tsdx test --passWithNoTests --runInBand","prepare":"tsdx build","size":"size-limit","analyze":"size-limit --why","generate-theme":"npx @emeks/antd-custom-theme-generator -w --antd ../../node_modules/antd ./src/assets/styles/custom-theme.less ./src/assets/styles/styles.min.css"},"peerDependencies":{"antd":"^4.17.1","react":"^17.0.2","react-dom":"^17.0.2"},"devDependencies":{"@babel/core":"^7.13.14","@size-limit/preset-small-lib":"^5.0.5","@testing-library/jest-dom":"^5.12.0","@testing-library/react":"^11.2.6","@testing-library/react-hooks":"^5.0.3","@testing-library/user-event":"^12.8.3","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^17.0.4","@types/react-dom":"^17.0.4","@types/react-router-dom":"^5.1.8","@types/testing-library__jest-dom":"^5.9.5","babel-plugin-module-resolver":"^4.1.0","identity-obj-proxy":"^3.0.0","react-router-dom":"^5.3.0","size-limit":"^5.0.5","tsdx":"^0.14.1","typescript":"^4.4.3"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","humanize-string":"^2.1.0","lodash":"^4.17.21","lodash-es":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","react-query":"^3.19.2","tslib":"^2.3.1"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"957fe70d36c9abf480000af1652865c6c3b9711f","publishConfig":{"access":"public"},"_id":"@pankod/refine-core@3.2.4","_nodeVersion":"16.14.0","_npmVersion":"lerna/4.0.0/node@v16.14.0+x64 (linux)","dist":{"integrity":"sha512-lZEfIFxE5Ptr2DFbTOM8KWQT5SlZRZQGH0UIx1sjJp5bHLrpBxSFNTcLi6b1py9QqDQJRIsaHkw8gH5SPpey6A==","shasum":"1183549e6bf4d0667217b72524c0de04dabcab0f","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.2.4.tgz","fileCount":334,"unpackedSize":1822053,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiFJOjACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpRFw/+PoOajffLgGQubJ5aJPrX2PX1gKZdfPizMb1bmtc4XC9trQUo\r\nD3Kr4zSqdWCJ2SuCxOTu8/gQYWQ+1V5bCrgqBEO0ucWNF3liKy29sYhynqBC\r\nkKkyEnoic9K7fxNjjShcC3g1RRscQep+cl3bnFwLBhCnEKxaF0rCYdH1fJbs\r\nMWFbnKjySkMtqrswFIifAQhC8ky/q75DPY+4xSa1EZhYQLMdVBdt2lZ2v5I3\r\n6Xks7SesS+Gakmzgt6REy2MW9Q5Q5UVj2N1ae1Vmfw8qYxxrjiT6lkekHpcf\r\nWj0WYf0IaO1P/3EQ7SQ4DSif13DpQC2x887TY03fqMPk+acIqcUhbNtJcl3d\r\nGR/tbix8XRbuVy9pXEcEJPFhBdBwKF2fwLKrMi2sgwxwP/nxeQBzm9alplQN\r\nq/AC0ot/9a2CioYrOE/hOenCWkV8V61DVFmA92tpLs1TZretF4FgD42VWKZZ\r\nT0CFQosD3wK1aBlZ/EdY5kVtwndFxu6HUP1+MpImUvpZ1D9R8wCkQBIkl8nI\r\nqgO+97F8+1OrlGXcccosYdyOvgb5/hVbCZlV1niIl/bZot+5Tz+iQakwpWue\r\n1XblEHJQ7Q+nuMc8jC9K0u6ra3SgMmZYhr8PL/Tl8kp7O6cyS+kRbBSvRjhw\r\nKMXCSdPJTrc9xTJnRMKA7OoRjWeWDwJMGm4=\r\n=isDd\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHCX8NrTtzxU7u4LwhYEdQw6N1/KfbD+v77yMJkurrySAiAktN7U7KsZrr7+1PqEmWIC5dhhin3F9pSzYRUlKeBLNg=="}]},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"mhrrmk","email":"mkocadere@gmail.com"},{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"aydinakyol","email":"aydinakyol11@gmail.com"},{"name":"necatiozmen","email":"necati.ozmen.9@gmail.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.2.4_1645515683160_0.13585170856878603"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.3.1":{"name":"@pankod/refine-core","version":"3.3.1","description":"refine is a React-based headless framework for building data-intensive applications in no time. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/refine-core.esm.js","typings":"dist/index.d.ts","scripts":{"start":"tsdx watch --tsconfig tsconfig.json --verbose --noClean","build":"tsdx build --tsconfig tsconfig.json","test":"tsdx test --passWithNoTests --runInBand","prepare":"tsdx build","size":"size-limit","analyze":"size-limit --why","generate-theme":"npx @emeks/antd-custom-theme-generator -w --antd ../../node_modules/antd ./src/assets/styles/custom-theme.less ./src/assets/styles/styles.min.css"},"peerDependencies":{"antd":"^4.17.1","react":"^17.0.2","react-dom":"^17.0.2"},"devDependencies":{"@babel/core":"^7.13.14","@size-limit/preset-small-lib":"^5.0.5","@testing-library/jest-dom":"^5.12.0","@testing-library/react":"^11.2.6","@testing-library/react-hooks":"^5.0.3","@testing-library/user-event":"^12.8.3","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^17.0.4","@types/react-dom":"^17.0.4","@types/react-router-dom":"^5.1.8","@types/testing-library__jest-dom":"^5.9.5","babel-plugin-module-resolver":"^4.1.0","identity-obj-proxy":"^3.0.0","react-router-dom":"^5.3.0","size-limit":"^5.0.5","tsdx":"^0.14.1","typescript":"^4.4.3"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","humanize-string":"^2.1.0","lodash":"^4.17.21","lodash-es":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","react-query":"^3.19.2","tslib":"^2.3.1"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"6566b09de901d8130ab340be73bac468c1950f36","publishConfig":{"access":"public"},"_id":"@pankod/refine-core@3.3.1","_nodeVersion":"16.14.0","_npmVersion":"lerna/4.0.0/node@v16.14.0+x64 (linux)","dist":{"integrity":"sha512-YC+Ru9WvaEuH8qYEldcqgoDA3D9rwMjOn6f2VWkM0F39i+RqVkhcNSUDnYJAdm8KK15+yDnTzliS4uYTqBpYTw==","shasum":"eef32faa94708b05890bf29d2273791a4a8f98f3","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.3.1.tgz","fileCount":334,"unpackedSize":1822090,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiFe4IACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmpjqw/8DLTj1EW7v9+o4vDbiCClECQTg6kiQ+xquKfqGB9ofD0n0Uh/\r\ndzYvTz9XHBetQMXmoIzYq13LFj1oK5MExLaqJyWq8r79GjLSUk7W3btooIHs\r\nbgAuslPPQT8O8zi8FDknJyHCoi2clT/YjboCoQ2255OdvkWIKRrorw020qwx\r\n9Iw19/xjspBbm+1TxZzLXJrSWlJ6QMbB1wJ+P9EUqJJ3bg6yN3VzV2mdwtPi\r\nnr44uACDAkgWIxAwEDKCohqbCmUelWYHHZvpDk/VABSXKpUzhe9HHEIonmjH\r\nExBReNxlh2sEcMKG/bGh2fa/kCc8IDvgsKs9xE61q+1kQ/WwvM4ei8d0cp8v\r\nnSKwzLFhWftwb9az6TKhsJSiDLjNTJbJ9T5dOGgX7dHXj+KoQ4Iel1LQbSMb\r\nUQ50stpF84r6rGeP9uGEbQXtT3AE7c1AL+W4jb3qdpEzLxx5dEy+KkFskNhk\r\nkVSdxIEpsEv0sSboBGh8kHPwnxCfiJ91pQzYVSBodFu6VrPuYAQpapsKbHR5\r\nVsKBtvUObpqvnFJQrISpZ5fzozbpVT9Rr2r5bydNjxcf/3/muXNkquj9m1u3\r\ny3rBl98mDCF81Vk9F1SqKSXy2UxmutwwyPCRn5PYvaB5xbVKOnOL9l0j2v+8\r\nzuKnMMztz8EmbCuendv8KviOH+Xyz0ndGOk=\r\n=/FOl\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDHMAOs3Ns/r+LEcMIsy2Op02D/4PPoilOo2qBtoDepWAiEA7RFykEp1b2ZxSLoymttWlmNxuuIQp/++bHqL9vDRVKI="}]},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"mhrrmk","email":"mkocadere@gmail.com"},{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"aydinakyol","email":"aydinakyol11@gmail.com"},{"name":"necatiozmen","email":"necati.ozmen.9@gmail.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.3.1_1645604360650_0.7798142825603063"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.3.3":{"name":"@pankod/refine-core","version":"3.3.3","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/refine-core.esm.js","typings":"dist/index.d.ts","scripts":{"start":"tsdx watch --tsconfig tsconfig.json --verbose --noClean","build":"tsdx build --tsconfig tsconfig.json","test":"tsdx test --passWithNoTests --runInBand","prepare":"tsdx build","size":"size-limit","analyze":"size-limit --why","generate-theme":"npx @emeks/antd-custom-theme-generator -w --antd ../../node_modules/antd ./src/assets/styles/custom-theme.less ./src/assets/styles/styles.min.css"},"peerDependencies":{"antd":"^4.17.1","react":"^17.0.2","react-dom":"^17.0.2"},"devDependencies":{"@babel/core":"^7.13.14","@size-limit/preset-small-lib":"^5.0.5","@testing-library/jest-dom":"^5.12.0","@testing-library/react":"^11.2.6","@testing-library/react-hooks":"^5.0.3","@testing-library/user-event":"^12.8.3","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^17.0.4","@types/react-dom":"^17.0.4","@types/react-router-dom":"^5.1.8","@types/testing-library__jest-dom":"^5.9.5","babel-plugin-module-resolver":"^4.1.0","identity-obj-proxy":"^3.0.0","react-router-dom":"^5.3.0","size-limit":"^5.0.5","tsdx":"^0.14.1","typescript":"^4.4.3"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","humanize-string":"^2.1.0","lodash":"^4.17.21","lodash-es":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","react-query":"^3.19.2","tslib":"^2.3.1"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"fe44a9f2bf26c34da907a7d916ae828052e5c0df","publishConfig":{"access":"public"},"_id":"@pankod/refine-core@3.3.3","_nodeVersion":"16.14.0","_npmVersion":"lerna/4.0.0/node@v16.14.0+x64 (linux)","dist":{"integrity":"sha512-jjxR+8HOl70ZwPFeBYNK62mDNyqhDL6GwJdh9gydCoq0T0BuWvHp2dS1LAOH/hZAaDq42tDGRLMnEwCv+6OCaQ==","shasum":"f0992cc7874b4892f8eb7672324cc7541cf0f14e","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.3.3.tgz","fileCount":334,"unpackedSize":1821985,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiHJCdACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoetA/9EJXT/+O49UixAdMKEN1E4JZ61gZfu6Z1PMvsBjopN+PfWknL\r\n3rWl/BxLr/q/sk4lOVG1Fd7lw7TNiTPkBoP+NKQQsz4vyk6t8c5dBufhIAx2\r\nPe5T5lrBlBSOLrJ+8eYQ2NY5UEC8d5TjRv6OG8Txxd7OyydlTQxOCBx1wXPA\r\ndOkdHmVmUD/fP2lZ1ZkJkjzZoMGm2kClDTF1PyqM4JqkHsDqCQuXNHpVjRZ9\r\nAZlz4qAp61TtpUN02AuK4u8F9V1UUcHuMIiEZsOkG5xKQxj/5CEYucj+oRVl\r\nknThbLPtCkA/lmjPc4Gj699DdHidvCrIBIE4JDaX3QjsoXnt6ER//GGOJFKq\r\n7GQjtuwWF7+5z7GjVy9iQ0xeJ7UPvd8tZGCJ/gujoKaqOD3wuECBWnssm6GM\r\nTr/C3Nfm5AySeldzqiyypfE1XbTLkXlUgTzLP1+DNMoYLRMRotjZ7M0r95vW\r\n19L9R/PftKwXMZJN+ZDWdP9eSkE/hnlratPPH6aMOb044ToFS19ElLEEPc9W\r\nz+gZpFGMbmIdgCn8EbAYOaZGrDa9f+gFU8S8EQBcA7wWbqH4hrOE4FdXme83\r\n8h1oJo+YKWKn9XYKpz3wotsjRVfpaDghwuVR/7VovhIaItRCOrSTEBr+NN9a\r\najRSKvhRnRwNLAd7b+NRb4k+yPuqKoBffcM=\r\n=UOtm\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFqXEUPd1K2YcYcpzYQl6B6p8z+NPnDp6+GvFL+UqyCWAiEAws499/7al5mQCl534HfT2MrJWgAvCJXUpLQnf12mHAg="}]},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"aydinakyol","email":"aydinakyol11@gmail.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.3.3_1646039197004_0.8749162568290538"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.4.0":{"name":"@pankod/refine-core","version":"3.4.0","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/refine-core.esm.js","typings":"dist/index.d.ts","scripts":{"start":"tsdx watch --tsconfig tsconfig.json --verbose --noClean","build":"tsdx build --tsconfig tsconfig.json","test":"tsdx test --passWithNoTests --runInBand","prepare":"tsdx build","size":"size-limit","analyze":"size-limit --why","generate-theme":"npx @emeks/antd-custom-theme-generator -w --antd ../../node_modules/antd ./src/assets/styles/custom-theme.less ./src/assets/styles/styles.min.css"},"peerDependencies":{"antd":"^4.17.1","react":"^17.0.2","react-dom":"^17.0.2"},"devDependencies":{"@babel/core":"^7.13.14","@size-limit/preset-small-lib":"^5.0.5","@testing-library/jest-dom":"^5.12.0","@testing-library/react":"^11.2.6","@testing-library/react-hooks":"^5.0.3","@testing-library/user-event":"^12.8.3","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^17.0.4","@types/react-dom":"^17.0.4","@types/react-router-dom":"^5.1.8","@types/testing-library__jest-dom":"^5.9.5","babel-plugin-module-resolver":"^4.1.0","identity-obj-proxy":"^3.0.0","react-router-dom":"^5.3.0","size-limit":"^5.0.5","tsdx":"^0.14.1","typescript":"^4.4.3"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","humanize-string":"^2.1.0","lodash":"^4.17.21","lodash-es":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","react-query":"^3.19.2","tslib":"^2.3.1"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"677bdc2c0de38ce55bedf722c6da2a3625365e91","publishConfig":{"access":"public"},"_id":"@pankod/refine-core@3.4.0","_nodeVersion":"16.14.0","_npmVersion":"lerna/4.0.0/node@v16.14.0+x64 (linux)","dist":{"integrity":"sha512-IK3ADZIaV9RahHmBYe2+yFwpru9aziGPLZg7vVbO/8lNkDrtT/+hnpHua9ATkdNlPaaTuewu1NGyyNg0rhpdWw==","shasum":"226e4bae8aceb38eda2ee759260e46e39765ace5","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.4.0.tgz","fileCount":337,"unpackedSize":1821245,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiHOyaACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmow9g//QPwIa2/mm9TrDjT245QwZTHyzwwpTbMKM1LO84Mnb6JFcIRE\r\n0kgoYRo61fRXpaJw/PAEIThkA8EQd6kF1LHZHGqfq920mZlgisiQP6KEqFb7\r\nWatUrw0JGrAIPVzwNRWxnBgJyeCfRlRPUYKnh216+sVbb5LMHlj7k3WrPbPR\r\nARR2HqLisqXjkwHtjmXKFkylJnbwQwsdt+soHicFotkTTgyoguvHalki9AbO\r\nyLXJ3zsPQTGxedWht/wgoeVinD5xHPGStHVDRrLUKCfYQkQq60EAilPzI/hf\r\nah+9119/MIT21UhLYd20MeaU189UNe/WVs5IsnqdiVb4Vq1EHKZBax28D8ns\r\nTwBL5lf8ZN+cYhjiY+OIEUJHj2oOurDxo7GBch5DhKid7bywPScheyR1kfoK\r\nA+KmLGxqy3Nb1zdzK/KC0SRNgiS9mdxyVLeZ4B2ASYr4vaHTDR5eBdI34+hb\r\n9Kio9nMaUXOb0UiwPyKDyVGYgBefKH35jC7frI69FmQWxN56JpyzDxu9X4LK\r\nKDunUQvQlAoXXjkbJGJRe2Kh53fLXQIkIJhGRPtvBD9sIJt4YoR5xN/lRxXN\r\n71ZbSFGRlUCLc/vI1Oo8cDLvI+TCW5vmVx2MUEVJ2yNmLT1Xpr24mcbn+/DN\r\niDCdjjsFyh3boOrAUDN05NLls3pAE6xm1Z0=\r\n=Z/7v\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIB8qO8p2ngLL9027Kq/ka5LeIdjN1VJoS9s3cxywPjzjAiAEYSi/b+hWdqkTmn4aYIHJ6Xhvk5DQ9NszMQSN44hBmQ=="}]},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"aydinakyol","email":"aydinakyol11@gmail.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.4.0_1646062746104_0.18310928825990236"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.4.1":{"name":"@pankod/refine-core","version":"3.4.1","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/refine-core.esm.js","typings":"dist/index.d.ts","scripts":{"start":"tsdx watch --tsconfig tsconfig.json --verbose --noClean","build":"tsdx build --tsconfig tsconfig.json","test":"tsdx test --passWithNoTests --runInBand","prepare":"tsdx build","size":"size-limit","analyze":"size-limit --why","generate-theme":"npx @emeks/antd-custom-theme-generator -w --antd ../../node_modules/antd ./src/assets/styles/custom-theme.less ./src/assets/styles/styles.min.css"},"peerDependencies":{"antd":"^4.17.1","react":"^17.0.2","react-dom":"^17.0.2"},"devDependencies":{"@babel/core":"^7.13.14","@size-limit/preset-small-lib":"^5.0.5","@testing-library/jest-dom":"^5.12.0","@testing-library/react":"^11.2.6","@testing-library/react-hooks":"^5.0.3","@testing-library/user-event":"^12.8.3","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^17.0.4","@types/react-dom":"^17.0.4","@types/react-router-dom":"^5.1.8","@types/testing-library__jest-dom":"^5.9.5","babel-plugin-module-resolver":"^4.1.0","identity-obj-proxy":"^3.0.0","react-router-dom":"^5.3.0","size-limit":"^5.0.5","tsdx":"^0.14.1","typescript":"^4.4.3"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","humanize-string":"^2.1.0","lodash":"^4.17.21","lodash-es":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","react-query":"^3.19.2","tslib":"^2.3.1"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"1d52fffeebb9cb911dd980f0bcc0a1c3e3b620af","publishConfig":{"access":"public"},"_id":"@pankod/refine-core@3.4.1","_nodeVersion":"16.14.0","_npmVersion":"lerna/4.0.0/node@v16.14.0+arm64 (darwin)","dist":{"integrity":"sha512-GO/y8vEGtSEV9XEmHaTrIzItHX6+3Ez2Qy0eQ9ZUcsqeTcuHGaa2+HtEPqarS543TwRsmJFn18Sr+pHoaXk+vQ==","shasum":"9fc6233107fcd1b50a6cca131f602ad1a72af79b","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.4.1.tgz","fileCount":337,"unpackedSize":1821325,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiHeaaACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmpj9RAAmDnz2DqBN2gfc4BIgkoYorUvHZILYkYHocEvOiiiS5A7B1/9\r\nXZPJBn94A/fVjnhkzKcnsBc6iEddPj6sui9k574JpsVeVn4ehRaWhltYMQD0\r\noyWvNpqtiJm0P2Jb9NoQ2Q18589CGnZVTNaRfel306hO6uxtCp1hObjm54BO\r\n8pXgKyNP2nOy234HSUFHQ+bPPesWkjRX4x3DorxKB6qKEVTLRQbvt292W9XQ\r\nq8srvOPuU0WMuKxeYukRPZD3ppIA/X9eEVIF2o1A3bsaGVt2FPHAEg9BPpfd\r\n7CpUq01Ya3EeezDVxTcKWAomyIGcLg6OiWBdRN/3//ChaXV3gci15yMuR5g4\r\nKQpB5cmIWIZ13uyeLHSQrjbkr0Mwnj5XoKmI0Sr6hExi76zUO4vbCHvP2ZOx\r\n5tu1MHur1Ac/+caHG+83YYZ3uTwCIWkgg7SqZ2yzJdwar3DimurXeJbAALLA\r\nPKWSKS/OS+s3VY3yaCwuIbuaI475XrXxFxLQoR5ZDHOMcqHRDltQ5HgNIHJH\r\nbKeLnOU/v9iNEyBN31n3C4Fzbw5YEX9P0qu1Hi7SSmzRB53Ztj/ZB2ADo489\r\nGVlxysfvHeVo9XUt+iLwXIIvdiPcAwoxGszn/qQJfE7pdezno+YpbDkPrw6w\r\ncl28lucRdJDQ6WDHLUfukYQCmqpGKsuIukM=\r\n=enLb\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBdOepWjQ4RhQmr4dBrYQWoXbAlSZ4tD7LOJqg5UyfPAAiBRQFcVaizAkbnmv45V6YS31NyYIZBIktzKX3wnjZGPXQ=="}]},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"aydinakyol","email":"aydinakyol11@gmail.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.4.1_1646126746711_0.36948879263376844"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.4.2":{"name":"@pankod/refine-core","version":"3.4.2","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/refine-core.esm.js","typings":"dist/index.d.ts","scripts":{"start":"tsdx watch --tsconfig tsconfig.json --verbose --noClean","build":"tsdx build --tsconfig tsconfig.json","test":"tsdx test --passWithNoTests --runInBand","prepare":"tsdx build","size":"size-limit","analyze":"size-limit --why","generate-theme":"npx @emeks/antd-custom-theme-generator -w --antd ../../node_modules/antd ./src/assets/styles/custom-theme.less ./src/assets/styles/styles.min.css"},"peerDependencies":{"antd":"^4.17.1","react":"^17.0.2","react-dom":"^17.0.2"},"devDependencies":{"@babel/core":"^7.13.14","@size-limit/preset-small-lib":"^5.0.5","@testing-library/jest-dom":"^5.12.0","@testing-library/react":"^11.2.6","@testing-library/react-hooks":"^5.0.3","@testing-library/user-event":"^12.8.3","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^17.0.4","@types/react-dom":"^17.0.4","@types/react-router-dom":"^5.1.8","@types/testing-library__jest-dom":"^5.9.5","babel-plugin-module-resolver":"^4.1.0","identity-obj-proxy":"^3.0.0","react-router-dom":"^5.3.0","size-limit":"^5.0.5","tsdx":"^0.14.1","typescript":"^4.4.3"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","humanize-string":"^2.1.0","lodash":"^4.17.21","lodash-es":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","react-query":"^3.19.2","tslib":"^2.3.1"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"981a762cb891d29a871a716c19e404bece5c422a","publishConfig":{"access":"public"},"_id":"@pankod/refine-core@3.4.2","_nodeVersion":"16.14.0","_npmVersion":"lerna/4.0.0/node@v16.14.0+arm64 (darwin)","dist":{"integrity":"sha512-x3rFbDWAZRL17hs2UHPTvqNrICnhSKOPRr2HLkLHb/0aKTdkZNzAJzd1oR8aundzSd2yZ4XhO2/54U9dqp/WoQ==","shasum":"390e8bbf72dcb6bb7b496966e489bc0031d93bba","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.4.2.tgz","fileCount":337,"unpackedSize":1821603,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiHfn6ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoLWg//asi/kqT9C2L1ESw71r0HzZQei5VBpeWpfglxPRpLplGVQosj\r\nn7LiU+rG1cZ8gw2ftVQSjhNhPUOitayRTlVZEDXQHdEnFt0KERYHrWrIEpjq\r\nuht2jW1f2BNqpqENMp1H0xA0TnZPVdc3h5bCakhcRqEbZSltYLv2WZoiNzqd\r\nShQwW50eF1aemXqVAgQMkvwoduunVv86HNe4yGOexzRNA+dcee6GNkSgfJr7\r\nVb93C7nGECa8ms04b9UcRYLPcSW7gInQf+eYw+obSTOYvswu4scVGwYpChbt\r\nR2ZbD2Mx/Fpo7jTMcZbnV8f3G4ZdmXHItr4GT07n/KlZ4cHOrwVv0i/8/vtR\r\nFR9Av+rjGFWAvcEZE1Tcrg8etd/bhvmK7nBoC/uMZAjV4gQ8GJkV5ZxhpB5d\r\nPCcHwiL74OCl46PqzqcP9G/QIY3vQeudjLXBFv991VAVbg/uJ/a0aE59tJ7o\r\n/asum7A4OYdrmlQkOm/Nvocl1dEIfajiE2FtpyEy+TifPxqp4Ls4Zy5tWV5L\r\n1E2SfLKSSg99UKf1bWZO6X7avvWmqfjiBRGo3tc4q8Qbm5WrOyUX634F8WQi\r\n9EhSsZoISMcSyYikcC3TsJYfm9SUioB3yepEjy+giA+3Ce1Po7w6xNVtd0tF\r\nb618AhdUo1DQx0QRJikCvN9lG8tHWHDzjyQ=\r\n=NI0F\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCNIU45JzG057+PWOAJhKJ9DmgllqIe8Seh9ErMBIRiCQIgSxO2DU7H5APllBftoZBpEd9jFiqS5ivh2ewAFPTZcvw="}]},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"aydinakyol","email":"aydinakyol11@gmail.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.4.2_1646131705896_0.5658100040457503"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.4.3":{"name":"@pankod/refine-core","version":"3.4.3","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --dts --format esm,cjs,iife --legacy-output","build":"tsup --dts --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"antd":"^4.17.1","react":"^17.0.2","react-dom":"^17.0.2"},"devDependencies":{"@babel/core":"^7.13.14","@testing-library/jest-dom":"^5.12.0","@testing-library/react":"^11.2.6","@testing-library/react-hooks":"^5.0.3","@testing-library/user-event":"^12.8.3","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^17.0.4","@types/react-dom":"^17.0.4","@types/react-router-dom":"^5.1.8","@types/testing-library__jest-dom":"^5.9.5","babel-plugin-module-resolver":"^4.1.0","esbuild-plugin-lodash":"^1.1.0","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"^5.3.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.4.3"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","humanize-string":"^2.1.0","lodash":"^4.17.21","lodash-es":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","react-query":"^3.19.2","tslib":"^2.3.1"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"5d01d409d1d64d4f0c31b881cc0916213ca75aa8","publishConfig":{"access":"public"},"readme":"<div align=\"center\" style=\"margin: 30px;\">\n<a href=\"https://refine.dev/\">\n  <img src=\"https://raw.githubusercontent.com/pankod/refine/master/logo.png\"   style=\"width:250px;\" align=\"center\" />\n</a>\n<br />\n<br />\n\n<div align=\"center\">\n    <a href=\"https://refine.dev\">Home Page</a> |\n    <a href=\"https://refine.dev/demo/\">Demo</a> | \n    <a href=\"https://refine.dev/blog/\">Blog</a> | \n    <a href=\"https://refine.dev/docs/\">Documentation</a> | \n    <a href=\"https://github.com/pankod/refine/projects/1\">Roadmap</a> | \n    <a href=\"https://refine.dev/docs/examples/tutorial/\">Examples</a> | \n    <a href=\"https://refine.dev/enterprise/\">Enterprise</a> | \n    <a href=\"https://discord.gg/UuU3XCc3J5\">Discord</a>\n</div>\n\n</div>\n<br/>\n\n<div align=\"center\"><strong>refine</strong> is a <a href=\"https://reactjs.org/\">React</a>-based framework for building data-intensive applications in no time ✨ It ships with <a href=\"https://ant.design/\">Ant Design System</a>, an enterprise-level UI toolkit.</div>\n\n<br />\n\n<div align=\"center\">\n\n[![Discord](https://img.shields.io/discord/837692625737613362.svg?label=&logo=discord&logoColor=ffffff&color=7389D8&labelColor=6A7EC2)](https://discord.gg/UuU3XCc3J5)\n![Twitter Follow](https://img.shields.io/twitter/follow/refine_dev?style=social)\n\n<a href=\"https://www.producthunt.com/posts/refine-open-source-react-framework?utm_source=badge-featured&utm_medium=badge&utm_souce=badge-refine-open-source-react-framework\" target=\"_blank\"><img src=\"https://api.producthunt.com/widgets/embed-image/v1/featured.svg?post_id=319164&theme=light\" alt=\"refine: Open Source React Framework - Focus your business logic. refine will do the rest. | Product Hunt\" style=\"width: 250px; height: 54px;\" width=\"250\" height=\"54\" /></a>\n\n[![Meercode CI Score](https://meercode.io/badge/pankod/refine?type=ci-score&branch=master&token=2ZiT8YsoJgt57JB23NYwXrFY3rJHZboT&lastDay=31)](https://meercode.io/)\n[![Meercode CI Success Rate](https://meercode.io/badge/pankod/refine?type=ci-success-rate&branch=master&token=2ZiT8YsoJgt57JB23NYwXrFY3rJHZboT&lastDay=31)](https://meercode.io/)\n[![Maintainability](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/maintainability)](https://codeclimate.com/github/pankod/refine/maintainability)\n[![Test Coverage](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/test_coverage)](https://codeclimate.com/github/pankod/refine/test_coverage)\n[![npm version](https://img.shields.io/npm/v/@pankod/refine-core.svg)](https://www.npmjs.com/package/@pankod/refine-core)\n[![npm](https://img.shields.io/npm/dm/@pankod/refine-core-core)](https://www.npmjs.com/package/@pankod/refine-core)\n[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.0-4baaaa.svg)](code_of_conduct.md)\n\n\n</div>\n\n<div align=\"center\">\n  <sub>Created by <a href=\"https://www.pankod.com\">Pankod</a></sub>\n</div>\n\n## About\n\n[**refine**](https://refine.dev/) offers lots of out-of-the box functionality for rapid development, without compromising extreme customizability. Use-cases include, but are not limited to _admin panels_, _B2B applications_ and _dashboards_.\n\n## Documentation\n\nFor more detailed information and usage, refer to the [refine documentation](https://refine.dev/docs/).\n\n## What is refine?\n\n**refine** is a [React](https://reactjs.org/)-based framework for building data-intensive applications in no time :sparkles: It ships with [Ant Design System](https://ant.design/), an enterprise-level UI toolkit.\n\nRefine offers lots of out-of-the box functionality for rapid development, without compromising extreme customizability. Use-cases include, but are not limited to _admin panels_, _B2B applications_ and _dashboards_.\n\n## What is a \"headless\" Framework?\n**refine** is a **headless** React framework, which means all out-of-the-box features(**Routing**, **Networking**, **Authentication**, **Authorization**, **State Management**, **Realtime**, **i18n**, etc.), it can be used without being tied to any UI elements or framework. Also, Ant Design as out-of-the-box is supported.\n\n- Customization & Extensibility -  UI is a completely customizable area and each developer uses different solutions. **refine** features does not restrict or interfere with your UI structure. **refine** allows the you to design and customizable the UI based on their unique use case.\n\n- Separation of Concerns - **refine** as a framework, is not responsible for your UI and is independent.\n\n- Maintenance - By removing the API surface to support every UI use case, **refine** easy to use and update/maintain is simple.\n\n###\n\n## Key features\n\n🔥 **Headless** : Works with any UI framework\n\n⚙️ **Zero-configuration**: One-line setup with [superplate](https://github.com/pankod/superplate). It takes less than a minute to start a project.\n\n📦 **Out-of-the-box** : Routing, networking, authentication, state management, i18n and UI.\n\n🔌 **Backend Agnostic** : Connects to any custom backend. Built-in support for [REST API](https://github.com/pankod/refine/tree/master/packages/simple-rest), [GraphQL](https://github.com/pankod/refine/tree/master/packages/graphql), [NestJs CRUD](https://github.com/pankod/refine/tree/master/packages/nestjsx-crud), [Airtable](https://github.com/pankod/refine/tree/master/packages/airtable), [Strapi](https://github.com/pankod/refine/tree/master/packages/strapi), [Strapi v4](https://github.com/pankod/refine/tree/master/packages/strapi-v4), [Strapi GraphQL](https://github.com/pankod/refine/tree/master/packages/strapi-graphql), [Supabase](https://github.com/pankod/refine/tree/master/packages/supabase), [Hasura](https://github.com/pankod/refine/tree/master/packages/hasura), [Appwrite](https://github.com/pankod/refine/tree/master/packages/appwrite), [Firebase](https://firebase.google.com/), [Directus](https://directus.io/) and [Altogic](https://github.com/pankod/refine/tree/master/packages/altogic).\n\n📝 **Native Typescript Core** : You can always opt out for plain JavaScript.\n\n🐜 **Enterprise UI** : Works seamlessly with Ant Design System. (Support for multiple UI frameworks is on the Roadmap)\n\n📝 **Boilerplate-free Code** : Keeps your codebase clean and readable.\n\n## Motivation\n\nHigher-level frontend frameworks can save you a lot time, but they typically offer you a trade-off between speed and flexibility.\n\nAfter many years of experience in developing B2B frontend applications and working with popular frameworks, we came up with a new approach to tackle this dilemma. This is how **refine** is born.\n\n**refine** is a collection of helper `hooks`, `components` and `providers`. They are all decoupled from your UI components and business logic, so they never keep you from customizing your UI or coding your own flow.\n\nAs **refine** is totally _unopinionated_ about UI and logic, it's strongly _opinionated_ about three parts of your application:\n\n1. **API Networking**\n2. **State Management**\n3. **Authentication & Authorization**\n\nWe believe, these are the most important components of a data-intensive frontend application and should be handled in a robust way by leveraging industry best practices.\n\n**refine** guarantees you a perfect implementation of these building blocks in your project, so you can focus on your development.\n\n## Architecture\n\n**refine** makes extensive use of [hooks](https://reactjs.org/docs/hooks-reference.html#gatsby-focus-wrapper) as a default way for interacting with your components.\nUnder the hood, **refine** relies heavily to [React Query](https://react-query.tanstack.com/) for data handling, caching and state management.\nAccess to external sources and API's happen via providers which are basically plug-in type components for extendibility.\n\n<br/>\n\n<div align=\"center\">\n    <img src=\"https://raw.githubusercontent.com/pankod/refine/master/documentation/static/img/getting-started/refine_architecture.png\" width=\"400px\" />\n</div>\n\n## Benchmark\n\nAfter releasing the first internal versions, we had the chance to migrate some of our _React_ projects to **refine**.\nIn addition to **shorter development** times and **overall performance gains**, we've measured significant reduction in project size.\n\n**refine** makes your codebase significantly smaller, by eliminating redundant code such as _reducers_, _actions_ and _unit tests_. Below is a size comparison for an example project:\n\n<br/>\n\n<div align=\"center\">\n    <img src=\"https://raw.githubusercontent.com/pankod/refine/master/documentation/static/img/getting-started/benchmark.png\" width=\"400px\" align=\"center\" />\n</div>\n\n## Quick Start\n\nRun the **superplate** tool with the following command:\n\n```\nnpx superplate-cli -p refine-react tutorial\n```\n\nFollow the _CLI wizard_ to select options and start creating your project.\n\nAfter setup is complete, navigate to the project folder and start your project with:\n\n```\nnpm run dev\n```\n\nYour **refine** application will be accessible at [http://localhost:3000](http://localhost:3000).\n\nReplace the contents of `App.tsx` with the following code:\n\n```tsx title=\"App.tsx\"\nmport { Refine, useMany } from \"@pankod/refine-core\";\nimport {\n    useTable,\n    List,\n    Table,\n    DateField,\n} from \"@pankod/refine-antd\";\nimport routerProvider from \"@pankod/refine-react-router-v6\";\nimport dataProvider from \"@pankod/refine-simple-rest\";\n\nimport \"@pankod/refine-antd/dist/styles.min.css\";\n\nconst App: React.FC = () => {\n    return (\n        <Refine\n            routerProvider={routerProvider}\n            dataProvider={dataProvider(\"https://api.fake-rest.refine.dev\")}\n            resources={[{ name: \"posts\", list: PostList }]}\n        />\n    );\n};\n\nexport const PostList: React.FC = () => {\n    const { tableProps } = useTable<IPost>();\n\n    const categoryIds =\n        tableProps?.dataSource?.map((item) => item.category.id) ?? [];\n\n    const { data, isLoading } = useMany<ICategory>({\n        resource: \"categories\",\n        ids: categoryIds,\n        queryOptions: {\n            enabled: categoryIds.length > 0,\n        },\n    });\n\n    return (\n        <List>\n            <Table<IPost> {...tableProps} rowKey=\"id\">\n                <Table.Column dataIndex=\"title\" title=\"title\" />\n                <Table.Column\n                    dataIndex={[\"category\", \"id\"]}\n                    title=\"category\"\n                    render={(value: string) => {\n                        if (isLoading) {\n                            return \"loading...\";\n                        }\n\n                        return data?.data.find(\n                            (item: ICategory) => item.id === value,\n                        )?.title;\n                    }}\n                />\n                <Table.Column\n                    dataIndex=\"createdAt\"\n                    title=\"createdAt\"\n                    render={(value) => <DateField format=\"LLL\" value={value} />}\n                />\n            </Table>\n        </List>\n    );\n};\n\nexport default App;\n```\n\n```tsx title=\"interfaces.d.ts\"\ninterface IPost {\n    title: string;\n    createdAt: string;\n    category: ICategory;\n}\n\ninterface ICategory {\n    id: string;\n    title: string;\n}\n```\n\n## Roadmap\nYou can find Refine's <a href=\"https://github.com/pankod/refine/projects/1\">Public Roadmap here!</a> \n\n## Stargazers\n\n[![Stargazers repo roster for pankod/refine](https://reporoster.com/stars/pankod/refine)](https://github.com/pankod/refine/stargazers)\n\n## Contribution\n\nIf you have a bug to report, do not hesitate to file an issue.\n\nIf you are willing to fix an issue or propose a feature; all PRs with clear explanations are welcome and encouraged.\n\n## License\n\nLicensed under the MIT License, Copyright © 2021-present Pankod\n\n## Special Thanks\n\n[React Admin](https://marmelab.com/react-admin/) has been a great source of ideas and inspiration for refine. Big thanks to friends at [Marmelab](https://marmelab.com) for the amazing work they are doing.\n","readmeFilename":"README.md","_id":"@pankod/refine-core@3.4.3","_nodeVersion":"16.14.0","_npmVersion":"lerna/4.0.0/node@v16.14.0+x64 (linux)","dist":{"integrity":"sha512-3wqvhCj8F81p0cGQmxv1b7V6v1pkHMBHwg07emcUxucGcfLxcduSs0EuysvWY/FbOJPZx30el6FF/0OUJJXugA==","shasum":"20546ae47db3b5c78686e8be19b7dcd036cce269","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.4.3.tgz","fileCount":206,"unpackedSize":1255597,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiIMHHACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpUAhAAlRb3eXv/wqxBpnz/BJ33xSDsDufXRo1AJQ4PJy29s5oIIq/+\r\nfhmcmQepCGBa48SrC0kZzooTOlQVtx5O5YaX9FKmMEx60wfT6Nj9HGR1kWXr\r\nwlOHmKzXahttCzt4uQu1OJYXfuQ8EVz5Q4JOq/5g8f362C4Jw+V+x6VxPjQ9\r\nErnntBasXtToFSRbe6eDU0hLmexit68Zta6q4saPVyCtM2tuNU/o7ED8nI4T\r\nQQfHUoeKcAQDwHyIbkFzmtUbngmx2xsDelMHhxzSPUuWKu1H2lfdzwbphUZC\r\nIewQHrpyfZP0Oev5b952E36m8YSG+PYNDBpz/wup+YDm+jVw8E+t4GjgcoPt\r\nQ1p88nkU33lG6G3IWslUuoN5WYMs+qjQILZD3CvOy/+Y/GwD6tf7wVphxnXL\r\nCaRIf7Y2Dfs1PuMOBqPI7xbLo7fK2CrOsyWc1W4rJUz4A83VZT33LA/1+TrQ\r\nhdMU/g3s9juiIsE/1+RMe1v09Fy065oUbv4VjvV4SDYu0fFAqWOQQIFRsSVR\r\n3nOY9v9URg0Le+PkjK/XBYRCf/7i4awvFjYJHFuRowvS+8m1C6Oj0BPUjNsw\r\n3bv5o+rTuWH5DzYhi6+xTI1uYG++4KC2y+JHSMAjPTlvKv1mPr9IPuzHNxE8\r\nbAlRCVvocdLY7MCp24yyV1uxk/42OOl6ZaQ=\r\n=XlsW\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICajr7MCEKpWJOU2yREoxpuXK/19/WYFUhHDCv9SlEAUAiEAube2Hy3TFBa5ZObhgp6y4XG6VT5VsJF1UfZclixTjBU="}]},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"aydinakyol","email":"aydinakyol11@gmail.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.4.3_1646313927067_0.26544843789062167"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.4.4":{"name":"@pankod/refine-core","version":"3.4.4","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --dts --format esm,cjs,iife --legacy-output","build":"tsup --dts --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"antd":"^4.17.1","react":"^17.0.2","react-dom":"^17.0.2"},"devDependencies":{"@testing-library/jest-dom":"^5.12.0","@testing-library/react":"^11.2.6","@testing-library/react-hooks":"^5.0.3","@testing-library/user-event":"^12.8.3","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^17.0.4","@types/react-dom":"^17.0.4","@types/react-router-dom":"^5.1.8","@types/testing-library__jest-dom":"^5.9.5","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"^5.3.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.4.3"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","humanize-string":"^2.1.0","lodash":"^4.17.21","lodash-es":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","react-query":"^3.19.2","tslib":"^2.3.1"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"713b6c5cfe924455221671490fc1795fcd99d0de","publishConfig":{"access":"public"},"readme":"<div align=\"center\" style=\"margin: 30px;\">\n<a href=\"https://refine.dev/\">\n  <img src=\"https://raw.githubusercontent.com/pankod/refine/master/logo.png\"   style=\"width:250px;\" align=\"center\" />\n</a>\n<br />\n<br />\n\n<div align=\"center\">\n    <a href=\"https://refine.dev\">Home Page</a> |\n    <a href=\"https://refine.dev/demo/\">Demo</a> | \n    <a href=\"https://refine.dev/blog/\">Blog</a> | \n    <a href=\"https://refine.dev/docs/\">Documentation</a> | \n    <a href=\"https://github.com/pankod/refine/projects/1\">Roadmap</a> | \n    <a href=\"https://refine.dev/docs/examples/tutorial/\">Examples</a> | \n    <a href=\"https://refine.dev/enterprise/\">Enterprise</a> | \n    <a href=\"https://discord.gg/UuU3XCc3J5\">Discord</a>\n</div>\n\n</div>\n<br/>\n\n<div align=\"center\"><strong>refine</strong> is a <a href=\"https://reactjs.org/\">React</a>-based framework for building data-intensive applications in no time ✨ It ships with <a href=\"https://ant.design/\">Ant Design System</a>, an enterprise-level UI toolkit.</div>\n\n<br />\n\n<div align=\"center\">\n\n[![Discord](https://img.shields.io/discord/837692625737613362.svg?label=&logo=discord&logoColor=ffffff&color=7389D8&labelColor=6A7EC2)](https://discord.gg/UuU3XCc3J5)\n![Twitter Follow](https://img.shields.io/twitter/follow/refine_dev?style=social)\n\n<a href=\"https://www.producthunt.com/posts/refine-open-source-react-framework?utm_source=badge-featured&utm_medium=badge&utm_souce=badge-refine-open-source-react-framework\" target=\"_blank\"><img src=\"https://api.producthunt.com/widgets/embed-image/v1/featured.svg?post_id=319164&theme=light\" alt=\"refine: Open Source React Framework - Focus your business logic. refine will do the rest. | Product Hunt\" style=\"width: 250px; height: 54px;\" width=\"250\" height=\"54\" /></a>\n\n[![Meercode CI Score](https://meercode.io/badge/pankod/refine?type=ci-score&branch=master&token=2ZiT8YsoJgt57JB23NYwXrFY3rJHZboT&lastDay=31)](https://meercode.io/)\n[![Meercode CI Success Rate](https://meercode.io/badge/pankod/refine?type=ci-success-rate&branch=master&token=2ZiT8YsoJgt57JB23NYwXrFY3rJHZboT&lastDay=31)](https://meercode.io/)\n[![Maintainability](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/maintainability)](https://codeclimate.com/github/pankod/refine/maintainability)\n[![Test Coverage](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/test_coverage)](https://codeclimate.com/github/pankod/refine/test_coverage)\n[![npm version](https://img.shields.io/npm/v/@pankod/refine-core.svg)](https://www.npmjs.com/package/@pankod/refine-core)\n[![npm](https://img.shields.io/npm/dm/@pankod/refine-core-core)](https://www.npmjs.com/package/@pankod/refine-core)\n[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.0-4baaaa.svg)](code_of_conduct.md)\n\n\n</div>\n\n<div align=\"center\">\n  <sub>Created by <a href=\"https://www.pankod.com\">Pankod</a></sub>\n</div>\n\n## About\n\n[**refine**](https://refine.dev/) offers lots of out-of-the box functionality for rapid development, without compromising extreme customizability. Use-cases include, but are not limited to _admin panels_, _B2B applications_ and _dashboards_.\n\n## Documentation\n\nFor more detailed information and usage, refer to the [refine documentation](https://refine.dev/docs/).\n\n## What is refine?\n\n**refine** is a [React](https://reactjs.org/)-based framework for building data-intensive applications in no time :sparkles: It ships with [Ant Design System](https://ant.design/), an enterprise-level UI toolkit.\n\nRefine offers lots of out-of-the box functionality for rapid development, without compromising extreme customizability. Use-cases include, but are not limited to _admin panels_, _B2B applications_ and _dashboards_.\n\n## What is a \"headless\" Framework?\n**refine** is a **headless** React framework, which means all out-of-the-box features(**Routing**, **Networking**, **Authentication**, **Authorization**, **State Management**, **Realtime**, **i18n**, etc.), it can be used without being tied to any UI elements or framework. Also, Ant Design as out-of-the-box is supported.\n\n- Customization & Extensibility -  UI is a completely customizable area and each developer uses different solutions. **refine** features does not restrict or interfere with your UI structure. **refine** allows the you to design and customizable the UI based on their unique use case.\n\n- Separation of Concerns - **refine** as a framework, is not responsible for your UI and is independent.\n\n- Maintenance - By removing the API surface to support every UI use case, **refine** easy to use and update/maintain is simple.\n\n###\n\n## Key features\n\n🔥 **Headless** : Works with any UI framework\n\n⚙️ **Zero-configuration**: One-line setup with [superplate](https://github.com/pankod/superplate). It takes less than a minute to start a project.\n\n📦 **Out-of-the-box** : Routing, networking, authentication, state management, i18n and UI.\n\n🔌 **Backend Agnostic** : Connects to any custom backend. Built-in support for [REST API](https://github.com/pankod/refine/tree/master/packages/simple-rest), [GraphQL](https://github.com/pankod/refine/tree/master/packages/graphql), [NestJs CRUD](https://github.com/pankod/refine/tree/master/packages/nestjsx-crud), [Airtable](https://github.com/pankod/refine/tree/master/packages/airtable), [Strapi](https://github.com/pankod/refine/tree/master/packages/strapi), [Strapi v4](https://github.com/pankod/refine/tree/master/packages/strapi-v4), [Strapi GraphQL](https://github.com/pankod/refine/tree/master/packages/strapi-graphql), [Supabase](https://github.com/pankod/refine/tree/master/packages/supabase), [Hasura](https://github.com/pankod/refine/tree/master/packages/hasura), [Appwrite](https://github.com/pankod/refine/tree/master/packages/appwrite), [Firebase](https://firebase.google.com/), [Directus](https://directus.io/) and [Altogic](https://github.com/pankod/refine/tree/master/packages/altogic).\n\n📝 **Native Typescript Core** : You can always opt out for plain JavaScript.\n\n🐜 **Enterprise UI** : Works seamlessly with Ant Design System. (Support for multiple UI frameworks is on the Roadmap)\n\n📝 **Boilerplate-free Code** : Keeps your codebase clean and readable.\n\n## Motivation\n\nHigher-level frontend frameworks can save you a lot time, but they typically offer you a trade-off between speed and flexibility.\n\nAfter many years of experience in developing B2B frontend applications and working with popular frameworks, we came up with a new approach to tackle this dilemma. This is how **refine** is born.\n\n**refine** is a collection of helper `hooks`, `components` and `providers`. They are all decoupled from your UI components and business logic, so they never keep you from customizing your UI or coding your own flow.\n\nAs **refine** is totally _unopinionated_ about UI and logic, it's strongly _opinionated_ about three parts of your application:\n\n1. **API Networking**\n2. **State Management**\n3. **Authentication & Authorization**\n\nWe believe, these are the most important components of a data-intensive frontend application and should be handled in a robust way by leveraging industry best practices.\n\n**refine** guarantees you a perfect implementation of these building blocks in your project, so you can focus on your development.\n\n## Architecture\n\n**refine** makes extensive use of [hooks](https://reactjs.org/docs/hooks-reference.html#gatsby-focus-wrapper) as a default way for interacting with your components.\nUnder the hood, **refine** relies heavily to [React Query](https://react-query.tanstack.com/) for data handling, caching and state management.\nAccess to external sources and API's happen via providers which are basically plug-in type components for extendibility.\n\n<br/>\n\n<div align=\"center\">\n    <img src=\"https://raw.githubusercontent.com/pankod/refine/master/documentation/static/img/getting-started/refine_architecture.png\" width=\"400px\" />\n</div>\n\n## Benchmark\n\nAfter releasing the first internal versions, we had the chance to migrate some of our _React_ projects to **refine**.\nIn addition to **shorter development** times and **overall performance gains**, we've measured significant reduction in project size.\n\n**refine** makes your codebase significantly smaller, by eliminating redundant code such as _reducers_, _actions_ and _unit tests_. Below is a size comparison for an example project:\n\n<br/>\n\n<div align=\"center\">\n    <img src=\"https://raw.githubusercontent.com/pankod/refine/master/documentation/static/img/getting-started/benchmark.png\" width=\"400px\" align=\"center\" />\n</div>\n\n## Quick Start\n\nRun the **superplate** tool with the following command:\n\n```\nnpx superplate-cli -p refine-react tutorial\n```\n\nFollow the _CLI wizard_ to select options and start creating your project.\n\nAfter setup is complete, navigate to the project folder and start your project with:\n\n```\nnpm run dev\n```\n\nYour **refine** application will be accessible at [http://localhost:3000](http://localhost:3000).\n\nReplace the contents of `App.tsx` with the following code:\n\n```tsx title=\"App.tsx\"\nmport { Refine, useMany } from \"@pankod/refine-core\";\nimport {\n    useTable,\n    List,\n    Table,\n    DateField,\n} from \"@pankod/refine-antd\";\nimport routerProvider from \"@pankod/refine-react-router-v6\";\nimport dataProvider from \"@pankod/refine-simple-rest\";\n\nimport \"@pankod/refine-antd/dist/styles.min.css\";\n\nconst App: React.FC = () => {\n    return (\n        <Refine\n            routerProvider={routerProvider}\n            dataProvider={dataProvider(\"https://api.fake-rest.refine.dev\")}\n            resources={[{ name: \"posts\", list: PostList }]}\n        />\n    );\n};\n\nexport const PostList: React.FC = () => {\n    const { tableProps } = useTable<IPost>();\n\n    const categoryIds =\n        tableProps?.dataSource?.map((item) => item.category.id) ?? [];\n\n    const { data, isLoading } = useMany<ICategory>({\n        resource: \"categories\",\n        ids: categoryIds,\n        queryOptions: {\n            enabled: categoryIds.length > 0,\n        },\n    });\n\n    return (\n        <List>\n            <Table<IPost> {...tableProps} rowKey=\"id\">\n                <Table.Column dataIndex=\"title\" title=\"title\" />\n                <Table.Column\n                    dataIndex={[\"category\", \"id\"]}\n                    title=\"category\"\n                    render={(value: string) => {\n                        if (isLoading) {\n                            return \"loading...\";\n                        }\n\n                        return data?.data.find(\n                            (item: ICategory) => item.id === value,\n                        )?.title;\n                    }}\n                />\n                <Table.Column\n                    dataIndex=\"createdAt\"\n                    title=\"createdAt\"\n                    render={(value) => <DateField format=\"LLL\" value={value} />}\n                />\n            </Table>\n        </List>\n    );\n};\n\nexport default App;\n```\n\n```tsx title=\"interfaces.d.ts\"\ninterface IPost {\n    title: string;\n    createdAt: string;\n    category: ICategory;\n}\n\ninterface ICategory {\n    id: string;\n    title: string;\n}\n```\n\n## Roadmap\nYou can find Refine's <a href=\"https://github.com/pankod/refine/projects/1\">Public Roadmap here!</a> \n\n## Stargazers\n\n[![Stargazers repo roster for pankod/refine](https://reporoster.com/stars/pankod/refine)](https://github.com/pankod/refine/stargazers)\n\n## Contribution\n\nIf you have a bug to report, do not hesitate to file an issue.\n\nIf you are willing to fix an issue or propose a feature; all PRs with clear explanations are welcome and encouraged.\n\n## License\n\nLicensed under the MIT License, Copyright © 2021-present Pankod\n\n## Special Thanks\n\n[React Admin](https://marmelab.com/react-admin/) has been a great source of ideas and inspiration for refine. Big thanks to friends at [Marmelab](https://marmelab.com) for the amazing work they are doing.\n","readmeFilename":"README.md","_id":"@pankod/refine-core@3.4.4","_nodeVersion":"16.14.0","_npmVersion":"lerna/4.0.0/node@v16.14.0+x64 (linux)","dist":{"integrity":"sha512-FmFClHYDazeb7JfMPwwrS3nZcRnbtCBBwjUDhoGxPWpOLS6YCof9HwvbpJ0OoLV9rUsu7vpQU+pRooVSqp+F5Q==","shasum":"21a5ebbfdc476c529c2e3807419c36c7b01b5e3e","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.4.4.tgz","fileCount":206,"unpackedSize":1255542,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiIMlMACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrCOA//ZQt6jQYG1JQi49EMitKa48FHqQm9KOdqpOdRi9iOiJLL2PUx\r\nWdGdokU8+MD1i5JYeI+Ey1M3yiYkAXZMLTEMqEwGN3t7i8092fOKvPOLDvCQ\r\nSm8wufg6prF6OeiHSzPiafB2u4EPmZmjfMUSh5D6WS2an3QFyYCraFOBljW0\r\ned0dQKFYxsYkaUXjuJk22Nyl5QTb0n+9axe1nUA6o3FbAE21QgB5pHJ8D6nw\r\n6GuBzS7XKHS/HpyieQWhbgWxMtpU0NaYzqOjojnQMXZrHINkzOUQzudyQkP6\r\n2FcfZUwLbdxP+IZoqzmAHIQtNi4k8IbsYLlIbkG3TLIXNKsAhxv/7g2AZvFP\r\nfX+5U6HBZAvPS5r8hLRgTffOK4BpQHgxflGQpAjVwyqyz9FQg6BbbJ4Buc0H\r\nswivqzjQJGGrgiL/Lxn5VXysKZaGQH8/GhwPOSoozdUa2WIirb6dS5ch4qkQ\r\ntK+bDeVFz5TrhALEP9CTPz8XbN1cmWhrSHQimMSc+TEHwvUUhi0rqZw231w5\r\n5cIlSLaolOpEKCE/3w8o4vW4Eu/VfBBIE/VMuyv6rFcS9DC2Pl68SaAZKij2\r\nzTubRwL5fkJ0fg7T4dEm37EDkrBc5OM9SlI1TPVS+kHd7y12Qv1Yxjj4bzIs\r\nb8qvyQlY1eeuZq3pe6OFM/3/dKzJu2jQzh8=\r\n=hrPf\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGAfLbDCthUDBHW9atHjV38fnvF97Zcm5WyIa85f1Jc2AiB6IWgCRFD8G/TQ72wd9bnI3g7LOqVysnd6jM36uWeQVw=="}]},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"aydinakyol","email":"aydinakyol11@gmail.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.4.4_1646315852175_0.8117706743357973"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.5.0":{"name":"@pankod/refine-core","version":"3.5.0","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --dts --format esm,cjs,iife --legacy-output","build":"tsup --dts --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"antd":"^4.17.1","react":"^17.0.2","react-dom":"^17.0.2"},"devDependencies":{"@testing-library/jest-dom":"^5.12.0","@testing-library/react":"^11.2.6","@testing-library/react-hooks":"^5.0.3","@testing-library/user-event":"^12.8.3","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^17.0.4","@types/react-dom":"^17.0.4","@types/react-router-dom":"^5.1.8","@types/testing-library__jest-dom":"^5.9.5","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"^5.3.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.4.3"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","humanize-string":"^2.1.0","lodash":"^4.17.21","lodash-es":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","react-query":"^3.19.2","tslib":"^2.3.1"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"bfb9f0f77d09adb4ac41922bd7a846cc80330b8a","publishConfig":{"access":"public"},"_id":"@pankod/refine-core@3.5.0","_nodeVersion":"16.14.0","_npmVersion":"lerna/4.0.0/node@v16.14.0+x64 (linux)","dist":{"integrity":"sha512-1ZSft3UPkFZCnH89MKJk4S45MXzm3+GrWc9qKFT+UMrkSs6InZWlWirB9GCNhCKFsdFTdT8xpnbTFjfaRI6/7Q==","shasum":"f99572b4219357ce470f37fd15625875b3add922","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.5.0.tgz","fileCount":206,"unpackedSize":1255542,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiIN26ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqHZw/9Fq9eC9YkXye6tPxPpGR9MI5eUCIcgvZDhp2BFRFdSu95YDgx\r\noPQpDbmLvy15aG2l3x1yWkUTBefk6omU3vye9YEj/Onohp+bhifzguECAL8G\r\n7slgeiGGJFe3XUeY2RvdX6Q0bEe6bDvFjl69jLnjGyKHsA5+4xHTIF8jO4yq\r\nMMM5mxLXGEHySMzcdpc64Kflp3l/CKxVj+YjZYTa66Vr/ypqgiRGdXcb+aah\r\nW3JIjaUW/WPfhzSME3HrHvGn+gDnLYSoKm6IevDqUXgWE8fGZKTruZoHQFSc\r\nvUE/O3qlrb/lDuqXcJkX9lUpA5n/cHoL96jRtP7fQE+CQUED/pbY2FaP4ZbY\r\nE7aQgWzgWpjoVJROQ92xo6a/2eyGPizgugOxWyieNgcWHnxEOEsfu8LV32eK\r\nACeQuOqy0Vx91MIXrANkz9lAkDKkeLph74zBtJuBiOukDKZvSpKgx+cjVfeO\r\nfDB7/Ug8HaFN/uiUxS6slpIXIKQG/JN2SoI/QapQ9Gd6mhpIAdmi5hWXvnCn\r\nCMDGIN6WqcO5MdUeFOCUIcdzK4Rl7OGcaSCsfByY8devACcS+i/RiSpcEwv+\r\nxFfTmqvZygbVpZn3cijMWcayO9uUUbZmpP19t4ApPkxJHyPFw4DT8XD4A3ba\r\nF8cu8za48c9abIsyqHhEAImmN508J3qWyec=\r\n=dX/X\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFPZVEVLngz9H2jnP6I4CcoxCsu1gqLtKcrPAbQZVfEFAiBERSpH5lO1pHiKwgahUrw077FzQEOvejW+Y1XiDAUzKw=="}]},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"aydinakyol","email":"aydinakyol11@gmail.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.5.0_1646321081997_0.6957855185205286"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.5.1":{"name":"@pankod/refine-core","version":"3.5.1","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --dts --format esm,cjs,iife --legacy-output","build":"tsup --dts --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"antd":"^4.17.1","react":"^17.0.2","react-dom":"^17.0.2"},"devDependencies":{"@testing-library/jest-dom":"^5.12.0","@testing-library/react":"^11.2.6","@testing-library/react-hooks":"^5.0.3","@testing-library/user-event":"^12.8.3","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^17.0.4","@types/react-dom":"^17.0.4","@types/react-router-dom":"^5.1.8","@types/testing-library__jest-dom":"^5.9.5","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"^5.3.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.4.3"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","humanize-string":"^2.1.0","lodash":"^4.17.21","lodash-es":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","react-query":"^3.19.2","tslib":"^2.3.1"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"de8dcc266824a6a5934ad26b51eb71187f13b1e8","publishConfig":{"access":"public"},"_id":"@pankod/refine-core@3.5.1","_nodeVersion":"16.14.0","_npmVersion":"lerna/4.0.0/node@v16.14.0+x64 (linux)","dist":{"integrity":"sha512-h3zk+mwHrBSyIucgdKmuEcpxVidRyNKOEfpiN73OTA5rQYtLgDFJSV1rN3bPOsJb+b047R9nhTgpRXK1IigUQQ==","shasum":"eb8395135f2fd427480842d7e501f67fb871380d","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.5.1.tgz","fileCount":206,"unpackedSize":1275962,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiJh4RACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmry6g//WYuSzKGh1ikODOenZ28DEWosYe2tuTCHki5AkReXaGdrp9RV\r\nFYgZXcmbLuOy99xsBuRL2gOmBFeR4aghUfQSM4mYWcdFsrnrWAAIE9QOx1fD\r\n90bU0ekhPeU3y3r+IrEHM5LtrH6Ih/gq58h/K3Iu0owjYU6+2Cuy9Jnl8IE9\r\newcUDG44faRCE0ix3Ibp8xUQa0FV4CuOM9ZC7HDD53sGN0qdmdznBr5wMuiK\r\nN1ULFvuamIoVxKekBgwcA4ISJKPkn0r6GND3FdIAfvB2hFM0grw2G1iyfgiv\r\n1dXUDFrpsgj0k0rFDpKEqsaIVitXRI997VTOxWj16JUEebJ/JMc478du3GhX\r\nMjy3jppZ6Zu7FFjUujZvYw7vVCbjjwAWOx29QjB6kY6AuUqFgjijjfE/YTcJ\r\npQ/4G+0+NXTaiLNDbU/mfFEHIZHTVymykUqUZSBMNPtsUb3eLTGJM2NK6Stc\r\n37mxJBdM2IDwO2ATOD7zl4MGAwHZA6TGs+c2fhORlJlaGfhiIm8HRInT/SIE\r\ngdeyvRm3L3UHAXVykrI3XmSSykAeY2SGbNZLq8kFZoDJYoNKubm8x6ulg9mZ\r\ngEvMZsrFvWTLEoLvc6ICFZ9sh7P5S1s4JHmodS6O0g3INabgXd0Zhhc5EiAc\r\nUagt4ObX81OtfJpWXmzLyP/hHWzI7A32Znk=\r\n=Qdhv\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHITfQylUrZdy9c4NGOgXzy4sA+5ShtgmaHe1FMfHf6VAiBhfOa73n782PZbJHGjIzg8olEDmgeiIXsNxp83NiE79Q=="}]},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"aydinakyol","email":"aydinakyol11@gmail.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.5.1_1646665233031_0.7685796716121955"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.6.0":{"name":"@pankod/refine-core","version":"3.6.0","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --dts --format esm,cjs,iife --legacy-output","build":"tsup --dts --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"antd":"^4.17.1","react":"^17.0.2","react-dom":"^17.0.2"},"devDependencies":{"@testing-library/jest-dom":"^5.12.0","@testing-library/react":"^11.2.6","@testing-library/react-hooks":"^5.0.3","@testing-library/user-event":"^12.8.3","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^17.0.4","@types/react-dom":"^17.0.4","@types/react-router-dom":"^5.1.8","@types/testing-library__jest-dom":"^5.9.5","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"^5.3.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.4.3"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","humanize-string":"^2.1.0","lodash":"^4.17.21","lodash-es":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","react-query":"^3.19.2","tslib":"^2.3.1"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"b38a1f7363760b6c11d548174b5d0932dd147003","publishConfig":{"access":"public"},"_id":"@pankod/refine-core@3.6.0","_nodeVersion":"16.14.0","_npmVersion":"lerna/4.0.0/node@v16.14.0+x64 (linux)","dist":{"integrity":"sha512-KuhaTvPMP689Z0iMqT8UtHzML5gzuS+T/M2J+QtANziyMKcwpoi3zRoBfok8BQ5wNwWTSihEpl7l4XAqCmOKmQ==","shasum":"f81af3e124c5de3f2f6dbfb5237127721b4c7f2e","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.6.0.tgz","fileCount":206,"unpackedSize":1270826,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiJ2rDACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq3PA/9F2IL3gfVCMIhjytueT/093aVUCGEIvXWb/ixIFOLpX1SH7jn\r\na+fGfBqRAHIDZio1Jv+rg3jqKkquxtWbQkle9Nmx/2Lt9Ty+6dCnM2bpQlVz\r\nGupao/kwPT9RjJL4drQV10TPTxRyaXJ5lbDm2pY3MDCMRoXWCO2cHX5F+khY\r\nyVLrBLYYWpKjwIx6DBzzwYz5urxjms9EfuDNiAYWbj1nzBGkSfr6vLfr37ZU\r\nlQJJpQEDkRPUCS/OR9I0Pdi0sAihH0WbLd/obnyS9IBhkGt7Hx5xPZNUo/FF\r\nk1n43cIHh8M4rLS0gVFiuv6uRWErfnmFzccn97sZT1v3rlFL5+CyOuFUTynf\r\n8cqNvPbonF6VMXxXMB3dSgj0JjH0rOF99e7u/h1rEEoxfBWKrgO/tOdKSz+i\r\nJF//Yt4MSLqlxMlxfggBLxo5l/Ever/tkZgOf8SsEblr9DCkWUEV2cINJnUd\r\nasqq+vt269dvJEq4qqUSkeGDXatP+nDuzwSILr0fIm8nOdRxTZCpiVk00sZW\r\nmXN2ynwVYBghSEdzqJZbNUf+hnoHuBSCacYPVZyO7r9jyPUz/r63R8T22rjT\r\nzK16nPcFlcgYqb+/ZszeIsY1WwRHeFrZBi1pTVf0VojFvKVZU7dkT4TLL2dQ\r\n3Xbv/5JEgK/CHEngo+qf7MXoR/zvTsVrNZg=\r\n=jtCE\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCd+oseNKmYH6aLLYbwOgrFV9SWGBgAYGEV+X7OTuYL+QIhAIorlTaNMB/GDbf9AAg70ZzBalQ3wR1RArrxkInYLfX5"}]},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"aydinakyol","email":"aydinakyol11@gmail.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.6.0_1646750402873_0.5251234998008147"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.6.1":{"name":"@pankod/refine-core","version":"3.6.1","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --dts --format esm,cjs,iife --legacy-output","build":"tsup --dts --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"antd":"^4.17.1","react":"^17.0.2","react-dom":"^17.0.2"},"devDependencies":{"@testing-library/jest-dom":"^5.12.0","@testing-library/react":"^11.2.6","@testing-library/react-hooks":"^5.0.3","@testing-library/user-event":"^12.8.3","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^17.0.4","@types/react-dom":"^17.0.4","@types/react-router-dom":"^5.1.8","@types/testing-library__jest-dom":"^5.9.5","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"^5.3.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.4.3"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","humanize-string":"^2.1.0","lodash":"^4.17.21","lodash-es":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","react-query":"^3.19.2","tslib":"^2.3.1"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"fe8e41af84a20174624297b70b3076ae971acde5","publishConfig":{"access":"public"},"_id":"@pankod/refine-core@3.6.1","_nodeVersion":"16.14.0","_npmVersion":"lerna/4.0.0/node@v16.14.0+x64 (linux)","dist":{"integrity":"sha512-tZzPkArWbHoj90ihB8G90ZmPxcGa9vj45wx80FXLP6xSjznEnUvq5wUIUoP9qY5Q/36G+AtsAGGnaqYBYGFOPw==","shasum":"23a5774c49e4842b386be78396f6b6e9daf08281","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.6.1.tgz","fileCount":208,"unpackedSize":1303505,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiKZSQACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp+ug//Wn8IDEc5IvYtCBuFUue2USN/56amw4B5nC3HZbETgjfTF3Jk\r\n4N02eEx2Vvm9M6uXWV2dX3sJIRPkW4ug8kgsZVPnrQ1An1ZoAGBaPfTFYd4V\r\npj2BNYA+rGFzuD8WLmRoAFxgyKzzd+niY6Mh29SRf70JgnH0L6aKF8Xn4t7d\r\n2UTRkXGlOTqiHGoDH6pYFj61F+gMfcUwTDqC4ZpP0SGyHs40GQJHM7jj7TkU\r\nCYqRIGt5I+X14clvyXgOuUJqVvaPlgssv6NTn0FsT5iJurnRsH5JbXk+Hu99\r\ndFaxFuBBXTTWRLN1pz/bsyrsoR/TD8iCuzfiG+1fKnLFN5TG0+WzvUZi12H4\r\nhIP9yOomKP0g67r0tpZjzygM03Ol+0Fz9CQPXAk4hBPDvNCR2jK9UQloHfZP\r\ncE0+KMcBYLh7INU9TVAjYKhvKMFTKlYWaP6j9uK+2jhwT0XAcWwgPtusoy0B\r\ny8DBi+STK/DckTBpLnbPJaP0TRlfYYCrFft0hMBdgPOgWySLZx/A0qc3gq4d\r\nN5Jywqnf6LzZnn8IsPuyNMyWdES5RqOt4c66mYMLbPd0wlUIxzUq5prJFtG7\r\n1Y+X4tvROr+3f8N9dN6G0saEsVE5RqwFcaq5FkesrBFMZbDgTqA0GykK1V02\r\nGNmAC1l0pOeJH1ZzHNJX3pJ+xL1/cg5xNBc=\r\n=w2a+\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCk+qQg+nxCMQw32aXQo+UjkGlxh6pjTVlpR43rshZ9HwIgQSUUMwMNwpTYsPhVNctJt8AnadngjRl1GCKSCMHy9tU="}]},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"aydinakyol","email":"aydinakyol11@gmail.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.6.1_1646892175927_0.16885995394715825"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.6.2":{"name":"@pankod/refine-core","version":"3.6.2","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --dts --format esm,cjs,iife --legacy-output","build":"tsup --dts --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"antd":"^4.17.1","react":"^17.0.2","react-dom":"^17.0.2"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.12.0","@testing-library/react":"^11.2.6","@testing-library/react-hooks":"^5.0.3","@testing-library/user-event":"^12.8.3","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^17.0.4","@types/react-dom":"^17.0.4","@types/react-router-dom":"^5.1.8","@types/testing-library__jest-dom":"^5.9.5","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"^5.3.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.4.3"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","humanize-string":"^2.1.0","lodash":"^4.17.21","lodash-es":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","react-query":"^3.19.2","tslib":"^2.3.1"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"52c3eb3fd267c0d5f5a3e597875980bb0be64775","publishConfig":{"access":"public"},"readme":"<div align=\"center\" style=\"margin: 30px;\">\n<a href=\"https://refine.dev/\">\n  <img src=\"https://raw.githubusercontent.com/pankod/refine/master/logo.png\"   style=\"width:250px;\" align=\"center\" />\n</a>\n<br />\n<br />\n\n<div align=\"center\">\n    <a href=\"https://refine.dev\">Home Page</a> |\n    <a href=\"https://refine.dev/demo/\">Demo</a> | \n    <a href=\"https://refine.dev/blog/\">Blog</a> | \n    <a href=\"https://refine.dev/docs/\">Documentation</a> | \n    <a href=\"https://github.com/pankod/refine/projects/1\">Roadmap</a> | \n    <a href=\"https://refine.dev/docs/examples/tutorial/\">Examples</a> | \n    <a href=\"https://refine.dev/enterprise/\">Enterprise</a> | \n    <a href=\"https://discord.gg/UuU3XCc3J5\">Discord</a>\n</div>\n\n</div>\n<br/>\n\n<div align=\"center\"><strong>refine</strong> is a <a href=\"https://reactjs.org/\">React</a>-based framework for building data-intensive applications in no time ✨ It ships with <a href=\"https://ant.design/\">Ant Design System</a>, an enterprise-level UI toolkit.</div>\n\n<br />\n\n<div align=\"center\">\n\n[![Discord](https://img.shields.io/discord/837692625737613362.svg?label=&logo=discord&logoColor=ffffff&color=7389D8&labelColor=6A7EC2)](https://discord.gg/UuU3XCc3J5)\n![Twitter Follow](https://img.shields.io/twitter/follow/refine_dev?style=social)\n\n<a href=\"https://www.producthunt.com/posts/refine-open-source-react-framework?utm_source=badge-featured&utm_medium=badge&utm_souce=badge-refine-open-source-react-framework\" target=\"_blank\"><img src=\"https://api.producthunt.com/widgets/embed-image/v1/featured.svg?post_id=319164&theme=light\" alt=\"refine: Open Source React Framework - Focus your business logic. refine will do the rest. | Product Hunt\" style=\"width: 250px; height: 54px;\" width=\"250\" height=\"54\" /></a>\n\n[![Meercode CI Score](https://meercode.io/badge/pankod/refine?type=ci-score&branch=master&token=2ZiT8YsoJgt57JB23NYwXrFY3rJHZboT&lastDay=31)](https://meercode.io/)\n[![Meercode CI Success Rate](https://meercode.io/badge/pankod/refine?type=ci-success-rate&branch=master&token=2ZiT8YsoJgt57JB23NYwXrFY3rJHZboT&lastDay=31)](https://meercode.io/)\n[![Maintainability](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/maintainability)](https://codeclimate.com/github/pankod/refine/maintainability)\n[![Test Coverage](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/test_coverage)](https://codeclimate.com/github/pankod/refine/test_coverage)\n[![npm version](https://img.shields.io/npm/v/@pankod/refine-core.svg)](https://www.npmjs.com/package/@pankod/refine-core)\n[![npm](https://img.shields.io/npm/dm/@pankod/refine-core-core)](https://www.npmjs.com/package/@pankod/refine-core)\n[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.0-4baaaa.svg)](code_of_conduct.md)\n\n\n</div>\n\n<div align=\"center\">\n  <sub>Created by <a href=\"https://www.pankod.com\">Pankod</a></sub>\n</div>\n\n## About\n\n[**refine**](https://refine.dev/) offers lots of out-of-the box functionality for rapid development, without compromising extreme customizability. Use-cases include, but are not limited to _admin panels_, _B2B applications_ and _dashboards_.\n\n## Documentation\n\nFor more detailed information and usage, refer to the [refine documentation](https://refine.dev/docs/).\n\n## What is refine?\n\n**refine** is a [React](https://reactjs.org/)-based framework for building data-intensive applications in no time :sparkles: It ships with [Ant Design System](https://ant.design/), an enterprise-level UI toolkit.\n\nRefine offers lots of out-of-the box functionality for rapid development, without compromising extreme customizability. Use-cases include, but are not limited to _admin panels_, _B2B applications_ and _dashboards_.\n\n## What is a \"headless\" Framework?\n**refine** is a **headless** React framework, which means all out-of-the-box features(**Routing**, **Networking**, **Authentication**, **Authorization**, **State Management**, **Realtime**, **i18n**, etc.), it can be used without being tied to any UI elements or framework. Also, Ant Design as out-of-the-box is supported.\n\n- Customization & Extensibility -  UI is a completely customizable area and each developer uses different solutions. **refine** features does not restrict or interfere with your UI structure. **refine** allows the you to design and customizable the UI based on their unique use case.\n\n- Separation of Concerns - **refine** as a framework, is not responsible for your UI and is independent.\n\n- Maintenance - By removing the API surface to support every UI use case, **refine** easy to use and update/maintain is simple.\n\n###\n\n## Key features\n\n🔥 **Headless** : Works with any UI framework\n\n⚙️ **Zero-configuration**: One-line setup with [superplate](https://github.com/pankod/superplate). It takes less than a minute to start a project.\n\n📦 **Out-of-the-box** : Routing, networking, authentication, state management, i18n and UI.\n\n🔌 **Backend Agnostic** : Connects to any custom backend. Built-in support for [REST API](https://github.com/pankod/refine/tree/master/packages/simple-rest), [GraphQL](https://github.com/pankod/refine/tree/master/packages/graphql), [NestJs CRUD](https://github.com/pankod/refine/tree/master/packages/nestjsx-crud), [Airtable](https://github.com/pankod/refine/tree/master/packages/airtable), [Strapi](https://github.com/pankod/refine/tree/master/packages/strapi), [Strapi v4](https://github.com/pankod/refine/tree/master/packages/strapi-v4), [Strapi GraphQL](https://github.com/pankod/refine/tree/master/packages/strapi-graphql), [Supabase](https://github.com/pankod/refine/tree/master/packages/supabase), [Hasura](https://github.com/pankod/refine/tree/master/packages/hasura), [Appwrite](https://github.com/pankod/refine/tree/master/packages/appwrite), [Firebase](https://firebase.google.com/), [Directus](https://directus.io/) and [Altogic](https://github.com/pankod/refine/tree/master/packages/altogic).\n\n📝 **Native Typescript Core** : You can always opt out for plain JavaScript.\n\n🐜 **Enterprise UI** : Works seamlessly with Ant Design System. (Support for multiple UI frameworks is on the Roadmap)\n\n📝 **Boilerplate-free Code** : Keeps your codebase clean and readable.\n\n## Motivation\n\nHigher-level frontend frameworks can save you a lot time, but they typically offer you a trade-off between speed and flexibility.\n\nAfter many years of experience in developing B2B frontend applications and working with popular frameworks, we came up with a new approach to tackle this dilemma. This is how **refine** is born.\n\n**refine** is a collection of helper `hooks`, `components` and `providers`. They are all decoupled from your UI components and business logic, so they never keep you from customizing your UI or coding your own flow.\n\nAs **refine** is totally _unopinionated_ about UI and logic, it's strongly _opinionated_ about three parts of your application:\n\n1. **API Networking**\n2. **State Management**\n3. **Authentication & Authorization**\n\nWe believe, these are the most important components of a data-intensive frontend application and should be handled in a robust way by leveraging industry best practices.\n\n**refine** guarantees you a perfect implementation of these building blocks in your project, so you can focus on your development.\n\n## Architecture\n\n**refine** makes extensive use of [hooks](https://reactjs.org/docs/hooks-reference.html#gatsby-focus-wrapper) as a default way for interacting with your components.\nUnder the hood, **refine** relies heavily to [React Query](https://react-query.tanstack.com/) for data handling, caching and state management.\nAccess to external sources and API's happen via providers which are basically plug-in type components for extendibility.\n\n<br/>\n\n<div align=\"center\">\n    <img src=\"https://raw.githubusercontent.com/pankod/refine/master/documentation/static/img/getting-started/refine_architecture.png\" width=\"400px\" />\n</div>\n\n## Benchmark\n\nAfter releasing the first internal versions, we had the chance to migrate some of our _React_ projects to **refine**.\nIn addition to **shorter development** times and **overall performance gains**, we've measured significant reduction in project size.\n\n**refine** makes your codebase significantly smaller, by eliminating redundant code such as _reducers_, _actions_ and _unit tests_. Below is a size comparison for an example project:\n\n<br/>\n\n<div align=\"center\">\n    <img src=\"https://raw.githubusercontent.com/pankod/refine/master/documentation/static/img/getting-started/benchmark.png\" width=\"400px\" align=\"center\" />\n</div>\n\n## Quick Start\n\nRun the **superplate** tool with the following command:\n\n```\nnpx superplate-cli -p refine-react tutorial\n```\n\nFollow the _CLI wizard_ to select options and start creating your project.\n\nAfter setup is complete, navigate to the project folder and start your project with:\n\n```\nnpm run dev\n```\n\nYour **refine** application will be accessible at [http://localhost:3000](http://localhost:3000).\n\nReplace the contents of `App.tsx` with the following code:\n\n```tsx title=\"App.tsx\"\nmport { Refine, useMany } from \"@pankod/refine-core\";\nimport {\n    useTable,\n    List,\n    Table,\n    DateField,\n} from \"@pankod/refine-antd\";\nimport routerProvider from \"@pankod/refine-react-router-v6\";\nimport dataProvider from \"@pankod/refine-simple-rest\";\n\nimport \"@pankod/refine-antd/dist/styles.min.css\";\n\nconst App: React.FC = () => {\n    return (\n        <Refine\n            routerProvider={routerProvider}\n            dataProvider={dataProvider(\"https://api.fake-rest.refine.dev\")}\n            resources={[{ name: \"posts\", list: PostList }]}\n        />\n    );\n};\n\nexport const PostList: React.FC = () => {\n    const { tableProps } = useTable<IPost>();\n\n    const categoryIds =\n        tableProps?.dataSource?.map((item) => item.category.id) ?? [];\n\n    const { data, isLoading } = useMany<ICategory>({\n        resource: \"categories\",\n        ids: categoryIds,\n        queryOptions: {\n            enabled: categoryIds.length > 0,\n        },\n    });\n\n    return (\n        <List>\n            <Table<IPost> {...tableProps} rowKey=\"id\">\n                <Table.Column dataIndex=\"title\" title=\"title\" />\n                <Table.Column\n                    dataIndex={[\"category\", \"id\"]}\n                    title=\"category\"\n                    render={(value: string) => {\n                        if (isLoading) {\n                            return \"loading...\";\n                        }\n\n                        return data?.data.find(\n                            (item: ICategory) => item.id === value,\n                        )?.title;\n                    }}\n                />\n                <Table.Column\n                    dataIndex=\"createdAt\"\n                    title=\"createdAt\"\n                    render={(value) => <DateField format=\"LLL\" value={value} />}\n                />\n            </Table>\n        </List>\n    );\n};\n\nexport default App;\n```\n\n```tsx title=\"interfaces.d.ts\"\ninterface IPost {\n    title: string;\n    createdAt: string;\n    category: ICategory;\n}\n\ninterface ICategory {\n    id: string;\n    title: string;\n}\n```\n\n## Roadmap\nYou can find Refine's <a href=\"https://github.com/pankod/refine/projects/1\">Public Roadmap here!</a> \n\n## Stargazers\n\n[![Stargazers repo roster for pankod/refine](https://reporoster.com/stars/pankod/refine)](https://github.com/pankod/refine/stargazers)\n\n## Contribution\n\nIf you have a bug to report, do not hesitate to file an issue.\n\nIf you are willing to fix an issue or propose a feature; all PRs with clear explanations are welcome and encouraged.\n\n## License\n\nLicensed under the MIT License, Copyright © 2021-present Pankod\n\n## Special Thanks\n\n[React Admin](https://marmelab.com/react-admin/) has been a great source of ideas and inspiration for refine. Big thanks to friends at [Marmelab](https://marmelab.com) for the amazing work they are doing.\n","readmeFilename":"README.md","_id":"@pankod/refine-core@3.6.2","_nodeVersion":"16.14.0","_npmVersion":"lerna/4.0.0/node@v16.14.0+x64 (linux)","dist":{"integrity":"sha512-j4qWcVRV1X3ke/H+a2s1KIZlRAwuzrAY+aVQi8LYTJrnqdkmUOfZJAh6oef+iRSUxPrIy5HvVpf7HzB0ibBr+g==","shasum":"34ae50d3a0f4d12f779a82ff97f88b163952e025","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.6.2.tgz","fileCount":208,"unpackedSize":1302480,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiKbMIACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoiLRAAiOsAexRHar84XXBU8sn9KlckNXp0gGk/q9Iy3beWGytzqe5b\r\n3qQhLSWGatDZCNZ0pFSlGW0juqvhr2HZggIDVDp1kojLKSMizSSptspzn8Qs\r\nN3k5YR0D/0h1twQC0cgz1k52pnBV7ewjrxWmKuVinmMm3LZj3Hb+ijO/AGbC\r\n3YLL77WeJImqBOupczZTPWUcw9uJ7YpOjbJDpmUH/MoFaJDhbwhOtmVcYtZH\r\nBScus4H/FcWq0thCFvhfIc2tMuqFdGFEyoAaAIOH4A170de/ihR8MpXaWBNa\r\naOfUdpAMYUpnNTHjLaYyDqnUK144CrYZGQPJKVf8MxrMOCBjccAMIY7yq1XO\r\n8fzFm6cMPnQP14Mf/Uvi5kJwqt+6mVkFTB5Okm/+a/7rTdnD08UAOrM4uHRs\r\nmHW1bnetIo1MmtRb5DrAhRtf3Y8k3T/xpL3hHz5eIy2rrn9PHq7OdxhddeOg\r\nIB4g3j9Fczyzv7VB609qG7H+UJOHpVwHvYk1JIYZTyLPot1u9qA9mqNDfBu7\r\nv8DI/dOc5kappDi1EV7JGkQatxfCIGkHqGQAoCeAYBysxTXkSSB2ozrz456+\r\n+43gEdymcrtCXox6WHkQuMeufG6vpRYUr6ZxDJpoIU9eeU4FktJbFo+HWlCD\r\nw/56aW+vJycbS2qAYyI+fLeHVuJzhTCB6B8=\r\n=+ZtW\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIERcCc2Zvv47lIZBLOu6C05+bOYILcNr5S4t+kSJxJ3/AiEA/HM4DEfD9tyDDXokGhvoJxn126PQz5n0IoxeReFKRpk="}]},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"aydinakyol","email":"aydinakyol11@gmail.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.6.2_1646899976020_0.249434967953303"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.6.3":{"name":"@pankod/refine-core","version":"3.6.3","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --dts --format esm,cjs,iife --legacy-output","build":"tsup --dts --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"antd":"^4.17.1","react":"^17.0.2","react-dom":"^17.0.2"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.12.0","@testing-library/react":"^11.2.6","@testing-library/react-hooks":"^5.0.3","@testing-library/user-event":"^12.8.3","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^17.0.4","@types/react-dom":"^17.0.4","@types/react-router-dom":"^5.1.8","@types/testing-library__jest-dom":"^5.9.5","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"^5.3.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.4.3"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","humanize-string":"^2.1.0","lodash":"^4.17.21","lodash-es":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","react-query":"^3.19.2","tslib":"^2.3.1"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"b7b0c62d19a4477143df5bee8eb27648c9f9a1d0","publishConfig":{"access":"public"},"_id":"@pankod/refine-core@3.6.3","_nodeVersion":"16.14.0","_npmVersion":"lerna/4.0.0/node@v16.14.0+x64 (linux)","dist":{"integrity":"sha512-2USGpQHSEH182Ue0Lp7f756AGNYIFwpwNavi1BaACK4duOKvJp7PfmbK+CYKEen3/yctFV8G8QzauABCCgoGLQ==","shasum":"355a5840acfacaf8d4af396380d7a6a315eb9c38","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.6.3.tgz","fileCount":208,"unpackedSize":1302480,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiKbp8ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmopJw//TZU9OvAssnxjDBIUqi9v32R4MSxnOrzBsBDIk3j1NgztraUl\r\nIkp6KPo6CEISwpFndUdH4s7JDvA116duvNfhesm4QFnQ+cOFziSvGZMuOJLh\r\nY0oRS5DRHoOXvz/Fa3i7jFXcjcLC2+O/BLqmf/gQfdQ7mH4UFQUsgy/HyNt1\r\nIA6tr0Kc2Bv0/NpwnFQNLwNTk8uNPSrGQHvb4OVoKTI1uRx34b2yqF//iF7m\r\nQEgwZ03lR3aJmnw6jofQP5FHdoFlxngYcuTBcKcB8DN0g2M3YLlj/fc13Ah3\r\n5TttQQaf3MxxlQJwjW0+7dfY4VIr1SZpXsDGGSk49ioEYNmPC+9khXmaYi8b\r\nNgVjjUa7KvLDvkh4AlBJ1bO94TnMf9tV5ic0EPA56UFJnZitFlEf7M5lDoW7\r\nmmR+9gyPVFj9XRaM9M35NQF2Jrcikwf+KzkVz2qfBlUb0YY+28wO3rzITb5j\r\n5hItNZNKTvkfnp36CTtC9S3fz0tKOglH8hejS0hDrpFZ9I3l0VFLXESg31MZ\r\nThmnRekWqy9y7mGgAd9saZu1Og6YMeh5N/hGyk5KVsFSjJEPLM2j/Px/6j1b\r\nUqr0dFif9sLQ+u/zJ+Oyn3rzMpEGagmpQ9lyqRjIr90bJr1V/zoEB5zFXgow\r\nie2XOSpAlA7FhMcayvYalWOxJBG2gZz3ZCI=\r\n=gPog\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCc89SQNsLi3tl91limNbwZDi3cr21qid1OOP47ooFBbQIhAP26biKkHf7gJ7leIdvCfVobr5BOuvJj/FIl0xJHZtkd"}]},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"aydinakyol","email":"aydinakyol11@gmail.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.6.3_1646901884211_0.25226196226459097"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.6.4":{"name":"@pankod/refine-core","version":"3.6.4","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --dts --format esm,cjs,iife --legacy-output","build":"tsup --dts --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"antd":"^4.17.1","react":"^17.0.2","react-dom":"^17.0.2"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.12.0","@testing-library/react":"^11.2.6","@testing-library/react-hooks":"^5.0.3","@testing-library/user-event":"^12.8.3","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^17.0.4","@types/react-dom":"^17.0.4","@types/react-router-dom":"^5.1.8","@types/testing-library__jest-dom":"^5.9.5","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"^5.3.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.4.3"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","humanize-string":"^2.1.0","lodash":"^4.17.21","lodash-es":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","react-query":"^3.19.2","tslib":"^2.3.1"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"3b0350101b33ec2a5521042c8bc4a1f278b270ea","publishConfig":{"access":"public"},"_id":"@pankod/refine-core@3.6.4","_nodeVersion":"16.14.0","_npmVersion":"lerna/4.0.0/node@v16.14.0+x64 (linux)","dist":{"integrity":"sha512-6SE4lAQd5jrKkdifnVN4YHqW6p93Sn8sPPaaM0BBkBSTeHzcXdoOagr8eyEA0zNGcpdfp4VXioRj3r0l5TLeVw==","shasum":"4503295146ad4d4e5025bae66ffba594bb53310b","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.6.4.tgz","fileCount":208,"unpackedSize":1302445,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiKxQ4ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpDrw/8DjDRVc+2nu/hwwE79i7Q3OXh09YY42n5coQStg+T9Vmv9QJl\r\nFh4mviMjUVqZ+C7ThuWP84KAFBG56wFupTo59CvTGNatJUR3mMe69CuZYSjd\r\n8vnhO0VnV7zC//iagtzRb+dT1FAbli/HFrRf6RWP9kGqpfVlOXjtDBIcC0u5\r\nrfJLmwtZxerj+O2SkSGz/Lm9/swHfVuwwYhb+oLzYP7zM7Ulk+tsenGkRUu3\r\n+RJ1oW/SplYmvPC/AFebdWVX0cRuqvoA/MS7jzFbD0GYUdd8HqpZqr73QrJk\r\nJIC+1Jln8KYtnJzIw5Lw61HulbQmw6uIUbXHov9PAd6aMWn5FMjSq+HIAcPp\r\nAJkhrVYRuKsUV8RNrci0LCBp/C+tkzmCBC8Tc5wERWi5n2xIndVNFBmmxiR6\r\nyUJKy90/BR4yhmYtbyrRI/qF9IXiLjMKMXYwyYHzzMdwYYzghYeL2lUOq7sH\r\ncelm+9/Ln7jJhsvmxq4iAWDbNHuzZoSQs2fcpRP4CdFm6brb20+d2C+xGU3k\r\nh+GxluZlr69ZC/DYs3kt8RWlYl0YINJR3a6VrK4NwSDmVRjiY3WuzzUmKyO4\r\ni2mZR6z+r36MxzoKHvgDsOcg5iyIXDWNZBj56x+QGBOXgCeRxkTkI7gdwRxK\r\nmlADqVflQcEp79Zs6kzPTLZSOYzettzoPqE=\r\n=DIhM\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGixIwwtlOu13mSCwroqjt0jbgCqbqmwtgIIlgv+xwcxAiEA4Is6xDtKcEQFP9x42gPhFvQFfO3k9jdpL23NBLLtJmA="}]},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"aydinakyol","email":"aydinakyol11@gmail.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.6.4_1646990392536_0.8463667826305115"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.6.5":{"name":"@pankod/refine-core","version":"3.6.5","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --dts --format esm,cjs,iife --legacy-output","build":"tsup --dts --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"antd":"^4.17.1","react":"^17.0.2","react-dom":"^17.0.2"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.12.0","@testing-library/react":"^11.2.6","@testing-library/react-hooks":"^5.0.3","@testing-library/user-event":"^12.8.3","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^17.0.4","@types/react-dom":"^17.0.4","@types/react-router-dom":"^5.1.8","@types/testing-library__jest-dom":"^5.9.5","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"^5.3.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.4.3"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","humanize-string":"^2.1.0","lodash":"^4.17.21","lodash-es":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","react-query":"^3.19.2","tslib":"^2.3.1"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"6df7e6b0579d7fc6b822aa77b52e70551db08c97","publishConfig":{"access":"public"},"_id":"@pankod/refine-core@3.6.5","_nodeVersion":"16.14.0","_npmVersion":"lerna/4.0.0/node@v16.14.0+x64 (linux)","dist":{"integrity":"sha512-rGxdW/e/a3ljST/sQEnqgm/FoT5pfbPiFgU6xWW52E3MsvWldqlZnVqTQpe47Zfn2wiZ68uCKLzwtyzWSynLkQ==","shasum":"9db4e01b6026e3277929a6b2c3343c2afefd3f52","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.6.5.tgz","fileCount":208,"unpackedSize":1302627,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiKzEFACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmroYRAAgOObwpR1RVInOU+d5ZuH/jFYAOULT5conYHcacj69FkobrMY\r\nRT74fSXV+cBdH4zMbcc3JLoVxlnUkyNQVjhX6ka+siAg40jPYeq984y8ojhu\r\nzDKL0BmVzdpNC8PDs061lXM9unLpc94ClKPLRZf2N6Oq85h0Jloirn4dFejo\r\n8u9UOFWYTMdCD/S4g3bkEHJpAlbvckaHf+Q+toPMtR1qEbGD3oYLHph0oMS0\r\n3PARDA5qefpkz6zlbYSVVrVI5V2/7lhpsIs3zOWozO0feMN03VuBiGzqiQDb\r\nzj2dlhE4lrL25RRheqgwsAx3w0dpzxkHxmPkIxXRj9Od071iOPlk8246OTPo\r\nuHnOSBS7QBW2GSEj0NvGtSa0CtL5gAtPvfIH0x9rdWEWzNarfmje3SJyPEPF\r\nSced3MhimjbpBDqKKYPTVIeCpBYgp3fwwF96QdJCZr4IwzMs4Q9a4GFbrz/m\r\nQB28E/kGr713ng3KoJs0M0w3uwNA77ukdSqx5wIDK6iBhrdYyJx6xFks+AiC\r\nnhSA6F49mj+hjnpujcdGjzAaA/MoSBIhOX3cDwkyQZhEI/MTgiHbtp3KOn72\r\nIQCWbUbnZsjzmJhTD/RR1y18GMksDI+OfBhDT+PnzObbI+PtxTbEnGF4Bw59\r\n9GNN2OcRQ4aGgOuqnQLplqR8OeTSl+L8Yo0=\r\n=YIb1\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDmdF+2vFRJOw1n8GbRmKGrbgsWeIwCOiJydrnZQg67RQIgTHxX27BZKwmht2PlwxlxfkqEZUgIms4tJnT5m5pK9dU="}]},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"aydinakyol","email":"aydinakyol11@gmail.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.6.5_1646997765411_0.8511210400843003"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.6.7":{"name":"@pankod/refine-core","version":"3.6.7","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --dts --format esm,cjs,iife --legacy-output","build":"tsup --dts --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"antd":"^4.17.1","react":"^17.0.2","react-dom":"^17.0.2"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.12.0","@testing-library/react":"^11.2.6","@testing-library/react-hooks":"^5.0.3","@testing-library/user-event":"^12.8.3","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^17.0.4","@types/react-dom":"^17.0.4","@types/react-router-dom":"^5.1.8","@types/testing-library__jest-dom":"^5.9.5","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"^5.3.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.4.3"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","humanize-string":"^2.1.0","lodash":"^4.17.21","lodash-es":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","react-query":"^3.19.2","tslib":"^2.3.1"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"051a560b13e0fe84036699ff8e4e09df62fff992","publishConfig":{"access":"public"},"_id":"@pankod/refine-core@3.6.7","_nodeVersion":"16.14.0","_npmVersion":"lerna/4.0.0/node@v16.14.0+x64 (linux)","dist":{"integrity":"sha512-KHaq2RdO6vjLIdhamiahDXYgN3hzj8eR+AhSJ6f8ZoK1JEfJbatlM2BG9Q4KfcSSv1EqxJmubjWUIb3bHhsQLQ==","shasum":"d0bc8dc66e9782919904c628ed0ec9182d80bdad","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.6.7.tgz","fileCount":208,"unpackedSize":1302599,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiLwCgACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpXIA//a0bMgubpz5BoTxenFj5Dpeg+6ik6RdCHQBSLkfllCMWFzsff\r\nEKvH2ezTO+B5ciBUS+Wfh/PWtkM9ZdIfTLlx6PZPTwQA+o4j4ufQfJ2zYVvO\r\noHAoKV+gWH2xvuREc9qP3STYDEl3kEvqBpN5DXJ2dKt7PDH3tiBi5Cjzxr8M\r\nuq9MtNm5YPQa+S90e/wPXg+/Kro/sL3/tECYlrqY5xy1xs8haN6ZlOC4F1xW\r\ni7sG7C/qQSxljJzIfuv+K/lsWRorO13O9QKMDM/IUFxVOg4T8YSXz93hJnIV\r\ngVa8LC0nrGomaIOmVa7Mok7IzqpF8AM07jN/uqU6quINkOA3/P3o4MjVJ3Gd\r\nr+HB/mTrIBYw9oFFdDHRp7hvPSKFbobBUr/CZ2iqsEBuLNl0WL/1gJ6GnBM4\r\nGsQ2S9h1aJExqfS5h6kTyJdGWgiwzJW+0Kg8XaL8tag4pXFTIC/LV/AgF4Am\r\nIUT8y830cHv9x+ejepHc8C1F7C10QBHN4oA6AKXLT8xArvexeOTCnulyd+d1\r\nyZuVPvTJnDUClOQ4p3W5rLWr6Y67KJc82XBFcVs+4NJW/MIaupxTC/Kq3KrP\r\nPo3CxZYk2Qoa7B+FaX0U9BeHJYOp39f5M+vNYjATOnEQ66Fh7U1DarviyHnV\r\npn5pdIDAy2TWnK885rXi4RlLBjqZNRWcVLQ=\r\n=HaTY\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCc1yIZMtt8mycFQXfxUM7dkfQNWZwi7vRPAL0sUVkZyAIhAKYZlsbVk/cPtdh7jMdtFk1BNCMKysBx9ey/V1EftEws"}]},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"aydinakyol","email":"aydinakyol11@gmail.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.6.7_1647247519929_0.6110944223933366"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.7.0":{"name":"@pankod/refine-core","version":"3.7.0","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --dts --format esm,cjs,iife --legacy-output","build":"tsup --dts --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"antd":"^4.17.1","react":"^17.0.2","react-dom":"^17.0.2"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.12.0","@testing-library/react":"^11.2.6","@testing-library/react-hooks":"^5.0.3","@testing-library/user-event":"^12.8.3","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^17.0.4","@types/react-dom":"^17.0.4","@types/react-router-dom":"^5.1.8","@types/testing-library__jest-dom":"^5.9.5","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"^5.3.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.4.3"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","humanize-string":"^2.1.0","lodash":"^4.17.21","lodash-es":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","react-query":"^3.19.2","tslib":"^2.3.1"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"4b134f7dc1c499fb211a8cdbeef5415a3a0ae8de","publishConfig":{"access":"public"},"_id":"@pankod/refine-core@3.7.0","_nodeVersion":"16.14.0","_npmVersion":"lerna/4.0.0/node@v16.14.0+x64 (linux)","dist":{"integrity":"sha512-WgWcur8awJ87XtA5MNdO2z0SGFrjDCFbSnUPaak0J5A9VWzQUiFdngfKKd8HILdyjA790K7OwviRuXMhfiJyPg==","shasum":"a73f94a03c0917a2c3bd1040a279c1022c7e790e","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.7.0.tgz","fileCount":208,"unpackedSize":1302672,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiMCpbACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqLrQ//TSWCKVXnjCNvS7sMLCdZpyQY1XXZf8lQsmKHBY8WZz0Q/xpQ\r\naoxVfWwlkCoKc28snwn+7RQ9eaDk5qvzt4SnQ8BnEh49NwYt024WvkdypCxH\r\n/cuHJr5+cfplGuqVOodLez/SG3TRupVrqMeX+VM8NbmE6XzwuddGZJGacKq7\r\nvp7bA4Ckbl26E6bvBW4W9gxAw8ERwrlxWlOk2BxaaoTYJc6jQ+DRca10A/Bm\r\nGch+pG44EvV2XuYwd20F/OF+6WxzB7lxiw8+ooHaXnkUIjTYImBOyxq7APvO\r\nViA8liTfUSi7yCLpOrCfFsBU0qxW7KvO0F3kZNtrUTdyHoXG4rfuJfYjIPap\r\n1GBMXdk2pgEbcXgI3TZYiEO4McuqDuLbioH67Z4C9D2CKMEV/X8/PcY8U64e\r\nFbkq1A/JDein3JB83e7PyEov26OSMC8Gu3CqREeuNOBQ7NuFVlgOgV6qFOho\r\nqlHrE9vVYchBLeq2ssx6av+kYqP58ZY74G+rpAaIX1C06YQFuI+CSylca/Ek\r\nhYbpfiljMB8DZbEBLc80nSML8Kbzv/N/GEHnPubyX0yYplmVqUF0R0aiXjXq\r\nqVr2HO72MZp6qoBIU1Cq0cCRlwsCdk1Qx4D1I6xPcEQUjIMd/sTbX0pFU2jD\r\n1YM0oGN7ag8oxAt2uCk6gPN/gJ3WzjJsBUI=\r\n=r4R9\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDlCfPXkc8kvEOF/OonjGqKTi8/W0WSIg247slIrCsEGgIgSC00mXYJTTD4iLA7lvMJLqz3J4zlk7ZoIHDdwQn6pr4="}]},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"aydinakyol","email":"aydinakyol11@gmail.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.7.0_1647323738908_0.14388234591230642"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.7.1":{"name":"@pankod/refine-core","version":"3.7.1","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --dts --format esm,cjs,iife --legacy-output","build":"tsup --dts --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"antd":"^4.17.1","react":"^17.0.2","react-dom":"^17.0.2"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.12.0","@testing-library/react":"^11.2.6","@testing-library/react-hooks":"^5.0.3","@testing-library/user-event":"^12.8.3","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^17.0.4","@types/react-dom":"^17.0.4","@types/react-router-dom":"^5.1.8","@types/testing-library__jest-dom":"^5.9.5","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"^5.3.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.4.3"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","humanize-string":"^2.1.0","lodash":"^4.17.21","lodash-es":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","react-query":"^3.19.2","tslib":"^2.3.1"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"d7c9724e804a1bd385db2dbe385aeb238edc6e04","publishConfig":{"access":"public"},"_id":"@pankod/refine-core@3.7.1","_nodeVersion":"16.14.0","_npmVersion":"lerna/4.0.0/node@v16.14.0+arm64 (darwin)","dist":{"integrity":"sha512-4J3xhoq31QI0f8LAbkNAO+arrQvHXz1kEtiiFmnEdEIby0YH3N8kroGxp8R1eAuumDJPH53GzJzuPa06i4EefQ==","shasum":"afa1fccb2f96a2c4d12d4ab0ffe258a7349a5e4b","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.7.1.tgz","fileCount":393,"unpackedSize":3344735,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiMXyFACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpxDg/+L3DknrsunoRWgWhLCw2+jezgsMkUcFIQwC4fF2oyC0T95hm3\r\nbqnWOAMG9O+VpC99YaJFt3cameqYzv2afrtF60+wAQEf9xqGgKlgWZq8DXQQ\r\n86ZGz8KlOUhKLT+Bleg9GaAy+OFNWZ8RpedBGIpUUwixclKIBsKOKlYMmoTz\r\nutb5r4DcDdLKCymwQ6ce8XmC5xDhYYCBWHt4+L/vuxmsDRHRQXfZGXGpSJ9n\r\nyJWGNh49VRqP4a6GMAOsFBMcTGr4xFCVasGMMb0tMK40CdP1DatozRkv4DxL\r\n6J5KaOXtLcOuFIEM2ajL51vWGir+tdRky7sdHhZ7f445Ot8EV9+SzTsP+DA3\r\nJb17Nkhk8qZZQbSIMlZ//4zpZ1LjsUqEf5y3AOEQL+Jj+0wTFnS89LRqrnCr\r\nTUJ/iFULkOX2zvgEZMRYwfeGp91pnhR0iLMw91UHrCXLukUTjjHdVes4QiEN\r\nHw9s5/f0RWanFg6JFkfbpJGh9Xoe12pA1+rkKOKah4dC4EGgu/eUgbmTcFoS\r\n+7tCbZ0ZlcZj4kqRJGWxw7iS820nwYxmWRrFbnWTCjeIOWTYtLE1oA9lBPw4\r\naoRZyhAKnVleUP/srNFJbNUsdvKiUTN9AspfoPIfmxnhBxPtVibSB+a0PG2z\r\ngzs0HWyKGweld5b8KUNrKLjPyFD597UNggE=\r\n=KpEw\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAQlA/zzS8kYBna8LtUjOd4btBqJfCpJL8srk5NEWwfLAiBIY5QCC4TaWZE2beEeb2OhDcx5RlMpb+0lS+MvHherJA=="}]},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"aydinakyol","email":"aydinakyol11@gmail.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.7.1_1647410308879_0.20452200127570497"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.8.0":{"name":"@pankod/refine-core","version":"3.8.0","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --dts --format esm,cjs,iife --legacy-output","build":"tsup --dts --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"antd":"^4.17.1","react":"^17.0.2","react-dom":"^17.0.2"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.12.0","@testing-library/react":"^11.2.6","@testing-library/react-hooks":"^5.0.3","@testing-library/user-event":"^12.8.3","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^17.0.4","@types/react-dom":"^17.0.4","@types/react-router-dom":"^5.1.8","@types/testing-library__jest-dom":"^5.9.5","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"^5.3.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.4.3"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","humanize-string":"^2.1.0","lodash":"^4.17.21","lodash-es":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","react-query":"^3.19.2","tslib":"^2.3.1"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"0932e1479ad851d4c63bee5825f24590cd580ce3","publishConfig":{"access":"public"},"_id":"@pankod/refine-core@3.8.0","_nodeVersion":"16.14.0","_npmVersion":"lerna/4.0.0/node@v16.14.0+x64 (linux)","dist":{"integrity":"sha512-6CQb2qQ3DpT0e2XE7LlUw0x8lY052woyT0fRpwY45dCZHZrepoJrdE9bJ2BPTbZ+pAgfWoctAtRV0IP0XuzCSw==","shasum":"d50d3c70aa63378ed16807d05e7283fdfff9d793","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.8.0.tgz","fileCount":208,"unpackedSize":1307377,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiMY4yACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr38Q//dmlK+DRyZ8/OjxX+3hSWTV5vHruYk0x1lAA4vY45gkKgDD9h\r\nku22SSKs/BnSNLLpRAMtEoDMyjLYhdrMj8vXfxDnpV/uuUFsJt65kOV6hNj7\r\nlXpCN5rZ8QuVgYlmClCI0Fu1YMiXyZYxdTTGV3AwQOVwPC9sII87K8uqY6zJ\r\ni0tzD+UlWz+LJe/x1NQhleze5INwnETsQZenUeJ4cmYoesNO1z1/UCaYrffz\r\n7aBvaq7+IJY/WfqdhqciGen3CQhJrbzi8Ckp6QRHM8YTFa6dA68CxXGz8H8y\r\nW/9EN4ECAgKjXFnhGc6SrilnX0XOpgbe4RSnnnpH88V7zqd4yIXc2PWy/Jew\r\nNxYTtA835wT0w/E5kyC1hpKMBhbV5Spn06CtwldOiMuqi4aMeA5dwrjg2OR9\r\nLQM/rFnl6ZCBEj5Ujst4gkQJ1lqVqAiSJ/N5HKR/KKrnTZHWpkTTD/sIgkM2\r\nk5GIunfu5QgOcAvYIbZXrEHtgfQXHKgOXFCHbUC6VKqcpqpPmrPioOUisYNz\r\na3EOOX3vsjgzi0v94VHkYWubzoKtPXTqRiQBFtRDdDJggPbIy4AFbakn/U/U\r\ncZQOX7M9nukMHdE5n5MCj+y8btTJrjOMahMfhwvTtbnUimXP2oTMH4wqSJDp\r\nt6xIddR9EbmInXoMxVWG1Qnev+ygpp0z/1M=\r\n=j2k8\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAaABoCslBlYmDJTtJmL8LESJYChJN4A+ZO4+R1iBv+3AiAlUYRyMHLoh3ZbKgL7AY/rt+w7x/YN5PSAlZQpdz2dew=="}]},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"aydinakyol","email":"aydinakyol11@gmail.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.8.0_1647414834480_0.5377805599393761"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.8.1":{"name":"@pankod/refine-core","version":"3.8.1","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --dts --format esm,cjs,iife --legacy-output","build":"tsup --dts --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"antd":"^4.17.1","react":"^17.0.2","react-dom":"^17.0.2"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.12.0","@testing-library/react":"^11.2.6","@testing-library/react-hooks":"^5.0.3","@testing-library/user-event":"^12.8.3","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^17.0.4","@types/react-dom":"^17.0.4","@types/react-router-dom":"^5.1.8","@types/testing-library__jest-dom":"^5.9.5","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"^5.3.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.4.3"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","humanize-string":"^2.1.0","lodash":"^4.17.21","lodash-es":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","react-query":"^3.19.2","tslib":"^2.3.1"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"d36b605ae6dd93e7720c6a58e1cdfd3a82167371","publishConfig":{"access":"public"},"_id":"@pankod/refine-core@3.8.1","_nodeVersion":"16.14.0","_npmVersion":"lerna/4.0.0/node@v16.14.0+x64 (linux)","dist":{"integrity":"sha512-fm4x3m7smWMcH/utmDxudXk8u8JtdiVVPu5PECc4CVHB0PH2Xdkm0vf1prW0Tv2cfNh613daLogpC0i594zi+w==","shasum":"6251a8e0d380bcc9935d291400a6c69d0caea095","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.8.1.tgz","fileCount":208,"unpackedSize":1307797,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiMemVACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqjWg/+Oe0vEJ3ZlEHIrMgUkIktjTLxCPXMnaXfp0asn193+ay6Dg8C\r\nn6BbnkfLT6ud0tMrVzy4Iccv1Qq0/O3918FW9dntN/q1AopKlIl7oKaQFOSD\r\nYtq9S62tZC0mkFzV/tiRRdZFWXbkb9sJKUeMj7+lZo7N1BvwSPAUoRh0gtbD\r\nWV/mJiMSSQNDHkf1yrZS9x6PFvgwP0EKX6PwOQVefQ2AMNFxZaoIZp0laqG8\r\nR7U8Mggs0eR/QEylF15ANvuHsxf7uGMBYqa2r45KCYGH4etAwg3JKrSJyda5\r\ndLIzLsnogTikvYQbX/KPYehQsD8abDzxlR3ai32ZLjUaDHz4KRoXzZHLdD8M\r\ncN2L9Yo2aJbiBKnlZju1m8AhmJgmLJEg1ugyrNmGNct+KWdiyV2lmTCOV3OX\r\nZb3OgD6Udfaf2lYAacLXDqzjk/Jdoj9oZdyjQiNFNVbTC46o84CazRJ1vTJZ\r\nfCRJ8jC87Rp/io/vv8h1nSjEsL716dEnj/9mLkaQW2HmgInLr8HdZYAXk8lB\r\ns1yShXd4TkqkVX3SwVRMIwsglvGAVkNkiSV8tFV24McDbnRfg2zYX05zvTPT\r\nx4YFcNr8AHtaU13LIbslsFJqLhLFEkod8Ri7PD5WEyFKWJeOnJsR3wo8La+N\r\noTrkufN5IxC4y4brXamo/qxj2gq55s5Wmjg=\r\n=ZroM\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICgtYbf+1LJ7wvsAfh1+Xhe5iuEfFjGgfrOdDMKBBN7kAiBu6jJidtG+odNpXaPcjC4jdA0280aUYleUtyAXhgSvPg=="}]},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"aydinakyol","email":"aydinakyol11@gmail.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.8.1_1647438228946_0.1794729587037316"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.8.3":{"name":"@pankod/refine-core","version":"3.8.3","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --dts --format esm,cjs,iife --legacy-output","build":"tsup --dts --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"antd":"^4.17.1","react":"^17.0.2","react-dom":"^17.0.2"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.12.0","@testing-library/react":"^11.2.6","@testing-library/react-hooks":"^5.0.3","@testing-library/user-event":"^12.8.3","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^17.0.4","@types/react-dom":"^17.0.4","@types/react-router-dom":"^5.1.8","@types/testing-library__jest-dom":"^5.9.5","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"^5.3.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.4.3"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","humanize-string":"^2.1.0","lodash":"^4.17.21","lodash-es":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","react-query":"^3.19.2","tslib":"^2.3.1"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"554bb0e0b28e1d5e200474bbac2e815de51c5682","publishConfig":{"access":"public"},"_id":"@pankod/refine-core@3.8.3","_nodeVersion":"16.14.0","_npmVersion":"lerna/4.0.0/node@v16.14.0+x64 (linux)","dist":{"integrity":"sha512-mfQ19D6Tpw6o2JehLV0fzB6yElzas6zE0USTopeFHqogGDPWlXLs8hy67sDMyYstool2EkeY6Sb5PrmEE8oYQQ==","shasum":"7cd068b948cc888f71a4595f9281ea490e9d7e07","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.8.3.tgz","fileCount":208,"unpackedSize":1308189,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiNF/OACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrO0g//V86aqs6q4qcRmUmAForkTqUzaEW2Kqyk8mNxHcVuu9ZZ3hCo\r\nrJwweFrJgB0evNjHPoTBZoSXq2OLP90VYZBE4Tu+gmk9P2X9dQoZzGB+en9w\r\nXjNZNNsgHigNLeBRgjS7ISnUL4YQqEsCxj/ujVEr1zq5/6L8VX53bfUQy1N8\r\nFqwpxmI8kVRky46EMiHFsDA7wDTK/4Z2V/JiJp5ISBEuBRnsJNW7HUTovtQO\r\n05zwwqX0M1xEvqr8hGZ0aO3cI7Os/XXfh3tsPHQUSkUcj6fLqlfAlMIHawxf\r\nGS30ntVwpK4X/OFm11Udr2OwF7xHXWuAqUS79NnO2m1kjcRHmFyX/hK8Y0Uz\r\nI5eGLOL+o2GPo2f63fl5g5ofmdwC39qG3/6dftk+RDPQ2uWVb2cMe/hKtF6x\r\nhSTNEpWM+qaJ1hp5rmHH2/mGBDP7wW9Ml9zO0lLSRgQ5Zrzpk+p1Q9racUZ7\r\nQUVxH8QrsWSlmpXpgE99kS+jLZfLYI4nHC7phFY6M3TwRAAtOM1friDmiPKS\r\nTOmmce4/uEdKM6ljl1N4j3V3joVBaPStToHtihHyK27XAkHxkXDbhf72/SNl\r\nkbzmjGbjWW8qZC7a0r2+zibk1Z3NoiZ7dXIfw9dX4cP2sykdIhzpUGyLyVm6\r\ngkGG3YiH3npiG4GZLPdwjmmTV/3ApgHFSgc=\r\n=L1aT\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCe89BBW5kL5Fn1Fx51oCZfnje6Ez8jelGdM6S4Qr4TcAIgK7RWXq2FXj5IAqytmmGvfJ7SFHlCn6hoco6+fcm9gL4="}]},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"aydinakyol","email":"aydinakyol11@gmail.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.8.3_1647599566119_0.3548329407757598"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.8.4":{"name":"@pankod/refine-core","version":"3.8.4","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --dts --format esm,cjs,iife --legacy-output","build":"tsup --dts --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"antd":"^4.17.1","react":"^17.0.2","react-dom":"^17.0.2"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.12.0","@testing-library/react":"^11.2.6","@testing-library/react-hooks":"^5.0.3","@testing-library/user-event":"^12.8.3","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^17.0.4","@types/react-dom":"^17.0.4","@types/react-router-dom":"^5.1.8","@types/testing-library__jest-dom":"^5.9.5","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"^5.3.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.4.3"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","humanize-string":"^2.1.0","lodash":"^4.17.21","lodash-es":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","react-query":"^3.19.2","tslib":"^2.3.1"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"15665496a871a1a2ebef75c73c7e4d77bda874f7","publishConfig":{"access":"public"},"_id":"@pankod/refine-core@3.8.4","_nodeVersion":"16.14.0","_npmVersion":"lerna/4.0.0/node@v16.14.0+x64 (linux)","dist":{"integrity":"sha512-HIzmnsVwFMkaMzctOKVLTsFy9v/IjmcEPQfi+x5Tp1V/JfCd/AgXu+hLWi7o/ze7bY21ymvb6jys0cBkUxH9JA==","shasum":"45489ffd3c6e63e82ed6bd0b2d27dbe05e1b1f02","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.8.4.tgz","fileCount":207,"unpackedSize":1292227,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiOYtHACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoK1BAAlBUlABogE45iOHHkGyISgg4cmQygSHda7ofR6LxLyCwFJClq\r\npLj+tT2oPYSFCAF8uX6JVBjidOS2/np+sfxZ6yi9zRxonV5h6+n97Pcy4fKn\r\nBLV1AoyrDRI3jNifP7AuUk17Vh+78CW6AtL1qlXnm/h9/+nJ9yvYXd63zbeV\r\nLRCnQlR4RFIwzA45Yf11lj7QoFWZMKulmSGn6HqlUgrqyv2JAz5cc/TNmAQU\r\nysCHvcr+dd5IbOXS6AkMFq5rZ7T+YW4kNfkPSUp3KiEQ9oZ8AeBS/mJBJpYV\r\nFPnjpkPbJ7xnO/6NAjcX6KoAvbP9gMfAy4YhS8adSlZYR5XgSgidtgfqGIat\r\nqx4HXCcwyIhP2R539FcxjwtMM8pqTgEZsTwYGf8Q36Nf+ADH7wQps2nH+iU+\r\nrXi00NpnTYodygnqHZWiwKRqFTgaDG+nFOxOFS4fRZ4KXo7g8nTqiluQJz3Z\r\n/FgOoAZmcoWq68RtItHJYHD3avo546qRGVr1ZSvQAl08PUYi24/PCZI/l2to\r\n3Qs5ijtLQNQ004+apZWDqfwVU3PPUtGmsp8sBj1GDVXlVbsoS+qzU5Dxh0sO\r\nqisc3UAPLqOJXEOccmG17HtnKMMrKHfWa/IRSxlqozIHMSrDmiPvZywAcWUL\r\n2ECw9JydrjsdexcfrJSU3zutPcDg10LiAso=\r\n=mjlU\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAG/J8Yyl3+hO2wBrcu1wAgrJ0o+kI3xvRDWjAE7yyRWAiEAx0bqw2cOBU7Wj3C4j18Gskhgu5PLiTxgdDsdjCDVj4Y="}]},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"aydinakyol","email":"aydinakyol11@gmail.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.8.4_1647938375266_0.910167057558928"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.9.0":{"name":"@pankod/refine-core","version":"3.9.0","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --dts --format esm,cjs,iife --legacy-output","build":"tsup --dts --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"antd":"^4.17.1","react":"^17.0.2","react-dom":"^17.0.2"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.12.0","@testing-library/react":"^11.2.6","@testing-library/react-hooks":"^5.0.3","@testing-library/user-event":"^12.8.3","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^17.0.4","@types/react-dom":"^17.0.4","@types/react-router-dom":"^5.1.8","@types/testing-library__jest-dom":"^5.9.5","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"^5.3.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.4.3"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","humanize-string":"^2.1.0","lodash":"^4.17.21","lodash-es":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","react-query":"^3.19.2","tslib":"^2.3.1"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"adc7edc3adcc77fa5c1b2988e331a02e85d6ad5b","publishConfig":{"access":"public"},"_id":"@pankod/refine-core@3.9.0","_nodeVersion":"16.14.0","_npmVersion":"lerna/4.0.0/node@v16.14.0+x64 (linux)","dist":{"integrity":"sha512-FgnPSXBY3tS6WAol7+mV60JkNpIo2sEuheunAthGfqJhKIbDC0rnRZ0/tk+MFNLuqV905Zh5Sw8GRjxJ9jAC6g==","shasum":"084b6d1c6fa7023c2c0fbbc30985315dba4a930c","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.9.0.tgz","fileCount":213,"unpackedSize":1309787,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDhpo8VSHfm4NPyPMRf9UZ8b741YEcojpuNdTEWfPam5QIhAMYzJOS5+qa4StKoUNxT2eYif5aM9F1aTisPUtNBZdYQ"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiRVwyACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpztQ//WjgrqNsw04TrUd7vCevsNwMWLykgUEf3YnkHaTuWiTP0+vtQ\r\nj6rroXcwHxUYWTl5RtghqMTJlKGk8r9OlweBZoNq+Z/iZWnScD9ZaYNAk0Zh\r\nSQP/IcK/gfz5mZxryOSre5Ihh7K2FEPoilSXH9yIaTYyyFemX425/ypNTUb4\r\nYMPV6AQHmOELOJcSSstCjrLeHm8Dv1JnmmRKZXtEzyusMEN8LbWd1hqwbwA9\r\n7uszGcWsOExYlhtiXyY+UZ5CuF+6jeH0HRhrr7iopOxWO8d+efxlo+5bW6F5\r\nSUJlte5ImMyqjxGOjQGjMasz7Lgkw547aMFMC0/PHO/Ts+bqjF3ySvwe2qNR\r\nmLrSYS9Te8n56umzcQsk+qXiSJfMR+tZo5M+qC3uf90dxe8sQ7wSmhYUy8Is\r\n1ijcw2GMIzALBrdUeM/CuTSqPiIxiQfYMehtQI3kGw0gXAtvwLXZUuiky1bZ\r\nc9U4b9fLjjeLuG+D3X6jmX7PDh5/9P9CVh8Drvh7+FKbDOUJ26vK6+3UOeNJ\r\n629+mqjvcRFpONr1uAIVdANkjFmF+x+B3xwp7FIAUNrp9vXnelPNzEwwOyyU\r\nL6Yu7H8eiWOhOEE835A5jmztkFX6oD71vtAggpm/ZEvE2MBfVt3hnIZ5k/VJ\r\nH3T6UDPtPQLQviYDwhxGF7+VYWjn+pl07sQ=\r\n=P3hJ\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"aydinakyol","email":"aydinakyol11@gmail.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.9.0_1648712753947_0.40069241509844367"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.10.1":{"name":"@pankod/refine-core","version":"3.10.1","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --dts --format esm,cjs,iife --legacy-output","build":"tsup --dts --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"antd":"^4.17.1","react":"^17.0.2","react-dom":"^17.0.2"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.12.0","@testing-library/react":"^11.2.6","@testing-library/react-hooks":"^5.0.3","@testing-library/user-event":"^12.8.3","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^17.0.4","@types/react-dom":"^17.0.4","@types/react-router-dom":"^5.1.8","@types/testing-library__jest-dom":"^5.9.5","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"^5.3.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.4.3"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","humanize-string":"^2.1.0","lodash":"^4.17.21","lodash-es":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","react-query":"^3.19.2","tslib":"^2.3.1"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"2e2281974249d5849a45522f1ad66ce7f492b889","publishConfig":{"access":"public"},"_id":"@pankod/refine-core@3.10.1","_nodeVersion":"16.14.2","_npmVersion":"lerna/4.0.0/node@v16.14.2+x64 (linux)","dist":{"integrity":"sha512-fPI2QD8QaGtA720pe29c4YOuFbhKt6xZoeqfdjKSxIEbtLKrur9+7108AJfsEFoK+DfeIaXUqQBAikoUnO3Zvw==","shasum":"939c09409db414a1cf8d6a166500d9dbc9287c29","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.10.1.tgz","fileCount":213,"unpackedSize":1311799,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHPEqsOGvb3P+n81G6zNto6K3/G3Sp5qllK8wXHVn3oXAiBsWx0Dk4KMRao32kY04mE3dBUHYu5AUWDgR0YRIy6pbw=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiTBtiACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoNeg//TwlysYWdk1e2k6vIQ0U6GXvOfC6HmDQFuckyeZ6J9QLnv49H\r\nuMsAeKmp057WXDgpoL+JUJAYs6+Buuworwip3+z/xkcNjHJdoEjih18B2H5A\r\n8ZpJ0jcY4VaiQu7OmT1QqWmCfg7IhPoU4t7sl+wmviyxLdpjeNHQunXNdn/k\r\n1J1x7d341OaviZbj0ASf8fvAZXsN6Hbk3ZanzBkqcZT+IF2S2MyeiV/9SqiL\r\nkMY1pwMScgsyuF3f/8K7d4gd1KPeHatCr5gU5UKt0VYyA1ini37DoFNLzNrS\r\nXbnuqdb2iJqfF8d8N8vDCo7FC6RHUkG/DUs1N5lzdLEZ0S6WnjujrXmqPevz\r\nE1y+jnJlfdQzf1JSc3Ft5GGARb20JTFfqNFa0uLSm4B5fIpmqvUBkOpPX8kP\r\nZXT+/IiWe7ihFp8/3bs3kbVuJK4OfQYsob+uAeUIHuMGeF4LeTijLWptpJQQ\r\neZmgQVsp6VYrs6kws1ca61TxecTTlF5CMJJAw/BIv9Yj4V94PLGbAIt9nasp\r\nzZVgkdNPYYDooZoscHfiodTEGdxuv/456vimanrTRjzCmzguIbsuTJCYPUFu\r\nL5dORyok3O4Z1RzBodAJerg7UOSt3nqKud51QdSR8sHEHAZZ5T8mZY0bMRdu\r\nbTnA5DENN3pdbk0qDs7JOCdheR28dLh+rbU=\r\n=/0q1\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"aydinakyol","email":"aydinakyol11@gmail.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.10.1_1649154914526_0.8244419176865121"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.11.0":{"name":"@pankod/refine-core","version":"3.11.0","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --dts --format esm,cjs,iife --legacy-output","build":"tsup --dts --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"antd":"^4.17.1","react":"^17.0.2","react-dom":"^17.0.2"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.12.0","@testing-library/react":"^11.2.6","@testing-library/react-hooks":"^5.0.3","@testing-library/user-event":"^12.8.3","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^17.0.4","@types/react-dom":"^17.0.4","@types/react-router-dom":"^5.1.8","@types/testing-library__jest-dom":"^5.9.5","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"^5.3.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.4.3"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","humanize-string":"^2.1.0","lodash":"^4.17.21","lodash-es":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","react-query":"^3.19.2","tslib":"^2.3.1"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"396f780640bc9d7a79424c7e2bbe15638ecec18f","publishConfig":{"access":"public"},"_id":"@pankod/refine-core@3.11.0","_nodeVersion":"16.14.2","_npmVersion":"lerna/4.0.0/node@v16.14.2+x64 (linux)","dist":{"integrity":"sha512-GRkKkicOJkFjXHO45j6mm9cDSUns9S6243XjdxNA+pudNTMMlXdPhlbk9SkNwXBmuXDIzi6QVwsPZRpNxWiMuw==","shasum":"1ad942b35024d185fb4727690cb96c82f269b386","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.11.0.tgz","fileCount":215,"unpackedSize":1339916,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFi+Ou/Uias6yqrrn0PLNBPgj8nPkAB1qrGh+No7K45vAiEA/hj8EmDFCYOFFbfut+lAoNp+GKa8dnxLAO8WwfgsapM="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiTs7/ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr5iBAAms55DTMP9P55YPEpq6mx3QJ0CHAMDTg9txcU/9MngTkAfUeu\r\nLCvE2O8Bep8UMHRHPb1vCmxqLjhItx0ROP8lHcxquCXh5r/0O5SoVRznIhTw\r\nZuBsnP3xsafeyQlzHfyLYJvl4jt59iyA2hEJVQpCDOCYVon8qhpRbpyQcJ2k\r\nePDoKz/6E7U82TZf/J8X3Fxd1thpe9ERORB8bfq0RHi5TMuaDXgC0srGfHop\r\nMEuGSG/qEj9bdR56tAQR29yozsMTN7CwIKK6+qgNC23NN5dALQnqdqAQuINf\r\n1+67/Hbcema5aTm9AOuBB6uO96Ibj8BDAzfDevI7DGh6wIQykx0s2pmYhACO\r\nfUbYoIRXPHpjq28amB+X6w6xwZHLUG1VbA2ucX6cw0XfD8q1PkynMkmLlROF\r\n6spluDR+qj8xUC0eE0cfcurjl6y6s9Y8wDNtlprlAvfZGQ2c3uVEU8k1Qydd\r\nrL1KcZ/4ICWoxS+kbYhpxgFl+8a/t/fy+atKSywq9QosuGSMefFcOg9kaFWg\r\nV7iqO5saV0E/mjl9kK4aHFWEPA1wz/zv1wioVoIbV4zWIA1bD5d623EToM/w\r\nluz51EMvJe4ozORkJEtl+hiE31Rk1Lis46FJ8z6tiWyec7Md5s30MyHLA5bK\r\noHXplbaF3kDU38GTb2PjhpVoXnAd3xdT5/o=\r\n=N72Y\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"aydinakyol","email":"aydinakyol11@gmail.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.11.0_1649331967457_0.44537566956700414"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.12.0":{"name":"@pankod/refine-core","version":"3.12.0","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --dts --format esm,cjs,iife --legacy-output","build":"tsup --dts --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"antd":"^4.17.1","react":"^17.0.2","react-dom":"^17.0.2"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.12.0","@testing-library/react":"^11.2.6","@testing-library/react-hooks":"^5.0.3","@testing-library/user-event":"^12.8.3","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^17.0.4","@types/react-dom":"^17.0.4","@types/react-router-dom":"^5.1.8","@types/testing-library__jest-dom":"^5.9.5","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"^5.3.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.4.3"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","humanize-string":"^2.1.0","lodash":"^4.17.21","lodash-es":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","react-query":"^3.19.2","tslib":"^2.3.1"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"cbc2d65151881f72ef945db36201fcb465d583a5","publishConfig":{"access":"public"},"_id":"@pankod/refine-core@3.12.0","_nodeVersion":"16.14.2","_npmVersion":"lerna/4.0.0/node@v16.14.2+x64 (linux)","dist":{"integrity":"sha512-XZfQ4kol5mKLYMYuBW82/dKzpdQ0cxP78yXA4GHpUA2ZDTS+K/YdJuroi9NMxpI85Eenw/SQy7hoR0SchWrWUw==","shasum":"e6aa72e98a2f001539272d6ea4bc3d68b30ca771","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.12.0.tgz","fileCount":215,"unpackedSize":1343670,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFePuBgHeEF3IqEPGbGmidhIIDJI8/bl6tgmLGX+R8DVAiADik2/RkicvyG6m97c5nkWtZjKomhIidBWL4oZhhZE7w=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiUA/kACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpS5Q/+JD5fz8mWiexscsesBoZBgV4qLPBQjq68Dpa1nZ4bRY2xfnk+\r\n4OgxzV0LFZh0U6ib+jot/UpMtpP9rhjp/r2iZb13YmgovwO4Swd57npabdor\r\naIMQmKNsYU3VNTgf2T5K+pe9DZZOvgo9lgyyFC0zL58srP+/Mftvr7yY0LCa\r\nYKJFkjE3bFLSClk8FpUKnqCiVitqX2HFUHCQXObWtxfHxkUwzfIPSpv3PKFy\r\ns8ckQTDJH5+zGClyZ3kREBIh9KmqEJ05L1z43+EP+EDMjmjep5dfcHtU4yRl\r\nzh6duUVOmuMdtEWC9EWUNNbfRnY+udsbUKIyqBOXqa8aS8/EREbIpkagzg7B\r\ndcCrif2lxRGS5axBf+wHExUFNfEfgmmZpdZ27hySvc/Pbk+r+K9OAPD8I9mZ\r\nUNJhM7zQeEh/XnctvW/GNmXzaBu82e7/RbwgvG5wAEt8MLqhMxBfEWEVI5VY\r\np3bI0rwLP4LcxrfQcdYt3grXeaJVaT7BEXui9MbFEBzT+xNy3ueavx62I7jj\r\nS7rfwU8JEwLiApB27qNNV1XVbA8q+3Nmo9X5Ss6cf1P/H49cnQvFQ7r5dHBb\r\n3/gmoxw4BVBVbuWk7UnBh9kuTZy5yHNeEtrGtEpatpmKrTrg+VP4PGoG/Z17\r\nxROjxTztmWnlDrCGVwLGyWyJ5uQzoy2tyoE=\r\n=7AnO\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"aydinakyol","email":"aydinakyol11@gmail.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.12.0_1649414116483_0.4803760600189102"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.12.1":{"name":"@pankod/refine-core","version":"3.12.1","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --dts --format esm,cjs,iife --legacy-output","build":"tsup --dts --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"antd":"^4.17.1","react":"^17.0.2","react-dom":"^17.0.2"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.12.0","@testing-library/react":"^11.2.6","@testing-library/react-hooks":"^5.0.3","@testing-library/user-event":"^12.8.3","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^17.0.4","@types/react-dom":"^17.0.4","@types/react-router-dom":"^5.1.8","@types/testing-library__jest-dom":"^5.9.5","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"^5.3.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.4.3"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","humanize-string":"^2.1.0","lodash":"^4.17.21","lodash-es":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","react-query":"^3.19.2","tslib":"^2.3.1"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"7517f4eb67ab161f59920c23665fbc6575a24351","publishConfig":{"access":"public"},"_id":"@pankod/refine-core@3.12.1","_nodeVersion":"16.14.2","_npmVersion":"lerna/4.0.0/node@v16.14.2+x64 (linux)","dist":{"integrity":"sha512-6ARyBj0XtTrtr/DSke+W3xb/dxcoBoU6+iJxX1TI+K+S4HA+7pMVMpZKuYNP2aNVkjZxoxx9WMlXcCA8X92pbQ==","shasum":"f8d1a2ef713171fbcf7f1467e072756ae98f5bd7","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.12.1.tgz","fileCount":215,"unpackedSize":1345103,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCMsq5TBSp+TV5TDqcRqEHH2vnjJ6b+0R+Mv6nyboSpZwIhAJmcbenn3UwLVhS7uuE8nD6fllGZ8+oeYcc1UUOMSP3O"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiUDoqACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq8Qw/+Mmr1uw7GUWPCy9ZOhts5pQElWtm8w5DxkObJ4/msHB6Q95T3\r\nyvxgyyoyavhCYl0kCd12eZPFUgYTaezJ4T+rKA4dJ3mLsP1D5V16JWmbDNBF\r\n35cWYK3cFSvZAY/Ei6V+Qy2OWzqQK5u/DgPj22mVT5BKRALCQ9zRiqGnZDC0\r\nzaXSx9QRQVv2fPxAjdZPN1hIiK0HoALYC2/jVxMixQITvyYoRtNMMWlRYLT1\r\n3JEnl9V2eO+q6QlLgoAr3IAkblgTxwdHgOZz26Em/CbNfv7zbWzDXFaCvqdC\r\nF1eoqaf7XHhKxMg/yRbDkRqoCNHIIroIHh1WgXBMlPsjZoax9ksXefcPiD0Q\r\njAczXB3MdUrF0tmA8jXiTAldwyvsKYzVkgbUuojgQX91rMzVX3XBHYtR7W0U\r\n0PG+h90q54J/miKVpkvcjyqp4gdf4zlDtsgcbl0+6MVOkmXItmVaRUf4O/e9\r\nPY1mUBry6xK/bWEoo1nli8ChlJEVLDm+egtaHNmy+1TvlmiyYbbQ3k74oukk\r\nLLu07QcJXY7SN5NyIJ47Ga/ADVXFuGaStCYQg/CCNySxF4JTY8DtpDNYY+bt\r\ndB7TYPhOoJzeTNJerTkxlF5pHt6EQpWNYbh8ZJ8IRZFIX/3Joe/ZZyDNLH32\r\ngiCAixck3sr9YYzuakf4HNGWqseHTde6u5w=\r\n=uQUG\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"aydinakyol","email":"aydinakyol11@gmail.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.12.1_1649424937996_0.7178532493392387"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.12.3":{"name":"@pankod/refine-core","version":"3.12.3","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --dts --format esm,cjs,iife --legacy-output","build":"tsup --dts --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"antd":"^4.17.1","react":"^17.0.2","react-dom":"^17.0.2"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.12.0","@testing-library/react":"^11.2.6","@testing-library/react-hooks":"^5.0.3","@testing-library/user-event":"^12.8.3","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^17.0.4","@types/react-dom":"^17.0.4","@types/react-router-dom":"^5.1.8","@types/testing-library__jest-dom":"^5.9.5","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"^5.3.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.4.3"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","humanize-string":"^2.1.0","lodash":"^4.17.21","lodash-es":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","react-query":"^3.19.2","tslib":"^2.3.1"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"a7def1a56391421ea05e99b880586f22864d091f","publishConfig":{"access":"public"},"_id":"@pankod/refine-core@3.12.3","_nodeVersion":"16.14.2","_npmVersion":"lerna/4.0.0/node@v16.14.2+x64 (linux)","dist":{"integrity":"sha512-Gcw9jAUKWfTRHOsUvf40Btrb5zZFrJIT5Y1iGvSsmsTQORCBW+9CJIWC0Pq/Rwz4F9jtQLxi0CnQPrtseyCVnw==","shasum":"303346651ca16e70bb4a8d6e92a62549c59458e3","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.12.3.tgz","fileCount":215,"unpackedSize":1347803,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIB3tKkTHd0FPHOIzUcMUuZc2F4KrjxMPgdbiO4O1DSqeAiBVsBwIgX4/exCZ+8cZIVfZsA46U82i1aF5jz5IPhz8wg=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiV+uCACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpoSRAAh2UjEfHEJ4NEPADmmi1iGJAJaX2fg7eTUkmo6r4CO6E4masz\r\nwXt9ZKsaHsTthpudi3nutfXVa4iDNyvSsXjm2P+8MEzZazlc7v7Gs1yqgEJ0\r\nlMfF/L7fzz38eUQfexu6AFrHVQy4KHT7EJkvui4PMcq4Ebw4RADNOWw+HnmQ\r\nj3gJG7HCbCZkJuZ6yoZqoQWeIBjLvfezSr4E0SMd2kq5uey1Pmf8T58eB+aQ\r\ne4sGzk5IIhuzkLqQ5YkIxbyJaVkfbpdYLHOFwDqR4RGWDfdGoWZWihTa5j7A\r\nhJNSJSCmpRZ7ELzO/V/Adn2YQT7rM46pOCNRSrZw4VodxMEStIrLJnUOHZw7\r\nyDtLBDQSF48chBrJLM03vPvQ70uyGYu1AGwsS8BelyuPQkXpBnjCgd/Rtb6h\r\nbD33XPh1lb6LqgJLypwI/k2moY/qqcL+Uqu5VtrBIfBcWETtY/CGx8M1CaY3\r\neoLMxEmrHgC5TFbgbxYcf7tQpvYShYmLlxheqgM8LsMBCUGtrl53VULqjhlN\r\n7QHMCB3kreaBkQZcWrOcHXGwVjHdS80pHmHeFhpRScRQ63H0vtEg7CtfFRXR\r\nXuXLWDH6Zmu/mSEZU5xHpNubImOek3ny8p5QlZcAd0x6/eMzxxQCWNQywFKw\r\n+ARqt1cg6aGSSohjvMahO0S95dt7zEs0ILE=\r\n=+sDs\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"aydinakyol","email":"aydinakyol11@gmail.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.12.3_1649929090064_0.2231723482688941"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.14.0":{"name":"@pankod/refine-core","version":"3.14.0","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --dts --format esm,cjs,iife --legacy-output","build":"tsup --dts --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"antd":"^4.17.1","react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.12.0","@testing-library/react":"^11.2.6","@testing-library/react-hooks":"^5.0.3","@testing-library/user-event":"^12.8.3","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^17.0.4","@types/react-dom":"^17.0.4","@types/testing-library__jest-dom":"^5.9.5","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"^6.0.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.4.3"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","humanize-string":"^2.1.0","lodash":"^4.17.21","lodash-es":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","react-query":"^3.19.2","tslib":"^2.3.1"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"c8cfc8334c4eaa49293bbac552c2f87061d261e7","publishConfig":{"access":"public"},"_id":"@pankod/refine-core@3.14.0","_nodeVersion":"16.14.0","_npmVersion":"lerna/4.0.0/node@v16.14.0+arm64 (darwin)","dist":{"integrity":"sha512-m2zP0lpc9gH4nGGiRrkx7DSzlgRo0lqUB/UR5TgiKpmGrwykgiIOwt6iImkxBsOLwy4QRHN5Y38ySQGm8VLSLA==","shasum":"21f616795527bb1621dc1c59da3502b4932f745d","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.14.0.tgz","fileCount":400,"unpackedSize":3390447,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEzNpcC8mV6RiuxBW1+0Dk+RrY4bWK62R3D2vPLISwR9AiAFShiYYWBjvyFw923X44gVnl5pYBh2dpp+UXwWyHUKlA=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiWYCOACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmodLRAAknJNvB0b0w65bWw/kTElAiRaaNXpl2Z796CMlhVd1mh5WTzt\r\nL5eV+WMDoU4yqaWQhdGDOn/y7Z6Ba8NzavumYJPxVLnd8gir5sGe4qhhX2hr\r\nsPx/OMLzy0y/QflCfvhVdjiV/n1mSfZ7CUKyS8ogYr1pczO5Dky9Z/6LGL6p\r\n/TIIc+6IHsq0gKc0Pm3cHSm7Wa01jp/Av+vJa0TfYxjY05Yi5b3SrfYBa9SB\r\n8841jLEYbhZYU855hwWuo/+CiGp59rNWpdUpXnEsChgmMtcIkshZsketb7NO\r\nvCg6+ORQfwz6Dx9gPNpmixwtWoWu+gD0QTPcVMCU93vOCo5TI2AwPu8KLFEl\r\nH7WnheXNBjl5JOgpYGFF0tf6bi5zMl5R3RaNxRVwnSdtO8pAa+PxIsistSto\r\n7ktpl6mC00hej4QEQwWRWQPDbJxFvy9+r4B49PMh3ZSzrtfwZE+/5uGzwTfT\r\n+MXMkMf8Ai5RVYfLdH5pnIF0hSNJU3hl3lqs0TM+V3QYWOalo1lw6X+NRKON\r\nWEPBxyzP7D3MydoNvLj77kjHHD0eoDYDPp7BjKIicEVLHcmd7OCjxEL2uNwm\r\neSMNpqvTtrnN63Bx/K7lDup0wOFu4vq7Tauhx2ICIFbKODomfk89IYI5YSVc\r\nC0kiPvSayQwL2XE2fp1T5g2EJ9LaR4w8u6c=\r\n=7Seg\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"aydinakyol","email":"aydinakyol11@gmail.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.14.0_1650032782100_0.8183969322488107"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.14.1":{"name":"@pankod/refine-core","version":"3.14.1","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --dts --format esm,cjs,iife --legacy-output","build":"tsup --dts --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"antd":"^4.17.1","react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.12.0","@testing-library/react":"^11.2.6","@testing-library/react-hooks":"^5.0.3","@testing-library/user-event":"^12.8.3","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^17.0.4","@types/react-dom":"^17.0.4","@types/testing-library__jest-dom":"^5.9.5","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"^6.0.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.4.3"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","humanize-string":"^2.1.0","lodash":"^4.17.21","lodash-es":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","react-query":"^3.19.2","tslib":"^2.3.1"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"77f1ce2b860e0b8c9ed52adb03438a86bb91c3e8","publishConfig":{"access":"public"},"_id":"@pankod/refine-core@3.14.1","_nodeVersion":"16.14.2","_npmVersion":"lerna/4.0.0/node@v16.14.2+x64 (linux)","dist":{"integrity":"sha512-muGJ2rwQp+lO7ZPK3IdosxkgAioTzeFvnnXXlM/NKy4HMG/em9Y2Ep2/4jkTcry0xGuZ2h/caMjlzsv+1IoyYg==","shasum":"fb57f0454e16c01698455c5ee2e7639e22792153","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.14.1.tgz","fileCount":215,"unpackedSize":1348509,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCh+GmbGImjJImre+jGot6hsp0eMmjs1rK+4pSqPkr2QgIgHVexEP7BjXyVZR7HK/O0tHdwD1Tt2wBOyb8M6t0OLiQ="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiXSFpACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo5fQ//fClwqplpec3rKjfuk3ZpwwaW7HCQ4+1XuYrUOOMS/lDmT0IN\r\nh9bqPNoouTFv27ET+EF7D5MkMREjZXJOQ3GhBFKBBWhVK6GUUf3z2S5Xjd2d\r\nFapEcraU6DbIkpW7KQjT2/x3x4l2txNJmXtR8l6pKs0y1Ue0eT3bxZK1yrk7\r\nFm/z5bqpbmjsbMiaVAK9EF7NgUKIl4GFw6HSGZ6uROy22uQ5LHcmUyIpdwvk\r\nLcQijQ15ExUS1vWETmswaLIBD4yFQw943mt+qW3wWAVcOtrV5wTemev/R0d2\r\nJx5wdO7Bvq2OkEpTrHTGPD5DAUYWU3PL6UmNTZNahJX+pH8DxAQabvcZ4D3J\r\naGfs9KfIr7zC5o/qeL1ZbxYGMCeoHjm3KjR9tf/FsXNCl8OUQkFRiBHd7Jki\r\noGXXvN5zL8UTG8WdZ9zZFgkjN2AV8T3CuA/Len1h/gDzoXrW9GwDrXzuFJfo\r\nu+1t2vhlC5yrX11RvjfEs8vNh9V/AmQ4W+j6ychgNV4+ljdnBtuYRcKnjNwc\r\nq5NzSi+Q1/QAOpMO9XEVsCuWvYoy/L6uRMFerUskgerl13V1MB4BAtsndj4d\r\npUj0RIzFksDd9Pimo8IDGTaKAclHWzmJ2ZNdibSsdZm3F/oWveh99FM/yPzh\r\nEGTI+7QUuDbYAeVRx9E7YtqgDm8fzBPmFvk=\r\n=dwl1\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"aydinakyol","email":"aydinakyol11@gmail.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.14.1_1650270568721_0.16716173793241862"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.14.2":{"name":"@pankod/refine-core","version":"3.14.2","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --dts --format esm,cjs,iife --legacy-output","build":"tsup --dts --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"antd":"^4.17.1","react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.12.0","@testing-library/react":"^11.2.6","@testing-library/react-hooks":"^5.0.3","@testing-library/user-event":"^12.8.3","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^17.0.4","@types/react-dom":"^17.0.4","@types/testing-library__jest-dom":"^5.9.5","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"^6.0.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.4.3"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","humanize-string":"^2.1.0","lodash":"^4.17.21","lodash-es":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","react-query":"^3.19.2","tslib":"^2.3.1"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"4bbb5e2f1082f7c3962af20f95c4831610c5c7ae","publishConfig":{"access":"public"},"_id":"@pankod/refine-core@3.14.2","_nodeVersion":"16.14.2","_npmVersion":"lerna/4.0.0/node@v16.14.2+x64 (linux)","dist":{"integrity":"sha512-ag/XzOOg3QILAOb+03ljPhHn0YSAywO0+f9l2Rd/yF2muonMsm4d7+ZLtxqIAkRq/lC2e1ut3+Vo/3PqSEr47w==","shasum":"f2e9239bec941e284f43a56c5da29a486bd17829","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.14.2.tgz","fileCount":215,"unpackedSize":1352037,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC29YjJUx8zoS59meJHep/7H53eGtHDKv/ZCunbJV4jkgIhAMRFFMBKtLeWf0/UD22abwcUx/Del6yntKb1aHf+SUJ8"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiX67EACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrDVxAAjYFOPQJDtou3AMDtWPpOoLRk2JFa9Wiu9kPXAYgIzE1y6Dle\r\n8lTCNe86FrPI/UQ1r+8xOCjg5TXc1W6rafWY53rAWEf4WkHwWPzHXruySc44\r\nH80/0wOIXXiY6Qyk11QXKYTlCo/RKo6tPDzLmrX+Yo+4LHpIHuDvn9h/ZUYx\r\nQvbv5WO2zKpY1nCVMtWewigsiKQ1Gm6ugzbVkPNTS14F8mc3O5k530lPIGDK\r\ntmndm/Fjk6+XxrWAx+yDLoK0AMk8027aQqrsPWYtetcqUsmKc0tKuYhKSXIC\r\nNyMh48ieL1Bza6+EGPl+LGXvBDkQBNmg2jrQ6HB/wbTPQav11HSKYRyJlqqR\r\n4F4XDo4KLLE8+BzVUR24F2H02Ei1P+HkliMHyuANz8h9yM9r7AIYXdHTHCy9\r\nPEj3bVPzbNOnM6WZKgcPgrJXAYiiyMqQxckD5Lu+pLKf4+lydCV6arClnF5L\r\nJdku6oBqk4PQefbuuMrtX3xVKcFEFhS/6AUE2zN1jOu9klAHr//bi9dvZ3iG\r\nanKsbquDpqHS1rL4dGXwMRRhOz8yv0WzW1StexH389y+31w8YVd85zHEHk08\r\nu+LrJqs8hUGvZIsvvIVnQon1ysxBCOBxj+yo22dSIMslaK3YitAL9ChwXLyG\r\nn6pbWX0gBzXVDxCmUcERdjJ9YZvW6L0xbng=\r\n=J6Gu\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"aydinakyol","email":"aydinakyol11@gmail.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.14.2_1650437828632_0.4232387673116711"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.15.0":{"name":"@pankod/refine-core","version":"3.15.0","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --dts --format esm,cjs,iife --legacy-output","build":"tsup --dts --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"antd":"^4.17.1","react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.12.0","@testing-library/react":"^11.2.6","@testing-library/react-hooks":"^5.0.3","@testing-library/user-event":"^12.8.3","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^17.0.4","@types/react-dom":"^17.0.4","@types/testing-library__jest-dom":"^5.9.5","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"^6.0.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.4.3"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","humanize-string":"^2.1.0","lodash":"^4.17.21","lodash-es":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","react-query":"^3.19.2","tslib":"^2.3.1"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"8bd65d090819a1e5ae5656010c44cb18259d86d1","publishConfig":{"access":"public"},"_id":"@pankod/refine-core@3.15.0","_nodeVersion":"16.14.2","_npmVersion":"lerna/4.0.0/node@v16.14.2+x64 (linux)","dist":{"integrity":"sha512-MrDD9juXw6EyoVhMJ3yor1dTyiQYDpLUOvTRWE1qCms2OGz/BGB40KQN6oi3u0rTO/JrDQq1BSmLyqNp0ABMcQ==","shasum":"b29474e13daccfaebc8861e76a0f661aa76b9552","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.15.0.tgz","fileCount":215,"unpackedSize":1355654,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDXzldISzUwpEnt31KYUDZRzXgF9o1z2fe0vD2Mb5hImgIgVHW800tQDZBmPSucZhMqDnRcy+0r/ubpMeWQEyxNsz4="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiYSbQACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq1jA//awJXGhL2TQQTwz4BzE05l7svF3lGBHod0/omixW/lGNB+LR7\r\nS+rmfhZ29s5nco8dCl1TYiOU7VB8VAyFHR9XCcTwc/HTrKI6vnlQR+ONVJ1W\r\nbbdXsVOSPM3RdlhoywcfAxkb2ll3WN6Ef43hatpSYzaQZM0jmV5LsF4c4XAi\r\nszlFDAQ2LmJHHbESPrr2kEX4IsjSign3FdVwR8wmeEwemf21ADaJ2vdYgxPs\r\nvB6ka1Kz0HGFFzPmLCGw/hw/Jf640SWVIsufBQCW+lb5YPbnnHIj5zzPcbOX\r\nbvsMFMoHI5OCUK5BnDmlvthqh/0e4GLTtjxxu1jRfh6+8DCK+Zq9Vwu0o0CF\r\n1oM22gGVaLiriffb6odA0flLDSnzuPfCmtxz6zi+DWbQMlEPZK4lgtWVNq1i\r\nCrfjKtQRlbs4/X+/S7xm4rlG9riedhz03wTp/0KOQbw5+weyis8Qthm4yrU7\r\nNFn9PG0zOT0T+yCj/vFRE0/nkUXuE969xtXFrjLtgivh3LWptEvtCEAitMv8\r\nSv+WfT6KKMiR4M8lSWSXhApSbGOnp3tWSi28a8yvhz8kFBRT9IVd4P9X6Grh\r\nXKvLkzDJNxasPe9nOjRA2O0ISMuwPx701CfZBe6pOsSLurE0Cg78sCk/VA0W\r\n4yEoPMZP5CrAm2h5gmqWg6pInKODzzQlHg0=\r\n=Vhln\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"aydinakyol","email":"aydinakyol11@gmail.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.15.0_1650534095962_0.8604714999661152"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.15.1":{"name":"@pankod/refine-core","version":"3.15.1","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --dts --format esm,cjs,iife --legacy-output","build":"tsup --dts --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"antd":"^4.17.1","react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.12.0","@testing-library/react":"^11.2.6","@testing-library/react-hooks":"^5.0.3","@testing-library/user-event":"^12.8.3","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^17.0.4","@types/react-dom":"^17.0.4","@types/testing-library__jest-dom":"^5.9.5","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"^6.0.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.4.3"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","humanize-string":"^2.1.0","lodash":"^4.17.21","lodash-es":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","react-query":"^3.19.2","tslib":"^2.3.1"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"b07171386e5262672176c472bf48b3428d78ae79","publishConfig":{"access":"public"},"_id":"@pankod/refine-core@3.15.1","_nodeVersion":"16.14.2","_npmVersion":"lerna/4.0.0/node@v16.14.2+x64 (linux)","dist":{"integrity":"sha512-j/eNSRrL7GPh/cGaXcJp2XcxIrWb8I9MmEVzjSGamXIhvogeCTy4p9voR8CspNkRNceS3ctX9vZq1h2O4jqxDQ==","shasum":"3992a6ea90581c63bd2c694d7de7be80f22f484a","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.15.1.tgz","fileCount":215,"unpackedSize":1357284,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDGcjwGn1YF+3NqfW+b6Jt0rAx93b95AMfivL9AHeI5hwIgRU3LkyAz7ybR+jpGmkbxrMILreBlQJfwZ/NWSWH9bZA="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiYT2nACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpaFhAAgfZupEacs19ZcK8l+gBIizMA5uVHxYddMjsCJBx+276etfGg\r\nTJSe5vQ6CPhDq6Y0aqg8m5nbUqAtIVWq5QHh4OCdBhwlJRsYG2TKZbOLtcZ5\r\ns4kGsaJ52ph8dgjzBsqILpY6edcBx/JT/owgjOa1X8CX6pWAmuT5xfdZEmXq\r\n4XOojVqS1XQpgxTmy9LisEbULvs8Mxt1qJK+CdgjyoEu7fsxY3cbGSLfQxg9\r\nRPoO+1lmfmK1MLDyksxWwLJPiNVFdlJyq9InZhMRl725iQYXC+7x9WUnMMYU\r\nG5q7jwuk0l+Gq2Ser8+9HNkDr6sIel07pmprk8lkpjmwjcESriN3Lbg73kZp\r\ne0PmIUhhQLbz5kW7mkNkB5ApKFb3nyCfws2SQY4Kqh2AAFgDIK7Awbp5k2G3\r\nfnmAmldkvfEbnaUlWMnKi8d2N075UIIydmuxEKbeomAR4oKUm4sAVeULDTRx\r\nendgpVnKgXVT0ZUEiBoBIu8x74/Wt+Jnn0RbeBB8C9iJ+wmfdSwQyYsZKBZW\r\nUFOd9qJYLX4v4rKD8wwHNfIZagN7KZZjhf7g4dpLXUI7I8sDO2xbKLFLUTU3\r\nGNOynwI7BoxCUCGGiWvLlULDw9xXEkG/QAQlbZ2Gz706LdY/6/4hijsJv3mj\r\nKR2IvtbDlCFAyCxgHlg0Dr3PquiQ2b47SaA=\r\n=3zI6\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"aydinakyol","email":"aydinakyol11@gmail.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.15.1_1650539942900_0.8773168648427854"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.15.2":{"name":"@pankod/refine-core","version":"3.15.2","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --dts --format esm,cjs,iife --legacy-output","build":"tsup --dts --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"antd":"^4.17.1","react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.12.0","@testing-library/react":"^11.2.6","@testing-library/react-hooks":"^5.0.3","@testing-library/user-event":"^12.8.3","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^17.0.4","@types/react-dom":"^17.0.4","@types/testing-library__jest-dom":"^5.9.5","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"^6.0.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.4.3"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","humanize-string":"^2.1.0","lodash":"^4.17.21","lodash-es":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","react-query":"^3.19.2","tslib":"^2.3.1"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"c88d76c385b6c64a0cd5284334ab20e156795f7c","publishConfig":{"access":"public"},"_id":"@pankod/refine-core@3.15.2","_nodeVersion":"16.14.2","_npmVersion":"lerna/4.0.0/node@v16.14.2+x64 (linux)","dist":{"integrity":"sha512-tIeJPCztc/AnPWr4fJDVvXq40xGppC73wqoZrTFcDn4Ke2dB95Lun2xriqa2gwY4TizEbW1HjLCvY7rQdf8ecQ==","shasum":"e98c3314cabb8ced14213ef8570eb60673827f24","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.15.2.tgz","fileCount":215,"unpackedSize":1357695,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCxRjeTy+qeDJ1xt84awZyZHBxHbmgyuEE3E0kLiCe6wQIgSahVlnChfz4ox9PpjDfwXS153tcGdKs551gnxS9PWPs="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiYoe1ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoduBAAi8emo9vijR83xxHGnbGKw+bPOMa6zy5uiqYhGkj0CKEyYLmo\r\nyRptHImkU56ZbS7Igfj2FO/PL0U9DwF4PtQ3IZsrHfflDp+q8wuftAdELkkX\r\nHkDKPeVDsaeg0Nb15sbyp5Y4xJuSdtYi/KiIFunv0DiMKkIBSkWDV0/kywKl\r\nsmI7ovsZzQuAVKGagftmOIN0fB1fVs1Dy3U6u1a2hc3gE5sPcu5yxshv5Kxr\r\nLcXrq4+AwhBax/kw+9FF+LtFiObkCqkwsrX5PO09+FTXrfpuo/23KHX22enj\r\ndHQ+GtBKtog9ZBQTajuf8wJ1gO56YyVykXwff9BwWdIy/1y4jvbW8yB2xSAq\r\nEd6DLgElVPokWx5HsooqgT9YHnJIpV5LNCTl8+4TuSvCvEt8TRcB5oZPtvmu\r\nwpjziUeyhezDG5wT1n55k8Muqxk6ExP3sR6H1sHamwerKY3nM2fkEUVooes3\r\npSTAmgcYmnoqGXaF6lqA6EWyr8selYjKmuuhX9Dk3YyhHnP1IondnlkBDN+0\r\nbtVGmUPMbAsm/9XkcPB5w7gbxMbR4opclgqLFFJ5ed+Euq8/+Hc5Isgtgxiy\r\nOo4FWvX9394IJ87G5t089GUG6h7BvO6icGZpaQ0LO59UbEBWKx13SyPDzdwH\r\njXSKo+eCkxk+2Cji33tpD3hPBwGHTplq/08=\r\n=6Yv/\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"aydinakyol","email":"aydinakyol11@gmail.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.15.2_1650624437424_0.6598909756561662"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.16.0":{"name":"@pankod/refine-core","version":"3.16.0","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --dts --format esm,cjs,iife --legacy-output","build":"tsup --dts --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"antd":"^4.17.1","react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.12.0","@testing-library/react":"^11.2.6","@testing-library/react-hooks":"^5.0.3","@testing-library/user-event":"^12.8.3","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^17.0.4","@types/react-dom":"^17.0.4","@types/testing-library__jest-dom":"^5.9.5","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"^6.0.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.4.3"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","humanize-string":"^2.1.0","lodash":"^4.17.21","lodash-es":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","react-query":"^3.19.2","tslib":"^2.3.1"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"fabe49624cd171be84c4b3eb3cd508fb4a5b262d","publishConfig":{"access":"public"},"_id":"@pankod/refine-core@3.16.0","_nodeVersion":"16.14.2","_npmVersion":"lerna/4.0.0/node@v16.14.2+x64 (linux)","dist":{"integrity":"sha512-3xdywdTzPv9j6fvG1SgjH51jkiNwW1ahairrHuNfLfFYxu1/HXzYuRhA27NOXQEYLDbFCqNF9hJOHmUsD94I4A==","shasum":"5d4d1dffe8317c2b02cfe04b9c7f61b113c76cdc","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.16.0.tgz","fileCount":215,"unpackedSize":1360384,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDbYiMUrn17GA2oqLYoN5v837jdCK3dpD44vO+tImrCHAIhAK4F5WsRTb4fHckjZ0hUXFtmsHUHjGNrf0mm4Q7QHhdn"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiYp+BACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoYKQ//S0B1JcwJ9weT5QqHFbnOxX0Gx1Qwuo22ZwgjuAc8wnxdT9KU\r\nu2Y+mUlzD9PU6VEqHhgFAzBFDzZosGNYddzidzjoRlc4tWUoEs2ZcFgb1KtJ\r\nGobQ/dadOkxiuzFElCQYNnhCldiHmhxK5HIaWkRBdwDXpIVs794g/MCD1Mdp\r\n/i26Bt7HnYS9u7eiwyBjxGDI682ykhyov65Bf/YRsF1Jd8K6R4iBYiQ4QuEp\r\nZSSGgYrlUTKp9rlFz4K0QzyUldmnNroxW96EmmKnQxQtAeLSmtLhkcXtlDde\r\nNiNjWmlK/z3TZk4lmkoJhyxdzRKBC47L6OwnMRDzkEsF3AY+EYhe3nVTusyJ\r\nZubZx9aW/p1CbrzG0xGWdxov2oszGcfBhzi1HpwPkNKO3bcrYVzohS3fO/tG\r\nMqxkWtmm6eGE1K4H969FZr/AzgWxhHYGGJtYetxp5/6eMxmFU36ymHs8tOYd\r\nnRv89kdQfB66esE5XNjEwEWU+DoiZwvYsH9qCjAJUhSgppmkOoreWFaIY5kY\r\n5OaX58W63ofv2dn46l/etdEzs9E9SPLurqV5la9aU4bZVtp/zzWrGLgTsVRi\r\n2MQhXyOFBxdDg7FeMUJ+cAKjFDZ5IBtx9+uq774CKAYseUrFhxtBZyO2S8fS\r\nvgOiAfRYzrQSZwsY20RHhdZpvu+CGPzDfCc=\r\n=qiLx\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"aydinakyol","email":"aydinakyol11@gmail.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.16.0_1650630529432_0.7929938164483179"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.16.2":{"name":"@pankod/refine-core","version":"3.16.2","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --dts --format esm,cjs,iife --legacy-output","build":"tsup --dts --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"antd":"^4.17.1","react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.12.0","@testing-library/react":"^11.2.6","@testing-library/react-hooks":"^5.0.3","@testing-library/user-event":"^12.8.3","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^17.0.4","@types/react-dom":"^17.0.4","@types/testing-library__jest-dom":"^5.9.5","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"^6.0.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.4.3"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","humanize-string":"^2.1.0","lodash":"^4.17.21","lodash-es":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","react-query":"^3.19.2","tslib":"^2.3.1"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"b476a9c2cda0e6cf43fd005e1c0383d39441d1d4","publishConfig":{"access":"public"},"_id":"@pankod/refine-core@3.16.2","_nodeVersion":"16.14.2","_npmVersion":"lerna/4.0.0/node@v16.14.2+x64 (linux)","dist":{"integrity":"sha512-yXlKfgfHSps3c8rRlabSC5S0dEPcI0dD+BJpSgE2jo2FKZ+N6IzMrYFZMBD4icg5F4pCXXa1XRbmL4clm3cOiQ==","shasum":"74c95436d4d347bb49cd262fceb7aadcaa28ed02","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.16.2.tgz","fileCount":215,"unpackedSize":1360569,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDvnrhdQ8SB3xNZc86QJvdzh/uKfWldgSBkLBKAmaOS1AiBHzO+ksWkfWnznvhaCmy9ldYyRU0T/soSXOIyH8n+fCg=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiZ+hLACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqrZg/9GUggrvgIEC/LRvVg1kq4HQKFLlktMDiKDHfyBRyMqvNnznHm\r\nWX2I6rcfq+bqCtNif/yETtznON+gmG2AMnqp63k1sKL/qNd7s9MTbMW9hLa9\r\nhJX6b7WeapFcPGiwhvwy1QEqPXvFaLoqwuuxagEW7Ak4icjZvudEfEsoXY5x\r\n0PzaFprGKdDlTrGJnZvhdaa+UM4OQW4+NyzJYSguFgwXcyoCEzRNT/b/w+qx\r\n0ZlG7rg/kSHF5LA2mr7T4tUqOnahfZV9/SCozD89JDf6W9ATuwfNc8GUAr67\r\nQkZcS2NCW8+l7RoNoM4K6ujz0L/L7VYVY6a150tfk/BKPkBO4uDrliNM4GDv\r\nTlQr6LLeMAhXsyMV2DkXW3qiq2htobXmhtb2R6WA53Onwv7nOBZcWkjgst9n\r\nsnN0hYUdxzxQ95nnWdIRYCYHbF+qD2Qvki2Aqda+Nzp7MtxJg6S8MoqVEZ85\r\nDAsBw9+vHS3YA9K9rILtUlEC7HdTI4+4JflYuL95KRPNNnLyjN9vw6i8eA6O\r\nJdTwcAbQ/G326uhDMjbfCLTjMlTC8rO4L6DsfVhJyZMIcznPh7GH18IcbY0n\r\nn16QWQz8IOq4aZRWAz79zk7p26xK5YJZWaXm7JnkjinXxn1GHgM7jU53SPgo\r\nHlCmt2BCFVXafBQvJkF6elRjVQAvafoaTWk=\r\n=8kl4\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"aydinakyol","email":"aydinakyol11@gmail.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.16.2_1650976842890_0.4458389799635185"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.16.4":{"name":"@pankod/refine-core","version":"3.16.4","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --dts --format esm,cjs,iife --legacy-output","build":"tsup --dts --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"antd":"^4.17.1","react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.12.0","@testing-library/react":"^11.2.6","@testing-library/react-hooks":"^5.0.3","@testing-library/user-event":"^12.8.3","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^17.0.4","@types/react-dom":"^17.0.4","@types/testing-library__jest-dom":"^5.9.5","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"^6.0.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.4.3"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","humanize-string":"^2.1.0","lodash":"^4.17.21","lodash-es":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","react-query":"^3.19.2","tslib":"^2.3.1"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"24a695b577374a4609c38025f3fa0a65ee6443db","publishConfig":{"access":"public"},"_id":"@pankod/refine-core@3.16.4","_nodeVersion":"16.15.0","_npmVersion":"lerna/4.0.0/node@v16.15.0+x64 (linux)","dist":{"integrity":"sha512-6fqavdNCWTaUloF/+6CGdXa24X9bQLOHmcf8yDtdr9wD3L06aMbxlu9zDaq8QvQ3kzE/a7HOfrmyHisFGTENGg==","shasum":"4d14ce51411f77d0421e4e3dc3bc09e71e1b620a","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.16.4.tgz","fileCount":215,"unpackedSize":1361939,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD9Z0hBAcK9po758e+FO26usjTdSKT8a0AL9umXObaTbwIgPSw3AaYCc4S7L2AZtO9WC9ZWCtetxcNYrOdtxr8f95Y="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJieOOlACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqGEg//Z/fUIHvWxIIggx5Qq/LSVSZEMqglBMXUnyuCCKKdXTqdHIfO\r\naF7uOs/VNK9iO9LN/a+Ijq2poxVld3UZvbUBB5af3mocK45NFKfSEg/TwbYo\r\nJf4ruhHwepejtkNBujq0rzgqy9Cx74J6xQ+jK4IV8l2EyvQLmCWmRjBmc3bF\r\nkA7ASTP7ToGAiIpQejwu5AnT1DzXmx/IJhEf87PQlVP8TF310FnMUsp6HEm2\r\nO+8emMbWo9sgkIfkCPs0AUlNmY9A/6kYm3434flBLIPbH3A2bhG2cidDH2gU\r\nQpwpiHyjxbR5kQqmVK8BL25S3+Y4IbYGV1utooz5PjJdz9zbdn8n0atr0C42\r\nOU+ixN9uQTVAqKdjs0xxLzoxACN1DLs09lLh7uGDjx1w8LoHpsb2NTRTg5e+\r\nHo4dSeU5/mnBHYDj+Pxfmq8u0dMx1vUACBq4Dw1a4rngskmt/r+80JL55gbA\r\nTbQepQ+Fo2vYK1KTGZnaINd9FoHmD4725Tp+SD/eMAZRtleuvlXtUiy2XGjb\r\nDIPVP3AQZ8EfChj5bEO+ZAU59ZkFEjZdx+FyOrEDGqoluGFVCAXud9U5p7YJ\r\nLfhraVtvvaoQQ1MhXTg81fLV3A7opI7AD7cQ2QEPLCwgKwcN4sqZ/KtLklbB\r\nZ2vIbygQrnBe8Xu4BoaIy/TZ7KpQLQ4zI1M=\r\n=dWjD\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"aydinakyol","email":"aydinakyol11@gmail.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.16.4_1652089765333_0.15968139274483595"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.18.0":{"name":"@pankod/refine-core","version":"3.18.0","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --dts --format esm,cjs,iife --legacy-output","build":"tsup --dts --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"antd":"^4.17.1","react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.12.0","@testing-library/react":"^11.2.6","@testing-library/react-hooks":"^5.0.3","@testing-library/user-event":"^12.8.3","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^17.0.4","@types/react-dom":"^17.0.4","@types/testing-library__jest-dom":"^5.9.5","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"^6.0.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.4.3"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","humanize-string":"^2.1.0","lodash":"^4.17.21","lodash-es":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","react-query":"^3.19.2","tslib":"^2.3.1"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"de98226464d932cf27bd8ad0e2b280d270ca0423","publishConfig":{"access":"public"},"_id":"@pankod/refine-core@3.18.0","_nodeVersion":"16.15.0","_npmVersion":"lerna/4.0.0/node@v16.15.0+x64 (linux)","dist":{"integrity":"sha512-4ZpOCR9Jr4aBYrcKdNOQjyb9W2VaOxdSOJIyvkqAm4KzcN/qTimSU7JUhii5oSLcqCVXJayiYBOK5RWs4NkRHw==","shasum":"91fea9c5a82ae8c86cd5116e0200f54f3646715f","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.18.0.tgz","fileCount":215,"unpackedSize":1363234,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIF0B+mjPi2cRQkd8pe37pblxZFlNv67GkXz7WAEbmACzAiBxy65O2kTieJP9HQHjNl/y9uKAQpxAZKONGh8HgwnWsw=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJie3oHACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrvLA//cGPTv1J4vnTV7DJscligZwUPQ8XZIS/SuTv9CQo5xsWpAAgP\r\nMMon1ARWcgS222cLbDleH/tj1QF4MHmeNVpdhko20KKFpNzctU3tGETOFBQ8\r\nDA7OloBM0MoPMHzQ5hHik1MPObJp/QxKCpRLNzIpzXpu5LRi0UOJgmts/Suu\r\nXlnGEZFbv+dqXFTAILnLfKw0oAYdjNdwxR+pd8lRPkxVpVnsJgl2SK+o5f3a\r\nxEqBVJNWqSdfoPvzMBcRf3VwK0ysCt6SYgxpqzes4mxYeeT7vzG1qkoMEXJ3\r\nQu6f/vtgTifKaO+g+CEVXW154iX+JbH9L/205t6FUzCHTzcy8rZuwfIXmyfG\r\nliUkW04704+IAMEuqXTGKehjyty9JzemQO0r8cd1SX9oQH1XSquS61GHj6cG\r\n4Cv9lTKuz4n37++oGUnDes0jyUTfqBeXqwubx8w7lc9m/kCCjMPnwxsI3Rqm\r\nN2fVEU66Mky+04+ILZ4s8wabfNLoK0aRT18SLZuGPm0mNHggmg8F2X8sxZQK\r\nDcRpJgJl25RZFmsE/yVLAqRE61neH8R3BEps/lapG0fzASxyMY3p7VriyGQh\r\nQVKmHohZ30/yAyIEGMHcgaYB59CT4yjF6U4olk7Mgh62TU7U6s+CsQNlI17n\r\nBgVet4RtWm7T8DLtwR3tmBxyAnIUHxZMNtM=\r\n=mYI3\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"aydinakyol","email":"aydinakyol11@gmail.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.18.0_1652259335130_0.20682693604836122"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.18.2":{"name":"@pankod/refine-core","version":"3.18.2","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --dts --format esm,cjs,iife --legacy-output","build":"tsup --dts --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.12.0","@testing-library/react":"^11.2.6","@testing-library/react-hooks":"^5.0.3","@testing-library/user-event":"^12.8.3","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^17.0.4","@types/react-dom":"^17.0.4","@types/testing-library__jest-dom":"^5.9.5","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"^6.0.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.4.3"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","humanize-string":"^2.1.0","lodash":"^4.17.21","lodash-es":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","react-query":"^3.19.2","tslib":"^2.3.1"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"f1251576eeda54d252b8c02b1d4d0baf573209fd","publishConfig":{"access":"public"},"readme":"<div align=\"center\" style=\"margin: 30px;\">\n<a href=\"https://refine.dev/\">\n  <img src=\"https://raw.githubusercontent.com/pankod/refine/master/logo.png\"   style=\"width:250px;\" align=\"center\" />\n</a>\n<br />\n<br />\n\n<div align=\"center\">\n    <a href=\"https://refine.dev\">Home Page</a> |\n    <a href=\"https://refine.dev/demo/\">Demo</a> | \n    <a href=\"https://refine.dev/blog/\">Blog</a> | \n    <a href=\"https://refine.dev/docs/\">Documentation</a> | \n    <a href=\"https://github.com/pankod/refine/projects/1\">Roadmap</a> | \n    <a href=\"https://refine.dev/docs/examples/tutorial/\">Examples</a> | \n    <a href=\"https://refine.dev/enterprise/\">Enterprise</a> | \n    <a href=\"https://discord.gg/refine\">Discord</a>\n</div>\n\n</div>\n<br/>\n\n<div align=\"center\"><strong>refine</strong> is a <a href=\"https://reactjs.org/\">React</a>-based framework for building internal tools, rapidly. ✨ It ships with <a href=\"https://ant.design/\">Ant Design System</a>, an enterprise-level UI toolkit.</div>\n\n<br />\n\n<div align=\"center\">\n\n[![Discord](https://img.shields.io/discord/837692625737613362.svg?label=&logo=discord&logoColor=ffffff&color=7389D8&labelColor=6A7EC2)](https://discord.gg/refine)\n![Twitter Follow](https://img.shields.io/twitter/follow/refine_dev?style=social)\n\n<a href=\"https://www.producthunt.com/posts/refine-open-source-react-framework?utm_source=badge-featured&utm_medium=badge&utm_souce=badge-refine-open-source-react-framework\" target=\"_blank\"><img src=\"https://api.producthunt.com/widgets/embed-image/v1/featured.svg?post_id=319164&theme=light\" alt=\"refine: Open Source React Framework - Focus your business logic. refine will do the rest. | Product Hunt\" style=\"width: 250px; height: 54px;\" width=\"250\" height=\"54\" /></a>\n\n[![Meercode CI Score](https://meercode.io/badge/pankod/refine?type=ci-score&branch=master&token=2ZiT8YsoJgt57JB23NYwXrFY3rJHZboT&lastDay=31)](https://meercode.io/)\n[![Meercode CI Success Rate](https://meercode.io/badge/pankod/refine?type=ci-success-rate&branch=master&token=2ZiT8YsoJgt57JB23NYwXrFY3rJHZboT&lastDay=31)](https://meercode.io/)\n[![Maintainability](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/maintainability)](https://codeclimate.com/github/pankod/refine/maintainability)\n[![Test Coverage](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/test_coverage)](https://codeclimate.com/github/pankod/refine/test_coverage)\n[![npm version](https://img.shields.io/npm/v/@pankod/refine-core.svg)](https://www.npmjs.com/package/@pankod/refine-core)\n[![npm](https://img.shields.io/npm/dm/@pankod/refine-core)](https://www.npmjs.com/package/@pankod/refine-core)\n[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.0-4baaaa.svg)](code_of_conduct.md)\n\n\n</div>\n\n<div align=\"center\">\n  <sub>Created by <a href=\"https://www.pankod.com\">Pankod</a></sub>\n</div>\n\n## About\n\n[**refine**](https://refine.dev/) offers lots of out-of-the box functionality for rapid development, without compromising extreme customizability. Use-cases include, but are not limited to _admin panels_, _B2B applications_ and _dashboards_.\n\n## Documentation\n\nFor more detailed information and usage, refer to the [refine documentation](https://refine.dev/docs/).\n\n## What is refine?\n\n**refine** is a [React](https://reactjs.org/)-based framework for building internal tools, rapidly. :sparkles: It ships with [Ant Design System](https://ant.design/), an enterprise-level UI toolkit.\n\nRefine offers lots of out-of-the box functionality for rapid development, without compromising extreme customizability. Use-cases include, but are not limited to _admin panels_, _B2B applications_ and _dashboards_.\n\n## What is a \"headless\" Framework?\n**refine** is a **headless** React framework, which means all out-of-the-box features(**Routing**, **Networking**, **Authentication**, **Authorization**, **State Management**, **Realtime**, **i18n**, etc.), it can be used without being tied to any UI elements or framework. Also, Ant Design as out-of-the-box is supported.\n\n- Customization & Extensibility -  UI is a completely customizable area and each developer uses different solutions. **refine** features does not restrict or interfere with your UI structure. **refine** allows the you to design and customizable the UI based on their unique use case.\n\n- Separation of Concerns - **refine** as a framework, is not responsible for your UI and is independent.\n\n- Maintenance - By removing the API surface to support every UI use case, **refine** easy to use and update/maintain is simple.\n\n###\n\n## Key features\n\n🔥 **Headless** : Works with any UI framework\n\n⚙️ **Zero-configuration**: One-line setup with [superplate](https://github.com/pankod/superplate). It takes less than a minute to start a project.\n\n📦 **Out-of-the-box** : Routing, networking, authentication, state management, i18n and UI.\n\n🔌 **Backend Agnostic** : Connects to any custom backend. Built-in support for [REST API](https://github.com/pankod/refine/tree/master/packages/simple-rest), [GraphQL](https://github.com/pankod/refine/tree/master/packages/graphql), [NestJs CRUD](https://github.com/pankod/refine/tree/master/packages/nestjsx-crud), [Airtable](https://github.com/pankod/refine/tree/master/packages/airtable), [Strapi](https://github.com/pankod/refine/tree/master/packages/strapi), [Strapi v4](https://github.com/pankod/refine/tree/master/packages/strapi-v4), [Strapi GraphQL](https://github.com/pankod/refine/tree/master/packages/strapi-graphql), [Supabase](https://github.com/pankod/refine/tree/master/packages/supabase), [Hasura](https://github.com/pankod/refine/tree/master/packages/hasura), [Appwrite](https://github.com/pankod/refine/tree/master/packages/appwrite), [Firebase](https://firebase.google.com/), [Directus](https://directus.io/) and [Altogic](https://github.com/pankod/refine/tree/master/packages/altogic).\n\n📝 **Native Typescript Core** : You can always opt out for plain JavaScript.\n\n🐜 **Enterprise UI** : Works seamlessly with Ant Design System. (Support for multiple UI frameworks is on the Roadmap)\n\n📝 **Boilerplate-free Code** : Keeps your codebase clean and readable.\n\n## Motivation\n\nHigher-level frontend frameworks can save you a lot time, but they typically offer you a trade-off between speed and flexibility.\n\nAfter many years of experience in developing B2B frontend applications and working with popular frameworks, we came up with a new approach to tackle this dilemma. This is how **refine** is born.\n\n**refine** is a collection of helper `hooks`, `components` and `providers`. They are all decoupled from your UI components and business logic, so they never keep you from customizing your UI or coding your own flow.\n\nAs **refine** is totally _unopinionated_ about UI and logic, it's strongly _opinionated_ about three parts of your application:\n\n1. **API Networking**\n2. **State Management**\n3. **Authentication & Authorization**\n\nWe believe, these are the most important components of a data-intensive frontend application and should be handled in a robust way by leveraging industry best practices.\n\n**refine** guarantees you a perfect implementation of these building blocks in your project, so you can focus on your development.\n\n## Architecture\n\n**refine** makes extensive use of [hooks](https://reactjs.org/docs/hooks-reference.html#gatsby-focus-wrapper) as a default way for interacting with your components.\nUnder the hood, **refine** relies heavily to [React Query](https://react-query.tanstack.com/) for data handling, caching and state management.\nAccess to external sources and API's happen via providers which are basically plug-in type components for extendibility.\n\n<br/>\n\n<div align=\"center\">\n    <img src=\"https://raw.githubusercontent.com/pankod/refine/master/documentation/static/img/getting-started/refine_architecture.png\" width=\"400px\" />\n</div>\n\n## Benchmark\n\nAfter releasing the first internal versions, we had the chance to migrate some of our _React_ projects to **refine**.\nIn addition to **shorter development** times and **overall performance gains**, we've measured significant reduction in project size.\n\n**refine** makes your codebase significantly smaller, by eliminating redundant code such as _reducers_, _actions_ and _unit tests_. Below is a size comparison for an example project:\n\n<br/>\n\n<div align=\"center\">\n    <img src=\"https://raw.githubusercontent.com/pankod/refine/master/documentation/static/img/getting-started/benchmark.png\" width=\"400px\" align=\"center\" />\n</div>\n\n## Quick Start\n\nRun the **superplate** tool with the following command:\n\n```\nnpx superplate-cli -p refine-react tutorial\n```\n\nFollow the _CLI wizard_ to select options and start creating your project.\n\nAfter setup is complete, navigate to the project folder and start your project with:\n\n```\nnpm run dev\n```\n\nYour **refine** application will be accessible at [http://localhost:3000](http://localhost:3000).\n\nReplace the contents of `App.tsx` with the following code:\n\n```tsx title=\"App.tsx\"\nmport { Refine, useMany } from \"@pankod/refine-core\";\nimport {\n    useTable,\n    List,\n    Table,\n    DateField,\n} from \"@pankod/refine-antd\";\nimport routerProvider from \"@pankod/refine-react-router-v6\";\nimport dataProvider from \"@pankod/refine-simple-rest\";\n\nimport \"@pankod/refine-antd/dist/styles.min.css\";\n\nconst App: React.FC = () => {\n    return (\n        <Refine\n            routerProvider={routerProvider}\n            dataProvider={dataProvider(\"https://api.fake-rest.refine.dev\")}\n            resources={[{ name: \"posts\", list: PostList }]}\n        />\n    );\n};\n\nexport const PostList: React.FC = () => {\n    const { tableProps } = useTable<IPost>();\n\n    const categoryIds =\n        tableProps?.dataSource?.map((item) => item.category.id) ?? [];\n\n    const { data, isLoading } = useMany<ICategory>({\n        resource: \"categories\",\n        ids: categoryIds,\n        queryOptions: {\n            enabled: categoryIds.length > 0,\n        },\n    });\n\n    return (\n        <List>\n            <Table<IPost> {...tableProps} rowKey=\"id\">\n                <Table.Column dataIndex=\"title\" title=\"title\" />\n                <Table.Column\n                    dataIndex={[\"category\", \"id\"]}\n                    title=\"category\"\n                    render={(value: string) => {\n                        if (isLoading) {\n                            return \"loading...\";\n                        }\n\n                        return data?.data.find(\n                            (item: ICategory) => item.id === value,\n                        )?.title;\n                    }}\n                />\n                <Table.Column\n                    dataIndex=\"createdAt\"\n                    title=\"createdAt\"\n                    render={(value) => <DateField format=\"LLL\" value={value} />}\n                />\n            </Table>\n        </List>\n    );\n};\n\nexport default App;\n```\n\n```tsx title=\"interfaces.d.ts\"\ninterface IPost {\n    title: string;\n    createdAt: string;\n    category: ICategory;\n}\n\ninterface ICategory {\n    id: string;\n    title: string;\n}\n```\n\n## Roadmap\nYou can find Refine's <a href=\"https://github.com/pankod/refine/projects/1\">Public Roadmap here!</a> \n\n## Stargazers\n\n[![Stargazers repo roster for pankod/refine](https://reporoster.com/stars/pankod/refine)](https://github.com/pankod/refine/stargazers)\n\n## Contribution\n\nIf you have a bug to report, do not hesitate to file an issue.\n\nIf you are willing to fix an issue or propose a feature; all PRs with clear explanations are welcome and encouraged.\n\n## License\n\nLicensed under the MIT License, Copyright © 2021-present Pankod\n\n## Special Thanks\n\n[React Admin](https://marmelab.com/react-admin/) has been a great source of ideas and inspiration for refine. Big thanks to friends at [Marmelab](https://marmelab.com) for the amazing work they are doing.\n","readmeFilename":"README.md","_id":"@pankod/refine-core@3.18.2","_nodeVersion":"16.14.0","_npmVersion":"lerna/4.0.0/node@v16.14.0+arm64 (darwin)","dist":{"integrity":"sha512-o6FmBJkpnA2Sk/kPTQhP1Eb/Z5GabGEGz71aqA5uXjfHEkTXSssBOse5pY1XkLwlT3HmywtQ18pEEVSQ8AvzQg==","shasum":"4b7836e5b748d4d484bea52207ab416e38ac1ec7","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.18.2.tgz","fileCount":215,"unpackedSize":1363207,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFm4DDcAJ06AKNjmhWu1w1WLTRcgVry/KTff7qJNu5yEAiEA+KuA/EFauTTrqgLfiBWCK3mVp+wR8khd+W/HaCe/USI="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJifO1YACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrVDw//W7oOZqvZfC5UPzKXAw2+H2KNTnkW6hZ5pqX/QM7DUBKOLdp0\r\n+4SC9P3HpJKkZPTZTIYxREdTZJit19uKCvP8AwmKbBJmf1OIXWadO2JxPVlb\r\n966ilYYm89BcM0EQJC8f974E0gOfClQ6Ua39oLUXsz2K6R0uVjxlIuw7GF8J\r\nJzsAf02IDP8O+YqU9MCDlmpkloJcOmzIfMuySWdlU44uJdT8bi4KHwMYiXOM\r\nVbaRnpGDGSF+UoIuxHCuwtYArD8pSstVOWGyhnhh7Riq5WI6Hzov57RC1Ivc\r\nj9wvt1JtMP0S+96oDGrfeEQ2ha+Ddzg4wyjWAzeelP2QUV8YypFUqlXQ+QR2\r\nOfk56KCWIQuNocTOqMgIzI1RAW+4GoGCc9K2LEsNl0Jv9SWEv0mtGoqNFu3d\r\nH4d5FjjbDEzrQTn09fUo9Jr4YaQ2w3hsRj9q23m2LMcyiGeaXbSPKibuYkZB\r\nEnsYRIsyPXiGTwzTfyKZItyNEf2KykUNTiNBzDioGRYTrnQlzI43jJ1GwgFU\r\nLX5cDKHfMYfZo9YF080QdznL7hgAfNeG5nGHl7eAs7IkGpX+r+vP+6OlYgQk\r\nOJG8j7tUrEozlNmvwMxwjFIHtXfpuV0RXvHrUqgeA/dkRNSFrC84dlLpm0ww\r\n54M3h6W1CAOTH8L4X3r7c9wj5Mh9BikGOzE=\r\n=Gijk\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"aydinakyol","email":"aydinakyol11@gmail.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.18.2_1652354392496_0.7431336434274387"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.19.0":{"name":"@pankod/refine-core","version":"3.19.0","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --dts --format esm,cjs,iife --legacy-output","build":"tsup --dts --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.12.0","@testing-library/react":"^11.2.6","@testing-library/react-hooks":"^5.0.3","@testing-library/user-event":"^12.8.3","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^17.0.4","@types/react-dom":"^17.0.4","@types/testing-library__jest-dom":"^5.9.5","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"^6.0.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.4.3"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","humanize-string":"^2.1.0","lodash":"^4.17.21","lodash-es":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","react-query":"^3.19.2","tslib":"^2.3.1"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"1c2d26ae46673f103e32b1eae9f255fcb9cb6960","publishConfig":{"access":"public"},"_id":"@pankod/refine-core@3.19.0","_nodeVersion":"16.15.0","_npmVersion":"lerna/4.0.0/node@v16.15.0+x64 (linux)","dist":{"integrity":"sha512-PIgU8yuEC0OJB7z6RwZfUsQl3Td/rhPAEc6ZrCWkyZ5Mw3N/JcQpNjTyZifbymxBBrzwJdyFACNgydKj2sXEhg==","shasum":"a043a53aeba8ee40c891a159e00efb306956fc7d","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.19.0.tgz","fileCount":215,"unpackedSize":1363207,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDTWxpwnOCkkE6CC+ctM/Y4WcneefdTMzxuwNprEc+FPAIgO176g+fiyI8jnwcvrYSy4wUPzsnUVjj55DHGwbEZX1U="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJifQTTACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqmGg/8C8PB+LQEDXVOSIXZaXAGfOEkkduc6qwCnBEqWUUYTJh5MPqc\r\nQ2xu3bwuSKmUXroYXePZ8xJuJAkkBjFJfLBQsdml6O/5KApo3XhYBktg1mtD\r\nVrqyODcvjl8YUVyBtzWRyB4uC7o3tHunX746IIvejR5MqNsZPXMJbqEIxe4v\r\n6lyG0F0XigBGd5AE53yMWqPUZtsSjEphUBzNgXQCrT3SnU/wr4bh3G/5aePb\r\niy6zF5PoEGsAUHAETAp7bR56hgULb1h+L5hcAniMC3tbuEj68ituRl00Ykbs\r\nSPjYw8HhL1l96Am6CQC4YOIq7WodbZGdl77bythqGPJg//QSrHF0gueZEQ9Q\r\npW1H1TtesUizQXIW9LiDAAat67kEJrcaJ1gWfxbm2YIwno3WW8E74R7B79Cd\r\nZ24HEuuGq4BRl9zANvrJLe5QsqeU1pQxwyO5mFfHmZZ0Lr++lcjcLAgFk25d\r\nm//fQ5HMzXIfH1/vzTEdp9PSDdBN99fk5wM3NP0JqQ8gpGzFhGD4XhiKvXiD\r\nDTD3uT4j2eRrTuw9UVXhoES97h+x66muQngTlsqbKe7J+vbba0ank0LVElCr\r\nwNGIuvHT/XU1DH3Tu78qe+Lj1jbM52ChC3X4Ubh6JH16/8Pe0GiC4Real3m5\r\nOTU9PVGQIoRLs1Jyo4V/mw2Sj8ZzPxgBRlo=\r\n=Tyka\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"aydinakyol","email":"aydinakyol11@gmail.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.19.0_1652360402521_0.11467776184530765"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.20.0":{"name":"@pankod/refine-core","version":"3.20.0","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --dts --format esm,cjs,iife --legacy-output","build":"tsup --dts --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.12.0","@testing-library/react":"^11.2.6","@testing-library/react-hooks":"^5.0.3","@testing-library/user-event":"^12.8.3","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^17.0.4","@types/react-dom":"^17.0.4","@types/testing-library__jest-dom":"^5.9.5","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"^6.0.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.4.3"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","humanize-string":"^2.1.0","lodash":"^4.17.21","lodash-es":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","react-query":"^3.19.2","tslib":"^2.3.1"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"8b403b0c71b7e14b61e7b11bec42b24f069f7502","publishConfig":{"access":"public"},"_id":"@pankod/refine-core@3.20.0","_nodeVersion":"16.15.0","_npmVersion":"lerna/4.0.0/node@v16.15.0+x64 (linux)","dist":{"integrity":"sha512-IT3R09V0dSsq+y1KdG/cInB+cU9J4tmaTylrvZaG+CSSYA5ENgoG2hGr/MW6K/Xb2fFewN6o5xKOWyqTVvhyWA==","shasum":"336df9073192877bf96ffb48a4c9baa90e148206","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.20.0.tgz","fileCount":215,"unpackedSize":1370531,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIByy16DN23LBfHL4R/4iLth1TH800oLrWcp/i9zVwAixAiEA2nQd6M+nTzoKa504pwmgyHVdT6CJfpG0poXQ55fxF3A="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJifiVmACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpKyQ/8DzsBBi9UzU+tJxYz1oaBuPkiMKkjIASbeBuuEuUVNU12Rxon\r\nRlCtxI5fGnw4USn/9ghgX6NcQKdHaceHmrbRR8APrNMYF80pSTh/VNJQ7Cds\r\nxD9erRsFrrN/wg9Ev6ryiuI2KhB1yKoBAuKHPD6phyG0ncMq6CfDibLIauRF\r\n4IDrd9sHIzA3BDipiSgceHExtJ1RzkilkQqAd3YyymVX9cPINA+0Sbjt/SRV\r\n6lchnw1kwhQftrLD2pKqIR/wP3+j1XiPK1Kb2YlfgE0DyC2GTFrcnaaMci2K\r\nfa33eTU5F5hMUn2a5XwR01Q6Hq/k3gVjZBxiyhje9eyU+B4iJw6dABkGkgB/\r\nLJQsvtJXb6YVdFEcg8U6y3op62VVxd83mCw+P1316zcxbU1iI4JdzM1oaRIQ\r\nwhBcNcCnnZVuPSiCRHH/hjgEJZMIQh6nTus1I82JCZ9Awk6EXn/t6IGnJyI1\r\nzwOBZ5pOm/85hM832+LBJrVTZ5zH/hjnWMt3ynzmY/0zYjR5CttOFvQrf2Oz\r\nABI1ecpWoSbUgfCoFPO+Vssw2VHim8ggc4FQpSwS712Y3nxNjPUs23Bp/zkY\r\nzSc6++yEOZHNGvGhBJO0eN0ws94u+NXdR24a3hmXtfxuFyw1u9NGTmPJC7zE\r\n9QDgafit3+spNupeS/OFhACuEF1JhMCN6po=\r\n=uvt6\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"aydinakyol","email":"aydinakyol11@gmail.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.20.0_1652434277799_0.5080404139614065"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.20.1":{"name":"@pankod/refine-core","version":"3.20.1","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --dts --format esm,cjs,iife --legacy-output","build":"tsup --dts --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.12.0","@testing-library/react":"^11.2.6","@testing-library/react-hooks":"^5.0.3","@testing-library/user-event":"^12.8.3","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^17.0.4","@types/react-dom":"^17.0.4","@types/testing-library__jest-dom":"^5.9.5","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"^6.0.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.4.3"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","humanize-string":"^2.1.0","lodash":"^4.17.21","lodash-es":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","react-query":"^3.19.2","tslib":"^2.3.1"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"144b9255e88ee2c6316d6af0f3f1ebe05b9387b4","publishConfig":{"access":"public"},"_id":"@pankod/refine-core@3.20.1","_nodeVersion":"16.15.0","_npmVersion":"lerna/4.0.0/node@v16.15.0+x64 (linux)","dist":{"integrity":"sha512-6dhiPvH7di9DoqzgGsQO/4RhPxGK6HqW9B6t+ynEFmPdCr6v29QSgLpz18rn8UihBDA/HVbPJtaDnIV75h/ovQ==","shasum":"01de1a97806ff324e3b1d98bd6037fef574cfe68","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.20.1.tgz","fileCount":215,"unpackedSize":1372856,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDajk/z2nfWSoty0AKzPY0+gMFcnMyMVWc+ZQxVTZag8AiAl0kP6mCes0tNoSWAZHPrRhO8LbIF9Lcdh6p4bIhc8xA=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJig5gZACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqPghAAi2wWf6Y+NOsdl0Rep+bIUrZYWLiLPesOw/oCHQ0go7lAj6iT\r\n5XEkNi1rsgdDs2LG3IcyKtojoVuUNEUA2Spyjt5bsOfTwcmRS3pJS5FZENcc\r\nlS1YAvQe3obC37WM+q3Z4kss0PlMK3er3HXf7VcQoAiER2MPwKdPWDL9LBE8\r\neHTjMXsw2sPMWWEFVHE0mJoe44MmRQW4JF4A6918g1uw4Pn6l/RJTSygpebs\r\nah9C3um2CGfSb/18JtmYZgIYn5x5vvu9Pl5gMZQ1r9kCr3LmKepEMD2OFO47\r\npSlX7hgdnCikhcXNcSegrahZT8gyDc3k7eteRIQf88nOjJ7irPP9q7DQ/cmt\r\ntRVU+17Bo90niLd7nt8h1DRSMIExnwAUvwf7+UEVf2aQvWotRNkSLoG9Bwha\r\nK41coUNRZC0tdd53pDC6vPmIf0/jS2UHRG4rYOewgLm5Te9jiek7Kf7mzAl6\r\n501/4gbloO9dRek7I4t0Yt2QMd4pZ+RWLJVULGfkV6yqHLAgH30n4J35m6aJ\r\nsh45gXl21jJ+I8B+saxCV3UM9TJXGWEYtwv9ihcHEvZuBOb9BPnrgAuUElQs\r\nLdXgEYZad9pL9eiUj+81esyrlZBCgG7Yt2LqzxWoyaIXFQRL+67yCLSXdzAz\r\ncCptUb4qpCZcmrAVJgkqvpovtzLJl3zeJVw=\r\n=bP4q\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"aydinakyol","email":"aydinakyol11@gmail.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.20.1_1652791320710_0.2149074169482681"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.21.0":{"name":"@pankod/refine-core","version":"3.21.0","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --dts --format esm,cjs,iife --legacy-output","build":"tsup --dts --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.12.0","@testing-library/react":"^11.2.6","@testing-library/react-hooks":"^5.0.3","@testing-library/user-event":"^12.8.3","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^17.0.4","@types/react-dom":"^17.0.4","@types/testing-library__jest-dom":"^5.9.5","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"^6.0.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.4.3"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","humanize-string":"^2.1.0","lodash":"^4.17.21","lodash-es":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","react-query":"^3.19.2","tslib":"^2.3.1"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"17dd5af3e4c9f7f09e1e707362c6f5a9d1cab8a8","publishConfig":{"access":"public"},"_id":"@pankod/refine-core@3.21.0","_nodeVersion":"16.15.0","_npmVersion":"lerna/4.0.0/node@v16.15.0+x64 (linux)","dist":{"integrity":"sha512-wL2L6kZILv3myWTCrlURoMnd/tt4zbGqDCcpc686PjwEL3A87UaGm4XODMOcGmNu8oEVsIzKx7jR4xBqTxP87w==","shasum":"aedd7be48f86dac991b3ed8c574c88e5a74f6842","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.21.0.tgz","fileCount":215,"unpackedSize":1378593,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIA5mdy96jTi/2S6VUnEyn0KAM/fhT91GnLBTGQiI5+6yAiB7Tcd7rBs9CaNz38Q+SjmRg0N8fvUegh7I/lvJ9PP4NQ=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJijHaSACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr9Iw/8DIkU6zizvbbH5vAMkDtv6zaj1IB8bWZ9nPihAMF/DvWKm0Ck\r\njopqrPvPaKq8QTsbr3OO37SjhaSWZmGCgy5WPAKJ+69HGBYjkTupxq/Qbozh\r\n8R6Zi1ZxpGNnT459T2EtEGxJ921fDUaIXXa9E+grWUJRHaFxCNKMgJmvwGdh\r\nfMb6YSKafNUIv3lURLYQS3glifOQ0Cw5+Jk6zWCL5EUhi/hm95KMlkkDkJY2\r\nQgyz7Sgm14PgfbrDzVbrBVuaMJx13ybqy0ZrJKaSOql+XlhAVo0IQxducFHV\r\nZr4eYAFTFjR37GYBrpWwP/ne97X+LqQ6kPVhtry4MvEDlqrRf/spA0hY8Tmx\r\nhds503p5+o8tB0n8BUmi4mH9TTPhy64MTxGV24C/yzdNQSKBmsLe3Mvt9Ksv\r\nToaxZDQvYBJ0wP4HqJoi+Tczd00q+2A01DtlASglGN/0xBZ+aKhAB5Tqx46a\r\nUcvEmjfIydOd+c+vkJ+lORXUe8eUgak/eNZ6lmHHsLrWk1UXTSsQHyVvuig0\r\n17LKu+2epF+FGATi4/5oWfF535f9QI4f3OC38JnD0GKkBo/u8GNMam+xLjq0\r\n2u5arnG5y+gXLc5s1aXN4k/CEQEK9l3G+nn2ODOKa7TvxwvfURegU3EbC4xa\r\nRX8H+xswvUDFJ1tjDqORqn0qbv9ltI2hTzY=\r\n=yqiS\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"aydinakyol","email":"aydinakyol11@gmail.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.21.0_1653372562543_0.5155027778207535"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.22.0":{"name":"@pankod/refine-core","version":"3.22.0","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --dts --format esm,cjs,iife --legacy-output","build":"tsup --dts --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.12.0","@testing-library/react":"^11.2.6","@testing-library/react-hooks":"^5.0.3","@testing-library/user-event":"^12.8.3","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^17.0.4","@types/react-dom":"^17.0.4","@types/testing-library__jest-dom":"^5.9.5","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"^6.0.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.4.3"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","humanize-string":"^2.1.0","lodash":"^4.17.21","lodash-es":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","react-query":"^3.19.2","tslib":"^2.3.1"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"9b16eb4181ecf7a91cb1b2b1a6348dfe033fdc53","publishConfig":{"access":"public"},"_id":"@pankod/refine-core@3.22.0","_nodeVersion":"16.14.0","_npmVersion":"lerna/4.0.0/node@v16.14.0+arm64 (darwin)","dist":{"integrity":"sha512-PhkHotD5Pees7UpNqe5aUwPwaCdMR9+Nec0GSNQEu8M7iuKD3UxVpVsAX3/l6d0Lcto71nchdJCXeCynyzXp3Q==","shasum":"2f9c3968e8a7a53f8a7ec3ba568f23836a401bf5","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.22.0.tgz","fileCount":215,"unpackedSize":1378593,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCb1SXqUHtOJ6RIZPDhk9U/ESp8jZSKNiagLQ1Ut99nsgIgGumEY6E9X0hCVn5MdHI//MMraGWAQmaOqaiIjfupRRM="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJijIJVACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqMXhAAlhU4IBC/a9ZMGcxwsD0xxrPYFGUddB9LyDORCQqQ3RW5ouz5\r\nGwqSkgYCdMr+rqaP8++yga+YNBJI3c6e9ZQ/65Jk6t7lUi9dpIUJMief3NU4\r\nWcqJONdE+dAhGzo3SkDQhRbpp8PsMa71TmS/AUTRjr5gYPjMeX/dPjMiMxMx\r\naK5i21aaQGSFfpW0GsoL4cNd5tst8aTCDH4oMOAPeqPAk8+/PfSBHJaTdymt\r\nJWGO4FqjFgR8J6AFJLVbNkb/JsOJbFAeytR9NFKomw53FK5UkVGCHshE4V8I\r\nI1cPF80kKzstMqzGBMkHQamo+PamWcMAQsHYb4uXBUlJTVQq6etIzmMdTZKA\r\n3ooahMcYWnwZlpXnSEnmfdvm2nNaECYhQtC5JZJLqMXdKDuiT78HPanDJCXq\r\nrLVx01sHJhgjl+t4sCpeOY3BLqgZFD4hTuPMn7/R+bbSbQwF6c9vdLIqZLm3\r\nbtiDrkG5DwQ7rh54vQJswPFqkxN7Wpjdzs1+ZmAJW3is6Bo5lmMxsgJpcCX6\r\nnZF/ijiOKHClto3BYYGoJntuJmeel2P3//JZW98cuMqTECOG9yqn5VHOeaKK\r\nePZE5gTNYogGpp6BzHc10eMtDeyn3hLuw6hriw5Ya4ZUFNh52PuFsGsMDD+d\r\n147C/av6NRRvGVQYdMONf6GLUfG3xenZUGs=\r\n=6u7Q\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"aydinakyol","email":"aydinakyol11@gmail.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.22.0_1653375573140_0.7698888491308631"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.22.1":{"name":"@pankod/refine-core","version":"3.22.1","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --dts --format esm,cjs,iife --legacy-output","build":"tsup --dts --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.12.0","@testing-library/react":"^11.2.6","@testing-library/react-hooks":"^5.0.3","@testing-library/user-event":"^12.8.3","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^17.0.4","@types/react-dom":"^17.0.4","@types/testing-library__jest-dom":"^5.9.5","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"^6.0.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.4.3"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","humanize-string":"^2.1.0","lodash":"^4.17.21","lodash-es":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","react-query":"^3.19.2","tslib":"^2.3.1"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"8b9700535aba27fd2bfa6c2b8e550f1ffe118c62","publishConfig":{"access":"public"},"_id":"@pankod/refine-core@3.22.1","_nodeVersion":"16.15.0","_npmVersion":"lerna/4.0.0/node@v16.15.0+x64 (linux)","dist":{"integrity":"sha512-OkbHLVodiP7awMJKHTY972yVxQWdQ5Hw4KR9xfv8H+hqME7WRI2o2lRSaYRa23AHCB6zmXp6OwPSZGlGoB+Cqg==","shasum":"334526a098f69874709cf1de0375f1fdb0278640","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.22.1.tgz","fileCount":215,"unpackedSize":1378551,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD2R216HYkyZan2tdf4BKmXEMfaaPMty8w6b2gAE3si/gIgXwfECAPICwroFAXmjz/qP2ZoCV+BmQijQK9rPFZGnA0="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJijxNJACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpJqw//edmqN8hCIrxM0M5dkqHXZgOW6LM0hLYLeUxy5sVoyeprSntp\r\ngwnOllSXv7U+t5xSEmb3zsGg96rqyOMYNvw2oUnbh6fItPa2xP3GJChE4G9u\r\nWtSBmLPntMYhx3p+WoZmPC96xKjPzf7yy7fhTVNvFwvFSmVV1Gk5QzUAW3KK\r\nbyo01vMimCMP17huYlDj6iKFoof0eYiSs+a6goCL0P2g9qB7fpH/X5ZMQe2I\r\nuG0z03rMo6M8epTCpj+cszs6qiINNaVkdbu2as8hTU6QURTR3KVViu2ga/mj\r\noPSULhuwPwj4YCdyy7bH2DbyfXgOI/+4hsybJAbMW+BBk/9MOXLDEN75QvTv\r\nFrVhO2hieJqpxFE5GBHitAJ93jtrcg3MMU12X1w49BZG2rIDLmPLnQShtGP4\r\nwYdPzokZDCgqzA7ESWaf0HH6Sq7F7H9QPSXeyqF/L8zyW//ZaYeSvED+ZX4x\r\n+JYFOKq/dNiaM9tFJvd2CLIJ+BTc3yxo12cjcJHj4inKFzTJc/DCum3MwmST\r\nYbQVpjUnEpHZFVfhCp6NbzulhKmAG468UQNBrX9ov4EJ6YOsDyTc/KfmWozj\r\nNhBRbdGUNLv/GW62Zm6FAoEL+g0QlSVXsg1Jp5H8tjRPjl2SJATRgTGYeqP7\r\nk09H72xzGobcTZgmI+WwZwyu6aareQ56K4Y=\r\n=OkGI\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"aydinakyol","email":"aydinakyol11@gmail.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.22.1_1653543753617_0.016511953582025285"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.23.0":{"name":"@pankod/refine-core","version":"3.23.0","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --dts --format esm,cjs,iife --legacy-output","build":"tsup --dts --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.12.0","@testing-library/react":"^11.2.6","@testing-library/react-hooks":"^5.0.3","@testing-library/user-event":"^12.8.3","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^17.0.4","@types/react-dom":"^17.0.4","@types/testing-library__jest-dom":"^5.9.5","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"^6.0.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.4.3"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","humanize-string":"^2.1.0","lodash":"^4.17.21","lodash-es":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","react-query":"^3.19.2","tslib":"^2.3.1"},"repository":{"type":"git","url":"git+https://github.com/pankod/refine.git","directory":"packages/core"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"17dd5af3e4c9f7f09e1e707362c6f5a9d1cab8a8","publishConfig":{"access":"public"},"bugs":{"url":"https://github.com/pankod/refine/issues"},"homepage":"https://github.com/pankod/refine#readme","_id":"@pankod/refine-core@3.23.0","_nodeVersion":"16.15.0","_npmVersion":"8.5.5","dist":{"integrity":"sha512-QypGoY9vZKsm+6+MnF5iQcRwHBmSuyA/7axeDzjr9M/Re+TuqpB/0sP5Rb2yEB2dGZ6RPBSboNdzrl6QFasFpw==","shasum":"9c40354917e069943a3dc405b62d2e8e79c7c8d5","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.23.0.tgz","fileCount":217,"unpackedSize":1394922,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEg76v2f4pS9FnvlA2UOVzvhECsuwvuIKqSdZOk41w7iAiEA/P1eg/j2UTqZ/gr7ElHgPOeESIP71Q9W5Gl+DKme+/o="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJili/IACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpPBxAAn+pWTtidAVmhmacmf2B6qYcIne1tl5CTNCVjLpnP6goWHfDr\r\nqAeDMdxoYZSoUMFGQ4sK2X5ryxkiGl9M7aCeoTGSFrUMpm1txmUy6I/PomAn\r\nhkr678qn+snTL1Ko1elIU3WGbHnkW9/f7QuMJC8YKQ2fqNBZQC1Z7t9KxzZn\r\nmQfOaKGydECyttfj1dhbL9ay57chE+SRh/1l2E5RSUMFGQhKjMEzh6cOGQhH\r\nHqh1IP0XItu0d4iZRR0bW2QCCUD6zMrg/88vXaSRTgTTQ1rQJ3bRMpjWSPc/\r\n2qPy12sZjsvNDleS/5dA1Vxqhc6UCQVUar1Y0z7EUYSwp7q8hXgqezROfRcO\r\n5Hyh2MunHNZfjGdbwuW4cKiKk4f+fChT6VJEfishNy+H+yJF3AdErwphBrRm\r\nOVPGD+J3H8P0lBJu2p7psPv+ugggmfEJPXR/3zNdiKKxalCU3/h0oVaB8TKd\r\n3CjawK7hiYVy3liEDevsYdzl7m6JMcYcNMBRXFjblspSKN8R7fUlsAakURal\r\n9zhhpM5GCoT45alRAVJ4MXaHS65lErFfmQajyz0Q5I3FI7AN2Uabrw/E3IJH\r\nxq7tSCo8lbu/tOGOGjDcaQ8ZXkCJMMEc6F2+gDJGIARlqR7R6hkcThADiaPO\r\nsMRV8d3wDn5PRd9+1sHClJstrkAeEuck2HM=\r\n=bk/Z\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"aydinakyol","email":"aydinakyol11@gmail.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.23.0_1654009800602_0.07828325730683927"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.23.1":{"name":"@pankod/refine-core","version":"3.23.1","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --dts --format esm,cjs,iife --legacy-output","build":"tsup --dts --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.12.0","@testing-library/react":"^11.2.6","@testing-library/react-hooks":"^5.0.3","@testing-library/user-event":"^12.8.3","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^17.0.4","@types/react-dom":"^17.0.4","@types/testing-library__jest-dom":"^5.9.5","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"^6.0.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.4.3"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","humanize-string":"^2.1.0","lodash":"^4.17.21","lodash-es":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","react-query":"^3.19.2","tslib":"^2.3.1"},"repository":{"type":"git","url":"git+https://github.com/pankod/refine.git","directory":"packages/core"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"17dd5af3e4c9f7f09e1e707362c6f5a9d1cab8a8","publishConfig":{"access":"public"},"bugs":{"url":"https://github.com/pankod/refine/issues"},"homepage":"https://github.com/pankod/refine#readme","_id":"@pankod/refine-core@3.23.1","_nodeVersion":"16.15.0","_npmVersion":"8.5.5","dist":{"integrity":"sha512-xDMqg9A4IMJMClr1fAQSEILWYlQX02iimfEu+2gHUmitdwCoGFV/mmKa06mVe/1nyIOUy76xQ4YbAGeu9J0Wxw==","shasum":"e2dc3209da339bf06cf6ae33ca6705908765158d","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.23.1.tgz","fileCount":217,"unpackedSize":1395066,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFRNovLnvGCHUejYQfhfg1SleeSQ9x0JpseMA+7dPdrSAiEA8MVUWc37MkLKdBioFcSyz8IDSgGX2vN9nSdl4Ns5ESc="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJil4VTACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoB8w//VmxvIIi7fcYuhplVHoq+UXcKr1Xz9dD8T5Ym+29xgpL2Lwpc\r\ny/EAn5QnNvy8I8kmgvKj87rhnQmnSorLM/rizZEYURshdW3PHvSm71Mq+KHZ\r\nnrQ9EjH+HARDnVr4GlPwiIewZkkgKuAUzrDotclVKensXafdN7FALZpMd4uA\r\nYYXM51cQM0bcg1DMJxwfGyTIgXLNlnJQlCF6p2rFc05ziR4FqU11PogBeqaL\r\naWuR/JoH1ik2aqgX+RZUNDl3zTdBcOc1A7+D9UeshFSD9A6O1bu6Xv98hd1f\r\nRkmfNjs5LMlA8ezNWcjCKBq2LOxCcba1Xzo1ailZfMYUdgKhpoGWLtMEYFnw\r\nTcJaksoDQIyaxr4vX/zSHtyC7qhDADE+stmSOKiab8IOpWbnj1jIqWhR02GN\r\nk4aYQHV40Ze4Q53S4NGb4jUBqrDwo/JScVff4ZNTk1D7XzuIjQaEv1KbmVzo\r\nEtB24xvNSwY9J9f8hop7Fms8e5jJ53qghmIiz6bX035ATzVET6zFH5hN8fdn\r\nB755FiVe/dtvsodcK4CNh1kF1A/bThlXLv3x9caLsonRi0Q/lqCIy8s0LJ2F\r\nEWYHy5qONxDGUvumyndztd1hAFIqJivSIGhmbPiYNufQp/pvUhrJMAJwM53T\r\nyUka6axjkHr8nxvdBLnMZFJ4lqjdUbNthE0=\r\n=tmAy\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"aydinakyol","email":"aydinakyol11@gmail.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.23.1_1654097234874_0.8731955457780363"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.23.2":{"name":"@pankod/refine-core","version":"3.23.2","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --dts --format esm,cjs,iife --legacy-output","build":"tsup --dts --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.12.0","@testing-library/react":"^11.2.6","@testing-library/react-hooks":"^5.0.3","@testing-library/user-event":"^12.8.3","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^17.0.4","@types/react-dom":"^17.0.4","@types/testing-library__jest-dom":"^5.9.5","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"^6.0.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.4.3"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","humanize-string":"^2.1.0","lodash":"^4.17.21","lodash-es":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","react-query":"^3.19.2","tslib":"^2.3.1"},"repository":{"type":"git","url":"git+https://github.com/pankod/refine.git","directory":"packages/core"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"17dd5af3e4c9f7f09e1e707362c6f5a9d1cab8a8","publishConfig":{"access":"public"},"bugs":{"url":"https://github.com/pankod/refine/issues"},"homepage":"https://github.com/pankod/refine#readme","_id":"@pankod/refine-core@3.23.2","_nodeVersion":"16.15.0","_npmVersion":"8.5.5","dist":{"integrity":"sha512-E5iIRDjY3o16OoZJXAiU+6IeYZ962qvj3wERRca5VJ/inKlBVGBQwYkDG1HqOwiboELKKos2tXHKyptXcP8e3Q==","shasum":"19108b2e3380b6b0922e3f7a30801dbe14776b5c","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.23.2.tgz","fileCount":217,"unpackedSize":1400492,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCvqBcJWXGGfrBrhzQHb+/sDgRvy0mpqGR5g3IprbITNwIhAME/b1Hoos0TymNTsHRhk71NnlON09dEZeMea5l541z4"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJimJloACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpWqA/9Hr9Yu07IopcqdHDHLhSdA3sPIeP+Sdel0oszQbLQOJvws7D6\r\n6O2X28q7EgRhNCiIu1zM3Q5iMknqEUP1mCSDgPmVyHixR+GrgZDt6fz1Xqhl\r\nhv1a8+HqxrNvRP6sH94GdgBd9uW0ZX2jauJJHq/+iLHqtexz1JfyzMbuKSns\r\nbnTfO6L2qfZYCECjtk7i9ThjlovXqd9n/AFDdGEfKH5V7Sx5iqNC8kNh7Mhp\r\n0dWtIBIwXOO74LDayzgH0yO9bi3xYTkkg1ZUqMEeVVTo8zkJzF0QSChLIu+F\r\naRTjeJXcBO6gKZNbFufLJ0k/tLvO8AfiTj4So6zHCneFaEITPvmyKkV6AcG4\r\nALNxRciJDc9jdqf8SILPS8+eSywwpuGq6QJnVPGfH/h1qbjSlUsCsOMMrDAo\r\nuLAWvo/8OiJ6LEuIG2qVO/ZOQ4qR3gMEDGg5//J/fAwCzxwRqCTMf3+h3md5\r\nSeTXQJ1nHhEbN6ZJysUY4akXxUWF9y7QikzqK9wbA5N7nrTZ/zg18ubNN4CH\r\n6vzP2h7Uj/UufiuyvMPpYC/KyToxTkUTKu0GAKTifP2SHgfn7wbj7clCPPXF\r\n7syHuyxE/yv02zQ6bcx0De1nRvF+qKOkpis39VKlETE8KrwImgZJwYwpO7QB\r\nRz97NYD0CTQfXHZlp1ccGvrUIQn1fhF+LZQ=\r\n=lhE8\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"aydinakyol","email":"aydinakyol11@gmail.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.23.2_1654167912534_0.3818136611016991"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.24.0-next.7":{"name":"@pankod/refine-core","version":"3.24.0-next.7","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --dts --format esm,cjs,iife --legacy-output","build":"tsup --dts --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.12.0","@testing-library/react":"^11.2.6","@testing-library/react-hooks":"^5.0.3","@testing-library/user-event":"^12.8.3","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^17.0.4","@types/react-dom":"^17.0.4","@types/testing-library__jest-dom":"^5.9.5","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"^6.0.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.4.3"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","humanize-string":"^2.1.0","lodash":"^4.17.21","lodash-es":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","react-query":"^3.19.2","tslib":"^2.3.1"},"repository":{"type":"git","url":"git+https://github.com/pankod/refine.git","directory":"packages/core"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"fb8333dbb245b9d4fcd3a0a77d7b8dec019fbac5","publishConfig":{"access":"public"},"readme":"<div align=\"center\" style=\"margin: 30px;\">\n<a href=\"https://refine.dev/\">\n  <img src=\"https://raw.githubusercontent.com/pankod/refine/master/logo.png\"   style=\"width:250px;\" align=\"center\" />\n</a>\n<br />\n<br />\n\n<div align=\"center\">\n    <a href=\"https://refine.dev\">Home Page</a> |\n    <a href=\"https://refine.dev/demo/\">Demo</a> | \n    <a href=\"https://refine.dev/blog/\">Blog</a> | \n    <a href=\"https://refine.dev/docs/\">Documentation</a> | \n    <a href=\"https://github.com/pankod/refine/projects/1\">Roadmap</a> | \n    <a href=\"https://refine.dev/docs/examples/tutorial/\">Examples</a> | \n    <a href=\"https://refine.dev/enterprise/\">Enterprise</a> | \n    <a href=\"https://discord.gg/refine\">Discord</a>\n</div>\n\n</div>\n<br/>\n\n<div align=\"center\"><strong>refine</strong> is a <a href=\"https://reactjs.org/\">React</a>-based framework for building internal tools, rapidly. ✨ It ships with <a href=\"https://ant.design/\">Ant Design System</a>, an enterprise-level UI toolkit.</div>\n\n<br />\n\n<div align=\"center\">\n\n[![Discord](https://img.shields.io/discord/837692625737613362.svg?label=&logo=discord&logoColor=ffffff&color=7389D8&labelColor=6A7EC2)](https://discord.gg/refine)\n![Twitter Follow](https://img.shields.io/twitter/follow/refine_dev?style=social)\n\n<a href=\"https://www.producthunt.com/posts/refine-open-source-react-framework?utm_source=badge-featured&utm_medium=badge&utm_souce=badge-refine-open-source-react-framework\" target=\"_blank\"><img src=\"https://api.producthunt.com/widgets/embed-image/v1/featured.svg?post_id=319164&theme=light\" alt=\"refine: Open Source React Framework - Focus your business logic. refine will do the rest. | Product Hunt\" style=\"width: 250px; height: 54px;\" width=\"250\" height=\"54\" /></a>\n\n[![Meercode CI Score](https://meercode.io/badge/pankod/refine?type=ci-score&branch=master&token=2ZiT8YsoJgt57JB23NYwXrFY3rJHZboT&lastDay=31)](https://meercode.io/)\n[![Meercode CI Success Rate](https://meercode.io/badge/pankod/refine?type=ci-success-rate&branch=master&token=2ZiT8YsoJgt57JB23NYwXrFY3rJHZboT&lastDay=31)](https://meercode.io/)\n[![Maintainability](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/maintainability)](https://codeclimate.com/github/pankod/refine/maintainability)\n[![Test Coverage](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/test_coverage)](https://codeclimate.com/github/pankod/refine/test_coverage)\n[![npm version](https://img.shields.io/npm/v/@pankod/refine-core.svg)](https://www.npmjs.com/package/@pankod/refine-core)\n[![npm](https://img.shields.io/npm/dm/@pankod/refine-core)](https://www.npmjs.com/package/@pankod/refine-core)\n[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.0-4baaaa.svg)](code_of_conduct.md)\n\n\n</div>\n\n<div align=\"center\">\n  <sub>Created by <a href=\"https://www.pankod.com\">Pankod</a></sub>\n</div>\n\n## About\n\n[**refine**](https://refine.dev/) offers lots of out-of-the box functionality for rapid development, without compromising extreme customizability. Use-cases include, but are not limited to _admin panels_, _B2B applications_ and _dashboards_.\n\n## Documentation\n\nFor more detailed information and usage, refer to the [refine documentation](https://refine.dev/docs/).\n\n## What is refine?\n\n**refine** is a [React](https://reactjs.org/)-based framework for building internal tools, rapidly. :sparkles: It ships with [Ant Design System](https://ant.design/), an enterprise-level UI toolkit.\n\nRefine offers lots of out-of-the box functionality for rapid development, without compromising extreme customizability. Use-cases include, but are not limited to _admin panels_, _B2B applications_ and _dashboards_.\n\n## What is a \"headless\" Framework?\n**refine** is a **headless** React framework, which means all out-of-the-box features(**Routing**, **Networking**, **Authentication**, **Authorization**, **State Management**, **Realtime**, **i18n**, etc.), it can be used without being tied to any UI elements or framework. Also, Ant Design as out-of-the-box is supported.\n\n- Customization & Extensibility -  UI is a completely customizable area and each developer uses different solutions. **refine** features does not restrict or interfere with your UI structure. **refine** allows the you to design and customizable the UI based on their unique use case.\n\n- Separation of Concerns - **refine** as a framework, is not responsible for your UI and is independent.\n\n- Maintenance - By removing the API surface to support every UI use case, **refine** easy to use and update/maintain is simple.\n\n###\n\n## Key features\n\n🔥 **Headless** : Works with any UI framework\n\n⚙️ **Zero-configuration**: One-line setup with [superplate](https://github.com/pankod/superplate). It takes less than a minute to start a project.\n\n📦 **Out-of-the-box** : Routing, networking, authentication, state management, i18n and UI.\n\n🔌 **Backend Agnostic** : Connects to any custom backend. Built-in support for [REST API](https://github.com/pankod/refine/tree/master/packages/simple-rest), [GraphQL](https://github.com/pankod/refine/tree/master/packages/graphql), [NestJs CRUD](https://github.com/pankod/refine/tree/master/packages/nestjsx-crud), [Airtable](https://github.com/pankod/refine/tree/master/packages/airtable), [Strapi](https://github.com/pankod/refine/tree/master/packages/strapi), [Strapi v4](https://github.com/pankod/refine/tree/master/packages/strapi-v4), [Strapi GraphQL](https://github.com/pankod/refine/tree/master/packages/strapi-graphql), [Supabase](https://github.com/pankod/refine/tree/master/packages/supabase), [Hasura](https://github.com/pankod/refine/tree/master/packages/hasura), [Appwrite](https://github.com/pankod/refine/tree/master/packages/appwrite), [Firebase](https://firebase.google.com/), [Directus](https://directus.io/) and [Altogic](https://github.com/pankod/refine/tree/master/packages/altogic).\n\n📝 **Native Typescript Core** : You can always opt out for plain JavaScript.\n\n🐜 **Enterprise UI** : Works seamlessly with Ant Design System. (Support for multiple UI frameworks is on the Roadmap)\n\n📝 **Boilerplate-free Code** : Keeps your codebase clean and readable.\n\n## Motivation\n\nHigher-level frontend frameworks can save you a lot time, but they typically offer you a trade-off between speed and flexibility.\n\nAfter many years of experience in developing B2B frontend applications and working with popular frameworks, we came up with a new approach to tackle this dilemma. This is how **refine** is born.\n\n**refine** is a collection of helper `hooks`, `components` and `providers`. They are all decoupled from your UI components and business logic, so they never keep you from customizing your UI or coding your own flow.\n\nAs **refine** is totally _unopinionated_ about UI and logic, it's strongly _opinionated_ about three parts of your application:\n\n1. **API Networking**\n2. **State Management**\n3. **Authentication & Authorization**\n\nWe believe, these are the most important components of a data-intensive frontend application and should be handled in a robust way by leveraging industry best practices.\n\n**refine** guarantees you a perfect implementation of these building blocks in your project, so you can focus on your development.\n\n## Architecture\n\n**refine** makes extensive use of [hooks](https://reactjs.org/docs/hooks-reference.html#gatsby-focus-wrapper) as a default way for interacting with your components.\nUnder the hood, **refine** relies heavily to [React Query](https://react-query.tanstack.com/) for data handling, caching and state management.\nAccess to external sources and API's happen via providers which are basically plug-in type components for extendibility.\n\n<br/>\n\n<div align=\"center\">\n    <img src=\"https://raw.githubusercontent.com/pankod/refine/master/documentation/static/img/getting-started/refine_architecture.png\" width=\"400px\" />\n</div>\n\n## Benchmark\n\nAfter releasing the first internal versions, we had the chance to migrate some of our _React_ projects to **refine**.\nIn addition to **shorter development** times and **overall performance gains**, we've measured significant reduction in project size.\n\n**refine** makes your codebase significantly smaller, by eliminating redundant code such as _reducers_, _actions_ and _unit tests_. Below is a size comparison for an example project:\n\n<br/>\n\n<div align=\"center\">\n    <img src=\"https://raw.githubusercontent.com/pankod/refine/master/documentation/static/img/getting-started/benchmark.png\" width=\"400px\" align=\"center\" />\n</div>\n\n## Quick Start\n\nRun the **superplate** tool with the following command:\n\n```\nnpx superplate-cli -p refine-react tutorial\n```\n\nFollow the _CLI wizard_ to select options and start creating your project.\n\nAfter setup is complete, navigate to the project folder and start your project with:\n\n```\nnpm run dev\n```\n\nYour **refine** application will be accessible at [http://localhost:3000](http://localhost:3000).\n\nReplace the contents of `App.tsx` with the following code:\n\n```tsx title=\"App.tsx\"\nmport { Refine, useMany } from \"@pankod/refine-core\";\nimport {\n    useTable,\n    List,\n    Table,\n    DateField,\n} from \"@pankod/refine-antd\";\nimport routerProvider from \"@pankod/refine-react-router-v6\";\nimport dataProvider from \"@pankod/refine-simple-rest\";\n\nimport \"@pankod/refine-antd/dist/styles.min.css\";\n\nconst App: React.FC = () => {\n    return (\n        <Refine\n            routerProvider={routerProvider}\n            dataProvider={dataProvider(\"https://api.fake-rest.refine.dev\")}\n            resources={[{ name: \"posts\", list: PostList }]}\n        />\n    );\n};\n\nexport const PostList: React.FC = () => {\n    const { tableProps } = useTable<IPost>();\n\n    const categoryIds =\n        tableProps?.dataSource?.map((item) => item.category.id) ?? [];\n\n    const { data, isLoading } = useMany<ICategory>({\n        resource: \"categories\",\n        ids: categoryIds,\n        queryOptions: {\n            enabled: categoryIds.length > 0,\n        },\n    });\n\n    return (\n        <List>\n            <Table<IPost> {...tableProps} rowKey=\"id\">\n                <Table.Column dataIndex=\"title\" title=\"title\" />\n                <Table.Column\n                    dataIndex={[\"category\", \"id\"]}\n                    title=\"category\"\n                    render={(value: string) => {\n                        if (isLoading) {\n                            return \"loading...\";\n                        }\n\n                        return data?.data.find(\n                            (item: ICategory) => item.id === value,\n                        )?.title;\n                    }}\n                />\n                <Table.Column\n                    dataIndex=\"createdAt\"\n                    title=\"createdAt\"\n                    render={(value) => <DateField format=\"LLL\" value={value} />}\n                />\n            </Table>\n        </List>\n    );\n};\n\nexport default App;\n```\n\n```tsx title=\"interfaces.d.ts\"\ninterface IPost {\n    title: string;\n    createdAt: string;\n    category: ICategory;\n}\n\ninterface ICategory {\n    id: string;\n    title: string;\n}\n```\n\n## Roadmap\nYou can find Refine's <a href=\"https://github.com/pankod/refine/projects/1\">Public Roadmap here!</a> \n\n## Stargazers\n\n[![Stargazers repo roster for pankod/refine](https://reporoster.com/stars/pankod/refine)](https://github.com/pankod/refine/stargazers)\n\n## Contribution\n\nIf you have a bug to report, do not hesitate to file an issue.\n\nIf you are willing to fix an issue or propose a feature; all PRs with clear explanations are welcome and encouraged.\n\n## License\n\nLicensed under the MIT License, Copyright © 2021-present Pankod\n\n## Special Thanks\n\n[React Admin](https://marmelab.com/react-admin/) has been a great source of ideas and inspiration for refine. Big thanks to friends at [Marmelab](https://marmelab.com) for the amazing work they are doing.\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/pankod/refine/issues"},"homepage":"https://github.com/pankod/refine#readme","_id":"@pankod/refine-core@3.24.0-next.7","_nodeVersion":"16.15.1","_npmVersion":"lerna/4.0.0/node@v16.15.1+x64 (linux)","dist":{"integrity":"sha512-ubGrIYCIxEPnPc5wmL2mAW6e57j9vyA0VpJhIhfCdOlu+7vtYdLfgJpxD2xjV9zvuBKKad81bnqA+8i79+++eg==","shasum":"1aab870816d07d3c43008def42dc490d0365bbdf","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.24.0-next.7.tgz","fileCount":218,"unpackedSize":1397796,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDPLlp1zPvAsZyLdDAHTVlIS5p2AaMy02XxJBGviXDBEAIgWXh0g8rwolN5ddZkv4lyNj95A7627zdNzMIHLQ9IBe0="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJin2thACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo6WBAAmYBW1gkLWyhKi+Z5cexrhjP0erCkH3f+W7TZSGeHRjoZV0nt\r\njldluaRaGAPoqJ00pTxFC9zNdDCIDjwwaXAec2VnO2hGDSURn3vSCRXFjYEd\r\nasIFoqodl00gqizpeR68mCjcY840GI+Ymu6CA0hDqhkGwudqA3yrASvjL2zo\r\nS669JtBRckrGamGv2uRHKji29MTOQxfMQZeY92uoY6CycwRuDm3kLHZVavfK\r\nzTA1U04ft+vCNSahw6vhOweD7qztjXzBb1I+hoXfK5YpJU0MsREOUuaLQ5ZZ\r\nhss3TcBCVEW9cdvVQaMJy55lAkZUuIyWuXRDV0H0/8mb8bsFd2CdFfZsb/hx\r\njV/TSsWkewBAp+qBcLScIHDft1mZr+gg0WNrFoxBYou1iUFytCeGEJVQtx7x\r\nYaP99w+dekwjKs4OWIs5S2rL2P8ctihbaZPQhU8U6pE1wxSmHEcITZv5Bjv2\r\nQSBG8sPlHuJiqqSiwgJZs/dOBR7/CU8n+kEm4WH7B2DDfwjmdEnuaLet4SZE\r\ncCJd4wypFdfQfEDtLrLBUVebmsjO8j1flSQYv0q1lvQG4EVOvhFEgts91ilO\r\n5rMyWhB31/RvEq5Y843pa48RrYB68jaKr3+kn9JfTjtEpf/fTrmHKVhnzJmF\r\nA4IKj+cKf5qldlscniym8oQY19Gzt8UZzxY=\r\n=CyqJ\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"aydinakyol","email":"aydinakyol11@gmail.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.24.0-next.7_1654614881194_0.8875905519211806"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.24.0-next.8":{"name":"@pankod/refine-core","version":"3.24.0-next.8","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --dts --format esm,cjs,iife --legacy-output","build":"tsup --dts --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.12.0","@testing-library/react":"^11.2.6","@testing-library/react-hooks":"^5.0.3","@testing-library/user-event":"^12.8.3","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^17.0.4","@types/react-dom":"^17.0.4","@types/testing-library__jest-dom":"^5.9.5","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"^6.0.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.4.3"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","humanize-string":"^2.1.0","lodash":"^4.17.21","lodash-es":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","react-query":"^3.19.2","tslib":"^2.3.1"},"repository":{"type":"git","url":"git+https://github.com/pankod/refine.git","directory":"packages/core"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"e379effaf4469b0c5443fab16f40f05194d68295","publishConfig":{"access":"public"},"readme":"<div align=\"center\" style=\"margin: 30px;\">\n<a href=\"https://refine.dev/\">\n  <img src=\"https://raw.githubusercontent.com/pankod/refine/master/logo.png\"   style=\"width:250px;\" align=\"center\" />\n</a>\n<br />\n<br />\n\n<div align=\"center\">\n    <a href=\"https://refine.dev\">Home Page</a> |\n    <a href=\"https://refine.dev/demo/\">Demo</a> | \n    <a href=\"https://refine.dev/blog/\">Blog</a> | \n    <a href=\"https://refine.dev/docs/\">Documentation</a> | \n    <a href=\"https://github.com/pankod/refine/projects/1\">Roadmap</a> | \n    <a href=\"https://refine.dev/docs/examples/tutorial/\">Examples</a> | \n    <a href=\"https://refine.dev/enterprise/\">Enterprise</a> | \n    <a href=\"https://discord.gg/refine\">Discord</a>\n</div>\n\n</div>\n<br/>\n\n<div align=\"center\"><strong>refine</strong> is a <a href=\"https://reactjs.org/\">React</a>-based framework for building internal tools, rapidly. ✨ It ships with <a href=\"https://ant.design/\">Ant Design System</a>, an enterprise-level UI toolkit.</div>\n\n<br />\n\n<div align=\"center\">\n\n[![Discord](https://img.shields.io/discord/837692625737613362.svg?label=&logo=discord&logoColor=ffffff&color=7389D8&labelColor=6A7EC2)](https://discord.gg/refine)\n![Twitter Follow](https://img.shields.io/twitter/follow/refine_dev?style=social)\n\n<a href=\"https://www.producthunt.com/posts/refine-open-source-react-framework?utm_source=badge-featured&utm_medium=badge&utm_souce=badge-refine-open-source-react-framework\" target=\"_blank\"><img src=\"https://api.producthunt.com/widgets/embed-image/v1/featured.svg?post_id=319164&theme=light\" alt=\"refine: Open Source React Framework - Focus your business logic. refine will do the rest. | Product Hunt\" style=\"width: 250px; height: 54px;\" width=\"250\" height=\"54\" /></a>\n\n[![Meercode CI Score](https://meercode.io/badge/pankod/refine?type=ci-score&branch=master&token=2ZiT8YsoJgt57JB23NYwXrFY3rJHZboT&lastDay=31)](https://meercode.io/)\n[![Meercode CI Success Rate](https://meercode.io/badge/pankod/refine?type=ci-success-rate&branch=master&token=2ZiT8YsoJgt57JB23NYwXrFY3rJHZboT&lastDay=31)](https://meercode.io/)\n[![Maintainability](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/maintainability)](https://codeclimate.com/github/pankod/refine/maintainability)\n[![Test Coverage](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/test_coverage)](https://codeclimate.com/github/pankod/refine/test_coverage)\n[![npm version](https://img.shields.io/npm/v/@pankod/refine-core.svg)](https://www.npmjs.com/package/@pankod/refine-core)\n[![npm](https://img.shields.io/npm/dm/@pankod/refine-core)](https://www.npmjs.com/package/@pankod/refine-core)\n[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.0-4baaaa.svg)](code_of_conduct.md)\n\n\n</div>\n\n<div align=\"center\">\n  <sub>Created by <a href=\"https://www.pankod.com\">Pankod</a></sub>\n</div>\n\n## About\n\n[**refine**](https://refine.dev/) offers lots of out-of-the box functionality for rapid development, without compromising extreme customizability. Use-cases include, but are not limited to _admin panels_, _B2B applications_ and _dashboards_.\n\n## Documentation\n\nFor more detailed information and usage, refer to the [refine documentation](https://refine.dev/docs/).\n\n## What is refine?\n\n**refine** is a [React](https://reactjs.org/)-based framework for building internal tools, rapidly. :sparkles: It ships with [Ant Design System](https://ant.design/), an enterprise-level UI toolkit.\n\nRefine offers lots of out-of-the box functionality for rapid development, without compromising extreme customizability. Use-cases include, but are not limited to _admin panels_, _B2B applications_ and _dashboards_.\n\n## What is a \"headless\" Framework?\n**refine** is a **headless** React framework, which means all out-of-the-box features(**Routing**, **Networking**, **Authentication**, **Authorization**, **State Management**, **Realtime**, **i18n**, etc.), it can be used without being tied to any UI elements or framework. Also, Ant Design as out-of-the-box is supported.\n\n- Customization & Extensibility -  UI is a completely customizable area and each developer uses different solutions. **refine** features does not restrict or interfere with your UI structure. **refine** allows the you to design and customizable the UI based on their unique use case.\n\n- Separation of Concerns - **refine** as a framework, is not responsible for your UI and is independent.\n\n- Maintenance - By removing the API surface to support every UI use case, **refine** easy to use and update/maintain is simple.\n\n###\n\n## Key features\n\n🔥 **Headless** : Works with any UI framework\n\n⚙️ **Zero-configuration**: One-line setup with [superplate](https://github.com/pankod/superplate). It takes less than a minute to start a project.\n\n📦 **Out-of-the-box** : Routing, networking, authentication, state management, i18n and UI.\n\n🔌 **Backend Agnostic** : Connects to any custom backend. Built-in support for [REST API](https://github.com/pankod/refine/tree/master/packages/simple-rest), [GraphQL](https://github.com/pankod/refine/tree/master/packages/graphql), [NestJs CRUD](https://github.com/pankod/refine/tree/master/packages/nestjsx-crud), [Airtable](https://github.com/pankod/refine/tree/master/packages/airtable), [Strapi](https://github.com/pankod/refine/tree/master/packages/strapi), [Strapi v4](https://github.com/pankod/refine/tree/master/packages/strapi-v4), [Strapi GraphQL](https://github.com/pankod/refine/tree/master/packages/strapi-graphql), [Supabase](https://github.com/pankod/refine/tree/master/packages/supabase), [Hasura](https://github.com/pankod/refine/tree/master/packages/hasura), [Appwrite](https://github.com/pankod/refine/tree/master/packages/appwrite), [Firebase](https://firebase.google.com/), [Directus](https://directus.io/) and [Altogic](https://github.com/pankod/refine/tree/master/packages/altogic).\n\n📝 **Native Typescript Core** : You can always opt out for plain JavaScript.\n\n🐜 **Enterprise UI** : Works seamlessly with Ant Design System. (Support for multiple UI frameworks is on the Roadmap)\n\n📝 **Boilerplate-free Code** : Keeps your codebase clean and readable.\n\n## Motivation\n\nHigher-level frontend frameworks can save you a lot time, but they typically offer you a trade-off between speed and flexibility.\n\nAfter many years of experience in developing B2B frontend applications and working with popular frameworks, we came up with a new approach to tackle this dilemma. This is how **refine** is born.\n\n**refine** is a collection of helper `hooks`, `components` and `providers`. They are all decoupled from your UI components and business logic, so they never keep you from customizing your UI or coding your own flow.\n\nAs **refine** is totally _unopinionated_ about UI and logic, it's strongly _opinionated_ about three parts of your application:\n\n1. **API Networking**\n2. **State Management**\n3. **Authentication & Authorization**\n\nWe believe, these are the most important components of a data-intensive frontend application and should be handled in a robust way by leveraging industry best practices.\n\n**refine** guarantees you a perfect implementation of these building blocks in your project, so you can focus on your development.\n\n## Architecture\n\n**refine** makes extensive use of [hooks](https://reactjs.org/docs/hooks-reference.html#gatsby-focus-wrapper) as a default way for interacting with your components.\nUnder the hood, **refine** relies heavily to [React Query](https://react-query.tanstack.com/) for data handling, caching and state management.\nAccess to external sources and API's happen via providers which are basically plug-in type components for extendibility.\n\n<br/>\n\n<div align=\"center\">\n    <img src=\"https://raw.githubusercontent.com/pankod/refine/master/documentation/static/img/getting-started/refine_architecture.png\" width=\"400px\" />\n</div>\n\n## Benchmark\n\nAfter releasing the first internal versions, we had the chance to migrate some of our _React_ projects to **refine**.\nIn addition to **shorter development** times and **overall performance gains**, we've measured significant reduction in project size.\n\n**refine** makes your codebase significantly smaller, by eliminating redundant code such as _reducers_, _actions_ and _unit tests_. Below is a size comparison for an example project:\n\n<br/>\n\n<div align=\"center\">\n    <img src=\"https://raw.githubusercontent.com/pankod/refine/master/documentation/static/img/getting-started/benchmark.png\" width=\"400px\" align=\"center\" />\n</div>\n\n## Quick Start\n\nRun the **superplate** tool with the following command:\n\n```\nnpx superplate-cli -p refine-react tutorial\n```\n\nFollow the _CLI wizard_ to select options and start creating your project.\n\nAfter setup is complete, navigate to the project folder and start your project with:\n\n```\nnpm run dev\n```\n\nYour **refine** application will be accessible at [http://localhost:3000](http://localhost:3000).\n\nReplace the contents of `App.tsx` with the following code:\n\n```tsx title=\"App.tsx\"\nmport { Refine, useMany } from \"@pankod/refine-core\";\nimport {\n    useTable,\n    List,\n    Table,\n    DateField,\n} from \"@pankod/refine-antd\";\nimport routerProvider from \"@pankod/refine-react-router-v6\";\nimport dataProvider from \"@pankod/refine-simple-rest\";\n\nimport \"@pankod/refine-antd/dist/styles.min.css\";\n\nconst App: React.FC = () => {\n    return (\n        <Refine\n            routerProvider={routerProvider}\n            dataProvider={dataProvider(\"https://api.fake-rest.refine.dev\")}\n            resources={[{ name: \"posts\", list: PostList }]}\n        />\n    );\n};\n\nexport const PostList: React.FC = () => {\n    const { tableProps } = useTable<IPost>();\n\n    const categoryIds =\n        tableProps?.dataSource?.map((item) => item.category.id) ?? [];\n\n    const { data, isLoading } = useMany<ICategory>({\n        resource: \"categories\",\n        ids: categoryIds,\n        queryOptions: {\n            enabled: categoryIds.length > 0,\n        },\n    });\n\n    return (\n        <List>\n            <Table<IPost> {...tableProps} rowKey=\"id\">\n                <Table.Column dataIndex=\"title\" title=\"title\" />\n                <Table.Column\n                    dataIndex={[\"category\", \"id\"]}\n                    title=\"category\"\n                    render={(value: string) => {\n                        if (isLoading) {\n                            return \"loading...\";\n                        }\n\n                        return data?.data.find(\n                            (item: ICategory) => item.id === value,\n                        )?.title;\n                    }}\n                />\n                <Table.Column\n                    dataIndex=\"createdAt\"\n                    title=\"createdAt\"\n                    render={(value) => <DateField format=\"LLL\" value={value} />}\n                />\n            </Table>\n        </List>\n    );\n};\n\nexport default App;\n```\n\n```tsx title=\"interfaces.d.ts\"\ninterface IPost {\n    title: string;\n    createdAt: string;\n    category: ICategory;\n}\n\ninterface ICategory {\n    id: string;\n    title: string;\n}\n```\n\n## Roadmap\nYou can find Refine's <a href=\"https://github.com/pankod/refine/projects/1\">Public Roadmap here!</a> \n\n## Stargazers\n\n[![Stargazers repo roster for pankod/refine](https://reporoster.com/stars/pankod/refine)](https://github.com/pankod/refine/stargazers)\n\n## Contribution\n\nIf you have a bug to report, do not hesitate to file an issue.\n\nIf you are willing to fix an issue or propose a feature; all PRs with clear explanations are welcome and encouraged.\n\n## License\n\nLicensed under the MIT License, Copyright © 2021-present Pankod\n\n## Special Thanks\n\n[React Admin](https://marmelab.com/react-admin/) has been a great source of ideas and inspiration for refine. Big thanks to friends at [Marmelab](https://marmelab.com) for the amazing work they are doing.\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/pankod/refine/issues"},"homepage":"https://github.com/pankod/refine#readme","_id":"@pankod/refine-core@3.24.0-next.8","_nodeVersion":"16.15.1","_npmVersion":"lerna/4.0.0/node@v16.15.1+x64 (linux)","dist":{"integrity":"sha512-jK0FgjPqbd5cKKnhM8Htjs9XRHenD/vkQ79+sGe1mQIiF0GTG5NnI8iGOMWEnAT4y3bdGr1RIu2h0xV3QKaJnQ==","shasum":"4909d7c9e38ed38266112333a09fbdd50950a174","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.24.0-next.8.tgz","fileCount":218,"unpackedSize":1425129,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGENfh6b/7QTyEO8PxGtxCTvA1Cue7gG4AQFKXic1pepAiAbN17bLoUCh5oM/q+gpCjX3BoYrsmjWmEkt3t6Bld/vw=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJin3I+ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmqq8g/+Ka2+SFI8x0hNkfdDZwnNyadcFbHIk1BxJZ5ruVwW3dUrgpuM\r\n8Tr90ch+HHj5kJ+Bav2RZ56Aum1WXlQica4T6+sFUZrAJIXjdxHSwH0oKvMg\r\nbRXPSs5iiTAyGsrf8RRyabWNO5/mO6NU+WPlyB2KkRNyfA5GjsINL/J1GGad\r\nFYYy29cfKotVdi2AoXSm+Hh9etQ3L0YsePfZoQ1qwCdNUE0s3ithDA/bw4ZY\r\neXgA64Tyuy5BHy6rxiPANIIgnPUU5GtsvEfLN04IQsvL9k0npp4dWGrWvZxu\r\npZOKpUJ+bLzmzfjZ63Sk9BJsRW7FvVLf9n7h0yMlewzkT2kkhVr9QS5Akh9P\r\n6LfrcyfBJqK2YsDEmBWj6DzS2U53MfdnetodTaqql+O6BkP8b114Pl7WSeFc\r\nVZYD9ROOyBNmcJFz1vbUcTrVioa209AJBnDTmgFFpXnOZ12ibVaoFI4V/j+n\r\nEs+TY/Zrm3RZahNEvJCw+MbKH0qpmcUHmIiTvhtbCDX6qgPCJeF/xFKey1TA\r\nrR34cf6NTFmnXfNvStelDOwUiynqN7QRZtOZUBxy5syqbMsTcjhYecq2Sol4\r\nYE726Hho9LXraKitaAJYo9caKBsfk54fMyhfURQdVlQ6LwoUL3/nAJ3EiaX+\r\n51nOFfZrpEWJveQ8jrtV7St2Jnpfw2GkC7I=\r\n=8dX7\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"aydinakyol","email":"aydinakyol11@gmail.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.24.0-next.8_1654616638330_0.6034087899971508"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.24.0-next.9":{"name":"@pankod/refine-core","version":"3.24.0-next.9","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --dts --format esm,cjs,iife --legacy-output","build":"tsup --dts --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.12.0","@testing-library/react":"^11.2.6","@testing-library/react-hooks":"^5.0.3","@testing-library/user-event":"^12.8.3","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^17.0.4","@types/react-dom":"^17.0.4","@types/testing-library__jest-dom":"^5.9.5","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"^6.0.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.4.3"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","humanize-string":"^2.1.0","lodash":"^4.17.21","lodash-es":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","react-query":"^3.19.2","tslib":"^2.3.1"},"repository":{"type":"git","url":"git+https://github.com/pankod/refine.git","directory":"packages/core"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"451eb4296976408b128d01e45dacb871b052e1d2","publishConfig":{"access":"public"},"readme":"<div align=\"center\" style=\"margin: 30px;\">\n<a href=\"https://refine.dev/\">\n  <img src=\"https://raw.githubusercontent.com/pankod/refine/master/logo.png\"   style=\"width:250px;\" align=\"center\" />\n</a>\n<br />\n<br />\n\n<div align=\"center\">\n    <a href=\"https://refine.dev\">Home Page</a> |\n    <a href=\"https://refine.dev/demo/\">Demo</a> | \n    <a href=\"https://refine.dev/blog/\">Blog</a> | \n    <a href=\"https://refine.dev/docs/\">Documentation</a> | \n    <a href=\"https://github.com/pankod/refine/projects/1\">Roadmap</a> | \n    <a href=\"https://refine.dev/docs/examples/tutorial/\">Examples</a> | \n    <a href=\"https://refine.dev/enterprise/\">Enterprise</a> | \n    <a href=\"https://discord.gg/refine\">Discord</a>\n</div>\n\n</div>\n<br/>\n\n<div align=\"center\"><strong>refine</strong> is a <a href=\"https://reactjs.org/\">React</a>-based framework for building internal tools, rapidly. ✨ It ships with <a href=\"https://ant.design/\">Ant Design System</a>, an enterprise-level UI toolkit.</div>\n\n<br />\n\n<div align=\"center\">\n\n[![Discord](https://img.shields.io/discord/837692625737613362.svg?label=&logo=discord&logoColor=ffffff&color=7389D8&labelColor=6A7EC2)](https://discord.gg/refine)\n![Twitter Follow](https://img.shields.io/twitter/follow/refine_dev?style=social)\n\n<a href=\"https://www.producthunt.com/posts/refine-open-source-react-framework?utm_source=badge-featured&utm_medium=badge&utm_souce=badge-refine-open-source-react-framework\" target=\"_blank\"><img src=\"https://api.producthunt.com/widgets/embed-image/v1/featured.svg?post_id=319164&theme=light\" alt=\"refine: Open Source React Framework - Focus your business logic. refine will do the rest. | Product Hunt\" style=\"width: 250px; height: 54px;\" width=\"250\" height=\"54\" /></a>\n\n[![Meercode CI Score](https://meercode.io/badge/pankod/refine?type=ci-score&branch=master&token=2ZiT8YsoJgt57JB23NYwXrFY3rJHZboT&lastDay=31)](https://meercode.io/)\n[![Meercode CI Success Rate](https://meercode.io/badge/pankod/refine?type=ci-success-rate&branch=master&token=2ZiT8YsoJgt57JB23NYwXrFY3rJHZboT&lastDay=31)](https://meercode.io/)\n[![Maintainability](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/maintainability)](https://codeclimate.com/github/pankod/refine/maintainability)\n[![Test Coverage](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/test_coverage)](https://codeclimate.com/github/pankod/refine/test_coverage)\n[![npm version](https://img.shields.io/npm/v/@pankod/refine-core.svg)](https://www.npmjs.com/package/@pankod/refine-core)\n[![npm](https://img.shields.io/npm/dm/@pankod/refine-core)](https://www.npmjs.com/package/@pankod/refine-core)\n[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.0-4baaaa.svg)](code_of_conduct.md)\n\n\n</div>\n\n<div align=\"center\">\n  <sub>Created by <a href=\"https://www.pankod.com\">Pankod</a></sub>\n</div>\n\n## About\n\n[**refine**](https://refine.dev/) offers lots of out-of-the box functionality for rapid development, without compromising extreme customizability. Use-cases include, but are not limited to _admin panels_, _B2B applications_ and _dashboards_.\n\n## Documentation\n\nFor more detailed information and usage, refer to the [refine documentation](https://refine.dev/docs/).\n\n## What is refine?\n\n**refine** is a [React](https://reactjs.org/)-based framework for building internal tools, rapidly. :sparkles: It ships with [Ant Design System](https://ant.design/), an enterprise-level UI toolkit.\n\nRefine offers lots of out-of-the box functionality for rapid development, without compromising extreme customizability. Use-cases include, but are not limited to _admin panels_, _B2B applications_ and _dashboards_.\n\n## What is a \"headless\" Framework?\n**refine** is a **headless** React framework, which means all out-of-the-box features(**Routing**, **Networking**, **Authentication**, **Authorization**, **State Management**, **Realtime**, **i18n**, etc.), it can be used without being tied to any UI elements or framework. Also, Ant Design as out-of-the-box is supported.\n\n- Customization & Extensibility -  UI is a completely customizable area and each developer uses different solutions. **refine** features does not restrict or interfere with your UI structure. **refine** allows the you to design and customizable the UI based on their unique use case.\n\n- Separation of Concerns - **refine** as a framework, is not responsible for your UI and is independent.\n\n- Maintenance - By removing the API surface to support every UI use case, **refine** easy to use and update/maintain is simple.\n\n###\n\n## Key features\n\n🔥 **Headless** : Works with any UI framework\n\n⚙️ **Zero-configuration**: One-line setup with [superplate](https://github.com/pankod/superplate). It takes less than a minute to start a project.\n\n📦 **Out-of-the-box** : Routing, networking, authentication, state management, i18n and UI.\n\n🔌 **Backend Agnostic** : Connects to any custom backend. Built-in support for [REST API](https://github.com/pankod/refine/tree/master/packages/simple-rest), [GraphQL](https://github.com/pankod/refine/tree/master/packages/graphql), [NestJs CRUD](https://github.com/pankod/refine/tree/master/packages/nestjsx-crud), [Airtable](https://github.com/pankod/refine/tree/master/packages/airtable), [Strapi](https://github.com/pankod/refine/tree/master/packages/strapi), [Strapi v4](https://github.com/pankod/refine/tree/master/packages/strapi-v4), [Strapi GraphQL](https://github.com/pankod/refine/tree/master/packages/strapi-graphql), [Supabase](https://github.com/pankod/refine/tree/master/packages/supabase), [Hasura](https://github.com/pankod/refine/tree/master/packages/hasura), [Appwrite](https://github.com/pankod/refine/tree/master/packages/appwrite), [Firebase](https://firebase.google.com/), [Directus](https://directus.io/) and [Altogic](https://github.com/pankod/refine/tree/master/packages/altogic).\n\n📝 **Native Typescript Core** : You can always opt out for plain JavaScript.\n\n🐜 **Enterprise UI** : Works seamlessly with Ant Design System. (Support for multiple UI frameworks is on the Roadmap)\n\n📝 **Boilerplate-free Code** : Keeps your codebase clean and readable.\n\n## Motivation\n\nHigher-level frontend frameworks can save you a lot time, but they typically offer you a trade-off between speed and flexibility.\n\nAfter many years of experience in developing B2B frontend applications and working with popular frameworks, we came up with a new approach to tackle this dilemma. This is how **refine** is born.\n\n**refine** is a collection of helper `hooks`, `components` and `providers`. They are all decoupled from your UI components and business logic, so they never keep you from customizing your UI or coding your own flow.\n\nAs **refine** is totally _unopinionated_ about UI and logic, it's strongly _opinionated_ about three parts of your application:\n\n1. **API Networking**\n2. **State Management**\n3. **Authentication & Authorization**\n\nWe believe, these are the most important components of a data-intensive frontend application and should be handled in a robust way by leveraging industry best practices.\n\n**refine** guarantees you a perfect implementation of these building blocks in your project, so you can focus on your development.\n\n## Architecture\n\n**refine** makes extensive use of [hooks](https://reactjs.org/docs/hooks-reference.html#gatsby-focus-wrapper) as a default way for interacting with your components.\nUnder the hood, **refine** relies heavily to [React Query](https://react-query.tanstack.com/) for data handling, caching and state management.\nAccess to external sources and API's happen via providers which are basically plug-in type components for extendibility.\n\n<br/>\n\n<div align=\"center\">\n    <img src=\"https://raw.githubusercontent.com/pankod/refine/master/documentation/static/img/getting-started/refine_architecture.png\" width=\"400px\" />\n</div>\n\n## Benchmark\n\nAfter releasing the first internal versions, we had the chance to migrate some of our _React_ projects to **refine**.\nIn addition to **shorter development** times and **overall performance gains**, we've measured significant reduction in project size.\n\n**refine** makes your codebase significantly smaller, by eliminating redundant code such as _reducers_, _actions_ and _unit tests_. Below is a size comparison for an example project:\n\n<br/>\n\n<div align=\"center\">\n    <img src=\"https://raw.githubusercontent.com/pankod/refine/master/documentation/static/img/getting-started/benchmark.png\" width=\"400px\" align=\"center\" />\n</div>\n\n## Quick Start\n\nRun the **superplate** tool with the following command:\n\n```\nnpx superplate-cli -p refine-react tutorial\n```\n\nFollow the _CLI wizard_ to select options and start creating your project.\n\nAfter setup is complete, navigate to the project folder and start your project with:\n\n```\nnpm run dev\n```\n\nYour **refine** application will be accessible at [http://localhost:3000](http://localhost:3000).\n\nReplace the contents of `App.tsx` with the following code:\n\n```tsx title=\"App.tsx\"\nmport { Refine, useMany } from \"@pankod/refine-core\";\nimport {\n    useTable,\n    List,\n    Table,\n    DateField,\n} from \"@pankod/refine-antd\";\nimport routerProvider from \"@pankod/refine-react-router-v6\";\nimport dataProvider from \"@pankod/refine-simple-rest\";\n\nimport \"@pankod/refine-antd/dist/styles.min.css\";\n\nconst App: React.FC = () => {\n    return (\n        <Refine\n            routerProvider={routerProvider}\n            dataProvider={dataProvider(\"https://api.fake-rest.refine.dev\")}\n            resources={[{ name: \"posts\", list: PostList }]}\n        />\n    );\n};\n\nexport const PostList: React.FC = () => {\n    const { tableProps } = useTable<IPost>();\n\n    const categoryIds =\n        tableProps?.dataSource?.map((item) => item.category.id) ?? [];\n\n    const { data, isLoading } = useMany<ICategory>({\n        resource: \"categories\",\n        ids: categoryIds,\n        queryOptions: {\n            enabled: categoryIds.length > 0,\n        },\n    });\n\n    return (\n        <List>\n            <Table<IPost> {...tableProps} rowKey=\"id\">\n                <Table.Column dataIndex=\"title\" title=\"title\" />\n                <Table.Column\n                    dataIndex={[\"category\", \"id\"]}\n                    title=\"category\"\n                    render={(value: string) => {\n                        if (isLoading) {\n                            return \"loading...\";\n                        }\n\n                        return data?.data.find(\n                            (item: ICategory) => item.id === value,\n                        )?.title;\n                    }}\n                />\n                <Table.Column\n                    dataIndex=\"createdAt\"\n                    title=\"createdAt\"\n                    render={(value) => <DateField format=\"LLL\" value={value} />}\n                />\n            </Table>\n        </List>\n    );\n};\n\nexport default App;\n```\n\n```tsx title=\"interfaces.d.ts\"\ninterface IPost {\n    title: string;\n    createdAt: string;\n    category: ICategory;\n}\n\ninterface ICategory {\n    id: string;\n    title: string;\n}\n```\n\n## Roadmap\nYou can find Refine's <a href=\"https://github.com/pankod/refine/projects/1\">Public Roadmap here!</a> \n\n## Stargazers\n\n[![Stargazers repo roster for pankod/refine](https://reporoster.com/stars/pankod/refine)](https://github.com/pankod/refine/stargazers)\n\n## Contribution\n\nIf you have a bug to report, do not hesitate to file an issue.\n\nIf you are willing to fix an issue or propose a feature; all PRs with clear explanations are welcome and encouraged.\n\n## License\n\nLicensed under the MIT License, Copyright © 2021-present Pankod\n\n## Special Thanks\n\n[React Admin](https://marmelab.com/react-admin/) has been a great source of ideas and inspiration for refine. Big thanks to friends at [Marmelab](https://marmelab.com) for the amazing work they are doing.\n\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/pankod/refine/issues"},"homepage":"https://github.com/pankod/refine#readme","_id":"@pankod/refine-core@3.24.0-next.9","_nodeVersion":"16.15.0","_npmVersion":"lerna/4.0.0/node@v16.15.0+x64 (linux)","dist":{"integrity":"sha512-CrdtghL2n253LYDXfNEgwmv6I2kodi+qEs7+kffkWJlcqDRwP8+Yuhj63yW1C0nsfFdzqgfEe6P+YtSWKlt9mw==","shasum":"f09b4e68704b624f36e284a1847ed66138036607","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.24.0-next.9.tgz","fileCount":218,"unpackedSize":1425130,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICpfevUrR5Sm4xW0IKhfVEClo/JgyqgYAItOc4Rwa/TLAiA4Q624DJX+CFGupqSwZ6MXbVy9gk8p7GJe0+cVZzAmAw=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJin4i0ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp65g/9GCaLJnpj01Lju2x/GtfHyB+0W/yb8nARqd6NfZf2Tf8WLKsq\r\nqOLDPEmHrZpIjVdez8qyTxKlg1K2wSYaP9pK8vf7y5BJ0nvPLxGv3x+GFKVY\r\nrIlKbymH+cG+0UYl262OCt5tfdkly9DHIynr0NUGiX5qzJ9vnYcI680jLsy7\r\nUlp/GWHj61GT77dS174sfirLvm0JVSeiW1Zt0wpfg/0S2BeNm1W9rhR8skz1\r\nnXNKPsa6nELht/ZjGVR66dwkFw7P+OCTaBzNuWTh1KFvHySbYuzWFo+mpgbM\r\nrQqC2mRsi+LS6pZ6YuRzxP20PB56ISzvezu09lcShsohukSZzKEmrt0qFHML\r\n9e39FvE/0iCkN0+C+mjnl2Y2uuW48ABvA/7+43+zudKlihXvXqTJdXAaPv+8\r\n0ddnyvrBmqWH4yXNTvfN3vxpyanDlAO1VJI3/+swEe8Eh+aa/5on6yO1MHPA\r\nORB3RB0IUoFly+rMVPx65gQNG63Jt/iGx/Jx7MkEixKcElaU/lmt/GnTcapG\r\n8nrs1hCsy7AdcIZ2Oye42DV+oj/aeg/hbqQFGG3iaJz9H8C5kEeXg/SQWK/T\r\n5rp6w+uH8Uc/CbZgNiWxepBElN8QYiTniDdPLVauyB/ynSSRajpwezDINq3B\r\njVndCpcWzUHoh0418EbNHXl9SRSImV4F0K4=\r\n=Uovu\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"aydinakyol","email":"aydinakyol11@gmail.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.24.0-next.9_1654622388066_0.1434032985620335"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.24.0-next.10":{"name":"@pankod/refine-core","version":"3.24.0-next.10","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --dts --format esm,cjs,iife --legacy-output","build":"tsup --dts --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.12.0","@testing-library/react":"^11.2.6","@testing-library/react-hooks":"^5.0.3","@testing-library/user-event":"^12.8.3","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^17.0.4","@types/react-dom":"^17.0.4","@types/testing-library__jest-dom":"^5.9.5","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"^6.0.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.4.3"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","humanize-string":"^2.1.0","lodash":"^4.17.21","lodash-es":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","react-query":"^3.19.2","tslib":"^2.3.1"},"repository":{"type":"git","url":"git+https://github.com/pankod/refine.git","directory":"packages/core"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"b762a00905cafcc009b6ed907759d4aa8e6366b3","publishConfig":{"access":"public"},"readme":"<div align=\"center\" style=\"margin: 30px;\">\n<a href=\"https://refine.dev/\">\n  <img src=\"https://raw.githubusercontent.com/pankod/refine/master/logo.png\"   style=\"width:250px;\" align=\"center\" />\n</a>\n<br />\n<br />\n\n<div align=\"center\">\n    <a href=\"https://refine.dev\">Home Page</a> |\n    <a href=\"https://refine.dev/demo/\">Demo</a> | \n    <a href=\"https://refine.dev/blog/\">Blog</a> | \n    <a href=\"https://refine.dev/docs/\">Documentation</a> | \n    <a href=\"https://github.com/pankod/refine/projects/1\">Roadmap</a> | \n    <a href=\"https://refine.dev/docs/examples/tutorial/\">Examples</a> | \n    <a href=\"https://refine.dev/enterprise/\">Enterprise</a> | \n    <a href=\"https://discord.gg/refine\">Discord</a>\n</div>\n\n</div>\n<br/>\n\n<div align=\"center\"><strong>refine</strong> is a <a href=\"https://reactjs.org/\">React</a>-based framework for building internal tools, rapidly. ✨ It ships with <a href=\"https://ant.design/\">Ant Design System</a>, an enterprise-level UI toolkit.</div>\n\n<br />\n\n<div align=\"center\">\n\n[![Discord](https://img.shields.io/discord/837692625737613362.svg?label=&logo=discord&logoColor=ffffff&color=7389D8&labelColor=6A7EC2)](https://discord.gg/refine)\n![Twitter Follow](https://img.shields.io/twitter/follow/refine_dev?style=social)\n\n<a href=\"https://www.producthunt.com/posts/refine-open-source-react-framework?utm_source=badge-featured&utm_medium=badge&utm_souce=badge-refine-open-source-react-framework\" target=\"_blank\"><img src=\"https://api.producthunt.com/widgets/embed-image/v1/featured.svg?post_id=319164&theme=light\" alt=\"refine: Open Source React Framework - Focus your business logic. refine will do the rest. | Product Hunt\" style=\"width: 250px; height: 54px;\" width=\"250\" height=\"54\" /></a>\n\n[![Meercode CI Score](https://meercode.io/badge/pankod/refine?type=ci-score&branch=master&token=2ZiT8YsoJgt57JB23NYwXrFY3rJHZboT&lastDay=31)](https://meercode.io/)\n[![Meercode CI Success Rate](https://meercode.io/badge/pankod/refine?type=ci-success-rate&branch=master&token=2ZiT8YsoJgt57JB23NYwXrFY3rJHZboT&lastDay=31)](https://meercode.io/)\n[![Maintainability](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/maintainability)](https://codeclimate.com/github/pankod/refine/maintainability)\n[![Test Coverage](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/test_coverage)](https://codeclimate.com/github/pankod/refine/test_coverage)\n[![npm version](https://img.shields.io/npm/v/@pankod/refine-core.svg)](https://www.npmjs.com/package/@pankod/refine-core)\n[![npm](https://img.shields.io/npm/dm/@pankod/refine-core)](https://www.npmjs.com/package/@pankod/refine-core)\n[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.0-4baaaa.svg)](code_of_conduct.md)\n\n\n</div>\n\n<div align=\"center\">\n  <sub>Created by <a href=\"https://www.pankod.com\">Pankod</a></sub>\n</div>\n\n## About\n\n[**refine**](https://refine.dev/) offers lots of out-of-the box functionality for rapid development, without compromising extreme customizability. Use-cases include, but are not limited to _admin panels_, _B2B applications_ and _dashboards_.\n\n## Documentation\n\nFor more detailed information and usage, refer to the [refine documentation](https://refine.dev/docs/).\n\n## What is refine?\n\n**refine** is a [React](https://reactjs.org/)-based framework for building internal tools, rapidly. :sparkles: It ships with [Ant Design System](https://ant.design/), an enterprise-level UI toolkit.\n\nRefine offers lots of out-of-the box functionality for rapid development, without compromising extreme customizability. Use-cases include, but are not limited to _admin panels_, _B2B applications_ and _dashboards_.\n\n## What is a \"headless\" Framework?\n**refine** is a **headless** React framework, which means all out-of-the-box features(**Routing**, **Networking**, **Authentication**, **Authorization**, **State Management**, **Realtime**, **i18n**, etc.), it can be used without being tied to any UI elements or framework. Also, Ant Design as out-of-the-box is supported.\n\n- Customization & Extensibility -  UI is a completely customizable area and each developer uses different solutions. **refine** features does not restrict or interfere with your UI structure. **refine** allows the you to design and customizable the UI based on their unique use case.\n\n- Separation of Concerns - **refine** as a framework, is not responsible for your UI and is independent.\n\n- Maintenance - By removing the API surface to support every UI use case, **refine** easy to use and update/maintain is simple.\n\n###\n\n## Key features\n\n🔥 **Headless** : Works with any UI framework\n\n⚙️ **Zero-configuration**: One-line setup with [superplate](https://github.com/pankod/superplate). It takes less than a minute to start a project.\n\n📦 **Out-of-the-box** : Routing, networking, authentication, state management, i18n and UI.\n\n🔌 **Backend Agnostic** : Connects to any custom backend. Built-in support for [REST API](https://github.com/pankod/refine/tree/master/packages/simple-rest), [GraphQL](https://github.com/pankod/refine/tree/master/packages/graphql), [NestJs CRUD](https://github.com/pankod/refine/tree/master/packages/nestjsx-crud), [Airtable](https://github.com/pankod/refine/tree/master/packages/airtable), [Strapi](https://github.com/pankod/refine/tree/master/packages/strapi), [Strapi v4](https://github.com/pankod/refine/tree/master/packages/strapi-v4), [Strapi GraphQL](https://github.com/pankod/refine/tree/master/packages/strapi-graphql), [Supabase](https://github.com/pankod/refine/tree/master/packages/supabase), [Hasura](https://github.com/pankod/refine/tree/master/packages/hasura), [Appwrite](https://github.com/pankod/refine/tree/master/packages/appwrite), [Firebase](https://firebase.google.com/), [Directus](https://directus.io/) and [Altogic](https://github.com/pankod/refine/tree/master/packages/altogic).\n\n📝 **Native Typescript Core** : You can always opt out for plain JavaScript.\n\n🐜 **Enterprise UI** : Works seamlessly with Ant Design System. (Support for multiple UI frameworks is on the Roadmap)\n\n📝 **Boilerplate-free Code** : Keeps your codebase clean and readable.\n\n## Motivation\n\nHigher-level frontend frameworks can save you a lot time, but they typically offer you a trade-off between speed and flexibility.\n\nAfter many years of experience in developing B2B frontend applications and working with popular frameworks, we came up with a new approach to tackle this dilemma. This is how **refine** is born.\n\n**refine** is a collection of helper `hooks`, `components` and `providers`. They are all decoupled from your UI components and business logic, so they never keep you from customizing your UI or coding your own flow.\n\nAs **refine** is totally _unopinionated_ about UI and logic, it's strongly _opinionated_ about three parts of your application:\n\n1. **API Networking**\n2. **State Management**\n3. **Authentication & Authorization**\n\nWe believe, these are the most important components of a data-intensive frontend application and should be handled in a robust way by leveraging industry best practices.\n\n**refine** guarantees you a perfect implementation of these building blocks in your project, so you can focus on your development.\n\n## Architecture\n\n**refine** makes extensive use of [hooks](https://reactjs.org/docs/hooks-reference.html#gatsby-focus-wrapper) as a default way for interacting with your components.\nUnder the hood, **refine** relies heavily to [React Query](https://react-query.tanstack.com/) for data handling, caching and state management.\nAccess to external sources and API's happen via providers which are basically plug-in type components for extendibility.\n\n<br/>\n\n<div align=\"center\">\n    <img src=\"https://raw.githubusercontent.com/pankod/refine/master/documentation/static/img/getting-started/refine_architecture.png\" width=\"400px\" />\n</div>\n\n## Benchmark\n\nAfter releasing the first internal versions, we had the chance to migrate some of our _React_ projects to **refine**.\nIn addition to **shorter development** times and **overall performance gains**, we've measured significant reduction in project size.\n\n**refine** makes your codebase significantly smaller, by eliminating redundant code such as _reducers_, _actions_ and _unit tests_. Below is a size comparison for an example project:\n\n<br/>\n\n<div align=\"center\">\n    <img src=\"https://raw.githubusercontent.com/pankod/refine/master/documentation/static/img/getting-started/benchmark.png\" width=\"400px\" align=\"center\" />\n</div>\n\n## Quick Start\n\nRun the **superplate** tool with the following command:\n\n```\nnpx superplate-cli -p refine-react tutorial\n```\n\nFollow the _CLI wizard_ to select options and start creating your project.\n\nAfter setup is complete, navigate to the project folder and start your project with:\n\n```\nnpm run dev\n```\n\nYour **refine** application will be accessible at [http://localhost:3000](http://localhost:3000).\n\nReplace the contents of `App.tsx` with the following code:\n\n```tsx title=\"App.tsx\"\nmport { Refine, useMany } from \"@pankod/refine-core\";\nimport {\n    useTable,\n    List,\n    Table,\n    DateField,\n} from \"@pankod/refine-antd\";\nimport routerProvider from \"@pankod/refine-react-router-v6\";\nimport dataProvider from \"@pankod/refine-simple-rest\";\n\nimport \"@pankod/refine-antd/dist/styles.min.css\";\n\nconst App: React.FC = () => {\n    return (\n        <Refine\n            routerProvider={routerProvider}\n            dataProvider={dataProvider(\"https://api.fake-rest.refine.dev\")}\n            resources={[{ name: \"posts\", list: PostList }]}\n        />\n    );\n};\n\nexport const PostList: React.FC = () => {\n    const { tableProps } = useTable<IPost>();\n\n    const categoryIds =\n        tableProps?.dataSource?.map((item) => item.category.id) ?? [];\n\n    const { data, isLoading } = useMany<ICategory>({\n        resource: \"categories\",\n        ids: categoryIds,\n        queryOptions: {\n            enabled: categoryIds.length > 0,\n        },\n    });\n\n    return (\n        <List>\n            <Table<IPost> {...tableProps} rowKey=\"id\">\n                <Table.Column dataIndex=\"title\" title=\"title\" />\n                <Table.Column\n                    dataIndex={[\"category\", \"id\"]}\n                    title=\"category\"\n                    render={(value: string) => {\n                        if (isLoading) {\n                            return \"loading...\";\n                        }\n\n                        return data?.data.find(\n                            (item: ICategory) => item.id === value,\n                        )?.title;\n                    }}\n                />\n                <Table.Column\n                    dataIndex=\"createdAt\"\n                    title=\"createdAt\"\n                    render={(value) => <DateField format=\"LLL\" value={value} />}\n                />\n            </Table>\n        </List>\n    );\n};\n\nexport default App;\n```\n\n```tsx title=\"interfaces.d.ts\"\ninterface IPost {\n    title: string;\n    createdAt: string;\n    category: ICategory;\n}\n\ninterface ICategory {\n    id: string;\n    title: string;\n}\n```\n\n## Roadmap\nYou can find Refine's <a href=\"https://github.com/pankod/refine/projects/1\">Public Roadmap here!</a> \n\n## Stargazers\n\n[![Stargazers repo roster for pankod/refine](https://reporoster.com/stars/pankod/refine)](https://github.com/pankod/refine/stargazers)\n\n## Contribution\n\nIf you have a bug to report, do not hesitate to file an issue.\n\nIf you are willing to fix an issue or propose a feature; all PRs with clear explanations are welcome and encouraged.\n\n## License\n\nLicensed under the MIT License, Copyright © 2021-present Pankod\n\n## Special Thanks\n\n[React Admin](https://marmelab.com/react-admin/) has been a great source of ideas and inspiration for refine. Big thanks to friends at [Marmelab](https://marmelab.com) for the amazing work they are doing.\n\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/pankod/refine/issues"},"homepage":"https://github.com/pankod/refine#readme","_id":"@pankod/refine-core@3.24.0-next.10","_nodeVersion":"16.15.0","_npmVersion":"lerna/4.0.0/node@v16.15.0+x64 (linux)","dist":{"integrity":"sha512-ECMsDnnhv1SoyaXgmyszBY7k9CiqNQ/a/uERd3iI31iOF68d/DlcSMn0oQhMfBE1uiDooB1cWI9bPdNeiiR0dA==","shasum":"459d284da6978c3bf62d6b2c753f3fcf5d102bf5","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.24.0-next.10.tgz","fileCount":218,"unpackedSize":1425131,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIF2b+Wuks4FeIrWTBqARDqpkOb5kqYgRHt2IgHhDxtA4AiEA20MqxYVF1LcUFsWo4et94D6exofi4LpgH9BA/q3l7T4="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJioERjACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrJ7hAAgqh0iLstbIz8LqWPyT5ckmH9sksFD8CaGr4kWyRJu/9Tlxkx\r\ncA5aqpjWhaMqNemSTgccqLcIpUl/7O8A6wrBTaScdDjdEbvlxljz/5rSa5yX\r\nQm4PY6iaj866X+IxvyBcesurLW64ahsp+Bs+AFN+tWcjv4rc/FsweupgLbRF\r\nA6h+ynaV3IsKNtAGR0pDF++o6xt0obko0542PdcQPHQmyutUZUzrgY8eH+d8\r\nS3gK29rBAjOoPeKphAKJaabmRiSNWGVJd+JDhmF98/KcrMfWWn9aBiZkvWot\r\nYnJAxrtFer8EW/We3Zh4f2Zj7Eb1i/9giFWLDlG0SIezPg9znGuApvuzK7Oe\r\nM2UwqC4lsSolKdrs8PSP2IDEjumMnpBr2nQyZpJDm4k8JSbqh99u+5rho8MX\r\nzvluISi0VOlfflezRkCEc8PBctTH/LkIrsn7+x7B05YP2uaHPkauEwXRogG4\r\nVAFxGcjP3xep+2l+x+vACPwy/ArHfUbBZ0FsY714IWT1EmBU496RpFaVjVNt\r\nTN8tQFl6+4N4Yck5dRlNeh3wZrCRbkcug1mjylcMkJlaIHkQkeHfs8OyjtRU\r\nrehKwKKe4BKaH2P0HaaEIiuly+VbnBiTh6xzeyTy6C4eXm7UGy7m/kHPmeSQ\r\n9p9OmugrwL2MZMDExGD8XoSCWFbX1uNfnOM=\r\n=jKd9\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"aydinakyol","email":"aydinakyol11@gmail.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.24.0-next.10_1654670435082_0.2864749972142431"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.24.0-next.12":{"name":"@pankod/refine-core","version":"3.24.0-next.12","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --dts --format esm,cjs,iife --legacy-output","build":"tsup --dts --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.12.0","@testing-library/react":"^11.2.6","@testing-library/react-hooks":"^5.0.3","@testing-library/user-event":"^12.8.3","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^17.0.4","@types/react-dom":"^17.0.4","@types/testing-library__jest-dom":"^5.9.5","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"^6.0.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.4.3"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","humanize-string":"^2.1.0","lodash":"^4.17.21","lodash-es":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","react-query":"^3.19.2","tslib":"^2.3.1"},"repository":{"type":"git","url":"git+https://github.com/pankod/refine.git","directory":"packages/core"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"029756906cfde0a51ed60e73886013620d78c911","publishConfig":{"access":"public"},"readme":"<div align=\"center\" style=\"margin: 30px;\">\n<a href=\"https://refine.dev/\">\n  <img src=\"https://raw.githubusercontent.com/pankod/refine/master/logo.png\"   style=\"width:250px;\" align=\"center\" />\n</a>\n<br />\n<br />\n\n<div align=\"center\">\n    <a href=\"https://refine.dev\">Home Page</a> |\n    <a href=\"https://refine.dev/demo/\">Demo</a> | \n    <a href=\"https://refine.dev/blog/\">Blog</a> | \n    <a href=\"https://refine.dev/docs/\">Documentation</a> | \n    <a href=\"https://github.com/pankod/refine/projects/1\">Roadmap</a> | \n    <a href=\"https://refine.dev/docs/examples/tutorial/\">Examples</a> | \n    <a href=\"https://refine.dev/enterprise/\">Enterprise</a> | \n    <a href=\"https://discord.gg/refine\">Discord</a>\n</div>\n\n</div>\n<br/>\n\n<div align=\"center\"><strong>refine</strong> is a <a href=\"https://reactjs.org/\">React</a>-based framework for building internal tools, rapidly. ✨ It ships with <a href=\"https://ant.design/\">Ant Design System</a>, an enterprise-level UI toolkit.</div>\n\n<br />\n\n<div align=\"center\">\n\n[![Discord](https://img.shields.io/discord/837692625737613362.svg?label=&logo=discord&logoColor=ffffff&color=7389D8&labelColor=6A7EC2)](https://discord.gg/refine)\n![Twitter Follow](https://img.shields.io/twitter/follow/refine_dev?style=social)\n\n<a href=\"https://www.producthunt.com/posts/refine-open-source-react-framework?utm_source=badge-featured&utm_medium=badge&utm_souce=badge-refine-open-source-react-framework\" target=\"_blank\"><img src=\"https://api.producthunt.com/widgets/embed-image/v1/featured.svg?post_id=319164&theme=light\" alt=\"refine: Open Source React Framework - Focus your business logic. refine will do the rest. | Product Hunt\" style=\"width: 250px; height: 54px;\" width=\"250\" height=\"54\" /></a>\n\n[![Meercode CI Score](https://meercode.io/badge/pankod/refine?type=ci-score&branch=master&token=2ZiT8YsoJgt57JB23NYwXrFY3rJHZboT&lastDay=31)](https://meercode.io/)\n[![Meercode CI Success Rate](https://meercode.io/badge/pankod/refine?type=ci-success-rate&branch=master&token=2ZiT8YsoJgt57JB23NYwXrFY3rJHZboT&lastDay=31)](https://meercode.io/)\n[![Maintainability](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/maintainability)](https://codeclimate.com/github/pankod/refine/maintainability)\n[![Test Coverage](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/test_coverage)](https://codeclimate.com/github/pankod/refine/test_coverage)\n[![npm version](https://img.shields.io/npm/v/@pankod/refine-core.svg)](https://www.npmjs.com/package/@pankod/refine-core)\n[![npm](https://img.shields.io/npm/dm/@pankod/refine-core)](https://www.npmjs.com/package/@pankod/refine-core)\n[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.0-4baaaa.svg)](code_of_conduct.md)\n\n\n</div>\n\n<div align=\"center\">\n  <sub>Created by <a href=\"https://www.pankod.com\">Pankod</a></sub>\n</div>\n\n## About\n\n[**refine**](https://refine.dev/) offers lots of out-of-the box functionality for rapid development, without compromising extreme customizability. Use-cases include, but are not limited to _admin panels_, _B2B applications_ and _dashboards_.\n\n## Documentation\n\nFor more detailed information and usage, refer to the [refine documentation](https://refine.dev/docs/).\n\n## What is refine?\n\n**refine** is a [React](https://reactjs.org/)-based framework for building internal tools, rapidly. :sparkles: It ships with [Ant Design System](https://ant.design/), an enterprise-level UI toolkit.\n\nRefine offers lots of out-of-the box functionality for rapid development, without compromising extreme customizability. Use-cases include, but are not limited to _admin panels_, _B2B applications_ and _dashboards_.\n\n## What is a \"headless\" Framework?\n**refine** is a **headless** React framework, which means all out-of-the-box features(**Routing**, **Networking**, **Authentication**, **Authorization**, **State Management**, **Realtime**, **i18n**, etc.), it can be used without being tied to any UI elements or framework. Also, Ant Design as out-of-the-box is supported.\n\n- Customization & Extensibility -  UI is a completely customizable area and each developer uses different solutions. **refine** features does not restrict or interfere with your UI structure. **refine** allows the you to design and customizable the UI based on their unique use case.\n\n- Separation of Concerns - **refine** as a framework, is not responsible for your UI and is independent.\n\n- Maintenance - By removing the API surface to support every UI use case, **refine** easy to use and update/maintain is simple.\n\n###\n\n## Key features\n\n🔥 **Headless** : Works with any UI framework\n\n⚙️ **Zero-configuration**: One-line setup with [superplate](https://github.com/pankod/superplate). It takes less than a minute to start a project.\n\n📦 **Out-of-the-box** : Routing, networking, authentication, state management, i18n and UI.\n\n🔌 **Backend Agnostic** : Connects to any custom backend. Built-in support for [REST API](https://github.com/pankod/refine/tree/master/packages/simple-rest), [GraphQL](https://github.com/pankod/refine/tree/master/packages/graphql), [NestJs CRUD](https://github.com/pankod/refine/tree/master/packages/nestjsx-crud), [Airtable](https://github.com/pankod/refine/tree/master/packages/airtable), [Strapi](https://github.com/pankod/refine/tree/master/packages/strapi), [Strapi v4](https://github.com/pankod/refine/tree/master/packages/strapi-v4), [Strapi GraphQL](https://github.com/pankod/refine/tree/master/packages/strapi-graphql), [Supabase](https://github.com/pankod/refine/tree/master/packages/supabase), [Hasura](https://github.com/pankod/refine/tree/master/packages/hasura), [Appwrite](https://github.com/pankod/refine/tree/master/packages/appwrite), [Firebase](https://firebase.google.com/), [Directus](https://directus.io/) and [Altogic](https://github.com/pankod/refine/tree/master/packages/altogic).\n\n📝 **Native Typescript Core** : You can always opt out for plain JavaScript.\n\n🐜 **Enterprise UI** : Works seamlessly with Ant Design System. (Support for multiple UI frameworks is on the Roadmap)\n\n📝 **Boilerplate-free Code** : Keeps your codebase clean and readable.\n\n## Motivation\n\nHigher-level frontend frameworks can save you a lot time, but they typically offer you a trade-off between speed and flexibility.\n\nAfter many years of experience in developing B2B frontend applications and working with popular frameworks, we came up with a new approach to tackle this dilemma. This is how **refine** is born.\n\n**refine** is a collection of helper `hooks`, `components` and `providers`. They are all decoupled from your UI components and business logic, so they never keep you from customizing your UI or coding your own flow.\n\nAs **refine** is totally _unopinionated_ about UI and logic, it's strongly _opinionated_ about three parts of your application:\n\n1. **API Networking**\n2. **State Management**\n3. **Authentication & Authorization**\n\nWe believe, these are the most important components of a data-intensive frontend application and should be handled in a robust way by leveraging industry best practices.\n\n**refine** guarantees you a perfect implementation of these building blocks in your project, so you can focus on your development.\n\n## Architecture\n\n**refine** makes extensive use of [hooks](https://reactjs.org/docs/hooks-reference.html#gatsby-focus-wrapper) as a default way for interacting with your components.\nUnder the hood, **refine** relies heavily to [React Query](https://react-query.tanstack.com/) for data handling, caching and state management.\nAccess to external sources and API's happen via providers which are basically plug-in type components for extendibility.\n\n<br/>\n\n<div align=\"center\">\n    <img src=\"https://raw.githubusercontent.com/pankod/refine/master/documentation/static/img/getting-started/refine_architecture.png\" width=\"400px\" />\n</div>\n\n## Benchmark\n\nAfter releasing the first internal versions, we had the chance to migrate some of our _React_ projects to **refine**.\nIn addition to **shorter development** times and **overall performance gains**, we've measured significant reduction in project size.\n\n**refine** makes your codebase significantly smaller, by eliminating redundant code such as _reducers_, _actions_ and _unit tests_. Below is a size comparison for an example project:\n\n<br/>\n\n<div align=\"center\">\n    <img src=\"https://raw.githubusercontent.com/pankod/refine/master/documentation/static/img/getting-started/benchmark.png\" width=\"400px\" align=\"center\" />\n</div>\n\n## Quick Start\n\nRun the **superplate** tool with the following command:\n\n```\nnpx superplate-cli -p refine-react tutorial\n```\n\nFollow the _CLI wizard_ to select options and start creating your project.\n\nAfter setup is complete, navigate to the project folder and start your project with:\n\n```\nnpm run dev\n```\n\nYour **refine** application will be accessible at [http://localhost:3000](http://localhost:3000).\n\nReplace the contents of `App.tsx` with the following code:\n\n```tsx title=\"App.tsx\"\nmport { Refine, useMany } from \"@pankod/refine-core\";\nimport {\n    useTable,\n    List,\n    Table,\n    DateField,\n} from \"@pankod/refine-antd\";\nimport routerProvider from \"@pankod/refine-react-router-v6\";\nimport dataProvider from \"@pankod/refine-simple-rest\";\n\nimport \"@pankod/refine-antd/dist/styles.min.css\";\n\nconst App: React.FC = () => {\n    return (\n        <Refine\n            routerProvider={routerProvider}\n            dataProvider={dataProvider(\"https://api.fake-rest.refine.dev\")}\n            resources={[{ name: \"posts\", list: PostList }]}\n        />\n    );\n};\n\nexport const PostList: React.FC = () => {\n    const { tableProps } = useTable<IPost>();\n\n    const categoryIds =\n        tableProps?.dataSource?.map((item) => item.category.id) ?? [];\n\n    const { data, isLoading } = useMany<ICategory>({\n        resource: \"categories\",\n        ids: categoryIds,\n        queryOptions: {\n            enabled: categoryIds.length > 0,\n        },\n    });\n\n    return (\n        <List>\n            <Table<IPost> {...tableProps} rowKey=\"id\">\n                <Table.Column dataIndex=\"title\" title=\"title\" />\n                <Table.Column\n                    dataIndex={[\"category\", \"id\"]}\n                    title=\"category\"\n                    render={(value: string) => {\n                        if (isLoading) {\n                            return \"loading...\";\n                        }\n\n                        return data?.data.find(\n                            (item: ICategory) => item.id === value,\n                        )?.title;\n                    }}\n                />\n                <Table.Column\n                    dataIndex=\"createdAt\"\n                    title=\"createdAt\"\n                    render={(value) => <DateField format=\"LLL\" value={value} />}\n                />\n            </Table>\n        </List>\n    );\n};\n\nexport default App;\n```\n\n```tsx title=\"interfaces.d.ts\"\ninterface IPost {\n    title: string;\n    createdAt: string;\n    category: ICategory;\n}\n\ninterface ICategory {\n    id: string;\n    title: string;\n}\n```\n\n## Roadmap\nYou can find Refine's <a href=\"https://github.com/pankod/refine/projects/1\">Public Roadmap here!</a> \n\n## Stargazers\n\n[![Stargazers repo roster for pankod/refine](https://reporoster.com/stars/pankod/refine)](https://github.com/pankod/refine/stargazers)\n\n## Contribution\n\nIf you have a bug to report, do not hesitate to file an issue.\n\nIf you are willing to fix an issue or propose a feature; all PRs with clear explanations are welcome and encouraged.\n\n## License\n\nLicensed under the MIT License, Copyright © 2021-present Pankod\n\n## Special Thanks\n\n[React Admin](https://marmelab.com/react-admin/) has been a great source of ideas and inspiration for refine. Big thanks to friends at [Marmelab](https://marmelab.com) for the amazing work they are doing.\n\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/pankod/refine/issues"},"homepage":"https://github.com/pankod/refine#readme","_id":"@pankod/refine-core@3.24.0-next.12","_nodeVersion":"16.15.1","_npmVersion":"lerna/4.0.0/node@v16.15.1+x64 (linux)","dist":{"integrity":"sha512-CNUhlwytP04p4XfOXutboCQJcwhtfcHEp+NS1edKJnEIGdpfj1nKt2VxFkv8zj5y7uBGpX8XVgnj1HnV7v1CTQ==","shasum":"5ac9e934383b91a283236fd06d72063c53277d10","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.24.0-next.12.tgz","fileCount":218,"unpackedSize":1425131,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICLj17FP/W3bV2w+Mfx6j37lMu5w+AFJ6dwAHjRuWlFCAiAw17CoWPu+NWtjXmuryFT8UA1mskqgZbEfRifmFH+biA=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJioFdoACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqlhA/9EqZeKFk72BGPm82CtBoMBEJTZlFOgkNZ6Kd5t8TYub+eNu9S\r\n0AD9YW6zIW8xjYXL1Pz/hT6EwgIml+mgz4znzw0PB7t/6NiKyUIlbczpTIso\r\nQrgSj3amoZztjIWSFLEI4fsthwi+VriFxCksKMJJbRjHzWUtlKYwS4Vhs4EX\r\nH4Lq7M7qxyDi6wwAqMyRE/fWIkQETrgOHschfymM8zx2W1LlM0FuqBLXghH4\r\nCeo+LS5gFvfNOYSE+bT1HZAO1xvPJq2vQdNaINC1iGsDJZplLamSqxAj6ZmJ\r\nBNWW8N04IkeO38+5nRUSZzsDLU0XggONjlVPUcFI+Aa3iXGl2BtAwgLPCZwY\r\nc7Cfyvvl5LKwyaARl5aH7VctJP5BFzcwwsXBxAn60EjdV7R6q1PzbnKHhy58\r\now1N/wuZ9LcydlV9O1yl8BTrHjSMZf42gdhebg0aQtnVkpFXZ1fdQ4b0oZsF\r\n3hjHnMk0afkn5/8CRZMFHo0xprB2LUfIJInItH00/dWtS8X8b3Z2p1UTGK1G\r\nnCpJ/6WdVP/H/31TRqz7/M/UT9GfUb2Eb4R9dL+6Jke+azM0sDfcMAba2HxW\r\niRggeLZiaLB57Xy2NQdU6sgq8xEJyzzl+UlwRCSpbOqosZPjGFsSUBQcbM6x\r\nEGJysA4mtf+bC8iBH3+1DMKX4ymcgEBPcHg=\r\n=Iw4o\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"aydinakyol","email":"aydinakyol11@gmail.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.24.0-next.12_1654675304351_0.9241131583297202"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.24.0-next.14":{"name":"@pankod/refine-core","version":"3.24.0-next.14","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --dts --format esm,cjs,iife --legacy-output","build":"tsup --dts --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.12.0","@testing-library/react":"^11.2.6","@testing-library/react-hooks":"^5.0.3","@testing-library/user-event":"^12.8.3","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^17.0.4","@types/react-dom":"^17.0.4","@types/testing-library__jest-dom":"^5.9.5","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"^6.0.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.4.3"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","humanize-string":"^2.1.0","lodash":"^4.17.21","lodash-es":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","react-query":"^3.19.2","tslib":"^2.3.1"},"repository":{"type":"git","url":"git+https://github.com/pankod/refine.git","directory":"packages/core"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"234b46cda6d4b9e669a0cbc3d90f6b63f2ebbbbb","publishConfig":{"access":"public"},"readme":"<div align=\"center\" style=\"margin: 30px;\">\n<a href=\"https://refine.dev/\">\n  <img src=\"https://raw.githubusercontent.com/pankod/refine/master/logo.png\"   style=\"width:250px;\" align=\"center\" />\n</a>\n<br />\n<br />\n\n<div align=\"center\">\n    <a href=\"https://refine.dev\">Home Page</a> |\n    <a href=\"https://refine.dev/demo/\">Demo</a> | \n    <a href=\"https://refine.dev/blog/\">Blog</a> | \n    <a href=\"https://refine.dev/docs/\">Documentation</a> | \n    <a href=\"https://github.com/pankod/refine/projects/1\">Roadmap</a> | \n    <a href=\"https://refine.dev/docs/examples/tutorial/\">Examples</a> | \n    <a href=\"https://refine.dev/enterprise/\">Enterprise</a> | \n    <a href=\"https://discord.gg/refine\">Discord</a>\n</div>\n\n</div>\n<br/>\n\n<div align=\"center\"><strong>refine</strong> is a <a href=\"https://reactjs.org/\">React</a>-based framework for building internal tools, rapidly. ✨ It ships with <a href=\"https://ant.design/\">Ant Design System</a>, an enterprise-level UI toolkit.</div>\n\n<br />\n\n<div align=\"center\">\n\n[![Discord](https://img.shields.io/discord/837692625737613362.svg?label=&logo=discord&logoColor=ffffff&color=7389D8&labelColor=6A7EC2)](https://discord.gg/refine)\n![Twitter Follow](https://img.shields.io/twitter/follow/refine_dev?style=social)\n\n<a href=\"https://www.producthunt.com/posts/refine-open-source-react-framework?utm_source=badge-featured&utm_medium=badge&utm_souce=badge-refine-open-source-react-framework\" target=\"_blank\"><img src=\"https://api.producthunt.com/widgets/embed-image/v1/featured.svg?post_id=319164&theme=light\" alt=\"refine: Open Source React Framework - Focus your business logic. refine will do the rest. | Product Hunt\" style=\"width: 250px; height: 54px;\" width=\"250\" height=\"54\" /></a>\n\n[![Meercode CI Score](https://meercode.io/badge/pankod/refine?type=ci-score&branch=master&token=2ZiT8YsoJgt57JB23NYwXrFY3rJHZboT&lastDay=31)](https://meercode.io/)\n[![Meercode CI Success Rate](https://meercode.io/badge/pankod/refine?type=ci-success-rate&branch=master&token=2ZiT8YsoJgt57JB23NYwXrFY3rJHZboT&lastDay=31)](https://meercode.io/)\n[![Maintainability](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/maintainability)](https://codeclimate.com/github/pankod/refine/maintainability)\n[![Test Coverage](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/test_coverage)](https://codeclimate.com/github/pankod/refine/test_coverage)\n[![npm version](https://img.shields.io/npm/v/@pankod/refine-core.svg)](https://www.npmjs.com/package/@pankod/refine-core)\n[![npm](https://img.shields.io/npm/dm/@pankod/refine-core)](https://www.npmjs.com/package/@pankod/refine-core)\n[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.0-4baaaa.svg)](code_of_conduct.md)\n\n\n</div>\n\n<div align=\"center\">\n  <sub>Created by <a href=\"https://www.pankod.com\">Pankod</a></sub>\n</div>\n\n## About\n\n[**refine**](https://refine.dev/) offers lots of out-of-the box functionality for rapid development, without compromising extreme customizability. Use-cases include, but are not limited to _admin panels_, _B2B applications_ and _dashboards_.\n\n## Documentation\n\nFor more detailed information and usage, refer to the [refine documentation](https://refine.dev/docs/).\n\n## What is refine?\n\n**refine** is a [React](https://reactjs.org/)-based framework for building internal tools, rapidly. :sparkles: It ships with [Ant Design System](https://ant.design/), an enterprise-level UI toolkit.\n\nRefine offers lots of out-of-the box functionality for rapid development, without compromising extreme customizability. Use-cases include, but are not limited to _admin panels_, _B2B applications_ and _dashboards_.\n\n## What is a \"headless\" Framework?\n**refine** is a **headless** React framework, which means all out-of-the-box features(**Routing**, **Networking**, **Authentication**, **Authorization**, **State Management**, **Realtime**, **i18n**, etc.), it can be used without being tied to any UI elements or framework. Also, Ant Design as out-of-the-box is supported.\n\n- Customization & Extensibility -  UI is a completely customizable area and each developer uses different solutions. **refine** features does not restrict or interfere with your UI structure. **refine** allows the you to design and customizable the UI based on their unique use case.\n\n- Separation of Concerns - **refine** as a framework, is not responsible for your UI and is independent.\n\n- Maintenance - By removing the API surface to support every UI use case, **refine** easy to use and update/maintain is simple.\n\n###\n\n## Key features\n\n🔥 **Headless** : Works with any UI framework\n\n⚙️ **Zero-configuration**: One-line setup with [superplate](https://github.com/pankod/superplate). It takes less than a minute to start a project.\n\n📦 **Out-of-the-box** : Routing, networking, authentication, state management, i18n and UI.\n\n🔌 **Backend Agnostic** : Connects to any custom backend. Built-in support for [REST API](https://github.com/pankod/refine/tree/master/packages/simple-rest), [GraphQL](https://github.com/pankod/refine/tree/master/packages/graphql), [NestJs CRUD](https://github.com/pankod/refine/tree/master/packages/nestjsx-crud), [Airtable](https://github.com/pankod/refine/tree/master/packages/airtable), [Strapi](https://github.com/pankod/refine/tree/master/packages/strapi), [Strapi v4](https://github.com/pankod/refine/tree/master/packages/strapi-v4), [Strapi GraphQL](https://github.com/pankod/refine/tree/master/packages/strapi-graphql), [Supabase](https://github.com/pankod/refine/tree/master/packages/supabase), [Hasura](https://github.com/pankod/refine/tree/master/packages/hasura), [Appwrite](https://github.com/pankod/refine/tree/master/packages/appwrite), [Firebase](https://firebase.google.com/), [Directus](https://directus.io/) and [Altogic](https://github.com/pankod/refine/tree/master/packages/altogic).\n\n📝 **Native Typescript Core** : You can always opt out for plain JavaScript.\n\n🐜 **Enterprise UI** : Works seamlessly with Ant Design System. (Support for multiple UI frameworks is on the Roadmap)\n\n📝 **Boilerplate-free Code** : Keeps your codebase clean and readable.\n\n## Motivation\n\nHigher-level frontend frameworks can save you a lot time, but they typically offer you a trade-off between speed and flexibility.\n\nAfter many years of experience in developing B2B frontend applications and working with popular frameworks, we came up with a new approach to tackle this dilemma. This is how **refine** is born.\n\n**refine** is a collection of helper `hooks`, `components` and `providers`. They are all decoupled from your UI components and business logic, so they never keep you from customizing your UI or coding your own flow.\n\nAs **refine** is totally _unopinionated_ about UI and logic, it's strongly _opinionated_ about three parts of your application:\n\n1. **API Networking**\n2. **State Management**\n3. **Authentication & Authorization**\n\nWe believe, these are the most important components of a data-intensive frontend application and should be handled in a robust way by leveraging industry best practices.\n\n**refine** guarantees you a perfect implementation of these building blocks in your project, so you can focus on your development.\n\n## Architecture\n\n**refine** makes extensive use of [hooks](https://reactjs.org/docs/hooks-reference.html#gatsby-focus-wrapper) as a default way for interacting with your components.\nUnder the hood, **refine** relies heavily to [React Query](https://react-query.tanstack.com/) for data handling, caching and state management.\nAccess to external sources and API's happen via providers which are basically plug-in type components for extendibility.\n\n<br/>\n\n<div align=\"center\">\n    <img src=\"https://raw.githubusercontent.com/pankod/refine/master/documentation/static/img/getting-started/refine_architecture.png\" width=\"400px\" />\n</div>\n\n## Benchmark\n\nAfter releasing the first internal versions, we had the chance to migrate some of our _React_ projects to **refine**.\nIn addition to **shorter development** times and **overall performance gains**, we've measured significant reduction in project size.\n\n**refine** makes your codebase significantly smaller, by eliminating redundant code such as _reducers_, _actions_ and _unit tests_. Below is a size comparison for an example project:\n\n<br/>\n\n<div align=\"center\">\n    <img src=\"https://raw.githubusercontent.com/pankod/refine/master/documentation/static/img/getting-started/benchmark.png\" width=\"400px\" align=\"center\" />\n</div>\n\n## Quick Start\n\nRun the **superplate** tool with the following command:\n\n```\nnpx superplate-cli -p refine-react tutorial\n```\n\nFollow the _CLI wizard_ to select options and start creating your project.\n\nAfter setup is complete, navigate to the project folder and start your project with:\n\n```\nnpm run dev\n```\n\nYour **refine** application will be accessible at [http://localhost:3000](http://localhost:3000).\n\nReplace the contents of `App.tsx` with the following code:\n\n```tsx title=\"App.tsx\"\nmport { Refine, useMany } from \"@pankod/refine-core\";\nimport {\n    useTable,\n    List,\n    Table,\n    DateField,\n} from \"@pankod/refine-antd\";\nimport routerProvider from \"@pankod/refine-react-router-v6\";\nimport dataProvider from \"@pankod/refine-simple-rest\";\n\nimport \"@pankod/refine-antd/dist/styles.min.css\";\n\nconst App: React.FC = () => {\n    return (\n        <Refine\n            routerProvider={routerProvider}\n            dataProvider={dataProvider(\"https://api.fake-rest.refine.dev\")}\n            resources={[{ name: \"posts\", list: PostList }]}\n        />\n    );\n};\n\nexport const PostList: React.FC = () => {\n    const { tableProps } = useTable<IPost>();\n\n    const categoryIds =\n        tableProps?.dataSource?.map((item) => item.category.id) ?? [];\n\n    const { data, isLoading } = useMany<ICategory>({\n        resource: \"categories\",\n        ids: categoryIds,\n        queryOptions: {\n            enabled: categoryIds.length > 0,\n        },\n    });\n\n    return (\n        <List>\n            <Table<IPost> {...tableProps} rowKey=\"id\">\n                <Table.Column dataIndex=\"title\" title=\"title\" />\n                <Table.Column\n                    dataIndex={[\"category\", \"id\"]}\n                    title=\"category\"\n                    render={(value: string) => {\n                        if (isLoading) {\n                            return \"loading...\";\n                        }\n\n                        return data?.data.find(\n                            (item: ICategory) => item.id === value,\n                        )?.title;\n                    }}\n                />\n                <Table.Column\n                    dataIndex=\"createdAt\"\n                    title=\"createdAt\"\n                    render={(value) => <DateField format=\"LLL\" value={value} />}\n                />\n            </Table>\n        </List>\n    );\n};\n\nexport default App;\n```\n\n```tsx title=\"interfaces.d.ts\"\ninterface IPost {\n    title: string;\n    createdAt: string;\n    category: ICategory;\n}\n\ninterface ICategory {\n    id: string;\n    title: string;\n}\n```\n\n## Roadmap\nYou can find Refine's <a href=\"https://github.com/pankod/refine/projects/1\">Public Roadmap here!</a> \n\n## Stargazers\n\n[![Stargazers repo roster for pankod/refine](https://reporoster.com/stars/pankod/refine)](https://github.com/pankod/refine/stargazers)\n\n## Contribution\n\nIf you have a bug to report, do not hesitate to file an issue.\n\nIf you are willing to fix an issue or propose a feature; all PRs with clear explanations are welcome and encouraged.\n\n## License\n\nLicensed under the MIT License, Copyright © 2021-present Pankod\n\n## Special Thanks\n\n[React Admin](https://marmelab.com/react-admin/) has been a great source of ideas and inspiration for refine. Big thanks to friends at [Marmelab](https://marmelab.com) for the amazing work they are doing.\n\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/pankod/refine/issues"},"homepage":"https://github.com/pankod/refine#readme","_id":"@pankod/refine-core@3.24.0-next.14","_nodeVersion":"16.15.1","_npmVersion":"lerna/4.0.0/node@v16.15.1+x64 (linux)","dist":{"integrity":"sha512-uAg1HFv83qqx6ocZmKs8H/a5rnAqZTde6kTnCMrxcaLmDzzgjCSQrO6WtcDVTWYOE0q+yy1zYB6Y4K6uOO4g3w==","shasum":"f880fe800db09153d9300bb3e5bd17c16cd1457d","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.24.0-next.14.tgz","fileCount":229,"unpackedSize":1496354,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC5RUtg2EP4E+HoVMFVbrHk2XUElq6tZAJF/xQtfF9utgIhAMcm5H3jrlJvGK9RtAdmajSmULKRj1457CmCqBn9/hb6"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJioKY5ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrrTxAAgIj8wGZgoAkK1GReePiJZ78lyyU5vxRIHHEb/qEu9Z8j1qVm\r\n+YsUipkVAPdSciE1NCU2s6vN88fB3+8zw/0i1nHItxmqnNUlSXxFZa/5K4ki\r\ng+Z6XvFX2AFzWMJY1yHxtMQcoIjLaeG+zrhL5x6zfN9bxcbi8zLFFulLfTnL\r\nPd7+j/8nWQJV+mkBRyqQx76iMKjzOvWoEY8nfVAcLWCga7y7Y0CQEzeYDCmY\r\n8zvfOQph0AR6kjnZlwFb4PgUpwzlqRutecVMdfXVf/K15zHR8XjIfOsd1Q7i\r\nzZ0GFt++MBXd877A8HI0Jcd7IzqSsBWnw+TBBXm/vviix48KtxYRBnmQYO28\r\ngVNERv0FDXq4rzjwCPdA8KcEC0lUTAcso6DFZttmHbflJVnhc7ArU3Z6ilEO\r\nyeNFAKOe+wOrjSzC/G1+uDM2zdEMbGfWGhCMcgg/x7K6b2OI2dZ1/hUVgJ4O\r\n++2zeV7w34u9kc31/c4gmvP3675AQUaj0kMOBDYc8Aqw6tvA9RQJRjW7Ao0V\r\nNJxCcjTrOXceZ8ab9twwBw7ueedN1HhPlWDOdLmZjZoN8/VVsB/0XNtO9JpR\r\nbEsNqD06H7myeHz8LFrVNSCIVCci+T92MFoqJxkqjr8LzT7BUfttWAfPeADI\r\n+rWSnVukeM8vHSoof1GolYd+jK2cKF71xXc=\r\n=80QN\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"aydinakyol","email":"aydinakyol11@gmail.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.24.0-next.14_1654695480880_0.28302459255313495"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.24.1-next.0":{"name":"@pankod/refine-core","version":"3.24.1-next.0","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --dts --format esm,cjs,iife --legacy-output","build":"tsup --dts --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.12.0","@testing-library/react":"^11.2.6","@testing-library/react-hooks":"^5.0.3","@testing-library/user-event":"^12.8.3","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^17.0.4","@types/react-dom":"^17.0.4","@types/testing-library__jest-dom":"^5.9.5","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"^6.0.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.4.3"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","humanize-string":"^2.1.0","lodash":"^4.17.21","lodash-es":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","react-query":"^3.19.2","tslib":"^2.3.1"},"repository":{"type":"git","url":"git+https://github.com/pankod/refine.git","directory":"packages/core"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"ebaa04d0e3e28e53534056ea4946ffac14e7a5a0","publishConfig":{"access":"public"},"readme":"<div align=\"center\" style=\"margin: 30px;\">\n<a href=\"https://refine.dev/\">\n  <img src=\"https://raw.githubusercontent.com/pankod/refine/master/logo.png\"   style=\"width:250px;\" align=\"center\" />\n</a>\n<br />\n<br />\n\n<div align=\"center\">\n    <a href=\"https://refine.dev\">Home Page</a> |\n    <a href=\"https://refine.dev/demo/\">Demo</a> | \n    <a href=\"https://refine.dev/blog/\">Blog</a> | \n    <a href=\"https://refine.dev/docs/\">Documentation</a> | \n    <a href=\"https://github.com/pankod/refine/projects/1\">Roadmap</a> | \n    <a href=\"https://refine.dev/docs/examples/tutorial/\">Examples</a> | \n    <a href=\"https://refine.dev/enterprise/\">Enterprise</a> | \n    <a href=\"https://discord.gg/refine\">Discord</a>\n</div>\n\n</div>\n<br/>\n\n<div align=\"center\"><strong>refine</strong> is a <a href=\"https://reactjs.org/\">React</a>-based framework for building internal tools, rapidly. ✨ It ships with <a href=\"https://ant.design/\">Ant Design System</a>, an enterprise-level UI toolkit.</div>\n\n<br />\n\n<div align=\"center\">\n\n[![Discord](https://img.shields.io/discord/837692625737613362.svg?label=&logo=discord&logoColor=ffffff&color=7389D8&labelColor=6A7EC2)](https://discord.gg/refine)\n![Twitter Follow](https://img.shields.io/twitter/follow/refine_dev?style=social)\n\n<a href=\"https://www.producthunt.com/posts/refine-open-source-react-framework?utm_source=badge-featured&utm_medium=badge&utm_souce=badge-refine-open-source-react-framework\" target=\"_blank\"><img src=\"https://api.producthunt.com/widgets/embed-image/v1/featured.svg?post_id=319164&theme=light\" alt=\"refine: Open Source React Framework - Focus your business logic. refine will do the rest. | Product Hunt\" style=\"width: 250px; height: 54px;\" width=\"250\" height=\"54\" /></a>\n\n[![Meercode CI Score](https://meercode.io/badge/pankod/refine?type=ci-score&branch=master&token=2ZiT8YsoJgt57JB23NYwXrFY3rJHZboT&lastDay=31)](https://meercode.io/)\n[![Meercode CI Success Rate](https://meercode.io/badge/pankod/refine?type=ci-success-rate&branch=master&token=2ZiT8YsoJgt57JB23NYwXrFY3rJHZboT&lastDay=31)](https://meercode.io/)\n[![Maintainability](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/maintainability)](https://codeclimate.com/github/pankod/refine/maintainability)\n[![Test Coverage](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/test_coverage)](https://codeclimate.com/github/pankod/refine/test_coverage)\n[![npm version](https://img.shields.io/npm/v/@pankod/refine-core.svg)](https://www.npmjs.com/package/@pankod/refine-core)\n[![npm](https://img.shields.io/npm/dm/@pankod/refine-core)](https://www.npmjs.com/package/@pankod/refine-core)\n[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.0-4baaaa.svg)](code_of_conduct.md)\n\n\n</div>\n\n<div align=\"center\">\n  <sub>Created by <a href=\"https://www.pankod.com\">Pankod</a></sub>\n</div>\n\n## About\n\n[**refine**](https://refine.dev/) offers lots of out-of-the box functionality for rapid development, without compromising extreme customizability. Use-cases include, but are not limited to _admin panels_, _B2B applications_ and _dashboards_.\n\n## Documentation\n\nFor more detailed information and usage, refer to the [refine documentation](https://refine.dev/docs/).\n\n## What is refine?\n\n**refine** is a [React](https://reactjs.org/)-based framework for building internal tools, rapidly. :sparkles: It ships with [Ant Design System](https://ant.design/), an enterprise-level UI toolkit.\n\nRefine offers lots of out-of-the box functionality for rapid development, without compromising extreme customizability. Use-cases include, but are not limited to _admin panels_, _B2B applications_ and _dashboards_.\n\n## What is a \"headless\" Framework?\n**refine** is a **headless** React framework, which means all out-of-the-box features(**Routing**, **Networking**, **Authentication**, **Authorization**, **State Management**, **Realtime**, **i18n**, etc.), it can be used without being tied to any UI elements or framework. Also, Ant Design as out-of-the-box is supported.\n\n- Customization & Extensibility -  UI is a completely customizable area and each developer uses different solutions. **refine** features does not restrict or interfere with your UI structure. **refine** allows the you to design and customizable the UI based on their unique use case.\n\n- Separation of Concerns - **refine** as a framework, is not responsible for your UI and is independent.\n\n- Maintenance - By removing the API surface to support every UI use case, **refine** easy to use and update/maintain is simple.\n\n###\n\n## Key features\n\n🔥 **Headless** : Works with any UI framework\n\n⚙️ **Zero-configuration**: One-line setup with [superplate](https://github.com/pankod/superplate). It takes less than a minute to start a project.\n\n📦 **Out-of-the-box** : Routing, networking, authentication, state management, i18n and UI.\n\n🔌 **Backend Agnostic** : Connects to any custom backend. Built-in support for [REST API](https://github.com/pankod/refine/tree/master/packages/simple-rest), [GraphQL](https://github.com/pankod/refine/tree/master/packages/graphql), [NestJs CRUD](https://github.com/pankod/refine/tree/master/packages/nestjsx-crud), [Airtable](https://github.com/pankod/refine/tree/master/packages/airtable), [Strapi](https://github.com/pankod/refine/tree/master/packages/strapi), [Strapi v4](https://github.com/pankod/refine/tree/master/packages/strapi-v4), [Strapi GraphQL](https://github.com/pankod/refine/tree/master/packages/strapi-graphql), [Supabase](https://github.com/pankod/refine/tree/master/packages/supabase), [Hasura](https://github.com/pankod/refine/tree/master/packages/hasura), [Appwrite](https://github.com/pankod/refine/tree/master/packages/appwrite), [Firebase](https://firebase.google.com/), [Directus](https://directus.io/) and [Altogic](https://github.com/pankod/refine/tree/master/packages/altogic).\n\n📝 **Native Typescript Core** : You can always opt out for plain JavaScript.\n\n🐜 **Enterprise UI** : Works seamlessly with Ant Design System. (Support for multiple UI frameworks is on the Roadmap)\n\n📝 **Boilerplate-free Code** : Keeps your codebase clean and readable.\n\n## Motivation\n\nHigher-level frontend frameworks can save you a lot time, but they typically offer you a trade-off between speed and flexibility.\n\nAfter many years of experience in developing B2B frontend applications and working with popular frameworks, we came up with a new approach to tackle this dilemma. This is how **refine** is born.\n\n**refine** is a collection of helper `hooks`, `components` and `providers`. They are all decoupled from your UI components and business logic, so they never keep you from customizing your UI or coding your own flow.\n\nAs **refine** is totally _unopinionated_ about UI and logic, it's strongly _opinionated_ about three parts of your application:\n\n1. **API Networking**\n2. **State Management**\n3. **Authentication & Authorization**\n\nWe believe, these are the most important components of a data-intensive frontend application and should be handled in a robust way by leveraging industry best practices.\n\n**refine** guarantees you a perfect implementation of these building blocks in your project, so you can focus on your development.\n\n## Architecture\n\n**refine** makes extensive use of [hooks](https://reactjs.org/docs/hooks-reference.html#gatsby-focus-wrapper) as a default way for interacting with your components.\nUnder the hood, **refine** relies heavily to [React Query](https://react-query.tanstack.com/) for data handling, caching and state management.\nAccess to external sources and API's happen via providers which are basically plug-in type components for extendibility.\n\n<br/>\n\n<div align=\"center\">\n    <img src=\"https://raw.githubusercontent.com/pankod/refine/master/documentation/static/img/getting-started/refine_architecture.png\" width=\"400px\" />\n</div>\n\n## Benchmark\n\nAfter releasing the first internal versions, we had the chance to migrate some of our _React_ projects to **refine**.\nIn addition to **shorter development** times and **overall performance gains**, we've measured significant reduction in project size.\n\n**refine** makes your codebase significantly smaller, by eliminating redundant code such as _reducers_, _actions_ and _unit tests_. Below is a size comparison for an example project:\n\n<br/>\n\n<div align=\"center\">\n    <img src=\"https://raw.githubusercontent.com/pankod/refine/master/documentation/static/img/getting-started/benchmark.png\" width=\"400px\" align=\"center\" />\n</div>\n\n## Quick Start\n\nRun the **superplate** tool with the following command:\n\n```\nnpx superplate-cli -p refine-react tutorial\n```\n\nFollow the _CLI wizard_ to select options and start creating your project.\n\nAfter setup is complete, navigate to the project folder and start your project with:\n\n```\nnpm run dev\n```\n\nYour **refine** application will be accessible at [http://localhost:3000](http://localhost:3000).\n\nReplace the contents of `App.tsx` with the following code:\n\n```tsx title=\"App.tsx\"\nmport { Refine, useMany } from \"@pankod/refine-core\";\nimport {\n    useTable,\n    List,\n    Table,\n    DateField,\n} from \"@pankod/refine-antd\";\nimport routerProvider from \"@pankod/refine-react-router-v6\";\nimport dataProvider from \"@pankod/refine-simple-rest\";\n\nimport \"@pankod/refine-antd/dist/styles.min.css\";\n\nconst App: React.FC = () => {\n    return (\n        <Refine\n            routerProvider={routerProvider}\n            dataProvider={dataProvider(\"https://api.fake-rest.refine.dev\")}\n            resources={[{ name: \"posts\", list: PostList }]}\n        />\n    );\n};\n\nexport const PostList: React.FC = () => {\n    const { tableProps } = useTable<IPost>();\n\n    const categoryIds =\n        tableProps?.dataSource?.map((item) => item.category.id) ?? [];\n\n    const { data, isLoading } = useMany<ICategory>({\n        resource: \"categories\",\n        ids: categoryIds,\n        queryOptions: {\n            enabled: categoryIds.length > 0,\n        },\n    });\n\n    return (\n        <List>\n            <Table<IPost> {...tableProps} rowKey=\"id\">\n                <Table.Column dataIndex=\"title\" title=\"title\" />\n                <Table.Column\n                    dataIndex={[\"category\", \"id\"]}\n                    title=\"category\"\n                    render={(value: string) => {\n                        if (isLoading) {\n                            return \"loading...\";\n                        }\n\n                        return data?.data.find(\n                            (item: ICategory) => item.id === value,\n                        )?.title;\n                    }}\n                />\n                <Table.Column\n                    dataIndex=\"createdAt\"\n                    title=\"createdAt\"\n                    render={(value) => <DateField format=\"LLL\" value={value} />}\n                />\n            </Table>\n        </List>\n    );\n};\n\nexport default App;\n```\n\n```tsx title=\"interfaces.d.ts\"\ninterface IPost {\n    title: string;\n    createdAt: string;\n    category: ICategory;\n}\n\ninterface ICategory {\n    id: string;\n    title: string;\n}\n```\n\n## Roadmap\nYou can find Refine's <a href=\"https://github.com/pankod/refine/projects/1\">Public Roadmap here!</a> \n\n## Stargazers\n\n[![Stargazers repo roster for pankod/refine](https://reporoster.com/stars/pankod/refine)](https://github.com/pankod/refine/stargazers)\n\n## Contribution\n\nIf you have a bug to report, do not hesitate to file an issue.\n\nIf you are willing to fix an issue or propose a feature; all PRs with clear explanations are welcome and encouraged.\n\n## License\n\nLicensed under the MIT License, Copyright © 2021-present Pankod\n\n## Special Thanks\n\n[React Admin](https://marmelab.com/react-admin/) has been a great source of ideas and inspiration for refine. Big thanks to friends at [Marmelab](https://marmelab.com) for the amazing work they are doing.\n\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/pankod/refine/issues"},"homepage":"https://github.com/pankod/refine#readme","_id":"@pankod/refine-core@3.24.1-next.0","_nodeVersion":"16.15.0","_npmVersion":"lerna/4.0.0/node@v16.15.0+x64 (linux)","dist":{"integrity":"sha512-HB67DbwRGhb6a1i1K7CRxXzk8tvppo0NSMYzuqEq5AkhqK2KIHm53w1LQlY5X7Jjx3WaCuXQ/gog1Gsuc2/uAA==","shasum":"4a0489d759a09d9b10d995117a756060448624a6","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.24.1-next.0.tgz","fileCount":229,"unpackedSize":1496353,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBSVwd6hgDqA5ID6LMXEdbPF30nzRcZHrlb2xDPWCOMbAiAK6fYY+n6wWtODzG97yZMKKngV86KaDE/ZXE3xnoOygg=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJioLGHACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpAPA/+MykVVlYoEb2XtEXtWncSuQm0T3jBy4I71u80f67epKWZ1X52\r\nlEJflW7RPHB/6Yp3Yhsqh4UaIrbwG++VL4GLNKBq8rXDlgnGsD9lsdAz/Ps8\r\ni6bqWYi+5+cnct/2AUSdXb9qsD7T22PzUtQI9/HWr6KEj5FUMn+P9UuJrZdg\r\n4G2v32viPQw0ETDrZ6kku3KxRMFs74X3FE8ib661m6ZVrO0cYPwMQrPJi6Vk\r\nxMNReVhLDviLcJB7D0JSCKsoXU9aa2CuN6VMVizkH/FWEENqw5UGFdcsw7CT\r\nMiBkzRTHdlD8+iNAhLy3Xb/rgO6kigjg6jL9XsDdIMHRekUhpj8UgCJq2wLr\r\n6eDKgPto0/lohFHrCGxo88oPfDfRu+voh+hM058okjGU7SxRajQrBmw7Fgii\r\n6wEGFjojA5GrbKDU0u0jBs06J8YEyDcC89ajioO3VxnP8D+yyy8Yc/hnNVYy\r\n8Az2GMZrbiSjKHQJLil1oS09Ntbc60BPgv5j056gNCm4mGzWGdOFP1TyIuzq\r\nEAzaGH/u7cxc9/kbeFL5I+EMWn6eO3+f7q/u7Ui5NJE7DdOP9IWlMtDxA9AQ\r\nM2vt/0OEhaUxiDJAXuGtfOh2SaIFOx3sZA/6xmZZCpS9bVn09KNTp1gLbYPv\r\nrDJZS/+moNH1aSgpeeFLBIzJyABgfI4ccFs=\r\n=FpMf\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"aydinakyol","email":"aydinakyol11@gmail.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.24.1-next.0_1654698375147_0.5220833040393837"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.25.0":{"name":"@pankod/refine-core","version":"3.25.0","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --dts --format esm,cjs,iife --legacy-output","build":"tsup --dts --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.12.0","@testing-library/react":"^11.2.6","@testing-library/react-hooks":"^5.0.3","@testing-library/user-event":"^12.8.3","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^17.0.4","@types/react-dom":"^17.0.4","@types/testing-library__jest-dom":"^5.9.5","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"^6.0.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.4.3"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","humanize-string":"^2.1.0","lodash":"^4.17.21","lodash-es":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","react-query":"^3.19.2","tslib":"^2.3.1"},"repository":{"type":"git","url":"git+https://github.com/pankod/refine.git","directory":"packages/core"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"17dd5af3e4c9f7f09e1e707362c6f5a9d1cab8a8","publishConfig":{"access":"public"},"readme":"<div align=\"center\" style=\"margin: 30px;\">\n<a href=\"https://refine.dev/\">\n  <img src=\"https://raw.githubusercontent.com/pankod/refine/master/logo.png\"   style=\"width:250px;\" align=\"center\" />\n</a>\n<br />\n<br />\n\n<div align=\"center\">\n    <a href=\"https://refine.dev\">Home Page</a> |\n    <a href=\"https://refine.dev/demo/\">Demo</a> | \n    <a href=\"https://refine.dev/blog/\">Blog</a> | \n    <a href=\"https://refine.dev/docs/\">Documentation</a> | \n    <a href=\"https://github.com/pankod/refine/projects/1\">Roadmap</a> | \n    <a href=\"https://refine.dev/docs/examples/tutorial/\">Examples</a> | \n    <a href=\"https://refine.dev/enterprise/\">Enterprise</a> | \n    <a href=\"https://discord.gg/refine\">Discord</a>\n</div>\n\n</div>\n<br/>\n\n<div align=\"center\"><strong>refine</strong> is a <a href=\"https://reactjs.org/\">React</a>-based framework for building internal tools, rapidly. ✨ It ships with <a href=\"https://ant.design/\">Ant Design System</a>, an enterprise-level UI toolkit.</div>\n\n<br />\n\n<div align=\"center\">\n\n[![Discord](https://img.shields.io/discord/837692625737613362.svg?label=&logo=discord&logoColor=ffffff&color=7389D8&labelColor=6A7EC2)](https://discord.gg/refine)\n![Twitter Follow](https://img.shields.io/twitter/follow/refine_dev?style=social)\n\n<a href=\"https://www.producthunt.com/posts/refine-open-source-react-framework?utm_source=badge-featured&utm_medium=badge&utm_souce=badge-refine-open-source-react-framework\" target=\"_blank\"><img src=\"https://api.producthunt.com/widgets/embed-image/v1/featured.svg?post_id=319164&theme=light\" alt=\"refine: Open Source React Framework - Focus your business logic. refine will do the rest. | Product Hunt\" style=\"width: 250px; height: 54px;\" width=\"250\" height=\"54\" /></a>\n\n[![Meercode CI Score](https://meercode.io/badge/pankod/refine?type=ci-score&branch=master&token=2ZiT8YsoJgt57JB23NYwXrFY3rJHZboT&lastDay=31)](https://meercode.io/)\n[![Meercode CI Success Rate](https://meercode.io/badge/pankod/refine?type=ci-success-rate&branch=master&token=2ZiT8YsoJgt57JB23NYwXrFY3rJHZboT&lastDay=31)](https://meercode.io/)\n[![Maintainability](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/maintainability)](https://codeclimate.com/github/pankod/refine/maintainability)\n[![Test Coverage](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/test_coverage)](https://codeclimate.com/github/pankod/refine/test_coverage)\n[![npm version](https://img.shields.io/npm/v/@pankod/refine-core.svg)](https://www.npmjs.com/package/@pankod/refine-core)\n[![npm](https://img.shields.io/npm/dm/@pankod/refine-core)](https://www.npmjs.com/package/@pankod/refine-core)\n[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.0-4baaaa.svg)](code_of_conduct.md)\n\n\n</div>\n\n<div align=\"center\">\n  <sub>Created by <a href=\"https://www.pankod.com\">Pankod</a></sub>\n</div>\n\n## About\n\n[**refine**](https://refine.dev/) offers lots of out-of-the box functionality for rapid development, without compromising extreme customizability. Use-cases include, but are not limited to _admin panels_, _B2B applications_ and _dashboards_.\n\n## Documentation\n\nFor more detailed information and usage, refer to the [refine documentation](https://refine.dev/docs/).\n\n## What is refine?\n\n**refine** is a [React](https://reactjs.org/)-based framework for building internal tools, rapidly. :sparkles: It ships with [Ant Design System](https://ant.design/), an enterprise-level UI toolkit.\n\nRefine offers lots of out-of-the box functionality for rapid development, without compromising extreme customizability. Use-cases include, but are not limited to _admin panels_, _B2B applications_ and _dashboards_.\n\n## What is a \"headless\" Framework?\n**refine** is a **headless** React framework, which means all out-of-the-box features(**Routing**, **Networking**, **Authentication**, **Authorization**, **State Management**, **Realtime**, **i18n**, etc.), it can be used without being tied to any UI elements or framework. Also, Ant Design as out-of-the-box is supported.\n\n- Customization & Extensibility -  UI is a completely customizable area and each developer uses different solutions. **refine** features does not restrict or interfere with your UI structure. **refine** allows the you to design and customizable the UI based on their unique use case.\n\n- Separation of Concerns - **refine** as a framework, is not responsible for your UI and is independent.\n\n- Maintenance - By removing the API surface to support every UI use case, **refine** easy to use and update/maintain is simple.\n\n###\n\n## Key features\n\n🔥 **Headless** : Works with any UI framework\n\n⚙️ **Zero-configuration**: One-line setup with [superplate](https://github.com/pankod/superplate). It takes less than a minute to start a project.\n\n📦 **Out-of-the-box** : Routing, networking, authentication, state management, i18n and UI.\n\n🔌 **Backend Agnostic** : Connects to any custom backend. Built-in support for [REST API](https://github.com/pankod/refine/tree/master/packages/simple-rest), [GraphQL](https://github.com/pankod/refine/tree/master/packages/graphql), [NestJs CRUD](https://github.com/pankod/refine/tree/master/packages/nestjsx-crud), [Airtable](https://github.com/pankod/refine/tree/master/packages/airtable), [Strapi](https://github.com/pankod/refine/tree/master/packages/strapi), [Strapi v4](https://github.com/pankod/refine/tree/master/packages/strapi-v4), [Strapi GraphQL](https://github.com/pankod/refine/tree/master/packages/strapi-graphql), [Supabase](https://github.com/pankod/refine/tree/master/packages/supabase), [Hasura](https://github.com/pankod/refine/tree/master/packages/hasura), [Appwrite](https://github.com/pankod/refine/tree/master/packages/appwrite), [Firebase](https://firebase.google.com/), [Directus](https://directus.io/) and [Altogic](https://github.com/pankod/refine/tree/master/packages/altogic).\n\n📝 **Native Typescript Core** : You can always opt out for plain JavaScript.\n\n🐜 **Enterprise UI** : Works seamlessly with Ant Design System. (Support for multiple UI frameworks is on the Roadmap)\n\n📝 **Boilerplate-free Code** : Keeps your codebase clean and readable.\n\n## Motivation\n\nHigher-level frontend frameworks can save you a lot time, but they typically offer you a trade-off between speed and flexibility.\n\nAfter many years of experience in developing B2B frontend applications and working with popular frameworks, we came up with a new approach to tackle this dilemma. This is how **refine** is born.\n\n**refine** is a collection of helper `hooks`, `components` and `providers`. They are all decoupled from your UI components and business logic, so they never keep you from customizing your UI or coding your own flow.\n\nAs **refine** is totally _unopinionated_ about UI and logic, it's strongly _opinionated_ about three parts of your application:\n\n1. **API Networking**\n2. **State Management**\n3. **Authentication & Authorization**\n\nWe believe, these are the most important components of a data-intensive frontend application and should be handled in a robust way by leveraging industry best practices.\n\n**refine** guarantees you a perfect implementation of these building blocks in your project, so you can focus on your development.\n\n## Architecture\n\n**refine** makes extensive use of [hooks](https://reactjs.org/docs/hooks-reference.html#gatsby-focus-wrapper) as a default way for interacting with your components.\nUnder the hood, **refine** relies heavily to [React Query](https://react-query.tanstack.com/) for data handling, caching and state management.\nAccess to external sources and API's happen via providers which are basically plug-in type components for extendibility.\n\n<br/>\n\n<div align=\"center\">\n    <img src=\"https://raw.githubusercontent.com/pankod/refine/master/documentation/static/img/getting-started/refine_architecture.png\" width=\"400px\" />\n</div>\n\n## Benchmark\n\nAfter releasing the first internal versions, we had the chance to migrate some of our _React_ projects to **refine**.\nIn addition to **shorter development** times and **overall performance gains**, we've measured significant reduction in project size.\n\n**refine** makes your codebase significantly smaller, by eliminating redundant code such as _reducers_, _actions_ and _unit tests_. Below is a size comparison for an example project:\n\n<br/>\n\n<div align=\"center\">\n    <img src=\"https://raw.githubusercontent.com/pankod/refine/master/documentation/static/img/getting-started/benchmark.png\" width=\"400px\" align=\"center\" />\n</div>\n\n## Quick Start\n\nRun the **superplate** tool with the following command:\n\n```\nnpx superplate-cli -p refine-react tutorial\n```\n\nFollow the _CLI wizard_ to select options and start creating your project.\n\nAfter setup is complete, navigate to the project folder and start your project with:\n\n```\nnpm run dev\n```\n\nYour **refine** application will be accessible at [http://localhost:3000](http://localhost:3000).\n\nReplace the contents of `App.tsx` with the following code:\n\n```tsx title=\"App.tsx\"\nmport { Refine, useMany } from \"@pankod/refine-core\";\nimport {\n    useTable,\n    List,\n    Table,\n    DateField,\n} from \"@pankod/refine-antd\";\nimport routerProvider from \"@pankod/refine-react-router-v6\";\nimport dataProvider from \"@pankod/refine-simple-rest\";\n\nimport \"@pankod/refine-antd/dist/styles.min.css\";\n\nconst App: React.FC = () => {\n    return (\n        <Refine\n            routerProvider={routerProvider}\n            dataProvider={dataProvider(\"https://api.fake-rest.refine.dev\")}\n            resources={[{ name: \"posts\", list: PostList }]}\n        />\n    );\n};\n\nexport const PostList: React.FC = () => {\n    const { tableProps } = useTable<IPost>();\n\n    const categoryIds =\n        tableProps?.dataSource?.map((item) => item.category.id) ?? [];\n\n    const { data, isLoading } = useMany<ICategory>({\n        resource: \"categories\",\n        ids: categoryIds,\n        queryOptions: {\n            enabled: categoryIds.length > 0,\n        },\n    });\n\n    return (\n        <List>\n            <Table<IPost> {...tableProps} rowKey=\"id\">\n                <Table.Column dataIndex=\"title\" title=\"title\" />\n                <Table.Column\n                    dataIndex={[\"category\", \"id\"]}\n                    title=\"category\"\n                    render={(value: string) => {\n                        if (isLoading) {\n                            return \"loading...\";\n                        }\n\n                        return data?.data.find(\n                            (item: ICategory) => item.id === value,\n                        )?.title;\n                    }}\n                />\n                <Table.Column\n                    dataIndex=\"createdAt\"\n                    title=\"createdAt\"\n                    render={(value) => <DateField format=\"LLL\" value={value} />}\n                />\n            </Table>\n        </List>\n    );\n};\n\nexport default App;\n```\n\n```tsx title=\"interfaces.d.ts\"\ninterface IPost {\n    title: string;\n    createdAt: string;\n    category: ICategory;\n}\n\ninterface ICategory {\n    id: string;\n    title: string;\n}\n```\n\n## Roadmap\nYou can find Refine's <a href=\"https://github.com/pankod/refine/projects/1\">Public Roadmap here!</a> \n\n## Stargazers\n\n[![Stargazers repo roster for pankod/refine](https://reporoster.com/stars/pankod/refine)](https://github.com/pankod/refine/stargazers)\n\n## Contribution\n\nIf you have a bug to report, do not hesitate to file an issue.\n\nIf you are willing to fix an issue or propose a feature; all PRs with clear explanations are welcome and encouraged.\n\n## License\n\nLicensed under the MIT License, Copyright © 2021-present Pankod\n\n## Special Thanks\n\n[React Admin](https://marmelab.com/react-admin/) has been a great source of ideas and inspiration for refine. Big thanks to friends at [Marmelab](https://marmelab.com) for the amazing work they are doing.\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/pankod/refine/issues"},"homepage":"https://github.com/pankod/refine#readme","_id":"@pankod/refine-core@3.25.0","_nodeVersion":"16.15.1","_npmVersion":"8.11.0","dist":{"integrity":"sha512-zwWBdgaQ+zrgoVLutV6wZUljIAf464nvD+vMLjxB801dciSCOkbpJlasf7JdRn7krP27YT4NSCwUxOlY0dlR6w==","shasum":"2487cb57fd9dd8e65b709c553eb849a0648db16d","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.25.0.tgz","fileCount":228,"unpackedSize":1495283,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDVXybU6x9rJHm4YSQvcQPbmgfMOBSG/Al2zP32ZeZofgIgZylAibK8q9SWqhV5tQFpsaG6YquoRxlO7VPHTV+3lbA="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJioY37ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq5bQ//bTh88Bt2Hsm8dRqGNEKm1Jc5Tt3euZtbhbmrUBOaivRCrgqY\r\n4rpZkimJwdXT3Ci3Ap66z+lQrPXOzmQXoCyWnoY73GymTJ1b4sR9Vv7vOiEo\r\nfj6JaH5umuo1s4hM3zo312RWXnhoYUVaDiC26EBqq3yjwpXofAQUsqZtechx\r\nEzIh+Tq4pDXudfupYebywvfg3HMt+yiQ8F+/nxxOyTrFIoMBsYJNmbUbvao4\r\nCLU/+oVHre0Jhzxie5rYhrPCFpp+xEZICTKpIDIaqEvX1BgmohiLVLe35CX+\r\nE2lYdTlf+7/2eoG5d28SJS+DVnluAVnhEIvPyC2rf7KJvoMXhOZUhFj6Glwx\r\nb0dMMSYU1CZTqUeboesU1GTc+wAOYgq5DFlXjoZX7GDgr1X/yTWoJxpSZMUw\r\nsOu7SDhAnpIFdsiLgS+7uieHAB29Q9N31t6G1FYZ6A1N82Wbu7peZqPloo34\r\np69cbwVIuxQpyu6dd8ii0pFjLVgOlvJYCsEgTvhoT7MprQh2kB0XRNte0/3z\r\nfaBnTWhrggMOeILHZD4csnLQg3pfeLjj9xWN5DoYvMw4GxmWqZn0ltGbNg3y\r\nfhfq9ol7r42JcjVRH6imhJuDqZuY84hf7Rkk+bptaRU5V4LOPTMRJXBeQcd6\r\nn7THKo/qoQpJzSxAiD562ptf8KotlZSmztI=\r\n=Hr4l\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"aydinakyol","email":"aydinakyol11@gmail.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.25.0_1654754811427_0.9377968246948394"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.26.0":{"name":"@pankod/refine-core","version":"3.26.0","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --dts --format esm,cjs,iife --legacy-output","build":"tsup --dts --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.12.0","@testing-library/react":"^11.2.6","@testing-library/react-hooks":"^5.0.3","@testing-library/user-event":"^12.8.3","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^17.0.4","@types/react-dom":"^17.0.4","@types/testing-library__jest-dom":"^5.9.5","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"^6.0.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.4.3"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","humanize-string":"^2.1.0","lodash":"^4.17.21","lodash-es":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","react-query":"^3.19.2","tslib":"^2.3.1"},"repository":{"type":"git","url":"git+https://github.com/pankod/refine.git","directory":"packages/core"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"17dd5af3e4c9f7f09e1e707362c6f5a9d1cab8a8","publishConfig":{"access":"public"},"readme":"<div align=\"center\" style=\"margin: 30px;\">\n<a href=\"https://refine.dev/\">\n  <img src=\"https://raw.githubusercontent.com/pankod/refine/master/logo.png\"   style=\"width:250px;\" align=\"center\" />\n</a>\n<br />\n<br />\n\n<div align=\"center\">\n    <a href=\"https://refine.dev\">Home Page</a> |\n    <a href=\"https://refine.dev/demo/\">Demo</a> | \n    <a href=\"https://refine.dev/blog/\">Blog</a> | \n    <a href=\"https://refine.dev/docs/\">Documentation</a> | \n    <a href=\"https://github.com/pankod/refine/projects/1\">Roadmap</a> | \n    <a href=\"https://refine.dev/docs/examples/tutorial/\">Examples</a> | \n    <a href=\"https://refine.dev/enterprise/\">Enterprise</a> | \n    <a href=\"https://discord.gg/refine\">Discord</a>\n</div>\n\n</div>\n<br/>\n\n<div align=\"center\"><strong>refine</strong> is a <a href=\"https://reactjs.org/\">React</a>-based framework for building internal tools, rapidly. ✨ It ships with <a href=\"https://ant.design/\">Ant Design System</a>, an enterprise-level UI toolkit.</div>\n\n<br />\n\n<div align=\"center\">\n\n[![Discord](https://img.shields.io/discord/837692625737613362.svg?label=&logo=discord&logoColor=ffffff&color=7389D8&labelColor=6A7EC2)](https://discord.gg/refine)\n![Twitter Follow](https://img.shields.io/twitter/follow/refine_dev?style=social)\n\n<a href=\"https://www.producthunt.com/posts/refine-open-source-react-framework?utm_source=badge-featured&utm_medium=badge&utm_souce=badge-refine-open-source-react-framework\" target=\"_blank\"><img src=\"https://api.producthunt.com/widgets/embed-image/v1/featured.svg?post_id=319164&theme=light\" alt=\"refine: Open Source React Framework - Focus your business logic. refine will do the rest. | Product Hunt\" style=\"width: 250px; height: 54px;\" width=\"250\" height=\"54\" /></a>\n\n[![Meercode CI Score](https://meercode.io/badge/pankod/refine?type=ci-score&branch=master&token=2ZiT8YsoJgt57JB23NYwXrFY3rJHZboT&lastDay=31)](https://meercode.io/)\n[![Meercode CI Success Rate](https://meercode.io/badge/pankod/refine?type=ci-success-rate&branch=master&token=2ZiT8YsoJgt57JB23NYwXrFY3rJHZboT&lastDay=31)](https://meercode.io/)\n[![Maintainability](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/maintainability)](https://codeclimate.com/github/pankod/refine/maintainability)\n[![Test Coverage](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/test_coverage)](https://codeclimate.com/github/pankod/refine/test_coverage)\n[![npm version](https://img.shields.io/npm/v/@pankod/refine-core.svg)](https://www.npmjs.com/package/@pankod/refine-core)\n[![npm](https://img.shields.io/npm/dm/@pankod/refine-core)](https://www.npmjs.com/package/@pankod/refine-core)\n[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.0-4baaaa.svg)](code_of_conduct.md)\n\n\n</div>\n\n<div align=\"center\">\n  <sub>Created by <a href=\"https://www.pankod.com\">Pankod</a></sub>\n</div>\n\n## About\n\n[**refine**](https://refine.dev/) offers lots of out-of-the box functionality for rapid development, without compromising extreme customizability. Use-cases include, but are not limited to _admin panels_, _B2B applications_ and _dashboards_.\n\n## Documentation\n\nFor more detailed information and usage, refer to the [refine documentation](https://refine.dev/docs/).\n\n## What is refine?\n\n**refine** is a [React](https://reactjs.org/)-based framework for building internal tools, rapidly. :sparkles: It ships with [Ant Design System](https://ant.design/), an enterprise-level UI toolkit.\n\nRefine offers lots of out-of-the box functionality for rapid development, without compromising extreme customizability. Use-cases include, but are not limited to _admin panels_, _B2B applications_ and _dashboards_.\n\n## What is a \"headless\" Framework?\n**refine** is a **headless** React framework, which means all out-of-the-box features(**Routing**, **Networking**, **Authentication**, **Authorization**, **State Management**, **Realtime**, **i18n**, etc.), it can be used without being tied to any UI elements or framework. Also, Ant Design as out-of-the-box is supported.\n\n- Customization & Extensibility -  UI is a completely customizable area and each developer uses different solutions. **refine** features does not restrict or interfere with your UI structure. **refine** allows the you to design and customizable the UI based on their unique use case.\n\n- Separation of Concerns - **refine** as a framework, is not responsible for your UI and is independent.\n\n- Maintenance - By removing the API surface to support every UI use case, **refine** easy to use and update/maintain is simple.\n\n###\n\n## Key features\n\n🔥 **Headless** : Works with any UI framework\n\n⚙️ **Zero-configuration**: One-line setup with [superplate](https://github.com/pankod/superplate). It takes less than a minute to start a project.\n\n📦 **Out-of-the-box** : Routing, networking, authentication, state management, i18n and UI.\n\n🔌 **Backend Agnostic** : Connects to any custom backend. Built-in support for [REST API](https://github.com/pankod/refine/tree/master/packages/simple-rest), [GraphQL](https://github.com/pankod/refine/tree/master/packages/graphql), [NestJs CRUD](https://github.com/pankod/refine/tree/master/packages/nestjsx-crud), [Airtable](https://github.com/pankod/refine/tree/master/packages/airtable), [Strapi](https://github.com/pankod/refine/tree/master/packages/strapi), [Strapi v4](https://github.com/pankod/refine/tree/master/packages/strapi-v4), [Strapi GraphQL](https://github.com/pankod/refine/tree/master/packages/strapi-graphql), [Supabase](https://github.com/pankod/refine/tree/master/packages/supabase), [Hasura](https://github.com/pankod/refine/tree/master/packages/hasura), [Appwrite](https://github.com/pankod/refine/tree/master/packages/appwrite), [Firebase](https://firebase.google.com/), [Directus](https://directus.io/) and [Altogic](https://github.com/pankod/refine/tree/master/packages/altogic).\n\n📝 **Native Typescript Core** : You can always opt out for plain JavaScript.\n\n🐜 **Enterprise UI** : Works seamlessly with Ant Design System. (Support for multiple UI frameworks is on the Roadmap)\n\n📝 **Boilerplate-free Code** : Keeps your codebase clean and readable.\n\n## Motivation\n\nHigher-level frontend frameworks can save you a lot time, but they typically offer you a trade-off between speed and flexibility.\n\nAfter many years of experience in developing B2B frontend applications and working with popular frameworks, we came up with a new approach to tackle this dilemma. This is how **refine** is born.\n\n**refine** is a collection of helper `hooks`, `components` and `providers`. They are all decoupled from your UI components and business logic, so they never keep you from customizing your UI or coding your own flow.\n\nAs **refine** is totally _unopinionated_ about UI and logic, it's strongly _opinionated_ about three parts of your application:\n\n1. **API Networking**\n2. **State Management**\n3. **Authentication & Authorization**\n\nWe believe, these are the most important components of a data-intensive frontend application and should be handled in a robust way by leveraging industry best practices.\n\n**refine** guarantees you a perfect implementation of these building blocks in your project, so you can focus on your development.\n\n## Architecture\n\n**refine** makes extensive use of [hooks](https://reactjs.org/docs/hooks-reference.html#gatsby-focus-wrapper) as a default way for interacting with your components.\nUnder the hood, **refine** relies heavily to [React Query](https://react-query.tanstack.com/) for data handling, caching and state management.\nAccess to external sources and API's happen via providers which are basically plug-in type components for extendibility.\n\n<br/>\n\n<div align=\"center\">\n    <img src=\"https://raw.githubusercontent.com/pankod/refine/master/documentation/static/img/getting-started/refine_architecture.png\" width=\"400px\" />\n</div>\n\n## Benchmark\n\nAfter releasing the first internal versions, we had the chance to migrate some of our _React_ projects to **refine**.\nIn addition to **shorter development** times and **overall performance gains**, we've measured significant reduction in project size.\n\n**refine** makes your codebase significantly smaller, by eliminating redundant code such as _reducers_, _actions_ and _unit tests_. Below is a size comparison for an example project:\n\n<br/>\n\n<div align=\"center\">\n    <img src=\"https://raw.githubusercontent.com/pankod/refine/master/documentation/static/img/getting-started/benchmark.png\" width=\"400px\" align=\"center\" />\n</div>\n\n## Quick Start\n\nRun the **superplate** tool with the following command:\n\n```\nnpx superplate-cli -p refine-react tutorial\n```\n\nFollow the _CLI wizard_ to select options and start creating your project.\n\nAfter setup is complete, navigate to the project folder and start your project with:\n\n```\nnpm run dev\n```\n\nYour **refine** application will be accessible at [http://localhost:3000](http://localhost:3000).\n\nReplace the contents of `App.tsx` with the following code:\n\n```tsx title=\"App.tsx\"\nmport { Refine, useMany } from \"@pankod/refine-core\";\nimport {\n    useTable,\n    List,\n    Table,\n    DateField,\n} from \"@pankod/refine-antd\";\nimport routerProvider from \"@pankod/refine-react-router-v6\";\nimport dataProvider from \"@pankod/refine-simple-rest\";\n\nimport \"@pankod/refine-antd/dist/styles.min.css\";\n\nconst App: React.FC = () => {\n    return (\n        <Refine\n            routerProvider={routerProvider}\n            dataProvider={dataProvider(\"https://api.fake-rest.refine.dev\")}\n            resources={[{ name: \"posts\", list: PostList }]}\n        />\n    );\n};\n\nexport const PostList: React.FC = () => {\n    const { tableProps } = useTable<IPost>();\n\n    const categoryIds =\n        tableProps?.dataSource?.map((item) => item.category.id) ?? [];\n\n    const { data, isLoading } = useMany<ICategory>({\n        resource: \"categories\",\n        ids: categoryIds,\n        queryOptions: {\n            enabled: categoryIds.length > 0,\n        },\n    });\n\n    return (\n        <List>\n            <Table<IPost> {...tableProps} rowKey=\"id\">\n                <Table.Column dataIndex=\"title\" title=\"title\" />\n                <Table.Column\n                    dataIndex={[\"category\", \"id\"]}\n                    title=\"category\"\n                    render={(value: string) => {\n                        if (isLoading) {\n                            return \"loading...\";\n                        }\n\n                        return data?.data.find(\n                            (item: ICategory) => item.id === value,\n                        )?.title;\n                    }}\n                />\n                <Table.Column\n                    dataIndex=\"createdAt\"\n                    title=\"createdAt\"\n                    render={(value) => <DateField format=\"LLL\" value={value} />}\n                />\n            </Table>\n        </List>\n    );\n};\n\nexport default App;\n```\n\n```tsx title=\"interfaces.d.ts\"\ninterface IPost {\n    title: string;\n    createdAt: string;\n    category: ICategory;\n}\n\ninterface ICategory {\n    id: string;\n    title: string;\n}\n```\n\n## Roadmap\nYou can find Refine's <a href=\"https://github.com/pankod/refine/projects/1\">Public Roadmap here!</a> \n\n## Stargazers\n\n[![Stargazers repo roster for pankod/refine](https://reporoster.com/stars/pankod/refine)](https://github.com/pankod/refine/stargazers)\n\n## Contribution\n\nIf you have a bug to report, do not hesitate to file an issue.\n\nIf you are willing to fix an issue or propose a feature; all PRs with clear explanations are welcome and encouraged.\n\n## License\n\nLicensed under the MIT License, Copyright © 2021-present Pankod\n\n## Special Thanks\n\n[React Admin](https://marmelab.com/react-admin/) has been a great source of ideas and inspiration for refine. Big thanks to friends at [Marmelab](https://marmelab.com) for the amazing work they are doing.\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/pankod/refine/issues"},"homepage":"https://github.com/pankod/refine#readme","_id":"@pankod/refine-core@3.26.0","_nodeVersion":"16.15.1","_npmVersion":"8.11.0","dist":{"integrity":"sha512-rUf9PT5S0wmN1DYrYLVAF0ysApIuR1rmVKSAhPvLmjsTshS8juMJxJGD8nIn3S3DrdNun1T2YjQ3YP+XRe51ow==","shasum":"0b70a2bae2abd6c2df39d605419e58a41f36d9a6","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.26.0.tgz","fileCount":228,"unpackedSize":1497177,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEh+mppg/efwRa3WMZzZCEOxa/lTnlU1eey3VVoSZp/VAiBUK/RexaXrxIzrBcqrrMpNfnXMP7ZcUbTNgR9CO41kWA=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJioeFBACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo96Q/8Cn5DAP4Zaj1TdZIQWkLKB4GdTlsTN1QIBV/QKqnLKEvuiMpO\r\nw3Ka6mV6aA2sKT9/hbXxVOKzlbURtCbY0VUTKb7/0ip1DmJQyH4hrACxk3WT\r\nmFudcE/qb26VZUlbIMQAHIWjTPTMvWSExHAm8bWxmWrJkl0AHpZTCw+jmgv5\r\nrL0Wc30RCYt5ILy4VnJEADIDqpLd6RYCUPbOrwj56R6wRrmirghMid1fz7iF\r\njdW6q4w7k0WM9DuZies4PNZ5cNSwDDqAXwJwydhTPiUWAuieu7umk82i0STz\r\n/ILzbN1fhxY0kicKIYYlktk2zctX2n7teqZjwqa+oyrRdzeIDNSKRr5KNA9V\r\n3CxgZJzQE5Mxw+jxJGi/OxDdrtbjPg94iwKaAvnQlAtYgGzVypZX/PdnLYzx\r\nH7q8XdxK1VoUgKOSG3sfY3uMQs4Elg5EsEx7AY7jFYVOka9aFFQylBq4AWAC\r\nVArjXN2pAVhtCLEl6yBxToc8LV/Y0TRTJzYeZHwyZ2qvqkuIRB/z9IFzWLSy\r\ne+heuFJKfS8qocY1QszUoesiR3aYQYDdfojuNap1NWJqcJ6RU56Pk7RnWxXf\r\nuEMnAUkCarTSiPZ3qxex2Y2OFNW22zlYkykKzkZojX5JHO4MVw27X+iT8WHb\r\nOIA3gc/rhSnZenXu2snXpLsiuXATdEU3llk=\r\n=KQsO\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"aydinakyol","email":"aydinakyol11@gmail.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.26.0_1654776128648_0.2175336677613604"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.29.0":{"name":"@pankod/refine-core","version":"3.29.0","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --dts --format esm,cjs,iife --legacy-output","build":"tsup --dts --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.12.0","@testing-library/react":"^11.2.6","@testing-library/react-hooks":"^5.0.3","@testing-library/user-event":"^12.8.3","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^17.0.4","@types/react-dom":"^17.0.4","@types/testing-library__jest-dom":"^5.9.5","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"^6.0.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.4.3"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","humanize-string":"^2.1.0","lodash":"^4.17.21","lodash-es":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","react-query":"^3.19.2","tslib":"^2.3.1"},"repository":{"type":"git","url":"git+https://github.com/pankod/refine.git","directory":"packages/core"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"17dd5af3e4c9f7f09e1e707362c6f5a9d1cab8a8","publishConfig":{"access":"public"},"bugs":{"url":"https://github.com/pankod/refine/issues"},"homepage":"https://github.com/pankod/refine#readme","_id":"@pankod/refine-core@3.29.0","_nodeVersion":"16.15.1","_npmVersion":"8.11.0","dist":{"integrity":"sha512-CfRjCBH+TGORKK0escHDAiwfNeBHcbl+J7ol2cDB9MBJ6xGwO87rt71IlF3Xo9gl7d5lLTteJDjBgbYxVw1ZJw==","shasum":"cd6ddde60560f9967888965913b38dfb64cebc75","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.29.0.tgz","fileCount":228,"unpackedSize":1497594,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCQWFsNaKYNTWIvq6xjYHiQW26eYNke7TbHcVmwNvCr0gIgNHG9IaBM6eCiYl7w53o/CYnbpJ7oCU5U8e6Ss838S9g="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiovG1ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmozMg//SuYCyyaFXsXnHNn05wq1EW3dmrokU/rlKqzA1MU6CjDRR07f\r\nf7UWxO9WGokGnO0Hln+4HyZGFVTuGH5kwyZKPvBbltOqmyvDFaXrR56AM8Ju\r\nX6e/W2EgB9Z8F70yy5ALcPstlDp8QDWcw9mUmL0uUbESW+ZqI/x9S3KLLGnN\r\nVUM/h3lK5rkzucTHCHiDFrEfss62FIzflgD5vA8ompwLBbwh+lBXimckuaYu\r\nz0hUlyVTYLn7NqOjTHvXdaE3xCJTLKU/VNZKx4BR5xkxT3DKRynUlHApymqp\r\nxeSY0QwD7jTTzumpmuKF7L96geb5B82o5ot36udZnrmxyWMgYYjRKglN1jXY\r\npWls/UJPAwjJq6kBBMLvdEsz/JxKcRSvoOBtX/6t08WrREgtrUnSl57MpYoK\r\ncXdNMw/skFHMtvEDEt8Y61bn+mO5TgVEfaKSPlJZ5kY2kXslRobbebndTdUF\r\nwxkNQ20IAoSYoti3vxoO9ZcntWbJqJkqDQfrz4Wr0ZnYSAiv44XC7GsSopOT\r\nSSuwq5RnLamoXkRWubvnYPfX21E/bgf996pXBkl6F/5OkhukLus+bpvt92Ds\r\ntk5Mbdb/Qv/FqaUKEgSX9AR0jzhEua+JUA7GBpUZC6+XbXAJwZEnC3McPfkE\r\nOpDavk3sDgvoTUW8tM8mcHJR69oX54SZp0E=\r\n=8En+\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"aydinakyol","email":"aydinakyol11@gmail.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.29.0_1654845877008_0.7114851181585609"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.29.1":{"name":"@pankod/refine-core","version":"3.29.1","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --dts --format esm,cjs,iife --legacy-output","build":"tsup --dts --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.12.0","@testing-library/react":"^11.2.6","@testing-library/react-hooks":"^5.0.3","@testing-library/user-event":"^12.8.3","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^17.0.4","@types/react-dom":"^17.0.4","@types/testing-library__jest-dom":"^5.9.5","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"^6.0.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.4.3"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","humanize-string":"^2.1.0","lodash":"^4.17.21","lodash-es":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","react-query":"^3.19.2","tslib":"^2.3.1"},"repository":{"type":"git","url":"git+https://github.com/pankod/refine.git","directory":"packages/core"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"17dd5af3e4c9f7f09e1e707362c6f5a9d1cab8a8","publishConfig":{"access":"public"},"readme":"<div align=\"center\" style=\"margin: 30px;\">\n<a href=\"https://refine.dev/\">\n  <img src=\"https://raw.githubusercontent.com/pankod/refine/master/logo.png\"   style=\"width:250px;\" align=\"center\" />\n</a>\n<br />\n<br />\n\n<div align=\"center\">\n    <a href=\"https://refine.dev\">Home Page</a> |\n    <a href=\"https://refine.dev/demo/\">Demo</a> | \n    <a href=\"https://refine.dev/blog/\">Blog</a> | \n    <a href=\"https://refine.dev/docs/\">Documentation</a> | \n    <a href=\"https://github.com/pankod/refine/projects/1\">Roadmap</a> | \n    <a href=\"https://refine.dev/docs/examples/tutorial/\">Examples</a> | \n    <a href=\"https://refine.dev/enterprise/\">Enterprise</a> | \n    <a href=\"https://discord.gg/refine\">Discord</a>\n</div>\n\n</div>\n<br/>\n\n<div align=\"center\"><strong>refine</strong> is a <a href=\"https://reactjs.org/\">React</a>-based framework for building internal tools, rapidly. ✨ It ships with <a href=\"https://ant.design/\">Ant Design System</a>, an enterprise-level UI toolkit.</div>\n\n<br />\n\n<div align=\"center\">\n\n[![Discord](https://img.shields.io/discord/837692625737613362.svg?label=&logo=discord&logoColor=ffffff&color=7389D8&labelColor=6A7EC2)](https://discord.gg/refine)\n![Twitter Follow](https://img.shields.io/twitter/follow/refine_dev?style=social)\n\n<a href=\"https://www.producthunt.com/posts/refine-open-source-react-framework?utm_source=badge-featured&utm_medium=badge&utm_souce=badge-refine-open-source-react-framework\" target=\"_blank\"><img src=\"https://api.producthunt.com/widgets/embed-image/v1/featured.svg?post_id=319164&theme=light\" alt=\"refine: Open Source React Framework - Focus your business logic. refine will do the rest. | Product Hunt\" style=\"width: 250px; height: 54px;\" width=\"250\" height=\"54\" /></a>\n\n[![Meercode CI Score](https://meercode.io/badge/pankod/refine?type=ci-score&branch=master&token=2ZiT8YsoJgt57JB23NYwXrFY3rJHZboT&lastDay=31)](https://meercode.io/)\n[![Meercode CI Success Rate](https://meercode.io/badge/pankod/refine?type=ci-success-rate&branch=master&token=2ZiT8YsoJgt57JB23NYwXrFY3rJHZboT&lastDay=31)](https://meercode.io/)\n[![Maintainability](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/maintainability)](https://codeclimate.com/github/pankod/refine/maintainability)\n[![Test Coverage](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/test_coverage)](https://codeclimate.com/github/pankod/refine/test_coverage)\n[![npm version](https://img.shields.io/npm/v/@pankod/refine-core.svg)](https://www.npmjs.com/package/@pankod/refine-core)\n[![npm](https://img.shields.io/npm/dm/@pankod/refine-core)](https://www.npmjs.com/package/@pankod/refine-core)\n[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.0-4baaaa.svg)](code_of_conduct.md)\n\n\n</div>\n\n<div align=\"center\">\n  <sub>Created by <a href=\"https://www.pankod.com\">Pankod</a></sub>\n</div>\n\n## About\n\n[**refine**](https://refine.dev/) offers lots of out-of-the box functionality for rapid development, without compromising extreme customizability. Use-cases include, but are not limited to _admin panels_, _B2B applications_ and _dashboards_.\n\n## Documentation\n\nFor more detailed information and usage, refer to the [refine documentation](https://refine.dev/docs/).\n\n## What is refine?\n\n**refine** is a [React](https://reactjs.org/)-based framework for building internal tools, rapidly. :sparkles: It ships with [Ant Design System](https://ant.design/), an enterprise-level UI toolkit.\n\nRefine offers lots of out-of-the box functionality for rapid development, without compromising extreme customizability. Use-cases include, but are not limited to _admin panels_, _B2B applications_ and _dashboards_.\n\n## What is a \"headless\" Framework?\n**refine** is a **headless** React framework, which means all out-of-the-box features(**Routing**, **Networking**, **Authentication**, **Authorization**, **State Management**, **Realtime**, **i18n**, etc.), it can be used without being tied to any UI elements or framework. Also, Ant Design as out-of-the-box is supported.\n\n- Customization & Extensibility -  UI is a completely customizable area and each developer uses different solutions. **refine** features does not restrict or interfere with your UI structure. **refine** allows the you to design and customizable the UI based on their unique use case.\n\n- Separation of Concerns - **refine** as a framework, is not responsible for your UI and is independent.\n\n- Maintenance - By removing the API surface to support every UI use case, **refine** easy to use and update/maintain is simple.\n\n###\n\n## Key features\n\n🔥 **Headless** : Works with any UI framework\n\n⚙️ **Zero-configuration**: One-line setup with [superplate](https://github.com/pankod/superplate). It takes less than a minute to start a project.\n\n📦 **Out-of-the-box** : Routing, networking, authentication, state management, i18n and UI.\n\n🔌 **Backend Agnostic** : Connects to any custom backend. Built-in support for [REST API](https://github.com/pankod/refine/tree/master/packages/simple-rest), [GraphQL](https://github.com/pankod/refine/tree/master/packages/graphql), [NestJs CRUD](https://github.com/pankod/refine/tree/master/packages/nestjsx-crud), [Airtable](https://github.com/pankod/refine/tree/master/packages/airtable), [Strapi](https://github.com/pankod/refine/tree/master/packages/strapi), [Strapi v4](https://github.com/pankod/refine/tree/master/packages/strapi-v4), [Strapi GraphQL](https://github.com/pankod/refine/tree/master/packages/strapi-graphql), [Supabase](https://github.com/pankod/refine/tree/master/packages/supabase), [Hasura](https://github.com/pankod/refine/tree/master/packages/hasura), [Appwrite](https://github.com/pankod/refine/tree/master/packages/appwrite), [Firebase](https://firebase.google.com/), [Directus](https://directus.io/) and [Altogic](https://github.com/pankod/refine/tree/master/packages/altogic).\n\n📝 **Native Typescript Core** : You can always opt out for plain JavaScript.\n\n🐜 **Enterprise UI** : Works seamlessly with Ant Design System. (Support for multiple UI frameworks is on the Roadmap)\n\n📝 **Boilerplate-free Code** : Keeps your codebase clean and readable.\n\n## Motivation\n\nHigher-level frontend frameworks can save you a lot time, but they typically offer you a trade-off between speed and flexibility.\n\nAfter many years of experience in developing B2B frontend applications and working with popular frameworks, we came up with a new approach to tackle this dilemma. This is how **refine** is born.\n\n**refine** is a collection of helper `hooks`, `components` and `providers`. They are all decoupled from your UI components and business logic, so they never keep you from customizing your UI or coding your own flow.\n\nAs **refine** is totally _unopinionated_ about UI and logic, it's strongly _opinionated_ about three parts of your application:\n\n1. **API Networking**\n2. **State Management**\n3. **Authentication & Authorization**\n\nWe believe, these are the most important components of a data-intensive frontend application and should be handled in a robust way by leveraging industry best practices.\n\n**refine** guarantees you a perfect implementation of these building blocks in your project, so you can focus on your development.\n\n## Architecture\n\n**refine** makes extensive use of [hooks](https://reactjs.org/docs/hooks-reference.html#gatsby-focus-wrapper) as a default way for interacting with your components.\nUnder the hood, **refine** relies heavily to [React Query](https://react-query.tanstack.com/) for data handling, caching and state management.\nAccess to external sources and API's happen via providers which are basically plug-in type components for extendibility.\n\n<br/>\n\n<div align=\"center\">\n    <img src=\"https://raw.githubusercontent.com/pankod/refine/master/documentation/static/img/getting-started/refine_architecture.png\" width=\"400px\" />\n</div>\n\n## Benchmark\n\nAfter releasing the first internal versions, we had the chance to migrate some of our _React_ projects to **refine**.\nIn addition to **shorter development** times and **overall performance gains**, we've measured significant reduction in project size.\n\n**refine** makes your codebase significantly smaller, by eliminating redundant code such as _reducers_, _actions_ and _unit tests_. Below is a size comparison for an example project:\n\n<br/>\n\n<div align=\"center\">\n    <img src=\"https://raw.githubusercontent.com/pankod/refine/master/documentation/static/img/getting-started/benchmark.png\" width=\"400px\" align=\"center\" />\n</div>\n\n## Quick Start\n\nRun the **superplate** tool with the following command:\n\n```\nnpx superplate-cli -p refine-react tutorial\n```\n\nFollow the _CLI wizard_ to select options and start creating your project.\n\nAfter setup is complete, navigate to the project folder and start your project with:\n\n```\nnpm run dev\n```\n\nYour **refine** application will be accessible at [http://localhost:3000](http://localhost:3000).\n\nReplace the contents of `App.tsx` with the following code:\n\n```tsx title=\"App.tsx\"\nmport { Refine, useMany } from \"@pankod/refine-core\";\nimport {\n    useTable,\n    List,\n    Table,\n    DateField,\n} from \"@pankod/refine-antd\";\nimport routerProvider from \"@pankod/refine-react-router-v6\";\nimport dataProvider from \"@pankod/refine-simple-rest\";\n\nimport \"@pankod/refine-antd/dist/styles.min.css\";\n\nconst App: React.FC = () => {\n    return (\n        <Refine\n            routerProvider={routerProvider}\n            dataProvider={dataProvider(\"https://api.fake-rest.refine.dev\")}\n            resources={[{ name: \"posts\", list: PostList }]}\n        />\n    );\n};\n\nexport const PostList: React.FC = () => {\n    const { tableProps } = useTable<IPost>();\n\n    const categoryIds =\n        tableProps?.dataSource?.map((item) => item.category.id) ?? [];\n\n    const { data, isLoading } = useMany<ICategory>({\n        resource: \"categories\",\n        ids: categoryIds,\n        queryOptions: {\n            enabled: categoryIds.length > 0,\n        },\n    });\n\n    return (\n        <List>\n            <Table<IPost> {...tableProps} rowKey=\"id\">\n                <Table.Column dataIndex=\"title\" title=\"title\" />\n                <Table.Column\n                    dataIndex={[\"category\", \"id\"]}\n                    title=\"category\"\n                    render={(value: string) => {\n                        if (isLoading) {\n                            return \"loading...\";\n                        }\n\n                        return data?.data.find(\n                            (item: ICategory) => item.id === value,\n                        )?.title;\n                    }}\n                />\n                <Table.Column\n                    dataIndex=\"createdAt\"\n                    title=\"createdAt\"\n                    render={(value) => <DateField format=\"LLL\" value={value} />}\n                />\n            </Table>\n        </List>\n    );\n};\n\nexport default App;\n```\n\n```tsx title=\"interfaces.d.ts\"\ninterface IPost {\n    title: string;\n    createdAt: string;\n    category: ICategory;\n}\n\ninterface ICategory {\n    id: string;\n    title: string;\n}\n```\n\n## Roadmap\nYou can find Refine's <a href=\"https://github.com/pankod/refine/projects/1\">Public Roadmap here!</a> \n\n## Stargazers\n\n[![Stargazers repo roster for pankod/refine](https://reporoster.com/stars/pankod/refine)](https://github.com/pankod/refine/stargazers)\n\n## Contribution\n\nIf you have a bug to report, do not hesitate to file an issue.\n\nIf you are willing to fix an issue or propose a feature; all PRs with clear explanations are welcome and encouraged.\n\n## License\n\nLicensed under the MIT License, Copyright © 2021-present Pankod\n\n## Special Thanks\n\n[React Admin](https://marmelab.com/react-admin/) has been a great source of ideas and inspiration for refine. Big thanks to friends at [Marmelab](https://marmelab.com) for the amazing work they are doing.\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/pankod/refine/issues"},"homepage":"https://github.com/pankod/refine#readme","_id":"@pankod/refine-core@3.29.1","_nodeVersion":"16.15.1","_npmVersion":"8.11.0","dist":{"integrity":"sha512-8A+/uMSJ/zHmgr62wy75lleIPHgv2cvPAL/2CetHWJrssKICTG6C72cV9Bg1plsU7UMSDA3vncH/wJQQ4o0UuA==","shasum":"bb90f1884470154cd185ff0b44e3a6d630e07c52","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.29.1.tgz","fileCount":228,"unpackedSize":1497463,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCfGAkU8qqPoQWyPTwX24mxh908uavLEVaxS4alEOqWkgIhAOlxLzUCs5OlEOBFO6H3EcMcsTfZyuKNG4E0D8hFEYfK"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJirFqHACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmogTA//XPeqOjZtQhVUNVjgru3dPGwtej4OdCPLK0fapeiKlxlU9HNF\r\nJ2blzpsY8Hhn7ZIpQ7q/2EZSty6oMk8F86Aj9iqCM2U0LiCYNCHFh9R+SXVj\r\noaV0uHj9kwj9g+rU45pdNk3pL1/Mkg7OvSwF8W0I9l2+ZsBbT8WjthGKljFf\r\n2mp5r9KyZbCqPzldJGLBeRrygdVIOzYcJkjddargt+8NxuI4Tvb1PJ0eYDLz\r\nFeJHUt2lNCniG7rwIQ0HN8tskJLAlW1jSGJK72jOCrMNwobIUXlWO4f0bWYk\r\njcg8d2F/AwCJquPckmPbMnHOZwoaaGTMkp07TfbUnuJ9AQF4sn1bULqAUPVF\r\nS2mDwf7qcbCAFKNhRCsniDUwriU4G0jX5s5QklyTruUoYA7rCvJEaCnMNg0j\r\nZVfo/Qi/iMgH8QjeMQea6KgQ/dldU4ajiHf0rC2+TzVdUhTBUmxWef5BGGFj\r\nbX7CsvkIpTK7cZd+S/IEfwjRJ0Y/fTQ1D3WQtYU8jPRD9C3P1CWBHq8KGBLN\r\n0YmTngVDte5NehuohD07dZVly+QNMqXWid7b5iEHEfeK8B33AO8w0+7TMnQS\r\n4iH9TPnf1/2BLUh8HeGsSIuOuMRpVjlWOatfXaLgp/K1XPKD+lq8rZbKKhFM\r\n5CKyTLtMK5kN5Jk6DIqFN1xl0eFFDzeuXh8=\r\n=CTw7\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"aydinakyol","email":"aydinakyol11@gmail.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.29.1_1655462534805_0.9376834857771015"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.29.2":{"name":"@pankod/refine-core","version":"3.29.2","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --dts --format esm,cjs,iife --legacy-output","build":"tsup --dts --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.12.0","@testing-library/react":"^11.2.6","@testing-library/react-hooks":"^5.0.3","@testing-library/user-event":"^12.8.3","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^17.0.4","@types/react-dom":"^17.0.4","@types/testing-library__jest-dom":"^5.9.5","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"^6.0.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.4.3"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","humanize-string":"^2.1.0","lodash":"^4.17.21","lodash-es":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","react-query":"^3.19.2","tslib":"^2.3.1"},"repository":{"type":"git","url":"git+https://github.com/pankod/refine.git","directory":"packages/core"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"17dd5af3e4c9f7f09e1e707362c6f5a9d1cab8a8","publishConfig":{"access":"public"},"bugs":{"url":"https://github.com/pankod/refine/issues"},"homepage":"https://github.com/pankod/refine#readme","_id":"@pankod/refine-core@3.29.2","_nodeVersion":"16.15.1","_npmVersion":"8.11.0","dist":{"integrity":"sha512-YN+HyNWCb3g5qZUGDIYNvMkwlPFW5fuKmaZhiNX5Y4MbYSG29P51SFMG+k5D03FGRbpnY04rGDdHONaagwPooQ==","shasum":"5bcbeec3f491877f09a1691145726e6fb8917f84","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.29.2.tgz","fileCount":228,"unpackedSize":1497571,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC9xO1pKO9n9yO7DtGlfLd6rA+g+WWXORBO7jI2HgwVuwIhAJ/m8QcMNbx6GWwXeE3DkAGAnTAyRKplIumu7PdBv/2k"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJirGOjACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmra5Q/+LYJwEXVGpDxb5o//GptMWC82hcSdpPIYQ4G/76QwZxMO8+t4\r\noQ/dmpoxsPnC7DKYpB2L21YwbRyxGE4VQfU3mVqqq2qEXS0cURrTBLyUJg50\r\n/xk6q+Dpc8ykFtx59mrPRj4h6Ll1CD6SZsyt7Xx7L1p4gmmk/n8TqK/EFA8U\r\nzA4ZFqBEEkoR7mPVmFyIUzl/oTwxnKAqiLBi6Bbq/yBSssq/3oaLTrUhZVCs\r\nMVuu0ILrX7/I8TJysb4T7PfGaXnolt5j+Cp4tJ0QI6qL/fbNdj4e4zRQTqMK\r\n+6+MhN9+O65BJedQpjUJJgHJQyKyL4x4JW+tZTATSDS/PtlFxQk3rW0/DOu2\r\n4lJ0r+cMPAfvUe6dbTU6y/XxwQ10JnkbkhAjO8Z5kPndJi2aiOJD1cqsGIIE\r\n/4xqx7uxRXNRwBfgR/1WK6lol+N2F0I59ua75dsRgCcYkY/Z9OmqL4Z+ONga\r\nTUW7zUlt7aKJDnJ/5CqdUjpEVTScjPTY3Q0G1g5sUBkG4TIflE8LN9GdIIn8\r\nMaT97DWiaG4jnAb19DocHFZniViq7RXfjokK5XiGE0BURx5fCV/cExKWqIgK\r\nElRE/PgCBfV/9bRdGwIt/9T/z8sfbMGq5nuuyiMV9DqhlT9F9Wq7Prehj0C/\r\nAFtGevgdBP77DhCywP7sezN9SOXoeM2UQH0=\r\n=yYPE\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"aydinakyol","email":"aydinakyol11@gmail.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.29.2_1655464867553_0.936415054005578"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.30.0":{"name":"@pankod/refine-core","version":"3.30.0","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --dts --format esm,cjs,iife --legacy-output","build":"tsup --dts --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.12.0","@testing-library/react":"^11.2.6","@testing-library/react-hooks":"^5.0.3","@testing-library/user-event":"^12.8.3","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^17.0.4","@types/react-dom":"^17.0.4","@types/testing-library__jest-dom":"^5.9.5","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"^6.0.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.4.3"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","humanize-string":"^2.1.0","lodash":"^4.17.21","lodash-es":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","react-query":"^3.19.2","tslib":"^2.3.1"},"repository":{"type":"git","url":"git+https://github.com/pankod/refine.git","directory":"packages/core"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"17dd5af3e4c9f7f09e1e707362c6f5a9d1cab8a8","publishConfig":{"access":"public"},"readme":"<div align=\"center\" style=\"margin: 30px;\">\n<a href=\"https://refine.dev/\">\n  <img src=\"https://raw.githubusercontent.com/pankod/refine/master/logo.png\"   style=\"width:250px;\" align=\"center\" />\n</a>\n<br />\n<br />\n\n<div align=\"center\">\n    <a href=\"https://refine.dev\">Home Page</a> |\n    <a href=\"https://refine.dev/demo/\">Demo</a> | \n    <a href=\"https://refine.dev/blog/\">Blog</a> | \n    <a href=\"https://refine.dev/docs/\">Documentation</a> | \n    <a href=\"https://github.com/pankod/refine/projects/1\">Roadmap</a> | \n    <a href=\"https://refine.dev/docs/examples/tutorial/\">Examples</a> | \n    <a href=\"https://refine.dev/enterprise/\">Enterprise</a> | \n    <a href=\"https://discord.gg/refine\">Discord</a>\n</div>\n\n</div>\n<br/>\n\n<div align=\"center\"><strong>refine</strong> is a <a href=\"https://reactjs.org/\">React</a>-based framework for building internal tools, rapidly. ✨ It ships with <a href=\"https://ant.design/\">Ant Design System</a>, an enterprise-level UI toolkit.</div>\n\n<br />\n\n<div align=\"center\">\n\n[![Discord](https://img.shields.io/discord/837692625737613362.svg?label=&logo=discord&logoColor=ffffff&color=7389D8&labelColor=6A7EC2)](https://discord.gg/refine)\n![Twitter Follow](https://img.shields.io/twitter/follow/refine_dev?style=social)\n\n<a href=\"https://www.producthunt.com/posts/refine-open-source-react-framework?utm_source=badge-featured&utm_medium=badge&utm_souce=badge-refine-open-source-react-framework\" target=\"_blank\"><img src=\"https://api.producthunt.com/widgets/embed-image/v1/featured.svg?post_id=319164&theme=light\" alt=\"refine: Open Source React Framework - Focus your business logic. refine will do the rest. | Product Hunt\" style=\"width: 250px; height: 54px;\" width=\"250\" height=\"54\" /></a>\n\n[![Meercode CI Score](https://meercode.io/badge/pankod/refine?type=ci-score&branch=master&token=2ZiT8YsoJgt57JB23NYwXrFY3rJHZboT&lastDay=31)](https://meercode.io/)\n[![Meercode CI Success Rate](https://meercode.io/badge/pankod/refine?type=ci-success-rate&branch=master&token=2ZiT8YsoJgt57JB23NYwXrFY3rJHZboT&lastDay=31)](https://meercode.io/)\n[![Maintainability](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/maintainability)](https://codeclimate.com/github/pankod/refine/maintainability)\n[![Test Coverage](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/test_coverage)](https://codeclimate.com/github/pankod/refine/test_coverage)\n[![npm version](https://img.shields.io/npm/v/@pankod/refine-core.svg)](https://www.npmjs.com/package/@pankod/refine-core)\n[![npm](https://img.shields.io/npm/dm/@pankod/refine-core)](https://www.npmjs.com/package/@pankod/refine-core)\n[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.0-4baaaa.svg)](code_of_conduct.md)\n\n\n</div>\n\n<div align=\"center\">\n  <sub>Created by <a href=\"https://www.pankod.com\">Pankod</a></sub>\n</div>\n\n## About\n\n[**refine**](https://refine.dev/) offers lots of out-of-the box functionality for rapid development, without compromising extreme customizability. Use-cases include, but are not limited to _admin panels_, _B2B applications_ and _dashboards_.\n\n## Documentation\n\nFor more detailed information and usage, refer to the [refine documentation](https://refine.dev/docs/).\n\n## What is refine?\n\n**refine** is a [React](https://reactjs.org/)-based framework for building internal tools, rapidly. :sparkles: It ships with [Ant Design System](https://ant.design/), an enterprise-level UI toolkit.\n\nRefine offers lots of out-of-the box functionality for rapid development, without compromising extreme customizability. Use-cases include, but are not limited to _admin panels_, _B2B applications_ and _dashboards_.\n\n## What is a \"headless\" Framework?\n**refine** is a **headless** React framework, which means all out-of-the-box features(**Routing**, **Networking**, **Authentication**, **Authorization**, **State Management**, **Realtime**, **i18n**, etc.), it can be used without being tied to any UI elements or framework. Also, Ant Design as out-of-the-box is supported.\n\n- Customization & Extensibility -  UI is a completely customizable area and each developer uses different solutions. **refine** features does not restrict or interfere with your UI structure. **refine** allows the you to design and customizable the UI based on their unique use case.\n\n- Separation of Concerns - **refine** as a framework, is not responsible for your UI and is independent.\n\n- Maintenance - By removing the API surface to support every UI use case, **refine** easy to use and update/maintain is simple.\n\n###\n\n## Key features\n\n🔥 **Headless** : Works with any UI framework\n\n⚙️ **Zero-configuration**: One-line setup with [superplate](https://github.com/pankod/superplate). It takes less than a minute to start a project.\n\n📦 **Out-of-the-box** : Routing, networking, authentication, state management, i18n and UI.\n\n🔌 **Backend Agnostic** : Connects to any custom backend. Built-in support for [REST API](https://github.com/pankod/refine/tree/master/packages/simple-rest), [GraphQL](https://github.com/pankod/refine/tree/master/packages/graphql), [NestJs CRUD](https://github.com/pankod/refine/tree/master/packages/nestjsx-crud), [Airtable](https://github.com/pankod/refine/tree/master/packages/airtable), [Strapi](https://github.com/pankod/refine/tree/master/packages/strapi), [Strapi v4](https://github.com/pankod/refine/tree/master/packages/strapi-v4), [Strapi GraphQL](https://github.com/pankod/refine/tree/master/packages/strapi-graphql), [Supabase](https://github.com/pankod/refine/tree/master/packages/supabase), [Hasura](https://github.com/pankod/refine/tree/master/packages/hasura), [Appwrite](https://github.com/pankod/refine/tree/master/packages/appwrite), [Firebase](https://firebase.google.com/), [Directus](https://directus.io/) and [Altogic](https://github.com/pankod/refine/tree/master/packages/altogic).\n\n📝 **Native Typescript Core** : You can always opt out for plain JavaScript.\n\n🐜 **Enterprise UI** : Works seamlessly with Ant Design System. (Support for multiple UI frameworks is on the Roadmap)\n\n📝 **Boilerplate-free Code** : Keeps your codebase clean and readable.\n\n## Motivation\n\nHigher-level frontend frameworks can save you a lot time, but they typically offer you a trade-off between speed and flexibility.\n\nAfter many years of experience in developing B2B frontend applications and working with popular frameworks, we came up with a new approach to tackle this dilemma. This is how **refine** is born.\n\n**refine** is a collection of helper `hooks`, `components` and `providers`. They are all decoupled from your UI components and business logic, so they never keep you from customizing your UI or coding your own flow.\n\nAs **refine** is totally _unopinionated_ about UI and logic, it's strongly _opinionated_ about three parts of your application:\n\n1. **API Networking**\n2. **State Management**\n3. **Authentication & Authorization**\n\nWe believe, these are the most important components of a data-intensive frontend application and should be handled in a robust way by leveraging industry best practices.\n\n**refine** guarantees you a perfect implementation of these building blocks in your project, so you can focus on your development.\n\n## Architecture\n\n**refine** makes extensive use of [hooks](https://reactjs.org/docs/hooks-reference.html#gatsby-focus-wrapper) as a default way for interacting with your components.\nUnder the hood, **refine** relies heavily to [React Query](https://react-query.tanstack.com/) for data handling, caching and state management.\nAccess to external sources and API's happen via providers which are basically plug-in type components for extendibility.\n\n<br/>\n\n<div align=\"center\">\n    <img src=\"https://raw.githubusercontent.com/pankod/refine/master/documentation/static/img/getting-started/refine_architecture.png\" width=\"400px\" />\n</div>\n\n## Benchmark\n\nAfter releasing the first internal versions, we had the chance to migrate some of our _React_ projects to **refine**.\nIn addition to **shorter development** times and **overall performance gains**, we've measured significant reduction in project size.\n\n**refine** makes your codebase significantly smaller, by eliminating redundant code such as _reducers_, _actions_ and _unit tests_. Below is a size comparison for an example project:\n\n<br/>\n\n<div align=\"center\">\n    <img src=\"https://raw.githubusercontent.com/pankod/refine/master/documentation/static/img/getting-started/benchmark.png\" width=\"400px\" align=\"center\" />\n</div>\n\n## Quick Start\n\nRun the **superplate** tool with the following command:\n\n```\nnpx superplate-cli -p refine-react tutorial\n```\n\nFollow the _CLI wizard_ to select options and start creating your project.\n\nAfter setup is complete, navigate to the project folder and start your project with:\n\n```\nnpm run dev\n```\n\nYour **refine** application will be accessible at [http://localhost:3000](http://localhost:3000).\n\nReplace the contents of `App.tsx` with the following code:\n\n```tsx title=\"App.tsx\"\nmport { Refine, useMany } from \"@pankod/refine-core\";\nimport {\n    useTable,\n    List,\n    Table,\n    DateField,\n} from \"@pankod/refine-antd\";\nimport routerProvider from \"@pankod/refine-react-router-v6\";\nimport dataProvider from \"@pankod/refine-simple-rest\";\n\nimport \"@pankod/refine-antd/dist/styles.min.css\";\n\nconst App: React.FC = () => {\n    return (\n        <Refine\n            routerProvider={routerProvider}\n            dataProvider={dataProvider(\"https://api.fake-rest.refine.dev\")}\n            resources={[{ name: \"posts\", list: PostList }]}\n        />\n    );\n};\n\nexport const PostList: React.FC = () => {\n    const { tableProps } = useTable<IPost>();\n\n    const categoryIds =\n        tableProps?.dataSource?.map((item) => item.category.id) ?? [];\n\n    const { data, isLoading } = useMany<ICategory>({\n        resource: \"categories\",\n        ids: categoryIds,\n        queryOptions: {\n            enabled: categoryIds.length > 0,\n        },\n    });\n\n    return (\n        <List>\n            <Table<IPost> {...tableProps} rowKey=\"id\">\n                <Table.Column dataIndex=\"title\" title=\"title\" />\n                <Table.Column\n                    dataIndex={[\"category\", \"id\"]}\n                    title=\"category\"\n                    render={(value: string) => {\n                        if (isLoading) {\n                            return \"loading...\";\n                        }\n\n                        return data?.data.find(\n                            (item: ICategory) => item.id === value,\n                        )?.title;\n                    }}\n                />\n                <Table.Column\n                    dataIndex=\"createdAt\"\n                    title=\"createdAt\"\n                    render={(value) => <DateField format=\"LLL\" value={value} />}\n                />\n            </Table>\n        </List>\n    );\n};\n\nexport default App;\n```\n\n```tsx title=\"interfaces.d.ts\"\ninterface IPost {\n    title: string;\n    createdAt: string;\n    category: ICategory;\n}\n\ninterface ICategory {\n    id: string;\n    title: string;\n}\n```\n\n## Roadmap\nYou can find Refine's <a href=\"https://github.com/pankod/refine/projects/1\">Public Roadmap here!</a> \n\n## Stargazers\n\n[![Stargazers repo roster for pankod/refine](https://reporoster.com/stars/pankod/refine)](https://github.com/pankod/refine/stargazers)\n\n## Contribution\n\nIf you have a bug to report, do not hesitate to file an issue.\n\nIf you are willing to fix an issue or propose a feature; all PRs with clear explanations are welcome and encouraged.\n\n## License\n\nLicensed under the MIT License, Copyright © 2021-present Pankod\n\n## Special Thanks\n\n[React Admin](https://marmelab.com/react-admin/) has been a great source of ideas and inspiration for refine. Big thanks to friends at [Marmelab](https://marmelab.com) for the amazing work they are doing.\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/pankod/refine/issues"},"homepage":"https://github.com/pankod/refine#readme","_id":"@pankod/refine-core@3.30.0","_nodeVersion":"16.15.1","_npmVersion":"8.11.0","dist":{"integrity":"sha512-Z9o9/4+cR7kLUaWuVFtFVL9qnP9C2XTGvbeMkelitT/JTd4yKLtXwSI0r3sa1vQKUZfsuwD7dJpBJmvyX6Mxvw==","shasum":"bf322ef4e139aaf6483d921274a1b9341a65b44f","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.30.0.tgz","fileCount":231,"unpackedSize":1529940,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAzkWeCpTM3kudmvdq/YUCCp/iy0Xnts20CTJQ5pRW7HAiBde9QqG42Q2eunwlwwlkB6xXtttIoGRaonZmMVEy8B6Q=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJisHdsACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrPdA/+Ox49Matkg2i3tB+EGPMvOLbl/hpVTYWfrVf96fALD0o//5Tt\r\n3epw+dd7Uer48EUdkSY6jiaU5vBKe0NqlSOlytrTlssnvTXG6CFdQEcwULMO\r\n/XPxDQg2nJf/gvEFp5iv1RPtw0MShdjqyy59efxKdifYmf8B5eg+Gii7xtaC\r\nT9EHIeBUm/A3o3SXrkRx1T1r9irE4v7o9JlFCeLEShCyUGBc7tUOP4j059Wm\r\nIc7je2rKTubN8c+0/vOY/j7knciJ19m2Z88fpf52kf/h+pbU8mFOv9tYxh4H\r\n7UBXgz83wWMTrKIYOG6Zt62Vo6cwK5QPtmCyqQrhPYMzYCe2CXs1VHh9SQny\r\ne7BA+Bscyqomzr+SpJMjpW2NpGxESZL42d8deHn7EUP3OZuAm6jaTyw/8Jn2\r\nhZ5rIbSEqghDSxG5WXTk7Iy55dqWJ+3+VCAWD/20W+h3Di34jhZ9vj3ag7K0\r\n0u6+YQ91UOs7DpKH2xkW5Etld+DLasaa+msLr7173OcBdGkQ3p6J9YsOu9gb\r\n/gghjXDBK3bysZJTqk0+22TDC/KlvZba+NOagfgX37e0rBynqFFt1jJFBzue\r\ntQ0uZbrjkJxGbum0Ri3WD9Iz90FtdGt/vHIWVkvg3/hUJpfyQrXqtZxSI5v7\r\n2DnbbpxFJXHX5ZMz1P94f/AfX3SMeZmMZks=\r\n=2CQy\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"aydinakyol","email":"aydinakyol11@gmail.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.30.0_1655732075965_0.5585396173593125"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.31.0":{"name":"@pankod/refine-core","version":"3.31.0","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --dts --format esm,cjs,iife --legacy-output","build":"tsup --dts --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.12.0","@testing-library/react":"^11.2.6","@testing-library/react-hooks":"^5.0.3","@testing-library/user-event":"^12.8.3","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^17.0.4","@types/react-dom":"^17.0.4","@types/testing-library__jest-dom":"^5.9.5","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"^6.0.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.4.3"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","humanize-string":"^2.1.0","lodash":"^4.17.21","lodash-es":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","react-query":"^3.19.2","tslib":"^2.3.1"},"repository":{"type":"git","url":"git+https://github.com/pankod/refine.git","directory":"packages/core"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"17dd5af3e4c9f7f09e1e707362c6f5a9d1cab8a8","publishConfig":{"access":"public"},"readme":"<div align=\"center\" style=\"margin: 30px;\">\n<a href=\"https://refine.dev/\">\n  <img src=\"https://raw.githubusercontent.com/pankod/refine/master/logo.png\"   style=\"width:250px;\" align=\"center\" />\n</a>\n<br />\n<br />\n\n<div align=\"center\">\n    <a href=\"https://refine.dev\">Home Page</a> |\n    <a href=\"https://refine.dev/demo/\">Demo</a> | \n    <a href=\"https://refine.dev/blog/\">Blog</a> | \n    <a href=\"https://refine.dev/docs/\">Documentation</a> | \n    <a href=\"https://github.com/pankod/refine/projects/1\">Roadmap</a> | \n    <a href=\"https://refine.dev/docs/examples/tutorial/\">Examples</a> | \n    <a href=\"https://refine.dev/enterprise/\">Enterprise</a> | \n    <a href=\"https://discord.gg/refine\">Discord</a>\n</div>\n\n</div>\n<br/>\n\n<div align=\"center\"><strong>refine</strong> is a <a href=\"https://reactjs.org/\">React</a>-based framework for building internal tools, rapidly. ✨ It ships with <a href=\"https://ant.design/\">Ant Design System</a>, an enterprise-level UI toolkit.</div>\n\n<br />\n\n<div align=\"center\">\n\n[![Discord](https://img.shields.io/discord/837692625737613362.svg?label=&logo=discord&logoColor=ffffff&color=7389D8&labelColor=6A7EC2)](https://discord.gg/refine)\n![Twitter Follow](https://img.shields.io/twitter/follow/refine_dev?style=social)\n\n<a href=\"https://www.producthunt.com/posts/refine-open-source-react-framework?utm_source=badge-featured&utm_medium=badge&utm_souce=badge-refine-open-source-react-framework\" target=\"_blank\"><img src=\"https://api.producthunt.com/widgets/embed-image/v1/featured.svg?post_id=319164&theme=light\" alt=\"refine: Open Source React Framework - Focus your business logic. refine will do the rest. | Product Hunt\" style=\"width: 250px; height: 54px;\" width=\"250\" height=\"54\" /></a>\n\n[![Meercode CI Score](https://meercode.io/badge/pankod/refine?type=ci-score&branch=master&token=2ZiT8YsoJgt57JB23NYwXrFY3rJHZboT&lastDay=31)](https://meercode.io/)\n[![Meercode CI Success Rate](https://meercode.io/badge/pankod/refine?type=ci-success-rate&branch=master&token=2ZiT8YsoJgt57JB23NYwXrFY3rJHZboT&lastDay=31)](https://meercode.io/)\n[![Maintainability](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/maintainability)](https://codeclimate.com/github/pankod/refine/maintainability)\n[![Test Coverage](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/test_coverage)](https://codeclimate.com/github/pankod/refine/test_coverage)\n[![npm version](https://img.shields.io/npm/v/@pankod/refine-core.svg)](https://www.npmjs.com/package/@pankod/refine-core)\n[![npm](https://img.shields.io/npm/dm/@pankod/refine-core)](https://www.npmjs.com/package/@pankod/refine-core)\n[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.0-4baaaa.svg)](code_of_conduct.md)\n\n\n</div>\n\n<div align=\"center\">\n  <sub>Created by <a href=\"https://www.pankod.com\">Pankod</a></sub>\n</div>\n\n## About\n\n[**refine**](https://refine.dev/) offers lots of out-of-the box functionality for rapid development, without compromising extreme customizability. Use-cases include, but are not limited to _admin panels_, _B2B applications_ and _dashboards_.\n\n## Documentation\n\nFor more detailed information and usage, refer to the [refine documentation](https://refine.dev/docs/).\n\n## What is refine?\n\n**refine** is a [React](https://reactjs.org/)-based framework for building internal tools, rapidly. :sparkles: It ships with [Ant Design System](https://ant.design/), an enterprise-level UI toolkit.\n\nRefine offers lots of out-of-the box functionality for rapid development, without compromising extreme customizability. Use-cases include, but are not limited to _admin panels_, _B2B applications_ and _dashboards_.\n\n## What is a \"headless\" Framework?\n**refine** is a **headless** React framework, which means all out-of-the-box features(**Routing**, **Networking**, **Authentication**, **Authorization**, **State Management**, **Realtime**, **i18n**, etc.), it can be used without being tied to any UI elements or framework. Also, Ant Design as out-of-the-box is supported.\n\n- Customization & Extensibility -  UI is a completely customizable area and each developer uses different solutions. **refine** features does not restrict or interfere with your UI structure. **refine** allows the you to design and customizable the UI based on their unique use case.\n\n- Separation of Concerns - **refine** as a framework, is not responsible for your UI and is independent.\n\n- Maintenance - By removing the API surface to support every UI use case, **refine** easy to use and update/maintain is simple.\n\n###\n\n## Key features\n\n🔥 **Headless** : Works with any UI framework\n\n⚙️ **Zero-configuration**: One-line setup with [superplate](https://github.com/pankod/superplate). It takes less than a minute to start a project.\n\n📦 **Out-of-the-box** : Routing, networking, authentication, state management, i18n and UI.\n\n🔌 **Backend Agnostic** : Connects to any custom backend. Built-in support for [REST API](https://github.com/pankod/refine/tree/master/packages/simple-rest), [GraphQL](https://github.com/pankod/refine/tree/master/packages/graphql), [NestJs CRUD](https://github.com/pankod/refine/tree/master/packages/nestjsx-crud), [Airtable](https://github.com/pankod/refine/tree/master/packages/airtable), [Strapi](https://github.com/pankod/refine/tree/master/packages/strapi), [Strapi v4](https://github.com/pankod/refine/tree/master/packages/strapi-v4), [Strapi GraphQL](https://github.com/pankod/refine/tree/master/packages/strapi-graphql), [Supabase](https://github.com/pankod/refine/tree/master/packages/supabase), [Hasura](https://github.com/pankod/refine/tree/master/packages/hasura), [Appwrite](https://github.com/pankod/refine/tree/master/packages/appwrite), [Firebase](https://firebase.google.com/), [Directus](https://directus.io/) and [Altogic](https://github.com/pankod/refine/tree/master/packages/altogic).\n\n📝 **Native Typescript Core** : You can always opt out for plain JavaScript.\n\n🐜 **Enterprise UI** : Works seamlessly with Ant Design System. (Support for multiple UI frameworks is on the Roadmap)\n\n📝 **Boilerplate-free Code** : Keeps your codebase clean and readable.\n\n## Motivation\n\nHigher-level frontend frameworks can save you a lot time, but they typically offer you a trade-off between speed and flexibility.\n\nAfter many years of experience in developing B2B frontend applications and working with popular frameworks, we came up with a new approach to tackle this dilemma. This is how **refine** is born.\n\n**refine** is a collection of helper `hooks`, `components` and `providers`. They are all decoupled from your UI components and business logic, so they never keep you from customizing your UI or coding your own flow.\n\nAs **refine** is totally _unopinionated_ about UI and logic, it's strongly _opinionated_ about three parts of your application:\n\n1. **API Networking**\n2. **State Management**\n3. **Authentication & Authorization**\n\nWe believe, these are the most important components of a data-intensive frontend application and should be handled in a robust way by leveraging industry best practices.\n\n**refine** guarantees you a perfect implementation of these building blocks in your project, so you can focus on your development.\n\n## Architecture\n\n**refine** makes extensive use of [hooks](https://reactjs.org/docs/hooks-reference.html#gatsby-focus-wrapper) as a default way for interacting with your components.\nUnder the hood, **refine** relies heavily to [React Query](https://react-query.tanstack.com/) for data handling, caching and state management.\nAccess to external sources and API's happen via providers which are basically plug-in type components for extendibility.\n\n<br/>\n\n<div align=\"center\">\n    <img src=\"https://raw.githubusercontent.com/pankod/refine/master/documentation/static/img/getting-started/refine_architecture.png\" width=\"400px\" />\n</div>\n\n## Benchmark\n\nAfter releasing the first internal versions, we had the chance to migrate some of our _React_ projects to **refine**.\nIn addition to **shorter development** times and **overall performance gains**, we've measured significant reduction in project size.\n\n**refine** makes your codebase significantly smaller, by eliminating redundant code such as _reducers_, _actions_ and _unit tests_. Below is a size comparison for an example project:\n\n<br/>\n\n<div align=\"center\">\n    <img src=\"https://raw.githubusercontent.com/pankod/refine/master/documentation/static/img/getting-started/benchmark.png\" width=\"400px\" align=\"center\" />\n</div>\n\n## Quick Start\n\nRun the **superplate** tool with the following command:\n\n```\nnpx superplate-cli -p refine-react tutorial\n```\n\nFollow the _CLI wizard_ to select options and start creating your project.\n\nAfter setup is complete, navigate to the project folder and start your project with:\n\n```\nnpm run dev\n```\n\nYour **refine** application will be accessible at [http://localhost:3000](http://localhost:3000).\n\nReplace the contents of `App.tsx` with the following code:\n\n```tsx title=\"App.tsx\"\nmport { Refine, useMany } from \"@pankod/refine-core\";\nimport {\n    useTable,\n    List,\n    Table,\n    DateField,\n} from \"@pankod/refine-antd\";\nimport routerProvider from \"@pankod/refine-react-router-v6\";\nimport dataProvider from \"@pankod/refine-simple-rest\";\n\nimport \"@pankod/refine-antd/dist/styles.min.css\";\n\nconst App: React.FC = () => {\n    return (\n        <Refine\n            routerProvider={routerProvider}\n            dataProvider={dataProvider(\"https://api.fake-rest.refine.dev\")}\n            resources={[{ name: \"posts\", list: PostList }]}\n        />\n    );\n};\n\nexport const PostList: React.FC = () => {\n    const { tableProps } = useTable<IPost>();\n\n    const categoryIds =\n        tableProps?.dataSource?.map((item) => item.category.id) ?? [];\n\n    const { data, isLoading } = useMany<ICategory>({\n        resource: \"categories\",\n        ids: categoryIds,\n        queryOptions: {\n            enabled: categoryIds.length > 0,\n        },\n    });\n\n    return (\n        <List>\n            <Table<IPost> {...tableProps} rowKey=\"id\">\n                <Table.Column dataIndex=\"title\" title=\"title\" />\n                <Table.Column\n                    dataIndex={[\"category\", \"id\"]}\n                    title=\"category\"\n                    render={(value: string) => {\n                        if (isLoading) {\n                            return \"loading...\";\n                        }\n\n                        return data?.data.find(\n                            (item: ICategory) => item.id === value,\n                        )?.title;\n                    }}\n                />\n                <Table.Column\n                    dataIndex=\"createdAt\"\n                    title=\"createdAt\"\n                    render={(value) => <DateField format=\"LLL\" value={value} />}\n                />\n            </Table>\n        </List>\n    );\n};\n\nexport default App;\n```\n\n```tsx title=\"interfaces.d.ts\"\ninterface IPost {\n    title: string;\n    createdAt: string;\n    category: ICategory;\n}\n\ninterface ICategory {\n    id: string;\n    title: string;\n}\n```\n\n## Roadmap\nYou can find Refine's <a href=\"https://github.com/pankod/refine/projects/1\">Public Roadmap here!</a> \n\n## Stargazers\n\n[![Stargazers repo roster for pankod/refine](https://reporoster.com/stars/pankod/refine)](https://github.com/pankod/refine/stargazers)\n\n## Contribution\n\nIf you have a bug to report, do not hesitate to file an issue.\n\nIf you are willing to fix an issue or propose a feature; all PRs with clear explanations are welcome and encouraged.\n\n## License\n\nLicensed under the MIT License, Copyright © 2021-present Pankod\n\n## Special Thanks\n\n[React Admin](https://marmelab.com/react-admin/) has been a great source of ideas and inspiration for refine. Big thanks to friends at [Marmelab](https://marmelab.com) for the amazing work they are doing.\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/pankod/refine/issues"},"homepage":"https://github.com/pankod/refine#readme","_id":"@pankod/refine-core@3.31.0","_nodeVersion":"16.15.1","_npmVersion":"8.11.0","dist":{"integrity":"sha512-3NPZSmg3yihuZPaLpzIxA9f7+6NIWUBi34D1+ZiEytxMkEId3Dzudoxa1J1qPskTwdFBecc7onAq3Rw3sAl9KQ==","shasum":"c902593d32701c6f05c1604f24ccd5e50f039263","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.31.0.tgz","fileCount":231,"unpackedSize":1527915,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIG3UnXZmKi5wIsQklAVQ3OTXqIu/GJSduOf5PacUnsUIAiEAuTlFZF175YGeDkPJaJjcutAuBgmxHSZ6/s6N2nEdops="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJisJgUACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqaIg//SuBXIG2pX8RtVN746v5ssckLNVuwMq0bqj7epO0sKVRNL1Ed\r\n6xdOXOM8lCZUY8YdGLTnC/xosZClPffiCMHBNeeyzzc4pZRvtgkk192oQKAg\r\n/7dr0FfM4hWCnu95o+Rz1WStWIEgZqHIdPTWKGxp8EBrwaxvDMAng6IY4YPf\r\nuD+ShHDk6ZNd2UR0envmL5MQ7AyH9K/F0OmVwRt/gmuaPq8n15ZBqs69xJSG\r\nxLAWihFiVc057aP0Q8ZxDbEB6r3wygwDHIRTOCxbCu1WUw+ZMqlRJHsRridm\r\nuSTWXdwehJu5y2UKyw5InJ4ZHANiHXKKo4gg5ltp5cvKf7qLI9fipAx0kKii\r\ns27Qk8TgqFpN+QIppMTpjvt0FoAyPEsp80G+gbkHdpop7gFTdYFxw19XVFNP\r\nV27Ur20HTmaJ0hzCpIHZisLkpIEDhndpT431zA4I/stEZzPUGuVoYhvsva80\r\nbwcJ5fsDj1tJPr7X9tIzfjy1IOFWt2CrWE6iCAQnjUPHYaA/GWdA5s37r9Vr\r\necP7+/vOFDW2acgmNDNs5c4r0JnUMuGtVb4Od7X8PRq+JcSU9PIg8Hvhi/C4\r\nM+KPb8xcN5vgdGfzUEAE0BEGPxLor206GhDy5PehpWhzQUEe7Y2S9Va7c1EE\r\n3neTAtz8YFlnUWCFzXPQo2fvoJLyKEws1+U=\r\n=kyp3\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"aydinakyol","email":"aydinakyol11@gmail.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.31.0_1655740436580_0.8418344936966351"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.32.0":{"name":"@pankod/refine-core","version":"3.32.0","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --dts --format esm,cjs,iife --legacy-output","build":"tsup --dts --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.12.0","@testing-library/react":"^11.2.6","@testing-library/react-hooks":"^5.0.3","@testing-library/user-event":"^12.8.3","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^17.0.4","@types/react-dom":"^17.0.4","@types/testing-library__jest-dom":"^5.9.5","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"^6.0.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.4.3"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","humanize-string":"^2.1.0","lodash":"^4.17.21","lodash-es":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","react-query":"^3.19.2","tslib":"^2.3.1"},"repository":{"type":"git","url":"git+https://github.com/pankod/refine.git","directory":"packages/core"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"17dd5af3e4c9f7f09e1e707362c6f5a9d1cab8a8","publishConfig":{"access":"public"},"bugs":{"url":"https://github.com/pankod/refine/issues"},"homepage":"https://github.com/pankod/refine#readme","_id":"@pankod/refine-core@3.32.0","_nodeVersion":"16.15.1","_npmVersion":"8.11.0","dist":{"integrity":"sha512-p3QNzBg7xRtHCZlbXRVoNVwkeA4ijJwmBWhiAOvO8cpLNN+Lcs08fJLQok/3Gh8KbFIK8Vd9ULwqHjETIFfIlw==","shasum":"74d4127299603577a107eca9339386a6ae57eaca","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.32.0.tgz","fileCount":231,"unpackedSize":1527704,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFdvpu3ZiWs2yaFZuvyd6sluzrXuMsoylZ5OGojl7iHOAiAqRNphJYHpBBk9FhZYENdtvtrfeq2Hedd0PI7RvxeS2g=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJisKNnACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqKGQ/+NeyfpU+83dQ7OyDcw6/ukRtLtcISsjAcqWoSyO+dK3Iqx+2B\r\nEwPyWbdIfKOlgRIiyVxrvv9GuOgiRYYq7cZEYQ+9V6JEY/VIp4dZGUjfRmsC\r\nhFObxhLz9UQzw/M/jek7pMUd0SHjAKalmywOyS/G5tMdbBMOP1bTez2ASKIJ\r\nTNWmCR00OpTJptAVN22/QWsGvX4N7tfQSI1gtlCzQ7dk2ApF9NzSb5G42G2W\r\n3pxbUYeydU5NXD9QA6+D5n7Jx/Y9TwsSu+acPpnn86LDHZpRO5To8OT57SyE\r\nDzQEXRHye7xmaZ5hitmRBUsbR45Qim+fm70qhiQDLt2MzR7Ls+mVI8zRP15Y\r\nJXUWBWGxeR6N8uSZWCxd/7GGzxN220CSv0uNN3cgAf4PZgxlnpvKpnMdCRSg\r\nqpplPrKuC9NXE9sIh0/6QXMOkLxes7/wdOMN2b1NHUFGN0UDqeTUBtsZ/cqe\r\nAcYym9nFBd89unCuI9iBfWu2B0suptHkb2G/yJBMTqC1GDwUkUA1aQi3k7Ik\r\nZqV+x2s2k/rHIrk17QDiDy62E/PvsBkMIz9PlRh7Fd9LYJz4lFbsjfpKZCYr\r\nYdCCfHoIEUBJezlZn+fEpLhyRQ+V1qD6IMl/WEGr3gFmmdlAiUgw1HhaibO/\r\n6zAUucvhfqZhgR2Uvi7uto8SU9LLjnrr2k4=\r\n=nSl+\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"aydinakyol","email":"aydinakyol11@gmail.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.32.0_1655743335400_0.27432839499223993"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.33.0":{"name":"@pankod/refine-core","version":"3.33.0","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --dts --format esm,cjs,iife --legacy-output","build":"tsup --dts --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.12.0","@testing-library/react":"^11.2.6","@testing-library/react-hooks":"^5.0.3","@testing-library/user-event":"^12.8.3","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^17.0.4","@types/react-dom":"^17.0.4","@types/testing-library__jest-dom":"^5.9.5","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"^6.0.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.4.3"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","humanize-string":"^2.1.0","lodash":"^4.17.21","lodash-es":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","react-query":"^3.19.2","tslib":"^2.3.1"},"repository":{"type":"git","url":"git+https://github.com/pankod/refine.git","directory":"packages/core"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"17dd5af3e4c9f7f09e1e707362c6f5a9d1cab8a8","publishConfig":{"access":"public"},"readme":"<div align=\"center\" style=\"margin: 30px;\">\n<a href=\"https://refine.dev/\">\n  <img src=\"https://raw.githubusercontent.com/pankod/refine/master/logo.png\"   style=\"width:250px;\" align=\"center\" />\n</a>\n<br />\n<br />\n\n<div align=\"center\">\n    <a href=\"https://refine.dev\">Home Page</a> |\n    <a href=\"https://refine.dev/demo/\">Demo</a> | \n    <a href=\"https://refine.dev/blog/\">Blog</a> | \n    <a href=\"https://refine.dev/docs/\">Documentation</a> | \n    <a href=\"https://github.com/pankod/refine/projects/1\">Roadmap</a> | \n    <a href=\"https://refine.dev/docs/examples/tutorial/\">Examples</a> | \n    <a href=\"https://refine.dev/enterprise/\">Enterprise</a> | \n    <a href=\"https://discord.gg/refine\">Discord</a>\n</div>\n\n</div>\n<br/>\n\n<div align=\"center\"><strong>refine</strong> is a <a href=\"https://reactjs.org/\">React</a>-based framework for building internal tools, rapidly. ✨ It ships with <a href=\"https://ant.design/\">Ant Design System</a>, an enterprise-level UI toolkit.</div>\n\n<br />\n\n<div align=\"center\">\n\n[![Discord](https://img.shields.io/discord/837692625737613362.svg?label=&logo=discord&logoColor=ffffff&color=7389D8&labelColor=6A7EC2)](https://discord.gg/refine)\n![Twitter Follow](https://img.shields.io/twitter/follow/refine_dev?style=social)\n\n<a href=\"https://www.producthunt.com/posts/refine-open-source-react-framework?utm_source=badge-featured&utm_medium=badge&utm_souce=badge-refine-open-source-react-framework\" target=\"_blank\"><img src=\"https://api.producthunt.com/widgets/embed-image/v1/featured.svg?post_id=319164&theme=light\" alt=\"refine: Open Source React Framework - Focus your business logic. refine will do the rest. | Product Hunt\" style=\"width: 250px; height: 54px;\" width=\"250\" height=\"54\" /></a>\n\n[![Meercode CI Score](https://meercode.io/badge/pankod/refine?type=ci-score&branch=master&token=2ZiT8YsoJgt57JB23NYwXrFY3rJHZboT&lastDay=31)](https://meercode.io/)\n[![Meercode CI Success Rate](https://meercode.io/badge/pankod/refine?type=ci-success-rate&branch=master&token=2ZiT8YsoJgt57JB23NYwXrFY3rJHZboT&lastDay=31)](https://meercode.io/)\n[![Maintainability](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/maintainability)](https://codeclimate.com/github/pankod/refine/maintainability)\n[![Test Coverage](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/test_coverage)](https://codeclimate.com/github/pankod/refine/test_coverage)\n[![npm version](https://img.shields.io/npm/v/@pankod/refine-core.svg)](https://www.npmjs.com/package/@pankod/refine-core)\n[![npm](https://img.shields.io/npm/dm/@pankod/refine-core)](https://www.npmjs.com/package/@pankod/refine-core)\n[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.0-4baaaa.svg)](code_of_conduct.md)\n\n\n</div>\n\n<div align=\"center\">\n  <sub>Created by <a href=\"https://www.pankod.com\">Pankod</a></sub>\n</div>\n\n## About\n\n[**refine**](https://refine.dev/) offers lots of out-of-the box functionality for rapid development, without compromising extreme customizability. Use-cases include, but are not limited to _admin panels_, _B2B applications_ and _dashboards_.\n\n## Documentation\n\nFor more detailed information and usage, refer to the [refine documentation](https://refine.dev/docs/).\n\n## What is refine?\n\n**refine** is a [React](https://reactjs.org/)-based framework for building internal tools, rapidly. :sparkles: It ships with [Ant Design System](https://ant.design/), an enterprise-level UI toolkit.\n\nRefine offers lots of out-of-the box functionality for rapid development, without compromising extreme customizability. Use-cases include, but are not limited to _admin panels_, _B2B applications_ and _dashboards_.\n\n## What is a \"headless\" Framework?\n**refine** is a **headless** React framework, which means all out-of-the-box features(**Routing**, **Networking**, **Authentication**, **Authorization**, **State Management**, **Realtime**, **i18n**, etc.), it can be used without being tied to any UI elements or framework. Also, Ant Design as out-of-the-box is supported.\n\n- Customization & Extensibility -  UI is a completely customizable area and each developer uses different solutions. **refine** features does not restrict or interfere with your UI structure. **refine** allows the you to design and customizable the UI based on their unique use case.\n\n- Separation of Concerns - **refine** as a framework, is not responsible for your UI and is independent.\n\n- Maintenance - By removing the API surface to support every UI use case, **refine** easy to use and update/maintain is simple.\n\n###\n\n## Key features\n\n🔥 **Headless** : Works with any UI framework\n\n⚙️ **Zero-configuration**: One-line setup with [superplate](https://github.com/pankod/superplate). It takes less than a minute to start a project.\n\n📦 **Out-of-the-box** : Routing, networking, authentication, state management, i18n and UI.\n\n🔌 **Backend Agnostic** : Connects to any custom backend. Built-in support for [REST API](https://github.com/pankod/refine/tree/master/packages/simple-rest), [GraphQL](https://github.com/pankod/refine/tree/master/packages/graphql), [NestJs CRUD](https://github.com/pankod/refine/tree/master/packages/nestjsx-crud), [Airtable](https://github.com/pankod/refine/tree/master/packages/airtable), [Strapi](https://github.com/pankod/refine/tree/master/packages/strapi), [Strapi v4](https://github.com/pankod/refine/tree/master/packages/strapi-v4), [Strapi GraphQL](https://github.com/pankod/refine/tree/master/packages/strapi-graphql), [Supabase](https://github.com/pankod/refine/tree/master/packages/supabase), [Hasura](https://github.com/pankod/refine/tree/master/packages/hasura), [Appwrite](https://github.com/pankod/refine/tree/master/packages/appwrite), [Firebase](https://firebase.google.com/), [Directus](https://directus.io/) and [Altogic](https://github.com/pankod/refine/tree/master/packages/altogic).\n\n📝 **Native Typescript Core** : You can always opt out for plain JavaScript.\n\n🐜 **Enterprise UI** : Works seamlessly with Ant Design System. (Support for multiple UI frameworks is on the Roadmap)\n\n📝 **Boilerplate-free Code** : Keeps your codebase clean and readable.\n\n## Motivation\n\nHigher-level frontend frameworks can save you a lot time, but they typically offer you a trade-off between speed and flexibility.\n\nAfter many years of experience in developing B2B frontend applications and working with popular frameworks, we came up with a new approach to tackle this dilemma. This is how **refine** is born.\n\n**refine** is a collection of helper `hooks`, `components` and `providers`. They are all decoupled from your UI components and business logic, so they never keep you from customizing your UI or coding your own flow.\n\nAs **refine** is totally _unopinionated_ about UI and logic, it's strongly _opinionated_ about three parts of your application:\n\n1. **API Networking**\n2. **State Management**\n3. **Authentication & Authorization**\n\nWe believe, these are the most important components of a data-intensive frontend application and should be handled in a robust way by leveraging industry best practices.\n\n**refine** guarantees you a perfect implementation of these building blocks in your project, so you can focus on your development.\n\n## Architecture\n\n**refine** makes extensive use of [hooks](https://reactjs.org/docs/hooks-reference.html#gatsby-focus-wrapper) as a default way for interacting with your components.\nUnder the hood, **refine** relies heavily to [React Query](https://react-query.tanstack.com/) for data handling, caching and state management.\nAccess to external sources and API's happen via providers which are basically plug-in type components for extendibility.\n\n<br/>\n\n<div align=\"center\">\n    <img src=\"https://raw.githubusercontent.com/pankod/refine/master/documentation/static/img/getting-started/refine_architecture.png\" width=\"400px\" />\n</div>\n\n## Benchmark\n\nAfter releasing the first internal versions, we had the chance to migrate some of our _React_ projects to **refine**.\nIn addition to **shorter development** times and **overall performance gains**, we've measured significant reduction in project size.\n\n**refine** makes your codebase significantly smaller, by eliminating redundant code such as _reducers_, _actions_ and _unit tests_. Below is a size comparison for an example project:\n\n<br/>\n\n<div align=\"center\">\n    <img src=\"https://raw.githubusercontent.com/pankod/refine/master/documentation/static/img/getting-started/benchmark.png\" width=\"400px\" align=\"center\" />\n</div>\n\n## Quick Start\n\nRun the **superplate** tool with the following command:\n\n```\nnpx superplate-cli -p refine-react tutorial\n```\n\nFollow the _CLI wizard_ to select options and start creating your project.\n\nAfter setup is complete, navigate to the project folder and start your project with:\n\n```\nnpm run dev\n```\n\nYour **refine** application will be accessible at [http://localhost:3000](http://localhost:3000).\n\nReplace the contents of `App.tsx` with the following code:\n\n```tsx title=\"App.tsx\"\nmport { Refine, useMany } from \"@pankod/refine-core\";\nimport {\n    useTable,\n    List,\n    Table,\n    DateField,\n} from \"@pankod/refine-antd\";\nimport routerProvider from \"@pankod/refine-react-router-v6\";\nimport dataProvider from \"@pankod/refine-simple-rest\";\n\nimport \"@pankod/refine-antd/dist/styles.min.css\";\n\nconst App: React.FC = () => {\n    return (\n        <Refine\n            routerProvider={routerProvider}\n            dataProvider={dataProvider(\"https://api.fake-rest.refine.dev\")}\n            resources={[{ name: \"posts\", list: PostList }]}\n        />\n    );\n};\n\nexport const PostList: React.FC = () => {\n    const { tableProps } = useTable<IPost>();\n\n    const categoryIds =\n        tableProps?.dataSource?.map((item) => item.category.id) ?? [];\n\n    const { data, isLoading } = useMany<ICategory>({\n        resource: \"categories\",\n        ids: categoryIds,\n        queryOptions: {\n            enabled: categoryIds.length > 0,\n        },\n    });\n\n    return (\n        <List>\n            <Table<IPost> {...tableProps} rowKey=\"id\">\n                <Table.Column dataIndex=\"title\" title=\"title\" />\n                <Table.Column\n                    dataIndex={[\"category\", \"id\"]}\n                    title=\"category\"\n                    render={(value: string) => {\n                        if (isLoading) {\n                            return \"loading...\";\n                        }\n\n                        return data?.data.find(\n                            (item: ICategory) => item.id === value,\n                        )?.title;\n                    }}\n                />\n                <Table.Column\n                    dataIndex=\"createdAt\"\n                    title=\"createdAt\"\n                    render={(value) => <DateField format=\"LLL\" value={value} />}\n                />\n            </Table>\n        </List>\n    );\n};\n\nexport default App;\n```\n\n```tsx title=\"interfaces.d.ts\"\ninterface IPost {\n    title: string;\n    createdAt: string;\n    category: ICategory;\n}\n\ninterface ICategory {\n    id: string;\n    title: string;\n}\n```\n\n## Roadmap\nYou can find Refine's <a href=\"https://github.com/pankod/refine/projects/1\">Public Roadmap here!</a> \n\n## Stargazers\n\n[![Stargazers repo roster for pankod/refine](https://reporoster.com/stars/pankod/refine)](https://github.com/pankod/refine/stargazers)\n\n## Contribution\n\nIf you have a bug to report, do not hesitate to file an issue.\n\nIf you are willing to fix an issue or propose a feature; all PRs with clear explanations are welcome and encouraged.\n\n## License\n\nLicensed under the MIT License, Copyright © 2021-present Pankod\n\n## Special Thanks\n\n[React Admin](https://marmelab.com/react-admin/) has been a great source of ideas and inspiration for refine. Big thanks to friends at [Marmelab](https://marmelab.com) for the amazing work they are doing.\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/pankod/refine/issues"},"homepage":"https://github.com/pankod/refine#readme","_id":"@pankod/refine-core@3.33.0","_nodeVersion":"16.15.1","_npmVersion":"8.11.0","dist":{"integrity":"sha512-qb0L/esWG3iTuDhuyjT0OfLiO29+ADm0tXOujAhzPZk19DofqVnsdLxKPE6QHlwl2CRtkKe4rCcgyzkxzKGl9A==","shasum":"a523a52565a7ea2c27d3fd86b2f85124036ee9c1","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.33.0.tgz","fileCount":231,"unpackedSize":1521544,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDM07E2yHr7uY0Qr8fDyfOUZ3COaZg5Bz/uNd8oLTNTuQIgTmsPHzedM3U/v+sffVPDtZFfqCXjMHgk6YNa523230U="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJitBm0ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrZwQ/6AqN6atQh+yBUGmk7aTsxAe7wnyti/wJyvAfquZt+2l5tff6s\r\nKoBpLasq6gPw6K+TtytJpAnOrnmvHj/V8jiREcpTqyne9i7a/nq95ki8pxuf\r\nOTLoNSQrsaAaJql9DAj2ro9BvRxMaaGPL/EJmOfIWy3bvBp/4TRkdZkDLHnl\r\nQuXesFGBEO920om6ooXV87lTskHitpvEaGMzfwmZxrW658nFdPK93vgc6cCk\r\ndbv9jxepNTE8yYuVq6Hm3coyrEqFx57dLznz12rNHZ6r3vYQOryKC3P3ANCH\r\ney1r7DAekIYMXDM/TVyXkVyVqM3jyDOfatCdZpzFWBKW6QurnSmHxud3b+qr\r\ngdrPLpZSpYpjzYsvy6iPTSO3LpHOgz/oEmEwprSqV6izll8/0ZuN8CNDkmVX\r\nYVxI+uXHGaWJqiWn+thfvoQ/YR2iRSGi2mh8I4b09dWnY+dhS59FihQWhjRf\r\n1VI8JWqnBx+33ew60zyxvW2mPmPn34CQEGj6HxKFGpfKiFJjhWrt+/nbd91j\r\n4JIcn6m/a+rQgkysEHvZp/wGci3wGTssOnk/rMyYnnS0Y7cIvz8XA/z/czPp\r\nV6jtDE8ONzwLpSKjujeLFAijBbXWF6TCvIXIleWlXaIuLJlYNXT5YTzO7KpB\r\nNstLckWQVFwNmMPHo35l8/nJPjqwL1SzCKo=\r\n=6nub\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"aydinakyol","email":"aydinakyol11@gmail.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.33.0_1655970228664_0.312333644208731"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.34.0":{"name":"@pankod/refine-core","version":"3.34.0","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --dts --format esm,cjs,iife --legacy-output","build":"tsup --dts --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.12.0","@testing-library/react":"^11.2.6","@testing-library/react-hooks":"^5.0.3","@testing-library/user-event":"^12.8.3","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^17.0.4","@types/react-dom":"^17.0.4","@types/testing-library__jest-dom":"^5.9.5","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"^6.0.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.4.3"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","humanize-string":"^2.1.0","lodash":"^4.17.21","lodash-es":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","react-query":"^3.19.2","tslib":"^2.3.1"},"repository":{"type":"git","url":"git+https://github.com/pankod/refine.git","directory":"packages/core"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"17dd5af3e4c9f7f09e1e707362c6f5a9d1cab8a8","publishConfig":{"access":"public"},"bugs":{"url":"https://github.com/pankod/refine/issues"},"homepage":"https://github.com/pankod/refine#readme","_id":"@pankod/refine-core@3.34.0","_nodeVersion":"16.15.1","_npmVersion":"8.11.0","dist":{"integrity":"sha512-QdY8rl9j5mRqfml27XSDaUMvBA3FuuSEPsurGZb/2XTDwlpsJrGimmghv6ksISKDOAUGXThMutNuN4azDz3nSA==","shasum":"5221383e5291d8f1fbc45aadd6dda61621330219","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.34.0.tgz","fileCount":231,"unpackedSize":1521861,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDpoXVQPlJGjd7SW2O8s2cDxiex2g3yMgowJmjaOjyRMQIgTupoz4If9cwQWiq3Be9ZjRxmlMWlsyrwn7pIgeTPEH0="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJitCRBACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo3AQ//bzduqvv8XHhFkH6krEfc4MO9ZckDsQkTDvfbmi1Cm2gcM2pd\r\n9Oo69ftqUnXBQfVSxy/u8mjFyu0+si2ho/egLkIRXLgwZAsT7YSmPBHlul/b\r\nWv6DP4huS/I8KkKbXdtZVz61zXY9P9VOrBASfbK8zjRDTOSLWg2jBYfjehyf\r\nfTVkjwyAaPhcJ0rIffzCTGCHKxz3HLdvbtBQCgGUEzRkvpCHJpslcoHJ9VGV\r\nsHbbofFIsWvl/7yaPWphlmdbg/4NCrMedDZqDTfmi90rdU9zZmYjEPGPcg/X\r\n0ba/1Ekc5WCyp82dY2BSktF8b2fcfWOC8ZK/vrwbCh5ka+Yzm2GtizUu115s\r\nRskd9yc9+Sz8LWZ13JimIjJbfsjcxTQ7c4VOV+WIFtjJthvn6t1twa9CkvM1\r\ndvDF6DJssFETzYdyJAefVv9kSvZVfK5rV2bkP+OIAg7Fhzywd28s1pXRcS97\r\nbr/6PRQT8+QJVJdjG35tcPn28VYYyCD9v1IpfmYrmXX7hyHi/IZI+rzZlkOi\r\nho4hnjTZVKLLvLjO7brqw6VhDSKdLswsQ6EIHmDgZPsKm+CHNrYhcBvBKFA3\r\np5es7qZXjlSVcvGzyAeFQN1wMBZanBObeUD0gRhTnOshHhpPAhScvwLMHuLz\r\nlAuirt3QUk+Z577ce2NFw2firN1WauMeoY8=\r\n=9G95\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"aydinakyol","email":"aydinakyol11@gmail.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.34.0_1655972929045_0.5786439743723686"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.34.1":{"name":"@pankod/refine-core","version":"3.34.1","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --dts --format esm,cjs,iife --legacy-output","build":"tsup --dts --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.12.0","@testing-library/react":"^11.2.6","@testing-library/react-hooks":"^5.0.3","@testing-library/user-event":"^12.8.3","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^17.0.4","@types/react-dom":"^17.0.4","@types/testing-library__jest-dom":"^5.9.5","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"^6.0.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.4.3"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","humanize-string":"^2.1.0","lodash":"^4.17.21","lodash-es":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","react-query":"^3.19.2","tslib":"^2.3.1"},"repository":{"type":"git","url":"git+https://github.com/pankod/refine.git","directory":"packages/core"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"17dd5af3e4c9f7f09e1e707362c6f5a9d1cab8a8","publishConfig":{"access":"public"},"readme":"<div align=\"center\" style=\"margin: 30px;\">\n<a href=\"https://refine.dev/\">\n  <img src=\"https://raw.githubusercontent.com/pankod/refine/master/logo.png\"   style=\"width:250px;\" align=\"center\" />\n</a>\n<br />\n<br />\n\n<div align=\"center\">\n    <a href=\"https://refine.dev\">Home Page</a> |\n    <a href=\"https://refine.dev/demo/\">Demo</a> | \n    <a href=\"https://refine.dev/blog/\">Blog</a> | \n    <a href=\"https://refine.dev/docs/\">Documentation</a> | \n    <a href=\"https://github.com/pankod/refine/projects/1\">Roadmap</a> | \n    <a href=\"https://refine.dev/docs/examples/tutorial/\">Examples</a> | \n    <a href=\"https://refine.dev/enterprise/\">Enterprise</a> | \n    <a href=\"https://discord.gg/refine\">Discord</a>\n</div>\n\n</div>\n<br/>\n\n<div align=\"center\"><strong>refine</strong> is a <a href=\"https://reactjs.org/\">React</a>-based framework for building internal tools, rapidly. ✨ It ships with <a href=\"https://ant.design/\">Ant Design System</a>, an enterprise-level UI toolkit.</div>\n\n<br />\n\n<div align=\"center\">\n\n[![Discord](https://img.shields.io/discord/837692625737613362.svg?label=&logo=discord&logoColor=ffffff&color=7389D8&labelColor=6A7EC2)](https://discord.gg/refine)\n![Twitter Follow](https://img.shields.io/twitter/follow/refine_dev?style=social)\n\n<a href=\"https://www.producthunt.com/posts/refine-open-source-react-framework?utm_source=badge-featured&utm_medium=badge&utm_souce=badge-refine-open-source-react-framework\" target=\"_blank\"><img src=\"https://api.producthunt.com/widgets/embed-image/v1/featured.svg?post_id=319164&theme=light\" alt=\"refine: Open Source React Framework - Focus your business logic. refine will do the rest. | Product Hunt\" style=\"width: 250px; height: 54px;\" width=\"250\" height=\"54\" /></a>\n\n[![Meercode CI Score](https://meercode.io/badge/pankod/refine?type=ci-score&branch=master&token=2ZiT8YsoJgt57JB23NYwXrFY3rJHZboT&lastDay=31)](https://meercode.io/)\n[![Meercode CI Success Rate](https://meercode.io/badge/pankod/refine?type=ci-success-rate&branch=master&token=2ZiT8YsoJgt57JB23NYwXrFY3rJHZboT&lastDay=31)](https://meercode.io/)\n[![Maintainability](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/maintainability)](https://codeclimate.com/github/pankod/refine/maintainability)\n[![Test Coverage](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/test_coverage)](https://codeclimate.com/github/pankod/refine/test_coverage)\n[![npm version](https://img.shields.io/npm/v/@pankod/refine-core.svg)](https://www.npmjs.com/package/@pankod/refine-core)\n[![npm](https://img.shields.io/npm/dm/@pankod/refine-core)](https://www.npmjs.com/package/@pankod/refine-core)\n[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.0-4baaaa.svg)](code_of_conduct.md)\n\n\n</div>\n\n<div align=\"center\">\n  <sub>Created by <a href=\"https://www.pankod.com\">Pankod</a></sub>\n</div>\n\n## About\n\n[**refine**](https://refine.dev/) offers lots of out-of-the box functionality for rapid development, without compromising extreme customizability. Use-cases include, but are not limited to _admin panels_, _B2B applications_ and _dashboards_.\n\n## Documentation\n\nFor more detailed information and usage, refer to the [refine documentation](https://refine.dev/docs/).\n\n## What is refine?\n\n**refine** is a [React](https://reactjs.org/)-based framework for building internal tools, rapidly. :sparkles: It ships with [Ant Design System](https://ant.design/), an enterprise-level UI toolkit.\n\nRefine offers lots of out-of-the box functionality for rapid development, without compromising extreme customizability. Use-cases include, but are not limited to _admin panels_, _B2B applications_ and _dashboards_.\n\n## What is a \"headless\" Framework?\n**refine** is a **headless** React framework, which means all out-of-the-box features(**Routing**, **Networking**, **Authentication**, **Authorization**, **State Management**, **Realtime**, **i18n**, etc.), it can be used without being tied to any UI elements or framework. Also, Ant Design as out-of-the-box is supported.\n\n- Customization & Extensibility -  UI is a completely customizable area and each developer uses different solutions. **refine** features does not restrict or interfere with your UI structure. **refine** allows the you to design and customizable the UI based on their unique use case.\n\n- Separation of Concerns - **refine** as a framework, is not responsible for your UI and is independent.\n\n- Maintenance - By removing the API surface to support every UI use case, **refine** easy to use and update/maintain is simple.\n\n###\n\n## Key features\n\n🔥 **Headless** : Works with any UI framework\n\n⚙️ **Zero-configuration**: One-line setup with [superplate](https://github.com/pankod/superplate). It takes less than a minute to start a project.\n\n📦 **Out-of-the-box** : Routing, networking, authentication, state management, i18n and UI.\n\n🔌 **Backend Agnostic** : Connects to any custom backend. Built-in support for [REST API](https://github.com/pankod/refine/tree/master/packages/simple-rest), [GraphQL](https://github.com/pankod/refine/tree/master/packages/graphql), [NestJs CRUD](https://github.com/pankod/refine/tree/master/packages/nestjsx-crud), [Airtable](https://github.com/pankod/refine/tree/master/packages/airtable), [Strapi](https://github.com/pankod/refine/tree/master/packages/strapi), [Strapi v4](https://github.com/pankod/refine/tree/master/packages/strapi-v4), [Strapi GraphQL](https://github.com/pankod/refine/tree/master/packages/strapi-graphql), [Supabase](https://github.com/pankod/refine/tree/master/packages/supabase), [Hasura](https://github.com/pankod/refine/tree/master/packages/hasura), [Appwrite](https://github.com/pankod/refine/tree/master/packages/appwrite), [Firebase](https://firebase.google.com/), [Directus](https://directus.io/) and [Altogic](https://github.com/pankod/refine/tree/master/packages/altogic).\n\n📝 **Native Typescript Core** : You can always opt out for plain JavaScript.\n\n🐜 **Enterprise UI** : Works seamlessly with Ant Design System. (Support for multiple UI frameworks is on the Roadmap)\n\n📝 **Boilerplate-free Code** : Keeps your codebase clean and readable.\n\n## Motivation\n\nHigher-level frontend frameworks can save you a lot time, but they typically offer you a trade-off between speed and flexibility.\n\nAfter many years of experience in developing B2B frontend applications and working with popular frameworks, we came up with a new approach to tackle this dilemma. This is how **refine** is born.\n\n**refine** is a collection of helper `hooks`, `components` and `providers`. They are all decoupled from your UI components and business logic, so they never keep you from customizing your UI or coding your own flow.\n\nAs **refine** is totally _unopinionated_ about UI and logic, it's strongly _opinionated_ about three parts of your application:\n\n1. **API Networking**\n2. **State Management**\n3. **Authentication & Authorization**\n\nWe believe, these are the most important components of a data-intensive frontend application and should be handled in a robust way by leveraging industry best practices.\n\n**refine** guarantees you a perfect implementation of these building blocks in your project, so you can focus on your development.\n\n## Architecture\n\n**refine** makes extensive use of [hooks](https://reactjs.org/docs/hooks-reference.html#gatsby-focus-wrapper) as a default way for interacting with your components.\nUnder the hood, **refine** relies heavily to [React Query](https://react-query.tanstack.com/) for data handling, caching and state management.\nAccess to external sources and API's happen via providers which are basically plug-in type components for extendibility.\n\n<br/>\n\n<div align=\"center\">\n    <img src=\"https://raw.githubusercontent.com/pankod/refine/master/documentation/static/img/getting-started/refine_architecture.png\" width=\"400px\" />\n</div>\n\n## Benchmark\n\nAfter releasing the first internal versions, we had the chance to migrate some of our _React_ projects to **refine**.\nIn addition to **shorter development** times and **overall performance gains**, we've measured significant reduction in project size.\n\n**refine** makes your codebase significantly smaller, by eliminating redundant code such as _reducers_, _actions_ and _unit tests_. Below is a size comparison for an example project:\n\n<br/>\n\n<div align=\"center\">\n    <img src=\"https://raw.githubusercontent.com/pankod/refine/master/documentation/static/img/getting-started/benchmark.png\" width=\"400px\" align=\"center\" />\n</div>\n\n## Quick Start\n\nRun the **superplate** tool with the following command:\n\n```\nnpx superplate-cli -p refine-react tutorial\n```\n\nFollow the _CLI wizard_ to select options and start creating your project.\n\nAfter setup is complete, navigate to the project folder and start your project with:\n\n```\nnpm run dev\n```\n\nYour **refine** application will be accessible at [http://localhost:3000](http://localhost:3000).\n\nReplace the contents of `App.tsx` with the following code:\n\n```tsx title=\"App.tsx\"\nmport { Refine, useMany } from \"@pankod/refine-core\";\nimport {\n    useTable,\n    List,\n    Table,\n    DateField,\n} from \"@pankod/refine-antd\";\nimport routerProvider from \"@pankod/refine-react-router-v6\";\nimport dataProvider from \"@pankod/refine-simple-rest\";\n\nimport \"@pankod/refine-antd/dist/styles.min.css\";\n\nconst App: React.FC = () => {\n    return (\n        <Refine\n            routerProvider={routerProvider}\n            dataProvider={dataProvider(\"https://api.fake-rest.refine.dev\")}\n            resources={[{ name: \"posts\", list: PostList }]}\n        />\n    );\n};\n\nexport const PostList: React.FC = () => {\n    const { tableProps } = useTable<IPost>();\n\n    const categoryIds =\n        tableProps?.dataSource?.map((item) => item.category.id) ?? [];\n\n    const { data, isLoading } = useMany<ICategory>({\n        resource: \"categories\",\n        ids: categoryIds,\n        queryOptions: {\n            enabled: categoryIds.length > 0,\n        },\n    });\n\n    return (\n        <List>\n            <Table<IPost> {...tableProps} rowKey=\"id\">\n                <Table.Column dataIndex=\"title\" title=\"title\" />\n                <Table.Column\n                    dataIndex={[\"category\", \"id\"]}\n                    title=\"category\"\n                    render={(value: number) => {\n                        if (isLoading) {\n                            return \"loading...\";\n                        }\n\n                        return data?.data.find(\n                            (item: ICategory) => item.id === value,\n                        )?.title;\n                    }}\n                />\n                <Table.Column\n                    dataIndex=\"createdAt\"\n                    title=\"createdAt\"\n                    render={(value) => <DateField format=\"LLL\" value={value} />}\n                />\n            </Table>\n        </List>\n    );\n};\n\nexport default App;\n```\n\n```tsx title=\"interfaces.d.ts\"\ninterface IPost {\n    title: string;\n    createdAt: string;\n    category: { id: number };\n}\n\ninterface ICategory {\n    id: number;\n    title: string;\n}\n```\n\n## Roadmap\nYou can find Refine's <a href=\"https://github.com/pankod/refine/projects/1\">Public Roadmap here!</a> \n\n## Stargazers\n\n[![Stargazers repo roster for pankod/refine](https://reporoster.com/stars/pankod/refine)](https://github.com/pankod/refine/stargazers)\n\n## Contribution\n\nIf you have a bug to report, do not hesitate to file an issue.\n\nIf you are willing to fix an issue or propose a feature; all PRs with clear explanations are welcome and encouraged.\n\n## License\n\nLicensed under the MIT License, Copyright © 2021-present Pankod\n\n## Special Thanks\n\n[React Admin](https://marmelab.com/react-admin/) has been a great source of ideas and inspiration for refine. Big thanks to friends at [Marmelab](https://marmelab.com) for the amazing work they are doing.\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/pankod/refine/issues"},"homepage":"https://github.com/pankod/refine#readme","_id":"@pankod/refine-core@3.34.1","_nodeVersion":"16.15.1","_npmVersion":"8.11.0","dist":{"integrity":"sha512-3uKjZS8rIncfMfRATCDoOIBMJ8BpKhm9Q3eM7xHois8nGI0UYgvr9gmpND9Y07qeQYgEGns6+VL97hUra42USA==","shasum":"934147efae04a54a367b6badffae4e0946f67c59","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.34.1.tgz","fileCount":231,"unpackedSize":1522924,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCP7JDUhjh3mNbleDtCxLPe7xaWVOcXrO0fUdICIHSSoAIhAIee7pdXuThhG58fjD+x1dAHOuTKhh2GjEX/BcIS9xEn"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiutoAACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrbTw//dUd9DOcqNmrUq0UUeRsgLO4YsIT2mwYItHMTe9KzoU0L5o/+\r\nFq7EQzMnIINU89jm4h942dm1jOz2j/nDWQ6mShOH6oj5D36XHqoGA3O4ijYX\r\nYxwhlVr4ZTe+kZWarOwNMXNorFeavgy27Sq+hi74W3ENLWpMCmWseShvbgcF\r\nyhrXj2AN5y+7/iThDRMnz0R49MiunKrMl4arlqgDo802szs7DkJlwiJlN87d\r\n8/YHX0ALboY+v+ndFYQO984EUY21Nnh7ZmtVtBqvXHJYi8zsC+k2Mid3H3TQ\r\nG0kWEcCfly4kFrTfwrARzWi7pH4KQ8qYJI4SLKP+mTrPOKwKJy2I4Fxucejv\r\nqL2Wj+1q5A8fgA6Yg3ZU8w2BzfqdtODTFBdQ+LGF8wUvaf41Vywn7QKSlCS/\r\nYZZYq0erS/b2I8g4xGf/ayvd6Tn/VLFEcqmjb2OZn2H8z/zgO2OYH3sjjGAk\r\nOpJTryBvg24iH2dzJYseJYHHTgRQrwn8B0W7TaV2Lk5rClIuMoPCLnMpEYBn\r\nTe3Ai5hrJf8zLJPlawwMbOvjAruHMa0XzVFkSiKgXgGXaUcWgjeIB/HHfRJN\r\nzfQK8Gn+QnBaMa8wIT3rWzaJQL09+C6/KrHgItDNfRT8pCLV6/xHC/WnJ89b\r\ni1iAdtfofkVg+HrLiGOplSNx4wfm62i6i/A=\r\n=wcUG\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"aydinakyol","email":"aydinakyol11@gmail.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.34.1_1656412672322_0.7460806639687596"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.34.2":{"name":"@pankod/refine-core","version":"3.34.2","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --dts --format esm,cjs,iife --legacy-output","build":"tsup --dts --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.12.0","@testing-library/react":"^11.2.6","@testing-library/react-hooks":"^5.0.3","@testing-library/user-event":"^12.8.3","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^17.0.4","@types/react-dom":"^17.0.4","@types/testing-library__jest-dom":"^5.9.5","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"^6.0.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.4.3"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","humanize-string":"^2.1.0","lodash":"^4.17.21","lodash-es":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","react-query":"^3.19.2","tslib":"^2.3.1"},"repository":{"type":"git","url":"git+https://github.com/pankod/refine.git","directory":"packages/core"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"17dd5af3e4c9f7f09e1e707362c6f5a9d1cab8a8","publishConfig":{"access":"public"},"bugs":{"url":"https://github.com/pankod/refine/issues"},"homepage":"https://github.com/pankod/refine#readme","_id":"@pankod/refine-core@3.34.2","_nodeVersion":"16.15.1","_npmVersion":"8.11.0","dist":{"integrity":"sha512-m+OUNmYtW+rr+8VJm5GoXNXB4lR0EEwxYCyxTLj3ahBvVr68+XCazwD3eU28NKV5rvUovVXP1vHTMZp6IIItRQ==","shasum":"834c1f360a8132951ddc8ae8eb90ef52db41e25a","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.34.2.tgz","fileCount":231,"unpackedSize":1523004,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDa52dv55pzvR48Ga/27RYSmI1w+m4Y7jdMfDX51WiqrgIgCuPMdxIaFtkerYBn0WsuW0yf/hQAd1H36ulE0BbxHAk="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiuvr4ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmodvg/+JuogdzlkZdXKcxvzZypuGwf64RuBVWXGB4MxpmXh91AQ5n0e\r\nOB3lpBP3HlhWEr5gPSXfKDG8MPTO6ba/p9Mfo9iLhOvp3Vjtl4dxa+o0HOhE\r\np1HWwOHWHrODdU5W0UlrUX1f53ZZGqMTMYH1lhGHhgk64vUR2J1+D2cCCCbR\r\nUG5IM0S8KIfmHStQC0AkNMPatgABOsIPC0E9vkpVKChkxRDxNqtSlzFKpr3t\r\npZ7Tty0z2SwWKfH0/AwywFDjallrj+uvWNbnKODWznoO5DtWLrCsTUVIKDn/\r\nArhkfmHMBQySiOjL2gQak1hKY+AqO4m48edm+4OMp1M6EKZiff5LUvXznb1J\r\nWrUAksjQ3E0TOrW9+w6wBtIhl9LRh1lqsqdeOSx8axBVWIvLwoKrwXvQlmIU\r\nMZ7SEwXBvBr51qBWCF5EbMNM7BDxVmIssxAanSegZMYtXdD9V/uWeent5qbk\r\nHPpUlPVux9GboXYDNJJjaP8J9GEmYSjB/ghH397Vpl1IVyR31hziSGwPje45\r\nTUGtraUIq/7QUK6EodzEDls9ZRTX6YNh6Q9pHGl/XXZt9LcSLwFdMHUjsMRU\r\n/+TqiWVr883x1BokSEVE54HYej+WKSNOh/WK1PcdWeonKt2oQtoQYoGxKo7g\r\nk3t97a1rhSjJlq5zEQIyjLPj3gt7b2SrB3I=\r\n=vwge\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"aydinakyol","email":"aydinakyol11@gmail.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.34.2_1656421112123_0.14463982424610333"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.35.0":{"name":"@pankod/refine-core","version":"3.35.0","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --dts --format esm,cjs,iife --legacy-output","build":"tsup --dts --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.12.0","@testing-library/react":"^11.2.6","@testing-library/react-hooks":"^5.0.3","@testing-library/user-event":"^12.8.3","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^17.0.4","@types/react-dom":"^17.0.4","@types/testing-library__jest-dom":"^5.9.5","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"^6.0.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.4.3"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","humanize-string":"^2.1.0","lodash":"^4.17.21","lodash-es":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","react-query":"^3.19.2","tslib":"^2.3.1"},"repository":{"type":"git","url":"git+https://github.com/pankod/refine.git","directory":"packages/core"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"17dd5af3e4c9f7f09e1e707362c6f5a9d1cab8a8","publishConfig":{"access":"public"},"readme":"<div align=\"center\" style=\"margin: 30px;\">\n<a href=\"https://refine.dev/\">\n  <img src=\"https://raw.githubusercontent.com/pankod/refine/master/logo.png\"   style=\"width:250px;\" align=\"center\" />\n</a>\n<br />\n<br />\n\n<div align=\"center\">\n    <a href=\"https://refine.dev\">Home Page</a> |\n    <a href=\"https://refine.dev/demo/\">Demo</a> | \n    <a href=\"https://refine.dev/blog/\">Blog</a> | \n    <a href=\"https://refine.dev/docs/\">Documentation</a> | \n    <a href=\"https://github.com/pankod/refine/projects/1\">Roadmap</a> | \n    <a href=\"https://refine.dev/docs/examples/tutorial/\">Examples</a> | \n    <a href=\"https://refine.dev/enterprise/\">Enterprise</a> | \n    <a href=\"https://discord.gg/refine\">Discord</a>\n</div>\n\n</div>\n<br/>\n\n<div align=\"center\"><strong>refine</strong> is a <a href=\"https://reactjs.org/\">React</a>-based framework for building internal tools, rapidly. ✨ It ships with <a href=\"https://ant.design/\">Ant Design System</a>, an enterprise-level UI toolkit.</div>\n\n<br />\n\n<div align=\"center\">\n\n[![Discord](https://img.shields.io/discord/837692625737613362.svg?label=&logo=discord&logoColor=ffffff&color=7389D8&labelColor=6A7EC2)](https://discord.gg/refine)\n![Twitter Follow](https://img.shields.io/twitter/follow/refine_dev?style=social)\n\n<a href=\"https://www.producthunt.com/posts/refine-open-source-react-framework?utm_source=badge-featured&utm_medium=badge&utm_souce=badge-refine-open-source-react-framework\" target=\"_blank\"><img src=\"https://api.producthunt.com/widgets/embed-image/v1/featured.svg?post_id=319164&theme=light\" alt=\"refine: Open Source React Framework - Focus your business logic. refine will do the rest. | Product Hunt\" style=\"width: 250px; height: 54px;\" width=\"250\" height=\"54\" /></a>\n\n[![Meercode CI Score](https://meercode.io/badge/pankod/refine?type=ci-score&branch=master&token=2ZiT8YsoJgt57JB23NYwXrFY3rJHZboT&lastDay=31)](https://meercode.io/)\n[![Meercode CI Success Rate](https://meercode.io/badge/pankod/refine?type=ci-success-rate&branch=master&token=2ZiT8YsoJgt57JB23NYwXrFY3rJHZboT&lastDay=31)](https://meercode.io/)\n[![Maintainability](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/maintainability)](https://codeclimate.com/github/pankod/refine/maintainability)\n[![Test Coverage](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/test_coverage)](https://codeclimate.com/github/pankod/refine/test_coverage)\n[![npm version](https://img.shields.io/npm/v/@pankod/refine-core.svg)](https://www.npmjs.com/package/@pankod/refine-core)\n[![npm](https://img.shields.io/npm/dm/@pankod/refine-core)](https://www.npmjs.com/package/@pankod/refine-core)\n[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.0-4baaaa.svg)](code_of_conduct.md)\n\n\n</div>\n\n<div align=\"center\">\n  <sub>Created by <a href=\"https://www.pankod.com\">Pankod</a></sub>\n</div>\n\n## About\n\n[**refine**](https://refine.dev/) offers lots of out-of-the box functionality for rapid development, without compromising extreme customizability. Use-cases include, but are not limited to _admin panels_, _B2B applications_ and _dashboards_.\n\n## Documentation\n\nFor more detailed information and usage, refer to the [refine documentation](https://refine.dev/docs/).\n\n## What is refine?\n\n**refine** is a [React](https://reactjs.org/)-based framework for building internal tools, rapidly. :sparkles: It ships with [Ant Design System](https://ant.design/), an enterprise-level UI toolkit.\n\nRefine offers lots of out-of-the box functionality for rapid development, without compromising extreme customizability. Use-cases include, but are not limited to _admin panels_, _B2B applications_ and _dashboards_.\n\n## What is a \"headless\" Framework?\n**refine** is a **headless** React framework, which means all out-of-the-box features(**Routing**, **Networking**, **Authentication**, **Authorization**, **State Management**, **Realtime**, **i18n**, etc.), it can be used without being tied to any UI elements or framework. Also, Ant Design as out-of-the-box is supported.\n\n- Customization & Extensibility -  UI is a completely customizable area and each developer uses different solutions. **refine** features does not restrict or interfere with your UI structure. **refine** allows the you to design and customizable the UI based on their unique use case.\n\n- Separation of Concerns - **refine** as a framework, is not responsible for your UI and is independent.\n\n- Maintenance - By removing the API surface to support every UI use case, **refine** easy to use and update/maintain is simple.\n\n###\n\n## Key features\n\n🔥 **Headless** : Works with any UI framework\n\n⚙️ **Zero-configuration**: One-line setup with [superplate](https://github.com/pankod/superplate). It takes less than a minute to start a project.\n\n📦 **Out-of-the-box** : Routing, networking, authentication, state management, i18n and UI.\n\n🔌 **Backend Agnostic** : Connects to any custom backend. Built-in support for [REST API](https://github.com/pankod/refine/tree/master/packages/simple-rest), [GraphQL](https://github.com/pankod/refine/tree/master/packages/graphql), [NestJs CRUD](https://github.com/pankod/refine/tree/master/packages/nestjsx-crud), [Airtable](https://github.com/pankod/refine/tree/master/packages/airtable), [Strapi](https://github.com/pankod/refine/tree/master/packages/strapi), [Strapi v4](https://github.com/pankod/refine/tree/master/packages/strapi-v4), [Strapi GraphQL](https://github.com/pankod/refine/tree/master/packages/strapi-graphql), [Supabase](https://github.com/pankod/refine/tree/master/packages/supabase), [Hasura](https://github.com/pankod/refine/tree/master/packages/hasura), [Appwrite](https://github.com/pankod/refine/tree/master/packages/appwrite), [Firebase](https://firebase.google.com/), [Directus](https://directus.io/) and [Altogic](https://github.com/pankod/refine/tree/master/packages/altogic).\n\n📝 **Native Typescript Core** : You can always opt out for plain JavaScript.\n\n🐜 **Enterprise UI** : Works seamlessly with Ant Design System. (Support for multiple UI frameworks is on the Roadmap)\n\n📝 **Boilerplate-free Code** : Keeps your codebase clean and readable.\n\n## Motivation\n\nHigher-level frontend frameworks can save you a lot time, but they typically offer you a trade-off between speed and flexibility.\n\nAfter many years of experience in developing B2B frontend applications and working with popular frameworks, we came up with a new approach to tackle this dilemma. This is how **refine** is born.\n\n**refine** is a collection of helper `hooks`, `components` and `providers`. They are all decoupled from your UI components and business logic, so they never keep you from customizing your UI or coding your own flow.\n\nAs **refine** is totally _unopinionated_ about UI and logic, it's strongly _opinionated_ about three parts of your application:\n\n1. **API Networking**\n2. **State Management**\n3. **Authentication & Authorization**\n\nWe believe, these are the most important components of a data-intensive frontend application and should be handled in a robust way by leveraging industry best practices.\n\n**refine** guarantees you a perfect implementation of these building blocks in your project, so you can focus on your development.\n\n## Architecture\n\n**refine** makes extensive use of [hooks](https://reactjs.org/docs/hooks-reference.html#gatsby-focus-wrapper) as a default way for interacting with your components.\nUnder the hood, **refine** relies heavily to [React Query](https://react-query.tanstack.com/) for data handling, caching and state management.\nAccess to external sources and API's happen via providers which are basically plug-in type components for extendibility.\n\n<br/>\n\n<div align=\"center\">\n    <img src=\"https://raw.githubusercontent.com/pankod/refine/master/documentation/static/img/getting-started/refine_architecture.png\" width=\"400px\" />\n</div>\n\n## Benchmark\n\nAfter releasing the first internal versions, we had the chance to migrate some of our _React_ projects to **refine**.\nIn addition to **shorter development** times and **overall performance gains**, we've measured significant reduction in project size.\n\n**refine** makes your codebase significantly smaller, by eliminating redundant code such as _reducers_, _actions_ and _unit tests_. Below is a size comparison for an example project:\n\n<br/>\n\n<div align=\"center\">\n    <img src=\"https://raw.githubusercontent.com/pankod/refine/master/documentation/static/img/getting-started/benchmark.png\" width=\"400px\" align=\"center\" />\n</div>\n\n## Quick Start\n\nRun the **superplate** tool with the following command:\n\n```\nnpx superplate-cli -p refine-react tutorial\n```\n\nFollow the _CLI wizard_ to select options and start creating your project.\n\nAfter setup is complete, navigate to the project folder and start your project with:\n\n```\nnpm run dev\n```\n\nYour **refine** application will be accessible at [http://localhost:3000](http://localhost:3000).\n\nReplace the contents of `App.tsx` with the following code:\n\n```tsx title=\"App.tsx\"\nmport { Refine, useMany } from \"@pankod/refine-core\";\nimport {\n    useTable,\n    List,\n    Table,\n    DateField,\n} from \"@pankod/refine-antd\";\nimport routerProvider from \"@pankod/refine-react-router-v6\";\nimport dataProvider from \"@pankod/refine-simple-rest\";\n\nimport \"@pankod/refine-antd/dist/styles.min.css\";\n\nconst App: React.FC = () => {\n    return (\n        <Refine\n            routerProvider={routerProvider}\n            dataProvider={dataProvider(\"https://api.fake-rest.refine.dev\")}\n            resources={[{ name: \"posts\", list: PostList }]}\n        />\n    );\n};\n\nexport const PostList: React.FC = () => {\n    const { tableProps } = useTable<IPost>();\n\n    const categoryIds =\n        tableProps?.dataSource?.map((item) => item.category.id) ?? [];\n\n    const { data, isLoading } = useMany<ICategory>({\n        resource: \"categories\",\n        ids: categoryIds,\n        queryOptions: {\n            enabled: categoryIds.length > 0,\n        },\n    });\n\n    return (\n        <List>\n            <Table<IPost> {...tableProps} rowKey=\"id\">\n                <Table.Column dataIndex=\"title\" title=\"title\" />\n                <Table.Column\n                    dataIndex={[\"category\", \"id\"]}\n                    title=\"category\"\n                    render={(value: number) => {\n                        if (isLoading) {\n                            return \"loading...\";\n                        }\n\n                        return data?.data.find(\n                            (item: ICategory) => item.id === value,\n                        )?.title;\n                    }}\n                />\n                <Table.Column\n                    dataIndex=\"createdAt\"\n                    title=\"createdAt\"\n                    render={(value) => <DateField format=\"LLL\" value={value} />}\n                />\n            </Table>\n        </List>\n    );\n};\n\nexport default App;\n```\n\n```tsx title=\"interfaces.d.ts\"\ninterface IPost {\n    title: string;\n    createdAt: string;\n    category: { id: number };\n}\n\ninterface ICategory {\n    id: number;\n    title: string;\n}\n```\n\n## Roadmap\nYou can find Refine's <a href=\"https://github.com/pankod/refine/projects/1\">Public Roadmap here!</a> \n\n## Stargazers\n\n[![Stargazers repo roster for pankod/refine](https://reporoster.com/stars/pankod/refine)](https://github.com/pankod/refine/stargazers)\n\n## Contribution\n\nIf you have a bug to report, do not hesitate to file an issue.\n\nIf you are willing to fix an issue or propose a feature; all PRs with clear explanations are welcome and encouraged.\n\n## License\n\nLicensed under the MIT License, Copyright © 2021-present Pankod\n\n## Special Thanks\n\n[React Admin](https://marmelab.com/react-admin/) has been a great source of ideas and inspiration for refine. Big thanks to friends at [Marmelab](https://marmelab.com) for the amazing work they are doing.\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/pankod/refine/issues"},"homepage":"https://github.com/pankod/refine#readme","_id":"@pankod/refine-core@3.35.0","_nodeVersion":"16.15.1","_npmVersion":"8.11.0","dist":{"integrity":"sha512-xYvLEIq0SkDkgtIh30Nrpg9lAET13VVZSd14LSH9wA3JV/VpBc6NRwGH4pszzA5ZjU0AhNqpLV4ELqSDhZcNLw==","shasum":"dd3c3c8df23af73376e1421ad87d89b210eaf625","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.35.0.tgz","fileCount":231,"unpackedSize":1537595,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCGagROMtNCk2Z8cRzHyO3qF8GivWB/fvhm/LZO6eMSKAIhAN0DAdOct1UeaUmKm+pmDagRhNYP97T4Qn86fynNGAPj"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJivUfgACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmoh0A/8DJLRE+ilcbQMPcalqTksvIrSYnbGBMAXJQz4zWshwEb8AFId\r\n47QCWQNbPyThoHmrpf+Qrj1Yv1iupKLMpTLwBwfT32zji4IbdB1hwWso9JR4\r\n+JyQyAuvypo3FpKwdkKp2UfZbJYh3u6QtIr+n8vDFrdhhCPpfdia/4acKWWk\r\nIsjYdN4BxSNqUcpIPj3d160IyqCVvYJdJUCQgV8d6mSogitGIqSa0WYh40a4\r\nbqPMG9zBAo5B6UcqZd7CQXlDLPAAj9sKrAWi/h1tX8aUBUkW+ratQUjZib/t\r\ntufu4btZ/EnXDbyOsGmJeE4HVcpbzzCm5mahXZndLFL355PO8vT+7o4YVbVk\r\nE7l6/GlQ6JRPg9XTlF3XEZF2S2dLDCMHV7x9xJcYsrfA3+xRYveCYPruL5+6\r\nYMa4UcrsM1K8HRPztTTR9OBMeOJvAUUmx3BLqNt3mTy0tHUOyxocGSoG5SV2\r\nPVslMds6/zLzzpAcdgLoqcjeAWPqsxB7rjT4mf5ZOKnoAcQ7cdOFiRy6C4gb\r\nMTEGrhqh3sVCOBYA2wZ9smbJB4nHLUvREAGsWwt9bVef4UYs0Dpi1bQw+HTs\r\nF5lEHIPD245Btoq0y6AZMzfwLbIIGqXoSIuCWFPEzyNSsQjtq9a+f9FnqV7q\r\n9B1jLeldZkckwqhPjLG/BIP6nyjVcDS8SQo=\r\n=5sQT\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"aydinakyol","email":"aydinakyol11@gmail.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.35.0_1656571872119_0.2628916613194596"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.36.0":{"name":"@pankod/refine-core","version":"3.36.0","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --dts --format esm,cjs,iife --legacy-output","build":"tsup --dts --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.12.0","@testing-library/react":"^11.2.6","@testing-library/react-hooks":"^5.0.3","@testing-library/user-event":"^12.8.3","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^17.0.4","@types/react-dom":"^17.0.4","@types/testing-library__jest-dom":"^5.9.5","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"^6.0.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.4.3"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","humanize-string":"^2.1.0","lodash":"^4.17.21","lodash-es":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","react-query":"^3.19.2","tslib":"^2.3.1"},"repository":{"type":"git","url":"git+https://github.com/pankod/refine.git","directory":"packages/core"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"17dd5af3e4c9f7f09e1e707362c6f5a9d1cab8a8","publishConfig":{"access":"public"},"bugs":{"url":"https://github.com/pankod/refine/issues"},"homepage":"https://github.com/pankod/refine#readme","_id":"@pankod/refine-core@3.36.0","_nodeVersion":"16.15.1","_npmVersion":"8.11.0","dist":{"integrity":"sha512-lT/8dc1PNaGWvJ1YgzzdDJAN9bq1UHuRtA0G/jcYfkILO9JojnkGAAF6mlOlhsYaGTRw2mJHASfhKK3UFRXvhQ==","shasum":"afbc951d24a5f09cff083c0b71b0692759d41a68","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.36.0.tgz","fileCount":231,"unpackedSize":1539932,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCj3hesnkbZ0obd/tPXJqBw2l6gr8CKl1fw7B6DyYs6dwIhAJBW4Jw/TybZKRw0fcJI8M15x30iUiqwdcjqml/X83Tn"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJivWKvACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqnJQ/8DGQEVkiu/AsNIyn6PJU7Leq3Vv+a4BUF6CWsUYXOOPhAQBMO\r\nncRxB8bMqH+yPvUFuWqe8VcF2sf5NeM8EAOJ/Ah+izh37psGH7HEoWnI37MK\r\nx8Zg9TLTi5ToC4RQZ+AYxu8o92CVVYhgEb/czjzBNyFISK2yuH0B+eFvXAfD\r\n3IdWOBed0TjwzsvmY7Z9g2ktkbLlBl5B7fLQnk6reaywow8crcmslqzCCrm/\r\n9izwsT21K+WFI/jhHAk3k+F8u/59ZwcWfDQAgSbGi9DWvWrUojUy6Sn8U2qI\r\nuTegIEPr2sAXVxbUPYi6KLXqzjK7Rz9ZO3aVBDyfuQEcXNECHONcN0t7MeB6\r\nM05K7oDO2oMklY2c1gvoBAdtwA5QuUiPUNkGfxXJzuaHV0bJlE4r/92hb3NR\r\nkrkRUTqAkSjz8nTqmsxuKX4gBwxw/7ry9/zgw1EwA7q37K+rV2e4MHU9vpsP\r\n0nMI162bpO4a0l3xMMwpCDMiurzi58XMM64B+BVw704JXl1Tx+AhEH34WMBd\r\nkEF+KfzwJ8oi3KwnE6LGmuityyR2Tx6fiMzLqvETR1lq4xdzITThtybR9/mb\r\nn38PT/2doKr2TdMOc1tGQFhdXknSAcmXX3SoWqTs7Keta91IiB8+LbH8Xfyq\r\n/vcdpWF1X5QqNreGEGW59YiUvFFF9DlN0NY=\r\n=/fZ+\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"aydinakyol","email":"aydinakyol11@gmail.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.36.0_1656578735245_0.3813318834792474"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.37.0":{"name":"@pankod/refine-core","version":"3.37.0","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --dts --format esm,cjs,iife --legacy-output","build":"tsup --dts --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.12.0","@testing-library/react":"^11.2.6","@testing-library/react-hooks":"^5.0.3","@testing-library/user-event":"^12.8.3","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^17.0.4","@types/react-dom":"^17.0.4","@types/testing-library__jest-dom":"^5.9.5","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"^6.0.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.4.3"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","humanize-string":"^2.1.0","lodash":"^4.17.21","lodash-es":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","react-query":"^3.19.2","tslib":"^2.3.1"},"repository":{"type":"git","url":"git+https://github.com/pankod/refine.git","directory":"packages/core"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"17dd5af3e4c9f7f09e1e707362c6f5a9d1cab8a8","publishConfig":{"access":"public"},"readme":"<div align=\"center\" style=\"margin: 30px;\">\n<a href=\"https://refine.dev/\">\n  <img src=\"https://raw.githubusercontent.com/pankod/refine/master/logo.png\"   style=\"width:250px;\" align=\"center\" />\n</a>\n<br />\n<br />\n\n<div align=\"center\">\n    <a href=\"https://refine.dev\">Home Page</a> |\n    <a href=\"https://refine.dev/demo/\">Demo</a> | \n    <a href=\"https://refine.dev/blog/\">Blog</a> | \n    <a href=\"https://refine.dev/docs/\">Documentation</a> | \n    <a href=\"https://github.com/pankod/refine/projects/1\">Roadmap</a> | \n    <a href=\"https://refine.dev/docs/examples/tutorial/\">Examples</a> | \n    <a href=\"https://refine.dev/enterprise/\">Enterprise</a> | \n    <a href=\"https://discord.gg/refine\">Discord</a>\n</div>\n\n</div>\n<br/>\n\n<div align=\"center\"><strong>refine</strong> is a <a href=\"https://reactjs.org/\">React</a>-based framework for building internal tools, rapidly. ✨ It ships with <a href=\"https://ant.design/\">Ant Design System</a>, an enterprise-level UI toolkit.</div>\n\n<br />\n\n<div align=\"center\">\n\n[![Discord](https://img.shields.io/discord/837692625737613362.svg?label=&logo=discord&logoColor=ffffff&color=7389D8&labelColor=6A7EC2)](https://discord.gg/refine)\n![Twitter Follow](https://img.shields.io/twitter/follow/refine_dev?style=social)\n\n<a href=\"https://www.producthunt.com/posts/refine-open-source-react-framework?utm_source=badge-featured&utm_medium=badge&utm_souce=badge-refine-open-source-react-framework\" target=\"_blank\"><img src=\"https://api.producthunt.com/widgets/embed-image/v1/featured.svg?post_id=319164&theme=light\" alt=\"refine: Open Source React Framework - Focus your business logic. refine will do the rest. | Product Hunt\" style=\"width: 250px; height: 54px;\" width=\"250\" height=\"54\" /></a>\n\n[![Meercode CI Score](https://meercode.io/badge/pankod/refine?type=ci-score&branch=master&token=2ZiT8YsoJgt57JB23NYwXrFY3rJHZboT&lastDay=31)](https://meercode.io/)\n[![Meercode CI Success Rate](https://meercode.io/badge/pankod/refine?type=ci-success-rate&branch=master&token=2ZiT8YsoJgt57JB23NYwXrFY3rJHZboT&lastDay=31)](https://meercode.io/)\n[![Maintainability](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/maintainability)](https://codeclimate.com/github/pankod/refine/maintainability)\n[![Test Coverage](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/test_coverage)](https://codeclimate.com/github/pankod/refine/test_coverage)\n[![npm version](https://img.shields.io/npm/v/@pankod/refine-core.svg)](https://www.npmjs.com/package/@pankod/refine-core)\n[![npm](https://img.shields.io/npm/dm/@pankod/refine-core)](https://www.npmjs.com/package/@pankod/refine-core)\n[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.0-4baaaa.svg)](code_of_conduct.md)\n\n\n</div>\n\n<div align=\"center\">\n  <sub>Created by <a href=\"https://www.pankod.com\">Pankod</a></sub>\n</div>\n\n## About\n\n[**refine**](https://refine.dev/) offers lots of out-of-the box functionality for rapid development, without compromising extreme customizability. Use-cases include, but are not limited to _admin panels_, _B2B applications_ and _dashboards_.\n\n## Documentation\n\nFor more detailed information and usage, refer to the [refine documentation](https://refine.dev/docs/).\n\n## What is refine?\n\n**refine** is a [React](https://reactjs.org/)-based framework for building internal tools, rapidly. :sparkles: It ships with [Ant Design System](https://ant.design/), an enterprise-level UI toolkit.\n\nRefine offers lots of out-of-the box functionality for rapid development, without compromising extreme customizability. Use-cases include, but are not limited to _admin panels_, _B2B applications_ and _dashboards_.\n\n## What is a \"headless\" Framework?\n**refine** is a **headless** React framework, which means all out-of-the-box features(**Routing**, **Networking**, **Authentication**, **Authorization**, **State Management**, **Realtime**, **i18n**, etc.), it can be used without being tied to any UI elements or framework. Also, Ant Design as out-of-the-box is supported.\n\n- Customization & Extensibility -  UI is a completely customizable area and each developer uses different solutions. **refine** features does not restrict or interfere with your UI structure. **refine** allows the you to design and customizable the UI based on their unique use case.\n\n- Separation of Concerns - **refine** as a framework, is not responsible for your UI and is independent.\n\n- Maintenance - By removing the API surface to support every UI use case, **refine** easy to use and update/maintain is simple.\n\n###\n\n## Key features\n\n🔥 **Headless** : Works with any UI framework\n\n⚙️ **Zero-configuration**: One-line setup with [superplate](https://github.com/pankod/superplate). It takes less than a minute to start a project.\n\n📦 **Out-of-the-box** : Routing, networking, authentication, state management, i18n and UI.\n\n🔌 **Backend Agnostic** : Connects to any custom backend. Built-in support for [REST API](https://github.com/pankod/refine/tree/master/packages/simple-rest), [GraphQL](https://github.com/pankod/refine/tree/master/packages/graphql), [NestJs CRUD](https://github.com/pankod/refine/tree/master/packages/nestjsx-crud), [Airtable](https://github.com/pankod/refine/tree/master/packages/airtable), [Strapi](https://github.com/pankod/refine/tree/master/packages/strapi), [Strapi v4](https://github.com/pankod/refine/tree/master/packages/strapi-v4), [Strapi GraphQL](https://github.com/pankod/refine/tree/master/packages/strapi-graphql), [Supabase](https://github.com/pankod/refine/tree/master/packages/supabase), [Hasura](https://github.com/pankod/refine/tree/master/packages/hasura), [Appwrite](https://github.com/pankod/refine/tree/master/packages/appwrite), [Firebase](https://firebase.google.com/), [Directus](https://directus.io/) and [Altogic](https://github.com/pankod/refine/tree/master/packages/altogic).\n\n📝 **Native Typescript Core** : You can always opt out for plain JavaScript.\n\n🐜 **Enterprise UI** : Works seamlessly with Ant Design System. (Support for multiple UI frameworks is on the Roadmap)\n\n📝 **Boilerplate-free Code** : Keeps your codebase clean and readable.\n\n## Motivation\n\nHigher-level frontend frameworks can save you a lot time, but they typically offer you a trade-off between speed and flexibility.\n\nAfter many years of experience in developing B2B frontend applications and working with popular frameworks, we came up with a new approach to tackle this dilemma. This is how **refine** is born.\n\n**refine** is a collection of helper `hooks`, `components` and `providers`. They are all decoupled from your UI components and business logic, so they never keep you from customizing your UI or coding your own flow.\n\nAs **refine** is totally _unopinionated_ about UI and logic, it's strongly _opinionated_ about three parts of your application:\n\n1. **API Networking**\n2. **State Management**\n3. **Authentication & Authorization**\n\nWe believe, these are the most important components of a data-intensive frontend application and should be handled in a robust way by leveraging industry best practices.\n\n**refine** guarantees you a perfect implementation of these building blocks in your project, so you can focus on your development.\n\n## Architecture\n\n**refine** makes extensive use of [hooks](https://reactjs.org/docs/hooks-reference.html#gatsby-focus-wrapper) as a default way for interacting with your components.\nUnder the hood, **refine** relies heavily to [React Query](https://react-query.tanstack.com/) for data handling, caching and state management.\nAccess to external sources and API's happen via providers which are basically plug-in type components for extendibility.\n\n<br/>\n\n<div align=\"center\">\n    <img src=\"https://raw.githubusercontent.com/pankod/refine/master/documentation/static/img/getting-started/refine_architecture.png\" width=\"400px\" />\n</div>\n\n## Benchmark\n\nAfter releasing the first internal versions, we had the chance to migrate some of our _React_ projects to **refine**.\nIn addition to **shorter development** times and **overall performance gains**, we've measured significant reduction in project size.\n\n**refine** makes your codebase significantly smaller, by eliminating redundant code such as _reducers_, _actions_ and _unit tests_. Below is a size comparison for an example project:\n\n<br/>\n\n<div align=\"center\">\n    <img src=\"https://raw.githubusercontent.com/pankod/refine/master/documentation/static/img/getting-started/benchmark.png\" width=\"400px\" align=\"center\" />\n</div>\n\n## Quick Start\n\nRun the **superplate** tool with the following command:\n\n```\nnpx superplate-cli -p refine-react tutorial\n```\n\nFollow the _CLI wizard_ to select options and start creating your project.\n\nAfter setup is complete, navigate to the project folder and start your project with:\n\n```\nnpm run dev\n```\n\nYour **refine** application will be accessible at [http://localhost:3000](http://localhost:3000).\n\nReplace the contents of `App.tsx` with the following code:\n\n```tsx title=\"App.tsx\"\nmport { Refine, useMany } from \"@pankod/refine-core\";\nimport {\n    useTable,\n    List,\n    Table,\n    DateField,\n} from \"@pankod/refine-antd\";\nimport routerProvider from \"@pankod/refine-react-router-v6\";\nimport dataProvider from \"@pankod/refine-simple-rest\";\n\nimport \"@pankod/refine-antd/dist/styles.min.css\";\n\nconst App: React.FC = () => {\n    return (\n        <Refine\n            routerProvider={routerProvider}\n            dataProvider={dataProvider(\"https://api.fake-rest.refine.dev\")}\n            resources={[{ name: \"posts\", list: PostList }]}\n        />\n    );\n};\n\nexport const PostList: React.FC = () => {\n    const { tableProps } = useTable<IPost>();\n\n    const categoryIds =\n        tableProps?.dataSource?.map((item) => item.category.id) ?? [];\n\n    const { data, isLoading } = useMany<ICategory>({\n        resource: \"categories\",\n        ids: categoryIds,\n        queryOptions: {\n            enabled: categoryIds.length > 0,\n        },\n    });\n\n    return (\n        <List>\n            <Table<IPost> {...tableProps} rowKey=\"id\">\n                <Table.Column dataIndex=\"title\" title=\"title\" />\n                <Table.Column\n                    dataIndex={[\"category\", \"id\"]}\n                    title=\"category\"\n                    render={(value: number) => {\n                        if (isLoading) {\n                            return \"loading...\";\n                        }\n\n                        return data?.data.find(\n                            (item: ICategory) => item.id === value,\n                        )?.title;\n                    }}\n                />\n                <Table.Column\n                    dataIndex=\"createdAt\"\n                    title=\"createdAt\"\n                    render={(value) => <DateField format=\"LLL\" value={value} />}\n                />\n            </Table>\n        </List>\n    );\n};\n\nexport default App;\n```\n\n```tsx title=\"interfaces.d.ts\"\ninterface IPost {\n    title: string;\n    createdAt: string;\n    category: { id: number };\n}\n\ninterface ICategory {\n    id: number;\n    title: string;\n}\n```\n\n## Roadmap\nYou can find Refine's <a href=\"https://github.com/pankod/refine/projects/1\">Public Roadmap here!</a> \n\n## Stargazers\n\n[![Stargazers repo roster for pankod/refine](https://reporoster.com/stars/pankod/refine)](https://github.com/pankod/refine/stargazers)\n\n## Contribution\n\nIf you have a bug to report, do not hesitate to file an issue.\n\nIf you are willing to fix an issue or propose a feature; all PRs with clear explanations are welcome and encouraged.\n\n## License\n\nLicensed under the MIT License, Copyright © 2021-present Pankod\n\n## Special Thanks\n\n[React Admin](https://marmelab.com/react-admin/) has been a great source of ideas and inspiration for refine. Big thanks to friends at [Marmelab](https://marmelab.com) for the amazing work they are doing.\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/pankod/refine/issues"},"homepage":"https://github.com/pankod/refine#readme","_id":"@pankod/refine-core@3.37.0","_nodeVersion":"16.15.1","_npmVersion":"8.11.0","dist":{"integrity":"sha512-tnlG1mvjrRrC++dxOVjQ9Unjof1uct2qG1TalYpURHzGU0d3F0tl95UF0EsGglp3kCRtyaYIVKPWKcJ351NL5Q==","shasum":"aa93be356a24f3cbb4252ba3bd38eddf60867d47","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.37.0.tgz","fileCount":231,"unpackedSize":1541219,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDcskn183ifKs9Bi+78Zyo4d8j3DYzHJ5AgQKSptW9nKwIhAIYiM2gkNxoMXF3NBHH+ZsD50V0vM0QqvFMFGSC9b6AR"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJixWzqACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoXNBAAn+ew4IP9wN+IWNNBRc28LcFCYiLQtFDROLkNCjLm2q3vmDnA\r\nSaRbA4xsAag1jGfxLRIOmRcT3JJf6s96u4tt1fzg0H1P8GMVHab5u2c8HZu6\r\nvIoNikJGU+jD10kUDNi09jpsI3SYUMvpaQCzGtHFYew7PZjhApgimjvkvfSI\r\nj8AL7gGH1eOpfR8tHvtsvfY9beCZpQnBw6X7MaLjq5VzUHjQQYUXVLOUEt5+\r\nrnQ/e6gjGm2bMbZR8INO/ClaeL266EUKNoYXESposPa+dzcMabgiPuqvuoSo\r\nLt2HSctZUmYzsHwcN1cx8HLC3oBQ0+ieDj0jOb6x1nzZAT8kAXEzT/YzWTvn\r\nJ3QI1xPy4pds6GzvopA1bVHM4HhomaHQhjrJpszfKAbuQunspYNNWCpYywi9\r\n6k72QGrdpfj+YWv7SqmwEI9RvSr5xLofxx37VTdvkAoomaMBFDM+ADQmsMUW\r\nbopKbII3NuPgH4DxV80B08yaR0sX7UvqtqHhodGiaNMJRE/pRxg0K/z0IG1X\r\ntQFwwXmWraUn4TP2S61jnw9mslIhsZmAvqx0Qrx2TuS6U2fFp/+hVzQEJ+eH\r\nPrSU0Os2mytXGzArtDYCmUVEhhd8unfMxRpuF7P+seUW9ktWW+W7SjXfADs6\r\nwULX/qrMG9OV1RFWY3OJJRBWyywmsLN+btM=\r\n=Ecjo\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"aydinakyol","email":"aydinakyol11@gmail.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.37.0_1657105641985_0.9371833835629506"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.38.0":{"name":"@pankod/refine-core","version":"3.38.0","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --dts --format esm,cjs,iife --legacy-output","build":"tsup --dts --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.12.0","@testing-library/react":"^11.2.6","@testing-library/react-hooks":"^5.0.3","@testing-library/user-event":"^12.8.3","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^17.0.4","@types/react-dom":"^17.0.4","@types/testing-library__jest-dom":"^5.9.5","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"^6.0.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.4.3"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","humanize-string":"^2.1.0","lodash":"^4.17.21","lodash-es":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","react-query":"^3.19.2","tslib":"^2.3.1"},"repository":{"type":"git","url":"git+https://github.com/pankod/refine.git","directory":"packages/core"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"17dd5af3e4c9f7f09e1e707362c6f5a9d1cab8a8","publishConfig":{"access":"public"},"bugs":{"url":"https://github.com/pankod/refine/issues"},"homepage":"https://github.com/pankod/refine#readme","_id":"@pankod/refine-core@3.38.0","_nodeVersion":"16.15.1","_npmVersion":"8.11.0","dist":{"integrity":"sha512-4WzYMoHnMtjfebV7L5xtdT+aXtzMN3DfLxeyHqRJREFhD1lctIJKwx1K6pBAXodMK4Idas5nyCggVp+xYVyYFg==","shasum":"73a757fc573285d35de2b42c1806a4c98697e72f","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.38.0.tgz","fileCount":231,"unpackedSize":1541778,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHJSuCvG5FQNROOX6WrfW6mNovhAb93GFGmGq/TmaoDSAiEA/myEVY2ar7dn2+XnOpFAn3qWNziOnR4G03OddCtoseM="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJixXoIACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpKyhAAlnmKnCCUEoLFdrxj1m1EU6RvvKeP75uQg3T3PJ9SVDcjfNu1\r\nE/5TX4a6Bew8c/eLwRPZzBzXIJQy5nEclKjNRYE0lNKSKwr1RZdvm0bMy3Ng\r\nUAT7oBXdxKBD914WtuHnmokYkknOvGGcoxmTRwKU8wBy+HqAdpjxmIdRpp0E\r\ng01U5pBbXI4ntMkVxBFYzn8NUN7YYt7Q0oRufKNE84DMkH0RHLOHoPGF7Kt5\r\n+tI/BG6yFOLpYOf/UOwAZlPuiR4yJkyPmEHzC9O8BXvnIjQMwhXmBmq9EXrR\r\nlAQwimuH8X0idHxn/j9EeezizYW948n2EuPY35RxcXS5LS7Za/FJXV4n3KSx\r\nM6r6JPNUWliNF+LhrCvlbS9FcRGK7Xdqj/vF/JLGvmuC2tYbITLDbxqaxHM1\r\nx66sVQ/UwiujVE6IVaj0fp38u4xrUb0/NNCmgyXohkAHY0alqkhUQWyMt0zT\r\n37lxK6VxkxZkNGA27Gbe0vF2TK1VCFhun2yuXFkQXChKywiIfzoYSv4iHSde\r\nS6U4eXkqlMs0AdHtw/oxWjx7urQme1kNPuZiUAlLtFSvckRNlXZvmPv6lA85\r\nUbPTWb/C00EiSvtwRUskI5ShtlHj+LaCTBedoRkWks8JoXaEFVsuG11Gbi7i\r\nCPOymNxILnEumUPRAuJdOcIKph7q6Slgc2A=\r\n=lo+c\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"aydinakyol","email":"aydinakyol11@gmail.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.38.0_1657108999975_0.9590228527798419"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.38.1":{"name":"@pankod/refine-core","version":"3.38.1","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --dts --format esm,cjs,iife --legacy-output","build":"tsup --dts --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.12.0","@testing-library/react":"^11.2.6","@testing-library/react-hooks":"^5.0.3","@testing-library/user-event":"^12.8.3","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^17.0.4","@types/react-dom":"^17.0.4","@types/testing-library__jest-dom":"^5.9.5","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"^6.0.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.4.3"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","humanize-string":"^2.1.0","lodash":"^4.17.21","lodash-es":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","react-query":"^3.19.2","tslib":"^2.3.1"},"repository":{"type":"git","url":"git+https://github.com/pankod/refine.git","directory":"packages/core"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"17dd5af3e4c9f7f09e1e707362c6f5a9d1cab8a8","publishConfig":{"access":"public"},"readme":"<div align=\"center\" style=\"margin: 30px;\">\n<a href=\"https://refine.dev/\">\n  <img src=\"https://raw.githubusercontent.com/pankod/refine/master/logo.png\"   style=\"width:250px;\" align=\"center\" />\n</a>\n<br />\n<br />\n\n<div align=\"center\">\n    <a href=\"https://refine.dev\">Home Page</a> |\n    <a href=\"https://refine.dev/demo/\">Demo</a> | \n    <a href=\"https://refine.dev/blog/\">Blog</a> | \n    <a href=\"https://refine.dev/docs/\">Documentation</a> | \n    <a href=\"https://github.com/pankod/refine/projects/1\">Roadmap</a> | \n    <a href=\"https://refine.dev/docs/examples/tutorial/\">Examples</a> | \n    <a href=\"https://refine.dev/enterprise/\">Enterprise</a> | \n    <a href=\"https://discord.gg/refine\">Discord</a>\n</div>\n\n</div>\n<br/>\n\n<div align=\"center\"><strong>refine</strong> is a <a href=\"https://reactjs.org/\">React</a>-based framework for building internal tools, rapidly. ✨ It ships with <a href=\"https://ant.design/\">Ant Design System</a>, an enterprise-level UI toolkit.</div>\n\n<br />\n\n<div align=\"center\">\n\n[![Discord](https://img.shields.io/discord/837692625737613362.svg?label=&logo=discord&logoColor=ffffff&color=7389D8&labelColor=6A7EC2)](https://discord.gg/refine)\n![Twitter Follow](https://img.shields.io/twitter/follow/refine_dev?style=social)\n\n<a href=\"https://www.producthunt.com/posts/refine-open-source-react-framework?utm_source=badge-featured&utm_medium=badge&utm_souce=badge-refine-open-source-react-framework\" target=\"_blank\"><img src=\"https://api.producthunt.com/widgets/embed-image/v1/featured.svg?post_id=319164&theme=light\" alt=\"refine: Open Source React Framework - Focus your business logic. refine will do the rest. | Product Hunt\" style=\"width: 250px; height: 54px;\" width=\"250\" height=\"54\" /></a>\n\n[![Meercode CI Score](https://meercode.io/badge/pankod/refine?type=ci-score&branch=master&token=2ZiT8YsoJgt57JB23NYwXrFY3rJHZboT&lastDay=31)](https://meercode.io/)\n[![Meercode CI Success Rate](https://meercode.io/badge/pankod/refine?type=ci-success-rate&branch=master&token=2ZiT8YsoJgt57JB23NYwXrFY3rJHZboT&lastDay=31)](https://meercode.io/)\n[![Maintainability](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/maintainability)](https://codeclimate.com/github/pankod/refine/maintainability)\n[![Test Coverage](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/test_coverage)](https://codeclimate.com/github/pankod/refine/test_coverage)\n[![npm version](https://img.shields.io/npm/v/@pankod/refine-core.svg)](https://www.npmjs.com/package/@pankod/refine-core)\n[![npm](https://img.shields.io/npm/dm/@pankod/refine-core)](https://www.npmjs.com/package/@pankod/refine-core)\n[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.0-4baaaa.svg)](code_of_conduct.md)\n\n\n</div>\n\n<div align=\"center\">\n  <sub>Created by <a href=\"https://www.pankod.com\">Pankod</a></sub>\n</div>\n\n## About\n\n[**refine**](https://refine.dev/) offers lots of out-of-the box functionality for rapid development, without compromising extreme customizability. Use-cases include, but are not limited to _admin panels_, _B2B applications_ and _dashboards_.\n\n## Documentation\n\nFor more detailed information and usage, refer to the [refine documentation](https://refine.dev/docs/).\n\n## What is refine?\n\n**refine** is a [React](https://reactjs.org/)-based framework for building internal tools, rapidly. :sparkles: It ships with [Ant Design System](https://ant.design/), an enterprise-level UI toolkit.\n\nRefine offers lots of out-of-the box functionality for rapid development, without compromising extreme customizability. Use-cases include, but are not limited to _admin panels_, _B2B applications_ and _dashboards_.\n\n## What is a \"headless\" Framework?\n**refine** is a **headless** React framework, which means all out-of-the-box features(**Routing**, **Networking**, **Authentication**, **Authorization**, **State Management**, **Realtime**, **i18n**, etc.), it can be used without being tied to any UI elements or framework. Also, Ant Design as out-of-the-box is supported.\n\n- Customization & Extensibility -  UI is a completely customizable area and each developer uses different solutions. **refine** features does not restrict or interfere with your UI structure. **refine** allows the you to design and customizable the UI based on their unique use case.\n\n- Separation of Concerns - **refine** as a framework, is not responsible for your UI and is independent.\n\n- Maintenance - By removing the API surface to support every UI use case, **refine** easy to use and update/maintain is simple.\n\n###\n\n## Key features\n\n🔥 **Headless** : Works with any UI framework\n\n⚙️ **Zero-configuration**: One-line setup with [superplate](https://github.com/pankod/superplate). It takes less than a minute to start a project.\n\n📦 **Out-of-the-box** : Routing, networking, authentication, state management, i18n and UI.\n\n🔌 **Backend Agnostic** : Connects to any custom backend. Built-in support for [REST API](https://github.com/pankod/refine/tree/master/packages/simple-rest), [GraphQL](https://github.com/pankod/refine/tree/master/packages/graphql), [NestJs CRUD](https://github.com/pankod/refine/tree/master/packages/nestjsx-crud), [Airtable](https://github.com/pankod/refine/tree/master/packages/airtable), [Strapi](https://github.com/pankod/refine/tree/master/packages/strapi), [Strapi v4](https://github.com/pankod/refine/tree/master/packages/strapi-v4), [Strapi GraphQL](https://github.com/pankod/refine/tree/master/packages/strapi-graphql), [Supabase](https://github.com/pankod/refine/tree/master/packages/supabase), [Hasura](https://github.com/pankod/refine/tree/master/packages/hasura), [Appwrite](https://github.com/pankod/refine/tree/master/packages/appwrite), [Firebase](https://firebase.google.com/), [Directus](https://directus.io/) and [Altogic](https://github.com/pankod/refine/tree/master/packages/altogic).\n\n📝 **Native Typescript Core** : You can always opt out for plain JavaScript.\n\n🐜 **Enterprise UI** : Works seamlessly with Ant Design System. (Support for multiple UI frameworks is on the Roadmap)\n\n📝 **Boilerplate-free Code** : Keeps your codebase clean and readable.\n\n## Motivation\n\nHigher-level frontend frameworks can save you a lot time, but they typically offer you a trade-off between speed and flexibility.\n\nAfter many years of experience in developing B2B frontend applications and working with popular frameworks, we came up with a new approach to tackle this dilemma. This is how **refine** is born.\n\n**refine** is a collection of helper `hooks`, `components` and `providers`. They are all decoupled from your UI components and business logic, so they never keep you from customizing your UI or coding your own flow.\n\nAs **refine** is totally _unopinionated_ about UI and logic, it's strongly _opinionated_ about three parts of your application:\n\n1. **API Networking**\n2. **State Management**\n3. **Authentication & Authorization**\n\nWe believe, these are the most important components of a data-intensive frontend application and should be handled in a robust way by leveraging industry best practices.\n\n**refine** guarantees you a perfect implementation of these building blocks in your project, so you can focus on your development.\n\n## Architecture\n\n**refine** makes extensive use of [hooks](https://reactjs.org/docs/hooks-reference.html#gatsby-focus-wrapper) as a default way for interacting with your components.\nUnder the hood, **refine** relies heavily to [React Query](https://react-query.tanstack.com/) for data handling, caching and state management.\nAccess to external sources and API's happen via providers which are basically plug-in type components for extendibility.\n\n<br/>\n\n<div align=\"center\">\n    <img src=\"https://raw.githubusercontent.com/pankod/refine/master/documentation/static/img/getting-started/refine_architecture.png\" width=\"400px\" />\n</div>\n\n## Benchmark\n\nAfter releasing the first internal versions, we had the chance to migrate some of our _React_ projects to **refine**.\nIn addition to **shorter development** times and **overall performance gains**, we've measured significant reduction in project size.\n\n**refine** makes your codebase significantly smaller, by eliminating redundant code such as _reducers_, _actions_ and _unit tests_. Below is a size comparison for an example project:\n\n<br/>\n\n<div align=\"center\">\n    <img src=\"https://raw.githubusercontent.com/pankod/refine/master/documentation/static/img/getting-started/benchmark.png\" width=\"400px\" align=\"center\" />\n</div>\n\n## Quick Start\n\nRun the **superplate** tool with the following command:\n\n```\nnpx superplate-cli -p refine-react tutorial\n```\n\nFollow the _CLI wizard_ to select options and start creating your project.\n\nAfter setup is complete, navigate to the project folder and start your project with:\n\n```\nnpm run dev\n```\n\nYour **refine** application will be accessible at [http://localhost:3000](http://localhost:3000).\n\nReplace the contents of `App.tsx` with the following code:\n\n```tsx title=\"App.tsx\"\nmport { Refine, useMany } from \"@pankod/refine-core\";\nimport {\n    useTable,\n    List,\n    Table,\n    DateField,\n} from \"@pankod/refine-antd\";\nimport routerProvider from \"@pankod/refine-react-router-v6\";\nimport dataProvider from \"@pankod/refine-simple-rest\";\n\nimport \"@pankod/refine-antd/dist/styles.min.css\";\n\nconst App: React.FC = () => {\n    return (\n        <Refine\n            routerProvider={routerProvider}\n            dataProvider={dataProvider(\"https://api.fake-rest.refine.dev\")}\n            resources={[{ name: \"posts\", list: PostList }]}\n        />\n    );\n};\n\nexport const PostList: React.FC = () => {\n    const { tableProps } = useTable<IPost>();\n\n    const categoryIds =\n        tableProps?.dataSource?.map((item) => item.category.id) ?? [];\n\n    const { data, isLoading } = useMany<ICategory>({\n        resource: \"categories\",\n        ids: categoryIds,\n        queryOptions: {\n            enabled: categoryIds.length > 0,\n        },\n    });\n\n    return (\n        <List>\n            <Table<IPost> {...tableProps} rowKey=\"id\">\n                <Table.Column dataIndex=\"title\" title=\"title\" />\n                <Table.Column\n                    dataIndex={[\"category\", \"id\"]}\n                    title=\"category\"\n                    render={(value: number) => {\n                        if (isLoading) {\n                            return \"loading...\";\n                        }\n\n                        return data?.data.find(\n                            (item: ICategory) => item.id === value,\n                        )?.title;\n                    }}\n                />\n                <Table.Column\n                    dataIndex=\"createdAt\"\n                    title=\"createdAt\"\n                    render={(value) => <DateField format=\"LLL\" value={value} />}\n                />\n            </Table>\n        </List>\n    );\n};\n\nexport default App;\n```\n\n```tsx title=\"interfaces.d.ts\"\ninterface IPost {\n    title: string;\n    createdAt: string;\n    category: { id: number };\n}\n\ninterface ICategory {\n    id: number;\n    title: string;\n}\n```\n\n## Roadmap\nYou can find Refine's <a href=\"https://github.com/pankod/refine/projects/1\">Public Roadmap here!</a> \n\n## Stargazers\n\n[![Stargazers repo roster for pankod/refine](https://reporoster.com/stars/pankod/refine)](https://github.com/pankod/refine/stargazers)\n\n## Contribution\n\nIf you have a bug to report, do not hesitate to file an issue.\n\nIf you are willing to fix an issue or propose a feature; all PRs with clear explanations are welcome and encouraged.\n\n## License\n\nLicensed under the MIT License, Copyright © 2021-present Pankod\n\n## Special Thanks\n\n[React Admin](https://marmelab.com/react-admin/) has been a great source of ideas and inspiration for refine. Big thanks to friends at [Marmelab](https://marmelab.com) for the amazing work they are doing.\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/pankod/refine/issues"},"homepage":"https://github.com/pankod/refine#readme","_id":"@pankod/refine-core@3.38.1","_nodeVersion":"16.15.1","_npmVersion":"8.11.0","dist":{"integrity":"sha512-uJ3ALp2PeVRbJeMzbPG6lPCknPtZ72p2QNAorPNmmZ3VZ1UdFlbGq7JIVCn1rdI3cyg1eqZqWpY7dGSBLzWsnw==","shasum":"d0e68480e47e99b4034c4cb9227a8bf48185e18f","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.38.1.tgz","fileCount":231,"unpackedSize":1543545,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGKqTgHLg7JXiDcXVnrJGs/aNJ5oTez7137gPU8Hwr6IAiEA9K5J7uoAfJkzPWX8ug4NzULkzaoboVLuy1HNAgl2/Ws="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJixp/HACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr+2g/+IM2C4tLgyZ4wYMDj4m0yYE9uCkVSyITNxZZhK1wvNT10f4YC\r\nZTxEwuyOxRey1pDxyGFVwm52t5rhAZlxWlHoklWAznSYOZy7bjC8IvNcFhvV\r\nFzQi2vDMHLD5gJ9Fc15Dsy2xro9GgPrJkbaR1XZIFiqeX62wO53J+30ihkU2\r\nPiqDBoKEGQz+xZZrp/hB0n/V1WNRlq3RVpFo0oJegJxY+lQnXSTtizUc6eFj\r\nQixWfBTqvIbLnO4gTjeAEN2CAwYbtuF309+euSnLmTV+IvorWbTOTEJkOlM6\r\n1rBhncrYeR9YHQaxFm2/HC+Lm7XtzTM7ahrap0ZwvPSNgy5o8el4j3/GCWyR\r\n2Zvny2fKVeCKAE6urgN9o9NxAQVAENJ0SDeWbMGlvpHR5HNMhXk8JrkSXyXs\r\n9tUE/v6pb3YS9zTiFktZF0TknmjazTXPxWfwJ/L2blXMmPor7gCe02mnDxAl\r\nnl2bmXTwPY9kSktW1pwUBmihEaZwByDyyiRkzL4UIG2LBAVZzO1u9S5ef8VN\r\noJQ1cY3JAoYUS1NDNOgsp9h4Uo0ohNa7Z38dOHzBS4+j3H0Um9sPkqX8ZEXw\r\nIjaf9IU07eSsA+MC3aMYEW1mOostXBSRDHzR8OH56caWSgXqCkeIVZW5sctx\r\nyTy9dqvw5H13XVByWNvG+OJ6FaBnRWQzZeE=\r\n=8uVS\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"aydinakyol","email":"aydinakyol11@gmail.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.38.1_1657184198945_0.46863787951242575"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.38.2":{"name":"@pankod/refine-core","version":"3.38.2","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --dts --format esm,cjs,iife --legacy-output","build":"tsup --dts --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.12.0","@testing-library/react":"^11.2.6","@testing-library/react-hooks":"^5.0.3","@testing-library/user-event":"^12.8.3","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^17.0.4","@types/react-dom":"^17.0.4","@types/testing-library__jest-dom":"^5.9.5","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"^6.0.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.4.3"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","humanize-string":"^2.1.0","lodash":"^4.17.21","lodash-es":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","react-query":"^3.19.2","tslib":"^2.3.1"},"repository":{"type":"git","url":"git+https://github.com/pankod/refine.git","directory":"packages/core"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"17dd5af3e4c9f7f09e1e707362c6f5a9d1cab8a8","publishConfig":{"access":"public"},"bugs":{"url":"https://github.com/pankod/refine/issues"},"homepage":"https://github.com/pankod/refine#readme","_id":"@pankod/refine-core@3.38.2","_nodeVersion":"16.15.1","_npmVersion":"8.11.0","dist":{"integrity":"sha512-kZpwIenAb5Dw1ezwMzrWLQBtmSejc44D4uyCPNKbTggq9wcszVfeV/aa6kxd0f7Ifme3j/gsFJoyfJ6npTE0/g==","shasum":"ed3a0c2534e92d1c71dcae9db5809185ad0f94b3","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.38.2.tgz","fileCount":231,"unpackedSize":1543832,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCmS2+6F/kz5PrGC1gO9pK2U7rBFdGPIxhYb1PH21vadQIhAMVIMO2zANnsPwF2o/6gC1hq3EUmXiX9UpabMS307Z7+"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJixsQOACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr2/Q//d1N8FBkfT2Nj+b4mo0vBluCB8oeHZe4eE2RSMHHQFY1eeWHV\r\nTbCiqrGa7TsIqxy8afDSOXhqRi58/0mylBvgxMzVhkgCtHTYVrhC0s4O8L40\r\nDYquopraGGCqDKKv1jrgPdPe4yD1JIMBNRz8YV9G1ZgNOSrdvwka0grW4oke\r\np3tLPmqyWfFVu7am9FPSqt2w20EV4epGpyxNMSy+MfTF10xOohuaDEcFFOts\r\n2dUPiaIOSHeWgefsZMAzRL2dpt2iLeXVcGK3v/FESW+Ye6/1//rBcIMNzsxo\r\neA2zSd3sJm0XpZn+81jg2vOcccgUtAG1Mv2NFeCg5V64lLY1L72BblYg/Loe\r\nUKNQRn/u536Qp/ufDeh7jZQNKz7rj2M+yg+iZ/dn5rRf8YHYRj/eLRYKxUT0\r\nXFTeJxRhHPtdQn1XIYKGzFAJAAG/vdoDEQTAgVwT34zvINEwuibQyCpRMgMk\r\n/xg63egXiMY/dImHuxJTRtxGrrMcwkiGz1CAzC2TGErGPRIHWNOG1v5rqmNt\r\nnZ+XggUrpuaTwGn3vbRPdipDP1JGfZGdcN7e4OwhG8ZHuS+P4bFcJKFIfjow\r\nbXgOMirA4FNyahyr+gdpYU6/dp3tevt0EC9Mh5VdJAr2qgqML8gdA9QxxQgB\r\nrTgyrWFW6vy37FISVhcocn2PPcFXKe+4QVw=\r\n=UBAa\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"aydinakyol","email":"aydinakyol11@gmail.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.38.2_1657193486223_0.41468628177907396"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.39.0":{"name":"@pankod/refine-core","version":"3.39.0","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --dts --format esm,cjs,iife --legacy-output","build":"tsup --dts --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.12.0","@testing-library/react":"^11.2.6","@testing-library/react-hooks":"^5.0.3","@testing-library/user-event":"^12.8.3","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^17.0.4","@types/react-dom":"^17.0.4","@types/testing-library__jest-dom":"^5.9.5","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"^6.0.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.4.3"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","humanize-string":"^2.1.0","lodash":"^4.17.21","lodash-es":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","react-query":"^3.19.2","tslib":"^2.3.1","jose":"^4.8.3"},"repository":{"type":"git","url":"git+https://github.com/pankod/refine.git","directory":"packages/core"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"17dd5af3e4c9f7f09e1e707362c6f5a9d1cab8a8","publishConfig":{"access":"public"},"readme":"<div align=\"center\" style=\"margin: 30px;\">\n<a href=\"https://refine.dev/\">\n  <img src=\"https://raw.githubusercontent.com/pankod/refine/master/logo.png\"   style=\"width:250px;\" align=\"center\" />\n</a>\n<br />\n<br />\n\n<div align=\"center\">\n    <a href=\"https://refine.dev\">Home Page</a> |\n    <a href=\"https://refine.dev/demo/\">Demo</a> | \n    <a href=\"https://refine.dev/blog/\">Blog</a> | \n    <a href=\"https://refine.dev/docs/\">Documentation</a> | \n    <a href=\"https://github.com/pankod/refine/projects/1\">Roadmap</a> | \n    <a href=\"https://refine.dev/docs/examples/tutorial/\">Examples</a> | \n    <a href=\"https://refine.dev/enterprise/\">Enterprise</a> | \n    <a href=\"https://discord.gg/refine\">Discord</a>\n</div>\n\n</div>\n<br/>\n\n<div align=\"center\"><strong>refine</strong> is a <a href=\"https://reactjs.org/\">React</a>-based framework for building internal tools, rapidly. ✨ It ships with <a href=\"https://ant.design/\">Ant Design System</a>, an enterprise-level UI toolkit.</div>\n\n<br />\n\n<div align=\"center\">\n\n[![Discord](https://img.shields.io/discord/837692625737613362.svg?label=&logo=discord&logoColor=ffffff&color=7389D8&labelColor=6A7EC2)](https://discord.gg/refine)\n![Twitter Follow](https://img.shields.io/twitter/follow/refine_dev?style=social)\n\n<a href=\"https://www.producthunt.com/posts/refine-open-source-react-framework?utm_source=badge-featured&utm_medium=badge&utm_souce=badge-refine-open-source-react-framework\" target=\"_blank\"><img src=\"https://api.producthunt.com/widgets/embed-image/v1/featured.svg?post_id=319164&theme=light\" alt=\"refine: Open Source React Framework - Focus your business logic. refine will do the rest. | Product Hunt\" style=\"width: 250px; height: 54px;\" width=\"250\" height=\"54\" /></a>\n\n[![Meercode CI Score](https://meercode.io/badge/pankod/refine?type=ci-score&branch=master&token=2ZiT8YsoJgt57JB23NYwXrFY3rJHZboT&lastDay=31)](https://meercode.io/)\n[![Meercode CI Success Rate](https://meercode.io/badge/pankod/refine?type=ci-success-rate&branch=master&token=2ZiT8YsoJgt57JB23NYwXrFY3rJHZboT&lastDay=31)](https://meercode.io/)\n[![Maintainability](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/maintainability)](https://codeclimate.com/github/pankod/refine/maintainability)\n[![Test Coverage](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/test_coverage)](https://codeclimate.com/github/pankod/refine/test_coverage)\n[![npm version](https://img.shields.io/npm/v/@pankod/refine-core.svg)](https://www.npmjs.com/package/@pankod/refine-core)\n[![npm](https://img.shields.io/npm/dm/@pankod/refine-core)](https://www.npmjs.com/package/@pankod/refine-core)\n[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.0-4baaaa.svg)](code_of_conduct.md)\n\n\n</div>\n\n<div align=\"center\">\n  <sub>Created by <a href=\"https://www.pankod.com\">Pankod</a></sub>\n</div>\n\n## About\n\n[**refine**](https://refine.dev/) offers lots of out-of-the box functionality for rapid development, without compromising extreme customizability. Use-cases include, but are not limited to _admin panels_, _B2B applications_ and _dashboards_.\n\n## Documentation\n\nFor more detailed information and usage, refer to the [refine documentation](https://refine.dev/docs/).\n\n## What is refine?\n\n**refine** is a [React](https://reactjs.org/)-based framework for building internal tools, rapidly. :sparkles: It ships with [Ant Design System](https://ant.design/), an enterprise-level UI toolkit.\n\nRefine offers lots of out-of-the box functionality for rapid development, without compromising extreme customizability. Use-cases include, but are not limited to _admin panels_, _B2B applications_ and _dashboards_.\n\n## What is a \"headless\" Framework?\n**refine** is a **headless** React framework, which means all out-of-the-box features(**Routing**, **Networking**, **Authentication**, **Authorization**, **State Management**, **Realtime**, **i18n**, etc.), it can be used without being tied to any UI elements or framework. Also, Ant Design as out-of-the-box is supported.\n\n- Customization & Extensibility -  UI is a completely customizable area and each developer uses different solutions. **refine** features does not restrict or interfere with your UI structure. **refine** allows the you to design and customizable the UI based on their unique use case.\n\n- Separation of Concerns - **refine** as a framework, is not responsible for your UI and is independent.\n\n- Maintenance - By removing the API surface to support every UI use case, **refine** easy to use and update/maintain is simple.\n\n###\n\n## Key features\n\n🔥 **Headless** : Works with any UI framework\n\n⚙️ **Zero-configuration**: One-line setup with [superplate](https://github.com/pankod/superplate). It takes less than a minute to start a project.\n\n📦 **Out-of-the-box** : Routing, networking, authentication, state management, i18n and UI.\n\n🔌 **Backend Agnostic** : Connects to any custom backend. Built-in support for [REST API](https://github.com/pankod/refine/tree/master/packages/simple-rest), [GraphQL](https://github.com/pankod/refine/tree/master/packages/graphql), [NestJs CRUD](https://github.com/pankod/refine/tree/master/packages/nestjsx-crud), [Airtable](https://github.com/pankod/refine/tree/master/packages/airtable), [Strapi](https://github.com/pankod/refine/tree/master/packages/strapi), [Strapi v4](https://github.com/pankod/refine/tree/master/packages/strapi-v4), [Strapi GraphQL](https://github.com/pankod/refine/tree/master/packages/strapi-graphql), [Supabase](https://github.com/pankod/refine/tree/master/packages/supabase), [Hasura](https://github.com/pankod/refine/tree/master/packages/hasura), [Appwrite](https://github.com/pankod/refine/tree/master/packages/appwrite), [Firebase](https://firebase.google.com/), [Directus](https://directus.io/) and [Altogic](https://github.com/pankod/refine/tree/master/packages/altogic).\n\n📝 **Native Typescript Core** : You can always opt out for plain JavaScript.\n\n🐜 **Enterprise UI** : Works seamlessly with Ant Design System. (Support for multiple UI frameworks is on the Roadmap)\n\n📝 **Boilerplate-free Code** : Keeps your codebase clean and readable.\n\n## Motivation\n\nHigher-level frontend frameworks can save you a lot time, but they typically offer you a trade-off between speed and flexibility.\n\nAfter many years of experience in developing B2B frontend applications and working with popular frameworks, we came up with a new approach to tackle this dilemma. This is how **refine** is born.\n\n**refine** is a collection of helper `hooks`, `components` and `providers`. They are all decoupled from your UI components and business logic, so they never keep you from customizing your UI or coding your own flow.\n\nAs **refine** is totally _unopinionated_ about UI and logic, it's strongly _opinionated_ about three parts of your application:\n\n1. **API Networking**\n2. **State Management**\n3. **Authentication & Authorization**\n\nWe believe, these are the most important components of a data-intensive frontend application and should be handled in a robust way by leveraging industry best practices.\n\n**refine** guarantees you a perfect implementation of these building blocks in your project, so you can focus on your development.\n\n## Architecture\n\n**refine** makes extensive use of [hooks](https://reactjs.org/docs/hooks-reference.html#gatsby-focus-wrapper) as a default way for interacting with your components.\nUnder the hood, **refine** relies heavily to [React Query](https://react-query.tanstack.com/) for data handling, caching and state management.\nAccess to external sources and API's happen via providers which are basically plug-in type components for extendibility.\n\n<br/>\n\n<div align=\"center\">\n    <img src=\"https://raw.githubusercontent.com/pankod/refine/master/documentation/static/img/getting-started/refine_architecture.png\" width=\"400px\" />\n</div>\n\n## Benchmark\n\nAfter releasing the first internal versions, we had the chance to migrate some of our _React_ projects to **refine**.\nIn addition to **shorter development** times and **overall performance gains**, we've measured significant reduction in project size.\n\n**refine** makes your codebase significantly smaller, by eliminating redundant code such as _reducers_, _actions_ and _unit tests_. Below is a size comparison for an example project:\n\n<br/>\n\n<div align=\"center\">\n    <img src=\"https://raw.githubusercontent.com/pankod/refine/master/documentation/static/img/getting-started/benchmark.png\" width=\"400px\" align=\"center\" />\n</div>\n\n## Quick Start\n\nRun the **superplate** tool with the following command:\n\n```\nnpx superplate-cli -p refine-react tutorial\n```\n\nFollow the _CLI wizard_ to select options and start creating your project.\n\nAfter setup is complete, navigate to the project folder and start your project with:\n\n```\nnpm run dev\n```\n\nYour **refine** application will be accessible at [http://localhost:3000](http://localhost:3000).\n\nReplace the contents of `App.tsx` with the following code:\n\n```tsx title=\"App.tsx\"\nmport { Refine, useMany } from \"@pankod/refine-core\";\nimport {\n    useTable,\n    List,\n    Table,\n    DateField,\n} from \"@pankod/refine-antd\";\nimport routerProvider from \"@pankod/refine-react-router-v6\";\nimport dataProvider from \"@pankod/refine-simple-rest\";\n\nimport \"@pankod/refine-antd/dist/styles.min.css\";\n\nconst App: React.FC = () => {\n    return (\n        <Refine\n            routerProvider={routerProvider}\n            dataProvider={dataProvider(\"https://api.fake-rest.refine.dev\")}\n            resources={[{ name: \"posts\", list: PostList }]}\n        />\n    );\n};\n\nexport const PostList: React.FC = () => {\n    const { tableProps } = useTable<IPost>();\n\n    const categoryIds =\n        tableProps?.dataSource?.map((item) => item.category.id) ?? [];\n\n    const { data, isLoading } = useMany<ICategory>({\n        resource: \"categories\",\n        ids: categoryIds,\n        queryOptions: {\n            enabled: categoryIds.length > 0,\n        },\n    });\n\n    return (\n        <List>\n            <Table<IPost> {...tableProps} rowKey=\"id\">\n                <Table.Column dataIndex=\"title\" title=\"title\" />\n                <Table.Column\n                    dataIndex={[\"category\", \"id\"]}\n                    title=\"category\"\n                    render={(value: number) => {\n                        if (isLoading) {\n                            return \"loading...\";\n                        }\n\n                        return data?.data.find(\n                            (item: ICategory) => item.id === value,\n                        )?.title;\n                    }}\n                />\n                <Table.Column\n                    dataIndex=\"createdAt\"\n                    title=\"createdAt\"\n                    render={(value) => <DateField format=\"LLL\" value={value} />}\n                />\n            </Table>\n        </List>\n    );\n};\n\nexport default App;\n```\n\n```tsx title=\"interfaces.d.ts\"\ninterface IPost {\n    title: string;\n    createdAt: string;\n    category: { id: number };\n}\n\ninterface ICategory {\n    id: number;\n    title: string;\n}\n```\n\n## Roadmap\nYou can find Refine's <a href=\"https://github.com/pankod/refine/projects/1\">Public Roadmap here!</a> \n\n## Stargazers\n\n[![Stargazers repo roster for pankod/refine](https://reporoster.com/stars/pankod/refine)](https://github.com/pankod/refine/stargazers)\n\n## Contribution\n\nIf you have a bug to report, do not hesitate to file an issue.\n\nIf you are willing to fix an issue or propose a feature; all PRs with clear explanations are welcome and encouraged.\n\n## License\n\nLicensed under the MIT License, Copyright © 2021-present Pankod\n\n## Special Thanks\n\n[React Admin](https://marmelab.com/react-admin/) has been a great source of ideas and inspiration for refine. Big thanks to friends at [Marmelab](https://marmelab.com) for the amazing work they are doing.\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/pankod/refine/issues"},"homepage":"https://github.com/pankod/refine#readme","_id":"@pankod/refine-core@3.39.0","_nodeVersion":"16.16.0","_npmVersion":"8.11.0","dist":{"integrity":"sha512-AvBnaG3R5Sa5PK/3uhmVqHBxKw/LAOEpHHgar+rFQSGxbQAx76vQDTlKZPzfbqlhNt27cu9kegjKzXopy64qwA==","shasum":"3f3b44ec5b2aa10d394b94da975c58b2786a6d88","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.39.0.tgz","fileCount":235,"unpackedSize":1579105,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBpGHhNCPAyOpPXwinlDeAwkHR0YpsMI09xVS9JfO1GmAiASoRxnvG21tl4bFJkLcEemisVJ6CqDQhByJJan6XsQIw=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJizpWoACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqLjA//ZCSLE4BCRiuxl/zsiAU5emkY2S5haGCmLOVGFb30+CxioRyN\r\n+wz/0tQmPSuS/rOfTMCGIaM1C5xP2A2++22ozFqDx7wy7+XU0Eo2KvtpIDru\r\nmEc91KthNRuYSzT+TsmLabDuH67cQQpkrgnbKFCWaoUVdLMVJmORM2QWsI+d\r\ntBStt7mV2kZtJU+e7Xog1f+BfpWx7uR4lBbRVaGFh6MZ8Kw1Nh8TzV3HoYf8\r\nSzT4DhI5sK8Fpa81c6Y6vcdnYM20TZ/lI9MbpETZ4HzyxBgwM1bXR9jXpATL\r\ncKrqjLOH4Z0q1to0HGwLPnwXQETR9BXlAtntcvf4gKxCF4LihvMUp2aqqVKn\r\nqLfRH59fBGr+0oyCwI1kBV0Pr381LIn0/GKyIVovstzyce5LQ5I7Kq30AsCX\r\nk0O3m54nhlMes1XAb1oAl04da0zOtXA0ymaJ6Rc31isP/0dD/0NshkLFSt1M\r\nFyid5de8agZoejJrgw8RgX53s9T2Eooj+2uSTOpMKBdVblg91KnKeS5++jjb\r\nPnkRgDGqRe+ElDx9t/2ye5t2BwqW0QR7mt6MfLtQ3tb95umen0SJ3s2RtQgT\r\nAfH88IIZzefFy1cX0Lph0eCabCPuglrOcavSoHygM5a12MaggcqC+kS57RwG\r\n+fIma6cCqC1CxXUH+GWZjc0cTwGxSmhvsc4=\r\n=Rn7j\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"aydinakyol","email":"aydinakyol11@gmail.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.39.0_1657705896371_0.15847629559600662"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.40.0":{"name":"@pankod/refine-core","version":"3.40.0","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --dts --format esm,cjs,iife --legacy-output","build":"tsup --dts --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.12.0","@testing-library/react":"^11.2.6","@testing-library/react-hooks":"^5.0.3","@testing-library/user-event":"^12.8.3","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^17.0.4","@types/react-dom":"^17.0.4","@types/testing-library__jest-dom":"^5.9.5","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"^6.0.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.4.3"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","humanize-string":"^2.1.0","lodash":"^4.17.21","lodash-es":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","react-query":"^3.19.2","tslib":"^2.3.1","jose":"^4.8.3"},"repository":{"type":"git","url":"git+https://github.com/pankod/refine.git","directory":"packages/core"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"17dd5af3e4c9f7f09e1e707362c6f5a9d1cab8a8","publishConfig":{"access":"public"},"bugs":{"url":"https://github.com/pankod/refine/issues"},"homepage":"https://github.com/pankod/refine#readme","_id":"@pankod/refine-core@3.40.0","_nodeVersion":"16.16.0","_npmVersion":"8.11.0","dist":{"integrity":"sha512-qBwfpnfTUaFbExjBehaCmD3lmBTDuguSbgtQkYRi3Rb8FueAlfJZPPD6LFkFjgVLapxf6ON2yvHyp4EWiwWkcA==","shasum":"8aa4b875766bd855effe9edf0088b0198c6b4756","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.40.0.tgz","fileCount":235,"unpackedSize":1579569,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEMD906067GhBjGbvZEyZNeG/AQRPV7sh3l66BeqJsfPAiBSnJYB3gAz5gWAmeWYbIq5vFh8Ad3qfeUwLL0eIDpbpA=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJizp+oACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmogfRAAlnljF777A+kumxem7VG0atK51C1ANH6hEK+x7P6O/ahXoATz\r\nJyZVIAv0U7zNbTXj2gbVYd0StupBGcrQ0UljR2TB/3tnsuQdBUu1kw+jdpOb\r\nnnaHWFi5Ekz4rnWFjnX4nvoF6rzJ/LxtKg3dBjVT7y1E7PHB5Qh+/6zNvILb\r\n3lIj5TKud5dtCIJ6QnhP/bp39RquRf2yYYn+dy+xQEBTeD1Bk6DgQOzCbx6R\r\nSrTTBWyG/06tPzoOQDRwukqJPoIFrXKmelp+iU432a/MqnkXfDJSr5UdkdGV\r\nozEZdRkVweXWaikdPACWE9l+UhuX9VgQono1aKycJ5+uNDcLCkp5Rie2GpGG\r\nxAIS+YRBpcB5HdV72XFSJG3UQUY6wg2+S/ae5ybi4paLo+bDNjWepAvz6yEp\r\nm/ZGt3M4CLbzusgEav2t+MtUF3LCqhHssAJR29iZTPoPegqJC7CBtP6fdrql\r\n6UPKgNKB4XYYqB3brBK6Hm+n5z+WMAwXlydyDMTTIyWokxoFQvdnUbXJT32w\r\nugJn7n8sm6Le8YxW3Y8bGl3lMtkwQ+WKgz82i2693p4ZstKM2WwPBC4ZSeMG\r\n1MS46K9KokTgeBjKJLrUx475OgoDtoRNA/bFYGsBLguWmjsQAtU59vfRCKG3\r\n+UaXB+CuFqUQj4ZFndUOktASOJ1xgeneUGU=\r\n=5nOS\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"aydinakyol","email":"aydinakyol11@gmail.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.40.0_1657708456142_0.22560769712276185"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.41.0":{"name":"@pankod/refine-core","version":"3.41.0","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --dts --format esm,cjs,iife --legacy-output","build":"tsup --dts --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.12.0","@testing-library/react":"^11.2.6","@testing-library/react-hooks":"^5.0.3","@testing-library/user-event":"^12.8.3","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^17.0.4","@types/react-dom":"^17.0.4","@types/testing-library__jest-dom":"^5.9.5","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"^6.0.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.4.3"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","humanize-string":"^2.1.0","lodash":"^4.17.21","lodash-es":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","react-query":"^3.19.2","tslib":"^2.3.1","jose":"^4.8.3"},"repository":{"type":"git","url":"git+https://github.com/pankod/refine.git","directory":"packages/core"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"17dd5af3e4c9f7f09e1e707362c6f5a9d1cab8a8","publishConfig":{"access":"public"},"readme":"<div align=\"center\" style=\"margin: 30px;\">\n<a href=\"https://refine.dev/\">\n  <img src=\"https://raw.githubusercontent.com/pankod/refine/master/logo.png\"   style=\"width:250px;\" align=\"center\" />\n</a>\n<br />\n<br />\n\n<div align=\"center\">\n    <a href=\"https://refine.dev\">Home Page</a> |\n    <a href=\"https://refine.dev/demo/\">Demo</a> | \n    <a href=\"https://refine.dev/blog/\">Blog</a> | \n    <a href=\"https://refine.dev/docs/\">Documentation</a> | \n    <a href=\"https://github.com/pankod/refine/projects/1\">Roadmap</a> | \n    <a href=\"https://refine.dev/docs/examples/tutorial/\">Examples</a> | \n    <a href=\"https://refine.dev/enterprise/\">Enterprise</a> | \n    <a href=\"https://discord.gg/refine\">Discord</a>\n</div>\n\n</div>\n<br/>\n\n<div align=\"center\"><strong>refine</strong> is a <a href=\"https://reactjs.org/\">React</a>-based framework for building internal tools, rapidly. ✨ It ships with <a href=\"https://ant.design/\">Ant Design System</a>, an enterprise-level UI toolkit.</div>\n\n<br />\n\n<div align=\"center\">\n\n[![Discord](https://img.shields.io/discord/837692625737613362.svg?label=&logo=discord&logoColor=ffffff&color=7389D8&labelColor=6A7EC2)](https://discord.gg/refine)\n![Twitter Follow](https://img.shields.io/twitter/follow/refine_dev?style=social)\n\n<a href=\"https://www.producthunt.com/posts/refine-open-source-react-framework?utm_source=badge-featured&utm_medium=badge&utm_souce=badge-refine-open-source-react-framework\" target=\"_blank\"><img src=\"https://api.producthunt.com/widgets/embed-image/v1/featured.svg?post_id=319164&theme=light\" alt=\"refine: Open Source React Framework - Focus your business logic. refine will do the rest. | Product Hunt\" style=\"width: 250px; height: 54px;\" width=\"250\" height=\"54\" /></a>\n\n[![Meercode CI Score](https://meercode.io/badge/pankod/refine?type=ci-score&branch=master&token=2ZiT8YsoJgt57JB23NYwXrFY3rJHZboT&lastDay=31)](https://meercode.io/)\n[![Meercode CI Success Rate](https://meercode.io/badge/pankod/refine?type=ci-success-rate&branch=master&token=2ZiT8YsoJgt57JB23NYwXrFY3rJHZboT&lastDay=31)](https://meercode.io/)\n[![Maintainability](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/maintainability)](https://codeclimate.com/github/pankod/refine/maintainability)\n[![Test Coverage](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/test_coverage)](https://codeclimate.com/github/pankod/refine/test_coverage)\n[![npm version](https://img.shields.io/npm/v/@pankod/refine-core.svg)](https://www.npmjs.com/package/@pankod/refine-core)\n[![npm](https://img.shields.io/npm/dm/@pankod/refine-core)](https://www.npmjs.com/package/@pankod/refine-core)\n[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.0-4baaaa.svg)](code_of_conduct.md)\n\n\n</div>\n\n<div align=\"center\">\n  <sub>Created by <a href=\"https://www.pankod.com\">Pankod</a></sub>\n</div>\n\n## About\n\n[**refine**](https://refine.dev/) offers lots of out-of-the box functionality for rapid development, without compromising extreme customizability. Use-cases include, but are not limited to _admin panels_, _B2B applications_ and _dashboards_.\n\n## Documentation\n\nFor more detailed information and usage, refer to the [refine documentation](https://refine.dev/docs/).\n\n## What is refine?\n\n**refine** is a [React](https://reactjs.org/)-based framework for building internal tools, rapidly. :sparkles: It ships with [Ant Design System](https://ant.design/), an enterprise-level UI toolkit.\n\nRefine offers lots of out-of-the box functionality for rapid development, without compromising extreme customizability. Use-cases include, but are not limited to _admin panels_, _B2B applications_ and _dashboards_.\n\n## What is a \"headless\" Framework?\n**refine** is a **headless** React framework, which means all out-of-the-box features(**Routing**, **Networking**, **Authentication**, **Authorization**, **State Management**, **Realtime**, **i18n**, etc.), it can be used without being tied to any UI elements or framework. Also, Ant Design as out-of-the-box is supported.\n\n- Customization & Extensibility -  UI is a completely customizable area and each developer uses different solutions. **refine** features does not restrict or interfere with your UI structure. **refine** allows the you to design and customizable the UI based on their unique use case.\n\n- Separation of Concerns - **refine** as a framework, is not responsible for your UI and is independent.\n\n- Maintenance - By removing the API surface to support every UI use case, **refine** easy to use and update/maintain is simple.\n\n###\n\n## Key features\n\n🔥 **Headless** : Works with any UI framework\n\n⚙️ **Zero-configuration**: One-line setup with [superplate](https://github.com/pankod/superplate). It takes less than a minute to start a project.\n\n📦 **Out-of-the-box** : Routing, networking, authentication, state management, i18n and UI.\n\n🔌 **Backend Agnostic** : Connects to any custom backend. Built-in support for [REST API](https://github.com/pankod/refine/tree/master/packages/simple-rest), [GraphQL](https://github.com/pankod/refine/tree/master/packages/graphql), [NestJs CRUD](https://github.com/pankod/refine/tree/master/packages/nestjsx-crud), [Airtable](https://github.com/pankod/refine/tree/master/packages/airtable), [Strapi](https://github.com/pankod/refine/tree/master/packages/strapi), [Strapi v4](https://github.com/pankod/refine/tree/master/packages/strapi-v4), [Strapi GraphQL](https://github.com/pankod/refine/tree/master/packages/strapi-graphql), [Supabase](https://github.com/pankod/refine/tree/master/packages/supabase), [Hasura](https://github.com/pankod/refine/tree/master/packages/hasura), [Appwrite](https://github.com/pankod/refine/tree/master/packages/appwrite), [Firebase](https://firebase.google.com/), [Directus](https://directus.io/) and [Altogic](https://github.com/pankod/refine/tree/master/packages/altogic).\n\n📝 **Native Typescript Core** : You can always opt out for plain JavaScript.\n\n🐜 **Enterprise UI** : Works seamlessly with Ant Design System. (Support for multiple UI frameworks is on the Roadmap)\n\n📝 **Boilerplate-free Code** : Keeps your codebase clean and readable.\n\n## Motivation\n\nHigher-level frontend frameworks can save you a lot time, but they typically offer you a trade-off between speed and flexibility.\n\nAfter many years of experience in developing B2B frontend applications and working with popular frameworks, we came up with a new approach to tackle this dilemma. This is how **refine** is born.\n\n**refine** is a collection of helper `hooks`, `components` and `providers`. They are all decoupled from your UI components and business logic, so they never keep you from customizing your UI or coding your own flow.\n\nAs **refine** is totally _unopinionated_ about UI and logic, it's strongly _opinionated_ about three parts of your application:\n\n1. **API Networking**\n2. **State Management**\n3. **Authentication & Authorization**\n\nWe believe, these are the most important components of a data-intensive frontend application and should be handled in a robust way by leveraging industry best practices.\n\n**refine** guarantees you a perfect implementation of these building blocks in your project, so you can focus on your development.\n\n## Architecture\n\n**refine** makes extensive use of [hooks](https://reactjs.org/docs/hooks-reference.html#gatsby-focus-wrapper) as a default way for interacting with your components.\nUnder the hood, **refine** relies heavily to [React Query](https://react-query.tanstack.com/) for data handling, caching and state management.\nAccess to external sources and API's happen via providers which are basically plug-in type components for extendibility.\n\n<br/>\n\n<div align=\"center\">\n    <img src=\"https://raw.githubusercontent.com/pankod/refine/master/documentation/static/img/getting-started/refine_architecture.png\" width=\"400px\" />\n</div>\n\n## Benchmark\n\nAfter releasing the first internal versions, we had the chance to migrate some of our _React_ projects to **refine**.\nIn addition to **shorter development** times and **overall performance gains**, we've measured significant reduction in project size.\n\n**refine** makes your codebase significantly smaller, by eliminating redundant code such as _reducers_, _actions_ and _unit tests_. Below is a size comparison for an example project:\n\n<br/>\n\n<div align=\"center\">\n    <img src=\"https://raw.githubusercontent.com/pankod/refine/master/documentation/static/img/getting-started/benchmark.png\" width=\"400px\" align=\"center\" />\n</div>\n\n## Quick Start\n\nRun the **superplate** tool with the following command:\n\n```\nnpx superplate-cli -p refine-react tutorial\n```\n\nFollow the _CLI wizard_ to select options and start creating your project.\n\nAfter setup is complete, navigate to the project folder and start your project with:\n\n```\nnpm run dev\n```\n\nYour **refine** application will be accessible at [http://localhost:3000](http://localhost:3000).\n\nReplace the contents of `App.tsx` with the following code:\n\n```tsx title=\"App.tsx\"\nmport { Refine, useMany } from \"@pankod/refine-core\";\nimport {\n    useTable,\n    List,\n    Table,\n    DateField,\n} from \"@pankod/refine-antd\";\nimport routerProvider from \"@pankod/refine-react-router-v6\";\nimport dataProvider from \"@pankod/refine-simple-rest\";\n\nimport \"@pankod/refine-antd/dist/styles.min.css\";\n\nconst App: React.FC = () => {\n    return (\n        <Refine\n            routerProvider={routerProvider}\n            dataProvider={dataProvider(\"https://api.fake-rest.refine.dev\")}\n            resources={[{ name: \"posts\", list: PostList }]}\n        />\n    );\n};\n\nexport const PostList: React.FC = () => {\n    const { tableProps } = useTable<IPost>();\n\n    const categoryIds =\n        tableProps?.dataSource?.map((item) => item.category.id) ?? [];\n\n    const { data, isLoading } = useMany<ICategory>({\n        resource: \"categories\",\n        ids: categoryIds,\n        queryOptions: {\n            enabled: categoryIds.length > 0,\n        },\n    });\n\n    return (\n        <List>\n            <Table<IPost> {...tableProps} rowKey=\"id\">\n                <Table.Column dataIndex=\"title\" title=\"title\" />\n                <Table.Column\n                    dataIndex={[\"category\", \"id\"]}\n                    title=\"category\"\n                    render={(value: number) => {\n                        if (isLoading) {\n                            return \"loading...\";\n                        }\n\n                        return data?.data.find(\n                            (item: ICategory) => item.id === value,\n                        )?.title;\n                    }}\n                />\n                <Table.Column\n                    dataIndex=\"createdAt\"\n                    title=\"createdAt\"\n                    render={(value) => <DateField format=\"LLL\" value={value} />}\n                />\n            </Table>\n        </List>\n    );\n};\n\nexport default App;\n```\n\n```tsx title=\"interfaces.d.ts\"\ninterface IPost {\n    title: string;\n    createdAt: string;\n    category: { id: number };\n}\n\ninterface ICategory {\n    id: number;\n    title: string;\n}\n```\n\n## Roadmap\nYou can find Refine's <a href=\"https://github.com/pankod/refine/projects/1\">Public Roadmap here!</a> \n\n## Stargazers\n\n[![Stargazers repo roster for pankod/refine](https://reporoster.com/stars/pankod/refine)](https://github.com/pankod/refine/stargazers)\n\n## Contribution\n\nIf you have a bug to report, do not hesitate to file an issue.\n\nIf you are willing to fix an issue or propose a feature; all PRs with clear explanations are welcome and encouraged.\n\n## License\n\nLicensed under the MIT License, Copyright © 2021-present Pankod\n\n## Special Thanks\n\n[React Admin](https://marmelab.com/react-admin/) has been a great source of ideas and inspiration for refine. Big thanks to friends at [Marmelab](https://marmelab.com) for the amazing work they are doing.\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/pankod/refine/issues"},"homepage":"https://github.com/pankod/refine#readme","_id":"@pankod/refine-core@3.41.0","_nodeVersion":"16.16.0","_npmVersion":"8.11.0","dist":{"integrity":"sha512-rRyamrAU0PWrjl0fnTsiCqJOf3g8U+b0K4Bra7Ukl1fpMtNbPakXi8vdgyhFwRyLPpW994DGdLAnWXyXQX+Q4Q==","shasum":"1c23e9d34b3d2ec91309d6c7c321b3556d3559be","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.41.0.tgz","fileCount":235,"unpackedSize":1588907,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHIVCC7qqfPdzoxIqheMUrh2kBco/pBPZN1q5FjrOwJUAiEA56MNjsSqlTDjX1uKNT+17Y1QlJuXhKal0Sw+j2NBOCY="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi1p6ZACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrozQ/+MdT95SkMkBznMpYmQtwMWASTmkLTUqnu8A17PizQOLJrqb+k\r\nPr4MYsp6renrrWBVDYt2+9agypTvuza4wfueygUR20Hxz8+ztJ0T2BYtOsKh\r\n9zVkKanqikhhbx8BoOh9WQk9AzewduH302roRHjYLrtRS5K9zCmkyBZdVemw\r\nVGTWHl9MQ6Ahb23uJIygTPKC20tIVFl/aSr7kXKhfcTZBPCpsRXsLqZNsZPr\r\n9EIyxBGKmcLBsuKf1ogREB3P4AoQEd+SW3OwHshPAgnZGOG8hyja+HsPOciZ\r\ng+EpB6++WS014mF1AabkOAbgEUx8nMmahv2dBanCxXEhJanEoNaF72okRQL7\r\nN1TlwlJBOve3NY4DHXZ3fYAJnsyTbZt0RL1PrusRxXoCo71H0AbsCv5B8bpr\r\n0qrSz+3s0pNx6zJF7JKQCc2Ocjl4MioGvn5m9FVSgsm6eYBOfMUEi0WG0ymV\r\noGeHWpAtr4ct7oRr6LUKLt5aVkirkFj9caG5G8kgCCntWgdhuglPcniejMjX\r\nxdWH/oVzbKsyoIPtpJuQev6fvmhGSz5qL+F83IJX/0cT+NLd4U5zF0y8y9nl\r\nLABvLy/Nl72PZWeyqJboAP3jvuQBDkl10Biscfq8TccFnwmorrDLolH+zOpo\r\nrNib8lSxOtODRDwXWA7GNdVKigVxf0/h9JM=\r\n=SFGv\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"aydinakyol","email":"aydinakyol11@gmail.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.41.0_1658232473343_0.07043610332376593"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.41.1":{"name":"@pankod/refine-core","version":"3.41.1","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --dts --format esm,cjs,iife --legacy-output","build":"tsup --dts --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.12.0","@testing-library/react":"^11.2.6","@testing-library/react-hooks":"^5.0.3","@testing-library/user-event":"^12.8.3","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^17.0.4","@types/react-dom":"^17.0.4","@types/testing-library__jest-dom":"^5.9.5","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"^6.0.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.4.3"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","humanize-string":"^2.1.0","lodash":"^4.17.21","lodash-es":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","react-query":"^3.19.2","tslib":"^2.3.1","jose":"^4.8.3"},"repository":{"type":"git","url":"git+https://github.com/pankod/refine.git","directory":"packages/core"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"17dd5af3e4c9f7f09e1e707362c6f5a9d1cab8a8","publishConfig":{"access":"public"},"readme":"<div align=\"center\" style=\"margin: 30px;\">\n<a href=\"https://refine.dev/\">\n  <img src=\"https://raw.githubusercontent.com/pankod/refine/master/logo.png\"   style=\"width:250px;\" align=\"center\" />\n</a>\n<br />\n<br />\n\n<div align=\"center\">\n    <a href=\"https://refine.dev\">Home Page</a> |\n    <a href=\"https://refine.dev/demo/\">Demo</a> | \n    <a href=\"https://refine.dev/blog/\">Blog</a> | \n    <a href=\"https://refine.dev/docs/\">Documentation</a> | \n    <a href=\"https://github.com/pankod/refine/projects/1\">Roadmap</a> | \n    <a href=\"https://refine.dev/docs/examples/tutorial/\">Examples</a> | \n    <a href=\"https://refine.dev/enterprise/\">Enterprise</a> | \n    <a href=\"https://discord.gg/refine\">Discord</a>\n</div>\n\n</div>\n<br/>\n\n<div align=\"center\"><strong>refine</strong> is a <a href=\"https://reactjs.org/\">React</a>-based framework for building internal tools, rapidly. ✨ It ships with <a href=\"https://ant.design/\">Ant Design System</a>, an enterprise-level UI toolkit.</div>\n\n<br />\n\n<div align=\"center\">\n\n[![Discord](https://img.shields.io/discord/837692625737613362.svg?label=&logo=discord&logoColor=ffffff&color=7389D8&labelColor=6A7EC2)](https://discord.gg/refine)\n![Twitter Follow](https://img.shields.io/twitter/follow/refine_dev?style=social)\n\n<a href=\"https://www.producthunt.com/posts/refine-open-source-react-framework?utm_source=badge-featured&utm_medium=badge&utm_souce=badge-refine-open-source-react-framework\" target=\"_blank\"><img src=\"https://api.producthunt.com/widgets/embed-image/v1/featured.svg?post_id=319164&theme=light\" alt=\"refine: Open Source React Framework - Focus your business logic. refine will do the rest. | Product Hunt\" style=\"width: 250px; height: 54px;\" width=\"250\" height=\"54\" /></a>\n\n[![Meercode CI Score](https://meercode.io/badge/pankod/refine?type=ci-score&branch=master&token=2ZiT8YsoJgt57JB23NYwXrFY3rJHZboT&lastDay=31)](https://meercode.io/)\n[![Meercode CI Success Rate](https://meercode.io/badge/pankod/refine?type=ci-success-rate&branch=master&token=2ZiT8YsoJgt57JB23NYwXrFY3rJHZboT&lastDay=31)](https://meercode.io/)\n[![Maintainability](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/maintainability)](https://codeclimate.com/github/pankod/refine/maintainability)\n[![Test Coverage](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/test_coverage)](https://codeclimate.com/github/pankod/refine/test_coverage)\n[![npm version](https://img.shields.io/npm/v/@pankod/refine-core.svg)](https://www.npmjs.com/package/@pankod/refine-core)\n[![npm](https://img.shields.io/npm/dm/@pankod/refine-core)](https://www.npmjs.com/package/@pankod/refine-core)\n[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.0-4baaaa.svg)](code_of_conduct.md)\n\n\n</div>\n\n<div align=\"center\">\n  <sub>Created by <a href=\"https://www.pankod.com\">Pankod</a></sub>\n</div>\n\n## About\n\n[**refine**](https://refine.dev/) offers lots of out-of-the box functionality for rapid development, without compromising extreme customizability. Use-cases include, but are not limited to _admin panels_, _B2B applications_ and _dashboards_.\n\n## Documentation\n\nFor more detailed information and usage, refer to the [refine documentation](https://refine.dev/docs/).\n\n## What is refine?\n\n**refine** is a [React](https://reactjs.org/)-based framework for building internal tools, rapidly. :sparkles: It ships with [Ant Design System](https://ant.design/), an enterprise-level UI toolkit.\n\nRefine offers lots of out-of-the box functionality for rapid development, without compromising extreme customizability. Use-cases include, but are not limited to _admin panels_, _B2B applications_ and _dashboards_.\n\n## What is a \"headless\" Framework?\n**refine** is a **headless** React framework, which means all out-of-the-box features(**Routing**, **Networking**, **Authentication**, **Authorization**, **State Management**, **Realtime**, **i18n**, etc.), it can be used without being tied to any UI elements or framework. Also, Ant Design as out-of-the-box is supported.\n\n- Customization & Extensibility -  UI is a completely customizable area and each developer uses different solutions. **refine** features does not restrict or interfere with your UI structure. **refine** allows the you to design and customizable the UI based on their unique use case.\n\n- Separation of Concerns - **refine** as a framework, is not responsible for your UI and is independent.\n\n- Maintenance - By removing the API surface to support every UI use case, **refine** easy to use and update/maintain is simple.\n\n###\n\n## Key features\n\n🔥 **Headless** : Works with any UI framework\n\n⚙️ **Zero-configuration**: One-line setup with [superplate](https://github.com/pankod/superplate). It takes less than a minute to start a project.\n\n📦 **Out-of-the-box** : Routing, networking, authentication, state management, i18n and UI.\n\n🔌 **Backend Agnostic** : Connects to any custom backend. Built-in support for [REST API](https://github.com/pankod/refine/tree/master/packages/simple-rest), [GraphQL](https://github.com/pankod/refine/tree/master/packages/graphql), [NestJs CRUD](https://github.com/pankod/refine/tree/master/packages/nestjsx-crud), [Airtable](https://github.com/pankod/refine/tree/master/packages/airtable), [Strapi](https://github.com/pankod/refine/tree/master/packages/strapi), [Strapi v4](https://github.com/pankod/refine/tree/master/packages/strapi-v4), [Strapi GraphQL](https://github.com/pankod/refine/tree/master/packages/strapi-graphql), [Supabase](https://github.com/pankod/refine/tree/master/packages/supabase), [Hasura](https://github.com/pankod/refine/tree/master/packages/hasura), [Appwrite](https://github.com/pankod/refine/tree/master/packages/appwrite), [Firebase](https://firebase.google.com/), [Directus](https://directus.io/) and [Altogic](https://github.com/pankod/refine/tree/master/packages/altogic).\n\n📝 **Native Typescript Core** : You can always opt out for plain JavaScript.\n\n🐜 **Enterprise UI** : Works seamlessly with Ant Design System. (Support for multiple UI frameworks is on the Roadmap)\n\n📝 **Boilerplate-free Code** : Keeps your codebase clean and readable.\n\n## Motivation\n\nHigher-level frontend frameworks can save you a lot time, but they typically offer you a trade-off between speed and flexibility.\n\nAfter many years of experience in developing B2B frontend applications and working with popular frameworks, we came up with a new approach to tackle this dilemma. This is how **refine** is born.\n\n**refine** is a collection of helper `hooks`, `components` and `providers`. They are all decoupled from your UI components and business logic, so they never keep you from customizing your UI or coding your own flow.\n\nAs **refine** is totally _unopinionated_ about UI and logic, it's strongly _opinionated_ about three parts of your application:\n\n1. **API Networking**\n2. **State Management**\n3. **Authentication & Authorization**\n\nWe believe, these are the most important components of a data-intensive frontend application and should be handled in a robust way by leveraging industry best practices.\n\n**refine** guarantees you a perfect implementation of these building blocks in your project, so you can focus on your development.\n\n## Architecture\n\n**refine** makes extensive use of [hooks](https://reactjs.org/docs/hooks-reference.html#gatsby-focus-wrapper) as a default way for interacting with your components.\nUnder the hood, **refine** relies heavily to [React Query](https://react-query.tanstack.com/) for data handling, caching and state management.\nAccess to external sources and API's happen via providers which are basically plug-in type components for extendibility.\n\n<br/>\n\n<div align=\"center\">\n    <img src=\"https://raw.githubusercontent.com/pankod/refine/master/documentation/static/img/getting-started/refine_architecture.png\" width=\"400px\" />\n</div>\n\n## Benchmark\n\nAfter releasing the first internal versions, we had the chance to migrate some of our _React_ projects to **refine**.\nIn addition to **shorter development** times and **overall performance gains**, we've measured significant reduction in project size.\n\n**refine** makes your codebase significantly smaller, by eliminating redundant code such as _reducers_, _actions_ and _unit tests_. Below is a size comparison for an example project:\n\n<br/>\n\n<div align=\"center\">\n    <img src=\"https://raw.githubusercontent.com/pankod/refine/master/documentation/static/img/getting-started/benchmark.png\" width=\"400px\" align=\"center\" />\n</div>\n\n## Quick Start\n\nRun the **superplate** tool with the following command:\n\n```\nnpx superplate-cli -p refine-react tutorial\n```\n\nFollow the _CLI wizard_ to select options and start creating your project.\n\nAfter setup is complete, navigate to the project folder and start your project with:\n\n```\nnpm run dev\n```\n\nYour **refine** application will be accessible at [http://localhost:3000](http://localhost:3000).\n\nReplace the contents of `App.tsx` with the following code:\n\n```tsx title=\"App.tsx\"\nmport { Refine, useMany } from \"@pankod/refine-core\";\nimport {\n    useTable,\n    List,\n    Table,\n    DateField,\n} from \"@pankod/refine-antd\";\nimport routerProvider from \"@pankod/refine-react-router-v6\";\nimport dataProvider from \"@pankod/refine-simple-rest\";\n\nimport \"@pankod/refine-antd/dist/styles.min.css\";\n\nconst App: React.FC = () => {\n    return (\n        <Refine\n            routerProvider={routerProvider}\n            dataProvider={dataProvider(\"https://api.fake-rest.refine.dev\")}\n            resources={[{ name: \"posts\", list: PostList }]}\n        />\n    );\n};\n\nexport const PostList: React.FC = () => {\n    const { tableProps } = useTable<IPost>();\n\n    const categoryIds =\n        tableProps?.dataSource?.map((item) => item.category.id) ?? [];\n\n    const { data, isLoading } = useMany<ICategory>({\n        resource: \"categories\",\n        ids: categoryIds,\n        queryOptions: {\n            enabled: categoryIds.length > 0,\n        },\n    });\n\n    return (\n        <List>\n            <Table<IPost> {...tableProps} rowKey=\"id\">\n                <Table.Column dataIndex=\"title\" title=\"title\" />\n                <Table.Column\n                    dataIndex={[\"category\", \"id\"]}\n                    title=\"category\"\n                    render={(value: number) => {\n                        if (isLoading) {\n                            return \"loading...\";\n                        }\n\n                        return data?.data.find(\n                            (item: ICategory) => item.id === value,\n                        )?.title;\n                    }}\n                />\n                <Table.Column\n                    dataIndex=\"createdAt\"\n                    title=\"createdAt\"\n                    render={(value) => <DateField format=\"LLL\" value={value} />}\n                />\n            </Table>\n        </List>\n    );\n};\n\nexport default App;\n```\n\n```tsx title=\"interfaces.d.ts\"\ninterface IPost {\n    title: string;\n    createdAt: string;\n    category: { id: number };\n}\n\ninterface ICategory {\n    id: number;\n    title: string;\n}\n```\n\n## Roadmap\nYou can find Refine's <a href=\"https://github.com/pankod/refine/projects/1\">Public Roadmap here!</a> \n\n## Stargazers\n\n[![Stargazers repo roster for pankod/refine](https://reporoster.com/stars/pankod/refine)](https://github.com/pankod/refine/stargazers)\n\n## Contribution\n\nIf you have a bug to report, do not hesitate to file an issue.\n\nIf you are willing to fix an issue or propose a feature; all PRs with clear explanations are welcome and encouraged.\n\n## License\n\nLicensed under the MIT License, Copyright © 2021-present Pankod\n\n## Special Thanks\n\n[React Admin](https://marmelab.com/react-admin/) has been a great source of ideas and inspiration for refine. Big thanks to friends at [Marmelab](https://marmelab.com) for the amazing work they are doing.\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/pankod/refine/issues"},"homepage":"https://github.com/pankod/refine#readme","_id":"@pankod/refine-core@3.41.1","_nodeVersion":"16.16.0","_npmVersion":"8.11.0","dist":{"integrity":"sha512-G2sLHl/+av4QOdR+t+PkGORBqf6I9GytCZVobkEH+oqT2SNkJ7WF9RrWRhZ6qvjREiIM/2I8X73bV3oIbQDlag==","shasum":"20f9879e14cdf24fccec5706168d34f2dd3b8e79","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.41.1.tgz","fileCount":235,"unpackedSize":1593781,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBxrchrxbVAbdFONZJ5Tt9rYQk7wGEliUFyQRsNxVeKsAiAPZafcWQqtWFDX1ASmpWwwX+lPXpxMdVBw6r36XLDwHQ=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi1rhBACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoGkQ/9EfMVcpBS0U1cmYks+GReQhT+M1NidGrnoOZIplFNC+GbeLt5\r\nZpC+jTOK6GDjA9Z2R32XMgbB2GfNp7gydxIjcflXo/gpiZQLN59G7oHWuJ7z\r\npOyA9k4bJf21J6sS06hVRjhzkU/R9lbgsO6T+MylfUMwbSANhkTEmJRvhEMB\r\nymBcBj21ODwKEDo2b7vKRfAr4sVdEf3Ohh+ATArye+cWNdIYz8gmDMc8aoCI\r\nNC/v3p46kzLPdi5kP00S+fR2Xd1wEkKL83mmEs9+xtJJprvSpnF16v77VKaG\r\nlAl+NuM2H59+8rlkqDFcbJMvSSgyI24qA/FJF73RXeonK+sKTzUcLG6YNo+t\r\nRqQ/ibtq9kpYYaFIwSO+/tCRG6X+MUufbJOlHNapkHE88BV4pv9pnyZ29QaK\r\noytHfxVtQCnEOGMKIdlJjMBwP8qd26WuR+avijIujmYzNp6MhS/SIKcpuRKW\r\nwedpG/uAQMV+10ZRRyPACJvuSMTzucysMsNbHfhdmU+2KZIR0LWwYDjHveJB\r\nV1tBWlQ6ArIT+NPbXAR4tJwCpLQn9PlRf3CMC2FlkuOM0msjAhl5jgtIfXyr\r\nktR70dcl75wXbV17Ysk2uJDX5J9gN4PsNl1nR5Ahd9bW6UCpK0PTviLCXHwW\r\nlIPk6GsApl8zbcnnog4Ly75pImXm431Vwf8=\r\n=GjyB\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"aydinakyol","email":"aydinakyol11@gmail.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.41.1_1658239041542_0.16561896098745255"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.42.0":{"name":"@pankod/refine-core","version":"3.42.0","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --dts --format esm,cjs,iife --legacy-output","build":"tsup --dts --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.12.0","@testing-library/react":"^11.2.6","@testing-library/react-hooks":"^5.0.3","@testing-library/user-event":"^12.8.3","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^17.0.4","@types/react-dom":"^17.0.4","@types/testing-library__jest-dom":"^5.9.5","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"^6.0.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.4.3"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","humanize-string":"^2.1.0","lodash":"^4.17.21","lodash-es":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","react-query":"^3.19.2","tslib":"^2.3.1","jose":"^4.8.3"},"repository":{"type":"git","url":"git+https://github.com/pankod/refine.git","directory":"packages/core"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"17dd5af3e4c9f7f09e1e707362c6f5a9d1cab8a8","publishConfig":{"access":"public"},"bugs":{"url":"https://github.com/pankod/refine/issues"},"homepage":"https://github.com/pankod/refine#readme","_id":"@pankod/refine-core@3.42.0","_nodeVersion":"16.16.0","_npmVersion":"8.11.0","dist":{"integrity":"sha512-RdJrGs1GwhUvs1VD/DsiIZ6kQa05kdlwnxK5wCJZizvr2XC8JaUXSIxvbuvyT9tD+6UQMKxGUOZKfDEi2orvBA==","shasum":"c8f1d55b3ab6bd8ea2512c62697fcbd9f5013799","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.42.0.tgz","fileCount":235,"unpackedSize":1594600,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEAF+QEzH2jUCDwpEOoPNC3g10MsQOH0fYHvtGnQ9tSnAiEArvyOUqg6W3Bmz/rmEbM6BnpCE65MOe93UpGDD5pPsGc="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi1rsBACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrT/RAAi9wMBoRwib/qxcoJCSyG4sChV1QwoNd0lopt31PwXKMUqUoh\r\ncOolzXNspo8T9Nt93KqCQPTE2j4Pd2KC4WZxYQfQTS0HYlOMNx0A0607cbLL\r\nKJSU/r0CjiMfcfNfxEsrl8KQjTBSBrkP6c2SVms75nT9biuZz05N58UB178q\r\nBS6hotA7pi623BZu39ybM3kQDWciMEBjOXgsQ8G//FXl5U+QYoXzZ9s9njEM\r\nB1SEMJrb3aEkrE15vI+WT9j7tlfDJVxyWm09qho+yk9H0Ersza/Nm8xi6ldC\r\noctcJtOQf7e/XNxG9gMD+cll2NyPdT14u4HRkBaEop8AmOcOYnTH5aef3QH2\r\nEyXsp1t3v68e7ldcytvn3AdIRshRCHjea4hzw0BPdv7z9SZVTa8zk+l+Zrr0\r\n0aitUxFvzBd0iRd1D+CNy2AE8uRdTaxFxmBLecbPYYQ8VFk08mZJgtx/s0o9\r\nKyf1WFTOcdZQalneLFxbpeM+AJFkaM1oWEkjN/l2SVq6pG1PIl+OG430Bdme\r\nglsTRUpzmPJ1VsNsySczjWymMxYw7lmDQMlT4SZlq/k0LIVKwL9dHahB+YZV\r\ny30dKxNz8eclGIQxWisNHvzDCKMtKp6Lrs09esuuaU4EfwTAotb9u5/7SBn4\r\nZ3FMIM7LOyGJlYgJmS1HGhWrYvHRLJTqpFk=\r\n=J+PB\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"aydinakyol","email":"aydinakyol11@gmail.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.42.0_1658239744842_0.8897489870779163"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.43.0":{"name":"@pankod/refine-core","version":"3.43.0","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --dts --format esm,cjs,iife --legacy-output","build":"tsup --dts --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.12.0","@testing-library/react":"^11.2.6","@testing-library/react-hooks":"^5.0.3","@testing-library/user-event":"^12.8.3","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^17.0.4","@types/react-dom":"^17.0.4","@types/testing-library__jest-dom":"^5.9.5","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"^6.0.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.4.3"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","humanize-string":"^2.1.0","lodash":"^4.17.21","lodash-es":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","react-query":"^3.19.2","tslib":"^2.3.1","jose":"^4.8.3"},"repository":{"type":"git","url":"git+https://github.com/pankod/refine.git","directory":"packages/core"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"17dd5af3e4c9f7f09e1e707362c6f5a9d1cab8a8","publishConfig":{"access":"public"},"readme":"<div align=\"center\" style=\"margin: 30px;\">\n<a href=\"https://refine.dev/\">\n  <img src=\"https://raw.githubusercontent.com/pankod/refine/master/logo.png\"   style=\"width:250px;\" align=\"center\" />\n</a>\n<br />\n<br />\n\n<div align=\"center\">\n    <a href=\"https://refine.dev\">Home Page</a> |\n    <a href=\"https://refine.dev/demo/\">Demo</a> | \n    <a href=\"https://refine.dev/blog/\">Blog</a> | \n    <a href=\"https://refine.dev/docs/\">Documentation</a> | \n    <a href=\"https://github.com/pankod/refine/projects/1\">Roadmap</a> | \n    <a href=\"https://refine.dev/docs/examples/tutorial/\">Examples</a> | \n    <a href=\"https://refine.dev/enterprise/\">Enterprise</a> | \n    <a href=\"https://discord.gg/refine\">Discord</a>\n</div>\n\n</div>\n<br/>\n\n<div align=\"center\"><strong>refine</strong> is a <a href=\"https://reactjs.org/\">React</a>-based framework for building internal tools, rapidly. ✨ It ships with <a href=\"https://ant.design/\">Ant Design System</a>, an enterprise-level UI toolkit.</div>\n\n<br />\n\n<div align=\"center\">\n\n[![Discord](https://img.shields.io/discord/837692625737613362.svg?label=&logo=discord&logoColor=ffffff&color=7389D8&labelColor=6A7EC2)](https://discord.gg/refine)\n![Twitter Follow](https://img.shields.io/twitter/follow/refine_dev?style=social)\n\n<a href=\"https://www.producthunt.com/posts/refine-open-source-react-framework?utm_source=badge-featured&utm_medium=badge&utm_souce=badge-refine-open-source-react-framework\" target=\"_blank\"><img src=\"https://api.producthunt.com/widgets/embed-image/v1/featured.svg?post_id=319164&theme=light\" alt=\"refine: Open Source React Framework - Focus your business logic. refine will do the rest. | Product Hunt\" style=\"width: 250px; height: 54px;\" width=\"250\" height=\"54\" /></a>\n\n[![Meercode CI Score](https://meercode.io/badge/pankod/refine?type=ci-score&branch=master&token=2ZiT8YsoJgt57JB23NYwXrFY3rJHZboT&lastDay=31)](https://meercode.io/)\n[![Meercode CI Success Rate](https://meercode.io/badge/pankod/refine?type=ci-success-rate&branch=master&token=2ZiT8YsoJgt57JB23NYwXrFY3rJHZboT&lastDay=31)](https://meercode.io/)\n[![Maintainability](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/maintainability)](https://codeclimate.com/github/pankod/refine/maintainability)\n[![Test Coverage](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/test_coverage)](https://codeclimate.com/github/pankod/refine/test_coverage)\n[![npm version](https://img.shields.io/npm/v/@pankod/refine-core.svg)](https://www.npmjs.com/package/@pankod/refine-core)\n[![npm](https://img.shields.io/npm/dm/@pankod/refine-core)](https://www.npmjs.com/package/@pankod/refine-core)\n[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.0-4baaaa.svg)](code_of_conduct.md)\n\n\n</div>\n\n<div align=\"center\">\n  <sub>Created by <a href=\"https://www.pankod.com\">Pankod</a></sub>\n</div>\n\n## About\n\n[**refine**](https://refine.dev/) offers lots of out-of-the box functionality for rapid development, without compromising extreme customizability. Use-cases include, but are not limited to _admin panels_, _B2B applications_ and _dashboards_.\n\n## Documentation\n\nFor more detailed information and usage, refer to the [refine documentation](https://refine.dev/docs/).\n\n## What is refine?\n\n**refine** is a [React](https://reactjs.org/)-based framework for building internal tools, rapidly. :sparkles: It ships with [Ant Design System](https://ant.design/), an enterprise-level UI toolkit.\n\nRefine offers lots of out-of-the box functionality for rapid development, without compromising extreme customizability. Use-cases include, but are not limited to _admin panels_, _B2B applications_ and _dashboards_.\n\n## What is a \"headless\" Framework?\n**refine** is a **headless** React framework, which means all out-of-the-box features(**Routing**, **Networking**, **Authentication**, **Authorization**, **State Management**, **Realtime**, **i18n**, etc.), it can be used without being tied to any UI elements or framework. Also, Ant Design as out-of-the-box is supported.\n\n- Customization & Extensibility -  UI is a completely customizable area and each developer uses different solutions. **refine** features does not restrict or interfere with your UI structure. **refine** allows the you to design and customizable the UI based on their unique use case.\n\n- Separation of Concerns - **refine** as a framework, is not responsible for your UI and is independent.\n\n- Maintenance - By removing the API surface to support every UI use case, **refine** easy to use and update/maintain is simple.\n\n###\n\n## Key features\n\n🔥 **Headless** : Works with any UI framework\n\n⚙️ **Zero-configuration**: One-line setup with [superplate](https://github.com/pankod/superplate). It takes less than a minute to start a project.\n\n📦 **Out-of-the-box** : Routing, networking, authentication, state management, i18n and UI.\n\n🔌 **Backend Agnostic** : Connects to any custom backend. Built-in support for [REST API](https://github.com/pankod/refine/tree/master/packages/simple-rest), [GraphQL](https://github.com/pankod/refine/tree/master/packages/graphql), [NestJs CRUD](https://github.com/pankod/refine/tree/master/packages/nestjsx-crud), [Airtable](https://github.com/pankod/refine/tree/master/packages/airtable), [Strapi](https://github.com/pankod/refine/tree/master/packages/strapi), [Strapi v4](https://github.com/pankod/refine/tree/master/packages/strapi-v4), [Strapi GraphQL](https://github.com/pankod/refine/tree/master/packages/strapi-graphql), [Supabase](https://github.com/pankod/refine/tree/master/packages/supabase), [Hasura](https://github.com/pankod/refine/tree/master/packages/hasura), [Appwrite](https://github.com/pankod/refine/tree/master/packages/appwrite), [Firebase](https://firebase.google.com/), [Directus](https://directus.io/) and [Altogic](https://github.com/pankod/refine/tree/master/packages/altogic).\n\n📝 **Native Typescript Core** : You can always opt out for plain JavaScript.\n\n🐜 **Enterprise UI** : Works seamlessly with Ant Design System. (Support for multiple UI frameworks is on the Roadmap)\n\n📝 **Boilerplate-free Code** : Keeps your codebase clean and readable.\n\n## Motivation\n\nHigher-level frontend frameworks can save you a lot time, but they typically offer you a trade-off between speed and flexibility.\n\nAfter many years of experience in developing B2B frontend applications and working with popular frameworks, we came up with a new approach to tackle this dilemma. This is how **refine** is born.\n\n**refine** is a collection of helper `hooks`, `components` and `providers`. They are all decoupled from your UI components and business logic, so they never keep you from customizing your UI or coding your own flow.\n\nAs **refine** is totally _unopinionated_ about UI and logic, it's strongly _opinionated_ about three parts of your application:\n\n1. **API Networking**\n2. **State Management**\n3. **Authentication & Authorization**\n\nWe believe, these are the most important components of a data-intensive frontend application and should be handled in a robust way by leveraging industry best practices.\n\n**refine** guarantees you a perfect implementation of these building blocks in your project, so you can focus on your development.\n\n## Architecture\n\n**refine** makes extensive use of [hooks](https://reactjs.org/docs/hooks-reference.html#gatsby-focus-wrapper) as a default way for interacting with your components.\nUnder the hood, **refine** relies heavily to [React Query](https://react-query.tanstack.com/) for data handling, caching and state management.\nAccess to external sources and API's happen via providers which are basically plug-in type components for extendibility.\n\n<br/>\n\n<div align=\"center\">\n    <img src=\"https://raw.githubusercontent.com/pankod/refine/master/documentation/static/img/getting-started/refine_architecture.png\" width=\"400px\" />\n</div>\n\n## Benchmark\n\nAfter releasing the first internal versions, we had the chance to migrate some of our _React_ projects to **refine**.\nIn addition to **shorter development** times and **overall performance gains**, we've measured significant reduction in project size.\n\n**refine** makes your codebase significantly smaller, by eliminating redundant code such as _reducers_, _actions_ and _unit tests_. Below is a size comparison for an example project:\n\n<br/>\n\n<div align=\"center\">\n    <img src=\"https://raw.githubusercontent.com/pankod/refine/master/documentation/static/img/getting-started/benchmark.png\" width=\"400px\" align=\"center\" />\n</div>\n\n## Quick Start\n\nRun the **superplate** tool with the following command:\n\n```\nnpx superplate-cli -p refine-react tutorial\n```\n\nFollow the _CLI wizard_ to select options and start creating your project.\n\nAfter setup is complete, navigate to the project folder and start your project with:\n\n```\nnpm run dev\n```\n\nYour **refine** application will be accessible at [http://localhost:3000](http://localhost:3000).\n\nReplace the contents of `App.tsx` with the following code:\n\n```tsx title=\"App.tsx\"\nmport { Refine, useMany } from \"@pankod/refine-core\";\nimport {\n    useTable,\n    List,\n    Table,\n    DateField,\n} from \"@pankod/refine-antd\";\nimport routerProvider from \"@pankod/refine-react-router-v6\";\nimport dataProvider from \"@pankod/refine-simple-rest\";\n\nimport \"@pankod/refine-antd/dist/styles.min.css\";\n\nconst App: React.FC = () => {\n    return (\n        <Refine\n            routerProvider={routerProvider}\n            dataProvider={dataProvider(\"https://api.fake-rest.refine.dev\")}\n            resources={[{ name: \"posts\", list: PostList }]}\n        />\n    );\n};\n\nexport const PostList: React.FC = () => {\n    const { tableProps } = useTable<IPost>();\n\n    const categoryIds =\n        tableProps?.dataSource?.map((item) => item.category.id) ?? [];\n\n    const { data, isLoading } = useMany<ICategory>({\n        resource: \"categories\",\n        ids: categoryIds,\n        queryOptions: {\n            enabled: categoryIds.length > 0,\n        },\n    });\n\n    return (\n        <List>\n            <Table<IPost> {...tableProps} rowKey=\"id\">\n                <Table.Column dataIndex=\"title\" title=\"title\" />\n                <Table.Column\n                    dataIndex={[\"category\", \"id\"]}\n                    title=\"category\"\n                    render={(value: number) => {\n                        if (isLoading) {\n                            return \"loading...\";\n                        }\n\n                        return data?.data.find(\n                            (item: ICategory) => item.id === value,\n                        )?.title;\n                    }}\n                />\n                <Table.Column\n                    dataIndex=\"createdAt\"\n                    title=\"createdAt\"\n                    render={(value) => <DateField format=\"LLL\" value={value} />}\n                />\n            </Table>\n        </List>\n    );\n};\n\nexport default App;\n```\n\n```tsx title=\"interfaces.d.ts\"\ninterface IPost {\n    title: string;\n    createdAt: string;\n    category: { id: number };\n}\n\ninterface ICategory {\n    id: number;\n    title: string;\n}\n```\n\n## Roadmap\nYou can find Refine's <a href=\"https://github.com/pankod/refine/projects/1\">Public Roadmap here!</a> \n\n## Stargazers\n\n[![Stargazers repo roster for pankod/refine](https://reporoster.com/stars/pankod/refine)](https://github.com/pankod/refine/stargazers)\n\n## Contribution\n\nIf you have a bug to report, do not hesitate to file an issue.\n\nIf you are willing to fix an issue or propose a feature; all PRs with clear explanations are welcome and encouraged.\n\n## License\n\nLicensed under the MIT License, Copyright © 2021-present Pankod\n\n## Special Thanks\n\n[React Admin](https://marmelab.com/react-admin/) has been a great source of ideas and inspiration for refine. Big thanks to friends at [Marmelab](https://marmelab.com) for the amazing work they are doing.\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/pankod/refine/issues"},"homepage":"https://github.com/pankod/refine#readme","_id":"@pankod/refine-core@3.43.0","_nodeVersion":"16.16.0","_npmVersion":"8.11.0","dist":{"integrity":"sha512-tqe5jsmrQsjly7eGqQeVkabSjJFsVJN19OWn8ivr1VInWRSIJ1HKchOmJBwObzHMxepMD066W5KSSoiT65LFHQ==","shasum":"0328681f2000a1a5aa04fea4d965d1561ebffd6b","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.43.0.tgz","fileCount":235,"unpackedSize":1601644,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD6nDj3xlDZMIBBtaiU3yEeQr54dzDJ3NEGaXNEL3F4TwIhAKqmjlW1iEQu21fxT/rHblbEsT3jsIMQZ8RlaEzf8qCE"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi2Rd+ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrQuw/+NT3BT8tdmDvrQtQ2uBi+VauShv05Wb8FthTl2ONhq3sklizT\r\nYg4kfcojJK0twDOELHK87Z2XSR/wic6wqo5h0m/j309LzaKxRHLUq9vXK7DJ\r\nn9U+OLoIMa0MvwVkfcTJVTchVMhver0x7nwiiqf7C2J2CjFyHFX2ilJ3OwQt\r\nU28MJ1tuNjqCFlZ5A6zksV05tr6kwUVx7QDp/eml2CIg20LypMO9RgcjXXwQ\r\nlWic/detXQyQw8SnoyHHVbGBzMp3LAVD7IXjpyNQw1wHN1GiHFfQueWMpe1i\r\n/DHVuCQEwxfLgblJLKrANgKZLQCktRuetM9sz4i3x3qEHOPfCk3jQdEPVxjc\r\n690qFv+0oMqNbV/Q3LTgb6Eq6nH5DOQwUviI93h3LHn1zBJN+JTJprG+DIhn\r\nb0yzvFafP7rkyMfGgm27+KRHuxy3U9XW0zLz3YuL80f/rnwIRwTFVGm52IZn\r\nP0fCEhDwkX7Wmfma4ad3SYpswBSrG7SltYnNlohHe7wmu8bwNbJfLt4zVIna\r\naspeT8IaxFVkKC3WJnLiJGdmxQKjyUCs+5g7l3t4w6QWVtUevpYNMxTILsNJ\r\ngwC+nrdMOmyVEUwLFCclrLdPOgsfZ/l6z9b00abqhKeqNpb/Od89ciUc+2m8\r\nu9MYGt24DXsdZT+n3BHXGdtxe1T7moJFLEQ=\r\n=PbcM\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"aydinakyol","email":"aydinakyol11@gmail.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.43.0_1658394494587_0.09425602265255595"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.43.1":{"name":"@pankod/refine-core","version":"3.43.1","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --dts --format esm,cjs,iife --legacy-output","build":"tsup --dts --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.12.0","@testing-library/react":"^11.2.6","@testing-library/react-hooks":"^5.0.3","@testing-library/user-event":"^12.8.3","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^17.0.4","@types/react-dom":"^17.0.4","@types/testing-library__jest-dom":"^5.9.5","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"^6.0.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.4.3"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","humanize-string":"^2.1.0","lodash":"^4.17.21","lodash-es":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","react-query":"^3.19.2","tslib":"^2.3.1","jose":"^4.8.3"},"repository":{"type":"git","url":"git+https://github.com/pankod/refine.git","directory":"packages/core"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"17dd5af3e4c9f7f09e1e707362c6f5a9d1cab8a8","publishConfig":{"access":"public"},"readme":"<div align=\"center\" style=\"margin: 30px;\">\n<a href=\"https://refine.dev/\">\n  <img src=\"https://raw.githubusercontent.com/pankod/refine/master/logo.png\"   style=\"width:250px;\" align=\"center\" />\n</a>\n<br />\n<br />\n\n<div align=\"center\">\n    <a href=\"https://refine.dev\">Home Page</a> |\n    <a href=\"https://refine.dev/demo/\">Demo</a> | \n    <a href=\"https://refine.dev/blog/\">Blog</a> | \n    <a href=\"https://refine.dev/docs/\">Documentation</a> | \n    <a href=\"https://github.com/pankod/refine/projects/1\">Roadmap</a> | \n    <a href=\"https://refine.dev/docs/examples/tutorial/\">Examples</a> | \n    <a href=\"https://refine.dev/enterprise/\">Enterprise</a> | \n    <a href=\"https://discord.gg/refine\">Discord</a>\n</div>\n\n</div>\n<br/>\n\n<div align=\"center\"><strong>refine</strong> is a <a href=\"https://reactjs.org/\">React</a>-based framework for building internal tools, rapidly. ✨ It ships with <a href=\"https://ant.design/\">Ant Design System</a>, an enterprise-level UI toolkit.</div>\n\n<br />\n\n<div align=\"center\">\n\n[![Discord](https://img.shields.io/discord/837692625737613362.svg?label=&logo=discord&logoColor=ffffff&color=7389D8&labelColor=6A7EC2)](https://discord.gg/refine)\n![Twitter Follow](https://img.shields.io/twitter/follow/refine_dev?style=social)\n\n<a href=\"https://www.producthunt.com/posts/refine-open-source-react-framework?utm_source=badge-featured&utm_medium=badge&utm_souce=badge-refine-open-source-react-framework\" target=\"_blank\"><img src=\"https://api.producthunt.com/widgets/embed-image/v1/featured.svg?post_id=319164&theme=light\" alt=\"refine: Open Source React Framework - Focus your business logic. refine will do the rest. | Product Hunt\" style=\"width: 250px; height: 54px;\" width=\"250\" height=\"54\" /></a>\n\n[![Meercode CI Score](https://meercode.io/badge/pankod/refine?type=ci-score&branch=master&token=2ZiT8YsoJgt57JB23NYwXrFY3rJHZboT&lastDay=31)](https://meercode.io/)\n[![Meercode CI Success Rate](https://meercode.io/badge/pankod/refine?type=ci-success-rate&branch=master&token=2ZiT8YsoJgt57JB23NYwXrFY3rJHZboT&lastDay=31)](https://meercode.io/)\n[![Maintainability](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/maintainability)](https://codeclimate.com/github/pankod/refine/maintainability)\n[![Test Coverage](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/test_coverage)](https://codeclimate.com/github/pankod/refine/test_coverage)\n[![npm version](https://img.shields.io/npm/v/@pankod/refine-core.svg)](https://www.npmjs.com/package/@pankod/refine-core)\n[![npm](https://img.shields.io/npm/dm/@pankod/refine-core)](https://www.npmjs.com/package/@pankod/refine-core)\n[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.0-4baaaa.svg)](code_of_conduct.md)\n\n\n</div>\n\n<div align=\"center\">\n  <sub>Created by <a href=\"https://www.pankod.com\">Pankod</a></sub>\n</div>\n\n## About\n\n[**refine**](https://refine.dev/) offers lots of out-of-the box functionality for rapid development, without compromising extreme customizability. Use-cases include, but are not limited to _admin panels_, _B2B applications_ and _dashboards_.\n\n## Documentation\n\nFor more detailed information and usage, refer to the [refine documentation](https://refine.dev/docs/).\n\n## What is refine?\n\n**refine** is a [React](https://reactjs.org/)-based framework for building internal tools, rapidly. :sparkles: It ships with [Ant Design System](https://ant.design/), an enterprise-level UI toolkit.\n\nRefine offers lots of out-of-the box functionality for rapid development, without compromising extreme customizability. Use-cases include, but are not limited to _admin panels_, _B2B applications_ and _dashboards_.\n\n## What is a \"headless\" Framework?\n**refine** is a **headless** React framework, which means all out-of-the-box features(**Routing**, **Networking**, **Authentication**, **Authorization**, **State Management**, **Realtime**, **i18n**, etc.), it can be used without being tied to any UI elements or framework. Also, Ant Design as out-of-the-box is supported.\n\n- Customization & Extensibility -  UI is a completely customizable area and each developer uses different solutions. **refine** features does not restrict or interfere with your UI structure. **refine** allows the you to design and customizable the UI based on their unique use case.\n\n- Separation of Concerns - **refine** as a framework, is not responsible for your UI and is independent.\n\n- Maintenance - By removing the API surface to support every UI use case, **refine** easy to use and update/maintain is simple.\n\n###\n\n## Key features\n\n🔥 **Headless** : Works with any UI framework\n\n⚙️ **Zero-configuration**: One-line setup with [superplate](https://github.com/pankod/superplate). It takes less than a minute to start a project.\n\n📦 **Out-of-the-box** : Routing, networking, authentication, state management, i18n and UI.\n\n🔌 **Backend Agnostic** : Connects to any custom backend. Built-in support for [REST API](https://github.com/pankod/refine/tree/master/packages/simple-rest), [GraphQL](https://github.com/pankod/refine/tree/master/packages/graphql), [NestJs CRUD](https://github.com/pankod/refine/tree/master/packages/nestjsx-crud), [Airtable](https://github.com/pankod/refine/tree/master/packages/airtable), [Strapi](https://github.com/pankod/refine/tree/master/packages/strapi), [Strapi v4](https://github.com/pankod/refine/tree/master/packages/strapi-v4), [Strapi GraphQL](https://github.com/pankod/refine/tree/master/packages/strapi-graphql), [Supabase](https://github.com/pankod/refine/tree/master/packages/supabase), [Hasura](https://github.com/pankod/refine/tree/master/packages/hasura), [Appwrite](https://github.com/pankod/refine/tree/master/packages/appwrite), [Firebase](https://firebase.google.com/), [Directus](https://directus.io/) and [Altogic](https://github.com/pankod/refine/tree/master/packages/altogic).\n\n📝 **Native Typescript Core** : You can always opt out for plain JavaScript.\n\n🐜 **Enterprise UI** : Works seamlessly with Ant Design System. (Support for multiple UI frameworks is on the Roadmap)\n\n📝 **Boilerplate-free Code** : Keeps your codebase clean and readable.\n\n## Motivation\n\nHigher-level frontend frameworks can save you a lot time, but they typically offer you a trade-off between speed and flexibility.\n\nAfter many years of experience in developing B2B frontend applications and working with popular frameworks, we came up with a new approach to tackle this dilemma. This is how **refine** is born.\n\n**refine** is a collection of helper `hooks`, `components` and `providers`. They are all decoupled from your UI components and business logic, so they never keep you from customizing your UI or coding your own flow.\n\nAs **refine** is totally _unopinionated_ about UI and logic, it's strongly _opinionated_ about three parts of your application:\n\n1. **API Networking**\n2. **State Management**\n3. **Authentication & Authorization**\n\nWe believe, these are the most important components of a data-intensive frontend application and should be handled in a robust way by leveraging industry best practices.\n\n**refine** guarantees you a perfect implementation of these building blocks in your project, so you can focus on your development.\n\n## Architecture\n\n**refine** makes extensive use of [hooks](https://reactjs.org/docs/hooks-reference.html#gatsby-focus-wrapper) as a default way for interacting with your components.\nUnder the hood, **refine** relies heavily to [React Query](https://react-query.tanstack.com/) for data handling, caching and state management.\nAccess to external sources and API's happen via providers which are basically plug-in type components for extendibility.\n\n<br/>\n\n<div align=\"center\">\n    <img src=\"https://raw.githubusercontent.com/pankod/refine/master/documentation/static/img/getting-started/refine_architecture.png\" width=\"400px\" />\n</div>\n\n## Benchmark\n\nAfter releasing the first internal versions, we had the chance to migrate some of our _React_ projects to **refine**.\nIn addition to **shorter development** times and **overall performance gains**, we've measured significant reduction in project size.\n\n**refine** makes your codebase significantly smaller, by eliminating redundant code such as _reducers_, _actions_ and _unit tests_. Below is a size comparison for an example project:\n\n<br/>\n\n<div align=\"center\">\n    <img src=\"https://raw.githubusercontent.com/pankod/refine/master/documentation/static/img/getting-started/benchmark.png\" width=\"400px\" align=\"center\" />\n</div>\n\n## Quick Start\n\nRun the **superplate** tool with the following command:\n\n```\nnpx superplate-cli -p refine-react tutorial\n```\n\nFollow the _CLI wizard_ to select options and start creating your project.\n\nAfter setup is complete, navigate to the project folder and start your project with:\n\n```\nnpm run dev\n```\n\nYour **refine** application will be accessible at [http://localhost:3000](http://localhost:3000).\n\nReplace the contents of `App.tsx` with the following code:\n\n```tsx title=\"App.tsx\"\nmport { Refine, useMany } from \"@pankod/refine-core\";\nimport {\n    useTable,\n    List,\n    Table,\n    DateField,\n} from \"@pankod/refine-antd\";\nimport routerProvider from \"@pankod/refine-react-router-v6\";\nimport dataProvider from \"@pankod/refine-simple-rest\";\n\nimport \"@pankod/refine-antd/dist/styles.min.css\";\n\nconst App: React.FC = () => {\n    return (\n        <Refine\n            routerProvider={routerProvider}\n            dataProvider={dataProvider(\"https://api.fake-rest.refine.dev\")}\n            resources={[{ name: \"posts\", list: PostList }]}\n        />\n    );\n};\n\nexport const PostList: React.FC = () => {\n    const { tableProps } = useTable<IPost>();\n\n    const categoryIds =\n        tableProps?.dataSource?.map((item) => item.category.id) ?? [];\n\n    const { data, isLoading } = useMany<ICategory>({\n        resource: \"categories\",\n        ids: categoryIds,\n        queryOptions: {\n            enabled: categoryIds.length > 0,\n        },\n    });\n\n    return (\n        <List>\n            <Table<IPost> {...tableProps} rowKey=\"id\">\n                <Table.Column dataIndex=\"title\" title=\"title\" />\n                <Table.Column\n                    dataIndex={[\"category\", \"id\"]}\n                    title=\"category\"\n                    render={(value: number) => {\n                        if (isLoading) {\n                            return \"loading...\";\n                        }\n\n                        return data?.data.find(\n                            (item: ICategory) => item.id === value,\n                        )?.title;\n                    }}\n                />\n                <Table.Column\n                    dataIndex=\"createdAt\"\n                    title=\"createdAt\"\n                    render={(value) => <DateField format=\"LLL\" value={value} />}\n                />\n            </Table>\n        </List>\n    );\n};\n\nexport default App;\n```\n\n```tsx title=\"interfaces.d.ts\"\ninterface IPost {\n    title: string;\n    createdAt: string;\n    category: { id: number };\n}\n\ninterface ICategory {\n    id: number;\n    title: string;\n}\n```\n\n## Roadmap\nYou can find Refine's <a href=\"https://github.com/pankod/refine/projects/1\">Public Roadmap here!</a> \n\n## Stargazers\n\n[![Stargazers repo roster for pankod/refine](https://reporoster.com/stars/pankod/refine)](https://github.com/pankod/refine/stargazers)\n\n## Contribution\n\nIf you have a bug to report, do not hesitate to file an issue.\n\nIf you are willing to fix an issue or propose a feature; all PRs with clear explanations are welcome and encouraged.\n\n## License\n\nLicensed under the MIT License, Copyright © 2021-present Pankod\n\n## Special Thanks\n\n[React Admin](https://marmelab.com/react-admin/) has been a great source of ideas and inspiration for refine. Big thanks to friends at [Marmelab](https://marmelab.com) for the amazing work they are doing.\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/pankod/refine/issues"},"homepage":"https://github.com/pankod/refine#readme","_id":"@pankod/refine-core@3.43.1","_nodeVersion":"16.16.0","_npmVersion":"8.11.0","dist":{"integrity":"sha512-PvYhSw6c3UWkqwLM++hD8zHLb15GxXBlenviAXWOjGqjr3q67iAI0mzIEZrzqG8VwP0CShhGiRDKRT6nzkk+Kg==","shasum":"f34f19b886b7143cbc0083662b33aff77b2542b3","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.43.1.tgz","fileCount":235,"unpackedSize":1601471,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCnE6Ip02oROTkNEiWfd1LSJcWe/kF53pnBiUxN2OavyAIgEqYoyg7v1pE0uRZ7f79p0unlcnxxDwCLWJv+yrUOtFY="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi2S0xACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpCmw/8CWOmRJV8q65dCfT1OzdYFJH854lwX5TgAZBkXufvS91Y/L6+\r\n5mwFfR9nx8e4JhdIkro63IAVBfXSrd7QNJosL3/T7PNwtsuxh0kHIY3nTs+l\r\nfyD3UIt1kWxDjTyhO+6YbzUzT60AA3FRT+UU87aOcuGgU8/5tl3//4ksuxtv\r\nSNpqgm8gF6XYA83RkqvmGWkQqTU1q8y3yvsQxzIIO6p7A4vAbBfQUBdxzXgD\r\nI/GktyTwy3pVfV1KPYSq8Br882BZJ2gpzb2QgV1gUH/ola6EXIyUvXWPbSux\r\nGuZFUcMVdtceDIAx87yhoaMOrEq3FRQK0LOxkQDnA0SeEK147MbFNTrLUm1f\r\nlVPVKtpeGRlNxtn1sLp5C6ojt25CCobng/p6HIyPzORouM95eus6rd3ujWx3\r\nDevI7ythnk+1FUyFfLOlU3I9LamfeFwTnJCLVzT9nxHRPNvd6X5e76ydnk4Y\r\nCgcmb17Ypcrlodzjn7d89aBFbAfvBcLcHA8wmBsSkfRKA1aH004HzTBJt1pW\r\nit5bv6U3g0iWguFL9GoJ+ZDZOE7cMV00/SKmJpxJjbe+nPIVkOl7X/S9r1PX\r\nVUm2TjdGMfFYq9kFXGKHNQ6MHL3iFdO7pPt4PcwN4SfbdNZVd8xRKfAOPWde\r\njV/wMm5w3xJvXizgbeVWX/nRvF2CMCzqf1M=\r\n=MYwN\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"aydinakyol","email":"aydinakyol11@gmail.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.43.1_1658400049761_0.08956725969403334"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.44.0":{"name":"@pankod/refine-core","version":"3.44.0","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --dts --format esm,cjs,iife --legacy-output","build":"tsup --dts --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.12.0","@testing-library/react":"^11.2.6","@testing-library/react-hooks":"^5.0.3","@testing-library/user-event":"^12.8.3","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^17.0.4","@types/react-dom":"^17.0.4","@types/testing-library__jest-dom":"^5.9.5","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"^6.0.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.4.3"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","humanize-string":"^2.1.0","lodash":"^4.17.21","lodash-es":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","react-query":"^3.19.2","tslib":"^2.3.1","jose":"^4.8.3"},"repository":{"type":"git","url":"git+https://github.com/pankod/refine.git","directory":"packages/core"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"17dd5af3e4c9f7f09e1e707362c6f5a9d1cab8a8","publishConfig":{"access":"public"},"bugs":{"url":"https://github.com/pankod/refine/issues"},"homepage":"https://github.com/pankod/refine#readme","_id":"@pankod/refine-core@3.44.0","_nodeVersion":"16.16.0","_npmVersion":"8.11.0","dist":{"integrity":"sha512-5hzs8uQe9SC/fAUsxR2QVqMDvEnmQjRlNGnJr4M07PRttJebybA/74e4c5KgRlpxEk1tIPuIjoTDFWCJE5D3Ag==","shasum":"d747355e30186105b5a9db6043328092171e8e03","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.44.0.tgz","fileCount":235,"unpackedSize":1601999,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDN7GqzToAzau4bPLp85DY428BhvLXyLCJXrx5kWap6ZAIhAI+cZHaXhTjbOYC4CiJfucravuTaMpH7VUIgNiJbVgjO"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi2UEUACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpRbRAAiu49QmABLcoVAsg7tbNbJ4+sfuO1eDvBhYZWYRmXLN4b6fIU\r\nPCxgdK6pkg4nCnJoh/5J8/9amXzDmPEvm/hgvuEypxeCoUBw3/M8O9EyYxM1\r\n8qdOiVC6xuWo96rrB3EHl/VYAEWC+/Xv5jS4fbRMqe+IVZbtyAd4GFEL79h6\r\nKmWvewFIuSkIA4XggpVP9RgyuDjmRTRBQKm1Wh+kni7wmLPfa5ddmY2CiWKN\r\ncsc7WOi5uwHg27BfNz5k/pPqvC3L91elr7M5PK1ckHfkm/rCzgfgge7+RUCz\r\n5D2Eel43bFvDuvcwEAjIGF2wDRw13lH0pdLJSGOvfSS8R82yWZys5YaCsoqx\r\nu0NQNM3ZrQCF2XMhCftqNL6dLvtBwXQv8I5C3aAcsuh2ulx0MHTVwWC3wCuj\r\nR83d94gl8vdX1bpcGbIJ+lOK8//aAvKDB7wI2SXqm2smO7CKRi3P3/r3r29G\r\ncg+3Fc74hdwKwXLzN0pLeDmMDr7lLbsJiV928ZCTdAZyF3OYiSqBINlEKSvd\r\nHlUbdxTaO/SVR50DDKxetBtRw7wnLUGvgYu7QfxR13nmbgVlK+PdSUXxh7JP\r\nMxfTc9CIT6ToYBzTbWchvWrtxEgPI4v7jRoGQCbiq+TGVReGwRctECJqLgeW\r\nDRDTc6c9Qx1fHh3ICiLGxoZ7CK5sC3dvsFs=\r\n=p7Pl\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"aydinakyol","email":"aydinakyol11@gmail.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.44.0_1658405140055_0.7066928845128586"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.45.0":{"name":"@pankod/refine-core","version":"3.45.0","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --dts --format esm,cjs,iife --legacy-output","build":"tsup --dts --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.12.0","@testing-library/react":"^11.2.6","@testing-library/react-hooks":"^5.0.3","@testing-library/user-event":"^12.8.3","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^17.0.4","@types/react-dom":"^17.0.4","@types/testing-library__jest-dom":"^5.9.5","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"^6.0.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.4.3"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","humanize-string":"^2.1.0","lodash":"^4.17.21","lodash-es":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","react-query":"^3.19.2","tslib":"^2.3.1","jose":"^4.8.3"},"repository":{"type":"git","url":"git+https://github.com/pankod/refine.git","directory":"packages/core"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"17dd5af3e4c9f7f09e1e707362c6f5a9d1cab8a8","publishConfig":{"access":"public"},"readme":"<div align=\"center\" style=\"margin: 30px;\">\n<a href=\"https://refine.dev/\">\n  <img src=\"https://raw.githubusercontent.com/pankod/refine/master/logo.png\"   style=\"width:250px;\" align=\"center\" />\n</a>\n<br />\n<br />\n\n<div align=\"center\">\n    <a href=\"https://refine.dev\">Home Page</a> |\n    <a href=\"https://refine.dev/demo/\">Demo</a> | \n    <a href=\"https://refine.dev/blog/\">Blog</a> | \n    <a href=\"https://refine.dev/docs/\">Documentation</a> | \n    <a href=\"https://github.com/pankod/refine/projects/1\">Roadmap</a> | \n    <a href=\"https://refine.dev/docs/examples/tutorial/\">Examples</a> | \n    <a href=\"https://refine.dev/enterprise/\">Enterprise</a> | \n    <a href=\"https://discord.gg/refine\">Discord</a>\n</div>\n\n</div>\n<br/>\n\n<div align=\"center\"><strong>refine</strong> is a <a href=\"https://reactjs.org/\">React</a>-based framework for building internal tools, rapidly. ✨ It ships with <a href=\"https://ant.design/\">Ant Design System</a>, an enterprise-level UI toolkit.</div>\n\n<br />\n\n<div align=\"center\">\n\n[![Discord](https://img.shields.io/discord/837692625737613362.svg?label=&logo=discord&logoColor=ffffff&color=7389D8&labelColor=6A7EC2)](https://discord.gg/refine)\n![Twitter Follow](https://img.shields.io/twitter/follow/refine_dev?style=social)\n\n<a href=\"https://www.producthunt.com/posts/refine-open-source-react-framework?utm_source=badge-featured&utm_medium=badge&utm_souce=badge-refine-open-source-react-framework\" target=\"_blank\"><img src=\"https://api.producthunt.com/widgets/embed-image/v1/featured.svg?post_id=319164&theme=light\" alt=\"refine: Open Source React Framework - Focus your business logic. refine will do the rest. | Product Hunt\" style=\"width: 250px; height: 54px;\" width=\"250\" height=\"54\" /></a>\n\n[![Meercode CI Score](https://meercode.io/badge/pankod/refine?type=ci-score&branch=master&token=2ZiT8YsoJgt57JB23NYwXrFY3rJHZboT&lastDay=31)](https://meercode.io/)\n[![Meercode CI Success Rate](https://meercode.io/badge/pankod/refine?type=ci-success-rate&branch=master&token=2ZiT8YsoJgt57JB23NYwXrFY3rJHZboT&lastDay=31)](https://meercode.io/)\n[![Maintainability](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/maintainability)](https://codeclimate.com/github/pankod/refine/maintainability)\n[![Test Coverage](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/test_coverage)](https://codeclimate.com/github/pankod/refine/test_coverage)\n[![npm version](https://img.shields.io/npm/v/@pankod/refine-core.svg)](https://www.npmjs.com/package/@pankod/refine-core)\n[![npm](https://img.shields.io/npm/dm/@pankod/refine-core)](https://www.npmjs.com/package/@pankod/refine-core)\n[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.0-4baaaa.svg)](code_of_conduct.md)\n\n\n</div>\n\n<div align=\"center\">\n  <sub>Created by <a href=\"https://www.pankod.com\">Pankod</a></sub>\n</div>\n\n## About\n\n[**refine**](https://refine.dev/) offers lots of out-of-the box functionality for rapid development, without compromising extreme customizability. Use-cases include, but are not limited to _admin panels_, _B2B applications_ and _dashboards_.\n\n## Documentation\n\nFor more detailed information and usage, refer to the [refine documentation](https://refine.dev/docs/).\n\n## What is refine?\n\n**refine** is a [React](https://reactjs.org/)-based framework for building internal tools, rapidly. :sparkles: It ships with [Ant Design System](https://ant.design/), an enterprise-level UI toolkit.\n\nRefine offers lots of out-of-the box functionality for rapid development, without compromising extreme customizability. Use-cases include, but are not limited to _admin panels_, _B2B applications_ and _dashboards_.\n\n## What is a \"headless\" Framework?\n**refine** is a **headless** React framework, which means all out-of-the-box features(**Routing**, **Networking**, **Authentication**, **Authorization**, **State Management**, **Realtime**, **i18n**, etc.), it can be used without being tied to any UI elements or framework. Also, Ant Design as out-of-the-box is supported.\n\n- Customization & Extensibility -  UI is a completely customizable area and each developer uses different solutions. **refine** features does not restrict or interfere with your UI structure. **refine** allows the you to design and customizable the UI based on their unique use case.\n\n- Separation of Concerns - **refine** as a framework, is not responsible for your UI and is independent.\n\n- Maintenance - By removing the API surface to support every UI use case, **refine** easy to use and update/maintain is simple.\n\n###\n\n## Key features\n\n🔥 **Headless** : Works with any UI framework\n\n⚙️ **Zero-configuration**: One-line setup with [superplate](https://github.com/pankod/superplate). It takes less than a minute to start a project.\n\n📦 **Out-of-the-box** : Routing, networking, authentication, state management, i18n and UI.\n\n🔌 **Backend Agnostic** : Connects to any custom backend. Built-in support for [REST API](https://github.com/pankod/refine/tree/master/packages/simple-rest), [GraphQL](https://github.com/pankod/refine/tree/master/packages/graphql), [NestJs CRUD](https://github.com/pankod/refine/tree/master/packages/nestjsx-crud), [Airtable](https://github.com/pankod/refine/tree/master/packages/airtable), [Strapi](https://github.com/pankod/refine/tree/master/packages/strapi), [Strapi v4](https://github.com/pankod/refine/tree/master/packages/strapi-v4), [Strapi GraphQL](https://github.com/pankod/refine/tree/master/packages/strapi-graphql), [Supabase](https://github.com/pankod/refine/tree/master/packages/supabase), [Hasura](https://github.com/pankod/refine/tree/master/packages/hasura), [Appwrite](https://github.com/pankod/refine/tree/master/packages/appwrite), [Firebase](https://firebase.google.com/), [Directus](https://directus.io/) and [Altogic](https://github.com/pankod/refine/tree/master/packages/altogic).\n\n📝 **Native Typescript Core** : You can always opt out for plain JavaScript.\n\n🐜 **Enterprise UI** : Works seamlessly with Ant Design System. (Support for multiple UI frameworks is on the Roadmap)\n\n📝 **Boilerplate-free Code** : Keeps your codebase clean and readable.\n\n## Motivation\n\nHigher-level frontend frameworks can save you a lot time, but they typically offer you a trade-off between speed and flexibility.\n\nAfter many years of experience in developing B2B frontend applications and working with popular frameworks, we came up with a new approach to tackle this dilemma. This is how **refine** is born.\n\n**refine** is a collection of helper `hooks`, `components` and `providers`. They are all decoupled from your UI components and business logic, so they never keep you from customizing your UI or coding your own flow.\n\nAs **refine** is totally _unopinionated_ about UI and logic, it's strongly _opinionated_ about three parts of your application:\n\n1. **API Networking**\n2. **State Management**\n3. **Authentication & Authorization**\n\nWe believe, these are the most important components of a data-intensive frontend application and should be handled in a robust way by leveraging industry best practices.\n\n**refine** guarantees you a perfect implementation of these building blocks in your project, so you can focus on your development.\n\n## Architecture\n\n**refine** makes extensive use of [hooks](https://reactjs.org/docs/hooks-reference.html#gatsby-focus-wrapper) as a default way for interacting with your components.\nUnder the hood, **refine** relies heavily to [React Query](https://react-query.tanstack.com/) for data handling, caching and state management.\nAccess to external sources and API's happen via providers which are basically plug-in type components for extendibility.\n\n<br/>\n\n<div align=\"center\">\n    <img src=\"https://raw.githubusercontent.com/pankod/refine/master/documentation/static/img/getting-started/refine_architecture.png\" width=\"400px\" />\n</div>\n\n## Benchmark\n\nAfter releasing the first internal versions, we had the chance to migrate some of our _React_ projects to **refine**.\nIn addition to **shorter development** times and **overall performance gains**, we've measured significant reduction in project size.\n\n**refine** makes your codebase significantly smaller, by eliminating redundant code such as _reducers_, _actions_ and _unit tests_. Below is a size comparison for an example project:\n\n<br/>\n\n<div align=\"center\">\n    <img src=\"https://raw.githubusercontent.com/pankod/refine/master/documentation/static/img/getting-started/benchmark.png\" width=\"400px\" align=\"center\" />\n</div>\n\n## Quick Start\n\nRun the **superplate** tool with the following command:\n\n```\nnpx superplate-cli -p refine-react tutorial\n```\n\nFollow the _CLI wizard_ to select options and start creating your project.\n\nAfter setup is complete, navigate to the project folder and start your project with:\n\n```\nnpm run dev\n```\n\nYour **refine** application will be accessible at [http://localhost:3000](http://localhost:3000).\n\nReplace the contents of `App.tsx` with the following code:\n\n```tsx title=\"App.tsx\"\nmport { Refine, useMany } from \"@pankod/refine-core\";\nimport {\n    useTable,\n    List,\n    Table,\n    DateField,\n} from \"@pankod/refine-antd\";\nimport routerProvider from \"@pankod/refine-react-router-v6\";\nimport dataProvider from \"@pankod/refine-simple-rest\";\n\nimport \"@pankod/refine-antd/dist/styles.min.css\";\n\nconst App: React.FC = () => {\n    return (\n        <Refine\n            routerProvider={routerProvider}\n            dataProvider={dataProvider(\"https://api.fake-rest.refine.dev\")}\n            resources={[{ name: \"posts\", list: PostList }]}\n        />\n    );\n};\n\nexport const PostList: React.FC = () => {\n    const { tableProps } = useTable<IPost>();\n\n    const categoryIds =\n        tableProps?.dataSource?.map((item) => item.category.id) ?? [];\n\n    const { data, isLoading } = useMany<ICategory>({\n        resource: \"categories\",\n        ids: categoryIds,\n        queryOptions: {\n            enabled: categoryIds.length > 0,\n        },\n    });\n\n    return (\n        <List>\n            <Table<IPost> {...tableProps} rowKey=\"id\">\n                <Table.Column dataIndex=\"title\" title=\"title\" />\n                <Table.Column\n                    dataIndex={[\"category\", \"id\"]}\n                    title=\"category\"\n                    render={(value: number) => {\n                        if (isLoading) {\n                            return \"loading...\";\n                        }\n\n                        return data?.data.find(\n                            (item: ICategory) => item.id === value,\n                        )?.title;\n                    }}\n                />\n                <Table.Column\n                    dataIndex=\"createdAt\"\n                    title=\"createdAt\"\n                    render={(value) => <DateField format=\"LLL\" value={value} />}\n                />\n            </Table>\n        </List>\n    );\n};\n\nexport default App;\n```\n\n```tsx title=\"interfaces.d.ts\"\ninterface IPost {\n    title: string;\n    createdAt: string;\n    category: { id: number };\n}\n\ninterface ICategory {\n    id: number;\n    title: string;\n}\n```\n\n## Roadmap\nYou can find Refine's <a href=\"https://github.com/pankod/refine/projects/1\">Public Roadmap here!</a> \n\n## Stargazers\n\n[![Stargazers repo roster for pankod/refine](https://reporoster.com/stars/pankod/refine)](https://github.com/pankod/refine/stargazers)\n\n## Contribution\n\nIf you have a bug to report, do not hesitate to file an issue.\n\nIf you are willing to fix an issue or propose a feature; all PRs with clear explanations are welcome and encouraged.\n\n## License\n\nLicensed under the MIT License, Copyright © 2021-present Pankod\n\n## Special Thanks\n\n[React Admin](https://marmelab.com/react-admin/) has been a great source of ideas and inspiration for refine. Big thanks to friends at [Marmelab](https://marmelab.com) for the amazing work they are doing.\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/pankod/refine/issues"},"homepage":"https://github.com/pankod/refine#readme","_id":"@pankod/refine-core@3.45.0","_nodeVersion":"16.16.0","_npmVersion":"8.11.0","dist":{"integrity":"sha512-Vkep8A0iZAn6/CIqb4syPUGrqYf2d/NHvPZQQ6iwJd768JQDYXpE1MBd2ppuT16e/jKUlzWfJ+ORWmo2nm9Law==","shasum":"767d8e0f1915faf25ee0835ad5146886e269b094","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.45.0.tgz","fileCount":235,"unpackedSize":1629302,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBSvx3+pQRcUI6ZfWJEkYJdOBso9+N0dh9PLgqFcv5ydAiA9+4NNz5kWPQaUpAoyNDD361YG3nDjksqxOFyQFPRiVg=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi2lrIACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmopsA//QCrLdIVeNcz5jyecdffbRUjsRIDL9OVqtWqrF9ckrgqOxxjV\r\nLAZ8ImX8uIJJ+tgpGM7O8rw+BobQ/KCEu2wrRLEBOqjCx+z40h6o3DHLUTDo\r\nA93o+l6f1ddRaJjoUwBLu59lHPDD6VImk/bMtgT/dgFjARIhYT33Uk9rMmNq\r\nXiHjJDVTNjeLgpvC/ecIbrpXGDVCAi4LU0yTUXfcdNoMqPUHshjOEPHoFU3l\r\nwOQL6mwsdZ7SNhDQUkB+5nltPXHpQf0JOLRLeenChpEKaK8OetBIhqooEptw\r\nhSuhvSa4hfn/f1RRy19xZPr99dqPNfyBtwurAH8e/aXIUQHypYrR52p794pX\r\nzTKFQUWyjaKQcSm9Wc1V6nTJc4R89jTJK3hSe4mN1LGM5fsVmFL9kMlBRccG\r\nsjOQrZJjZCQ/dX7JLODBbjnSeQGGT2Ur59lEuEAdHFijv0tc6FftkUm3DQ5Y\r\nyeaW5uAumgMkFh0vXnr/iA7KRj89oYQkA0sql4znAgp084S55sXTMVBCM/Ja\r\nIlPpZU8gHDuvav4FactbqdrqGitFFD2ELmmlV5AuDT6XYKBEz+w3aW/OqqPe\r\nwkkBiWTgspRaCxYc/lyMqsXrMjJnyJcs/bu768+5CAnnqxa3oq60MApSNNPQ\r\nliwbEsqgB2rsGHQzDzYTBz5jANUaCaWR+5k=\r\n=II7u\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"aydinakyol","email":"aydinakyol11@gmail.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.45.0_1658477256462_0.08809680630454353"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.46.0":{"name":"@pankod/refine-core","version":"3.46.0","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --dts --format esm,cjs,iife --legacy-output","build":"tsup --dts --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.12.0","@testing-library/react":"^11.2.6","@testing-library/react-hooks":"^5.0.3","@testing-library/user-event":"^12.8.3","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^17.0.4","@types/react-dom":"^17.0.4","@types/testing-library__jest-dom":"^5.9.5","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"^6.0.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.4.3"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","humanize-string":"^2.1.0","lodash":"^4.17.21","lodash-es":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","react-query":"^3.19.2","tslib":"^2.3.1","jose":"^4.8.3"},"repository":{"type":"git","url":"git+https://github.com/pankod/refine.git","directory":"packages/core"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"17dd5af3e4c9f7f09e1e707362c6f5a9d1cab8a8","publishConfig":{"access":"public"},"bugs":{"url":"https://github.com/pankod/refine/issues"},"homepage":"https://github.com/pankod/refine#readme","_id":"@pankod/refine-core@3.46.0","_nodeVersion":"16.16.0","_npmVersion":"8.11.0","dist":{"integrity":"sha512-G1SjhjlFcCcHX5JzaQcupIpCR4TITNPUWtMN9ivJTqtn4whwETQgVW/WS/EFmu6Ha6iLi7iI/sDZ6o07t6qYPw==","shasum":"2abf836df4e67aa8004f7b3ab8f16a7e3bb9faa0","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.46.0.tgz","fileCount":235,"unpackedSize":1630204,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAKzmStMGawXRMdzht7pkqYpi/uLGAKL7QkBPNLbYEPYAiEAvPy3wSQaaNfcc5AvWwOHVDRXA517qIbVC3Bu1FE0So8="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi2pXQACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo28xAAkS9YnFmWs9wcj9dCgOJ3EyVNcSU5RZGibLZn0BpuaF6704vN\r\nZKetx31vO5xVzBdTHhws/j1+WugrWJsTSrIiItjC71rB5Rt6Wbu7bBZwOtlG\r\n57iB5PqpIxINHjXLHfZ0lmU8/oATupE04tCe4olguYCEvmpPjePHncaJ+L89\r\nrdU9pWs3svfXSaaxnW8R6DZvKu+kVDVr9gkAgy85R4Gvd+bEPkQ1nQXz5a26\r\n3kgQHqpU7mfcY3DUWCACl0EW3BR0Pp6nx4ZXMOPePvQ16JyPhW9K1KfQyeJw\r\nhjhO1QXez8M6bteI53tvUSRgxHNgNUM1fQxyFj7C83gnOrwrMO9OsbqR6aTY\r\nY7oV+8tAAB+b+5laX5SBEnWxDNhjm4uw5NEJoVkaNlan3KntbTxOspl1afjA\r\nUOjw99UjAzB/dDsHNzWKCp8GchYgCDtdfG6lyfbLOvUaKxvm9N71zZ7X44dH\r\nCSOutyRSwhoXZSCMA65e2xqHWYBvn6QyhraX2PXNBlo8md0gDh0xyv1BpGzd\r\nGVYAir1CUF20XCGMoCKhHbL5Q/bNmAgCPSof5kC+gpTt2YM6vVJZz+I+UMw2\r\n0oIiR94tvslhXkNvRJwoK9BEzlN1RcT7VhXyYNyc0CRVzBHlZZ4yhMqv0KHQ\r\nZwZAky+7paZWKYP+2vMGCpKSc2PGlRTRppM=\r\n=ML40\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"aydinakyol","email":"aydinakyol11@gmail.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.46.0_1658492368205_0.06340372527029214"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.47.0":{"name":"@pankod/refine-core","version":"3.47.0","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --dts --format esm,cjs,iife --legacy-output","build":"tsup --dts --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.12.0","@testing-library/react":"^11.2.6","@testing-library/react-hooks":"^5.0.3","@testing-library/user-event":"^12.8.3","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^17.0.4","@types/react-dom":"^17.0.4","@types/testing-library__jest-dom":"^5.9.5","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"^6.0.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.4.3"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","humanize-string":"^2.1.0","lodash":"^4.17.21","lodash-es":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","react-query":"^3.19.2","tslib":"^2.3.1","jose":"^4.8.3"},"repository":{"type":"git","url":"git+https://github.com/pankod/refine.git","directory":"packages/core"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"17dd5af3e4c9f7f09e1e707362c6f5a9d1cab8a8","publishConfig":{"access":"public"},"readme":"<div align=\"center\" style=\"margin: 30px;\">\n<a href=\"https://refine.dev/\">\n  <img src=\"https://raw.githubusercontent.com/pankod/refine/master/logo.png\"   style=\"width:250px;\" align=\"center\" />\n</a>\n<br />\n<br />\n\n<div align=\"center\">\n    <a href=\"https://refine.dev\">Home Page</a> |\n    <a href=\"https://refine.dev/demo/\">Demo</a> | \n    <a href=\"https://refine.dev/blog/\">Blog</a> | \n    <a href=\"https://refine.dev/docs/\">Documentation</a> | \n    <a href=\"https://github.com/pankod/refine/projects/1\">Roadmap</a> | \n    <a href=\"https://refine.dev/docs/examples/tutorial/\">Examples</a> | \n    <a href=\"https://refine.dev/enterprise/\">Enterprise</a> | \n    <a href=\"https://discord.gg/refine\">Discord</a>\n</div>\n\n</div>\n<br/>\n\n<div align=\"center\"><strong>refine</strong> is a <a href=\"https://reactjs.org/\">React</a>-based framework for building internal tools, rapidly. ✨ It ships with <a href=\"https://ant.design/\">Ant Design System</a>, an enterprise-level UI toolkit.</div>\n\n<br />\n\n<div align=\"center\">\n\n[![Discord](https://img.shields.io/discord/837692625737613362.svg?label=&logo=discord&logoColor=ffffff&color=7389D8&labelColor=6A7EC2)](https://discord.gg/refine)\n![Twitter Follow](https://img.shields.io/twitter/follow/refine_dev?style=social)\n\n<a href=\"https://www.producthunt.com/posts/refine-open-source-react-framework?utm_source=badge-featured&utm_medium=badge&utm_souce=badge-refine-open-source-react-framework\" target=\"_blank\"><img src=\"https://api.producthunt.com/widgets/embed-image/v1/featured.svg?post_id=319164&theme=light\" alt=\"refine: Open Source React Framework - Focus your business logic. refine will do the rest. | Product Hunt\" style=\"width: 250px; height: 54px;\" width=\"250\" height=\"54\" /></a>\n\n[![Meercode CI Score](https://meercode.io/badge/pankod/refine?type=ci-score&branch=master&token=2ZiT8YsoJgt57JB23NYwXrFY3rJHZboT&lastDay=31)](https://meercode.io/)\n[![Meercode CI Success Rate](https://meercode.io/badge/pankod/refine?type=ci-success-rate&branch=master&token=2ZiT8YsoJgt57JB23NYwXrFY3rJHZboT&lastDay=31)](https://meercode.io/)\n[![Maintainability](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/maintainability)](https://codeclimate.com/github/pankod/refine/maintainability)\n[![Test Coverage](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/test_coverage)](https://codeclimate.com/github/pankod/refine/test_coverage)\n[![npm version](https://img.shields.io/npm/v/@pankod/refine-core.svg)](https://www.npmjs.com/package/@pankod/refine-core)\n[![npm](https://img.shields.io/npm/dm/@pankod/refine-core)](https://www.npmjs.com/package/@pankod/refine-core)\n[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.0-4baaaa.svg)](code_of_conduct.md)\n\n\n</div>\n\n<div align=\"center\">\n  <sub>Created by <a href=\"https://www.pankod.com\">Pankod</a></sub>\n</div>\n\n## About\n\n[**refine**](https://refine.dev/) offers lots of out-of-the box functionality for rapid development, without compromising extreme customizability. Use-cases include, but are not limited to _admin panels_, _B2B applications_ and _dashboards_.\n\n## Documentation\n\nFor more detailed information and usage, refer to the [refine documentation](https://refine.dev/docs/).\n\n## What is refine?\n\n**refine** is a [React](https://reactjs.org/)-based framework for building internal tools, rapidly. :sparkles: It ships with [Ant Design System](https://ant.design/), an enterprise-level UI toolkit.\n\nRefine offers lots of out-of-the box functionality for rapid development, without compromising extreme customizability. Use-cases include, but are not limited to _admin panels_, _B2B applications_ and _dashboards_.\n\n## What is a \"headless\" Framework?\n**refine** is a **headless** React framework, which means all out-of-the-box features(**Routing**, **Networking**, **Authentication**, **Authorization**, **State Management**, **Realtime**, **i18n**, etc.), it can be used without being tied to any UI elements or framework. Also, Ant Design as out-of-the-box is supported.\n\n- Customization & Extensibility -  UI is a completely customizable area and each developer uses different solutions. **refine** features does not restrict or interfere with your UI structure. **refine** allows the you to design and customizable the UI based on their unique use case.\n\n- Separation of Concerns - **refine** as a framework, is not responsible for your UI and is independent.\n\n- Maintenance - By removing the API surface to support every UI use case, **refine** easy to use and update/maintain is simple.\n\n###\n\n## Key features\n\n🔥 **Headless** : Works with any UI framework\n\n⚙️ **Zero-configuration**: One-line setup with [superplate](https://github.com/pankod/superplate). It takes less than a minute to start a project.\n\n📦 **Out-of-the-box** : Routing, networking, authentication, state management, i18n and UI.\n\n🔌 **Backend Agnostic** : Connects to any custom backend. Built-in support for [REST API](https://github.com/pankod/refine/tree/master/packages/simple-rest), [GraphQL](https://github.com/pankod/refine/tree/master/packages/graphql), [NestJs CRUD](https://github.com/pankod/refine/tree/master/packages/nestjsx-crud), [Airtable](https://github.com/pankod/refine/tree/master/packages/airtable), [Strapi](https://github.com/pankod/refine/tree/master/packages/strapi), [Strapi v4](https://github.com/pankod/refine/tree/master/packages/strapi-v4), [Strapi GraphQL](https://github.com/pankod/refine/tree/master/packages/strapi-graphql), [Supabase](https://github.com/pankod/refine/tree/master/packages/supabase), [Hasura](https://github.com/pankod/refine/tree/master/packages/hasura), [Appwrite](https://github.com/pankod/refine/tree/master/packages/appwrite), [Firebase](https://firebase.google.com/), [Directus](https://directus.io/) and [Altogic](https://github.com/pankod/refine/tree/master/packages/altogic).\n\n📝 **Native Typescript Core** : You can always opt out for plain JavaScript.\n\n🐜 **Enterprise UI** : Works seamlessly with Ant Design System. (Support for multiple UI frameworks is on the Roadmap)\n\n📝 **Boilerplate-free Code** : Keeps your codebase clean and readable.\n\n## Motivation\n\nHigher-level frontend frameworks can save you a lot time, but they typically offer you a trade-off between speed and flexibility.\n\nAfter many years of experience in developing B2B frontend applications and working with popular frameworks, we came up with a new approach to tackle this dilemma. This is how **refine** is born.\n\n**refine** is a collection of helper `hooks`, `components` and `providers`. They are all decoupled from your UI components and business logic, so they never keep you from customizing your UI or coding your own flow.\n\nAs **refine** is totally _unopinionated_ about UI and logic, it's strongly _opinionated_ about three parts of your application:\n\n1. **API Networking**\n2. **State Management**\n3. **Authentication & Authorization**\n\nWe believe, these are the most important components of a data-intensive frontend application and should be handled in a robust way by leveraging industry best practices.\n\n**refine** guarantees you a perfect implementation of these building blocks in your project, so you can focus on your development.\n\n## Architecture\n\n**refine** makes extensive use of [hooks](https://reactjs.org/docs/hooks-reference.html#gatsby-focus-wrapper) as a default way for interacting with your components.\nUnder the hood, **refine** relies heavily to [React Query](https://react-query.tanstack.com/) for data handling, caching and state management.\nAccess to external sources and API's happen via providers which are basically plug-in type components for extendibility.\n\n<br/>\n\n<div align=\"center\">\n    <img src=\"https://raw.githubusercontent.com/pankod/refine/master/documentation/static/img/getting-started/refine_architecture.png\" width=\"400px\" />\n</div>\n\n## Benchmark\n\nAfter releasing the first internal versions, we had the chance to migrate some of our _React_ projects to **refine**.\nIn addition to **shorter development** times and **overall performance gains**, we've measured significant reduction in project size.\n\n**refine** makes your codebase significantly smaller, by eliminating redundant code such as _reducers_, _actions_ and _unit tests_. Below is a size comparison for an example project:\n\n<br/>\n\n<div align=\"center\">\n    <img src=\"https://raw.githubusercontent.com/pankod/refine/master/documentation/static/img/getting-started/benchmark.png\" width=\"400px\" align=\"center\" />\n</div>\n\n## Quick Start\n\nRun the **superplate** tool with the following command:\n\n```\nnpx superplate-cli -p refine-react tutorial\n```\n\nFollow the _CLI wizard_ to select options and start creating your project.\n\nAfter setup is complete, navigate to the project folder and start your project with:\n\n```\nnpm run dev\n```\n\nYour **refine** application will be accessible at [http://localhost:3000](http://localhost:3000).\n\nReplace the contents of `App.tsx` with the following code:\n\n```tsx title=\"App.tsx\"\nmport { Refine, useMany } from \"@pankod/refine-core\";\nimport {\n    useTable,\n    List,\n    Table,\n    DateField,\n} from \"@pankod/refine-antd\";\nimport routerProvider from \"@pankod/refine-react-router-v6\";\nimport dataProvider from \"@pankod/refine-simple-rest\";\n\nimport \"@pankod/refine-antd/dist/styles.min.css\";\n\nconst App: React.FC = () => {\n    return (\n        <Refine\n            routerProvider={routerProvider}\n            dataProvider={dataProvider(\"https://api.fake-rest.refine.dev\")}\n            resources={[{ name: \"posts\", list: PostList }]}\n        />\n    );\n};\n\nexport const PostList: React.FC = () => {\n    const { tableProps } = useTable<IPost>();\n\n    const categoryIds =\n        tableProps?.dataSource?.map((item) => item.category.id) ?? [];\n\n    const { data, isLoading } = useMany<ICategory>({\n        resource: \"categories\",\n        ids: categoryIds,\n        queryOptions: {\n            enabled: categoryIds.length > 0,\n        },\n    });\n\n    return (\n        <List>\n            <Table<IPost> {...tableProps} rowKey=\"id\">\n                <Table.Column dataIndex=\"title\" title=\"title\" />\n                <Table.Column\n                    dataIndex={[\"category\", \"id\"]}\n                    title=\"category\"\n                    render={(value: number) => {\n                        if (isLoading) {\n                            return \"loading...\";\n                        }\n\n                        return data?.data.find(\n                            (item: ICategory) => item.id === value,\n                        )?.title;\n                    }}\n                />\n                <Table.Column\n                    dataIndex=\"createdAt\"\n                    title=\"createdAt\"\n                    render={(value) => <DateField format=\"LLL\" value={value} />}\n                />\n            </Table>\n        </List>\n    );\n};\n\nexport default App;\n```\n\n```tsx title=\"interfaces.d.ts\"\ninterface IPost {\n    title: string;\n    createdAt: string;\n    category: { id: number };\n}\n\ninterface ICategory {\n    id: number;\n    title: string;\n}\n```\n\n## Roadmap\nYou can find Refine's <a href=\"https://github.com/pankod/refine/projects/1\">Public Roadmap here!</a> \n\n## Stargazers\n\n[![Stargazers repo roster for pankod/refine](https://reporoster.com/stars/pankod/refine)](https://github.com/pankod/refine/stargazers)\n\n## Contribution\n\nIf you have a bug to report, do not hesitate to file an issue.\n\nIf you are willing to fix an issue or propose a feature; all PRs with clear explanations are welcome and encouraged.\n\n## License\n\nLicensed under the MIT License, Copyright © 2021-present Pankod\n\n## Special Thanks\n\n[React Admin](https://marmelab.com/react-admin/) has been a great source of ideas and inspiration for refine. Big thanks to friends at [Marmelab](https://marmelab.com) for the amazing work they are doing.\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/pankod/refine/issues"},"homepage":"https://github.com/pankod/refine#readme","_id":"@pankod/refine-core@3.47.0","_nodeVersion":"16.16.0","_npmVersion":"8.11.0","dist":{"integrity":"sha512-EyGxg1WBK/tXooFGaT3JDDCSzC5fdxq3+89E1xg3Sf3rzziRmsKg5CHGs5SOn4Yd8SaXdIXMoWizmp99LkyMLA==","shasum":"1704f3eaadc5b9ca06ea5e95abae72b10d788b50","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.47.0.tgz","fileCount":234,"unpackedSize":1736664,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIG7JW7pTKDTgGqG1dnCaes+vk03tQmwue0WG8PKV3k0sAiAl4B3u+c8XX/sLVUJGpHlEXAzpTinY5Rf4fjFLjGZbCw=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi3+pJACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoiixAAnI2cTyzMJULzDvF9mJWgjPz6HyF1yVwT8zL8+UHG8tH4JHAg\r\nAEvgLoHHQH9yIwtOOem41V4J0DY4CxA/VR05Rx/VUQaBMOYxlsy3frDxwIu4\r\nz5v+YhHMdbyorAgBOWSnKyw2pK9QAT06nMJiFzOCi1ZY0Kxq43NXNDobv2Td\r\n384M3V8ugLKe7bmghjfNwWD5Aoj/MsCdyxXSHcjR8NRmdhRhnHtVUxf1SDH7\r\n3QlubT5HdceDI2zWI9uDt44kWY1+jR1qY+BE7Sx6YEttIackAdg11e5nmhl8\r\ngsxci9wJVZ3NzU3DiL0MgEdHx6Yc6PBk1GUZKheej2CX1JYZVD7aQgjkhqWu\r\nBs1al41X7qBuZ2kdv/pE9uqW6ub50qSkFxp+KL+uqZY0eJZu+UpaTIU4r6Dv\r\nrtbQiipFnMfwQogaPvxOzM+yF63uojMRv5a5QmM+KMLHwZc8ien+aagxSAuE\r\nvFkqXzyqTzGrIK096YtuM3ub5gKSDOU0rilKDtZHnk7CAu6aNTcXocFW8NeT\r\n6BT9Zee4prJ35HVCbJoSdxW0UPqAXxl6g0c1xodDgwPe0OrKJ/vd1EGN5+9C\r\n7j1CxxxCo1agqmJA3G9xvMZvomARcDsWrYvtHs590B2BPCbpbkqernhJCYZX\r\n02C10Q/L/PrTrPcqDUFNsTAc+3t4STjT9mk=\r\n=uFzh\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"aydinakyol","email":"aydinakyol11@gmail.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.47.0_1658841673417_0.40336609842967297"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.48.0":{"name":"@pankod/refine-core","version":"3.48.0","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --dts --format esm,cjs,iife --legacy-output","build":"tsup --dts --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.12.0","@testing-library/react":"^11.2.6","@testing-library/react-hooks":"^5.0.3","@testing-library/user-event":"^12.8.3","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^17.0.4","@types/react-dom":"^17.0.4","@types/testing-library__jest-dom":"^5.9.5","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"^6.0.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.4.3"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","humanize-string":"^2.1.0","lodash":"^4.17.21","lodash-es":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","react-query":"^3.19.2","tslib":"^2.3.1","jose":"^4.8.3"},"repository":{"type":"git","url":"git+https://github.com/pankod/refine.git","directory":"packages/core"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"17dd5af3e4c9f7f09e1e707362c6f5a9d1cab8a8","publishConfig":{"access":"public"},"bugs":{"url":"https://github.com/pankod/refine/issues"},"homepage":"https://github.com/pankod/refine#readme","_id":"@pankod/refine-core@3.48.0","_nodeVersion":"16.16.0","_npmVersion":"8.11.0","dist":{"integrity":"sha512-ZUtniJIrO/9dOFtr9bFPyc2XIavm9HbLMQYSl62g4CXdkyWvqvLHkXdo/p8J9NEsXBGC12jHzmBrtcSH+uKSMQ==","shasum":"e14f80d05eefb365f4ed05845a82efacf33fda51","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.48.0.tgz","fileCount":234,"unpackedSize":1737242,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDw8kmzjUAjVRD7sxSmQbYEa9tCXSusP/lVPfBoz/MCUgIgMu9JXUgGGE/CpwDiTjG8m6Q6WLjSrAyy0W775ngLWSs="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi3/BWACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmonihAAiZmenDTGVtCMMoJK38q+7VFHsqdgwtHNIf4Ilrwy+xNjikC2\r\nmLURi+Mgzi99LeF5P2s5SzMQPxXueLjzz2TDPJvKj6st9C4Wuf1XKLjsjXE4\r\nouNTO0AOxQ8erjnCl+PDZubnDsqS4d9W4p2UUKv5a9/L7gV/m0cq+zmGTEF9\r\nuoRROpvNODMU4sWND9mCvlBjr8GLv7mYyMRXbY2y1Obz4K+yS4dkLzzijKGp\r\nP3PiynyxcgSqA+ULNVs1GsuBD85D1W7vnbGefU7YkOB0lA98skS3EpSjX92T\r\nNz80fFMC8xPtuXi72FtssCqAReX7bExGuVpuuu42MVCPFm96du2bOLt8DiO5\r\ncLots26Z0EkowbQitRpF+tNUP1U3IEJIs72ZMPecmOV+da1uhd13aLvHtEHg\r\njm92zYng2fwnJINPIsrDYqordwnmu1H5CvejtpQ8JNcS3d8R8+T5wdu8rg1Y\r\n1qMB+S+SpZU1674c3tDBP7/aJs/piN41B7UQ0NxHAJd8KRGVtxv3pKS0HQM+\r\ni/PVGC9hcdukLo7Wt4BBuAjwZ7FudlSKOPQlDSPwEOu+BDLiEQyrpllDyfkf\r\n9Y3iUET5cIIwJXBZyh4/+EC6D7+/9FDvYPj9HqUBG6P6i9YfdhjX+U1zvDC4\r\n3jo4nGoTOG6TLl/uxOGU3JJpd39bP6ELpJk=\r\n=thil\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"aydinakyol","email":"aydinakyol11@gmail.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.48.0_1658843222344_0.09048713134643216"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.49.0":{"name":"@pankod/refine-core","version":"3.49.0","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --dts --format esm,cjs,iife --legacy-output","build":"tsup --dts --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.12.0","@testing-library/react":"^11.2.6","@testing-library/react-hooks":"^5.0.3","@testing-library/user-event":"^12.8.3","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^17.0.4","@types/react-dom":"^17.0.4","@types/testing-library__jest-dom":"^5.9.5","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"^6.0.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.4.3"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","humanize-string":"^2.1.0","lodash":"^4.17.21","lodash-es":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","react-query":"^3.19.2","tslib":"^2.3.1","warn-once":"^0.1.0","jose":"^4.8.3"},"repository":{"type":"git","url":"git+https://github.com/pankod/refine.git","directory":"packages/core"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"17dd5af3e4c9f7f09e1e707362c6f5a9d1cab8a8","publishConfig":{"access":"public"},"readme":"<div align=\"center\" style=\"margin: 30px;\">\n<a href=\"https://refine.dev/\">\n  <img src=\"https://raw.githubusercontent.com/pankod/refine/master/logo.png\"   style=\"width:250px;\" align=\"center\" />\n</a>\n<br />\n<br />\n\n<div align=\"center\">\n    <a href=\"https://refine.dev\">Home Page</a> |\n    <a href=\"https://refine.dev/demo/\">Demo</a> | \n    <a href=\"https://refine.dev/blog/\">Blog</a> | \n    <a href=\"https://refine.dev/docs/\">Documentation</a> | \n    <a href=\"https://github.com/pankod/refine/projects/1\">Roadmap</a> | \n    <a href=\"https://refine.dev/docs/examples/tutorial/\">Examples</a> | \n    <a href=\"https://refine.dev/enterprise/\">Enterprise</a> | \n    <a href=\"https://discord.gg/refine\">Discord</a>\n</div>\n\n</div>\n<br/>\n\n<div align=\"center\"><strong>refine</strong> is a <a href=\"https://reactjs.org/\">React</a>-based framework for building internal tools, rapidly. ✨ It ships with <a href=\"https://ant.design/\">Ant Design System</a>, an enterprise-level UI toolkit.</div>\n\n<br />\n\n<div align=\"center\">\n\n[![Discord](https://img.shields.io/discord/837692625737613362.svg?label=&logo=discord&logoColor=ffffff&color=7389D8&labelColor=6A7EC2)](https://discord.gg/refine)\n![Twitter Follow](https://img.shields.io/twitter/follow/refine_dev?style=social)\n\n<a href=\"https://www.producthunt.com/posts/refine-open-source-react-framework?utm_source=badge-featured&utm_medium=badge&utm_souce=badge-refine-open-source-react-framework\" target=\"_blank\"><img src=\"https://api.producthunt.com/widgets/embed-image/v1/featured.svg?post_id=319164&theme=light\" alt=\"refine: Open Source React Framework - Focus your business logic. refine will do the rest. | Product Hunt\" style=\"width: 250px; height: 54px;\" width=\"250\" height=\"54\" /></a>\n\n[![Meercode CI Score](https://meercode.io/badge/pankod/refine?type=ci-score&branch=master&token=2ZiT8YsoJgt57JB23NYwXrFY3rJHZboT&lastDay=31)](https://meercode.io/)\n[![Meercode CI Success Rate](https://meercode.io/badge/pankod/refine?type=ci-success-rate&branch=master&token=2ZiT8YsoJgt57JB23NYwXrFY3rJHZboT&lastDay=31)](https://meercode.io/)\n[![Maintainability](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/maintainability)](https://codeclimate.com/github/pankod/refine/maintainability)\n[![Test Coverage](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/test_coverage)](https://codeclimate.com/github/pankod/refine/test_coverage)\n[![npm version](https://img.shields.io/npm/v/@pankod/refine-core.svg)](https://www.npmjs.com/package/@pankod/refine-core)\n[![npm](https://img.shields.io/npm/dm/@pankod/refine-core)](https://www.npmjs.com/package/@pankod/refine-core)\n[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.0-4baaaa.svg)](code_of_conduct.md)\n\n\n</div>\n\n<div align=\"center\">\n  <sub>Created by <a href=\"https://www.pankod.com\">Pankod</a></sub>\n</div>\n\n## About\n\n[**refine**](https://refine.dev/) offers lots of out-of-the box functionality for rapid development, without compromising extreme customizability. Use-cases include, but are not limited to _admin panels_, _B2B applications_ and _dashboards_.\n\n## Documentation\n\nFor more detailed information and usage, refer to the [refine documentation](https://refine.dev/docs/).\n\n## What is refine?\n\n**refine** is a [React](https://reactjs.org/)-based framework for building internal tools, rapidly. :sparkles: It ships with [Ant Design System](https://ant.design/), an enterprise-level UI toolkit.\n\nRefine offers lots of out-of-the box functionality for rapid development, without compromising extreme customizability. Use-cases include, but are not limited to _admin panels_, _B2B applications_ and _dashboards_.\n\n## What is a \"headless\" Framework?\n**refine** is a **headless** React framework, which means all out-of-the-box features(**Routing**, **Networking**, **Authentication**, **Authorization**, **State Management**, **Realtime**, **i18n**, etc.), it can be used without being tied to any UI elements or framework. Also, Ant Design as out-of-the-box is supported.\n\n- Customization & Extensibility -  UI is a completely customizable area and each developer uses different solutions. **refine** features does not restrict or interfere with your UI structure. **refine** allows the you to design and customizable the UI based on their unique use case.\n\n- Separation of Concerns - **refine** as a framework, is not responsible for your UI and is independent.\n\n- Maintenance - By removing the API surface to support every UI use case, **refine** easy to use and update/maintain is simple.\n\n###\n\n## Key features\n\n🔥 **Headless** : Works with any UI framework\n\n⚙️ **Zero-configuration**: One-line setup with [superplate](https://github.com/pankod/superplate). It takes less than a minute to start a project.\n\n📦 **Out-of-the-box** : Routing, networking, authentication, state management, i18n and UI.\n\n🔌 **Backend Agnostic** : Connects to any custom backend. Built-in support for [REST API](https://github.com/pankod/refine/tree/master/packages/simple-rest), [GraphQL](https://github.com/pankod/refine/tree/master/packages/graphql), [NestJs CRUD](https://github.com/pankod/refine/tree/master/packages/nestjsx-crud), [Airtable](https://github.com/pankod/refine/tree/master/packages/airtable), [Strapi](https://github.com/pankod/refine/tree/master/packages/strapi), [Strapi v4](https://github.com/pankod/refine/tree/master/packages/strapi-v4), [Strapi GraphQL](https://github.com/pankod/refine/tree/master/packages/strapi-graphql), [Supabase](https://github.com/pankod/refine/tree/master/packages/supabase), [Hasura](https://github.com/pankod/refine/tree/master/packages/hasura), [Appwrite](https://github.com/pankod/refine/tree/master/packages/appwrite), [Firebase](https://firebase.google.com/), [Directus](https://directus.io/) and [Altogic](https://github.com/pankod/refine/tree/master/packages/altogic).\n\n📝 **Native Typescript Core** : You can always opt out for plain JavaScript.\n\n🐜 **Enterprise UI** : Works seamlessly with Ant Design System. (Support for multiple UI frameworks is on the Roadmap)\n\n📝 **Boilerplate-free Code** : Keeps your codebase clean and readable.\n\n## Motivation\n\nHigher-level frontend frameworks can save you a lot time, but they typically offer you a trade-off between speed and flexibility.\n\nAfter many years of experience in developing B2B frontend applications and working with popular frameworks, we came up with a new approach to tackle this dilemma. This is how **refine** is born.\n\n**refine** is a collection of helper `hooks`, `components` and `providers`. They are all decoupled from your UI components and business logic, so they never keep you from customizing your UI or coding your own flow.\n\nAs **refine** is totally _unopinionated_ about UI and logic, it's strongly _opinionated_ about three parts of your application:\n\n1. **API Networking**\n2. **State Management**\n3. **Authentication & Authorization**\n\nWe believe, these are the most important components of a data-intensive frontend application and should be handled in a robust way by leveraging industry best practices.\n\n**refine** guarantees you a perfect implementation of these building blocks in your project, so you can focus on your development.\n\n## Architecture\n\n**refine** makes extensive use of [hooks](https://reactjs.org/docs/hooks-reference.html#gatsby-focus-wrapper) as a default way for interacting with your components.\nUnder the hood, **refine** relies heavily to [React Query](https://react-query.tanstack.com/) for data handling, caching and state management.\nAccess to external sources and API's happen via providers which are basically plug-in type components for extendibility.\n\n<br/>\n\n<div align=\"center\">\n    <img src=\"https://raw.githubusercontent.com/pankod/refine/master/documentation/static/img/getting-started/refine_architecture.png\" width=\"400px\" />\n</div>\n\n## Benchmark\n\nAfter releasing the first internal versions, we had the chance to migrate some of our _React_ projects to **refine**.\nIn addition to **shorter development** times and **overall performance gains**, we've measured significant reduction in project size.\n\n**refine** makes your codebase significantly smaller, by eliminating redundant code such as _reducers_, _actions_ and _unit tests_. Below is a size comparison for an example project:\n\n<br/>\n\n<div align=\"center\">\n    <img src=\"https://raw.githubusercontent.com/pankod/refine/master/documentation/static/img/getting-started/benchmark.png\" width=\"400px\" align=\"center\" />\n</div>\n\n## Quick Start\n\nRun the **superplate** tool with the following command:\n\n```\nnpx superplate-cli -p refine-react tutorial\n```\n\nFollow the _CLI wizard_ to select options and start creating your project.\n\nAfter setup is complete, navigate to the project folder and start your project with:\n\n```\nnpm run dev\n```\n\nYour **refine** application will be accessible at [http://localhost:3000](http://localhost:3000).\n\nReplace the contents of `App.tsx` with the following code:\n\n```tsx title=\"App.tsx\"\nmport { Refine, useMany } from \"@pankod/refine-core\";\nimport {\n    useTable,\n    List,\n    Table,\n    DateField,\n} from \"@pankod/refine-antd\";\nimport routerProvider from \"@pankod/refine-react-router-v6\";\nimport dataProvider from \"@pankod/refine-simple-rest\";\n\nimport \"@pankod/refine-antd/dist/styles.min.css\";\n\nconst App: React.FC = () => {\n    return (\n        <Refine\n            routerProvider={routerProvider}\n            dataProvider={dataProvider(\"https://api.fake-rest.refine.dev\")}\n            resources={[{ name: \"posts\", list: PostList }]}\n        />\n    );\n};\n\nexport const PostList: React.FC = () => {\n    const { tableProps } = useTable<IPost>();\n\n    const categoryIds =\n        tableProps?.dataSource?.map((item) => item.category.id) ?? [];\n\n    const { data, isLoading } = useMany<ICategory>({\n        resource: \"categories\",\n        ids: categoryIds,\n        queryOptions: {\n            enabled: categoryIds.length > 0,\n        },\n    });\n\n    return (\n        <List>\n            <Table<IPost> {...tableProps} rowKey=\"id\">\n                <Table.Column dataIndex=\"title\" title=\"title\" />\n                <Table.Column\n                    dataIndex={[\"category\", \"id\"]}\n                    title=\"category\"\n                    render={(value: number) => {\n                        if (isLoading) {\n                            return \"loading...\";\n                        }\n\n                        return data?.data.find(\n                            (item: ICategory) => item.id === value,\n                        )?.title;\n                    }}\n                />\n                <Table.Column\n                    dataIndex=\"createdAt\"\n                    title=\"createdAt\"\n                    render={(value) => <DateField format=\"LLL\" value={value} />}\n                />\n            </Table>\n        </List>\n    );\n};\n\nexport default App;\n```\n\n```tsx title=\"interfaces.d.ts\"\ninterface IPost {\n    title: string;\n    createdAt: string;\n    category: { id: number };\n}\n\ninterface ICategory {\n    id: number;\n    title: string;\n}\n```\n\n## Roadmap\nYou can find Refine's <a href=\"https://github.com/pankod/refine/projects/1\">Public Roadmap here!</a> \n\n## Stargazers\n\n[![Stargazers repo roster for pankod/refine](https://reporoster.com/stars/pankod/refine)](https://github.com/pankod/refine/stargazers)\n\n## Contribution\n\nIf you have a bug to report, do not hesitate to file an issue.\n\nIf you are willing to fix an issue or propose a feature; all PRs with clear explanations are welcome and encouraged.\n\n## License\n\nLicensed under the MIT License, Copyright © 2021-present Pankod\n\n## Special Thanks\n\n[React Admin](https://marmelab.com/react-admin/) has been a great source of ideas and inspiration for refine. Big thanks to friends at [Marmelab](https://marmelab.com) for the amazing work they are doing.\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/pankod/refine/issues"},"homepage":"https://github.com/pankod/refine#readme","_id":"@pankod/refine-core@3.49.0","_nodeVersion":"16.16.0","_npmVersion":"8.11.0","dist":{"integrity":"sha512-ppSp0mD5SymauXAirfsqWz5ArgwQyUolAHS+ROQbmzLsbcqn2pxZVpb2ioTiUtnE5pqP/pYzZwSVYjXsdKVSeA==","shasum":"ae1de68818e0d62173af532d053b35b5db1b58a3","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.49.0.tgz","fileCount":234,"unpackedSize":1739655,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCID0+7Ib51CuYGBnBZvxKOKOf7Qa0r4BS0/hLZ8WlLeYOAiB6HTq6RoYipfLHHo35h2caKboHFague1Qd9wXsxFyinw=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi4QYDACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqdCBAAnk9VvyFUh+LSILrom+x7A57CWFlkK59fdtV9OB9y5N895LLQ\r\nKWC+SEgIq+BRKdaP7ovb7SuK0X4xYxFviooIVxVuc2f1nFZkdMFIj06bRkFi\r\n0E1zSmDQUHlNkVMS7k7NitjrRQZWuM1bRmPXqVapq2M3wHOIs7cKBF9TaKuW\r\nVJMgVqG9gmrRcl9GYc4A5D7Vz5j6eJGykVRlow9eKKd/ijE2DtSJT0KR/9ck\r\niqp+TqexUnp9gYIzJrlR2s7VNAy4Pdw4CCWikNYnxqmMIOhPajsSDkx9m8MC\r\nzZI1qGh3fPufy5ERpiccnLAMB5MnPqiIma7aZ9lZaANrglY8CLv0g429L9au\r\n1Tv7rvbEradqgH96BimhHH62giPqInGW3LlwXxn+DHEDZrZ3FqprZGb14RGk\r\nBSfk3NESPMKeyROJ9HToFa3fE+jb63bGbWLo7Jd+jN0+T4fd/xSsxBWxBIR2\r\nmtFik/Izo3AAxPB1LEBS/7KV6y+i6y4KmG+OB2CM3uuAr4JTq99sxOkQBxnF\r\nLzju987x3FpCkj9Z+QuNeCOt+FznYGNWvkp0MhjUByekj6sDdlsd5ljcmUCe\r\nCdUFz2yCwoR5zkm6RMcfzmwxOPs2ma+3OZo9Qiqbb5vsbMW4ekZcF2I+ivwC\r\nurw3JMvqabjW+6b2lUJUAZIiSTPhsdv17Yc=\r\n=YLdC\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"aydinakyol","email":"aydinakyol11@gmail.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.49.0_1658914307520_0.1129773804443539"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.50.0":{"name":"@pankod/refine-core","version":"3.50.0","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --dts --format esm,cjs,iife --legacy-output","build":"tsup --dts --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.12.0","@testing-library/react":"^11.2.6","@testing-library/react-hooks":"^5.0.3","@testing-library/user-event":"^12.8.3","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^17.0.4","@types/react-dom":"^17.0.4","@types/testing-library__jest-dom":"^5.9.5","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"^6.0.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.4.3"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","humanize-string":"^2.1.0","lodash":"^4.17.21","lodash-es":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","react-query":"^3.19.2","tslib":"^2.3.1","warn-once":"^0.1.0","jose":"^4.8.3"},"repository":{"type":"git","url":"git+https://github.com/pankod/refine.git","directory":"packages/core"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"17dd5af3e4c9f7f09e1e707362c6f5a9d1cab8a8","publishConfig":{"access":"public"},"bugs":{"url":"https://github.com/pankod/refine/issues"},"homepage":"https://github.com/pankod/refine#readme","_id":"@pankod/refine-core@3.50.0","_nodeVersion":"16.16.0","_npmVersion":"8.11.0","dist":{"integrity":"sha512-TJ2liMPZbotxRDTj4UlMvrE5pUpdSFA4o6OIEiBoy4JAOVMifbLuN0yJRnrdq0TQibuDNYCgjX85Qsu7RMMnGg==","shasum":"44d62cae49ad3364d186d5995cc82c839494fc39","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.50.0.tgz","fileCount":234,"unpackedSize":1741022,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC0LS0h50KeOGkbeizJ4SMiRMWfVCoiuuEC50wsHFEAJQIhAO0m70p9cURQ6hOx2x2yeW1hoMRlvs4wHK458hHKqiF2"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi4R0pACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmpimw//eziccje3NKR603hjQUpNDygdHMZaFfCsX75o6d/GFL7uS7Ul\r\nXaltXnQYohzU0YD56uytMqqP0DI8ZBBktWwHwiYmhxfRPp65+NJpX86fcD8t\r\nxY3S6OccTULSX6RQL27MMQHyt+EW9RP82snzruvKjwEBVmWjVshsGgRUIv1r\r\nEcNlm2sBSYwyowiscTG5fFRk6I+Z+olpCVdWX4Bk2HtZLgujleII8ErVXrqp\r\nrw+P6tFcSCyE3Vx+NF6uamYx4HXgB45JSPjdDzzZ/uCKF7UNQ+FZukq7FbFs\r\n/pwZazTNZOFocBFTWQralbe6VxJp7xwNuaq4oU0wUfew2gnyfj+Wom2RMtGC\r\nvUB5x3nVYpt63ZebmnPrKwL8Ua0i1pTHAw8aSQlhQVHR9Z8C5bRib4Wjr2rI\r\nDZF5cPkwt77F/5GE/aJRxcLgJK3Ig2sR+uV3Gl1aF/ArKO4LJnxqihDU/xK1\r\nzxT/S9+6GfqLG4K/HMJfAQ24tfikLhySC0ERXCPCtGg4NLP0I/fYUcdvzAkX\r\nmgwzXq6MMyo98sDKTbRG6bpGcqbjHsCjJMFYHi8fIV3G7xN1GhcfsxDEoZr8\r\nJfo/uXNe2NMKpUgn+F877fSB+J4HFhBsg6Zin+sJTqTBWEWP1d3vJNjuEogO\r\npdP83vmphzhLHsVWCnrwvuZqoj3tifjy5PA=\r\n=qo10\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"aydinakyol","email":"aydinakyol11@gmail.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.50.0_1658920233130_0.13211976236244682"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.51.0":{"name":"@pankod/refine-core","version":"3.51.0","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --dts --format esm,cjs,iife --legacy-output","build":"tsup --dts --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.12.0","@testing-library/react":"^11.2.6","@testing-library/react-hooks":"^5.0.3","@testing-library/user-event":"^12.8.3","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^17.0.4","@types/react-dom":"^17.0.4","@types/testing-library__jest-dom":"^5.9.5","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"^6.0.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.4.3"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","humanize-string":"^2.1.0","lodash":"^4.17.21","lodash-es":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","react-query":"^3.19.2","tslib":"^2.3.1","warn-once":"^0.1.0","jose":"^4.8.3"},"repository":{"type":"git","url":"git+https://github.com/pankod/refine.git","directory":"packages/core"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"17dd5af3e4c9f7f09e1e707362c6f5a9d1cab8a8","publishConfig":{"access":"public"},"readme":"<div align=\"center\" style=\"margin: 30px;\">\n<a href=\"https://refine.dev/\">\n  <img src=\"https://raw.githubusercontent.com/pankod/refine/master/logo.png\"   style=\"width:250px;\" align=\"center\" />\n</a>\n<br />\n<br />\n\n<div align=\"center\">\n    <a href=\"https://refine.dev\">Home Page</a> |\n    <a href=\"https://refine.dev/demo/\">Demo</a> | \n    <a href=\"https://refine.dev/blog/\">Blog</a> | \n    <a href=\"https://refine.dev/docs/\">Documentation</a> | \n    <a href=\"https://github.com/pankod/refine/projects/1\">Roadmap</a> | \n    <a href=\"https://refine.dev/docs/examples/tutorial/\">Examples</a> | \n    <a href=\"https://refine.dev/enterprise/\">Enterprise</a> | \n    <a href=\"https://discord.gg/refine\">Discord</a>\n</div>\n\n</div>\n<br/>\n\n<div align=\"center\"><strong>refine</strong> is a <a href=\"https://reactjs.org/\">React</a>-based framework for building internal tools, rapidly. ✨ It ships with <a href=\"https://ant.design/\">Ant Design System</a>, an enterprise-level UI toolkit.</div>\n\n<br />\n\n<div align=\"center\">\n\n[![Discord](https://img.shields.io/discord/837692625737613362.svg?label=&logo=discord&logoColor=ffffff&color=7389D8&labelColor=6A7EC2)](https://discord.gg/refine)\n![Twitter Follow](https://img.shields.io/twitter/follow/refine_dev?style=social)\n\n<a href=\"https://www.producthunt.com/posts/refine-open-source-react-framework?utm_source=badge-featured&utm_medium=badge&utm_souce=badge-refine-open-source-react-framework\" target=\"_blank\"><img src=\"https://api.producthunt.com/widgets/embed-image/v1/featured.svg?post_id=319164&theme=light\" alt=\"refine: Open Source React Framework - Focus your business logic. refine will do the rest. | Product Hunt\" style=\"width: 250px; height: 54px;\" width=\"250\" height=\"54\" /></a>\n\n[![Meercode CI Score](https://meercode.io/badge/pankod/refine?type=ci-score&branch=master&token=2ZiT8YsoJgt57JB23NYwXrFY3rJHZboT&lastDay=31)](https://meercode.io/)\n[![Meercode CI Success Rate](https://meercode.io/badge/pankod/refine?type=ci-success-rate&branch=master&token=2ZiT8YsoJgt57JB23NYwXrFY3rJHZboT&lastDay=31)](https://meercode.io/)\n[![Maintainability](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/maintainability)](https://codeclimate.com/github/pankod/refine/maintainability)\n[![Test Coverage](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/test_coverage)](https://codeclimate.com/github/pankod/refine/test_coverage)\n[![npm version](https://img.shields.io/npm/v/@pankod/refine-core.svg)](https://www.npmjs.com/package/@pankod/refine-core)\n[![npm](https://img.shields.io/npm/dm/@pankod/refine-core)](https://www.npmjs.com/package/@pankod/refine-core)\n[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.0-4baaaa.svg)](code_of_conduct.md)\n\n\n</div>\n\n<div align=\"center\">\n  <sub>Created by <a href=\"https://www.pankod.com\">Pankod</a></sub>\n</div>\n\n## About\n\n[**refine**](https://refine.dev/) offers lots of out-of-the box functionality for rapid development, without compromising extreme customizability. Use-cases include, but are not limited to _admin panels_, _B2B applications_ and _dashboards_.\n\n## Documentation\n\nFor more detailed information and usage, refer to the [refine documentation](https://refine.dev/docs/).\n\n## What is refine?\n\n**refine** is a [React](https://reactjs.org/)-based framework for building internal tools, rapidly. :sparkles: It ships with [Ant Design System](https://ant.design/), an enterprise-level UI toolkit.\n\nRefine offers lots of out-of-the box functionality for rapid development, without compromising extreme customizability. Use-cases include, but are not limited to _admin panels_, _B2B applications_ and _dashboards_.\n\n## What is a \"headless\" Framework?\n**refine** is a **headless** React framework, which means all out-of-the-box features(**Routing**, **Networking**, **Authentication**, **Authorization**, **State Management**, **Realtime**, **i18n**, etc.), it can be used without being tied to any UI elements or framework. Also, Ant Design as out-of-the-box is supported.\n\n- Customization & Extensibility -  UI is a completely customizable area and each developer uses different solutions. **refine** features does not restrict or interfere with your UI structure. **refine** allows the you to design and customizable the UI based on their unique use case.\n\n- Separation of Concerns - **refine** as a framework, is not responsible for your UI and is independent.\n\n- Maintenance - By removing the API surface to support every UI use case, **refine** easy to use and update/maintain is simple.\n\n###\n\n## Key features\n\n🔥 **Headless** : Works with any UI framework\n\n⚙️ **Zero-configuration**: One-line setup with [superplate](https://github.com/pankod/superplate). It takes less than a minute to start a project.\n\n📦 **Out-of-the-box** : Routing, networking, authentication, state management, i18n and UI.\n\n🔌 **Backend Agnostic** : Connects to any custom backend. Built-in support for [REST API](https://github.com/pankod/refine/tree/master/packages/simple-rest), [GraphQL](https://github.com/pankod/refine/tree/master/packages/graphql), [NestJs CRUD](https://github.com/pankod/refine/tree/master/packages/nestjsx-crud), [Airtable](https://github.com/pankod/refine/tree/master/packages/airtable), [Strapi](https://github.com/pankod/refine/tree/master/packages/strapi), [Strapi v4](https://github.com/pankod/refine/tree/master/packages/strapi-v4), [Strapi GraphQL](https://github.com/pankod/refine/tree/master/packages/strapi-graphql), [Supabase](https://github.com/pankod/refine/tree/master/packages/supabase), [Hasura](https://github.com/pankod/refine/tree/master/packages/hasura), [Appwrite](https://github.com/pankod/refine/tree/master/packages/appwrite), [Firebase](https://firebase.google.com/), [Directus](https://directus.io/) and [Altogic](https://github.com/pankod/refine/tree/master/packages/altogic).\n\n📝 **Native Typescript Core** : You can always opt out for plain JavaScript.\n\n🐜 **Enterprise UI** : Works seamlessly with Ant Design System. (Support for multiple UI frameworks is on the Roadmap)\n\n📝 **Boilerplate-free Code** : Keeps your codebase clean and readable.\n\n## Motivation\n\nHigher-level frontend frameworks can save you a lot time, but they typically offer you a trade-off between speed and flexibility.\n\nAfter many years of experience in developing B2B frontend applications and working with popular frameworks, we came up with a new approach to tackle this dilemma. This is how **refine** is born.\n\n**refine** is a collection of helper `hooks`, `components` and `providers`. They are all decoupled from your UI components and business logic, so they never keep you from customizing your UI or coding your own flow.\n\nAs **refine** is totally _unopinionated_ about UI and logic, it's strongly _opinionated_ about three parts of your application:\n\n1. **API Networking**\n2. **State Management**\n3. **Authentication & Authorization**\n\nWe believe, these are the most important components of a data-intensive frontend application and should be handled in a robust way by leveraging industry best practices.\n\n**refine** guarantees you a perfect implementation of these building blocks in your project, so you can focus on your development.\n\n## Architecture\n\n**refine** makes extensive use of [hooks](https://reactjs.org/docs/hooks-reference.html#gatsby-focus-wrapper) as a default way for interacting with your components.\nUnder the hood, **refine** relies heavily to [React Query](https://react-query.tanstack.com/) for data handling, caching and state management.\nAccess to external sources and API's happen via providers which are basically plug-in type components for extendibility.\n\n<br/>\n\n<div align=\"center\">\n    <img src=\"https://raw.githubusercontent.com/pankod/refine/master/documentation/static/img/getting-started/refine_architecture.png\" width=\"400px\" />\n</div>\n\n## Benchmark\n\nAfter releasing the first internal versions, we had the chance to migrate some of our _React_ projects to **refine**.\nIn addition to **shorter development** times and **overall performance gains**, we've measured significant reduction in project size.\n\n**refine** makes your codebase significantly smaller, by eliminating redundant code such as _reducers_, _actions_ and _unit tests_. Below is a size comparison for an example project:\n\n<br/>\n\n<div align=\"center\">\n    <img src=\"https://raw.githubusercontent.com/pankod/refine/master/documentation/static/img/getting-started/benchmark.png\" width=\"400px\" align=\"center\" />\n</div>\n\n## Quick Start\n\nRun the **superplate** tool with the following command:\n\n```\nnpx superplate-cli -p refine-react tutorial\n```\n\nFollow the _CLI wizard_ to select options and start creating your project.\n\nAfter setup is complete, navigate to the project folder and start your project with:\n\n```\nnpm run dev\n```\n\nYour **refine** application will be accessible at [http://localhost:3000](http://localhost:3000).\n\nReplace the contents of `App.tsx` with the following code:\n\n```tsx title=\"App.tsx\"\nmport { Refine, useMany } from \"@pankod/refine-core\";\nimport {\n    useTable,\n    List,\n    Table,\n    DateField,\n} from \"@pankod/refine-antd\";\nimport routerProvider from \"@pankod/refine-react-router-v6\";\nimport dataProvider from \"@pankod/refine-simple-rest\";\n\nimport \"@pankod/refine-antd/dist/styles.min.css\";\n\nconst App: React.FC = () => {\n    return (\n        <Refine\n            routerProvider={routerProvider}\n            dataProvider={dataProvider(\"https://api.fake-rest.refine.dev\")}\n            resources={[{ name: \"posts\", list: PostList }]}\n        />\n    );\n};\n\nexport const PostList: React.FC = () => {\n    const { tableProps } = useTable<IPost>();\n\n    const categoryIds =\n        tableProps?.dataSource?.map((item) => item.category.id) ?? [];\n\n    const { data, isLoading } = useMany<ICategory>({\n        resource: \"categories\",\n        ids: categoryIds,\n        queryOptions: {\n            enabled: categoryIds.length > 0,\n        },\n    });\n\n    return (\n        <List>\n            <Table<IPost> {...tableProps} rowKey=\"id\">\n                <Table.Column dataIndex=\"title\" title=\"title\" />\n                <Table.Column\n                    dataIndex={[\"category\", \"id\"]}\n                    title=\"category\"\n                    render={(value: number) => {\n                        if (isLoading) {\n                            return \"loading...\";\n                        }\n\n                        return data?.data.find(\n                            (item: ICategory) => item.id === value,\n                        )?.title;\n                    }}\n                />\n                <Table.Column\n                    dataIndex=\"createdAt\"\n                    title=\"createdAt\"\n                    render={(value) => <DateField format=\"LLL\" value={value} />}\n                />\n            </Table>\n        </List>\n    );\n};\n\nexport default App;\n```\n\n```tsx title=\"interfaces.d.ts\"\ninterface IPost {\n    title: string;\n    createdAt: string;\n    category: { id: number };\n}\n\ninterface ICategory {\n    id: number;\n    title: string;\n}\n```\n\n## Roadmap\nYou can find Refine's <a href=\"https://github.com/pankod/refine/projects/1\">Public Roadmap here!</a> \n\n## Stargazers\n\n[![Stargazers repo roster for pankod/refine](https://reporoster.com/stars/pankod/refine)](https://github.com/pankod/refine/stargazers)\n\n## Contribution\n\nIf you have a bug to report, do not hesitate to file an issue.\n\nIf you are willing to fix an issue or propose a feature; all PRs with clear explanations are welcome and encouraged.\n\n## License\n\nLicensed under the MIT License, Copyright © 2021-present Pankod\n\n## Special Thanks\n\n[React Admin](https://marmelab.com/react-admin/) has been a great source of ideas and inspiration for refine. Big thanks to friends at [Marmelab](https://marmelab.com) for the amazing work they are doing.\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/pankod/refine/issues"},"homepage":"https://github.com/pankod/refine#readme","_id":"@pankod/refine-core@3.51.0","_nodeVersion":"16.16.0","_npmVersion":"8.11.0","dist":{"integrity":"sha512-KrMh7FVU2gOQ8dO6SD/9kqoUmr86xaH9g+5xvymhhTH/fJWewvvSbJ2YVbRXGoeTjn2+Urih4RtHbcxu/06WTA==","shasum":"37d53fc3c8ffd9e496e11f7b17c2695744c20a61","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.51.0.tgz","fileCount":235,"unpackedSize":1764108,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBQ3Hcwifb92oH+Jsa1eR7UCY3SJrAiwyLjFehjMpgYwAiAl0omD5DO1Wd0dRZaaTLtvhaGhP4pPjsYntw9wHS8nKA=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi4jhbACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpLVA//ekb3H+b+VZ0dr+FIIWvsferGhVj1OGyMJiinTvK2wOHQ6xO7\r\nfEKTgJ+3Tx+rgqqcDvVWV1T99Kxh9lMJj8c/LCWBK7cYMvJ8r+10I4z3u9/i\r\nJjYqrK3nY58bjcXLFp7iOq6VWOz59MzTdzRdsDhdj6+xJEDsNqvELeLSpccA\r\nNDG/bmQr2evvteJsLLu7y4hYkrSHR2OCHjxLkWu30QokT5LPc6Z6VLS+TR1f\r\nkS3iKSnqOZGk/tq3sIUw0l123cdMAfoB83MVTxGG30XaOizHGAdV4+vHQqMv\r\nYSBz7lslq+9SmViFIkoBzIiOzmitc6Ucv43ZybVfJt8AwPl2vsYYQPPB7UCm\r\nm0gAjwNckPPQFrl1q8o3GryBRWxq/X2uvH2dZJr1SjKw928SfXjss2+PJA1f\r\nL6JH4uZ1h3tstNMVlsNvfz0FKQ0mJMqCMebyojgLXGpRiJf1F8TijHKr0hNN\r\nuTKrKWfp9u0J4Z+WSvp+0oWg9e96Jc4y1OMgKm4kwoJ0jBW14I9Kmyn8D+cT\r\nYW4xU3qvudlFqMQDOcDzW+u6ccuGBwlD8v5CyES2U1HD5ZToKIdSvRheubh8\r\nw7PYtaflS8k2+TeNHzs7I4M8GEeaVy6Fa2V026iczQ46LCnJQyhLqpci6NhX\r\nrFUzXlI50haLBhgKtEb41gNqmFcMJi2XGMw=\r\n=sOHp\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"aydinakyol","email":"aydinakyol11@gmail.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.51.0_1658992730966_0.7666653379647475"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.52.0":{"name":"@pankod/refine-core","version":"3.52.0","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --dts --format esm,cjs,iife --legacy-output","build":"tsup --dts --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.12.0","@testing-library/react":"^11.2.6","@testing-library/react-hooks":"^5.0.3","@testing-library/user-event":"^12.8.3","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^17.0.4","@types/react-dom":"^17.0.4","@types/testing-library__jest-dom":"^5.9.5","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"^6.0.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.4.3"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","humanize-string":"^2.1.0","lodash":"^4.17.21","lodash-es":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","react-query":"^3.19.2","tslib":"^2.3.1","warn-once":"^0.1.0","jose":"^4.8.3"},"repository":{"type":"git","url":"git+https://github.com/pankod/refine.git","directory":"packages/core"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"17dd5af3e4c9f7f09e1e707362c6f5a9d1cab8a8","publishConfig":{"access":"public"},"bugs":{"url":"https://github.com/pankod/refine/issues"},"homepage":"https://github.com/pankod/refine#readme","_id":"@pankod/refine-core@3.52.0","_nodeVersion":"16.16.0","_npmVersion":"8.11.0","dist":{"integrity":"sha512-oCPy3cdfXSvtzoGEjI8PEaGJBIAChCTb8pQ6XyTrx659MXTNtvB77PClnh6jgieATzZyJa/OSVbmjJEE0unB9g==","shasum":"ea3aca54880e9ec6ed53340d9343553b80900412","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.52.0.tgz","fileCount":235,"unpackedSize":1764522,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDzFsZa36HP+e+Cl8HEndVTF9mQ7NtNNi/QKyygDH6o5AiEA86TQbKehuLrwzhl/43hDAuKtBw3p7aJLWJvygIGyji8="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi4kqpACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoY9g//ddHMpJB/BMidzQF6oMOPZsv0IIr15IW+08bwvxmvYVoqhhdq\r\nhQ8yCUlAKs2I9A0Hd8StN2JyEIhLIadFJbjo2VmldsYb4Ctzailyc6dA9dkT\r\nXSEaVgUlCYCGGSoh4m6/E7FzdbajQhDAflpc/mWNTA3EUi89Yowlru7iBcA+\r\nt2a07Lsv3Fuo8k6sC1zt2VIlAdMA+KyMbj4Hu4HB7rqgjTXDQXjdKfZt9v4P\r\n8rdDGZtx6X0QzTxxaOkzAjAYZ61qt8UWw/FOKsFwXmFQjQWf5pod1qJnFWb1\r\nrYOdrCYja0ItUctRo3mgpQ7BfJtfilP/VrQduZTQr8LfbHbhxcCKwnhHYHT9\r\n9AvOFxw29bByfZMFOp1R7xcc07DNZYEbIycZkpkEAOytAYWHnqRiD63sXaEo\r\nplpQHUuxNH4CqKXE8FUFB0Ubiff6F04LGh5wthEjDxtESSFkKVBwiJx42Xmo\r\nTnj+zChVVH1m6g9IERaW1uI1NgKJo+wqzsEshm8KPPmrzT/RuIEtMJfv+RCv\r\nRYg67aAmfuWy0mtcFBcT1J6/dKJ1FXzMLsEeHFtYRi336fb/bHEpzvFbWuJL\r\n1asuXyDHAqM6UVb6We3z/gUVl7FWY1u1bQpxCBZsoW16wkIVAdFB9YSTZ6k0\r\nia/AlcyGNeAC4yEsEjoJnK+/s8HgWxn/1t0=\r\n=NP0+\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"aydinakyol","email":"aydinakyol11@gmail.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.52.0_1658997417267_0.7092662278687465"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.53.0":{"name":"@pankod/refine-core","version":"3.53.0","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --dts --format esm,cjs,iife --legacy-output","build":"tsup --dts --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.12.0","@testing-library/react":"^11.2.6","@testing-library/react-hooks":"^5.0.3","@testing-library/user-event":"^12.8.3","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^17.0.4","@types/react-dom":"^17.0.4","@types/testing-library__jest-dom":"^5.9.5","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"^6.0.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.4.3"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","humanize-string":"^2.1.0","lodash":"^4.17.21","lodash-es":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","react-query":"^3.19.2","tslib":"^2.3.1","warn-once":"^0.1.0","jose":"^4.8.3"},"repository":{"type":"git","url":"git+https://github.com/pankod/refine.git","directory":"packages/core"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"17dd5af3e4c9f7f09e1e707362c6f5a9d1cab8a8","publishConfig":{"access":"public"},"readme":"<div align=\"center\" style=\"margin: 30px;\">\n<a href=\"https://refine.dev/\">\n  <img src=\"https://raw.githubusercontent.com/pankod/refine/master/logo.png\"   style=\"width:250px;\" align=\"center\" />\n</a>\n<br />\n<br />\n\n<div align=\"center\">\n    <a href=\"https://refine.dev\">Home Page</a> |\n    <a href=\"https://refine.dev/demo/\">Demo</a> | \n    <a href=\"https://refine.dev/blog/\">Blog</a> | \n    <a href=\"https://refine.dev/docs/\">Documentation</a> | \n    <a href=\"https://github.com/pankod/refine/projects/1\">Roadmap</a> | \n    <a href=\"https://refine.dev/docs/examples/tutorial/\">Examples</a> | \n    <a href=\"https://refine.dev/enterprise/\">Enterprise</a> | \n    <a href=\"https://discord.gg/refine\">Discord</a>\n</div>\n\n</div>\n<br/>\n\n<div align=\"center\"><strong>refine</strong> is a <a href=\"https://reactjs.org/\">React</a>-based framework for building internal tools, rapidly. ✨ It ships with <a href=\"https://ant.design/\">Ant Design System</a>, an enterprise-level UI toolkit.</div>\n\n<br />\n\n<div align=\"center\">\n\n[![Discord](https://img.shields.io/discord/837692625737613362.svg?label=&logo=discord&logoColor=ffffff&color=7389D8&labelColor=6A7EC2)](https://discord.gg/refine)\n![Twitter Follow](https://img.shields.io/twitter/follow/refine_dev?style=social)\n\n<a href=\"https://www.producthunt.com/posts/refine-open-source-react-framework?utm_source=badge-featured&utm_medium=badge&utm_souce=badge-refine-open-source-react-framework\" target=\"_blank\"><img src=\"https://api.producthunt.com/widgets/embed-image/v1/featured.svg?post_id=319164&theme=light\" alt=\"refine: Open Source React Framework - Focus your business logic. refine will do the rest. | Product Hunt\" style=\"width: 250px; height: 54px;\" width=\"250\" height=\"54\" /></a>\n\n[![Meercode CI Score](https://meercode.io/badge/pankod/refine?type=ci-score&branch=master&token=2ZiT8YsoJgt57JB23NYwXrFY3rJHZboT&lastDay=31)](https://meercode.io/)\n[![Meercode CI Success Rate](https://meercode.io/badge/pankod/refine?type=ci-success-rate&branch=master&token=2ZiT8YsoJgt57JB23NYwXrFY3rJHZboT&lastDay=31)](https://meercode.io/)\n[![Maintainability](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/maintainability)](https://codeclimate.com/github/pankod/refine/maintainability)\n[![Test Coverage](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/test_coverage)](https://codeclimate.com/github/pankod/refine/test_coverage)\n[![npm version](https://img.shields.io/npm/v/@pankod/refine-core.svg)](https://www.npmjs.com/package/@pankod/refine-core)\n[![npm](https://img.shields.io/npm/dm/@pankod/refine-core)](https://www.npmjs.com/package/@pankod/refine-core)\n[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.0-4baaaa.svg)](code_of_conduct.md)\n\n\n</div>\n\n<div align=\"center\">\n  <sub>Created by <a href=\"https://www.pankod.com\">Pankod</a></sub>\n</div>\n\n## About\n\n[**refine**](https://refine.dev/) offers lots of out-of-the box functionality for rapid development, without compromising extreme customizability. Use-cases include, but are not limited to _admin panels_, _B2B applications_ and _dashboards_.\n\n## Documentation\n\nFor more detailed information and usage, refer to the [refine documentation](https://refine.dev/docs/).\n\n## What is refine?\n\n**refine** is a [React](https://reactjs.org/)-based framework for building internal tools, rapidly. :sparkles: It ships with [Ant Design System](https://ant.design/), an enterprise-level UI toolkit.\n\nRefine offers lots of out-of-the box functionality for rapid development, without compromising extreme customizability. Use-cases include, but are not limited to _admin panels_, _B2B applications_ and _dashboards_.\n\n## What is a \"headless\" Framework?\n**refine** is a **headless** React framework, which means all out-of-the-box features(**Routing**, **Networking**, **Authentication**, **Authorization**, **State Management**, **Realtime**, **i18n**, etc.), it can be used without being tied to any UI elements or framework. Also, Ant Design as out-of-the-box is supported.\n\n- Customization & Extensibility -  UI is a completely customizable area and each developer uses different solutions. **refine** features does not restrict or interfere with your UI structure. **refine** allows the you to design and customizable the UI based on their unique use case.\n\n- Separation of Concerns - **refine** as a framework, is not responsible for your UI and is independent.\n\n- Maintenance - By removing the API surface to support every UI use case, **refine** easy to use and update/maintain is simple.\n\n###\n\n## Key features\n\n🔥 **Headless** : Works with any UI framework\n\n⚙️ **Zero-configuration**: One-line setup with [superplate](https://github.com/pankod/superplate). It takes less than a minute to start a project.\n\n📦 **Out-of-the-box** : Routing, networking, authentication, state management, i18n and UI.\n\n🔌 **Backend Agnostic** : Connects to any custom backend. Built-in support for [REST API](https://github.com/pankod/refine/tree/master/packages/simple-rest), [GraphQL](https://github.com/pankod/refine/tree/master/packages/graphql), [NestJs CRUD](https://github.com/pankod/refine/tree/master/packages/nestjsx-crud), [Airtable](https://github.com/pankod/refine/tree/master/packages/airtable), [Strapi](https://github.com/pankod/refine/tree/master/packages/strapi), [Strapi v4](https://github.com/pankod/refine/tree/master/packages/strapi-v4), [Strapi GraphQL](https://github.com/pankod/refine/tree/master/packages/strapi-graphql), [Supabase](https://github.com/pankod/refine/tree/master/packages/supabase), [Hasura](https://github.com/pankod/refine/tree/master/packages/hasura), [Appwrite](https://github.com/pankod/refine/tree/master/packages/appwrite), [Firebase](https://firebase.google.com/), [Directus](https://directus.io/) and [Altogic](https://github.com/pankod/refine/tree/master/packages/altogic).\n\n📝 **Native Typescript Core** : You can always opt out for plain JavaScript.\n\n🐜 **Enterprise UI** : Works seamlessly with Ant Design System. (Support for multiple UI frameworks is on the Roadmap)\n\n📝 **Boilerplate-free Code** : Keeps your codebase clean and readable.\n\n## Motivation\n\nHigher-level frontend frameworks can save you a lot time, but they typically offer you a trade-off between speed and flexibility.\n\nAfter many years of experience in developing B2B frontend applications and working with popular frameworks, we came up with a new approach to tackle this dilemma. This is how **refine** is born.\n\n**refine** is a collection of helper `hooks`, `components` and `providers`. They are all decoupled from your UI components and business logic, so they never keep you from customizing your UI or coding your own flow.\n\nAs **refine** is totally _unopinionated_ about UI and logic, it's strongly _opinionated_ about three parts of your application:\n\n1. **API Networking**\n2. **State Management**\n3. **Authentication & Authorization**\n\nWe believe, these are the most important components of a data-intensive frontend application and should be handled in a robust way by leveraging industry best practices.\n\n**refine** guarantees you a perfect implementation of these building blocks in your project, so you can focus on your development.\n\n## Architecture\n\n**refine** makes extensive use of [hooks](https://reactjs.org/docs/hooks-reference.html#gatsby-focus-wrapper) as a default way for interacting with your components.\nUnder the hood, **refine** relies heavily to [React Query](https://react-query.tanstack.com/) for data handling, caching and state management.\nAccess to external sources and API's happen via providers which are basically plug-in type components for extendibility.\n\n<br/>\n\n<div align=\"center\">\n    <img src=\"https://raw.githubusercontent.com/pankod/refine/master/documentation/static/img/getting-started/refine_architecture.png\" width=\"400px\" />\n</div>\n\n## Benchmark\n\nAfter releasing the first internal versions, we had the chance to migrate some of our _React_ projects to **refine**.\nIn addition to **shorter development** times and **overall performance gains**, we've measured significant reduction in project size.\n\n**refine** makes your codebase significantly smaller, by eliminating redundant code such as _reducers_, _actions_ and _unit tests_. Below is a size comparison for an example project:\n\n<br/>\n\n<div align=\"center\">\n    <img src=\"https://raw.githubusercontent.com/pankod/refine/master/documentation/static/img/getting-started/benchmark.png\" width=\"400px\" align=\"center\" />\n</div>\n\n## Quick Start\n\nRun the **superplate** tool with the following command:\n\n```\nnpx superplate-cli -p refine-react tutorial\n```\n\nFollow the _CLI wizard_ to select options and start creating your project.\n\nAfter setup is complete, navigate to the project folder and start your project with:\n\n```\nnpm run dev\n```\n\nYour **refine** application will be accessible at [http://localhost:3000](http://localhost:3000).\n\nReplace the contents of `App.tsx` with the following code:\n\n```tsx title=\"App.tsx\"\nmport { Refine, useMany } from \"@pankod/refine-core\";\nimport {\n    useTable,\n    List,\n    Table,\n    DateField,\n} from \"@pankod/refine-antd\";\nimport routerProvider from \"@pankod/refine-react-router-v6\";\nimport dataProvider from \"@pankod/refine-simple-rest\";\n\nimport \"@pankod/refine-antd/dist/styles.min.css\";\n\nconst App: React.FC = () => {\n    return (\n        <Refine\n            routerProvider={routerProvider}\n            dataProvider={dataProvider(\"https://api.fake-rest.refine.dev\")}\n            resources={[{ name: \"posts\", list: PostList }]}\n        />\n    );\n};\n\nexport const PostList: React.FC = () => {\n    const { tableProps } = useTable<IPost>();\n\n    const categoryIds =\n        tableProps?.dataSource?.map((item) => item.category.id) ?? [];\n\n    const { data, isLoading } = useMany<ICategory>({\n        resource: \"categories\",\n        ids: categoryIds,\n        queryOptions: {\n            enabled: categoryIds.length > 0,\n        },\n    });\n\n    return (\n        <List>\n            <Table<IPost> {...tableProps} rowKey=\"id\">\n                <Table.Column dataIndex=\"title\" title=\"title\" />\n                <Table.Column\n                    dataIndex={[\"category\", \"id\"]}\n                    title=\"category\"\n                    render={(value: number) => {\n                        if (isLoading) {\n                            return \"loading...\";\n                        }\n\n                        return data?.data.find(\n                            (item: ICategory) => item.id === value,\n                        )?.title;\n                    }}\n                />\n                <Table.Column\n                    dataIndex=\"createdAt\"\n                    title=\"createdAt\"\n                    render={(value) => <DateField format=\"LLL\" value={value} />}\n                />\n            </Table>\n        </List>\n    );\n};\n\nexport default App;\n```\n\n```tsx title=\"interfaces.d.ts\"\ninterface IPost {\n    title: string;\n    createdAt: string;\n    category: { id: number };\n}\n\ninterface ICategory {\n    id: number;\n    title: string;\n}\n```\n\n## Roadmap\nYou can find Refine's <a href=\"https://github.com/pankod/refine/projects/1\">Public Roadmap here!</a> \n\n## Stargazers\n\n[![Stargazers repo roster for pankod/refine](https://reporoster.com/stars/pankod/refine)](https://github.com/pankod/refine/stargazers)\n\n## Contribution\n\nIf you have a bug to report, do not hesitate to file an issue.\n\nIf you are willing to fix an issue or propose a feature; all PRs with clear explanations are welcome and encouraged.\n\n## License\n\nLicensed under the MIT License, Copyright © 2021-present Pankod\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/pankod/refine/issues"},"homepage":"https://github.com/pankod/refine#readme","_id":"@pankod/refine-core@3.53.0","_nodeVersion":"16.16.0","_npmVersion":"8.11.0","dist":{"integrity":"sha512-ACVS6FJ8Ee4wO8MKQKeTFjZZ5xeUjbvHZsvYbI/EztxTEDxltrBIYLL1AJ6AGg+msvzWfmGFTw5fkFI0pu4CtA==","shasum":"11c6727e29828a9d296ea21e670ccfb84781ffd2","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.53.0.tgz","fileCount":235,"unpackedSize":1768409,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIG81A6v5pTk737qt8XIrh6ovONcYW5G43ujwlKS3s5k/AiEAsHYGtMRWtRXogY27966t4KJb1JJL7EcST7925pZg0Pc="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi43YtACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmrx1BAAoOdfBPZwfcwhp4gNC8ZXOtK0P7yJnjdeR11ROq1rzjDE3fg5\r\nhAB5ucGqtz5W7J/MG7Fg/4ZfLa3KzgDNpnOUikCs37Sd3OocooSmvBsms2zJ\r\nf28mxOXu9huXjpERgJkGGFx1xDdhrhg8X1r7cvZRsVAn9ETDztLbtYKwCQUa\r\nWjxql23GjKxBJ8/AkaG/5uENDW0mZjIWFgE2xaYqJmxqA/KQxPXAOfN6v+FH\r\n16HV+8oAYMTupguT+09o55LxJXj8za4rnzuIV9ExSFsMkZnkVpjOjSdr2Xo7\r\n4FHy3K0L3kvpiKTi2p7qE9uel1LEYvBYxIH5lMCCb+/VG1tQYZB63UlBlntz\r\nEbcTN1iJMnpLV6iGKlHaj4YjQuHUAlYrdCdy6K1CJwvupBkruH9TWZ19xJNP\r\nh9vQ/0ow0EK7hhXAOoeeZElllHi4K2Fd0KPkBv3/2VIXatfnBniuWUIOIXVF\r\nssm9aI+h2V14w99cDs3mZNm09w3Vdg3ViMwP9D6xQvV9/S2n4p0Fal6mJAm3\r\nowCfTI52VtxmB1NRGDFMrg2MUpxoSFLPYx55KPM4TQapP74HDXr8p31qADSu\r\nCL4ks3sck52+OmVmuC0agAHa2Eym6gRaa/caooc0tJstuOBKW1s5o3j79k5M\r\n+1oOILEBtU6hD0m9gXuNWF1dp6G0MV12B+k=\r\n=qO2S\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"aydinakyol","email":"aydinakyol11@gmail.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.53.0_1659074093286_0.43039141738550923"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.54.0":{"name":"@pankod/refine-core","version":"3.54.0","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --dts --format esm,cjs,iife --legacy-output","build":"tsup --dts --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.12.0","@testing-library/react":"^11.2.6","@testing-library/react-hooks":"^5.0.3","@testing-library/user-event":"^12.8.3","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^17.0.4","@types/react-dom":"^17.0.4","@types/testing-library__jest-dom":"^5.9.5","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"^6.0.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.4.3"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","humanize-string":"^2.1.0","lodash":"^4.17.21","lodash-es":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","react-query":"^3.19.2","tslib":"^2.3.1","warn-once":"^0.1.0","jose":"^4.8.3"},"repository":{"type":"git","url":"git+https://github.com/pankod/refine.git","directory":"packages/core"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"17dd5af3e4c9f7f09e1e707362c6f5a9d1cab8a8","publishConfig":{"access":"public"},"bugs":{"url":"https://github.com/pankod/refine/issues"},"homepage":"https://github.com/pankod/refine#readme","_id":"@pankod/refine-core@3.54.0","_nodeVersion":"16.16.0","_npmVersion":"8.11.0","dist":{"integrity":"sha512-4dQDhroX2SXre0CQN/KYaUJU/lO6C6BnJ9xBSDEXig51j9tXVu9OcUN0OwFVB2DpMUnkmFtjrHEaFrgtvnHFNg==","shasum":"f78482682e9c81ac1c6a10e4a21fc35cd315be63","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.54.0.tgz","fileCount":235,"unpackedSize":1768867,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC5HVzzqUMyYVULxvXeCsyuTx372gcaAPcviIX+5Vy6CwIgVlVpD1ke9bxcpdJereGgVPGrRN9BzlyFCxRV5RmC16Y="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi46+4ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrSbw/8CvQ5uzijvAHNY5xLKrDLLb0s4qfMMwaKwy7RibwgittnAPkc\r\nM2+Slj2zeDP7dXYi53aC50GlN6xlEGy28VPB0cJrTV0GpYH+NKJte6YdCImi\r\njtjNRXkfUWagasf2lrvNHjnpiIUaQKJuvZOLW5sJnW+sLoO8wz1F5oc/3Dt+\r\nL0x4HabQRzo+unfu3OGwKQoXQvssz1dXMBgbO80HFvZAV7doW6WOOFeM4VBo\r\n0O/5rpLUj3jCvS/Ln52SA6n8kCYtbQXLjiKpA2kpA9n3QIcYPFGp20yBrNQR\r\nxvTHFw7Da1zItZvkA7gsePpFk29uzqIP0traGPZlTWMedGUqAVfTqrCwgR3u\r\nYakffu73dB4kHa8qaikoanl9BMcUQ/aHyVvqqJ/z9KsJDQFc29B07fUnxRQf\r\nKAvXKX0xs3kFrWBwf2f3PgcOmXdvxEMy5rKkWu+9JOX64lCPG+5klnE1L+yT\r\noki98d7Aof8RbBGlKyY18/klIYJ6FHoF7syAkRHNJROOMlRqcr+vl8J1xuIq\r\n+vJrNl4RqCnYYUM51mV7yLnzOh/vWor68RRLdY2BeOIQBMR2u8rQ+pl+2/6D\r\n8kc4oE9f99jWs8Wh+tvSGRipjVitzyeM5un+pafM5MeEZW+Dxyf4xS4tNgiU\r\nQmcM5X1GNbsRzE0HYBskpOWfXvCujhiZ/YI=\r\n=VLxh\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"aydinakyol","email":"aydinakyol11@gmail.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.54.0_1659088823945_0.3910351164681447"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.55.0":{"name":"@pankod/refine-core","version":"3.55.0","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --dts --format esm,cjs,iife --legacy-output","build":"tsup --dts --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0","@types/react":"^17.0.0 || ^18.0.0","@types/react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.16.4","@testing-library/react":"^13.1.1","@testing-library/react-hooks":"^8.0.0","@testing-library/user-event":"^14.1.1","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^18.0.0","@types/react-dom":"^18.0.0","@types/react-router-dom":"^5.1.8","@types/testing-library__jest-dom":"^5.14.3","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"^6.0.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.7.4"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","humanize-string":"^2.1.0","lodash":"^4.17.21","lodash-es":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","react-query":"^3.19.2","tslib":"^2.3.1","warn-once":"^0.1.0","jose":"^4.8.3"},"repository":{"type":"git","url":"git+https://github.com/pankod/refine.git","directory":"packages/core"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"17dd5af3e4c9f7f09e1e707362c6f5a9d1cab8a8","publishConfig":{"access":"public"},"readme":"<div align=\"center\" style=\"margin: 30px;\">\n<a href=\"https://refine.dev/\">\n  <img src=\"https://raw.githubusercontent.com/pankod/refine/master/logo.png\"   style=\"width:250px;\" align=\"center\" />\n</a>\n<br />\n<br />\n\n<div align=\"center\">\n    <a href=\"https://refine.dev\">Home Page</a> |\n    <a href=\"https://refine.dev/demo/\">Demo</a> | \n    <a href=\"https://refine.dev/blog/\">Blog</a> | \n    <a href=\"https://refine.dev/docs/\">Documentation</a> | \n    <a href=\"https://github.com/pankod/refine/projects/1\">Roadmap</a> | \n    <a href=\"https://refine.dev/docs/examples/tutorial/\">Examples</a> | \n    <a href=\"https://refine.dev/enterprise/\">Enterprise</a> | \n    <a href=\"https://discord.gg/refine\">Discord</a>\n</div>\n\n</div>\n<br/>\n\n<div align=\"center\"><strong>refine</strong> is a <a href=\"https://reactjs.org/\">React</a>-based framework for building internal tools, rapidly. ✨ It ships with <a href=\"https://ant.design/\">Ant Design System</a>, an enterprise-level UI toolkit.</div>\n\n<br />\n\n<div align=\"center\">\n\n[![Discord](https://img.shields.io/discord/837692625737613362.svg?label=&logo=discord&logoColor=ffffff&color=7389D8&labelColor=6A7EC2)](https://discord.gg/refine)\n![Twitter Follow](https://img.shields.io/twitter/follow/refine_dev?style=social)\n\n<a href=\"https://www.producthunt.com/posts/refine-open-source-react-framework?utm_source=badge-featured&utm_medium=badge&utm_souce=badge-refine-open-source-react-framework\" target=\"_blank\"><img src=\"https://api.producthunt.com/widgets/embed-image/v1/featured.svg?post_id=319164&theme=light\" alt=\"refine: Open Source React Framework - Focus your business logic. refine will do the rest. | Product Hunt\" style=\"width: 250px; height: 54px;\" width=\"250\" height=\"54\" /></a>\n\n[![Meercode CI Score](https://meercode.io/badge/pankod/refine?type=ci-score&branch=master&token=2ZiT8YsoJgt57JB23NYwXrFY3rJHZboT&lastDay=31)](https://meercode.io/)\n[![Meercode CI Success Rate](https://meercode.io/badge/pankod/refine?type=ci-success-rate&branch=master&token=2ZiT8YsoJgt57JB23NYwXrFY3rJHZboT&lastDay=31)](https://meercode.io/)\n[![Maintainability](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/maintainability)](https://codeclimate.com/github/pankod/refine/maintainability)\n[![Test Coverage](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/test_coverage)](https://codeclimate.com/github/pankod/refine/test_coverage)\n[![npm version](https://img.shields.io/npm/v/@pankod/refine-core.svg)](https://www.npmjs.com/package/@pankod/refine-core)\n[![npm](https://img.shields.io/npm/dm/@pankod/refine-core)](https://www.npmjs.com/package/@pankod/refine-core)\n[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.0-4baaaa.svg)](code_of_conduct.md)\n\n\n</div>\n\n<div align=\"center\">\n  <sub>Created by <a href=\"https://www.pankod.com\">Pankod</a></sub>\n</div>\n\n## About\n\n[**refine**](https://refine.dev/) offers lots of out-of-the box functionality for rapid development, without compromising extreme customizability. Use-cases include, but are not limited to _admin panels_, _B2B applications_ and _dashboards_.\n\n## Documentation\n\nFor more detailed information and usage, refer to the [refine documentation](https://refine.dev/docs/).\n\n## What is refine?\n\n**refine** is a [React](https://reactjs.org/)-based framework for building internal tools, rapidly. :sparkles: It ships with [Ant Design System](https://ant.design/), an enterprise-level UI toolkit.\n\nRefine offers lots of out-of-the box functionality for rapid development, without compromising extreme customizability. Use-cases include, but are not limited to _admin panels_, _B2B applications_ and _dashboards_.\n\n## What is a \"headless\" Framework?\n**refine** is a **headless** React framework, which means all out-of-the-box features(**Routing**, **Networking**, **Authentication**, **Authorization**, **State Management**, **Realtime**, **i18n**, etc.), it can be used without being tied to any UI elements or framework. Also, Ant Design as out-of-the-box is supported.\n\n- Customization & Extensibility -  UI is a completely customizable area and each developer uses different solutions. **refine** features does not restrict or interfere with your UI structure. **refine** allows the you to design and customizable the UI based on their unique use case.\n\n- Separation of Concerns - **refine** as a framework, is not responsible for your UI and is independent.\n\n- Maintenance - By removing the API surface to support every UI use case, **refine** easy to use and update/maintain is simple.\n\n###\n\n## Key features\n\n🔥 **Headless** : Works with any UI framework\n\n⚙️ **Zero-configuration**: One-line setup with [superplate](https://github.com/pankod/superplate). It takes less than a minute to start a project.\n\n📦 **Out-of-the-box** : Routing, networking, authentication, state management, i18n and UI.\n\n🔌 **Backend Agnostic** : Connects to any custom backend. Built-in support for [REST API](https://github.com/pankod/refine/tree/master/packages/simple-rest), [GraphQL](https://github.com/pankod/refine/tree/master/packages/graphql), [NestJs CRUD](https://github.com/pankod/refine/tree/master/packages/nestjsx-crud), [Airtable](https://github.com/pankod/refine/tree/master/packages/airtable), [Strapi](https://github.com/pankod/refine/tree/master/packages/strapi), [Strapi v4](https://github.com/pankod/refine/tree/master/packages/strapi-v4), [Strapi GraphQL](https://github.com/pankod/refine/tree/master/packages/strapi-graphql), [Supabase](https://github.com/pankod/refine/tree/master/packages/supabase), [Hasura](https://github.com/pankod/refine/tree/master/packages/hasura), [Appwrite](https://github.com/pankod/refine/tree/master/packages/appwrite), [Firebase](https://firebase.google.com/), [Directus](https://directus.io/) and [Altogic](https://github.com/pankod/refine/tree/master/packages/altogic).\n\n📝 **Native Typescript Core** : You can always opt out for plain JavaScript.\n\n🐜 **Enterprise UI** : Works seamlessly with Ant Design System. (Support for multiple UI frameworks is on the Roadmap)\n\n📝 **Boilerplate-free Code** : Keeps your codebase clean and readable.\n\n## Motivation\n\nHigher-level frontend frameworks can save you a lot time, but they typically offer you a trade-off between speed and flexibility.\n\nAfter many years of experience in developing B2B frontend applications and working with popular frameworks, we came up with a new approach to tackle this dilemma. This is how **refine** is born.\n\n**refine** is a collection of helper `hooks`, `components` and `providers`. They are all decoupled from your UI components and business logic, so they never keep you from customizing your UI or coding your own flow.\n\nAs **refine** is totally _unopinionated_ about UI and logic, it's strongly _opinionated_ about three parts of your application:\n\n1. **API Networking**\n2. **State Management**\n3. **Authentication & Authorization**\n\nWe believe, these are the most important components of a data-intensive frontend application and should be handled in a robust way by leveraging industry best practices.\n\n**refine** guarantees you a perfect implementation of these building blocks in your project, so you can focus on your development.\n\n## Architecture\n\n**refine** makes extensive use of [hooks](https://reactjs.org/docs/hooks-reference.html#gatsby-focus-wrapper) as a default way for interacting with your components.\nUnder the hood, **refine** relies heavily to [React Query](https://react-query.tanstack.com/) for data handling, caching and state management.\nAccess to external sources and API's happen via providers which are basically plug-in type components for extendibility.\n\n<br/>\n\n<div align=\"center\">\n    <img src=\"https://raw.githubusercontent.com/pankod/refine/master/documentation/static/img/getting-started/refine_architecture.png\" width=\"400px\" />\n</div>\n\n## Benchmark\n\nAfter releasing the first internal versions, we had the chance to migrate some of our _React_ projects to **refine**.\nIn addition to **shorter development** times and **overall performance gains**, we've measured significant reduction in project size.\n\n**refine** makes your codebase significantly smaller, by eliminating redundant code such as _reducers_, _actions_ and _unit tests_. Below is a size comparison for an example project:\n\n<br/>\n\n<div align=\"center\">\n    <img src=\"https://raw.githubusercontent.com/pankod/refine/master/documentation/static/img/getting-started/benchmark.png\" width=\"400px\" align=\"center\" />\n</div>\n\n## Quick Start\n\nRun the **superplate** tool with the following command:\n\n```\nnpx superplate-cli -p refine-react tutorial\n```\n\nFollow the _CLI wizard_ to select options and start creating your project.\n\nAfter setup is complete, navigate to the project folder and start your project with:\n\n```\nnpm run dev\n```\n\nYour **refine** application will be accessible at [http://localhost:3000](http://localhost:3000).\n\nReplace the contents of `App.tsx` with the following code:\n\n```tsx title=\"App.tsx\"\nmport { Refine, useMany } from \"@pankod/refine-core\";\nimport {\n    useTable,\n    List,\n    Table,\n    DateField,\n} from \"@pankod/refine-antd\";\nimport routerProvider from \"@pankod/refine-react-router-v6\";\nimport dataProvider from \"@pankod/refine-simple-rest\";\n\nimport \"@pankod/refine-antd/dist/styles.min.css\";\n\nconst App: React.FC = () => {\n    return (\n        <Refine\n            routerProvider={routerProvider}\n            dataProvider={dataProvider(\"https://api.fake-rest.refine.dev\")}\n            resources={[{ name: \"posts\", list: PostList }]}\n        />\n    );\n};\n\nexport const PostList: React.FC = () => {\n    const { tableProps } = useTable<IPost>();\n\n    const categoryIds =\n        tableProps?.dataSource?.map((item) => item.category.id) ?? [];\n\n    const { data, isLoading } = useMany<ICategory>({\n        resource: \"categories\",\n        ids: categoryIds,\n        queryOptions: {\n            enabled: categoryIds.length > 0,\n        },\n    });\n\n    return (\n        <List>\n            <Table<IPost> {...tableProps} rowKey=\"id\">\n                <Table.Column dataIndex=\"title\" title=\"title\" />\n                <Table.Column\n                    dataIndex={[\"category\", \"id\"]}\n                    title=\"category\"\n                    render={(value: number) => {\n                        if (isLoading) {\n                            return \"loading...\";\n                        }\n\n                        return data?.data.find(\n                            (item: ICategory) => item.id === value,\n                        )?.title;\n                    }}\n                />\n                <Table.Column\n                    dataIndex=\"createdAt\"\n                    title=\"createdAt\"\n                    render={(value) => <DateField format=\"LLL\" value={value} />}\n                />\n            </Table>\n        </List>\n    );\n};\n\nexport default App;\n```\n\n```tsx title=\"interfaces.d.ts\"\ninterface IPost {\n    title: string;\n    createdAt: string;\n    category: { id: number };\n}\n\ninterface ICategory {\n    id: number;\n    title: string;\n}\n```\n\n## Roadmap\nYou can find Refine's <a href=\"https://github.com/pankod/refine/projects/1\">Public Roadmap here!</a> \n\n## Stargazers\n\n[![Stargazers repo roster for pankod/refine](https://reporoster.com/stars/pankod/refine)](https://github.com/pankod/refine/stargazers)\n\n## Contribution\n\nIf you have a bug to report, do not hesitate to file an issue.\n\nIf you are willing to fix an issue or propose a feature; all PRs with clear explanations are welcome and encouraged.\n\n## License\n\nLicensed under the MIT License, Copyright © 2021-present Pankod\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/pankod/refine/issues"},"homepage":"https://github.com/pankod/refine#readme","_id":"@pankod/refine-core@3.55.0","_nodeVersion":"16.16.0","_npmVersion":"8.11.0","dist":{"integrity":"sha512-f8zXOWxkAIXqW4x4PJKYrjhhiYObRtGtEgVdPNYp9Ovxmt59yD80RMMRnfIBXbASh+Fc1SkD4oazB3wWUxoU4Q==","shasum":"a04dac7202894a20bbdcc1d3174bb84f16867acd","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.55.0.tgz","fileCount":235,"unpackedSize":1779014,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGTf9iv97RbMijngWaQ0Pu54BZ1ddeCTMk13VCbUGokFAiAuWodsj0CUod050LwUu7YjZXwa5KDEI0GQGVNwAtaUZw=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi52xPACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoX/Q//ZA+eh5RVpP/ioix6UGVLbEKjzNmGwr7mjdIXh4Vyn+0wDKA7\r\nIAi+Hq1MHAVXvVEFxjpPdghMmoOH7QuP7YpVKnzxV3ayYWBeoetGq4I+wdJN\r\nOfRZCEPfT9VOgjqe12LqzTETWujDMb7484COhQugab3cw8MVudSB4YDJ1XVs\r\nPT+AFLTaaHQbfjIfiAPSaISWCdKbrcDUr/0s1Mb1ZcUmj0q1RA6wwDol0DOr\r\nJLr/gT9a+KH/ngFK6I54rtISW07Cz1vbPqa++U3lIFHs4WLHxconLCv3FdYH\r\npkXHWr4iRMN1RF/4IVWl70LWkLMoTHo2it8TW8SN5Lq4r5+vG3xjwZKz/+IA\r\nLVyGQymCsyPJIqNOcwg2e7cUadA5jBFbkUJcmhdsSTIZuH5P0KChklBYM5NN\r\n7Fyt3l/TZ9Rmlc8cgBpWe4qeGkRpVXk30hZ+YA3H8PZ4pbm+T9j5HYUCDT1H\r\njFigvsxIZwZm5I4StWKMS6lRnbjAicHaWbUU1YbUVi682LJ1zydlxus88AbK\r\nqPMJk5L6nHMHJd4I1yAAWZ3bq+3KXrNC1OjbYfIxoZhL1UWwLy95x0WvDBhd\r\nhkWFT5SUk6RTbCYknENUPSDy31SCS327hEQcIc0BT0xIJ9jHQgQNb6UFBGKX\r\nb0b4JRoKQIV9FO2kZhDjA9A5c77tQkaY+Zw=\r\n=iEgu\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"aydinakyol","email":"aydinakyol11@gmail.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.55.0_1659333711694_0.07054285740366795"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.56.0":{"name":"@pankod/refine-core","version":"3.56.0","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --dts --format esm,cjs,iife --legacy-output","build":"tsup --dts --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0","@types/react":"^17.0.0 || ^18.0.0","@types/react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.16.4","@testing-library/react":"^13.1.1","@testing-library/react-hooks":"^8.0.0","@testing-library/user-event":"^14.1.1","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^18.0.0","@types/react-dom":"^18.0.0","@types/react-router-dom":"^5.1.8","@types/testing-library__jest-dom":"^5.14.3","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"^6.0.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.7.4"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","humanize-string":"^2.1.0","lodash":"^4.17.21","lodash-es":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","react-query":"^3.19.2","tslib":"^2.3.1","warn-once":"^0.1.0","jose":"^4.8.3"},"repository":{"type":"git","url":"git+https://github.com/pankod/refine.git","directory":"packages/core"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"17dd5af3e4c9f7f09e1e707362c6f5a9d1cab8a8","publishConfig":{"access":"public"},"bugs":{"url":"https://github.com/pankod/refine/issues"},"homepage":"https://github.com/pankod/refine#readme","_id":"@pankod/refine-core@3.56.0","_nodeVersion":"16.16.0","_npmVersion":"8.11.0","dist":{"integrity":"sha512-zJmnf3qQ1opveX7zG5ReFLslqI8xaPTWwJuUJ8aXbHzUVRzaE5JUt4905r+R/lNeERpVThn7t6vtTUvGxtVC5w==","shasum":"078067bc9d19bcb5f09e21e83df15d91488d6442","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.56.0.tgz","fileCount":235,"unpackedSize":1779075,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCH1Qt58D0fW9m8hiVjXFdDaoz14PrASz6ljWfO8q+A48CIQCzyVezxMwfR9+T386O7L06lzL2qQcmBf0oMLf3XsxNpw=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi54ZRACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmqx0g//Q9naBDX0la4gQzcLviRPxRezKYtAv8p+GjM0HNv29sYzZlqp\r\n/Z2nN/lmpsCZeb2lZ99XVn7j08T78oOeovdH+cvRDIVIE0PBCS8uM56jguvD\r\ni+jTALlFjXvG8QO/jXZmk6+M7WFm1ftrQh29ExHRpidOosW05aIci/Ua+ffi\r\nG+FJHkTZ3d3tV2hjBtl5px3d4HK32n3XIr0nFBxw55zsMzPYYyTwUgstEM4B\r\n0xMcaPDfyIn7GAVj3xOKlCSTygY7NNNcBNV/uE/cnLhBUxi5F1574yOJ2boX\r\njJU5my3OyjshuHt97sQHEkBfsb3q9/jH/RhGwXKTVFG46FOCpYAk6MnMdvut\r\n+og3SBySXAQlGTY7M4R/2iBw9arN7X3VQJYHY5l9vR2aHDk8fH/Bh7VXMMMu\r\nGk1W+3/tAIF6kbKVQ1Gz3n4PgA6mpu/1FysVQ0w9/3yZF80E0le6kMOY7xQL\r\nFUKf4b1hc/OW5WXiJ3msgKDMFN+4qUaOqESB8qLB+7Obeq9ZJ9BgW2TObmlj\r\nJH+8H5SibdqCpXtnVe+cJ1uGwhUCL1JVjCMmUmt0Hp1RGE6mNIkN3WVy1Ddi\r\nMQ0szk+FOUGamyESbPPGDwqh9bR8jBZeHrTGDSo1N3UDFI3r58SADgURtfA/\r\nqKGg8/dTxcAT1gW8EVd3XCQabO93ScqtknQ=\r\n=62Uc\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"aydinakyol","email":"aydinakyol11@gmail.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.56.0_1659340369081_0.36716558321500714"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.56.1":{"name":"@pankod/refine-core","version":"3.56.1","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --dts --format esm,cjs,iife --legacy-output","build":"tsup --dts --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0","@types/react":"^17.0.0 || ^18.0.0","@types/react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.16.4","@testing-library/react":"^13.1.1","@testing-library/react-hooks":"^8.0.0","@testing-library/user-event":"^14.1.1","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^18.0.0","@types/react-dom":"^18.0.0","@types/react-router-dom":"^5.1.8","@types/testing-library__jest-dom":"^5.14.3","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"^6.0.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.7.4"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","humanize-string":"^2.1.0","lodash":"^4.17.21","lodash-es":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","react-query":"^3.19.2","tslib":"^2.3.1","warn-once":"^0.1.0","jose":"^4.8.3"},"repository":{"type":"git","url":"git+https://github.com/pankod/refine.git","directory":"packages/core"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"17dd5af3e4c9f7f09e1e707362c6f5a9d1cab8a8","publishConfig":{"access":"public"},"readme":"<div align=\"center\" style=\"margin: 30px;\">\n<a href=\"https://refine.dev/\">\n  <img src=\"https://raw.githubusercontent.com/pankod/refine/master/logo.png\"   style=\"width:250px;\" align=\"center\" />\n</a>\n<br />\n<br />\n\n<div align=\"center\">\n    <a href=\"https://refine.dev\">Home Page</a> |\n    <a href=\"https://refine.dev/demo/\">Demo</a> | \n    <a href=\"https://refine.dev/blog/\">Blog</a> | \n    <a href=\"https://refine.dev/docs/\">Documentation</a> | \n    <a href=\"https://github.com/pankod/refine/projects/1\">Roadmap</a> | \n    <a href=\"https://refine.dev/docs/examples/tutorial/\">Examples</a> | \n    <a href=\"https://refine.dev/enterprise/\">Enterprise</a> | \n    <a href=\"https://discord.gg/refine\">Discord</a>\n</div>\n\n</div>\n<br/>\n\n<div align=\"center\"><strong>refine</strong> is a <a href=\"https://reactjs.org/\">React</a>-based framework for building internal tools, rapidly. ✨ It ships with <a href=\"https://ant.design/\">Ant Design System</a>, an enterprise-level UI toolkit.</div>\n\n<br />\n\n<div align=\"center\">\n\n[![Discord](https://img.shields.io/discord/837692625737613362.svg?label=&logo=discord&logoColor=ffffff&color=7389D8&labelColor=6A7EC2)](https://discord.gg/refine)\n![Twitter Follow](https://img.shields.io/twitter/follow/refine_dev?style=social)\n\n<a href=\"https://www.producthunt.com/posts/refine-open-source-react-framework?utm_source=badge-featured&utm_medium=badge&utm_souce=badge-refine-open-source-react-framework\" target=\"_blank\"><img src=\"https://api.producthunt.com/widgets/embed-image/v1/featured.svg?post_id=319164&theme=light\" alt=\"refine: Open Source React Framework - Focus your business logic. refine will do the rest. | Product Hunt\" style=\"width: 250px; height: 54px;\" width=\"250\" height=\"54\" /></a>\n\n[![Meercode CI Score](https://meercode.io/badge/pankod/refine?type=ci-score&branch=master&token=2ZiT8YsoJgt57JB23NYwXrFY3rJHZboT&lastDay=31)](https://meercode.io/)\n[![Meercode CI Success Rate](https://meercode.io/badge/pankod/refine?type=ci-success-rate&branch=master&token=2ZiT8YsoJgt57JB23NYwXrFY3rJHZboT&lastDay=31)](https://meercode.io/)\n[![Maintainability](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/maintainability)](https://codeclimate.com/github/pankod/refine/maintainability)\n[![Test Coverage](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/test_coverage)](https://codeclimate.com/github/pankod/refine/test_coverage)\n[![npm version](https://img.shields.io/npm/v/@pankod/refine-core.svg)](https://www.npmjs.com/package/@pankod/refine-core)\n[![npm](https://img.shields.io/npm/dm/@pankod/refine-core)](https://www.npmjs.com/package/@pankod/refine-core)\n[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.0-4baaaa.svg)](code_of_conduct.md)\n\n\n</div>\n\n<div align=\"center\">\n  <sub>Created by <a href=\"https://www.pankod.com\">Pankod</a></sub>\n</div>\n\n## About\n\n[**refine**](https://refine.dev/) offers lots of out-of-the box functionality for rapid development, without compromising extreme customizability. Use-cases include, but are not limited to _admin panels_, _B2B applications_ and _dashboards_.\n\n## Documentation\n\nFor more detailed information and usage, refer to the [refine documentation](https://refine.dev/docs/).\n\n## What is refine?\n\n**refine** is a [React](https://reactjs.org/)-based framework for building internal tools, rapidly. :sparkles: It ships with [Ant Design System](https://ant.design/), an enterprise-level UI toolkit.\n\nRefine offers lots of out-of-the box functionality for rapid development, without compromising extreme customizability. Use-cases include, but are not limited to _admin panels_, _B2B applications_ and _dashboards_.\n\n## What is a \"headless\" Framework?\n**refine** is a **headless** React framework, which means all out-of-the-box features(**Routing**, **Networking**, **Authentication**, **Authorization**, **State Management**, **Realtime**, **i18n**, etc.), it can be used without being tied to any UI elements or framework. Also, Ant Design as out-of-the-box is supported.\n\n- Customization & Extensibility -  UI is a completely customizable area and each developer uses different solutions. **refine** features does not restrict or interfere with your UI structure. **refine** allows the you to design and customizable the UI based on their unique use case.\n\n- Separation of Concerns - **refine** as a framework, is not responsible for your UI and is independent.\n\n- Maintenance - By removing the API surface to support every UI use case, **refine** easy to use and update/maintain is simple.\n\n###\n\n## Key features\n\n🔥 **Headless** : Works with any UI framework\n\n⚙️ **Zero-configuration**: One-line setup with [superplate](https://github.com/pankod/superplate). It takes less than a minute to start a project.\n\n📦 **Out-of-the-box** : Routing, networking, authentication, state management, i18n and UI.\n\n🔌 **Backend Agnostic** : Connects to any custom backend. Built-in support for [REST API](https://github.com/pankod/refine/tree/master/packages/simple-rest), [GraphQL](https://github.com/pankod/refine/tree/master/packages/graphql), [NestJs CRUD](https://github.com/pankod/refine/tree/master/packages/nestjsx-crud), [Airtable](https://github.com/pankod/refine/tree/master/packages/airtable), [Strapi](https://github.com/pankod/refine/tree/master/packages/strapi), [Strapi v4](https://github.com/pankod/refine/tree/master/packages/strapi-v4), [Strapi GraphQL](https://github.com/pankod/refine/tree/master/packages/strapi-graphql), [Supabase](https://github.com/pankod/refine/tree/master/packages/supabase), [Hasura](https://github.com/pankod/refine/tree/master/packages/hasura), [Appwrite](https://github.com/pankod/refine/tree/master/packages/appwrite), [Firebase](https://firebase.google.com/), [Directus](https://directus.io/) and [Altogic](https://github.com/pankod/refine/tree/master/packages/altogic).\n\n📝 **Native Typescript Core** : You can always opt out for plain JavaScript.\n\n🐜 **Enterprise UI** : Works seamlessly with Ant Design System. (Support for multiple UI frameworks is on the Roadmap)\n\n📝 **Boilerplate-free Code** : Keeps your codebase clean and readable.\n\n## Motivation\n\nHigher-level frontend frameworks can save you a lot time, but they typically offer you a trade-off between speed and flexibility.\n\nAfter many years of experience in developing B2B frontend applications and working with popular frameworks, we came up with a new approach to tackle this dilemma. This is how **refine** is born.\n\n**refine** is a collection of helper `hooks`, `components` and `providers`. They are all decoupled from your UI components and business logic, so they never keep you from customizing your UI or coding your own flow.\n\nAs **refine** is totally _unopinionated_ about UI and logic, it's strongly _opinionated_ about three parts of your application:\n\n1. **API Networking**\n2. **State Management**\n3. **Authentication & Authorization**\n\nWe believe, these are the most important components of a data-intensive frontend application and should be handled in a robust way by leveraging industry best practices.\n\n**refine** guarantees you a perfect implementation of these building blocks in your project, so you can focus on your development.\n\n## Architecture\n\n**refine** makes extensive use of [hooks](https://reactjs.org/docs/hooks-reference.html#gatsby-focus-wrapper) as a default way for interacting with your components.\nUnder the hood, **refine** relies heavily to [React Query](https://react-query.tanstack.com/) for data handling, caching and state management.\nAccess to external sources and API's happen via providers which are basically plug-in type components for extendibility.\n\n<br/>\n\n<div align=\"center\">\n    <img src=\"https://raw.githubusercontent.com/pankod/refine/master/documentation/static/img/getting-started/refine_architecture.png\" width=\"400px\" />\n</div>\n\n## Benchmark\n\nAfter releasing the first internal versions, we had the chance to migrate some of our _React_ projects to **refine**.\nIn addition to **shorter development** times and **overall performance gains**, we've measured significant reduction in project size.\n\n**refine** makes your codebase significantly smaller, by eliminating redundant code such as _reducers_, _actions_ and _unit tests_. Below is a size comparison for an example project:\n\n<br/>\n\n<div align=\"center\">\n    <img src=\"https://raw.githubusercontent.com/pankod/refine/master/documentation/static/img/getting-started/benchmark.png\" width=\"400px\" align=\"center\" />\n</div>\n\n## Quick Start\n\nRun the **superplate** tool with the following command:\n\n```\nnpx superplate-cli -p refine-react tutorial\n```\n\nFollow the _CLI wizard_ to select options and start creating your project.\n\nAfter setup is complete, navigate to the project folder and start your project with:\n\n```\nnpm run dev\n```\n\nYour **refine** application will be accessible at [http://localhost:3000](http://localhost:3000).\n\nReplace the contents of `App.tsx` with the following code:\n\n```tsx title=\"App.tsx\"\nmport { Refine, useMany } from \"@pankod/refine-core\";\nimport {\n    useTable,\n    List,\n    Table,\n    DateField,\n} from \"@pankod/refine-antd\";\nimport routerProvider from \"@pankod/refine-react-router-v6\";\nimport dataProvider from \"@pankod/refine-simple-rest\";\n\nimport \"@pankod/refine-antd/dist/styles.min.css\";\n\nconst App: React.FC = () => {\n    return (\n        <Refine\n            routerProvider={routerProvider}\n            dataProvider={dataProvider(\"https://api.fake-rest.refine.dev\")}\n            resources={[{ name: \"posts\", list: PostList }]}\n        />\n    );\n};\n\nexport const PostList: React.FC = () => {\n    const { tableProps } = useTable<IPost>();\n\n    const categoryIds =\n        tableProps?.dataSource?.map((item) => item.category.id) ?? [];\n\n    const { data, isLoading } = useMany<ICategory>({\n        resource: \"categories\",\n        ids: categoryIds,\n        queryOptions: {\n            enabled: categoryIds.length > 0,\n        },\n    });\n\n    return (\n        <List>\n            <Table<IPost> {...tableProps} rowKey=\"id\">\n                <Table.Column dataIndex=\"title\" title=\"title\" />\n                <Table.Column\n                    dataIndex={[\"category\", \"id\"]}\n                    title=\"category\"\n                    render={(value: number) => {\n                        if (isLoading) {\n                            return \"loading...\";\n                        }\n\n                        return data?.data.find(\n                            (item: ICategory) => item.id === value,\n                        )?.title;\n                    }}\n                />\n                <Table.Column\n                    dataIndex=\"createdAt\"\n                    title=\"createdAt\"\n                    render={(value) => <DateField format=\"LLL\" value={value} />}\n                />\n            </Table>\n        </List>\n    );\n};\n\nexport default App;\n```\n\n```tsx title=\"interfaces.d.ts\"\ninterface IPost {\n    title: string;\n    createdAt: string;\n    category: { id: number };\n}\n\ninterface ICategory {\n    id: number;\n    title: string;\n}\n```\n\n## Roadmap\nYou can find Refine's <a href=\"https://github.com/pankod/refine/projects/1\">Public Roadmap here!</a> \n\n## Stargazers\n\n[![Stargazers repo roster for pankod/refine](https://reporoster.com/stars/pankod/refine)](https://github.com/pankod/refine/stargazers)\n\n## Contribution\n\nIf you have a bug to report, do not hesitate to file an issue.\n\nIf you are willing to fix an issue or propose a feature; all PRs with clear explanations are welcome and encouraged.\n\n## License\n\nLicensed under the MIT License, Copyright © 2021-present Pankod\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/pankod/refine/issues"},"homepage":"https://github.com/pankod/refine#readme","_id":"@pankod/refine-core@3.56.1","_nodeVersion":"16.16.0","_npmVersion":"8.11.0","dist":{"integrity":"sha512-g57VGIrkzThyt7dkc7/2u3WfadrUhRGaI58QCyZ8piBG+jOUrpX1q1QQLqlfDSOD+UjPETDJcfwQfRWFXIxzcQ==","shasum":"7c53765ad93c83442800028b726d2f210e5e06fb","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.56.1.tgz","fileCount":235,"unpackedSize":1778803,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQClwFBTP3tce5DNv4Kuwi5JqjhL9PxNPOzclZWBSPM/ZwIgOlRh0URZ/fC6otKHkLXDJNWRy45aSLNtPQBaS2yN9iU="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi67dGACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqzAA/+OKu86z0Rvyy0ASWOLkE5tPgSDoPjPnU7pe+7tM8+Ay5rcVVS\r\nz6D3XV4rCuTwID1p8qWu5s1n9noEOMlS3K4WsoLhWHBeqh9kY7qq1ISjbeRu\r\nYGgZdKVQCG3AWCKkMstfj9wHoeQZupSu38UrHWDvCpUsJvMqKz3x5M3e3Hfe\r\nw+eR25eF4ek6QeQ9RnzSgdeaL4nspVDe5w/VJwHpGs0kcKXktl4YkqbnzAig\r\nsrNzNGNftak4Cv8+ll4fI/qtYj63+A2+wU96P89eONv9sK/f4OTXetAWotVj\r\ntvDSi0PIx+uXCnppA5IDEuYNS9CnNyEmaxR89LlU+oO1x7PtvCBazmyaG0Ka\r\ncv09waAgdXyO0GjjfvAZy32TrdMcndCHOi9nKL/3hWyFgdCJODiHczh3rfNn\r\nZRBI6hXikjdx50lwPDW4CQZ5Z7/aP74aS8MNxgcQKFfh3Eu/FBbBf8ioj9nA\r\nm3upPem0+s9SdOIoTV+wq61tQn5yh6bgogkGDq5TFIRyWq43+iqJzfXtfQmQ\r\nen/Zthi3yaPrsM7z26ecfH9xDi0mzPBu4k79tKJvc57GYxR+Dcrj09L2ACp4\r\n00BAxK9FbkZaUdD/Mt28EuBfsS1y3a78g2WmLuSNBg9PaXZlaxE5IhFosZK8\r\n9K3Vl7K48krf+oORkyqSZ47l1GGTIr2t9ro=\r\n=INif\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"aydinakyol","email":"aydinakyol11@gmail.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.56.1_1659615046396_0.5728799707080283"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.56.2":{"name":"@pankod/refine-core","version":"3.56.2","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --dts --format esm,cjs,iife --legacy-output","build":"tsup --dts --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0","@types/react":"^17.0.0 || ^18.0.0","@types/react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.16.4","@testing-library/react":"^13.1.1","@testing-library/react-hooks":"^8.0.0","@testing-library/user-event":"^14.1.1","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^18.0.0","@types/react-dom":"^18.0.0","@types/react-router-dom":"^5.1.8","@types/testing-library__jest-dom":"^5.14.3","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"^6.0.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.7.4"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","humanize-string":"^2.1.0","lodash":"^4.17.21","lodash-es":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","react-query":"^3.19.2","tslib":"^2.3.1","warn-once":"^0.1.0","jose":"^4.8.3"},"repository":{"type":"git","url":"git+https://github.com/pankod/refine.git","directory":"packages/core"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"17dd5af3e4c9f7f09e1e707362c6f5a9d1cab8a8","publishConfig":{"access":"public"},"bugs":{"url":"https://github.com/pankod/refine/issues"},"homepage":"https://github.com/pankod/refine#readme","_id":"@pankod/refine-core@3.56.2","_nodeVersion":"16.16.0","_npmVersion":"8.11.0","dist":{"integrity":"sha512-sabv3/55dJa5sGVBMD5c2Cc/LCN/qDSAqlDstQOGdc/rCrSyTUvSPGTeDl3MoYN4VjirlF/46JBvjRlpfoJz7Q==","shasum":"da4488dab2203b36ca5d063fdb41486b9cddce1d","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.56.2.tgz","fileCount":235,"unpackedSize":1778912,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICeaSyFVDAL7Z+8pN0OIV6Iamrtgq+F6r8dtgdj+5ltXAiBa+jbdBKHK4bhIANdOiMVr+jUU6RQpy69jScxKO5Hb9Q=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi68MBACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrcnA/8DWOVvNqS3mGXkJQ3ugjAePNHmGk+XV6h8H1GSbuOr7I4WqW2\r\nfbH7QvFSPieAT7xkmpE+ZtGuaJMB86aEINHobq4mmsDcsB9O2QfYBg+UYu51\r\njYNjdbD+7TG6qW9Q8Ywmth2pbr8JGJqthwW5NleojyTm6zOrAbyM5AZ8LEul\r\nTY2V3Iidkbth+oSvgCQ+17MsuxtIvmkghHHEe9J6gUmxaC0lckpE7vLCUBkL\r\n38ndHUk/M4gpWBEQXIyBcmRZbHqcqZBmuk4LyrsySJj+IHRrv9ibyAovd4/z\r\nO7Q9EGDgG2LtaKe/Q1fm74XiUQixX2sS6fLbuag2Ifanp4Ybba/r51fxtQ1D\r\nVLcBVRM0vjfw3e0bac8tZJDTzKP1bkQn09AXaXM72EEwbXAS/XNwkOtblgIK\r\nshrg99BkA9FwyyX4JEKFXBhhpJ6K6iaK6d6+j+ZMBK2/qp9cxmMo9JVenOIa\r\ncMeZRLfovQVOSFxIyMB5Iwo6y/ux27d3GwU/t/8mimzeTlOecMudgsDiQO0D\r\n6CqNSEqzde35JcZ7R/vNc4MCq+60H2/IaqODM6dtCxcPJRLTU7mnXYihkWhr\r\n28FOQ3gN7A98hI2a2rk0i9lNCX8ih59DL8qXC/+eOlQx9P1aVgRYtXxZOk5g\r\nVEWZ3qKE+qrTP9DhoL/NwmkwVPEwuOBahVw=\r\n=o8IS\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"aydinakyol","email":"aydinakyol11@gmail.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.56.2_1659618048600_0.08388929054047645"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.56.3":{"name":"@pankod/refine-core","version":"3.56.3","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --dts --format esm,cjs,iife --legacy-output","build":"tsup --dts --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0","@types/react":"^17.0.0 || ^18.0.0","@types/react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.16.4","@testing-library/react":"^13.1.1","@testing-library/react-hooks":"^8.0.0","@testing-library/user-event":"^14.1.1","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^18.0.0","@types/react-dom":"^18.0.0","@types/react-router-dom":"^5.1.8","@types/testing-library__jest-dom":"^5.14.3","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"^6.0.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.7.4"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","humanize-string":"^2.1.0","lodash":"^4.17.21","lodash-es":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","react-query":"^3.19.2","tslib":"^2.3.1","warn-once":"^0.1.0","jose":"^4.8.3"},"repository":{"type":"git","url":"git+https://github.com/pankod/refine.git","directory":"packages/core"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"17dd5af3e4c9f7f09e1e707362c6f5a9d1cab8a8","publishConfig":{"access":"public"},"readme":"<div align=\"center\" style=\"margin: 30px;\">\n<a href=\"https://refine.dev/\">\n  <img src=\"https://raw.githubusercontent.com/pankod/refine/master/logo.png\"   style=\"width:250px;\" align=\"center\" />\n</a>\n<br />\n<br />\n\n<div align=\"center\">\n    <a href=\"https://refine.dev\">Home Page</a> |\n    <a href=\"https://refine.dev/demo/\">Demo</a> | \n    <a href=\"https://refine.dev/blog/\">Blog</a> | \n    <a href=\"https://refine.dev/docs/\">Documentation</a> | \n    <a href=\"https://github.com/pankod/refine/projects/1\">Roadmap</a> | \n    <a href=\"https://refine.dev/docs/examples/tutorial/\">Examples</a> | \n    <a href=\"https://refine.dev/enterprise/\">Enterprise</a> | \n    <a href=\"https://discord.gg/refine\">Discord</a>\n</div>\n\n</div>\n<br/>\n\n<div align=\"center\"><strong>refine</strong> is a <a href=\"https://reactjs.org/\">React</a>-based framework for building internal tools, rapidly. ✨ It ships with <a href=\"https://ant.design/\">Ant Design System</a>, an enterprise-level UI toolkit.</div>\n\n<br />\n\n<div align=\"center\">\n\n[![Discord](https://img.shields.io/discord/837692625737613362.svg?label=&logo=discord&logoColor=ffffff&color=7389D8&labelColor=6A7EC2)](https://discord.gg/refine)\n![Twitter Follow](https://img.shields.io/twitter/follow/refine_dev?style=social)\n\n<a href=\"https://www.producthunt.com/posts/refine-open-source-react-framework?utm_source=badge-featured&utm_medium=badge&utm_souce=badge-refine-open-source-react-framework\" target=\"_blank\"><img src=\"https://api.producthunt.com/widgets/embed-image/v1/featured.svg?post_id=319164&theme=light\" alt=\"refine: Open Source React Framework - Focus your business logic. refine will do the rest. | Product Hunt\" style=\"width: 250px; height: 54px;\" width=\"250\" height=\"54\" /></a>\n\n[![Meercode CI Score](https://meercode.io/badge/pankod/refine?type=ci-score&branch=master&token=2ZiT8YsoJgt57JB23NYwXrFY3rJHZboT&lastDay=31)](https://meercode.io/)\n[![Meercode CI Success Rate](https://meercode.io/badge/pankod/refine?type=ci-success-rate&branch=master&token=2ZiT8YsoJgt57JB23NYwXrFY3rJHZboT&lastDay=31)](https://meercode.io/)\n[![Maintainability](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/maintainability)](https://codeclimate.com/github/pankod/refine/maintainability)\n[![Test Coverage](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/test_coverage)](https://codeclimate.com/github/pankod/refine/test_coverage)\n[![npm version](https://img.shields.io/npm/v/@pankod/refine-core.svg)](https://www.npmjs.com/package/@pankod/refine-core)\n[![npm](https://img.shields.io/npm/dm/@pankod/refine-core)](https://www.npmjs.com/package/@pankod/refine-core)\n[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.0-4baaaa.svg)](code_of_conduct.md)\n\n\n</div>\n\n<div align=\"center\">\n  <sub>Created by <a href=\"https://www.pankod.com\">Pankod</a></sub>\n</div>\n\n## About\n\n[**refine**](https://refine.dev/) offers lots of out-of-the box functionality for rapid development, without compromising extreme customizability. Use-cases include, but are not limited to _admin panels_, _B2B applications_ and _dashboards_.\n\n## Documentation\n\nFor more detailed information and usage, refer to the [refine documentation](https://refine.dev/docs/).\n\n## What is refine?\n\n**refine** is a [React](https://reactjs.org/)-based framework for building internal tools, rapidly. :sparkles: It ships with [Ant Design System](https://ant.design/), an enterprise-level UI toolkit.\n\nRefine offers lots of out-of-the box functionality for rapid development, without compromising extreme customizability. Use-cases include, but are not limited to _admin panels_, _B2B applications_ and _dashboards_.\n\n## What is a \"headless\" Framework?\n**refine** is a **headless** React framework, which means all out-of-the-box features(**Routing**, **Networking**, **Authentication**, **Authorization**, **State Management**, **Realtime**, **i18n**, etc.), it can be used without being tied to any UI elements or framework. Also, Ant Design as out-of-the-box is supported.\n\n- Customization & Extensibility -  UI is a completely customizable area and each developer uses different solutions. **refine** features does not restrict or interfere with your UI structure. **refine** allows the you to design and customizable the UI based on their unique use case.\n\n- Separation of Concerns - **refine** as a framework, is not responsible for your UI and is independent.\n\n- Maintenance - By removing the API surface to support every UI use case, **refine** easy to use and update/maintain is simple.\n\n###\n\n## Key features\n\n🔥 **Headless** : Works with any UI framework\n\n⚙️ **Zero-configuration**: One-line setup with [superplate](https://github.com/pankod/superplate). It takes less than a minute to start a project.\n\n📦 **Out-of-the-box** : Routing, networking, authentication, state management, i18n and UI.\n\n🔌 **Backend Agnostic** : Connects to any custom backend. Built-in support for [REST API](https://github.com/pankod/refine/tree/master/packages/simple-rest), [GraphQL](https://github.com/pankod/refine/tree/master/packages/graphql), [NestJs CRUD](https://github.com/pankod/refine/tree/master/packages/nestjsx-crud), [Airtable](https://github.com/pankod/refine/tree/master/packages/airtable), [Strapi](https://github.com/pankod/refine/tree/master/packages/strapi), [Strapi v4](https://github.com/pankod/refine/tree/master/packages/strapi-v4), [Strapi GraphQL](https://github.com/pankod/refine/tree/master/packages/strapi-graphql), [Supabase](https://github.com/pankod/refine/tree/master/packages/supabase), [Hasura](https://github.com/pankod/refine/tree/master/packages/hasura), [Appwrite](https://github.com/pankod/refine/tree/master/packages/appwrite), [Firebase](https://firebase.google.com/), [Directus](https://directus.io/) and [Altogic](https://github.com/pankod/refine/tree/master/packages/altogic).\n\n📝 **Native Typescript Core** : You can always opt out for plain JavaScript.\n\n🐜 **Enterprise UI** : Works seamlessly with Ant Design System. (Support for multiple UI frameworks is on the Roadmap)\n\n📝 **Boilerplate-free Code** : Keeps your codebase clean and readable.\n\n## Motivation\n\nHigher-level frontend frameworks can save you a lot time, but they typically offer you a trade-off between speed and flexibility.\n\nAfter many years of experience in developing B2B frontend applications and working with popular frameworks, we came up with a new approach to tackle this dilemma. This is how **refine** is born.\n\n**refine** is a collection of helper `hooks`, `components` and `providers`. They are all decoupled from your UI components and business logic, so they never keep you from customizing your UI or coding your own flow.\n\nAs **refine** is totally _unopinionated_ about UI and logic, it's strongly _opinionated_ about three parts of your application:\n\n1. **API Networking**\n2. **State Management**\n3. **Authentication & Authorization**\n\nWe believe, these are the most important components of a data-intensive frontend application and should be handled in a robust way by leveraging industry best practices.\n\n**refine** guarantees you a perfect implementation of these building blocks in your project, so you can focus on your development.\n\n## Architecture\n\n**refine** makes extensive use of [hooks](https://reactjs.org/docs/hooks-reference.html#gatsby-focus-wrapper) as a default way for interacting with your components.\nUnder the hood, **refine** relies heavily to [React Query](https://react-query.tanstack.com/) for data handling, caching and state management.\nAccess to external sources and API's happen via providers which are basically plug-in type components for extendibility.\n\n<br/>\n\n<div align=\"center\">\n    <img src=\"https://raw.githubusercontent.com/pankod/refine/master/documentation/static/img/getting-started/refine_architecture.png\" width=\"400px\" />\n</div>\n\n## Benchmark\n\nAfter releasing the first internal versions, we had the chance to migrate some of our _React_ projects to **refine**.\nIn addition to **shorter development** times and **overall performance gains**, we've measured significant reduction in project size.\n\n**refine** makes your codebase significantly smaller, by eliminating redundant code such as _reducers_, _actions_ and _unit tests_. Below is a size comparison for an example project:\n\n<br/>\n\n<div align=\"center\">\n    <img src=\"https://raw.githubusercontent.com/pankod/refine/master/documentation/static/img/getting-started/benchmark.png\" width=\"400px\" align=\"center\" />\n</div>\n\n## Quick Start\n\nRun the **superplate** tool with the following command:\n\n```\nnpx superplate-cli -p refine-react tutorial\n```\n\nFollow the _CLI wizard_ to select options and start creating your project.\n\nAfter setup is complete, navigate to the project folder and start your project with:\n\n```\nnpm run dev\n```\n\nYour **refine** application will be accessible at [http://localhost:3000](http://localhost:3000).\n\nReplace the contents of `App.tsx` with the following code:\n\n```tsx title=\"App.tsx\"\nmport { Refine, useMany } from \"@pankod/refine-core\";\nimport {\n    useTable,\n    List,\n    Table,\n    DateField,\n} from \"@pankod/refine-antd\";\nimport routerProvider from \"@pankod/refine-react-router-v6\";\nimport dataProvider from \"@pankod/refine-simple-rest\";\n\nimport \"@pankod/refine-antd/dist/styles.min.css\";\n\nconst App: React.FC = () => {\n    return (\n        <Refine\n            routerProvider={routerProvider}\n            dataProvider={dataProvider(\"https://api.fake-rest.refine.dev\")}\n            resources={[{ name: \"posts\", list: PostList }]}\n        />\n    );\n};\n\nexport const PostList: React.FC = () => {\n    const { tableProps } = useTable<IPost>();\n\n    const categoryIds =\n        tableProps?.dataSource?.map((item) => item.category.id) ?? [];\n\n    const { data, isLoading } = useMany<ICategory>({\n        resource: \"categories\",\n        ids: categoryIds,\n        queryOptions: {\n            enabled: categoryIds.length > 0,\n        },\n    });\n\n    return (\n        <List>\n            <Table<IPost> {...tableProps} rowKey=\"id\">\n                <Table.Column dataIndex=\"title\" title=\"title\" />\n                <Table.Column\n                    dataIndex={[\"category\", \"id\"]}\n                    title=\"category\"\n                    render={(value: number) => {\n                        if (isLoading) {\n                            return \"loading...\";\n                        }\n\n                        return data?.data.find(\n                            (item: ICategory) => item.id === value,\n                        )?.title;\n                    }}\n                />\n                <Table.Column\n                    dataIndex=\"createdAt\"\n                    title=\"createdAt\"\n                    render={(value) => <DateField format=\"LLL\" value={value} />}\n                />\n            </Table>\n        </List>\n    );\n};\n\nexport default App;\n```\n\n```tsx title=\"interfaces.d.ts\"\ninterface IPost {\n    title: string;\n    createdAt: string;\n    category: { id: number };\n}\n\ninterface ICategory {\n    id: number;\n    title: string;\n}\n```\n\n## Roadmap\nYou can find Refine's <a href=\"https://github.com/pankod/refine/projects/1\">Public Roadmap here!</a> \n\n## Stargazers\n\n[![Stargazers repo roster for pankod/refine](https://reporoster.com/stars/pankod/refine)](https://github.com/pankod/refine/stargazers)\n\n## Contribution\n\nIf you have a bug to report, do not hesitate to file an issue.\n\nIf you are willing to fix an issue or propose a feature; all PRs with clear explanations are welcome and encouraged.\n\n## License\n\nLicensed under the MIT License, Copyright © 2021-present Pankod\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/pankod/refine/issues"},"homepage":"https://github.com/pankod/refine#readme","_id":"@pankod/refine-core@3.56.3","_nodeVersion":"16.16.0","_npmVersion":"8.11.0","dist":{"integrity":"sha512-x165nL7mEef7b4y7XL9U2+AVAKiqzfEHp3FOO63tWfEJYpnhRUCfY+vEN6x/fZSk2TWx0QhUzeJ8uAP6ueracQ==","shasum":"e445f2dc3be31871b2b9d8f3a52065684025c3c5","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.56.3.tgz","fileCount":239,"unpackedSize":1797859,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD/ueFB8YNnVzLfqVKhpVhVianR3c71s83EqJFdj0YeZQIgK/fLd7pnJlbPkGZP0dQ7u1iLsSW8wJWD3ZgqPBVKKTA="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi6+FoACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo6gRAAm94/syX+CikkyTI/Yh5RZVMDwF0n4gtQG+FcG1bQGwfgZK9Z\r\nH28044eVcUsWGi31iBFad2fhhNpCZlUeJcllGfOQu/5KhNWYPXBad2E9mPu3\r\nFRHFXnKiHe+i3fhOOLPVqILNsePvkUwEJjtJ12xvIjhMVuAEEQmwr3gRmBN3\r\nQn7NzPVM44FsHmNktL3TFNuCLCfH3QTFZY407rph2olm0n7cH4SAbpp26/1Y\r\nCstDAC8CnTZC3jNl7dIyH4GpPtWv2NZOBOS64zVLapL79iDfthU4ChEPaT3O\r\nVqdSWXWl5KajrK7bF4+VeRhhEMB6gOJgs+8/oNmHJlrca4fOQBr/9gq72edd\r\ncTouQ07EyHISbos+XLQLtN7SAthP0Xz6S0D16dsPMUEzpQsoGgfaZkWG353D\r\nN69kOYvvJ91uuk0Fh+mqQQBdCyBEawmyMGWOwQO2slXQTpZ9uOtky8HeIgpg\r\nkch1F0qTpfGYUfY158vLFKUI/12QNplLKs9mGDtmF3djJI99z6bEzjqPurq+\r\nAS/bdQISyPQ5T7l4yGGt+Y6Wl7Kof/L2KAvFw9KPVmwZMtcAZh6FQ0a4rYHK\r\n8qTDLxWHpnXJbBVuq0RcWWtlaeVUARA8f5xVzlQHSXQ0FBV8pSxCjxUTIv8q\r\n4h5q9wmSpNHrZVZCBQbIKPkYLD3CEkALvUM=\r\n=EMvJ\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"aydinakyol","email":"aydinakyol11@gmail.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.56.3_1659625832447_0.2813845422325971"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.56.4":{"name":"@pankod/refine-core","version":"3.56.4","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --dts --format esm,cjs,iife --legacy-output","build":"tsup --dts --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0","@types/react":"^17.0.0 || ^18.0.0","@types/react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.16.4","@testing-library/react":"^13.1.1","@testing-library/react-hooks":"^8.0.0","@testing-library/user-event":"^14.1.1","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^18.0.0","@types/react-dom":"^18.0.0","@types/react-router-dom":"^5.1.8","@types/testing-library__jest-dom":"^5.14.3","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"^6.0.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.7.4"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","humanize-string":"^2.1.0","lodash":"^4.17.21","lodash-es":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","react-query":"^3.19.2","tslib":"^2.3.1","warn-once":"^0.1.0","jose":"^4.8.3"},"repository":{"type":"git","url":"git+https://github.com/pankod/refine.git","directory":"packages/core"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"17dd5af3e4c9f7f09e1e707362c6f5a9d1cab8a8","publishConfig":{"access":"public"},"bugs":{"url":"https://github.com/pankod/refine/issues"},"homepage":"https://github.com/pankod/refine#readme","_id":"@pankod/refine-core@3.56.4","_nodeVersion":"16.16.0","_npmVersion":"8.11.0","dist":{"integrity":"sha512-Y64LzD3dHioeNTIEbpSa2kBcterC4K+76m4wHzuGv0dRbVgJhxduhJqjv8JG2XI5/+HRd8/FDJFEKIxq1HPYng==","shasum":"dd2ca0729fb17dd1d254284425fc00856f64e2d8","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.56.4.tgz","fileCount":239,"unpackedSize":1798813,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCxC3kE7TugkD3tq7mfHoRpz4aCrbvpNRl79CUSYDMxIQIgTbHMOBRtBUtDc2SAC3JcWTAppEifGsE/y5mbPNYLsOc="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi6+cNACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqmCBAAk8xNbGWWyt1sH6au8etdOSVFNDNaP6ryOPUjdQ265E2woIWu\r\nGSKGUgYDUV+RhEAYO1iwk+Y6F1W+0kNNET+OkogrgBGJ4qPqK1aVCDgo1pGW\r\n9HN9iFjciI/HtrphGqExqPr2r2jbmQXgr2l25esA70gyWAG8nJvyoE8STOLL\r\n0fwup8+9xTqj2is6b9nRIQ2Uy+x4bVHg74pn5oMBvaElG+ySYwgFZLbCXW61\r\nB2d6nJsA6k1SAJf0JZ1CAsfe+EtjsX3KtP8toVXCseVEwGsSLwuDObIy8yZi\r\nP2VJZXif5w3gRBx8x1OvOaxgl3ZGbxjUCO44tMm3bu3/VNwpcu1cjhF+wDrZ\r\nRKAJHSeRx93r8pX+r3ZJgx1LKiD9ISa/EgnAxYGdbwerwrU/j5j9ByCJwQ50\r\nCoV2mFQnyvMFxv3AdG4wcPKMdwYVi9O6enU5Tk/xRmhdO11+3UTE7Tl0Y3kC\r\ntr9IwY/6NaWyNQ6VTWLuw9x3YBLPaMHSLqTxVKttYUMEEqVX/5GmCuSldaJo\r\n082IUzc06TYvPAWNiDJPMQa3FfMO/lOaP4lTH3SP30o8vr1WMIPLHEqvHi03\r\nq04kr/nxvBq+4/Eq9DbHyw7LygBO2QQJAHnDowidBIDYsROtNhczZqv0HfRP\r\ngqY3I9Dfj/gk88RBMOii2mmCinU9XY2lARo=\r\n=/qdy\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"aydinakyol","email":"aydinakyol11@gmail.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.56.4_1659627276882_0.27788984545365913"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.56.5":{"name":"@pankod/refine-core","version":"3.56.5","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --dts --format esm,cjs,iife --legacy-output","build":"tsup --dts --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0","@types/react":"^17.0.0 || ^18.0.0","@types/react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.16.4","@testing-library/react":"^13.1.1","@testing-library/react-hooks":"^8.0.0","@testing-library/user-event":"^14.1.1","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^18.0.0","@types/react-dom":"^18.0.0","@types/react-router-dom":"^5.1.8","@types/testing-library__jest-dom":"^5.14.3","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"^6.0.0","ts-jest":"^27.1.3","tsup":"^5.11.13","@tanstack/react-query-devtools":"^4.0.10","typescript":"^4.7.4"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","humanize-string":"^2.1.0","lodash":"^4.17.21","lodash-es":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","@tanstack/react-query":"^4.0.10","tslib":"^2.3.1","warn-once":"^0.1.0","jose":"^4.8.3"},"repository":{"type":"git","url":"git+https://github.com/pankod/refine.git","directory":"packages/core"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"17dd5af3e4c9f7f09e1e707362c6f5a9d1cab8a8","publishConfig":{"access":"public"},"readme":"<div align=\"center\" style=\"margin: 30px;\">\n<a href=\"https://refine.dev/\">\n  <img src=\"https://raw.githubusercontent.com/pankod/refine/master/logo.png\"   style=\"width:250px;\" align=\"center\" />\n</a>\n<br />\n<br />\n\n<div align=\"center\">\n    <a href=\"https://refine.dev\">Home Page</a> |\n    <a href=\"https://refine.dev/demo/\">Demo</a> | \n    <a href=\"https://refine.dev/blog/\">Blog</a> | \n    <a href=\"https://refine.dev/docs/\">Documentation</a> | \n    <a href=\"https://github.com/pankod/refine/projects/1\">Roadmap</a> | \n    <a href=\"https://refine.dev/docs/examples/tutorial/\">Examples</a> | \n    <a href=\"https://refine.dev/enterprise/\">Enterprise</a> | \n    <a href=\"https://discord.gg/refine\">Discord</a>\n</div>\n\n</div>\n<br/>\n\n<div align=\"center\"><strong>refine</strong> is a <a href=\"https://reactjs.org/\">React</a>-based framework for building internal tools, rapidly. ✨ It ships with <a href=\"https://ant.design/\">Ant Design System</a>, an enterprise-level UI toolkit.</div>\n\n<br />\n\n<div align=\"center\">\n\n[![Discord](https://img.shields.io/discord/837692625737613362.svg?label=&logo=discord&logoColor=ffffff&color=7389D8&labelColor=6A7EC2)](https://discord.gg/refine)\n![Twitter Follow](https://img.shields.io/twitter/follow/refine_dev?style=social)\n\n<a href=\"https://www.producthunt.com/posts/refine-open-source-react-framework?utm_source=badge-featured&utm_medium=badge&utm_souce=badge-refine-open-source-react-framework\" target=\"_blank\"><img src=\"https://api.producthunt.com/widgets/embed-image/v1/featured.svg?post_id=319164&theme=light\" alt=\"refine: Open Source React Framework - Focus your business logic. refine will do the rest. | Product Hunt\" style=\"width: 250px; height: 54px;\" width=\"250\" height=\"54\" /></a>\n\n[![Meercode CI Score](https://meercode.io/badge/pankod/refine?type=ci-score&branch=master&token=2ZiT8YsoJgt57JB23NYwXrFY3rJHZboT&lastDay=31)](https://meercode.io/)\n[![Meercode CI Success Rate](https://meercode.io/badge/pankod/refine?type=ci-success-rate&branch=master&token=2ZiT8YsoJgt57JB23NYwXrFY3rJHZboT&lastDay=31)](https://meercode.io/)\n[![Maintainability](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/maintainability)](https://codeclimate.com/github/pankod/refine/maintainability)\n[![Test Coverage](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/test_coverage)](https://codeclimate.com/github/pankod/refine/test_coverage)\n[![npm version](https://img.shields.io/npm/v/@pankod/refine-core.svg)](https://www.npmjs.com/package/@pankod/refine-core)\n[![npm](https://img.shields.io/npm/dm/@pankod/refine-core)](https://www.npmjs.com/package/@pankod/refine-core)\n[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.0-4baaaa.svg)](code_of_conduct.md)\n\n\n</div>\n\n<div align=\"center\">\n  <sub>Created by <a href=\"https://www.pankod.com\">Pankod</a></sub>\n</div>\n\n## About\n\n[**refine**](https://refine.dev/) offers lots of out-of-the box functionality for rapid development, without compromising extreme customizability. Use-cases include, but are not limited to _admin panels_, _B2B applications_ and _dashboards_.\n\n## Documentation\n\nFor more detailed information and usage, refer to the [refine documentation](https://refine.dev/docs/).\n\n## What is refine?\n\n**refine** is a [React](https://reactjs.org/)-based framework for building internal tools, rapidly. :sparkles: It ships with [Ant Design System](https://ant.design/), an enterprise-level UI toolkit.\n\nRefine offers lots of out-of-the box functionality for rapid development, without compromising extreme customizability. Use-cases include, but are not limited to _admin panels_, _B2B applications_ and _dashboards_.\n\n## What is a \"headless\" Framework?\n**refine** is a **headless** React framework, which means all out-of-the-box features(**Routing**, **Networking**, **Authentication**, **Authorization**, **State Management**, **Realtime**, **i18n**, etc.), it can be used without being tied to any UI elements or framework. Also, Ant Design as out-of-the-box is supported.\n\n- Customization & Extensibility -  UI is a completely customizable area and each developer uses different solutions. **refine** features does not restrict or interfere with your UI structure. **refine** allows the you to design and customizable the UI based on their unique use case.\n\n- Separation of Concerns - **refine** as a framework, is not responsible for your UI and is independent.\n\n- Maintenance - By removing the API surface to support every UI use case, **refine** easy to use and update/maintain is simple.\n\n###\n\n## Key features\n\n🔥 **Headless** : Works with any UI framework\n\n⚙️ **Zero-configuration**: One-line setup with [superplate](https://github.com/pankod/superplate). It takes less than a minute to start a project.\n\n📦 **Out-of-the-box** : Routing, networking, authentication, state management, i18n and UI.\n\n🔌 **Backend Agnostic** : Connects to any custom backend. Built-in support for [REST API](https://github.com/pankod/refine/tree/master/packages/simple-rest), [GraphQL](https://github.com/pankod/refine/tree/master/packages/graphql), [NestJs CRUD](https://github.com/pankod/refine/tree/master/packages/nestjsx-crud), [Airtable](https://github.com/pankod/refine/tree/master/packages/airtable), [Strapi](https://github.com/pankod/refine/tree/master/packages/strapi), [Strapi v4](https://github.com/pankod/refine/tree/master/packages/strapi-v4), [Strapi GraphQL](https://github.com/pankod/refine/tree/master/packages/strapi-graphql), [Supabase](https://github.com/pankod/refine/tree/master/packages/supabase), [Hasura](https://github.com/pankod/refine/tree/master/packages/hasura), [Appwrite](https://github.com/pankod/refine/tree/master/packages/appwrite), [Firebase](https://firebase.google.com/), [Directus](https://directus.io/) and [Altogic](https://github.com/pankod/refine/tree/master/packages/altogic).\n\n📝 **Native Typescript Core** : You can always opt out for plain JavaScript.\n\n🐜 **Enterprise UI** : Works seamlessly with Ant Design System. (Support for multiple UI frameworks is on the Roadmap)\n\n📝 **Boilerplate-free Code** : Keeps your codebase clean and readable.\n\n## Motivation\n\nHigher-level frontend frameworks can save you a lot time, but they typically offer you a trade-off between speed and flexibility.\n\nAfter many years of experience in developing B2B frontend applications and working with popular frameworks, we came up with a new approach to tackle this dilemma. This is how **refine** is born.\n\n**refine** is a collection of helper `hooks`, `components` and `providers`. They are all decoupled from your UI components and business logic, so they never keep you from customizing your UI or coding your own flow.\n\nAs **refine** is totally _unopinionated_ about UI and logic, it's strongly _opinionated_ about three parts of your application:\n\n1. **API Networking**\n2. **State Management**\n3. **Authentication & Authorization**\n\nWe believe, these are the most important components of a data-intensive frontend application and should be handled in a robust way by leveraging industry best practices.\n\n**refine** guarantees you a perfect implementation of these building blocks in your project, so you can focus on your development.\n\n## Architecture\n\n**refine** makes extensive use of [hooks](https://reactjs.org/docs/hooks-reference.html#gatsby-focus-wrapper) as a default way for interacting with your components.\nUnder the hood, **refine** relies heavily to [React Query](https://react-query.tanstack.com/) for data handling, caching and state management.\nAccess to external sources and API's happen via providers which are basically plug-in type components for extendibility.\n\n<br/>\n\n<div align=\"center\">\n    <img src=\"https://raw.githubusercontent.com/pankod/refine/master/documentation/static/img/getting-started/refine_architecture.png\" width=\"400px\" />\n</div>\n\n## Benchmark\n\nAfter releasing the first internal versions, we had the chance to migrate some of our _React_ projects to **refine**.\nIn addition to **shorter development** times and **overall performance gains**, we've measured significant reduction in project size.\n\n**refine** makes your codebase significantly smaller, by eliminating redundant code such as _reducers_, _actions_ and _unit tests_. Below is a size comparison for an example project:\n\n<br/>\n\n<div align=\"center\">\n    <img src=\"https://raw.githubusercontent.com/pankod/refine/master/documentation/static/img/getting-started/benchmark.png\" width=\"400px\" align=\"center\" />\n</div>\n\n## Quick Start\n\nRun the **superplate** tool with the following command:\n\n```\nnpx superplate-cli -p refine-react tutorial\n```\n\nFollow the _CLI wizard_ to select options and start creating your project.\n\nAfter setup is complete, navigate to the project folder and start your project with:\n\n```\nnpm run dev\n```\n\nYour **refine** application will be accessible at [http://localhost:3000](http://localhost:3000).\n\nReplace the contents of `App.tsx` with the following code:\n\n```tsx title=\"App.tsx\"\nmport { Refine, useMany } from \"@pankod/refine-core\";\nimport {\n    useTable,\n    List,\n    Table,\n    DateField,\n} from \"@pankod/refine-antd\";\nimport routerProvider from \"@pankod/refine-react-router-v6\";\nimport dataProvider from \"@pankod/refine-simple-rest\";\n\nimport \"@pankod/refine-antd/dist/styles.min.css\";\n\nconst App: React.FC = () => {\n    return (\n        <Refine\n            routerProvider={routerProvider}\n            dataProvider={dataProvider(\"https://api.fake-rest.refine.dev\")}\n            resources={[{ name: \"posts\", list: PostList }]}\n        />\n    );\n};\n\nexport const PostList: React.FC = () => {\n    const { tableProps } = useTable<IPost>();\n\n    const categoryIds =\n        tableProps?.dataSource?.map((item) => item.category.id) ?? [];\n\n    const { data, isLoading } = useMany<ICategory>({\n        resource: \"categories\",\n        ids: categoryIds,\n        queryOptions: {\n            enabled: categoryIds.length > 0,\n        },\n    });\n\n    return (\n        <List>\n            <Table<IPost> {...tableProps} rowKey=\"id\">\n                <Table.Column dataIndex=\"title\" title=\"title\" />\n                <Table.Column\n                    dataIndex={[\"category\", \"id\"]}\n                    title=\"category\"\n                    render={(value: number) => {\n                        if (isLoading) {\n                            return \"loading...\";\n                        }\n\n                        return data?.data.find(\n                            (item: ICategory) => item.id === value,\n                        )?.title;\n                    }}\n                />\n                <Table.Column\n                    dataIndex=\"createdAt\"\n                    title=\"createdAt\"\n                    render={(value) => <DateField format=\"LLL\" value={value} />}\n                />\n            </Table>\n        </List>\n    );\n};\n\nexport default App;\n```\n\n```tsx title=\"interfaces.d.ts\"\ninterface IPost {\n    title: string;\n    createdAt: string;\n    category: { id: number };\n}\n\ninterface ICategory {\n    id: number;\n    title: string;\n}\n```\n\n## Roadmap\nYou can find Refine's <a href=\"https://github.com/pankod/refine/projects/1\">Public Roadmap here!</a> \n\n## Stargazers\n\n[![Stargazers repo roster for pankod/refine](https://reporoster.com/stars/pankod/refine)](https://github.com/pankod/refine/stargazers)\n\n## Contribution\n\nIf you have a bug to report, do not hesitate to file an issue.\n\nIf you are willing to fix an issue or propose a feature; all PRs with clear explanations are welcome and encouraged.\n\n## License\n\nLicensed under the MIT License, Copyright © 2021-present Pankod\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/pankod/refine/issues"},"homepage":"https://github.com/pankod/refine#readme","_id":"@pankod/refine-core@3.56.5","_nodeVersion":"16.16.0","_npmVersion":"8.11.0","dist":{"integrity":"sha512-teiXQ4aZ5CRseWa0JSVJ7ssAu0RItYgvHPUWvd3YYgENyphbmI9i29aOwZubfUzG+e4mAbLWa/gYmZ9fcnnfvA==","shasum":"f5e88bbd4c58bc1269c398c039e7f66d9bbef4d5","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.56.5.tgz","fileCount":239,"unpackedSize":1801952,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDByYTEkUyEnCD1Uo16brmHSEaiWvW9qeAFk8vu15M2mwIhAJYFSHPIEDGoYrGXILzrkabMQJ/5/psJbSbVuPyxJOXm"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi7QcsACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpOURAAhsN7Z/FyveavH2UoXg+q9x3otDP010LC1akdGN+mlG2VOGEv\r\nS5d8XcTMdaeiILjcjmKYpyaDxi6SeHxcmL7ADGlcJatakinU7kMqP3acjijH\r\nyOzt6boSMxih3Lkr1EL4bGniCDkUJbevPxqTotJBEWm47J8m4doLfVY8qB21\r\ncLtckqBErs7qPXKBQP8mThGlJ6gPlZuGYGb2Cvm8jqvVgBIhKzwSZ51z5CSx\r\ng0JqrNm81zim0QOEuqiAd+H5QWE3xBwJewMmNDdHSAPjlMk75virIwrE8mMz\r\n0qO3H8/bdI58aHW+j3ccm4cx1fbXF0kxRfulUYWD7sLWPPXSbMdi6ztHamJH\r\nSY96B14F/94qXGzc0XBPlqLiK7dkbmSR0lgm+9mRGUb8vSFxbBkgj596rQqw\r\ntTmQxc0umzzrUYopSrtxQo22a2JGX874td4K+98J4sgU6pEjw8yTgZgL34Ue\r\nXDUwyGTwKWP/Dxd/+1u/ktKcV4nBOAIcrdbPXoyAiIITyf+YqpLLpBxQ93wZ\r\nn0C9rVFMHi3ehuOhufS8zTML06odQfoOlCL0zeiFJB3mKB44m6aHkgU8iFzn\r\nCXPP32lkifdyeQITBIp2fIzdhoof/alpSudpudcZEu8zNVdSilyPl2vKpCBS\r\nepVM5ZqahM3qACrjX8P6gcmRLX0LobcOn20=\r\n=JwTd\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"aydinakyol","email":"aydinakyol11@gmail.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.56.5_1659701036024_0.10390822647978903"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.56.6":{"name":"@pankod/refine-core","version":"3.56.6","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --dts --format esm,cjs,iife --legacy-output","build":"tsup --dts --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0","@types/react":"^17.0.0 || ^18.0.0","@types/react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.16.4","@testing-library/react":"^13.1.1","@testing-library/react-hooks":"^8.0.0","@testing-library/user-event":"^14.1.1","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^18.0.0","@types/react-dom":"^18.0.0","@types/react-router-dom":"^5.1.8","@types/testing-library__jest-dom":"^5.14.3","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"^6.0.0","ts-jest":"^27.1.3","tsup":"^5.11.13","@tanstack/react-query-devtools":"^4.0.10","typescript":"^4.7.4"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","humanize-string":"^2.1.0","lodash":"^4.17.21","lodash-es":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","@tanstack/react-query":"^4.0.10","tslib":"^2.3.1","warn-once":"^0.1.0","jose":"^4.8.3"},"repository":{"type":"git","url":"git+https://github.com/pankod/refine.git","directory":"packages/core"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"17dd5af3e4c9f7f09e1e707362c6f5a9d1cab8a8","publishConfig":{"access":"public"},"bugs":{"url":"https://github.com/pankod/refine/issues"},"homepage":"https://github.com/pankod/refine#readme","_id":"@pankod/refine-core@3.56.6","_nodeVersion":"16.16.0","_npmVersion":"8.11.0","dist":{"integrity":"sha512-KDVvKKvyXZVAuK7txER+9w0NRiPRw7UfdxXC1QnEZZfhn3vcIiCjS7iqZb8fiSWJNV3laySsqVhncX6cjy39Jg==","shasum":"1cbab80dcabdebbe0d9fc84f3041100b593296ce","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.56.6.tgz","fileCount":239,"unpackedSize":1802167,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCeHRym6fPThoRjwffUcSzC0OABA0khPoNgJum1k8msQQIhANNsyzNNv9iWNEHkwuEt1CnINVNxoKzq3Ty01kEUnmpI"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi8KlkACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo08A/+MKi5RxYBe6/U7Whga6K6j3z8U4NY7MOm+G95PlVe/57v+IOA\r\nRZCYP+MHEWv7BPIkxxRzsOqnupwTiZ5X9ZYMjVKJo1N+Xx0MmhDBuOcUAW7c\r\n64gCNQeC3l4TmH96O5CqUAmk36dXPMC1QTkAjrtsaLtw6B2IqoXUh7qiCYdu\r\n320sMIgwFTJ/PhyZQHdsUv0XViMRq8RQK9WxF623XiM7+FD5Q9hMBFhTxf8I\r\nX82j22Ii9+T6uETPelHCd5qlNRckSBC8DsNdW7XoN7Lg43UPFllWN2khoatV\r\nvQlMlY+IkfDHh+Re3RylA1bYRTa29DxHRE08WlInWylwJmxHdokayYPGurRZ\r\nwwiqJxkgw0OpWHW7VfhJt29Vs8ai9Vbhr8UFru4IqWmtpgwufhj8bKXL2L0U\r\nuwCnnKTliUPkojH0sf5NvJ0mjU1KAAnFUftdkuW8FDVxbakNzixSSk5pDLaA\r\nFE1/UEGs2FVd96SRr9bF7LnKEKVdOGecg2kuL2rfMvunZZiynq5fW1R9+tcf\r\nKZdVKdKLpSCaJguQLNe3Fl5mHmqgmOawDvWCN8j/DgEU0Xh6C9a9BuixWjba\r\n8nrt4NRIAySIGd8BFB0QTuVUBZnUb0UmpFLWyAQXdvo9R3RzRRzk+6Mk08SI\r\niKxLFKIzKmI84WV8KmxsiwPqLw2JImjNzxw=\r\n=BFS2\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"aydinakyol","email":"aydinakyol11@gmail.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.56.6_1659939172651_0.3482461857614796"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.56.8":{"name":"@pankod/refine-core","version":"3.56.8","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --dts --format esm,cjs,iife --legacy-output","build":"tsup --dts --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0","@types/react":"^17.0.0 || ^18.0.0","@types/react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.16.4","@testing-library/react":"^13.1.1","@testing-library/react-hooks":"^8.0.0","@testing-library/user-event":"^14.1.1","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^18.0.0","@types/react-dom":"^18.0.0","@types/react-router-dom":"^5.1.8","@types/testing-library__jest-dom":"^5.14.3","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"^6.0.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.7.4"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","humanize-string":"^2.1.0","lodash":"^4.17.21","lodash-es":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","@tanstack/react-query-devtools":"^4.0.10","@tanstack/react-query":"^4.0.10","tslib":"^2.3.1","warn-once":"^0.1.0","jose":"^4.8.3"},"repository":{"type":"git","url":"git+https://github.com/pankod/refine.git","directory":"packages/core"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"17dd5af3e4c9f7f09e1e707362c6f5a9d1cab8a8","publishConfig":{"access":"public"},"bugs":{"url":"https://github.com/pankod/refine/issues"},"homepage":"https://github.com/pankod/refine#readme","_id":"@pankod/refine-core@3.56.8","_nodeVersion":"16.16.0","_npmVersion":"8.11.0","dist":{"integrity":"sha512-r4A0g/dD+hlELpngTHUz4WIqxe+orvywUyvN/GoDgE7NxZR/hRlSGsz/o1MAcBnZ6SZKSrSTbKfKaudKbyikaw==","shasum":"7ae7e5295e6509663cd3dad0e69d23bc856d44f6","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.56.8.tgz","fileCount":239,"unpackedSize":1802487,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIA4ceI7bTNeFQULHNs/yoaYzPfIOZoASu6tIZch5BsW1AiEAuP8c6V8QksUbKG1NxCer6vxNOcQUzPHLkrIS/UFpX68="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi8LRUACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrgRw//eo+hOBIvbhfElYdMVTVc1/33Q2Dqtd/rJrwDe985JvkvqC/N\r\nl5ZeopCY/ajO8L+CwXYKF7XfOFSyggwqKKY/ZeImRQR8yD3oany54OEh5+PC\r\nKhDicgkLOMGaRdsFM8zKikDqTD8qjOk/u8AJbDnXWKD5mqF8431yRJz5bDkv\r\nQLo1Afdby+V3U8ntPc5MJJNAXOMrvhO0Jipm62Cr3wjewMljXDQ04g8rfpTP\r\n5rPaGS2cmmKGZfHWh9Rxjdbm7b2kPv5efBHkf35KhQTSAUNyX1hXJp/08x/j\r\nCc+Uip0xa7JEF9Nv8xv4bZ6FUUaV0kCjtdg+k83tqvKH/VQYrwW1MyLZKd8f\r\n+01OsJMK4ZzgW8MctWlmXa1E/bxsDoZ11rbX5qt99prhQiOo9EGXszl3XhKo\r\nAq8X3ySsIx14m4kGejtKRuMzchjial7m7NuxvSRshIxTtkTidEvW8mLndCgE\r\nd6ARHtlJYRC8RXFfo9T0yQ8H3o+UHUk46lwPvq5e0FwxxnGfW6shLi+pRT4L\r\nPbyaKCk2yKlT1OT6uOZFZmr+E3/aheFV+RO+hVtMRSb+iHlZOYtAHC8EaLXl\r\nv8CyeooMEkc82PJRDWjW2+fgDR6gFpe29okargUXo5KxaGZGTRdWQqlaBB+a\r\n+CIwdIfIWBZ6G0jY0dqDFsKnv3u8JDnoAQg=\r\n=bPds\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"aydinakyol","email":"aydinakyol11@gmail.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.56.8_1659941972646_0.633515868078453"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.56.9":{"name":"@pankod/refine-core","version":"3.56.9","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --dts --format esm,cjs,iife --legacy-output","build":"tsup --dts --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0","@types/react":"^17.0.0 || ^18.0.0","@types/react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.16.4","@testing-library/react":"^13.1.1","@testing-library/react-hooks":"^8.0.0","@testing-library/user-event":"^14.1.1","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^18.0.0","@types/react-dom":"^18.0.0","@types/react-router-dom":"^5.1.8","@types/testing-library__jest-dom":"^5.14.3","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"^6.0.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.7.4"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","humanize-string":"^2.1.0","lodash":"^4.17.21","lodash-es":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","@tanstack/react-query-devtools":"^4.0.10","@tanstack/react-query":"^4.0.10","tslib":"^2.3.1","warn-once":"^0.1.0","jose":"^4.8.3"},"repository":{"type":"git","url":"git+https://github.com/pankod/refine.git","directory":"packages/core"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"17dd5af3e4c9f7f09e1e707362c6f5a9d1cab8a8","publishConfig":{"access":"public"},"readme":"<div align=\"center\" style=\"margin: 30px;\">\n<a href=\"https://refine.dev/\">\n  <img src=\"https://raw.githubusercontent.com/pankod/refine/master/logo.png\"   style=\"width:250px;\" align=\"center\" />\n</a>\n<br />\n<br />\n\n<div align=\"center\">\n    <a href=\"https://refine.dev\">Home Page</a> |\n    <a href=\"https://refine.dev/demo/\">Demo</a> | \n    <a href=\"https://refine.dev/blog/\">Blog</a> | \n    <a href=\"https://refine.dev/docs/\">Documentation</a> | \n    <a href=\"https://github.com/pankod/refine/projects/1\">Roadmap</a> | \n    <a href=\"https://refine.dev/docs/examples/tutorial/\">Examples</a> | \n    <a href=\"https://refine.dev/enterprise/\">Enterprise</a> | \n    <a href=\"https://discord.gg/refine\">Discord</a>\n</div>\n\n</div>\n<br/>\n\n<div align=\"center\"><strong>refine</strong> is a <a href=\"https://reactjs.org/\">React</a>-based framework for building internal tools, rapidly. ✨ It ships with <a href=\"https://ant.design/\">Ant Design System</a>, an enterprise-level UI toolkit.</div>\n\n<br />\n\n<div align=\"center\">\n\n[![Discord](https://img.shields.io/discord/837692625737613362.svg?label=&logo=discord&logoColor=ffffff&color=7389D8&labelColor=6A7EC2)](https://discord.gg/refine)\n![Twitter Follow](https://img.shields.io/twitter/follow/refine_dev?style=social)\n\n<a href=\"https://www.producthunt.com/posts/refine-open-source-react-framework?utm_source=badge-featured&utm_medium=badge&utm_souce=badge-refine-open-source-react-framework\" target=\"_blank\"><img src=\"https://api.producthunt.com/widgets/embed-image/v1/featured.svg?post_id=319164&theme=light\" alt=\"refine: Open Source React Framework - Focus your business logic. refine will do the rest. | Product Hunt\" style=\"width: 250px; height: 54px;\" width=\"250\" height=\"54\" /></a>\n\n[![Meercode CI Score](https://meercode.io/badge/pankod/refine?type=ci-score&branch=master&token=2ZiT8YsoJgt57JB23NYwXrFY3rJHZboT&lastDay=31)](https://meercode.io/)\n[![Meercode CI Success Rate](https://meercode.io/badge/pankod/refine?type=ci-success-rate&branch=master&token=2ZiT8YsoJgt57JB23NYwXrFY3rJHZboT&lastDay=31)](https://meercode.io/)\n[![Maintainability](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/maintainability)](https://codeclimate.com/github/pankod/refine/maintainability)\n[![Test Coverage](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/test_coverage)](https://codeclimate.com/github/pankod/refine/test_coverage)\n[![npm version](https://img.shields.io/npm/v/@pankod/refine-core.svg)](https://www.npmjs.com/package/@pankod/refine-core)\n[![npm](https://img.shields.io/npm/dm/@pankod/refine-core)](https://www.npmjs.com/package/@pankod/refine-core)\n[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.0-4baaaa.svg)](code_of_conduct.md)\n\n\n</div>\n\n<div align=\"center\">\n  <sub>Created by <a href=\"https://www.pankod.com\">Pankod</a></sub>\n</div>\n\n## About\n\n[**refine**](https://refine.dev/) offers lots of out-of-the box functionality for rapid development, without compromising extreme customizability. Use-cases include, but are not limited to _admin panels_, _B2B applications_ and _dashboards_.\n\n## Documentation\n\nFor more detailed information and usage, refer to the [refine documentation](https://refine.dev/docs/).\n\n## What is refine?\n\n**refine** is a [React](https://reactjs.org/)-based framework for building internal tools, rapidly. :sparkles: It ships with [Ant Design System](https://ant.design/), an enterprise-level UI toolkit.\n\nRefine offers lots of out-of-the box functionality for rapid development, without compromising extreme customizability. Use-cases include, but are not limited to _admin panels_, _B2B applications_ and _dashboards_.\n\n## What is a \"headless\" Framework?\n**refine** is a **headless** React framework, which means all out-of-the-box features(**Routing**, **Networking**, **Authentication**, **Authorization**, **State Management**, **Realtime**, **i18n**, etc.), it can be used without being tied to any UI elements or framework. Also, Ant Design as out-of-the-box is supported.\n\n- Customization & Extensibility -  UI is a completely customizable area and each developer uses different solutions. **refine** features does not restrict or interfere with your UI structure. **refine** allows the you to design and customizable the UI based on their unique use case.\n\n- Separation of Concerns - **refine** as a framework, is not responsible for your UI and is independent.\n\n- Maintenance - By removing the API surface to support every UI use case, **refine** easy to use and update/maintain is simple.\n\n###\n\n## Key features\n\n🔥 **Headless** : Works with any UI framework\n\n⚙️ **Zero-configuration**: One-line setup with [superplate](https://github.com/pankod/superplate). It takes less than a minute to start a project.\n\n📦 **Out-of-the-box** : Routing, networking, authentication, state management, i18n and UI.\n\n🔌 **Backend Agnostic** : Connects to any custom backend. Built-in support for [REST API](https://github.com/pankod/refine/tree/master/packages/simple-rest), [GraphQL](https://github.com/pankod/refine/tree/master/packages/graphql), [NestJs CRUD](https://github.com/pankod/refine/tree/master/packages/nestjsx-crud), [Airtable](https://github.com/pankod/refine/tree/master/packages/airtable), [Strapi](https://github.com/pankod/refine/tree/master/packages/strapi), [Strapi v4](https://github.com/pankod/refine/tree/master/packages/strapi-v4), [Strapi GraphQL](https://github.com/pankod/refine/tree/master/packages/strapi-graphql), [Supabase](https://github.com/pankod/refine/tree/master/packages/supabase), [Hasura](https://github.com/pankod/refine/tree/master/packages/hasura), [Appwrite](https://github.com/pankod/refine/tree/master/packages/appwrite), [Firebase](https://firebase.google.com/), [Directus](https://directus.io/) and [Altogic](https://github.com/pankod/refine/tree/master/packages/altogic).\n\n📝 **Native Typescript Core** : You can always opt out for plain JavaScript.\n\n🐜 **Enterprise UI** : Works seamlessly with Ant Design System. (Support for multiple UI frameworks is on the Roadmap)\n\n📝 **Boilerplate-free Code** : Keeps your codebase clean and readable.\n\n## Motivation\n\nHigher-level frontend frameworks can save you a lot time, but they typically offer you a trade-off between speed and flexibility.\n\nAfter many years of experience in developing B2B frontend applications and working with popular frameworks, we came up with a new approach to tackle this dilemma. This is how **refine** is born.\n\n**refine** is a collection of helper `hooks`, `components` and `providers`. They are all decoupled from your UI components and business logic, so they never keep you from customizing your UI or coding your own flow.\n\nAs **refine** is totally _unopinionated_ about UI and logic, it's strongly _opinionated_ about three parts of your application:\n\n1. **API Networking**\n2. **State Management**\n3. **Authentication & Authorization**\n\nWe believe, these are the most important components of a data-intensive frontend application and should be handled in a robust way by leveraging industry best practices.\n\n**refine** guarantees you a perfect implementation of these building blocks in your project, so you can focus on your development.\n\n## Architecture\n\n**refine** makes extensive use of [hooks](https://reactjs.org/docs/hooks-reference.html#gatsby-focus-wrapper) as a default way for interacting with your components.\nUnder the hood, **refine** relies heavily to [React Query](https://react-query.tanstack.com/) for data handling, caching and state management.\nAccess to external sources and API's happen via providers which are basically plug-in type components for extendibility.\n\n<br/>\n\n<div align=\"center\">\n    <img src=\"https://raw.githubusercontent.com/pankod/refine/master/documentation/static/img/getting-started/refine_architecture.png\" width=\"400px\" />\n</div>\n\n## Benchmark\n\nAfter releasing the first internal versions, we had the chance to migrate some of our _React_ projects to **refine**.\nIn addition to **shorter development** times and **overall performance gains**, we've measured significant reduction in project size.\n\n**refine** makes your codebase significantly smaller, by eliminating redundant code such as _reducers_, _actions_ and _unit tests_. Below is a size comparison for an example project:\n\n<br/>\n\n<div align=\"center\">\n    <img src=\"https://raw.githubusercontent.com/pankod/refine/master/documentation/static/img/getting-started/benchmark.png\" width=\"400px\" align=\"center\" />\n</div>\n\n## Quick Start\n\nRun the **superplate** tool with the following command:\n\n```\nnpx superplate-cli -p refine-react tutorial\n```\n\nFollow the _CLI wizard_ to select options and start creating your project.\n\nAfter setup is complete, navigate to the project folder and start your project with:\n\n```\nnpm run dev\n```\n\nYour **refine** application will be accessible at [http://localhost:3000](http://localhost:3000).\n\nReplace the contents of `App.tsx` with the following code:\n\n```tsx title=\"App.tsx\"\nmport { Refine, useMany } from \"@pankod/refine-core\";\nimport {\n    useTable,\n    List,\n    Table,\n    DateField,\n} from \"@pankod/refine-antd\";\nimport routerProvider from \"@pankod/refine-react-router-v6\";\nimport dataProvider from \"@pankod/refine-simple-rest\";\n\nimport \"@pankod/refine-antd/dist/styles.min.css\";\n\nconst App: React.FC = () => {\n    return (\n        <Refine\n            routerProvider={routerProvider}\n            dataProvider={dataProvider(\"https://api.fake-rest.refine.dev\")}\n            resources={[{ name: \"posts\", list: PostList }]}\n        />\n    );\n};\n\nexport const PostList: React.FC = () => {\n    const { tableProps } = useTable<IPost>();\n\n    const categoryIds =\n        tableProps?.dataSource?.map((item) => item.category.id) ?? [];\n\n    const { data, isLoading } = useMany<ICategory>({\n        resource: \"categories\",\n        ids: categoryIds,\n        queryOptions: {\n            enabled: categoryIds.length > 0,\n        },\n    });\n\n    return (\n        <List>\n            <Table<IPost> {...tableProps} rowKey=\"id\">\n                <Table.Column dataIndex=\"title\" title=\"title\" />\n                <Table.Column\n                    dataIndex={[\"category\", \"id\"]}\n                    title=\"category\"\n                    render={(value: number) => {\n                        if (isLoading) {\n                            return \"loading...\";\n                        }\n\n                        return data?.data.find(\n                            (item: ICategory) => item.id === value,\n                        )?.title;\n                    }}\n                />\n                <Table.Column\n                    dataIndex=\"createdAt\"\n                    title=\"createdAt\"\n                    render={(value) => <DateField format=\"LLL\" value={value} />}\n                />\n            </Table>\n        </List>\n    );\n};\n\nexport default App;\n```\n\n```tsx title=\"interfaces.d.ts\"\ninterface IPost {\n    title: string;\n    createdAt: string;\n    category: { id: number };\n}\n\ninterface ICategory {\n    id: number;\n    title: string;\n}\n```\n\n## Roadmap\nYou can find Refine's <a href=\"https://github.com/pankod/refine/projects/1\">Public Roadmap here!</a> \n\n## Stargazers\n\n[![Stargazers repo roster for pankod/refine](https://reporoster.com/stars/pankod/refine)](https://github.com/pankod/refine/stargazers)\n\n## Contribution\n\nIf you have a bug to report, do not hesitate to file an issue.\n\nIf you are willing to fix an issue or propose a feature; all PRs with clear explanations are welcome and encouraged.\n\n## License\n\nLicensed under the MIT License, Copyright © 2021-present Pankod\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/pankod/refine/issues"},"homepage":"https://github.com/pankod/refine#readme","_id":"@pankod/refine-core@3.56.9","_nodeVersion":"16.16.0","_npmVersion":"8.11.0","dist":{"integrity":"sha512-Tqs5tht14zlPzgMZV4TTUWK7zTAHPqUjFoxZCCQ1y5DGiR9PCJftIJK9z81eZ3GkEmhwVAt3xeLcfkMPC760NQ==","shasum":"a538e69bed27fd4c4c6dc1cd555d690f5af4c643","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.56.9.tgz","fileCount":239,"unpackedSize":1812253,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCwtZ7y59+cFlR5IcIRYiQ+mxUxw+O4zGlKg83br/BEHwIgJqtO0EBUL/tnmVkk5NddVV3ryB0QGHRL0yxxArY6HSk="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi8RczACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqNRg//XHCTPYvHqnh98dThkp2MEMWzEjIxUI1KTbmRBI9WzRVrEdAE\r\ni3uvBxA+Ar/bW/vmjq0NpDpBuOIx+DzcHhmz46ShehghYBvWIhpMF69CxOp6\r\nKmgsxxd8mBizocTqtu3Uc9gm0qAo7vsOfVZ8DPwR8LiFxQjGfptn38Cz+o+2\r\nGx9EHYUObQwlek7/5sFXbY7qXegxCDNs5BuUBG+KzLYvzipWyveCQ80EcKB5\r\ngHZehHbhBYMqeU6E+dq55CVGdqkCzVsDPu+Nyh2nOhUPXv/3eQ5zi3ftR2NX\r\nkI9xL0lVAAfTbUE5NooeYS5T5uWxb8/abGeOHvFJu1PeXuOolXSnmQPYtLKc\r\n9+1yLHJJH9RyVzk8Dli+io6mWNRQucvfmaZsplWKTa77jnchZCsjPanhzAIb\r\ngy/8+ImYS/eAYFyeahcJYamKLh9qAJWJFMiVc56ai76mSsm3T/11GS/pll0x\r\nFZbt3Qxaw9kTIMhjQPIJIji66SeQ+8przu6FxSnRbnAeESIrvShA3N81XELV\r\nssQ8rp9J9SIgORATCU2A/wjxOHBQ6tbqQDw3KlvySAjR0PPaGzd7/3Z7mzP0\r\n4H8yLQHpAvIYk9N9/Q5qirNPLH3+gN8PqI7wlg71rhdz+iPrvPtzfUCeH8sU\r\nVSwx4X6OnHIJ2zr/J8IxwImABzeGnRYhpuk=\r\n=i8YJ\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"aydinakyol","email":"aydinakyol11@gmail.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.56.9_1659967282847_0.5227626794151339"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.56.10":{"name":"@pankod/refine-core","version":"3.56.10","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --dts --format esm,cjs,iife --legacy-output","build":"tsup --dts --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0","@types/react":"^17.0.0 || ^18.0.0","@types/react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.16.4","@testing-library/react":"^13.1.1","@testing-library/react-hooks":"^8.0.0","@testing-library/user-event":"^14.1.1","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^18.0.0","@types/react-dom":"^18.0.0","@types/react-router-dom":"^5.1.8","@types/testing-library__jest-dom":"^5.14.3","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"^6.0.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.7.4"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","humanize-string":"^2.1.0","lodash":"^4.17.21","lodash-es":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","@tanstack/react-query-devtools":"^4.0.10","@tanstack/react-query":"^4.0.10","tslib":"^2.3.1","warn-once":"^0.1.0","jose":"^4.8.3"},"repository":{"type":"git","url":"git+https://github.com/pankod/refine.git","directory":"packages/core"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"17dd5af3e4c9f7f09e1e707362c6f5a9d1cab8a8","publishConfig":{"access":"public"},"bugs":{"url":"https://github.com/pankod/refine/issues"},"homepage":"https://github.com/pankod/refine#readme","_id":"@pankod/refine-core@3.56.10","_nodeVersion":"16.16.0","_npmVersion":"8.11.0","dist":{"integrity":"sha512-5z0XllIyOWTQ18dsrKfLrzlQlYAm5S8DAiuTdUZDz09R9KVL4Ws3CZLcucBst2/ovwIp71qWiy9G2YmNa0VhKg==","shasum":"a77c2e8b147a72725e84bf0bbab2fdf1f682452b","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.56.10.tgz","fileCount":239,"unpackedSize":1812447,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAS/5lxfcNcJgW6posSE3Fk+Uxz9GOFdvfHP5zb1KU+NAiEA/25zW+2ca7RwdEwuCNMBapeIPOKM8/nT0IuT5zmxTDs="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi8S0/ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpuuQ/9GRV355gRI0+T0LFis2l1YrMA/8aDg4VtiPr2hiC8caeD3cg0\r\ngKHycynaCXTi1xW9vJfQIyWt1xH38VkcDaotCVI8ulvjA0M5vqpMy1qsfm8s\r\nSvMmqu6LAwThUvvds5O8qrE6Uij2L3PIWm1CYKrJBUMKixLFCvKr9Oc0PCYD\r\ntA16LDWkfqtR2vWFEj7RJooOt5Lm79EiAxRsBbKgw+FV+x4rMTM4fl0TFggX\r\nFcP1bGEvhT9juJ6qFIP9rjzmJQ+hImdBxutEyyY3gXMMABAZxnw+kkQ0fT9y\r\ntKPgwRbZz9iMMoggnzsFM1FdWgzrs24Gy0xALOAY79Zh8ryyB3TuQfbLBHd1\r\nkbAkADSlfyPnBmNUR9GJZJexKYRiC+XR+CM/RTC0UrkZrdvtJXnS3VNlULeK\r\nOuBGWGMJyiyoRkw4xr0enP7u50EZ9WPkuPK2AsEVEB3RZ6Mlt+VmT6m9F0gv\r\nBWIUjkLag+Hvx4pFK8PFrasueUCYk917JXVkOWLUm7I3RABsOqKqSMDFi4nW\r\nC1zm0WcCxnz+u6vO4SDe8WVFqzlEz2wK+43t6L5/pwh8dAuuPGdM9hJrPSLU\r\nLOjQr1GUUGLFqvmqXGznUvM2HaxOpIEYOgHhL+UzdWrsjamtvtDNXsKnLddh\r\n7Xrgg7VZIQeKNkDwR5O+SKzo3aIXK5u2bsU=\r\n=VbHH\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"aydinakyol","email":"aydinakyol11@gmail.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.56.10_1659972927182_0.7401284360949483"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.56.11":{"name":"@pankod/refine-core","version":"3.56.11","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --dts --format esm,cjs,iife --legacy-output","build":"tsup --dts --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0","@types/react":"^17.0.0 || ^18.0.0","@types/react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.16.4","@testing-library/react":"^13.1.1","@testing-library/react-hooks":"^8.0.0","@testing-library/user-event":"^14.1.1","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^18.0.0","@types/react-dom":"^18.0.0","@types/react-router-dom":"^5.1.8","@types/testing-library__jest-dom":"^5.14.3","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"^6.0.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.7.4"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","humanize-string":"^2.1.0","lodash":"^4.17.21","lodash-es":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","@tanstack/react-query-devtools":"^4.0.10","@tanstack/react-query":"^4.0.10","tslib":"^2.3.1","warn-once":"^0.1.0","jose":"^4.8.3"},"repository":{"type":"git","url":"git+https://github.com/pankod/refine.git","directory":"packages/core"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"17dd5af3e4c9f7f09e1e707362c6f5a9d1cab8a8","publishConfig":{"access":"public"},"bugs":{"url":"https://github.com/pankod/refine/issues"},"homepage":"https://github.com/pankod/refine#readme","_id":"@pankod/refine-core@3.56.11","_nodeVersion":"16.16.0","_npmVersion":"8.11.0","dist":{"integrity":"sha512-6u0BE70i4lD76i7fomSG0mzLKBiGHcRdrqwPMjoEh9wraFZd7Pfjht3+mhb9MKXWEhHXItje2AnER/N/X97SEw==","shasum":"0e9641dde2a0981bb8c1c6b5c35a675ad8e6ac93","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.56.11.tgz","fileCount":239,"unpackedSize":1815197,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEVs0zevoxDRhS1k3fOyxY36gEgbghg6ibJ+ScybZQuMAiBvVGVJD7UuEYcmWOuxhbGESKLhVC0fZ/FQqbNqH5R+mQ=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi8lODACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqddA/9ELgmCpQ3lKwGCoZGJlSm1tFkCMnCqWZWHIU7qkMvOVULfZKW\r\nlx5LcAv2M094Z2vmQtWYJkWYbDnpoDhGEPATtgJJ8gNkszmPKLZQdHuiq6um\r\nyeNT938Sq+IMFzqHpJje+vwVhkIjydhrAmbGUJ/Ep55brNd4T7Rrm+d6rVOX\r\nSNh1t19ijBntd0tYZv55+bavHT4hy8woNZbYa/QU/LuwRJdl2+zXZCXvZJBc\r\nNBj/60li9ay3F4mFcBq7DNg3mQF7z/HghZC0zvMoVIS8sCCrdu8eDlU1CrFe\r\nCA9HtvkxXcG1YgFbzBecsEh5MRLgqE2tB81VFE40FjZLxhyXO5fleF1/GQ5H\r\nnP3g2MQLS0lYijgVFn0Z4E1/cb/ZxzuJYYUZgjDuV3aD8b8qB+5wAfrmGtNl\r\nS1nO8NipG9xjRcVGka2r0xXHFofJ5ke3aP+WzG4F/F805/759CGAavTCMKtB\r\nkGJg3+nzfifLaf7RNRcCnYetz/N3QkIX9gTdy+l9QJ/9TmVUaYov2jsjxUWB\r\npNjfCQmVLES5fqW4VbIh0coOdSanA7ZvrM0tj/rDwoNvAoX+j0PdAQifEseM\r\n6xFHPvP1Z3uIVAltAkGJKzdY57MjgYWlmmkHKWJ6FUgI+mWJtmpsQmWRBQwW\r\nOHYPxZsNiw2zzur0jmH0SHAh8HllAS4bIvM=\r\n=8DiN\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"aydinakyol","email":"aydinakyol11@gmail.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.56.11_1660048259573_0.7115076048521041"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.57.0":{"name":"@pankod/refine-core","version":"3.57.0","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --dts --format esm,cjs,iife --legacy-output","build":"tsup --dts --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0","@types/react":"^17.0.0 || ^18.0.0","@types/react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.16.4","@testing-library/react":"^13.1.1","@testing-library/react-hooks":"^8.0.0","@testing-library/user-event":"^14.1.1","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^18.0.0","@types/react-dom":"^18.0.0","@types/react-router-dom":"^5.1.8","@types/testing-library__jest-dom":"^5.14.3","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"^6.0.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.7.4"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","humanize-string":"^2.1.0","lodash":"^4.17.21","lodash-es":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","@tanstack/react-query-devtools":"^4.0.10","@tanstack/react-query":"^4.0.10","tslib":"^2.3.1","warn-once":"^0.1.0","jose":"^4.8.3"},"repository":{"type":"git","url":"git+https://github.com/pankod/refine.git","directory":"packages/core"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"17dd5af3e4c9f7f09e1e707362c6f5a9d1cab8a8","publishConfig":{"access":"public"},"readme":"<div align=\"center\" style=\"margin: 30px;\">\n<a href=\"https://refine.dev/\">\n  <img src=\"https://raw.githubusercontent.com/pankod/refine/master/logo.png\"   style=\"width:250px;\" align=\"center\" />\n</a>\n<br />\n<br />\n\n<div align=\"center\">\n    <a href=\"https://refine.dev\">Home Page</a> |\n    <a href=\"https://refine.dev/demo/\">Demo</a> | \n    <a href=\"https://refine.dev/blog/\">Blog</a> | \n    <a href=\"https://refine.dev/docs/\">Documentation</a> | \n    <a href=\"https://github.com/pankod/refine/projects/1\">Roadmap</a> | \n    <a href=\"https://refine.dev/docs/examples/tutorial/\">Examples</a> | \n    <a href=\"https://refine.dev/enterprise/\">Enterprise</a> | \n    <a href=\"https://discord.gg/refine\">Discord</a>\n</div>\n\n</div>\n<br/>\n\n<div align=\"center\"><strong>refine</strong> is a <a href=\"https://reactjs.org/\">React</a>-based framework for building internal tools, rapidly. ✨ It ships with <a href=\"https://ant.design/\">Ant Design System</a>, an enterprise-level UI toolkit.</div>\n\n<br />\n\n<div align=\"center\">\n\n[![Discord](https://img.shields.io/discord/837692625737613362.svg?label=&logo=discord&logoColor=ffffff&color=7389D8&labelColor=6A7EC2)](https://discord.gg/refine)\n![Twitter Follow](https://img.shields.io/twitter/follow/refine_dev?style=social)\n\n<a href=\"https://www.producthunt.com/posts/refine-open-source-react-framework?utm_source=badge-featured&utm_medium=badge&utm_souce=badge-refine-open-source-react-framework\" target=\"_blank\"><img src=\"https://api.producthunt.com/widgets/embed-image/v1/featured.svg?post_id=319164&theme=light\" alt=\"refine: Open Source React Framework - Focus your business logic. refine will do the rest. | Product Hunt\" style=\"width: 250px; height: 54px;\" width=\"250\" height=\"54\" /></a>\n\n[![Meercode CI Score](https://meercode.io/badge/pankod/refine?type=ci-score&branch=master&token=2ZiT8YsoJgt57JB23NYwXrFY3rJHZboT&lastDay=31)](https://meercode.io/)\n[![Meercode CI Success Rate](https://meercode.io/badge/pankod/refine?type=ci-success-rate&branch=master&token=2ZiT8YsoJgt57JB23NYwXrFY3rJHZboT&lastDay=31)](https://meercode.io/)\n[![Maintainability](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/maintainability)](https://codeclimate.com/github/pankod/refine/maintainability)\n[![Test Coverage](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/test_coverage)](https://codeclimate.com/github/pankod/refine/test_coverage)\n[![npm version](https://img.shields.io/npm/v/@pankod/refine-core.svg)](https://www.npmjs.com/package/@pankod/refine-core)\n[![npm](https://img.shields.io/npm/dm/@pankod/refine-core)](https://www.npmjs.com/package/@pankod/refine-core)\n[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.0-4baaaa.svg)](code_of_conduct.md)\n\n\n</div>\n\n<div align=\"center\">\n  <sub>Created by <a href=\"https://www.pankod.com\">Pankod</a></sub>\n</div>\n\n## About\n\n[**refine**](https://refine.dev/) offers lots of out-of-the box functionality for rapid development, without compromising extreme customizability. Use-cases include, but are not limited to _admin panels_, _B2B applications_ and _dashboards_.\n\n## Documentation\n\nFor more detailed information and usage, refer to the [refine documentation](https://refine.dev/docs/).\n\n## What is refine?\n\n**refine** is a [React](https://reactjs.org/)-based framework for building internal tools, rapidly. :sparkles: It ships with [Ant Design System](https://ant.design/), an enterprise-level UI toolkit.\n\nRefine offers lots of out-of-the box functionality for rapid development, without compromising extreme customizability. Use-cases include, but are not limited to _admin panels_, _B2B applications_ and _dashboards_.\n\n## What is a \"headless\" Framework?\n**refine** is a **headless** React framework, which means all out-of-the-box features(**Routing**, **Networking**, **Authentication**, **Authorization**, **State Management**, **Realtime**, **i18n**, etc.), it can be used without being tied to any UI elements or framework. Also, Ant Design as out-of-the-box is supported.\n\n- Customization & Extensibility -  UI is a completely customizable area and each developer uses different solutions. **refine** features does not restrict or interfere with your UI structure. **refine** allows the you to design and customizable the UI based on their unique use case.\n\n- Separation of Concerns - **refine** as a framework, is not responsible for your UI and is independent.\n\n- Maintenance - By removing the API surface to support every UI use case, **refine** easy to use and update/maintain is simple.\n\n###\n\n## Key features\n\n🔥 **Headless** : Works with any UI framework\n\n⚙️ **Zero-configuration**: One-line setup with [superplate](https://github.com/pankod/superplate). It takes less than a minute to start a project.\n\n📦 **Out-of-the-box** : Routing, networking, authentication, state management, i18n and UI.\n\n🔌 **Backend Agnostic** : Connects to any custom backend. Built-in support for [REST API](https://github.com/pankod/refine/tree/master/packages/simple-rest), [GraphQL](https://github.com/pankod/refine/tree/master/packages/graphql), [NestJs CRUD](https://github.com/pankod/refine/tree/master/packages/nestjsx-crud), [Airtable](https://github.com/pankod/refine/tree/master/packages/airtable), [Strapi](https://github.com/pankod/refine/tree/master/packages/strapi), [Strapi v4](https://github.com/pankod/refine/tree/master/packages/strapi-v4), [Strapi GraphQL](https://github.com/pankod/refine/tree/master/packages/strapi-graphql), [Supabase](https://github.com/pankod/refine/tree/master/packages/supabase), [Hasura](https://github.com/pankod/refine/tree/master/packages/hasura), [Appwrite](https://github.com/pankod/refine/tree/master/packages/appwrite), [Firebase](https://firebase.google.com/), [Directus](https://directus.io/) and [Altogic](https://github.com/pankod/refine/tree/master/packages/altogic).\n\n📝 **Native Typescript Core** : You can always opt out for plain JavaScript.\n\n🐜 **Enterprise UI** : Works seamlessly with Ant Design System. (Support for multiple UI frameworks is on the Roadmap)\n\n📝 **Boilerplate-free Code** : Keeps your codebase clean and readable.\n\n## Motivation\n\nHigher-level frontend frameworks can save you a lot time, but they typically offer you a trade-off between speed and flexibility.\n\nAfter many years of experience in developing B2B frontend applications and working with popular frameworks, we came up with a new approach to tackle this dilemma. This is how **refine** is born.\n\n**refine** is a collection of helper `hooks`, `components` and `providers`. They are all decoupled from your UI components and business logic, so they never keep you from customizing your UI or coding your own flow.\n\nAs **refine** is totally _unopinionated_ about UI and logic, it's strongly _opinionated_ about three parts of your application:\n\n1. **API Networking**\n2. **State Management**\n3. **Authentication & Authorization**\n\nWe believe, these are the most important components of a data-intensive frontend application and should be handled in a robust way by leveraging industry best practices.\n\n**refine** guarantees you a perfect implementation of these building blocks in your project, so you can focus on your development.\n\n## Architecture\n\n**refine** makes extensive use of [hooks](https://reactjs.org/docs/hooks-reference.html#gatsby-focus-wrapper) as a default way for interacting with your components.\nUnder the hood, **refine** relies heavily to [React Query](https://react-query.tanstack.com/) for data handling, caching and state management.\nAccess to external sources and API's happen via providers which are basically plug-in type components for extendibility.\n\n<br/>\n\n<div align=\"center\">\n    <img src=\"https://raw.githubusercontent.com/pankod/refine/master/documentation/static/img/getting-started/refine_architecture.png\" width=\"400px\" />\n</div>\n\n## Benchmark\n\nAfter releasing the first internal versions, we had the chance to migrate some of our _React_ projects to **refine**.\nIn addition to **shorter development** times and **overall performance gains**, we've measured significant reduction in project size.\n\n**refine** makes your codebase significantly smaller, by eliminating redundant code such as _reducers_, _actions_ and _unit tests_. Below is a size comparison for an example project:\n\n<br/>\n\n<div align=\"center\">\n    <img src=\"https://raw.githubusercontent.com/pankod/refine/master/documentation/static/img/getting-started/benchmark.png\" width=\"400px\" align=\"center\" />\n</div>\n\n## Quick Start\n\nRun the **superplate** tool with the following command:\n\n```\nnpx superplate-cli -p refine-react tutorial\n```\n\nFollow the _CLI wizard_ to select options and start creating your project.\n\nAfter setup is complete, navigate to the project folder and start your project with:\n\n```\nnpm run dev\n```\n\nYour **refine** application will be accessible at [http://localhost:3000](http://localhost:3000).\n\nReplace the contents of `App.tsx` with the following code:\n\n```tsx title=\"App.tsx\"\nmport { Refine, useMany } from \"@pankod/refine-core\";\nimport {\n    useTable,\n    List,\n    Table,\n    DateField,\n} from \"@pankod/refine-antd\";\nimport routerProvider from \"@pankod/refine-react-router-v6\";\nimport dataProvider from \"@pankod/refine-simple-rest\";\n\nimport \"@pankod/refine-antd/dist/styles.min.css\";\n\nconst App: React.FC = () => {\n    return (\n        <Refine\n            routerProvider={routerProvider}\n            dataProvider={dataProvider(\"https://api.fake-rest.refine.dev\")}\n            resources={[{ name: \"posts\", list: PostList }]}\n        />\n    );\n};\n\nexport const PostList: React.FC = () => {\n    const { tableProps } = useTable<IPost>();\n\n    const categoryIds =\n        tableProps?.dataSource?.map((item) => item.category.id) ?? [];\n\n    const { data, isLoading } = useMany<ICategory>({\n        resource: \"categories\",\n        ids: categoryIds,\n        queryOptions: {\n            enabled: categoryIds.length > 0,\n        },\n    });\n\n    return (\n        <List>\n            <Table<IPost> {...tableProps} rowKey=\"id\">\n                <Table.Column dataIndex=\"title\" title=\"title\" />\n                <Table.Column\n                    dataIndex={[\"category\", \"id\"]}\n                    title=\"category\"\n                    render={(value: number) => {\n                        if (isLoading) {\n                            return \"loading...\";\n                        }\n\n                        return data?.data.find(\n                            (item: ICategory) => item.id === value,\n                        )?.title;\n                    }}\n                />\n                <Table.Column\n                    dataIndex=\"createdAt\"\n                    title=\"createdAt\"\n                    render={(value) => <DateField format=\"LLL\" value={value} />}\n                />\n            </Table>\n        </List>\n    );\n};\n\nexport default App;\n```\n\n```tsx title=\"interfaces.d.ts\"\ninterface IPost {\n    title: string;\n    createdAt: string;\n    category: { id: number };\n}\n\ninterface ICategory {\n    id: number;\n    title: string;\n}\n```\n\n## Roadmap\nYou can find Refine's <a href=\"https://github.com/pankod/refine/projects/1\">Public Roadmap here!</a> \n\n## Stargazers\n\n[![Stargazers repo roster for pankod/refine](https://reporoster.com/stars/pankod/refine)](https://github.com/pankod/refine/stargazers)\n\n## Contribution\n\nIf you have a bug to report, do not hesitate to file an issue.\n\nIf you are willing to fix an issue or propose a feature; all PRs with clear explanations are welcome and encouraged.\n\n## License\n\nLicensed under the MIT License, Copyright © 2021-present Pankod\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/pankod/refine/issues"},"homepage":"https://github.com/pankod/refine#readme","_id":"@pankod/refine-core@3.57.0","_nodeVersion":"16.16.0","_npmVersion":"8.11.0","dist":{"integrity":"sha512-LTvcFCLwECjggwwdQezq8ORzQgpbIfA/HDewqTzAnRQdCS0E/WJHmER1fpGVS+LhowgEMAKiRic+Okz9UrRv8A==","shasum":"89925845066b5816a2dfbf911a1d065f32f6a5a9","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.57.0.tgz","fileCount":239,"unpackedSize":1816547,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDDECUPbyzVs8vRtF04U32z0ROyerw/U13oVCcULbJr5gIgI37xWb2zWAEGftwY/t2UjEVOe0MEXFAZLZloVEj15Tk="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi89nIACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrVpw//VZL7vb8jNFC38QM9SVY+e5PjUYZjMA2iAdOb9Kib6eYHqczW\r\nRQa+1w9DISTiClKpGY+Nc7Y+vxvy+KgSmNpU1XZ1PW7d1CSL4eakxPyrtkMH\r\nPMAiObsavuzEECGuIdT6C/1biIzLar17DkzSQpPK+d1lMVpW3BbwKfUWssQP\r\nuEunqJoZgGMXD1cv08QpR+o1G3yIChf1Zsr5Gw7QHLGIz7nH1yY3L70a+cV4\r\nff+TBUskbhaq8mBqN43kqgxk/xAx/qQWxg8mtvEBkh8iUOyezPzZOvR44Wpo\r\nT7aBnT2x49Wco6bHx+N6n3O36YJSXRHmFiVMw3NGKrvXfl4c6QTuXCc8e7PS\r\nXQ+QvySn79Upx0BQk/AloOSe7YvKPRgZgKjGoeARQeO5EGJWeEDk5QI8xKpG\r\nhaBGMYYtd+1bFIBQUo43Ll49xxYAsZ5GWJ7qtFmHsa9yNryIk69uZOgLiT5q\r\nM/Zo9iP48lLoqtV33LNkauRkA8mnzhrMDfkoxeZ6AicTEUSKa5ZA5MavK/j5\r\nV4vUnHWdr/shY4cqJ5m7kh/AqLZGtkQqiEHS1AmRNaa2stFFqtkfHuI4z6RW\r\nsy8gjx8CoDVZ4VkirmE/52veb86d85P1seee3sl1qskZRFWSpOgxxuj5LfNp\r\nlJ5URlwf/LrHCOwAM1z52EJnKXOHquteQ1E=\r\n=VTcF\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"aydinakyol","email":"aydinakyol11@gmail.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.57.0_1660148167800_0.6167543947739309"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.58.0":{"name":"@pankod/refine-core","version":"3.58.0","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --dts --format esm,cjs,iife --legacy-output","build":"tsup --dts --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0","@types/react":"^17.0.0 || ^18.0.0","@types/react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.16.4","@testing-library/react":"^13.1.1","@testing-library/react-hooks":"^8.0.0","@testing-library/user-event":"^14.1.1","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^18.0.0","@types/react-dom":"^18.0.0","@types/react-router-dom":"^5.1.8","@types/testing-library__jest-dom":"^5.14.3","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"^6.0.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.7.4"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","humanize-string":"^2.1.0","lodash":"^4.17.21","lodash-es":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","@tanstack/react-query-devtools":"^4.0.10","@tanstack/react-query":"^4.0.10","tslib":"^2.3.1","warn-once":"^0.1.0","jose":"^4.8.3"},"repository":{"type":"git","url":"git+https://github.com/pankod/refine.git","directory":"packages/core"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"17dd5af3e4c9f7f09e1e707362c6f5a9d1cab8a8","publishConfig":{"access":"public"},"bugs":{"url":"https://github.com/pankod/refine/issues"},"homepage":"https://github.com/pankod/refine#readme","_id":"@pankod/refine-core@3.58.0","_nodeVersion":"16.16.0","_npmVersion":"8.11.0","dist":{"integrity":"sha512-Bu+X3aK+wCCmxes3K6ZzHXt/w4z4sPlMDKyIpLChtFQJKB6nct/9idl/+wSYuGQZN2/elYFSCUIEdZL9SmezAA==","shasum":"bd74aeaaeac1c5c02545f72ed514d3351eec027c","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.58.0.tgz","fileCount":239,"unpackedSize":1816688,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFEXNr0RyFezCuc4ouIlMvXjsuz3QQ4gvFqf0dzoQEgUAiEA0rVrshLAwAhqIgW0wnboaYLe3R2+o+qusJhIzIf53R4="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi9U0uACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoG0A//VsifGUP6kaCwBAHnjG7HjLFH/Vovf6Smls0K+rUwlg5hksSD\r\nEtZGQRay7x8DYVJi0pdCCf1fNILhYWVrzeZC81k8aotMsXe6fFuomv2rHpRz\r\n40E1chFSmNuw4woBKmTZTMkfOM1Nqd57UxMFcLRxsFhObMOla3meU9l6VdZ6\r\nPw8W1NxwJm7OqaxVb3bXRHKoL0xxzGCc6eKlWZ3OQHa3DHjvKqNWLynHJQeY\r\njBRhWaO56esuzln8wV4bcoyVIp2kltRv3vxjdjZLS7rKml0jIig7+Ok4wDrs\r\neoRHZWEOGcglQDUUfmx5ldRBmIlkLvIEdaRtNSiL/pdqwicXjNB/z3nMluJo\r\ng4QwlVANMo2Dw2aT2SZgYum98A7tZjloIE40x6GMMKtwSTAAJbZ+dCRg31Az\r\n6JYbS+ISPyZDBeOJPqvYCOPRifeh/kH9BpKQMgUh0e48DMxIF40cWaptvkWP\r\nUgK2taJ//VzQBbiVUjuhtzqCcb+ry/wTSIsB+FA9zXc856gygCikmYf5bX+T\r\nnidXMMDOidwmJjX183D16HA1jRXYcJsTuMPdjkxEcFdftqaJ2TMQoOsLNIuh\r\nyAxeWUC5hByl3NxKiGf/6Si7UTPxl0BGhr+cwXvv/eNGebk5BlrwTJYxCZyS\r\nY36IclMXOokDBScJ2nz6w5WINY2sNdROZuM=\r\n=75M+\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"aydinakyol","email":"aydinakyol11@gmail.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.58.0_1660243245881_0.2108849947649798"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.58.1":{"name":"@pankod/refine-core","version":"3.58.1","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --dts --format esm,cjs,iife --legacy-output","build":"tsup --dts --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0","@types/react":"^17.0.0 || ^18.0.0","@types/react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.16.4","@testing-library/react":"^13.1.1","@testing-library/react-hooks":"^8.0.0","@testing-library/user-event":"^14.1.1","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^18.0.0","@types/react-dom":"^18.0.0","@types/react-router-dom":"^5.1.8","@types/testing-library__jest-dom":"^5.14.3","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"^6.0.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.7.4"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","humanize-string":"^2.1.0","lodash":"^4.17.21","lodash-es":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","@tanstack/react-query-devtools":"^4.0.10","@tanstack/react-query":"^4.0.10","tslib":"^2.3.1","warn-once":"^0.1.0","jose":"^4.8.3"},"repository":{"type":"git","url":"git+https://github.com/pankod/refine.git","directory":"packages/core"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"17dd5af3e4c9f7f09e1e707362c6f5a9d1cab8a8","publishConfig":{"access":"public"},"bugs":{"url":"https://github.com/pankod/refine/issues"},"homepage":"https://github.com/pankod/refine#readme","_id":"@pankod/refine-core@3.58.1","_nodeVersion":"16.16.0","_npmVersion":"8.11.0","dist":{"integrity":"sha512-boomfnT0DxGTPXtI7HDeiwkBBU7okA+IEqhUJfkNIAvdI2Q2FrmDvnP8UqHNH64iN6wGpBREqbVMZdviPtlqag==","shasum":"65a931ef9be5ea3543ad8ae4e2a278eb08a8aa4e","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.58.1.tgz","fileCount":239,"unpackedSize":1817048,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIH28QNGtDwxR1LJAZEK2Kqjv1n57pcBVHrXkhCFk96NuAiEArFPSiyo8LNJRJDyAWLaE+GjYmyTnUJfc4U21UfXNh+4="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi9lwWACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqDkhAAmv3/tIGRyQT+XHY8/9Bym3g7BDMjNwROeP9UEHddYK7Mzspy\r\n9S+D1kw9EOoZvWqOmo0WK939+zTNoCj1lUO1hJuoMsVd2zCuStzoPAVioTc1\r\nOIfpMPwSGbz32gu+kPRJ6s/r4YxqZEw5UbLCf4ypIJ46YBQ8y2azVJfYlNab\r\n/JtuAnu8p4fAofVjzfEVcsTxnx1pFkMmQsAHq12nJm0P7Hww5+eRoRhaRSiE\r\nhfZdhA3DGP39IVF17d1tWMAiYz00LRS1aQ/SEby3AJAGdCCW1znZrUm944+i\r\nRDOf/0KZYCY9TGJWLZu8M3bpSmmmsBkc69pT3tz2YXuQeAeve1GFAvvpFHNk\r\naIjc1zt+97aK6flRlWHqMtLUqE7uil1MVCqozhboRroJF8/PJuSAA8Rt7NDW\r\nXrrugwaZCznhXT6DfRTCTz0xMq+nfssl4k9QlUaYRJaZkPuNOkwzTqoZ8Q77\r\nV0qum9xfFX0zODsocI3chQy1xTizQqBkYdzz98uEWPYk6tVfl84NxAxHn7+S\r\ne7+y+pILgR0KTr+y9QuOCc4mBiug4NA1R8xK8c+HPpSzztZ4PfqWQ0VXJAyO\r\nk6kZExD0Hjrcwyz33WIqCk8JKW9prJ38IRjaZLegbPuic8aKvDPbwA7hPSXy\r\n4vGPMKnoqQEmjkvYwniXGd8SKlPWTA+/f+8=\r\n=omd7\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"aydinakyol","email":"aydinakyol11@gmail.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.58.1_1660312598205_0.7877653170044638"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.58.2":{"name":"@pankod/refine-core","version":"3.58.2","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --dts --format esm,cjs,iife --legacy-output","build":"tsup --dts --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0","@types/react":"^17.0.0 || ^18.0.0","@types/react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.16.4","@testing-library/react":"^13.1.1","@testing-library/react-hooks":"^8.0.0","@testing-library/user-event":"^14.1.1","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^18.0.0","@types/react-dom":"^18.0.0","@types/react-router-dom":"^5.1.8","@types/testing-library__jest-dom":"^5.14.3","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"^6.0.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.7.4"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","humanize-string":"^2.1.0","lodash":"^4.17.21","lodash-es":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","@tanstack/react-query-devtools":"^4.0.10","@tanstack/react-query":"^4.0.10","tslib":"^2.3.1","warn-once":"^0.1.0","jose":"^4.8.3"},"repository":{"type":"git","url":"git+https://github.com/pankod/refine.git","directory":"packages/core"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"17dd5af3e4c9f7f09e1e707362c6f5a9d1cab8a8","publishConfig":{"access":"public"},"readme":"<div align=\"center\" style=\"margin: 30px;\">\n<a href=\"https://refine.dev/\">\n  <img src=\"https://raw.githubusercontent.com/pankod/refine/master/logo.png\"   style=\"width:250px;\" align=\"center\" />\n</a>\n<br />\n<br />\n\n<div align=\"center\">\n    <a href=\"https://refine.dev\">Home Page</a> |\n    <a href=\"https://refine.dev/demo/\">Demo</a> | \n    <a href=\"https://refine.dev/blog/\">Blog</a> | \n    <a href=\"https://refine.dev/docs/\">Documentation</a> | \n    <a href=\"https://github.com/pankod/refine/projects/1\">Roadmap</a> | \n    <a href=\"https://refine.dev/docs/examples/tutorial/\">Examples</a> | \n    <a href=\"https://refine.dev/enterprise/\">Enterprise</a> | \n    <a href=\"https://discord.gg/refine\">Discord</a>\n</div>\n\n</div>\n<br/>\n\n<div align=\"center\"><strong>refine</strong> is a <a href=\"https://reactjs.org/\">React</a>-based framework for building internal tools, rapidly. ✨ It ships with <a href=\"https://ant.design/\">Ant Design System</a>, an enterprise-level UI toolkit.</div>\n\n<br />\n\n<div align=\"center\">\n\n[![Discord](https://img.shields.io/discord/837692625737613362.svg?label=&logo=discord&logoColor=ffffff&color=7389D8&labelColor=6A7EC2)](https://discord.gg/refine)\n![Twitter Follow](https://img.shields.io/twitter/follow/refine_dev?style=social)\n\n<a href=\"https://www.producthunt.com/posts/refine-open-source-react-framework?utm_source=badge-featured&utm_medium=badge&utm_souce=badge-refine-open-source-react-framework\" target=\"_blank\"><img src=\"https://api.producthunt.com/widgets/embed-image/v1/featured.svg?post_id=319164&theme=light\" alt=\"refine: Open Source React Framework - Focus your business logic. refine will do the rest. | Product Hunt\" style=\"width: 250px; height: 54px;\" width=\"250\" height=\"54\" /></a>\n\n[![Meercode CI Score](https://meercode.io/badge/pankod/refine?type=ci-score&branch=master&token=2ZiT8YsoJgt57JB23NYwXrFY3rJHZboT&lastDay=31)](https://meercode.io/)\n[![Meercode CI Success Rate](https://meercode.io/badge/pankod/refine?type=ci-success-rate&branch=master&token=2ZiT8YsoJgt57JB23NYwXrFY3rJHZboT&lastDay=31)](https://meercode.io/)\n[![Maintainability](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/maintainability)](https://codeclimate.com/github/pankod/refine/maintainability)\n[![Test Coverage](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/test_coverage)](https://codeclimate.com/github/pankod/refine/test_coverage)\n[![npm version](https://img.shields.io/npm/v/@pankod/refine-core.svg)](https://www.npmjs.com/package/@pankod/refine-core)\n[![npm](https://img.shields.io/npm/dm/@pankod/refine-core)](https://www.npmjs.com/package/@pankod/refine-core)\n[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.0-4baaaa.svg)](code_of_conduct.md)\n\n\n</div>\n\n<div align=\"center\">\n  <sub>Created by <a href=\"https://www.pankod.com\">Pankod</a></sub>\n</div>\n\n## About\n\n[**refine**](https://refine.dev/) offers lots of out-of-the box functionality for rapid development, without compromising extreme customizability. Use-cases include, but are not limited to _admin panels_, _B2B applications_ and _dashboards_.\n\n## Documentation\n\nFor more detailed information and usage, refer to the [refine documentation](https://refine.dev/docs/).\n\n## What is refine?\n\n**refine** is a [React](https://reactjs.org/)-based framework for building internal tools, rapidly. :sparkles: It ships with [Ant Design System](https://ant.design/), an enterprise-level UI toolkit.\n\nRefine offers lots of out-of-the box functionality for rapid development, without compromising extreme customizability. Use-cases include, but are not limited to _admin panels_, _B2B applications_ and _dashboards_.\n\n## What is a \"headless\" Framework?\n**refine** is a **headless** React framework, which means all out-of-the-box features(**Routing**, **Networking**, **Authentication**, **Authorization**, **State Management**, **Realtime**, **i18n**, etc.), it can be used without being tied to any UI elements or framework. Also, Ant Design as out-of-the-box is supported.\n\n- Customization & Extensibility -  UI is a completely customizable area and each developer uses different solutions. **refine** features does not restrict or interfere with your UI structure. **refine** allows the you to design and customizable the UI based on their unique use case.\n\n- Separation of Concerns - **refine** as a framework, is not responsible for your UI and is independent.\n\n- Maintenance - By removing the API surface to support every UI use case, **refine** easy to use and update/maintain is simple.\n\n###\n\n## Key features\n\n🔥 **Headless** : Works with any UI framework\n\n⚙️ **Zero-configuration**: One-line setup with [superplate](https://github.com/pankod/superplate). It takes less than a minute to start a project.\n\n📦 **Out-of-the-box** : Routing, networking, authentication, state management, i18n and UI.\n\n🔌 **Backend Agnostic** : Connects to any custom backend. Built-in support for [REST API](https://github.com/pankod/refine/tree/master/packages/simple-rest), [GraphQL](https://github.com/pankod/refine/tree/master/packages/graphql), [NestJs CRUD](https://github.com/pankod/refine/tree/master/packages/nestjsx-crud), [Airtable](https://github.com/pankod/refine/tree/master/packages/airtable), [Strapi](https://github.com/pankod/refine/tree/master/packages/strapi), [Strapi v4](https://github.com/pankod/refine/tree/master/packages/strapi-v4), [Strapi GraphQL](https://github.com/pankod/refine/tree/master/packages/strapi-graphql), [Supabase](https://github.com/pankod/refine/tree/master/packages/supabase), [Hasura](https://github.com/pankod/refine/tree/master/packages/hasura), [Appwrite](https://github.com/pankod/refine/tree/master/packages/appwrite), [Firebase](https://firebase.google.com/), [Directus](https://directus.io/) and [Altogic](https://github.com/pankod/refine/tree/master/packages/altogic).\n\n📝 **Native Typescript Core** : You can always opt out for plain JavaScript.\n\n🐜 **Enterprise UI** : Works seamlessly with Ant Design System. (Support for multiple UI frameworks is on the Roadmap)\n\n📝 **Boilerplate-free Code** : Keeps your codebase clean and readable.\n\n## Motivation\n\nHigher-level frontend frameworks can save you a lot time, but they typically offer you a trade-off between speed and flexibility.\n\nAfter many years of experience in developing B2B frontend applications and working with popular frameworks, we came up with a new approach to tackle this dilemma. This is how **refine** is born.\n\n**refine** is a collection of helper `hooks`, `components` and `providers`. They are all decoupled from your UI components and business logic, so they never keep you from customizing your UI or coding your own flow.\n\nAs **refine** is totally _unopinionated_ about UI and logic, it's strongly _opinionated_ about three parts of your application:\n\n1. **API Networking**\n2. **State Management**\n3. **Authentication & Authorization**\n\nWe believe, these are the most important components of a data-intensive frontend application and should be handled in a robust way by leveraging industry best practices.\n\n**refine** guarantees you a perfect implementation of these building blocks in your project, so you can focus on your development.\n\n## Architecture\n\n**refine** makes extensive use of [hooks](https://reactjs.org/docs/hooks-reference.html#gatsby-focus-wrapper) as a default way for interacting with your components.\nUnder the hood, **refine** relies heavily to [React Query](https://react-query.tanstack.com/) for data handling, caching and state management.\nAccess to external sources and API's happen via providers which are basically plug-in type components for extendibility.\n\n<br/>\n\n<div align=\"center\">\n    <img src=\"https://raw.githubusercontent.com/pankod/refine/master/documentation/static/img/getting-started/refine_architecture.png\" width=\"400px\" />\n</div>\n\n## Benchmark\n\nAfter releasing the first internal versions, we had the chance to migrate some of our _React_ projects to **refine**.\nIn addition to **shorter development** times and **overall performance gains**, we've measured significant reduction in project size.\n\n**refine** makes your codebase significantly smaller, by eliminating redundant code such as _reducers_, _actions_ and _unit tests_. Below is a size comparison for an example project:\n\n<br/>\n\n<div align=\"center\">\n    <img src=\"https://raw.githubusercontent.com/pankod/refine/master/documentation/static/img/getting-started/benchmark.png\" width=\"400px\" align=\"center\" />\n</div>\n\n## Quick Start\n\nRun the **superplate** tool with the following command:\n\n```\nnpx superplate-cli -p refine-react tutorial\n```\n\nFollow the _CLI wizard_ to select options and start creating your project.\n\nAfter setup is complete, navigate to the project folder and start your project with:\n\n```\nnpm run dev\n```\n\nYour **refine** application will be accessible at [http://localhost:3000](http://localhost:3000).\n\nReplace the contents of `App.tsx` with the following code:\n\n```tsx title=\"App.tsx\"\nmport { Refine, useMany } from \"@pankod/refine-core\";\nimport {\n    useTable,\n    List,\n    Table,\n    DateField,\n} from \"@pankod/refine-antd\";\nimport routerProvider from \"@pankod/refine-react-router-v6\";\nimport dataProvider from \"@pankod/refine-simple-rest\";\n\nimport \"@pankod/refine-antd/dist/styles.min.css\";\n\nconst App: React.FC = () => {\n    return (\n        <Refine\n            routerProvider={routerProvider}\n            dataProvider={dataProvider(\"https://api.fake-rest.refine.dev\")}\n            resources={[{ name: \"posts\", list: PostList }]}\n        />\n    );\n};\n\nexport const PostList: React.FC = () => {\n    const { tableProps } = useTable<IPost>();\n\n    const categoryIds =\n        tableProps?.dataSource?.map((item) => item.category.id) ?? [];\n\n    const { data, isLoading } = useMany<ICategory>({\n        resource: \"categories\",\n        ids: categoryIds,\n        queryOptions: {\n            enabled: categoryIds.length > 0,\n        },\n    });\n\n    return (\n        <List>\n            <Table<IPost> {...tableProps} rowKey=\"id\">\n                <Table.Column dataIndex=\"title\" title=\"title\" />\n                <Table.Column\n                    dataIndex={[\"category\", \"id\"]}\n                    title=\"category\"\n                    render={(value: number) => {\n                        if (isLoading) {\n                            return \"loading...\";\n                        }\n\n                        return data?.data.find(\n                            (item: ICategory) => item.id === value,\n                        )?.title;\n                    }}\n                />\n                <Table.Column\n                    dataIndex=\"createdAt\"\n                    title=\"createdAt\"\n                    render={(value) => <DateField format=\"LLL\" value={value} />}\n                />\n            </Table>\n        </List>\n    );\n};\n\nexport default App;\n```\n\n```tsx title=\"interfaces.d.ts\"\ninterface IPost {\n    title: string;\n    createdAt: string;\n    category: { id: number };\n}\n\ninterface ICategory {\n    id: number;\n    title: string;\n}\n```\n\n## Roadmap\nYou can find Refine's <a href=\"https://github.com/pankod/refine/projects/1\">Public Roadmap here!</a> \n\n## Stargazers\n\n[![Stargazers repo roster for pankod/refine](https://reporoster.com/stars/pankod/refine)](https://github.com/pankod/refine/stargazers)\n\n## Contribution\n\nIf you have a bug to report, do not hesitate to file an issue.\n\nIf you are willing to fix an issue or propose a feature; all PRs with clear explanations are welcome and encouraged.\n\n## License\n\nLicensed under the MIT License, Copyright © 2021-present Pankod\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/pankod/refine/issues"},"homepage":"https://github.com/pankod/refine#readme","_id":"@pankod/refine-core@3.58.2","_nodeVersion":"16.16.0","_npmVersion":"8.11.0","dist":{"integrity":"sha512-DXRA4SV1susmexsvuf1O4zt82z7cOoYdDcL7Nx9T3d9G/x+iiXXo0HOgvM7JEXqHZ/+8F8UL+1ThbcNebpWReg==","shasum":"560d70dbf0005175b2ca0a4c17226e6d2d541eef","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.58.2.tgz","fileCount":239,"unpackedSize":1818568,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGsD2KPIqITGheZQ+W5MZK+5Wjw8b7pv6wZgb7zvX7KCAiBIr9QAlRVlVWA7YbKSKhGDd70QiT1pblFWBmlBpb26wA=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi/+eXACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoHkxAAo8vyWTvrHQ0o9cp78nBtA6UzJ7JlZNWlfwOWQ9/2swQsWDZU\r\nSVAAHsCifH98uOcZXs25zXZEiN88M/Dqhrt8qRUmlqaV2NfjHOrpbeLyFWfK\r\nNNvfidpmx4JOIDicdUt1mH7XnpziiCMBU3f59IsY09HPZr2Rr6NhavTekrFU\r\n135OGyderFB4mrwWr8HoINyKoaSLh9LR8rduJQjct9ZMGJ794EY9Jx4XVvBW\r\nX6ixebnVRxLzT+AJi+vO28zVRgm9aAUzfxstxjj6k3SNhakqCw9ctRBeYspK\r\ny1593xJ8WpJpCOKHlwZdTgJgFcj+oALyyJRlnGIPrWaA6FJoDpDqfQVAl5a7\r\nbk3hNC8/54JxW/LstJuYXYiMXb1V1ex8OGA2KaE1IdklrZAoogFf+OVe3tn3\r\nZD/yIsh6bwY3UiV8zVyq+QDSJxzoNunawfURdqIt+dZXqujwejKzEtaBX4df\r\ns2O85PN1hS/2Y34HtNRpgumAolBwPv4qbK3rIM3HysFP1seLwhd1/ugnrqwD\r\n8kKT4C7w7w1OoKMOyF8w992mctxfJAuiGKHuPp+COVMvrcc7WPSONyaqHSCV\r\njrk5DbIQArEtYSpWd0DZXETrVvAWrwg2dVFVzp5D1aa4UQXiHb2A1iFzqtll\r\nEuIGkA6USKLjPuHq9cYmuRvwSG9D89ZRNzw=\r\n=eB4b\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"aydinakyol","email":"aydinakyol11@gmail.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.58.2_1660938134877_0.2319183489247616"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.58.3":{"name":"@pankod/refine-core","version":"3.58.3","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --dts --format esm,cjs,iife --legacy-output","build":"tsup --dts --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0","@types/react":"^17.0.0 || ^18.0.0","@types/react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.16.4","@testing-library/react":"^13.1.1","@testing-library/react-hooks":"^8.0.0","@testing-library/user-event":"^14.1.1","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^18.0.0","@types/react-dom":"^18.0.0","@types/react-router-dom":"^5.1.8","@types/testing-library__jest-dom":"^5.14.3","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"^6.0.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.7.4"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","humanize-string":"^2.1.0","lodash":"^4.17.21","lodash-es":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","@tanstack/react-query-devtools":"^4.0.10","@tanstack/react-query":"^4.0.10","tslib":"^2.3.1","warn-once":"^0.1.0","jose":"^4.8.3"},"repository":{"type":"git","url":"git+https://github.com/pankod/refine.git","directory":"packages/core"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"17dd5af3e4c9f7f09e1e707362c6f5a9d1cab8a8","publishConfig":{"access":"public"},"bugs":{"url":"https://github.com/pankod/refine/issues"},"homepage":"https://github.com/pankod/refine#readme","_id":"@pankod/refine-core@3.58.3","_nodeVersion":"16.16.0","_npmVersion":"8.11.0","dist":{"integrity":"sha512-8h2gLJwh4uKHRNYbdfDPIrckdbnFpGzIrNjXTdmSfMnIyP4bFRgMwfezsR03SF9mLWE4BvBNW1dI1Q5UfpfLaw==","shasum":"bab720143f458aaacdb3696afa40134197eb8b70","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.58.3.tgz","fileCount":239,"unpackedSize":1818653,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFkDi+U5+lTwMwW9/9YshdlG8iqa/FD3gT0oH2IzGYHTAiB1m4BjFDM+juYT9DRdRimi3ThuJAcNCaygI5sapWFZ1w=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi/+fnACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpQJQ//aaVpC/Jbv2NC1A7EqclgpwYjrNjSh8DLzwYRUXeZL5HD40Eo\r\nGCAsrmpzZ0XSPn5A6uwbcW3gm0KYfCvKji7IQUImwP4KS1VbDjI62K1gp6nm\r\nwI5DzhDpa3W7lwxCVJxdl5ZAhIo8pAUB9jc12omASJrpLdwIKIgtTFvjrrVF\r\njOrDt6wYAK/rigPa+MLLVbO0QqYuL11cj0leJ+NMtfDk6f6WJHeW6fasOWiM\r\n1UuOAx0ZE0gCRnVj0/7Ql2od0eEZmTeAh0TERUWIn413oRaee8a3cfO43Ggi\r\nbXj5ZWbYcegctxQ4tXHWF50Y2mn2KY+0cD31Ar5Ov95SHGPt+b2P8ggai95a\r\n9Wj7s2DEyMSSKPveWWQeUf6f/jf9gA8zqQunB38VCnrnxIqhCef6aCn22dL6\r\niPg8RqQFge6qJdMSk1OnUdZeDAJOO2KLpERxMCWXUEbAt90K7YAAtZ+n25eH\r\npfcaFZ/FACMZZv8rJUM7dRnPJE5osjzBWTHLyrcLD0ZMWT1KQP61sWXv7LIY\r\ni6kJnGA8f4Ls0T/HYPBMfHJpRWW+dpANkUCly18PqVmFZrZOZ4uWRYXUUfR6\r\nvK9DQmVV7jtgCMREkNmSHnlSz+5h9r/o65yl4LFHvvv3NGE87Ikj7WIHZH2U\r\nKb6WUdPpGFNBNFkADgucqjLp0PT57POBUGs=\r\n=9X6m\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"aydinakyol","email":"aydinakyol11@gmail.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.58.3_1660938215219_0.40360068484788836"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.58.5":{"name":"@pankod/refine-core","version":"3.58.5","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --dts --format esm,cjs,iife --legacy-output","build":"tsup --dts --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0","@types/react":"^17.0.0 || ^18.0.0","@types/react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.16.4","@testing-library/react":"^13.1.1","@testing-library/react-hooks":"^8.0.0","@testing-library/user-event":"^14.1.1","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^18.0.0","@types/react-dom":"^18.0.0","@types/react-router-dom":"^5.1.8","@types/testing-library__jest-dom":"^5.14.3","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","lodash":"^4.17.21","react-router-dom":"^6.0.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.7.4"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","humanize-string":"^2.1.0","lodash-es":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","@tanstack/react-query-devtools":"^4.0.10","@tanstack/react-query":"^4.0.10","tslib":"^2.3.1","warn-once":"^0.1.0","jose":"^4.8.3"},"repository":{"type":"git","url":"git+https://github.com/pankod/refine.git","directory":"packages/core"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"17dd5af3e4c9f7f09e1e707362c6f5a9d1cab8a8","publishConfig":{"access":"public"},"bugs":{"url":"https://github.com/pankod/refine/issues"},"homepage":"https://github.com/pankod/refine#readme","_id":"@pankod/refine-core@3.58.5","_nodeVersion":"16.16.0","_npmVersion":"8.11.0","dist":{"integrity":"sha512-w0db8gbWJeJk0MgZ4iOHbDHJmCYvhxYnbZdQcDVUkfDleiXIxxfI6GmF5+6n/RMRAWC/4+nGOozXuNQo74cRDw==","shasum":"44b508a5b2a62d741c2526bf24fd51ec15818a51","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.58.5.tgz","fileCount":239,"unpackedSize":1818986,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFd/b54NzXVV8rSJGY9AqVBHrXztF7VYa5rapQOCeOGeAiEApcE5pYWlo+RNSw7y/7p5irvFpjXcKd2zzicRWL91o9M="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjBiyZACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoF1BAAmQE3g4wpZbOnhdRMKC7I5SbnlIGuegxkBS1kCH/TbM7D7Cx1\r\nzDhkx95gtyTuS3uK7Oq9xkEe5wCdv6BetRy2dAmtXwd4Lxt9JEfMWp0X4T2E\r\nHV6IsSeRFEKqDYEhUjaNzo/yS+in+m9b2AWPLyK1XvwKG9OuiGuk46tLvqiM\r\ncRgm6OnOcFGVN7ZJ0twEj5pM3ObfH1c0QtwZ6RBoDKw7sQLa6Ua2ZZbGG2N6\r\nHgG1WKq5A1SaWSUU3NEJkuMOEiOb0jJ1/orwQ3wd/isPEzcV48AW3FqRfpRD\r\nZbHOQXa+l1SLTdjQMf/pDC1TM1leRHt6rKZ9Ksx+rNBe1aMD7bVe+Ao/HRdG\r\n0S8+09OOEaMVKwN/pVujCtmuMpxq33UFIGjks5h+8sRVU84JyRarTgZ2xwbF\r\nb1jSPd5o91Vt01xygizbxsijbJq0Bf7DRT6pxdOT4tSgomaTIyhafJTw8X53\r\n5HKp1h1TqqA515lqj3kXzXYxZQUQl9K+dDyzL5pRfKJwKDNTnhLTJrqhllK6\r\n0DUtbCNXXKn2ivS3Qsf7cpsTUWfdCxjB713fmPQyv4+F2pjTlyX2d+idnPZt\r\nkaw2n219rfMbIhdqFiMWJjrv+RbW05YU13BPUB+P+aMHUL6aEMMloC447k3n\r\nfyTb/J2q3F2VzzBdfA+EuI4GUFsI1YDSvsc=\r\n=CVfj\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"aydinakyol","email":"aydinakyol11@gmail.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.58.5_1661349017051_0.5435383874369579"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.59.0":{"name":"@pankod/refine-core","version":"3.59.0","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --dts --format esm,cjs,iife --legacy-output","build":"tsup --dts --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0","@types/react":"^17.0.0 || ^18.0.0","@types/react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.16.4","@testing-library/react":"^13.1.1","@testing-library/react-hooks":"^8.0.0","@testing-library/user-event":"^14.1.1","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^18.0.0","@types/react-dom":"^18.0.0","@types/react-router-dom":"^5.1.8","@types/testing-library__jest-dom":"^5.14.3","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"^6.0.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.7.4"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","decamelize":"^5.0.0","lodash-es":"^4.17.21","lodash":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","@tanstack/react-query-devtools":"^4.0.10","@tanstack/react-query":"^4.0.10","tslib":"^2.3.1","warn-once":"^0.1.0","jose":"^4.8.3"},"repository":{"type":"git","url":"git+https://github.com/pankod/refine.git","directory":"packages/core"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"17dd5af3e4c9f7f09e1e707362c6f5a9d1cab8a8","publishConfig":{"access":"public"},"readme":"<div align=\"center\" style=\"margin: 30px;\">\n<a href=\"https://refine.dev/\">\n  <img src=\"https://raw.githubusercontent.com/pankod/refine/master/logo.png\"   style=\"width:250px;\" align=\"center\" />\n</a>\n<br />\n<br />\n\n<div align=\"center\">\n    <a href=\"https://refine.dev\">Home Page</a> |\n    <a href=\"https://refine.dev/demo/\">Demo</a> | \n    <a href=\"https://refine.dev/blog/\">Blog</a> | \n    <a href=\"https://refine.dev/docs/\">Documentation</a> | \n    <a href=\"https://github.com/pankod/refine/projects/1\">Roadmap</a> | \n    <a href=\"https://refine.dev/docs/examples/tutorial/\">Examples</a> | \n    <a href=\"https://refine.dev/enterprise/\">Enterprise</a> | \n    <a href=\"https://discord.gg/refine\">Discord</a>\n</div>\n\n</div>\n<br/>\n\n<div align=\"center\"><strong>Build your <a href=\"https://reactjs.org/\">React</a>-based CRUD applications, without constraints.</strong><br>Open source, headless web application framework developed with flexibility in mind.</div>\n\n<br />\n\n<div align=\"center\">\n\n[![Discord](https://img.shields.io/discord/837692625737613362.svg?label=&logo=discord&logoColor=ffffff&color=7389D8&labelColor=6A7EC2)](https://discord.gg/refine)\n[![Twitter Follow](https://img.shields.io/twitter/follow/refine_dev?style=social)](https://twitter.com/refine_dev)\n\n<a href=\"https://www.producthunt.com/posts/refine-open-source-react-framework?utm_source=badge-featured&utm_medium=badge&utm_souce=badge-refine-open-source-react-framework\" target=\"_blank\"><img src=\"https://api.producthunt.com/widgets/embed-image/v1/featured.svg?post_id=319164&theme=light\" alt=\"refine: Open Source React Framework - Focus your business logic. refine will do the rest. | Product Hunt\" style=\"width: 250px; height: 54px;\" width=\"250\" height=\"54\" /></a>\n\n[![Meercode CI Score](https://meercode.io/badge/pankod/refine?type=ci-score&branch=master&token=2ZiT8YsoJgt57JB23NYwXrFY3rJHZboT&lastDay=31)](https://meercode.io/)\n[![Meercode CI Success Rate](https://meercode.io/badge/pankod/refine?type=ci-success-rate&branch=master&token=2ZiT8YsoJgt57JB23NYwXrFY3rJHZboT&lastDay=31)](https://meercode.io/)\n[![Maintainability](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/maintainability)](https://codeclimate.com/github/pankod/refine/maintainability)\n[![Test Coverage](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/test_coverage)](https://codeclimate.com/github/pankod/refine/test_coverage)\n[![npm version](https://img.shields.io/npm/v/@pankod/refine-core.svg)](https://www.npmjs.com/package/@pankod/refine-core)\n[![npm](https://img.shields.io/npm/dm/@pankod/refine-core)](https://www.npmjs.com/package/@pankod/refine-core)\n[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.0-4baaaa.svg)](code_of_conduct.md)\n</div>\n\n<div align=\"center\" style=\"margin: 30px;\">\n  <img src=\"https://github.com/pankod/refine/blob/master/documentation/static/img/refine-promo-gif.gif?raw=true\" style=\"width:688px;\"/>\n</div>\n\n\n## What is refine?\n**refine** is a React-based framework for rapid ✨ development of web applications. \nIt eliminates the repetitive tasks demanded by **CRUD** operations and provides industry standard solutions for critical parts like **authentication**, **access control**, **routing**, **networking**, **state management** and **i18n**.\n\n**refine** is *headless by design* offering unlimited styling and customization options. \n\n## What do you mean by \"headless\" ?\nInstead of being a limited set of pre-styled components, **refine** is a collection of helper `hooks`, `components` and `providers`. They are all decoupled from your *UI components* and *business logic*, so they never keep you from customizing your *UI* or coding your own flow.\n\n**refine** seamlessly works with any **custom design** or **UI framework you favor**. For convenience, it ships with ready-made integrations for [Ant Design System](https://ant.design/) and [Material UI](https://mui.com/).\n\n## Use cases\n**refine** shines on *data-intensive* applications like *admin panels*, *dashboards* and *internal tools*. Thanks to built-in **SSR support**, **refine** can also power *customer-facing* applications like *storefronts*.\n\n## Key Features\n\n⚙️ Zero-config, **one-minute setup** with a **single CLI command**\n\n🔌 Connectors for **15+ backend services** including [REST API](https://github.com/pankod/refine/tree/master/packages/simple-rest), [GraphQL](https://github.com/pankod/refine/tree/master/packages/graphql), [NestJs CRUD](https://github.com/pankod/refine/tree/master/packages/nestjsx-crud), [Airtable](https://github.com/pankod/refine/tree/master/packages/airtable), [Strapi](https://github.com/pankod/refine/tree/master/packages/strapi), [Strapi v4](https://github.com/pankod/refine/tree/master/packages/strapi-v4), [Strapi GraphQL](https://github.com/pankod/refine/tree/master/packages/strapi-graphql), [Supabase](https://github.com/pankod/refine/tree/master/packages/supabase), [Hasura](https://github.com/pankod/refine/tree/master/packages/hasura), [Nhost](https://github.com/pankod/refine/tree/master/packages/nhost), [Appwrite](https://github.com/pankod/refine/tree/master/packages/appwrite), [Firebase](https://firebase.google.com/), [Directus](https://directus.io/) and [Altogic](https://github.com/pankod/refine/tree/master/packages/altogic)\n\n🌐 **SSR support** with **Next.js** or **Remix**\n\n⚛ Perfect **state management** & **mutations** with **React Query**\n\n🔀 **Advanced routing** with any router library of your choice\n\n🔐 Providers for seamless **authentication** and **access control** flows\n\n⚡ Out-of-the-box support for **live / real-time applications**\n\n📄 Easy **audit logs** &** **document versioning**\n\n💬 Support for any **i18n** framework\n\n💪 Future-proof, **robust architecture**\n\n✅ Full **test coverage**\n\n## Quick Start\n\nThe fastest way to get started with **refine** is using the [superplate](https://github.com/pankod/superplate) project starter tool.\nRun the following command to create a new **refine** project configured with  [Ant Design System](https://ant.design/) as the default UI framework:\n\n```\nnpx superplate-cli --preset refine-antd my-project\n```\n\nOnce the setup is complete, navigate to the project folder and start your project with:\n\n```\nnpm run dev\n```\n\nYour **refine** application will be accessible at [http://localhost:3000](http://localhost:3000):\n![Welcome on board](https://github.com/pankod/refine/blob/master/documentation/static/img/welcome-on-board.png?raw=true)\nLet's consume a public `fake REST API` and add two resources (*posts*, *categories*) to our project. Replace the contents of `src/App.tsx` with the following code:\n\n```tsx title=\"src/App.tsx\"\n\nimport { Refine, useMany } from \"@pankod/refine-core\";\nimport {\n    useTable,\n    List,\n    Table,\n    DateField,\n    Layout,\n    ReadyPage,\n    notificationProvider,\n    ErrorComponent,\n} from \"@pankod/refine-antd\";\nimport routerProvider from \"@pankod/refine-react-router-v6\";\nimport dataProvider from \"@pankod/refine-simple-rest\";\n\nimport \"@pankod/refine-antd/dist/styles.min.css\";\n\nconst App: React.FC = () => {\n    return (\n        <Refine\n            routerProvider={routerProvider}\n            dataProvider={dataProvider(\"https://api.fake-rest.refine.dev\")}\n            resources={[{ name: \"posts\", list: PostList }]}\n            Layout={Layout}\n            ReadyPage={ReadyPage}\n            notificationProvider={notificationProvider}\n            catchAll={<ErrorComponent />}\n        />\n    );\n};\n\nexport const PostList: React.FC = () => {\n    const { tableProps } = useTable<IPost>();\n\n    const categoryIds =\n        tableProps?.dataSource?.map((item) => item.category.id) ?? [];\n\n    const { data, isLoading } = useMany<ICategory>({\n        resource: \"categories\",\n        ids: categoryIds,\n        queryOptions: {\n            enabled: categoryIds.length > 0,\n        },\n    });\n\n    return (\n        <List>\n            <Table<IPost> {...tableProps} rowKey=\"id\">\n                <Table.Column dataIndex=\"title\" title=\"title\" />\n                <Table.Column\n                    dataIndex={[\"category\", \"id\"]}\n                    title=\"category\"\n                    render={(value: number) => {\n                        if (isLoading) {\n                            return \"loading...\";\n                        }\n\n                        return data?.data.find(\n                            (item: ICategory) => item.id === value,\n                        )?.title;\n                    }}\n                />\n                <Table.Column\n                    dataIndex=\"createdAt\"\n                    title=\"createdAt\"\n                    render={(value) => <DateField format=\"LLL\" value={value} />}\n                />\n            </Table>\n        </List>\n    );\n};\n\nexport default App;\n\ninterface IPost {\n  title: string;\n  createdAt: string;\n  category: { id: number };\n}\n\ninterface ICategory {\n  id: number;\n  title: string;\n}\n\n```\n\nNow, you should see the output as a table populated with `post` & `category` data:\n![First example result](https://github.com/pankod/refine/blob/master/documentation/static/img/first-example-result.png?raw=true)\n## Next Steps\n\n👉 Jump to [Refine<>Ant Design Tutorial](https://refine.dev/docs/ui-frameworks/antd/tutorial/) to continue your work and turn the example into a full-blown CRUD application.\n\n👉 Check out the [Refine<>Tailwind Tutorial](https://refine.dev/docs/ui-frameworks/antd/tutorial/) to learn how to use **refine** in a pure *headless* way.\n\n👉 Visit [Learn the Basics Page](https://refine.dev/docs/getting-started/basics/) to get informed about the fundemental concepts.\n\n👉 Read more on [Guides & Concepts](https://refine.dev/docs/guides-and-concepts/access-control/) for different usage scenarios.\n\n👉 See the real-life [Finefoods Demo](https://refine.dev/demo/) project.\n\n👉 Play with interactive [Examples](https://refine.dev/docs/examples/tutorial/headless-tutorial/)\n\n## Roadmap\nYou can find refine's <a href=\"https://github.com/pankod/refine/projects/1\">Public Roadmap here!</a> \n\n## Stargazers\n\n[![Stargazers repo roster for pankod/refine](https://reporoster.com/stars/pankod/refine)](https://github.com/pankod/refine/stargazers)\n\n## Contribution\n\nIf you have a bug to report, do not hesitate to file an issue.\n\nIf you are willing to fix an issue or propose a feature; all PRs with clear explanations are welcome and encouraged.\n\n## License\n\nLicensed under the MIT License, Copyright © 2021-present Pankod\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/pankod/refine/issues"},"homepage":"https://github.com/pankod/refine#readme","_id":"@pankod/refine-core@3.59.0","_nodeVersion":"16.16.0","_npmVersion":"8.11.0","dist":{"integrity":"sha512-KOX9Bh95j9uII57yzry+iQ/Vna44FsEG+yp8uxaOCPS0Zi2MaRBxM/1Ie8O90RmtJvhwQWrLLKeHLvXgK1Txpg==","shasum":"2556945378833f40a31b90bf3e4d2dd8ef109bb3","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.59.0.tgz","fileCount":245,"unpackedSize":1880204,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIG5KB6LYiMS+YchWfZg/pJjuxOjX31LMLcTsy1rkc7A3AiEAoVNZ+ISjOj7SCg6KEYVKHPt49R7ZU4Ft5Oi3P4cGBq4="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjCLgPACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpXvQ//eSqR9Eo7FhkSm4WL0FJsOCwvPTDCntHcL/iMRfvmS1VXxoPU\r\nke4KCXw3NTBGA9EF78mGi8dJcEVen68pvJIgDB1R5nKMNdhYycLfElO2F6Xa\r\nLrDBCIEBnJ2peJITt644Ds0BUm3cmDQ7Ld7n68/lLLUK6zXqA86sANaGELGk\r\nQGUGND4i6I2SCRm3okpsEpUrK3bRta0RJqVuXkEGXdq0uY536Z5nzY9jl46F\r\nZu0UEJcpcfrJpSlDz3tnj85EPFJ+RiqnaMOcx0QYgvuJsDZFYR6DBmTvn/kr\r\nwMbzdqChhIaPmOQy6stOaFbhoJj7P1mfJNMhoPwf3GcuK189n9WBsqd+KB8A\r\n532Z61UdnbaBc4StWzRfklsZsUYMv/msgXDrBJfl9M17fua6D4ueKkv1i6ZI\r\nCH66SXffeNsGiapYuREGgOqtvjpj77P0e6+ntLFi3PhNaI6Okxfj83zRqYke\r\nZ1Ttu5VWhWahRlsQXAbhq687iUXLlFxow+w18MgYnftlEbILC9zL5PL68bkm\r\nfYFjvIsN3Ire3Wq0SfmtsE0wKktmiqPIGYZatEtoiPga+NCS5HuC2l6Vg9F8\r\nFZxc0ggdKx3PB9UPJ5AurhQWidiPv5GxpIc1uyjZI7WZj7vpGbP5I1QtnwBR\r\nYKASTkZJaiSAboc20pCL+kOVoSgbmwB7RvQ=\r\n=bhY8\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"aydinakyol","email":"aydinakyol11@gmail.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.59.0_1661515790598_0.6028029140252895"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.60.0":{"name":"@pankod/refine-core","version":"3.60.0","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --dts --format esm,cjs,iife --legacy-output","build":"tsup --dts --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0","@types/react":"^17.0.0 || ^18.0.0","@types/react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.16.4","@testing-library/react":"^13.1.1","@testing-library/react-hooks":"^8.0.0","@testing-library/user-event":"^14.1.1","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^18.0.0","@types/react-dom":"^18.0.0","@types/react-router-dom":"^5.1.8","@types/testing-library__jest-dom":"^5.14.3","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"^6.0.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.7.4"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","decamelize":"^5.0.0","lodash-es":"^4.17.21","lodash":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","@tanstack/react-query-devtools":"^4.0.10","@tanstack/react-query":"^4.0.10","tslib":"^2.3.1","warn-once":"^0.1.0","jose":"^4.8.3"},"repository":{"type":"git","url":"git+https://github.com/pankod/refine.git","directory":"packages/core"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"17dd5af3e4c9f7f09e1e707362c6f5a9d1cab8a8","publishConfig":{"access":"public"},"readme":"<div align=\"center\" style=\"margin: 30px;\">\n<a href=\"https://refine.dev/\">\n  <img src=\"https://raw.githubusercontent.com/pankod/refine/master/logo.png\"   style=\"width:250px;\" align=\"center\" />\n</a>\n<br />\n<br />\n\n<div align=\"center\">\n    <a href=\"https://refine.dev\">Home Page</a> |\n    <a href=\"https://refine.dev/demo/\">Demo</a> | \n    <a href=\"https://refine.dev/blog/\">Blog</a> | \n    <a href=\"https://refine.dev/docs/\">Documentation</a> | \n    <a href=\"https://github.com/pankod/refine/projects/1\">Roadmap</a> | \n    <a href=\"https://refine.dev/docs/examples/tutorial/\">Examples</a> | \n    <a href=\"https://refine.dev/enterprise/\">Enterprise</a> | \n    <a href=\"https://discord.gg/refine\">Discord</a>\n</div>\n\n</div>\n<br/>\n\n<div align=\"center\"><strong>Build your <a href=\"https://reactjs.org/\">React</a>-based CRUD applications, without constraints.</strong><br>Open source, headless web application framework developed with flexibility in mind.</div>\n\n<br />\n\n<div align=\"center\">\n\n[![Discord](https://img.shields.io/discord/837692625737613362.svg?label=&logo=discord&logoColor=ffffff&color=7389D8&labelColor=6A7EC2)](https://discord.gg/refine)\n[![Twitter Follow](https://img.shields.io/twitter/follow/refine_dev?style=social)](https://twitter.com/refine_dev)\n\n<a href=\"https://www.producthunt.com/posts/refine-open-source-react-framework?utm_source=badge-featured&utm_medium=badge&utm_souce=badge-refine-open-source-react-framework\" target=\"_blank\"><img src=\"https://api.producthunt.com/widgets/embed-image/v1/featured.svg?post_id=319164&theme=light\" alt=\"refine: Open Source React Framework - Focus your business logic. refine will do the rest. | Product Hunt\" style=\"width: 250px; height: 54px;\" width=\"250\" height=\"54\" /></a>\n\n[![Meercode CI Score](https://meercode.io/badge/pankod/refine?type=ci-score&branch=master&token=2ZiT8YsoJgt57JB23NYwXrFY3rJHZboT&lastDay=31)](https://meercode.io/)\n[![Meercode CI Success Rate](https://meercode.io/badge/pankod/refine?type=ci-success-rate&branch=master&token=2ZiT8YsoJgt57JB23NYwXrFY3rJHZboT&lastDay=31)](https://meercode.io/)\n[![Maintainability](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/maintainability)](https://codeclimate.com/github/pankod/refine/maintainability)\n[![Test Coverage](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/test_coverage)](https://codeclimate.com/github/pankod/refine/test_coverage)\n[![npm version](https://img.shields.io/npm/v/@pankod/refine-core.svg)](https://www.npmjs.com/package/@pankod/refine-core)\n[![npm](https://img.shields.io/npm/dm/@pankod/refine-core)](https://www.npmjs.com/package/@pankod/refine-core)\n[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.0-4baaaa.svg)](code_of_conduct.md)\n</div>\n\n<div align=\"center\" style=\"margin: 30px;\">\n  <img src=\"https://github.com/pankod/refine/blob/master/documentation/static/img/refine-promo-gif.gif?raw=true\" style=\"width:688px;\"/>\n</div>\n\n\n## What is refine?\n**refine** is a React-based framework for rapid ✨ development of web applications. \nIt eliminates the repetitive tasks demanded by **CRUD** operations and provides industry standard solutions for critical parts like **authentication**, **access control**, **routing**, **networking**, **state management** and **i18n**.\n\n**refine** is *headless by design* offering unlimited styling and customization options. \n\n## What do you mean by \"headless\" ?\nInstead of being a limited set of pre-styled components, **refine** is a collection of helper `hooks`, `components` and `providers`. They are all decoupled from your *UI components* and *business logic*, so they never keep you from customizing your *UI* or coding your own flow.\n\n**refine** seamlessly works with any **custom design** or **UI framework you favor**. For convenience, it ships with ready-made integrations for [Ant Design System](https://ant.design/) and [Material UI](https://mui.com/).\n\n## Use cases\n**refine** shines on *data-intensive* applications like *admin panels*, *dashboards* and *internal tools*. Thanks to built-in **SSR support**, **refine** can also power *customer-facing* applications like *storefronts*.\n\n## Key Features\n\n⚙️ Zero-config, **one-minute setup** with a **single CLI command**\n\n🔌 Connectors for **15+ backend services** including [REST API](https://github.com/pankod/refine/tree/master/packages/simple-rest), [GraphQL](https://github.com/pankod/refine/tree/master/packages/graphql), [NestJs CRUD](https://github.com/pankod/refine/tree/master/packages/nestjsx-crud), [Airtable](https://github.com/pankod/refine/tree/master/packages/airtable), [Strapi](https://github.com/pankod/refine/tree/master/packages/strapi), [Strapi v4](https://github.com/pankod/refine/tree/master/packages/strapi-v4), [Strapi GraphQL](https://github.com/pankod/refine/tree/master/packages/strapi-graphql), [Supabase](https://github.com/pankod/refine/tree/master/packages/supabase), [Hasura](https://github.com/pankod/refine/tree/master/packages/hasura), [Nhost](https://github.com/pankod/refine/tree/master/packages/nhost), [Appwrite](https://github.com/pankod/refine/tree/master/packages/appwrite), [Firebase](https://firebase.google.com/), [Directus](https://directus.io/) and [Altogic](https://github.com/pankod/refine/tree/master/packages/altogic)\n\n🌐 **SSR support** with **Next.js** or **Remix**\n\n⚛ Perfect **state management** & **mutations** with **React Query**\n\n🔀 **Advanced routing** with any router library of your choice\n\n🔐 Providers for seamless **authentication** and **access control** flows\n\n⚡ Out-of-the-box support for **live / real-time applications**\n\n📄 Easy **audit logs** &** **document versioning**\n\n💬 Support for any **i18n** framework\n\n💪 Future-proof, **robust architecture**\n\n✅ Full **test coverage**\n\n## Quick Start\n\nThe fastest way to get started with **refine** is using the [superplate](https://github.com/pankod/superplate) project starter tool.\nRun the following command to create a new **refine** project configured with  [Ant Design System](https://ant.design/) as the default UI framework:\n\n```\nnpx superplate-cli --preset refine-antd my-project\n```\n\nOnce the setup is complete, navigate to the project folder and start your project with:\n\n```\nnpm run dev\n```\n\nYour **refine** application will be accessible at [http://localhost:3000](http://localhost:3000):\n![Welcome on board](https://github.com/pankod/refine/blob/master/documentation/static/img/welcome-on-board.png?raw=true)\nLet's consume a public `fake REST API` and add two resources (*posts*, *categories*) to our project. Replace the contents of `src/App.tsx` with the following code:\n\n```tsx title=\"src/App.tsx\"\n\nimport { Refine, useMany } from \"@pankod/refine-core\";\nimport {\n    useTable,\n    List,\n    Table,\n    DateField,\n    Layout,\n    ReadyPage,\n    notificationProvider,\n    ErrorComponent,\n} from \"@pankod/refine-antd\";\nimport routerProvider from \"@pankod/refine-react-router-v6\";\nimport dataProvider from \"@pankod/refine-simple-rest\";\n\nimport \"@pankod/refine-antd/dist/styles.min.css\";\n\nconst App: React.FC = () => {\n    return (\n        <Refine\n            routerProvider={routerProvider}\n            dataProvider={dataProvider(\"https://api.fake-rest.refine.dev\")}\n            resources={[{ name: \"posts\", list: PostList }]}\n            Layout={Layout}\n            ReadyPage={ReadyPage}\n            notificationProvider={notificationProvider}\n            catchAll={<ErrorComponent />}\n        />\n    );\n};\n\nexport const PostList: React.FC = () => {\n    const { tableProps } = useTable<IPost>();\n\n    const categoryIds =\n        tableProps?.dataSource?.map((item) => item.category.id) ?? [];\n\n    const { data, isLoading } = useMany<ICategory>({\n        resource: \"categories\",\n        ids: categoryIds,\n        queryOptions: {\n            enabled: categoryIds.length > 0,\n        },\n    });\n\n    return (\n        <List>\n            <Table<IPost> {...tableProps} rowKey=\"id\">\n                <Table.Column dataIndex=\"title\" title=\"title\" />\n                <Table.Column\n                    dataIndex={[\"category\", \"id\"]}\n                    title=\"category\"\n                    render={(value: number) => {\n                        if (isLoading) {\n                            return \"loading...\";\n                        }\n\n                        return data?.data.find(\n                            (item: ICategory) => item.id === value,\n                        )?.title;\n                    }}\n                />\n                <Table.Column\n                    dataIndex=\"createdAt\"\n                    title=\"createdAt\"\n                    render={(value) => <DateField format=\"LLL\" value={value} />}\n                />\n            </Table>\n        </List>\n    );\n};\n\nexport default App;\n\ninterface IPost {\n  title: string;\n  createdAt: string;\n  category: { id: number };\n}\n\ninterface ICategory {\n  id: number;\n  title: string;\n}\n\n```\n\nNow, you should see the output as a table populated with `post` & `category` data:\n![First example result](https://github.com/pankod/refine/blob/master/documentation/static/img/first-example-result.png?raw=true)\n## Next Steps\n\n👉 Jump to [Refine<>Ant Design Tutorial](https://refine.dev/docs/ui-frameworks/antd/tutorial/) to continue your work and turn the example into a full-blown CRUD application.\n\n👉 Check out the [Refine<>Tailwind Tutorial](https://refine.dev/docs/ui-frameworks/antd/tutorial/) to learn how to use **refine** in a pure *headless* way.\n\n👉 Visit [Learn the Basics Page](https://refine.dev/docs/getting-started/basics/) to get informed about the fundemental concepts.\n\n👉 Read more on [Guides & Concepts](https://refine.dev/docs/guides-and-concepts/access-control/) for different usage scenarios.\n\n👉 See the real-life [Finefoods Demo](https://refine.dev/demo/) project.\n\n👉 Play with interactive [Examples](https://refine.dev/docs/examples/tutorial/headless-tutorial/)\n\n## Roadmap\nYou can find refine's <a href=\"https://github.com/pankod/refine/projects/1\">Public Roadmap here!</a> \n\n## Stargazers\n\n[![Stargazers repo roster for pankod/refine](https://reporoster.com/stars/pankod/refine)](https://github.com/pankod/refine/stargazers)\n\n## Contribution\n\nIf you have a bug to report, do not hesitate to file an issue.\n\nIf you are willing to fix an issue or propose a feature; all PRs with clear explanations are welcome and encouraged.\n\n## License\n\nLicensed under the MIT License, Copyright © 2021-present Pankod\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/pankod/refine/issues"},"homepage":"https://github.com/pankod/refine#readme","_id":"@pankod/refine-core@3.60.0","_nodeVersion":"16.16.0","_npmVersion":"8.11.0","dist":{"integrity":"sha512-++fnV9togRKq5+gtl0kBR9eHfjAjJD8CeywwB+jQxLrKtLiHDmerqs3+/9ksWAPP8dL0V5e5fZ3EKQYopBQbQg==","shasum":"809ab9b8b0acdab949666c2b9ff77ba65ae1441c","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.60.0.tgz","fileCount":245,"unpackedSize":1881518,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFs+egw47n3tz1N3cDEYt4LPjCRzeLS0aOMto1dvdkfYAiEAqxqGiryM1snoP4HG8VIVev8nCPM6M1kZ4Xsuy4R8Yx0="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjCLwmACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmopTQ/8CnjwkQqnssbAybj8B7AhXEePa9i9gQbOGlPbJK1HG+A1sGz/\r\npeuSqU3RCVCjW9GxsNhjdHW4NHHtr3Fp9ICFuP46BMCtQekY+DadnlDb6Fwo\r\n9NQevRyrGGjG///8h2G0tK5npH60cZjA6QZGlc0orvTxJSrR93API1qLLYAw\r\n4Rjw5hSKWEkTk7hTBT0vvUKV+EO8cOyh1/5W/3XfwJ4M6v8gd4MVPM5Q/b9t\r\nQ5gWpX8u1Npp25UKJ33xJf6H0uyOLKWpZFMzFg4o5+sy5aJrTmpaphzqA7aM\r\nLeWECUAWlbgIJ8CQpblq1iqChzkE/GzPVFTvu3fyPEAJtSvI03MuBRWe/l2F\r\npfUGAd7ZTiJo9wlpI5608+zh472vQbxSP6wzSC/u90R93sFHRsAhH5BrxLm/\r\nQOueNEZzWrqX9sLzpxopHY3FrF9xcXlN/n5lIHWUFfGgPvY2PX8BVQE1iOvT\r\n7EsFURGE41arnlZ8l3JTyAjTvvXLAf2PiBHG2mFVqGuUr/1fETalR4drcf9f\r\na0UWaNk9nevTdrYITtyomYkknSNpgqf/DEPSnWViKy2cHtBLt7zWEpQOBOmk\r\nNLwu30ibl78sViKM1UTMKtO7UBoFL6fFyXtRzGh0Zr5yvPJk/PpDLlX1y19D\r\n63cq5yR9jwwLtaea6f0ohc8ZmqqcQvwggrg=\r\n=F43G\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"aydinakyol","email":"aydinakyol11@gmail.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.60.0_1661516837927_0.06359387060540023"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.62.0":{"name":"@pankod/refine-core","version":"3.62.0","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --dts --format esm,cjs,iife --legacy-output","build":"tsup --dts --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0","@types/react":"^17.0.0 || ^18.0.0","@types/react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.16.4","@testing-library/react":"^13.1.1","@testing-library/react-hooks":"^8.0.0","@testing-library/user-event":"^14.1.1","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^18.0.0","@types/react-dom":"^18.0.0","@types/react-router-dom":"^5.1.8","@types/testing-library__jest-dom":"^5.14.3","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"^6.0.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.7.4"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","decamelize":"^5.0.0","lodash-es":"^4.17.21","lodash":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","@tanstack/react-query-devtools":"^4.0.10","@tanstack/react-query":"^4.0.10","tslib":"^2.3.1","warn-once":"^0.1.0","jose":"^4.8.3"},"repository":{"type":"git","url":"git+https://github.com/pankod/refine.git","directory":"packages/core"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"17dd5af3e4c9f7f09e1e707362c6f5a9d1cab8a8","publishConfig":{"access":"public"},"bugs":{"url":"https://github.com/pankod/refine/issues"},"homepage":"https://github.com/pankod/refine#readme","_id":"@pankod/refine-core@3.62.0","_nodeVersion":"16.16.0","_npmVersion":"8.11.0","dist":{"integrity":"sha512-CIYdKGROKDyKCGAK+zA3bxQxXgDOxwMRIPFL+ajz4U8wYJ8BTcpEh2A3SPkc+xhqkAPxow/rVJryF7NArALhPg==","shasum":"642b1efecb9cc97441a3698f94866df0cbb1d52a","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.62.0.tgz","fileCount":245,"unpackedSize":1884146,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGnp8Th36+4QuJnaxFOUSZ/l2z33b2XyrABYLeHiT/5NAiBQ1kNTQ8rp/yq6QXU19FYzP6kn1UR3XmfqzSAMxIfldw=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjCNi8ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoEwRAAhg77lkOvaH+NZEyk31fjbp0GdbZkpS05tP667H9E79rXiB/F\r\n5khl0EGhqW/5EzdKtewhxxabNm961fXpQkF1qnoFactgxUaAVH0DfN/yn3zJ\r\nwJIe9O7dHMJ8amJRS56ARjDOpUs8ytdEw/v5Kl9/Kue8jUPgNhaeCN04ZtFJ\r\nW1QHXk/QMN8LfVB2AgLhU2YUiU4UsyXW1otgEUJcUYL2iXwInoUyPhP71NTA\r\nvHUQn9ilHcxz6Zgf7oRepIm1ckT/kgzjByG19fdfTBfy6OyRnWQlPMTqMqh7\r\nIx3p5sJdYDuJUmbF7T/O/DyiKBL4buELgXc+/uezlah9yJPrgkVVJnNQ9wWT\r\ngXp/2OoiiPW+jpIgfW4z5KRHWvKd3z2TNRq612ECF7LC5pVtx3Dv0bAeWeTR\r\nOC+PHaO2zC80wkDN8t5Ka8BT+F4qLAddFmiDLaw3X/tt7IBBq5KPLNpiRAeU\r\nZEXIK6PcH5rCNY+lCLelRUQCoSTMwMNUIOJ2ndBhUpuTjyqFS4HORJRrOXtC\r\nscIvfDq7dJxfJGRUIBx851m5lvotteFv0SacQdV+YexTDmHHp5sFqfFGLBPK\r\nmhM/rrYz1EOr4DgEMZ6hERTOiyDAbs1dIQbevvFalbSqytHZytBs29CH3+ms\r\nsOwtZPJqXeoj+cPg+JRU39/V6j96GHsK+t4=\r\n=nOge\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"aydinakyol","email":"aydinakyol11@gmail.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.62.0_1661524155964_0.6839044859757621"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.61.1":{"name":"@pankod/refine-core","version":"3.61.1","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --dts --format esm,cjs,iife --legacy-output","build":"tsup --dts --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0","@types/react":"^17.0.0 || ^18.0.0","@types/react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.16.4","@testing-library/react":"^13.1.1","@testing-library/react-hooks":"^8.0.0","@testing-library/user-event":"^14.1.1","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^18.0.0","@types/react-dom":"^18.0.0","@types/react-router-dom":"^5.1.8","@types/testing-library__jest-dom":"^5.14.3","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"^6.0.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.7.4"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","decamelize":"^5.0.0","lodash-es":"^4.17.21","lodash":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","@tanstack/react-query-devtools":"^4.0.10","@tanstack/react-query":"^4.0.10","tslib":"^2.3.1","warn-once":"^0.1.0","jose":"^4.8.3"},"repository":{"type":"git","url":"git+https://github.com/pankod/refine.git","directory":"packages/core"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"17dd5af3e4c9f7f09e1e707362c6f5a9d1cab8a8","publishConfig":{"access":"public"},"readme":"<div align=\"center\" style=\"margin: 30px;\">\n<a href=\"https://refine.dev/\">\n  <img src=\"https://raw.githubusercontent.com/pankod/refine/master/logo.png\"   style=\"width:250px;\" align=\"center\" />\n</a>\n<br />\n<br />\n\n<div align=\"center\">\n    <a href=\"https://refine.dev\">Home Page</a> |\n    <a href=\"https://refine.dev/demo/\">Demo</a> | \n    <a href=\"https://refine.dev/blog/\">Blog</a> | \n    <a href=\"https://refine.dev/docs/\">Documentation</a> | \n    <a href=\"https://github.com/pankod/refine/projects/1\">Roadmap</a> | \n    <a href=\"https://refine.dev/docs/examples/tutorial/\">Examples</a> | \n    <a href=\"https://refine.dev/enterprise/\">Enterprise</a> | \n    <a href=\"https://discord.gg/refine\">Discord</a>\n</div>\n\n</div>\n<br/>\n\n<div align=\"center\"><strong>Build your <a href=\"https://reactjs.org/\">React</a>-based CRUD applications, without constraints.</strong><br>Open source, headless web application framework developed with flexibility in mind.</div>\n\n<br />\n\n<div align=\"center\">\n\n[![Discord](https://img.shields.io/discord/837692625737613362.svg?label=&logo=discord&logoColor=ffffff&color=7389D8&labelColor=6A7EC2)](https://discord.gg/refine)\n[![Twitter Follow](https://img.shields.io/twitter/follow/refine_dev?style=social)](https://twitter.com/refine_dev)\n\n<a href=\"https://www.producthunt.com/posts/refine-open-source-react-framework?utm_source=badge-featured&utm_medium=badge&utm_souce=badge-refine-open-source-react-framework\" target=\"_blank\"><img src=\"https://api.producthunt.com/widgets/embed-image/v1/featured.svg?post_id=319164&theme=light\" alt=\"refine: Open Source React Framework - Focus your business logic. refine will do the rest. | Product Hunt\" style=\"width: 250px; height: 54px;\" width=\"250\" height=\"54\" /></a>\n\n[![Meercode CI Score](https://meercode.io/badge/pankod/refine?type=ci-score&branch=master&token=2ZiT8YsoJgt57JB23NYwXrFY3rJHZboT&lastDay=31)](https://meercode.io/)\n[![Meercode CI Success Rate](https://meercode.io/badge/pankod/refine?type=ci-success-rate&branch=master&token=2ZiT8YsoJgt57JB23NYwXrFY3rJHZboT&lastDay=31)](https://meercode.io/)\n[![Maintainability](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/maintainability)](https://codeclimate.com/github/pankod/refine/maintainability)\n[![Test Coverage](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/test_coverage)](https://codeclimate.com/github/pankod/refine/test_coverage)\n[![npm version](https://img.shields.io/npm/v/@pankod/refine-core.svg)](https://www.npmjs.com/package/@pankod/refine-core)\n[![npm](https://img.shields.io/npm/dm/@pankod/refine-core)](https://www.npmjs.com/package/@pankod/refine-core)\n[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.0-4baaaa.svg)](code_of_conduct.md)\n</div>\n\n<div align=\"center\" style=\"margin: 30px;\">\n  <img src=\"https://github.com/pankod/refine/blob/master/documentation/static/img/refine-promo-gif.gif?raw=true\" style=\"width:688px;\"/>\n</div>\n\n\n## What is refine?\n**refine** is a React-based framework for rapid ✨ development of web applications. \nIt eliminates the repetitive tasks demanded by **CRUD** operations and provides industry standard solutions for critical parts like **authentication**, **access control**, **routing**, **networking**, **state management** and **i18n**.\n\n**refine** is *headless by design* offering unlimited styling and customization options. \n\n## What do you mean by \"headless\" ?\nInstead of being a limited set of pre-styled components, **refine** is a collection of helper `hooks`, `components` and `providers`. They are all decoupled from your *UI components* and *business logic*, so they never keep you from customizing your *UI* or coding your own flow.\n\n**refine** seamlessly works with any **custom design** or **UI framework you favor**. For convenience, it ships with ready-made integrations for [Ant Design System](https://ant.design/) and [Material UI](https://mui.com/).\n\n## Use cases\n**refine** shines on *data-intensive* applications like *admin panels*, *dashboards* and *internal tools*. Thanks to built-in **SSR support**, **refine** can also power *customer-facing* applications like *storefronts*.\n\n## Key Features\n\n⚙️ Zero-config, **one-minute setup** with a **single CLI command**\n\n🔌 Connectors for **15+ backend services** including [REST API](https://github.com/pankod/refine/tree/master/packages/simple-rest), [GraphQL](https://github.com/pankod/refine/tree/master/packages/graphql), [NestJs CRUD](https://github.com/pankod/refine/tree/master/packages/nestjsx-crud), [Airtable](https://github.com/pankod/refine/tree/master/packages/airtable), [Strapi](https://github.com/pankod/refine/tree/master/packages/strapi), [Strapi v4](https://github.com/pankod/refine/tree/master/packages/strapi-v4), [Strapi GraphQL](https://github.com/pankod/refine/tree/master/packages/strapi-graphql), [Supabase](https://github.com/pankod/refine/tree/master/packages/supabase), [Hasura](https://github.com/pankod/refine/tree/master/packages/hasura), [Nhost](https://github.com/pankod/refine/tree/master/packages/nhost), [Appwrite](https://github.com/pankod/refine/tree/master/packages/appwrite), [Firebase](https://firebase.google.com/), [Directus](https://directus.io/) and [Altogic](https://github.com/pankod/refine/tree/master/packages/altogic)\n\n🌐 **SSR support** with **Next.js** or **Remix**\n\n⚛ Perfect **state management** & **mutations** with **React Query**\n\n🔀 **Advanced routing** with any router library of your choice\n\n🔐 Providers for seamless **authentication** and **access control** flows\n\n⚡ Out-of-the-box support for **live / real-time applications**\n\n📄 Easy **audit logs** &** **document versioning**\n\n💬 Support for any **i18n** framework\n\n💪 Future-proof, **robust architecture**\n\n✅ Full **test coverage**\n\n## Quick Start\n\nThe fastest way to get started with **refine** is using the [superplate](https://github.com/pankod/superplate) project starter tool.\nRun the following command to create a new **refine** project configured with  [Ant Design System](https://ant.design/) as the default UI framework:\n\n```\nnpx superplate-cli --preset refine-antd my-project\n```\n\nOnce the setup is complete, navigate to the project folder and start your project with:\n\n```\nnpm run dev\n```\n\nYour **refine** application will be accessible at [http://localhost:3000](http://localhost:3000):\n![Welcome on board](https://github.com/pankod/refine/blob/master/documentation/static/img/welcome-on-board.png?raw=true)\nLet's consume a public `fake REST API` and add two resources (*posts*, *categories*) to our project. Replace the contents of `src/App.tsx` with the following code:\n\n```tsx title=\"src/App.tsx\"\n\nimport { Refine, useMany } from \"@pankod/refine-core\";\nimport {\n    useTable,\n    List,\n    Table,\n    DateField,\n    Layout,\n    ReadyPage,\n    notificationProvider,\n    ErrorComponent,\n} from \"@pankod/refine-antd\";\nimport routerProvider from \"@pankod/refine-react-router-v6\";\nimport dataProvider from \"@pankod/refine-simple-rest\";\n\nimport \"@pankod/refine-antd/dist/styles.min.css\";\n\nconst App: React.FC = () => {\n    return (\n        <Refine\n            routerProvider={routerProvider}\n            dataProvider={dataProvider(\"https://api.fake-rest.refine.dev\")}\n            resources={[{ name: \"posts\", list: PostList }]}\n            Layout={Layout}\n            ReadyPage={ReadyPage}\n            notificationProvider={notificationProvider}\n            catchAll={<ErrorComponent />}\n        />\n    );\n};\n\nexport const PostList: React.FC = () => {\n    const { tableProps } = useTable<IPost>();\n\n    const categoryIds =\n        tableProps?.dataSource?.map((item) => item.category.id) ?? [];\n\n    const { data, isLoading } = useMany<ICategory>({\n        resource: \"categories\",\n        ids: categoryIds,\n        queryOptions: {\n            enabled: categoryIds.length > 0,\n        },\n    });\n\n    return (\n        <List>\n            <Table<IPost> {...tableProps} rowKey=\"id\">\n                <Table.Column dataIndex=\"title\" title=\"title\" />\n                <Table.Column\n                    dataIndex={[\"category\", \"id\"]}\n                    title=\"category\"\n                    render={(value: number) => {\n                        if (isLoading) {\n                            return \"loading...\";\n                        }\n\n                        return data?.data.find(\n                            (item: ICategory) => item.id === value,\n                        )?.title;\n                    }}\n                />\n                <Table.Column\n                    dataIndex=\"createdAt\"\n                    title=\"createdAt\"\n                    render={(value) => <DateField format=\"LLL\" value={value} />}\n                />\n            </Table>\n        </List>\n    );\n};\n\nexport default App;\n\ninterface IPost {\n  title: string;\n  createdAt: string;\n  category: { id: number };\n}\n\ninterface ICategory {\n  id: number;\n  title: string;\n}\n\n```\n\nNow, you should see the output as a table populated with `post` & `category` data:\n![First example result](https://github.com/pankod/refine/blob/master/documentation/static/img/first-example-result.png?raw=true)\n## Next Steps\n\n👉 Jump to [Refine<>Ant Design Tutorial](https://refine.dev/docs/ui-frameworks/antd/tutorial/) to continue your work and turn the example into a full-blown CRUD application.\n\n👉 Check out the [Refine<>Tailwind Tutorial](https://refine.dev/docs/ui-frameworks/antd/tutorial/) to learn how to use **refine** in a pure *headless* way.\n\n👉 Visit [Learn the Basics Page](https://refine.dev/docs/getting-started/basics/) to get informed about the fundemental concepts.\n\n👉 Read more on [Guides & Concepts](https://refine.dev/docs/guides-and-concepts/access-control/) for different usage scenarios.\n\n👉 See the real-life [Finefoods Demo](https://refine.dev/demo/) project.\n\n👉 Play with interactive [Examples](https://refine.dev/docs/examples/tutorial/headless-tutorial/)\n\n## Roadmap\nYou can find refine's <a href=\"https://github.com/pankod/refine/projects/1\">Public Roadmap here!</a> \n\n## Stargazers\n\n[![Stargazers repo roster for pankod/refine](https://reporoster.com/stars/pankod/refine)](https://github.com/pankod/refine/stargazers)\n\n## Contribution\n\nIf you have a bug to report, do not hesitate to file an issue.\n\nIf you are willing to fix an issue or propose a feature; all PRs with clear explanations are welcome and encouraged.\n\n## License\n\nLicensed under the MIT License, Copyright © 2021-present Pankod\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/pankod/refine/issues"},"homepage":"https://github.com/pankod/refine#readme","_id":"@pankod/refine-core@3.61.1","_nodeVersion":"16.17.0","_npmVersion":"8.15.0","dist":{"integrity":"sha512-62XVmS+tkbbkacIbBeH1rs69iPMKNaggf5EdG50SxxPaI0Bpporw5pbPb8Jv3GOaqrlE50BU60nBG4/gglzptw==","shasum":"aae79880c6b981c6a77006006a0dd09c65bab221","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.61.1.tgz","fileCount":245,"unpackedSize":1883445,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD2pCWBrvxIs+cTfFooxVRdMqtx4mukudfmjEzkx71sxgIhAP5w7ZRCZgNLi0cL2MqFfhBkWn4a1XZDsEew/izhWbMu"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjDK9sACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqcSg//T+Hg9F2lmy37uO67gzNbalwLFs1Nk8KBq/op2nskBqcSn5Ip\r\nfdWowclnhAtcXV2BcM4n33jblMFg5nHnDtv8v8zUpDGJSjfeXJl6llBiJaHJ\r\neWyPUKobhuY+q66GnTuw1oaQO2Vvu98GX5GPFcKYlW8js5NVOhG9BxjWhxVP\r\nyAUEz43uH6rONe+aJZUdsifFtmoDMhSfBtjBTbLNLvV+/QJJzFmA0RBKWmz8\r\n5Y06JRZv9J/pahhi7kVfvhj8GcOmBg7/EmbfmfYH2J1LivEeJDgJBFe+ig91\r\nd3X7iHvuREeGZ0Ps3mgplU14Enck7KXQyWjRYj4ZUnQXm+fPeKjVxtJXAQ1S\r\nKxecO96XNoToRxpzmjKJD1EmrGiX3Mfk7L3Wy5lNsL2tefLTItFYC4LbSyAy\r\niLAqWduVWyyRvKogRbOLHRj0A1GFNDDGHYOIi83sJrLy+hMq6pC+X7MZKGyo\r\nwwF7Kx4F7SuNp3MLbHeMlqgUDagAxRJLPgtj/0K/piPSwampq+f8CytrLk/D\r\nM7Fz4vBhHVS08gtoAUUiQDSoSUMpxvPnBoG4e7ghaz2KaN/qwY5xWc/gJ9Ry\r\nxc7tPROjN16xKGA5hstT1DZ7a5tFcsAZYercFud4NPD+hYBR+jD8iowFnS3M\r\nts46J4igP+4EE9Ip8pY+3+JNcjwIeW9hdfw=\r\n=Y30+\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"aydinakyol","email":"aydinakyol11@gmail.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.61.1_1661775723874_0.8931833463514705"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.62.1":{"name":"@pankod/refine-core","version":"3.62.1","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --dts --format esm,cjs,iife --legacy-output","build":"tsup --dts --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0","@types/react":"^17.0.0 || ^18.0.0","@types/react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.16.4","@testing-library/react":"^13.1.1","@testing-library/react-hooks":"^8.0.0","@testing-library/user-event":"^14.1.1","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^18.0.0","@types/react-dom":"^18.0.0","@types/react-router-dom":"^5.1.8","@types/testing-library__jest-dom":"^5.14.3","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"^6.0.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.7.4"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","decamelize":"^5.0.0","lodash-es":"^4.17.21","lodash":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","@tanstack/react-query-devtools":"^4.0.10","@tanstack/react-query":"^4.0.10","tslib":"^2.3.1","warn-once":"^0.1.0","jose":"^4.8.3"},"repository":{"type":"git","url":"git+https://github.com/pankod/refine.git","directory":"packages/core"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"17dd5af3e4c9f7f09e1e707362c6f5a9d1cab8a8","publishConfig":{"access":"public"},"bugs":{"url":"https://github.com/pankod/refine/issues"},"homepage":"https://github.com/pankod/refine#readme","_id":"@pankod/refine-core@3.62.1","_nodeVersion":"16.16.0","_npmVersion":"8.11.0","dist":{"integrity":"sha512-Q1knSEJ5c/SRcY3FR3lVW7zSEkoTKZ4bY3FoRtRfQq+NW9lsMLlRf5N66Qi3xVxSDdCHUp1MD7SbMi//dcbFgQ==","shasum":"e41b88cb8f933024b2eb9396161ad27ee2d8855a","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.62.1.tgz","fileCount":245,"unpackedSize":1884830,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEDKGEqxwwCR80hD4x7puOmcvTZK8elYASvebPSCxy8JAiBzf4ReLg51pVYUPQRI3wo7v4g2RyF1mYdR3/D0dyvasQ=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjDMf1ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmptsg//TUrB8K2zJkQroCdHvl9S0OBz7ZxvkLyxZSD40mbgpXmOAhrt\r\njr38inhEy47dIshimlb+0REV8EFuSuAytIWE2V3Cxjx+G46ORTzMuCYCfQWA\r\nGJiD+lVxxEq+fMC0WRqIVHfbkAtmYUUY4kqExrMMJVv5jYxY8bDJGAdLOJ8U\r\nlJCI9RKIyRN4mtoePCJZZqcBGJ6yK4zi2k5HOm/s17/KG9dqVdXdTWYsiFw5\r\nR0yfd0CApDLWqr68JVuUjc0VElfH87uJv6whq4JuFBTC/OQVfvnykTHxHImd\r\neRrbpVCbY4wOk5CZPlnU41oNGJ/PIEPzgX6sIP+/aWmyFksb2zGCsvMnu7An\r\n6ySsZP+rmRLynBsY1Z6JOGrW+d6Uv2gxE8I9rX2HA/9p1T53uQw+pO4gocOV\r\n0IdpsX8LGMnyOLZm5HPIwUXgYOKWELlqdTRN9yQRnlxSZ3cfpdSz153gSQdz\r\nK+/uf0VvJYLSn2fFNhJNw77c8UJRMwY0Q5YiVG5+EHfnRy3Swef0I49Bv/SD\r\neLc/cJX/Sxfn0osHObTKXnqXis7ATmbX8JomWVerCTR0LXFM1Lckt+SYf1B7\r\nXDqBeYVlOoiUMdeQVK+pm/Ducg6bWHxxTF/yY8NHYNLWKVw20LNBZtK1Iwfu\r\nzboCtOYB3cNPEr8OEaUXfnuhJZC0zJYulN8=\r\n=DPZd\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"aydinakyol","email":"aydinakyol11@gmail.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.62.1_1661782004959_0.2558546176758425"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.63.0":{"name":"@pankod/refine-core","version":"3.63.0","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --dts --format esm,cjs,iife --legacy-output","build":"tsup --dts --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0","@types/react":"^17.0.0 || ^18.0.0","@types/react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.16.4","@testing-library/react":"^13.1.1","@testing-library/react-hooks":"^8.0.0","@testing-library/user-event":"^14.1.1","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^18.0.0","@types/react-dom":"^18.0.0","@types/react-router-dom":"^5.1.8","@types/testing-library__jest-dom":"^5.14.3","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"^6.0.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.7.4"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","decamelize":"^5.0.0","lodash-es":"^4.17.21","lodash":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","@tanstack/react-query-devtools":"^4.0.10","@tanstack/react-query":"^4.0.10","tslib":"^2.3.1","warn-once":"^0.1.0","jose":"^4.8.3"},"repository":{"type":"git","url":"git+https://github.com/pankod/refine.git","directory":"packages/core"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"17dd5af3e4c9f7f09e1e707362c6f5a9d1cab8a8","publishConfig":{"access":"public"},"readme":"<div align=\"center\" style=\"margin: 30px;\">\n<a href=\"https://refine.dev/\">\n  <img src=\"https://raw.githubusercontent.com/pankod/refine/master/logo.png\"   style=\"width:250px;\" align=\"center\" />\n</a>\n<br />\n<br />\n\n<div align=\"center\">\n    <a href=\"https://refine.dev\">Home Page</a> |\n    <a href=\"https://refine.dev/demo/\">Demo</a> | \n    <a href=\"https://refine.dev/blog/\">Blog</a> | \n    <a href=\"https://refine.dev/docs/\">Documentation</a> | \n    <a href=\"https://github.com/pankod/refine/projects/1\">Roadmap</a> | \n    <a href=\"https://refine.dev/docs/examples/tutorial/\">Examples</a> | \n    <a href=\"https://refine.dev/enterprise/\">Enterprise</a> | \n    <a href=\"https://discord.gg/refine\">Discord</a>\n</div>\n\n</div>\n<br/>\n\n<div align=\"center\"><strong>Build your <a href=\"https://reactjs.org/\">React</a>-based CRUD applications, without constraints.</strong><br>Open source, headless web application framework developed with flexibility in mind.</div>\n\n<br />\n\n<div align=\"center\">\n\n[![Discord](https://img.shields.io/discord/837692625737613362.svg?label=&logo=discord&logoColor=ffffff&color=7389D8&labelColor=6A7EC2)](https://discord.gg/refine)\n[![Twitter Follow](https://img.shields.io/twitter/follow/refine_dev?style=social)](https://twitter.com/refine_dev)\n\n<a href=\"https://www.producthunt.com/posts/refine-open-source-react-framework?utm_source=badge-featured&utm_medium=badge&utm_souce=badge-refine-open-source-react-framework\" target=\"_blank\"><img src=\"https://api.producthunt.com/widgets/embed-image/v1/featured.svg?post_id=319164&theme=light\" alt=\"refine: Open Source React Framework - Focus your business logic. refine will do the rest. | Product Hunt\" style=\"width: 250px; height: 54px;\" width=\"250\" height=\"54\" /></a>\n\n[![Meercode CI Score](https://meercode.io/badge/pankod/refine?type=ci-score&branch=master&token=2ZiT8YsoJgt57JB23NYwXrFY3rJHZboT&lastDay=31)](https://meercode.io/)\n[![Meercode CI Success Rate](https://meercode.io/badge/pankod/refine?type=ci-success-rate&branch=master&token=2ZiT8YsoJgt57JB23NYwXrFY3rJHZboT&lastDay=31)](https://meercode.io/)\n[![Maintainability](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/maintainability)](https://codeclimate.com/github/pankod/refine/maintainability)\n[![Test Coverage](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/test_coverage)](https://codeclimate.com/github/pankod/refine/test_coverage)\n[![npm version](https://img.shields.io/npm/v/@pankod/refine-core.svg)](https://www.npmjs.com/package/@pankod/refine-core)\n[![npm](https://img.shields.io/npm/dm/@pankod/refine-core)](https://www.npmjs.com/package/@pankod/refine-core)\n[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.0-4baaaa.svg)](code_of_conduct.md)\n</div>\n\n<div align=\"center\" style=\"margin: 30px;\">\n  <img src=\"https://github.com/pankod/refine/blob/master/documentation/static/img/refine-promo-gif.gif?raw=true\" style=\"width:688px;\"/>\n</div>\n\n\n## What is refine?\n**refine** is a React-based framework for rapid ✨ development of web applications. \nIt eliminates the repetitive tasks demanded by **CRUD** operations and provides industry standard solutions for critical parts like **authentication**, **access control**, **routing**, **networking**, **state management** and **i18n**.\n\n**refine** is *headless by design* offering unlimited styling and customization options. \n\n## What do you mean by \"headless\" ?\nInstead of being a limited set of pre-styled components, **refine** is a collection of helper `hooks`, `components` and `providers`. They are all decoupled from your *UI components* and *business logic*, so they never keep you from customizing your *UI* or coding your own flow.\n\n**refine** seamlessly works with any **custom design** or **UI framework you favor**. For convenience, it ships with ready-made integrations for [Ant Design System](https://ant.design/) and [Material UI](https://mui.com/).\n\n## Use cases\n**refine** shines on *data-intensive* applications like *admin panels*, *dashboards* and *internal tools*. Thanks to built-in **SSR support**, **refine** can also power *customer-facing* applications like *storefronts*.\n\n## Key Features\n\n⚙️ Zero-config, **one-minute setup** with a **single CLI command**\n\n🔌 Connectors for **15+ backend services** including [REST API](https://github.com/pankod/refine/tree/master/packages/simple-rest), [GraphQL](https://github.com/pankod/refine/tree/master/packages/graphql), [NestJs CRUD](https://github.com/pankod/refine/tree/master/packages/nestjsx-crud), [Airtable](https://github.com/pankod/refine/tree/master/packages/airtable), [Strapi](https://github.com/pankod/refine/tree/master/packages/strapi), [Strapi v4](https://github.com/pankod/refine/tree/master/packages/strapi-v4), [Strapi GraphQL](https://github.com/pankod/refine/tree/master/packages/strapi-graphql), [Supabase](https://github.com/pankod/refine/tree/master/packages/supabase), [Hasura](https://github.com/pankod/refine/tree/master/packages/hasura), [Nhost](https://github.com/pankod/refine/tree/master/packages/nhost), [Appwrite](https://github.com/pankod/refine/tree/master/packages/appwrite), [Firebase](https://firebase.google.com/), [Directus](https://directus.io/) and [Altogic](https://github.com/pankod/refine/tree/master/packages/altogic)\n\n🌐 **SSR support** with **Next.js** or **Remix**\n\n⚛ Perfect **state management** & **mutations** with **React Query**\n\n🔀 **Advanced routing** with any router library of your choice\n\n🔐 Providers for seamless **authentication** and **access control** flows\n\n⚡ Out-of-the-box support for **live / real-time applications**\n\n📄 Easy **audit logs** &** **document versioning**\n\n💬 Support for any **i18n** framework\n\n💪 Future-proof, **robust architecture**\n\n✅ Full **test coverage**\n\n## Quick Start\n\nThe fastest way to get started with **refine** is using the [superplate](https://github.com/pankod/superplate) project starter tool.\nRun the following command to create a new **refine** project configured with  [Ant Design System](https://ant.design/) as the default UI framework:\n\n```\nnpx superplate-cli --preset refine-antd my-project\n```\n\nOnce the setup is complete, navigate to the project folder and start your project with:\n\n```\nnpm run dev\n```\n\nYour **refine** application will be accessible at [http://localhost:3000](http://localhost:3000):\n![Welcome on board](https://github.com/pankod/refine/blob/master/documentation/static/img/welcome-on-board.png?raw=true)\nLet's consume a public `fake REST API` and add two resources (*posts*, *categories*) to our project. Replace the contents of `src/App.tsx` with the following code:\n\n```tsx title=\"src/App.tsx\"\n\nimport { Refine, useMany } from \"@pankod/refine-core\";\nimport {\n    useTable,\n    List,\n    Table,\n    DateField,\n    Layout,\n    ReadyPage,\n    notificationProvider,\n    ErrorComponent,\n} from \"@pankod/refine-antd\";\nimport routerProvider from \"@pankod/refine-react-router-v6\";\nimport dataProvider from \"@pankod/refine-simple-rest\";\n\nimport \"@pankod/refine-antd/dist/styles.min.css\";\n\nconst App: React.FC = () => {\n    return (\n        <Refine\n            routerProvider={routerProvider}\n            dataProvider={dataProvider(\"https://api.fake-rest.refine.dev\")}\n            resources={[{ name: \"posts\", list: PostList }]}\n            Layout={Layout}\n            ReadyPage={ReadyPage}\n            notificationProvider={notificationProvider}\n            catchAll={<ErrorComponent />}\n        />\n    );\n};\n\nexport const PostList: React.FC = () => {\n    const { tableProps } = useTable<IPost>();\n\n    const categoryIds =\n        tableProps?.dataSource?.map((item) => item.category.id) ?? [];\n\n    const { data, isLoading } = useMany<ICategory>({\n        resource: \"categories\",\n        ids: categoryIds,\n        queryOptions: {\n            enabled: categoryIds.length > 0,\n        },\n    });\n\n    return (\n        <List>\n            <Table<IPost> {...tableProps} rowKey=\"id\">\n                <Table.Column dataIndex=\"title\" title=\"title\" />\n                <Table.Column\n                    dataIndex={[\"category\", \"id\"]}\n                    title=\"category\"\n                    render={(value: number) => {\n                        if (isLoading) {\n                            return \"loading...\";\n                        }\n\n                        return data?.data.find(\n                            (item: ICategory) => item.id === value,\n                        )?.title;\n                    }}\n                />\n                <Table.Column\n                    dataIndex=\"createdAt\"\n                    title=\"createdAt\"\n                    render={(value) => <DateField format=\"LLL\" value={value} />}\n                />\n            </Table>\n        </List>\n    );\n};\n\nexport default App;\n\ninterface IPost {\n  title: string;\n  createdAt: string;\n  category: { id: number };\n}\n\ninterface ICategory {\n  id: number;\n  title: string;\n}\n\n```\n\nNow, you should see the output as a table populated with `post` & `category` data:\n![First example result](https://github.com/pankod/refine/blob/master/documentation/static/img/first-example-result.png?raw=true)\n## Next Steps\n\n👉 Jump to [Refine<>Ant Design Tutorial](https://refine.dev/docs/ui-frameworks/antd/tutorial/) to continue your work and turn the example into a full-blown CRUD application.\n\n👉 Check out the [Refine<>Tailwind Tutorial](https://refine.dev/docs/ui-frameworks/antd/tutorial/) to learn how to use **refine** in a pure *headless* way.\n\n👉 Visit [Learn the Basics Page](https://refine.dev/docs/getting-started/basics/) to get informed about the fundemental concepts.\n\n👉 Read more on [Guides & Concepts](https://refine.dev/docs/guides-and-concepts/access-control/) for different usage scenarios.\n\n👉 See the real-life [Finefoods Demo](https://refine.dev/demo/) project.\n\n👉 Play with interactive [Examples](https://refine.dev/docs/examples/tutorial/headless-tutorial/)\n\n## Roadmap\nYou can find refine's <a href=\"https://github.com/pankod/refine/projects/1\">Public Roadmap here!</a> \n\n## Stargazers\n\n[![Stargazers repo roster for pankod/refine](https://reporoster.com/stars/pankod/refine)](https://github.com/pankod/refine/stargazers)\n\n## Contribution\n\nIf you have a bug to report, do not hesitate to file an issue.\n\nIf you are willing to fix an issue or propose a feature; all PRs with clear explanations are welcome and encouraged.\n\n## License\n\nLicensed under the MIT License, Copyright © 2021-present Pankod\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/pankod/refine/issues"},"homepage":"https://github.com/pankod/refine#readme","_id":"@pankod/refine-core@3.63.0","_nodeVersion":"16.17.0","_npmVersion":"8.15.0","dist":{"integrity":"sha512-LHe4X0igC1FftPR+fbuPeye55kHtmZAynMgvbMKFD4Y1N5XX28XEN6qCwdcsL6JVvTuVOkE7czYci0PpV1UV4A==","shasum":"f1574c14f0442f86b5ad0045dcdd6df353a4cfd8","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.63.0.tgz","fileCount":245,"unpackedSize":1894306,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCGg5tzrZLwUatdma5wooZRKqvkLd6yHWhX5cN1kLusRgIhAJ7BkilFH5Mg41NnnfYA2EZUDJ/OEdSssTOv2SMi9zHn"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjD2+QACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoS6Q//crCUAP8OZlv+VMBXgwImY4cfdKtYX35vtLM396wutQx9ytcq\r\nhrlEZ5yAknGGxhg76Bv2lZwx6eVU8ndyxxjVlbxklNQ5A7YTA1is31R2EtOb\r\nbt2pF8w6iKP6rBe4qWwAH4gUzKN/bmuA51UsDaersO5XwIsYww5Heq2d4JR4\r\nXPsrUZHUq1csf0JuENYVrRRK2XJFxPMzC2GKAZx4pCKDpyDIUm37/Y3Oyd9m\r\nuEqndTsE17T+2AI0Sv3qhuVp/zikabHp5OyYJwc1Zb6rzsaBia9MUAI/1ufV\r\nWSVURhNTcKJTZ4Ipy7WP7JO3BEpxvJ/HmGvsznQrVUR/gcVH91Ge17f7qsk8\r\n0vGeU1NR5X1fPFAQCt86JhaU9j/mHMq6HQOPfvbVL4ehNVPN/fBa7CnAdL1K\r\nnLOzxDjfZ2oiokJ16BI1YfHAGqz2ZWZDWgLJE61/G1mM8/VT0M4546hCeYMV\r\nf7Z5FJsWDLlwPX1dL0T2tx0HG+ixQc6zs8PteIJXhgA92fu+wKWuqf66mzMC\r\n0J5/fe3Brj/vEtOK0lgJZMdq7Pi1JHKyunWSlmOP2LXxtzVwEIHqtgfowOJx\r\nh+zW3/WDwVZKTK1xAMGb6pQHLhdtMZbrgG4TVogEkMb02CeCMVIp0CwwXX8X\r\nh3V0uSxor9ZdOkSrzDEgn0L9tGUUySD3xJc=\r\n=zFqV\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"aydinakyol","email":"aydinakyol11@gmail.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.63.0_1661955983744_0.1204859852237512"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.64.0":{"name":"@pankod/refine-core","version":"3.64.0","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --dts --format esm,cjs,iife --legacy-output","build":"tsup --dts --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0","@types/react":"^17.0.0 || ^18.0.0","@types/react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.16.4","@testing-library/react":"^13.1.1","@testing-library/react-hooks":"^8.0.0","@testing-library/user-event":"^14.1.1","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^18.0.0","@types/react-dom":"^18.0.0","@types/react-router-dom":"^5.1.8","@types/testing-library__jest-dom":"^5.14.3","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"^6.0.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.7.4"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","decamelize":"^5.0.0","lodash-es":"^4.17.21","lodash":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","@tanstack/react-query-devtools":"^4.0.10","@tanstack/react-query":"^4.0.10","tslib":"^2.3.1","warn-once":"^0.1.0","jose":"^4.8.3"},"repository":{"type":"git","url":"git+https://github.com/pankod/refine.git","directory":"packages/core"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"17dd5af3e4c9f7f09e1e707362c6f5a9d1cab8a8","publishConfig":{"access":"public"},"bugs":{"url":"https://github.com/pankod/refine/issues"},"homepage":"https://github.com/pankod/refine#readme","_id":"@pankod/refine-core@3.64.0","_nodeVersion":"16.17.0","_npmVersion":"8.15.0","dist":{"integrity":"sha512-3oCMFSVzM0BjRwQzYl4pyJLwt4O72Qas+GwYM4S13NM16+FO66eYr2+ZJ1/ZKaFOp/Fqv9Bnz1LiEwtzX+Y1mQ==","shasum":"d702f196b03c5fcf6098314f8222b960fe007158","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.64.0.tgz","fileCount":245,"unpackedSize":1894863,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEMdaWYeIYaFaaGQtHzDYJl2HJ9U2ygqKknx4OjA9JgeAiEA3nxgbr2zM34JK9oAp2vuPmUHxsVPRuVditOOZKNGsMU="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjD3PFACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr7BQ//W/Dd97DIVh/ispt4hdAETQBC/IlEzK886Dat8uDUeLrj3yLB\r\ny9/9pPnZbvaoLcjuEa9+j5eTkIv1yWzph2YBg89gezTN23WXKrSgi/U3RRFi\r\nw5MXqgTFp7acItW+hA93c0rt4d7YdqMZy5YROxwmFl1zShrC1Su3V7935vrN\r\nFY7IllRCfLGPfoXreOtuPYo/ha2tAkpOsITwQ+yIomlytBor9GdBPINN8m7M\r\nLhM2MZc1J5GrI5+iEZfkxgtkp0pIQHAZnRLPXLR7itHF6m7Sm/JJigJjnwGn\r\nwH2KKtOdd2P5tAkVSvK4GSQvGlcz1yIZn/04IpDm2aFXG6HAtJxRd2PR6GFu\r\nzdOS6WZbd91Jn0BGLcEgBXazuKCqh1hvzeYWpx4bBoBwEhYY59NBTLOAgrUj\r\n51So2xny4tuxhU0OlSMCip2sJpALYIUNLkuePBXlY5fLN4PXC4uz9bqpTpqC\r\nh60v401C6VU7gYxHceQ8J2aglSPulRyqv5v6CtDh03eX0N/05Z/OWF1UVvRE\r\n6UwTmQXHVXfyFGihS7XZTdo8KRdB3aAV/nF77f3q6+Dk0ud92X8ouJuS+CZc\r\nM0aQ5FVBViYW0mSH3x3Vj2dhIvEzNd5MRelGsbLF15MxSsdE6PHzp86gVMpX\r\nC0jpvK6N+ilTjJVE+/gEdp4agLDoaaE5IWY=\r\n=z02D\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"aydinakyol","email":"aydinakyol11@gmail.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.64.0_1661957061503_0.5644734732013028"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.64.1":{"name":"@pankod/refine-core","version":"3.64.1","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --dts --format esm,cjs,iife --legacy-output","build":"tsup --dts --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0","@types/react":"^17.0.0 || ^18.0.0","@types/react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.16.4","@testing-library/react":"^13.1.1","@testing-library/react-hooks":"^8.0.0","@testing-library/user-event":"^14.1.1","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^18.0.0","@types/react-dom":"^18.0.0","@types/react-router-dom":"^5.1.8","@types/testing-library__jest-dom":"^5.14.3","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"^6.0.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.7.4"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","decamelize":"^5.0.0","lodash-es":"^4.17.21","lodash":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","@tanstack/react-query-devtools":"^4.0.10","@tanstack/react-query":"^4.0.10","tslib":"^2.3.1","warn-once":"^0.1.0","jose":"^4.8.3"},"repository":{"type":"git","url":"git+https://github.com/pankod/refine.git","directory":"packages/core"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"17dd5af3e4c9f7f09e1e707362c6f5a9d1cab8a8","publishConfig":{"access":"public"},"readme":"<div align=\"center\" style=\"margin: 30px;\">\n<a href=\"https://refine.dev/\">\n  <img src=\"https://raw.githubusercontent.com/pankod/refine/master/logo.png\"   style=\"width:250px;\" align=\"center\" />\n</a>\n<br />\n<br />\n\n<div align=\"center\">\n    <a href=\"https://refine.dev\">Home Page</a> |\n    <a href=\"https://refine.dev/demo/\">Demo</a> | \n    <a href=\"https://refine.dev/blog/\">Blog</a> | \n    <a href=\"https://refine.dev/docs/\">Documentation</a> | \n    <a href=\"https://github.com/pankod/refine/projects/1\">Roadmap</a> | \n    <a href=\"https://refine.dev/docs/examples/tutorial/\">Examples</a> | \n    <a href=\"https://refine.dev/enterprise/\">Enterprise</a> | \n    <a href=\"https://discord.gg/refine\">Discord</a>\n</div>\n\n</div>\n<br/>\n\n<div align=\"center\"><strong>Build your <a href=\"https://reactjs.org/\">React</a>-based CRUD applications, without constraints.</strong><br>Open source, headless web application framework developed with flexibility in mind.</div>\n\n<br />\n\n<div align=\"center\">\n\n[![Discord](https://img.shields.io/discord/837692625737613362.svg?label=&logo=discord&logoColor=ffffff&color=7389D8&labelColor=6A7EC2)](https://discord.gg/refine)\n[![Twitter Follow](https://img.shields.io/twitter/follow/refine_dev?style=social)](https://twitter.com/refine_dev)\n\n<a href=\"https://www.producthunt.com/posts/refine-open-source-react-framework?utm_source=badge-featured&utm_medium=badge&utm_souce=badge-refine-open-source-react-framework\" target=\"_blank\"><img src=\"https://api.producthunt.com/widgets/embed-image/v1/featured.svg?post_id=319164&theme=light\" alt=\"refine: Open Source React Framework - Focus your business logic. refine will do the rest. | Product Hunt\" style=\"width: 250px; height: 54px;\" width=\"250\" height=\"54\" /></a>\n\n[![Meercode CI Score](https://meercode.io/badge/pankod/refine?type=ci-score&branch=master&token=2ZiT8YsoJgt57JB23NYwXrFY3rJHZboT&lastDay=31)](https://meercode.io/)\n[![Meercode CI Success Rate](https://meercode.io/badge/pankod/refine?type=ci-success-rate&branch=master&token=2ZiT8YsoJgt57JB23NYwXrFY3rJHZboT&lastDay=31)](https://meercode.io/)\n[![Maintainability](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/maintainability)](https://codeclimate.com/github/pankod/refine/maintainability)\n[![Test Coverage](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/test_coverage)](https://codeclimate.com/github/pankod/refine/test_coverage)\n[![npm version](https://img.shields.io/npm/v/@pankod/refine-core.svg)](https://www.npmjs.com/package/@pankod/refine-core)\n[![npm](https://img.shields.io/npm/dm/@pankod/refine-core)](https://www.npmjs.com/package/@pankod/refine-core)\n[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.0-4baaaa.svg)](code_of_conduct.md)\n</div>\n\n<div align=\"center\" style=\"margin: 30px;\">\n  <img src=\"https://github.com/pankod/refine/blob/master/documentation/static/img/refine-promo-gif.gif?raw=true\" style=\"width:688px;\"/>\n</div>\n\n\n## What is refine?\n**refine** is a React-based framework for rapid ✨ development of web applications. \nIt eliminates the repetitive tasks demanded by **CRUD** operations and provides industry standard solutions for critical parts like **authentication**, **access control**, **routing**, **networking**, **state management** and **i18n**.\n\n**refine** is *headless by design* offering unlimited styling and customization options. \n\n## What do you mean by \"headless\" ?\nInstead of being a limited set of pre-styled components, **refine** is a collection of helper `hooks`, `components` and `providers`. They are all decoupled from your *UI components* and *business logic*, so they never keep you from customizing your *UI* or coding your own flow.\n\n**refine** seamlessly works with any **custom design** or **UI framework you favor**. For convenience, it ships with ready-made integrations for [Ant Design System](https://ant.design/) and [Material UI](https://mui.com/).\n\n## Use cases\n**refine** shines on *data-intensive* applications like *admin panels*, *dashboards* and *internal tools*. Thanks to built-in **SSR support**, **refine** can also power *customer-facing* applications like *storefronts*.\n\n## Key Features\n\n⚙️ Zero-config, **one-minute setup** with a **single CLI command**\n\n🔌 Connectors for **15+ backend services** including [REST API](https://github.com/pankod/refine/tree/master/packages/simple-rest), [GraphQL](https://github.com/pankod/refine/tree/master/packages/graphql), [NestJs CRUD](https://github.com/pankod/refine/tree/master/packages/nestjsx-crud), [Airtable](https://github.com/pankod/refine/tree/master/packages/airtable), [Strapi](https://github.com/pankod/refine/tree/master/packages/strapi), [Strapi v4](https://github.com/pankod/refine/tree/master/packages/strapi-v4), [Strapi GraphQL](https://github.com/pankod/refine/tree/master/packages/strapi-graphql), [Supabase](https://github.com/pankod/refine/tree/master/packages/supabase), [Hasura](https://github.com/pankod/refine/tree/master/packages/hasura), [Nhost](https://github.com/pankod/refine/tree/master/packages/nhost), [Appwrite](https://github.com/pankod/refine/tree/master/packages/appwrite), [Firebase](https://firebase.google.com/), [Directus](https://directus.io/) and [Altogic](https://github.com/pankod/refine/tree/master/packages/altogic)\n\n🌐 **SSR support** with **Next.js** or **Remix**\n\n⚛ Perfect **state management** & **mutations** with **React Query**\n\n🔀 **Advanced routing** with any router library of your choice\n\n🔐 Providers for seamless **authentication** and **access control** flows\n\n⚡ Out-of-the-box support for **live / real-time applications**\n\n📄 Easy **audit logs** &** **document versioning**\n\n💬 Support for any **i18n** framework\n\n💪 Future-proof, **robust architecture**\n\n✅ Full **test coverage**\n\n## Quick Start\n\nThe fastest way to get started with **refine** is using the [superplate](https://github.com/pankod/superplate) project starter tool.\nRun the following command to create a new **refine** project configured with  [Ant Design System](https://ant.design/) as the default UI framework:\n\n```\nnpx superplate-cli --preset refine-antd my-project\n```\n\nOnce the setup is complete, navigate to the project folder and start your project with:\n\n```\nnpm run dev\n```\n\nYour **refine** application will be accessible at [http://localhost:3000](http://localhost:3000):\n![Welcome on board](https://github.com/pankod/refine/blob/master/documentation/static/img/welcome-on-board.png?raw=true)\nLet's consume a public `fake REST API` and add two resources (*posts*, *categories*) to our project. Replace the contents of `src/App.tsx` with the following code:\n\n```tsx title=\"src/App.tsx\"\n\nimport { Refine, useMany } from \"@pankod/refine-core\";\nimport {\n    useTable,\n    List,\n    Table,\n    DateField,\n    Layout,\n    ReadyPage,\n    notificationProvider,\n    ErrorComponent,\n} from \"@pankod/refine-antd\";\nimport routerProvider from \"@pankod/refine-react-router-v6\";\nimport dataProvider from \"@pankod/refine-simple-rest\";\n\nimport \"@pankod/refine-antd/dist/styles.min.css\";\n\nconst App: React.FC = () => {\n    return (\n        <Refine\n            routerProvider={routerProvider}\n            dataProvider={dataProvider(\"https://api.fake-rest.refine.dev\")}\n            resources={[{ name: \"posts\", list: PostList }]}\n            Layout={Layout}\n            ReadyPage={ReadyPage}\n            notificationProvider={notificationProvider}\n            catchAll={<ErrorComponent />}\n        />\n    );\n};\n\nexport const PostList: React.FC = () => {\n    const { tableProps } = useTable<IPost>();\n\n    const categoryIds =\n        tableProps?.dataSource?.map((item) => item.category.id) ?? [];\n\n    const { data, isLoading } = useMany<ICategory>({\n        resource: \"categories\",\n        ids: categoryIds,\n        queryOptions: {\n            enabled: categoryIds.length > 0,\n        },\n    });\n\n    return (\n        <List>\n            <Table<IPost> {...tableProps} rowKey=\"id\">\n                <Table.Column dataIndex=\"title\" title=\"title\" />\n                <Table.Column\n                    dataIndex={[\"category\", \"id\"]}\n                    title=\"category\"\n                    render={(value: number) => {\n                        if (isLoading) {\n                            return \"loading...\";\n                        }\n\n                        return data?.data.find(\n                            (item: ICategory) => item.id === value,\n                        )?.title;\n                    }}\n                />\n                <Table.Column\n                    dataIndex=\"createdAt\"\n                    title=\"createdAt\"\n                    render={(value) => <DateField format=\"LLL\" value={value} />}\n                />\n            </Table>\n        </List>\n    );\n};\n\nexport default App;\n\ninterface IPost {\n  title: string;\n  createdAt: string;\n  category: { id: number };\n}\n\ninterface ICategory {\n  id: number;\n  title: string;\n}\n\n```\n\nNow, you should see the output as a table populated with `post` & `category` data:\n![First example result](https://github.com/pankod/refine/blob/master/documentation/static/img/first-example-result.png?raw=true)\n## Next Steps\n\n👉 Jump to [Refine<>Ant Design Tutorial](https://refine.dev/docs/ui-frameworks/antd/tutorial/) to continue your work and turn the example into a full-blown CRUD application.\n\n👉 Check out the [Refine<>Tailwind Tutorial](https://refine.dev/docs/ui-frameworks/antd/tutorial/) to learn how to use **refine** in a pure *headless* way.\n\n👉 Visit [Learn the Basics Page](https://refine.dev/docs/getting-started/basics/) to get informed about the fundemental concepts.\n\n👉 Read more on [Guides & Concepts](https://refine.dev/docs/guides-and-concepts/access-control/) for different usage scenarios.\n\n👉 See the real-life [Finefoods Demo](https://refine.dev/demo/) project.\n\n👉 Play with interactive [Examples](https://refine.dev/docs/examples/tutorial/headless-tutorial/)\n\n## Roadmap\nYou can find refine's <a href=\"https://github.com/pankod/refine/projects/1\">Public Roadmap here!</a> \n\n## Stargazers\n\n[![Stargazers repo roster for pankod/refine](https://reporoster.com/stars/pankod/refine)](https://github.com/pankod/refine/stargazers)\n\n## Contribution\n\nIf you have a bug to report, do not hesitate to file an issue.\n\nIf you are willing to fix an issue or propose a feature; all PRs with clear explanations are welcome and encouraged.\n\n## License\n\nLicensed under the MIT License, Copyright © 2021-present Pankod\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/pankod/refine/issues"},"homepage":"https://github.com/pankod/refine#readme","_id":"@pankod/refine-core@3.64.1","_nodeVersion":"16.17.0","_npmVersion":"8.15.0","dist":{"integrity":"sha512-8W7FB0kIbthDYpY2lRiXU+zFwvIoHCinqSY1Kwrul9TT8hV/94BnjD9+j5cPUcMu6LOMTHG/G19TervQQZBSCw==","shasum":"b399c13f4f8fdcfa712a9dae56893cd1a05fb546","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.64.1.tgz","fileCount":257,"unpackedSize":2058982,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDFoO2XXKb3aRQHmyIY8EJxNJLZaaL8nxwrGvgXhe+ZZAIgOIzCpxOVNbVnFaGCWHREXMfG73m6oNCmLBUV4cjLb74="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjELHcACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoaCw/8Cjz3HHhx/rhR3EJXRmK/VmAk6IRt02d2xoDROP2Zmrm7XdJB\r\nu2fkba1h5FlIvjz4/Med7ClNSqG41JTUe8/Lt7sMjYad8OabtmUOzNc/eMEf\r\n52G0GeWHihT5XcAK3ryChgVvig0p+KNbSAzmocVvOglKNW4LgpWTvBdDyiFp\r\ng5PyvvS010yPkSow6qY9+q5ucsg/oYQMCzGuklvLA2eE2bVc35WhJ25+z9Oh\r\nA+d/29g9YC6KwCkSZi6VkA9e2FwMQ6vy9ih1zcR1YH66s0zff0BEzKZ7qtUs\r\npOGdl6oEs48rxZI3p6PPpbpLT1uEArUDD2QEgVAmgXYiGw5ehY0PId9mRNQ3\r\nuxwha/rPvtq3UreUsheGx4YnW5Hub7vtUSZBvtmJsQkkvcisvJ7pLb0fR6tf\r\nUrp/t4r1oufLB4AhXDOpM7DtR0dsFgqqKntugpHrI5UvE8i7tTFNc9zwn+/o\r\nItlCaEOQz7AOYHuWJgrRwiFr2u2V1XSDrxoehcf8WPTIXaRsdxgVbl+8HeCS\r\naR9Mw4O5OpIo+p8QUUD+9yJb0ITdJBgNKkm3TlENCXQ6jtK4LzlzwIMQYTu6\r\nsih3VX/y8ttViCMkMTMkm1x7MjQNBYbUiyMcztzLj4Y0XuMQ2U/ZbLW8T+an\r\nWitzJQ02D2EDb9xzAudEYN7Kb0MaCX/gFHc=\r\n=7imZ\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"aydinakyol","email":"aydinakyol11@gmail.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.64.1_1662038492546_0.20924337166461826"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.64.2":{"name":"@pankod/refine-core","version":"3.64.2","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --dts --format esm,cjs,iife --legacy-output","build":"tsup --dts --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0","@types/react":"^17.0.0 || ^18.0.0","@types/react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.16.4","@testing-library/react":"^13.1.1","@testing-library/react-hooks":"^8.0.0","@testing-library/user-event":"^14.1.1","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^18.0.0","@types/react-dom":"^18.0.0","@types/react-router-dom":"^5.1.8","@types/testing-library__jest-dom":"^5.14.3","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"^6.0.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.7.4"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","decamelize":"^5.0.0","lodash-es":"^4.17.21","lodash":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","@tanstack/react-query-devtools":"^4.0.10","@tanstack/react-query":"^4.0.10","tslib":"^2.3.1","warn-once":"^0.1.0","jose":"^4.8.3"},"repository":{"type":"git","url":"git+https://github.com/pankod/refine.git","directory":"packages/core"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"17dd5af3e4c9f7f09e1e707362c6f5a9d1cab8a8","publishConfig":{"access":"public"},"readme":"<div align=\"center\" style=\"margin: 30px;\">\n<a href=\"https://refine.dev/\">\n  <img src=\"https://raw.githubusercontent.com/pankod/refine/master/logo.png\"   style=\"width:250px;\" align=\"center\" />\n</a>\n<br />\n<br />\n\n<div align=\"center\">\n    <a href=\"https://refine.dev\">Home Page</a> |\n    <a href=\"https://refine.dev/demo/\">Demo</a> | \n    <a href=\"https://refine.dev/blog/\">Blog</a> | \n    <a href=\"https://refine.dev/docs/\">Documentation</a> | \n    <a href=\"https://github.com/pankod/refine/projects/1\">Roadmap</a> | \n    <a href=\"https://refine.dev/docs/examples/tutorial/\">Examples</a> | \n    <a href=\"https://refine.dev/enterprise/\">Enterprise</a> | \n    <a href=\"https://discord.gg/refine\">Discord</a>\n</div>\n\n</div>\n<br/>\n\n<div align=\"center\"><strong>Build your <a href=\"https://reactjs.org/\">React</a>-based CRUD applications, without constraints.</strong><br>Open source, headless web application framework developed with flexibility in mind.</div>\n\n<br />\n\n<div align=\"center\">\n\n[![Discord](https://img.shields.io/discord/837692625737613362.svg?label=&logo=discord&logoColor=ffffff&color=7389D8&labelColor=6A7EC2)](https://discord.gg/refine)\n[![Twitter Follow](https://img.shields.io/twitter/follow/refine_dev?style=social)](https://twitter.com/refine_dev)\n\n<a href=\"https://www.producthunt.com/posts/refine-open-source-react-framework?utm_source=badge-featured&utm_medium=badge&utm_souce=badge-refine-open-source-react-framework\" target=\"_blank\"><img src=\"https://api.producthunt.com/widgets/embed-image/v1/featured.svg?post_id=319164&theme=light\" alt=\"refine: Open Source React Framework - Focus your business logic. refine will do the rest. | Product Hunt\" style=\"width: 250px; height: 54px;\" width=\"250\" height=\"54\" /></a>\n\n[![Meercode CI Score](https://meercode.io/badge/pankod/refine?type=ci-score&branch=master&token=2ZiT8YsoJgt57JB23NYwXrFY3rJHZboT&lastDay=31)](https://meercode.io/)\n[![Meercode CI Success Rate](https://meercode.io/badge/pankod/refine?type=ci-success-rate&branch=master&token=2ZiT8YsoJgt57JB23NYwXrFY3rJHZboT&lastDay=31)](https://meercode.io/)\n[![Maintainability](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/maintainability)](https://codeclimate.com/github/pankod/refine/maintainability)\n[![Test Coverage](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/test_coverage)](https://codeclimate.com/github/pankod/refine/test_coverage)\n[![npm version](https://img.shields.io/npm/v/@pankod/refine-core.svg)](https://www.npmjs.com/package/@pankod/refine-core)\n[![npm](https://img.shields.io/npm/dm/@pankod/refine-core)](https://www.npmjs.com/package/@pankod/refine-core)\n[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.0-4baaaa.svg)](code_of_conduct.md)\n</div>\n\n<div align=\"center\" style=\"margin: 30px;\">\n  <img src=\"https://github.com/pankod/refine/blob/master/documentation/static/img/refine-promo-gif.gif?raw=true\" style=\"width:688px;\"/>\n</div>\n\n\n## What is refine?\n**refine** is a React-based framework for rapid ✨ development of web applications. \nIt eliminates the repetitive tasks demanded by **CRUD** operations and provides industry standard solutions for critical parts like **authentication**, **access control**, **routing**, **networking**, **state management** and **i18n**.\n\n**refine** is *headless by design* offering unlimited styling and customization options. \n\n## What do you mean by \"headless\" ?\nInstead of being a limited set of pre-styled components, **refine** is a collection of helper `hooks`, `components` and `providers`. They are all decoupled from your *UI components* and *business logic*, so they never keep you from customizing your *UI* or coding your own flow.\n\n**refine** seamlessly works with any **custom design** or **UI framework you favor**. For convenience, it ships with ready-made integrations for [Ant Design System](https://ant.design/) and [Material UI](https://mui.com/).\n\n## Use cases\n**refine** shines on *data-intensive* applications like *admin panels*, *dashboards* and *internal tools*. Thanks to built-in **SSR support**, **refine** can also power *customer-facing* applications like *storefronts*.\n\n## Key Features\n\n⚙️ Zero-config, **one-minute setup** with a **single CLI command**\n\n🔌 Connectors for **15+ backend services** including [REST API](https://github.com/pankod/refine/tree/master/packages/simple-rest), [GraphQL](https://github.com/pankod/refine/tree/master/packages/graphql), [NestJs CRUD](https://github.com/pankod/refine/tree/master/packages/nestjsx-crud), [Airtable](https://github.com/pankod/refine/tree/master/packages/airtable), [Strapi](https://github.com/pankod/refine/tree/master/packages/strapi), [Strapi v4](https://github.com/pankod/refine/tree/master/packages/strapi-v4), [Strapi GraphQL](https://github.com/pankod/refine/tree/master/packages/strapi-graphql), [Supabase](https://github.com/pankod/refine/tree/master/packages/supabase), [Hasura](https://github.com/pankod/refine/tree/master/packages/hasura), [Nhost](https://github.com/pankod/refine/tree/master/packages/nhost), [Appwrite](https://github.com/pankod/refine/tree/master/packages/appwrite), [Firebase](https://firebase.google.com/), [Directus](https://directus.io/) and [Altogic](https://github.com/pankod/refine/tree/master/packages/altogic)\n\n🌐 **SSR support** with **Next.js** or **Remix**\n\n⚛ Perfect **state management** & **mutations** with **React Query**\n\n🔀 **Advanced routing** with any router library of your choice\n\n🔐 Providers for seamless **authentication** and **access control** flows\n\n⚡ Out-of-the-box support for **live / real-time applications**\n\n📄 Easy **audit logs** &** **document versioning**\n\n💬 Support for any **i18n** framework\n\n💪 Future-proof, **robust architecture**\n\n✅ Full **test coverage**\n\n## Quick Start\n\nThe fastest way to get started with **refine** is using the [superplate](https://github.com/pankod/superplate) project starter tool.\nRun the following command to create a new **refine** project configured with  [Ant Design System](https://ant.design/) as the default UI framework:\n\n```\nnpx superplate-cli --preset refine-antd my-project\n```\n\nOnce the setup is complete, navigate to the project folder and start your project with:\n\n```\nnpm run dev\n```\n\nYour **refine** application will be accessible at [http://localhost:3000](http://localhost:3000):\n![Welcome on board](https://github.com/pankod/refine/blob/master/documentation/static/img/welcome-on-board.png?raw=true)\nLet's consume a public `fake REST API` and add two resources (*posts*, *categories*) to our project. Replace the contents of `src/App.tsx` with the following code:\n\n```tsx title=\"src/App.tsx\"\n\nimport { Refine, useMany } from \"@pankod/refine-core\";\nimport {\n    useTable,\n    List,\n    Table,\n    DateField,\n    Layout,\n    ReadyPage,\n    notificationProvider,\n    ErrorComponent,\n} from \"@pankod/refine-antd\";\nimport routerProvider from \"@pankod/refine-react-router-v6\";\nimport dataProvider from \"@pankod/refine-simple-rest\";\n\nimport \"@pankod/refine-antd/dist/styles.min.css\";\n\nconst App: React.FC = () => {\n    return (\n        <Refine\n            routerProvider={routerProvider}\n            dataProvider={dataProvider(\"https://api.fake-rest.refine.dev\")}\n            resources={[{ name: \"posts\", list: PostList }]}\n            Layout={Layout}\n            ReadyPage={ReadyPage}\n            notificationProvider={notificationProvider}\n            catchAll={<ErrorComponent />}\n        />\n    );\n};\n\nexport const PostList: React.FC = () => {\n    const { tableProps } = useTable<IPost>();\n\n    const categoryIds =\n        tableProps?.dataSource?.map((item) => item.category.id) ?? [];\n\n    const { data, isLoading } = useMany<ICategory>({\n        resource: \"categories\",\n        ids: categoryIds,\n        queryOptions: {\n            enabled: categoryIds.length > 0,\n        },\n    });\n\n    return (\n        <List>\n            <Table<IPost> {...tableProps} rowKey=\"id\">\n                <Table.Column dataIndex=\"title\" title=\"title\" />\n                <Table.Column\n                    dataIndex={[\"category\", \"id\"]}\n                    title=\"category\"\n                    render={(value: number) => {\n                        if (isLoading) {\n                            return \"loading...\";\n                        }\n\n                        return data?.data.find(\n                            (item: ICategory) => item.id === value,\n                        )?.title;\n                    }}\n                />\n                <Table.Column\n                    dataIndex=\"createdAt\"\n                    title=\"createdAt\"\n                    render={(value) => <DateField format=\"LLL\" value={value} />}\n                />\n            </Table>\n        </List>\n    );\n};\n\nexport default App;\n\ninterface IPost {\n  title: string;\n  createdAt: string;\n  category: { id: number };\n}\n\ninterface ICategory {\n  id: number;\n  title: string;\n}\n\n```\n\nNow, you should see the output as a table populated with `post` & `category` data:\n![First example result](https://github.com/pankod/refine/blob/master/documentation/static/img/first-example-result.png?raw=true)\n## Next Steps\n\n👉 Jump to [Refine<>Ant Design Tutorial](https://refine.dev/docs/ui-frameworks/antd/tutorial/) to continue your work and turn the example into a full-blown CRUD application.\n\n👉 Check out the [Refine<>Tailwind Tutorial](https://refine.dev/docs/ui-frameworks/antd/tutorial/) to learn how to use **refine** in a pure *headless* way.\n\n👉 Visit [Learn the Basics Page](https://refine.dev/docs/getting-started/basics/) to get informed about the fundemental concepts.\n\n👉 Read more on [Guides & Concepts](https://refine.dev/docs/guides-and-concepts/access-control/) for different usage scenarios.\n\n👉 See the real-life [Finefoods Demo](https://refine.dev/demo/) project.\n\n👉 Play with interactive [Examples](https://refine.dev/docs/examples/tutorial/headless-tutorial/)\n\n## Roadmap\nYou can find refine's <a href=\"https://github.com/pankod/refine/projects/1\">Public Roadmap here!</a> \n\n## Stargazers\n\n[![Stargazers repo roster for pankod/refine](https://reporoster.com/stars/pankod/refine)](https://github.com/pankod/refine/stargazers)\n\n## Contribution\n\nIf you have a bug to report, do not hesitate to file an issue.\n\nIf you are willing to fix an issue or propose a feature; all PRs with clear explanations are welcome and encouraged.\n\n## License\n\nLicensed under the MIT License, Copyright © 2021-present Pankod\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/pankod/refine/issues"},"homepage":"https://github.com/pankod/refine#readme","_id":"@pankod/refine-core@3.64.2","_nodeVersion":"16.17.0","_npmVersion":"8.15.0","dist":{"integrity":"sha512-+si2c4UnzC8N/aqeOVL3uRUGX0yyqNJ8QBE5MPTz3bceX3ymfSCRYKY+XOgEtN4xb7wXqe3sipMypp0kEUgkfA==","shasum":"834de159849504a636fe6c4252c9baef617c2fe8","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.64.2.tgz","fileCount":257,"unpackedSize":2063746,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIG6ApgJ6GUEFHu+LRsPiChoBrcIE6AtTkq/5tN+igyrzAiEAyCYujKdq/SRMpJK/FljJdSrxVg5oUMy7TLUU5vyUaKE="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjEdF0ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo7dhAAmHbuJc8HuQ7ntYYDicmVmu4JYqYfDL1243tNvUQqLL9g8wTH\r\n1vtUA8TNse8JmOU+uCEVlQwXqewIT6suR6aInLODvI2UCyVa+a4zAsmXy+G3\r\nWCh4NlfNZlpKK5MTJc0N7sJ+2EM7qkEq5gzhXE7OqPOXifaUFfftqWbn9sW5\r\ni2Kq9vae2QggYahqAJIIwS/WlPKk3Z5VbKXbyNiNMCddc+Nz3rXopiVTWToi\r\n4tvo/jm3pHxvQZBYJod8gvDpBaX2GSw8dYjg2ol1vzirBMD0/Vk8t43NnYVL\r\nE7s42iGzFqrkJtiLyEL3IMZEj2agjVUF/lPCa32huTv1pMgCIwiza/z/cUL4\r\nUrsPPS/VxK7X/hl7LthixXKMyHzLWy4fR+/W9e1BtaBPg/mic9SIi5KVuZI8\r\nmD8hjRKqoRus/el+ooqYMmFZw7UOTv81rYeIqTxyL8XCA4QeUREKyIqZO9bF\r\nhiZ57/CVq/Luf8QiFXOuFIQ0lHj1xLNx3zYR/LOdNkkuud0wEso59A7MPWNt\r\na0UDsFGTMnqfrqzIpe60CHW8IKtXeE7u5cK69aiELXnoF7ukkhR4UunaOqPZ\r\njARXc7BOI3bZid4nZgoCkXCQVzraw99Unwp8dWuxfdUWrzEbgmF51JnJ6j3r\r\n9kCxrRG+xCQ+BQBR39C6kYSbtXGXIQMRJEw=\r\n=/q34\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"aydinakyol","email":"aydinakyol11@gmail.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.64.2_1662112116690_0.21352385038786625"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.65.0":{"name":"@pankod/refine-core","version":"3.65.0","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --dts --format esm,cjs,iife --legacy-output","build":"tsup --dts --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0","@types/react":"^17.0.0 || ^18.0.0","@types/react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.16.4","@testing-library/react":"^13.1.1","@testing-library/react-hooks":"^8.0.0","@testing-library/user-event":"^14.1.1","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^18.0.0","@types/react-dom":"^18.0.0","@types/react-router-dom":"^5.1.8","@types/testing-library__jest-dom":"^5.14.3","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"^6.0.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.7.4"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","decamelize":"^5.0.0","lodash-es":"^4.17.21","lodash":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","@tanstack/react-query-devtools":"^4.0.10","@tanstack/react-query":"^4.0.10","tslib":"^2.3.1","warn-once":"^0.1.0","jose":"^4.8.3"},"repository":{"type":"git","url":"git+https://github.com/pankod/refine.git","directory":"packages/core"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"17dd5af3e4c9f7f09e1e707362c6f5a9d1cab8a8","publishConfig":{"access":"public"},"bugs":{"url":"https://github.com/pankod/refine/issues"},"homepage":"https://github.com/pankod/refine#readme","_id":"@pankod/refine-core@3.65.0","_nodeVersion":"16.17.0","_npmVersion":"8.15.0","dist":{"integrity":"sha512-q/gTwEX4wYodvoWhYPAizPjqvwqbSALwNgKk4ZGeq+RdvWCv/QxWBZUi4QDTbcrNmedEvuF88BAULCOr2ZCZKw==","shasum":"76ffdf0f03fda6c5868a185b69b551de0d0fbd8d","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.65.0.tgz","fileCount":257,"unpackedSize":2065443,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDC4nClNgDrLsHb1oMHbtB20hOgsREA0T3Hb27GQiHRuwIgFaBgsXUJ+k69jyGsmkJ6mTR1ekBNRMqfbuXsRXIlxC0="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjEd56ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqBoBAAlSLaeBKVQZ6BqCXa+1vcXlHF9Qa/2qnLDkJcQ6H8fm/DeGHF\r\n00dwUtJly3M8OeIa9BQ1bNnF/YwczwDcSKT3XeL7t8k1dED8Qz5rZkOSWtQK\r\ntlJLs369YQfIsYl2WJpghAkXYg8VZ0ZeM/8geEVDAcxAXjvYh8Z3dVTW27k6\r\n4KTVPUTtC++kVl34eHVPgirPn9kOJUD5wwaZaArE9BbnnQI1m5BxSQbdS5fW\r\no8Oy2nzSaZ222zRFp4IP9aPAvq7tKQm7qNU+SS9gKcyw2V4GP43nlAqU8lpL\r\n+G2WuIwYOdf3x8Md5j1+XfomP0wZtBT/FK1tp1OZe+hCNLq+pm1gbJN4VRAK\r\nt69XNu7BOo99EL6fcPtZvQ1n1dOba6vD/F/XkwPbLYuKXnoK9Lit+CbTbAB6\r\nfFc1T3SV5MXd+8rD1hiL5+mO2btVidTsfkoG+CmrWbVYm2rkuuFZVGWjWFHr\r\nJlltmt3rNSmziGkLhlVoNGkfH+1aT+Bsyw38psEvV5SMtksC7Mfc3Y8Yn0XV\r\nsXSralthrpoJ8lfxxQB7z9Ud6dZAXmgnDtAhKVDSOIWete6BX8hwpQ3wMprQ\r\n5BJoLoxqZ3G+3AA1EzoYQXsaltnDvUlDtZ0iEHm9wURrcXCch27P2nUnTQnb\r\n7v2ioURXsY/kLH0BIDgz3HHEj2i8n/aSfxE=\r\n=8lp+\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"aydinakyol","email":"aydinakyol11@gmail.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.65.0_1662115449729_0.13274201378229633"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.65.1":{"name":"@pankod/refine-core","version":"3.65.1","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --dts --format esm,cjs,iife --legacy-output","build":"tsup --dts --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0","@types/react":"^17.0.0 || ^18.0.0","@types/react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.16.4","@testing-library/react":"^13.1.1","@testing-library/react-hooks":"^8.0.0","@testing-library/user-event":"^14.1.1","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^18.0.0","@types/react-dom":"^18.0.0","@types/react-router-dom":"^5.1.8","@types/testing-library__jest-dom":"^5.14.3","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"^6.0.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.7.4"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","decamelize":"^5.0.0","lodash-es":"^4.17.21","lodash":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","@tanstack/react-query-devtools":"^4.0.10","@tanstack/react-query":"^4.0.10","tslib":"^2.3.1","warn-once":"^0.1.0","jose":"^4.8.3"},"repository":{"type":"git","url":"git+https://github.com/pankod/refine.git","directory":"packages/core"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"17dd5af3e4c9f7f09e1e707362c6f5a9d1cab8a8","publishConfig":{"access":"public"},"readme":"<div align=\"center\" style=\"margin: 30px;\">\n<a href=\"https://refine.dev/\">\n  <img src=\"https://raw.githubusercontent.com/pankod/refine/master/logo.png\"   style=\"width:250px;\" align=\"center\" />\n</a>\n<br />\n<br />\n\n<div align=\"center\">\n    <a href=\"https://refine.dev\">Home Page</a> |\n    <a href=\"https://refine.dev/demo/\">Demo</a> | \n    <a href=\"https://refine.dev/blog/\">Blog</a> | \n    <a href=\"https://refine.dev/docs/\">Documentation</a> | \n    <a href=\"https://github.com/pankod/refine/projects/1\">Roadmap</a> | \n    <a href=\"https://refine.dev/docs/examples/tutorial/\">Examples</a> | \n    <a href=\"https://refine.dev/enterprise/\">Enterprise</a> | \n    <a href=\"https://discord.gg/refine\">Discord</a>\n</div>\n\n</div>\n<br/>\n\n<div align=\"center\"><strong>Build your <a href=\"https://reactjs.org/\">React</a>-based CRUD applications, without constraints.</strong><br>Open source, headless web application framework developed with flexibility in mind.</div>\n\n<br />\n\n<div align=\"center\">\n\n[![Discord](https://img.shields.io/discord/837692625737613362.svg?label=&logo=discord&logoColor=ffffff&color=7389D8&labelColor=6A7EC2)](https://discord.gg/refine)\n[![Twitter Follow](https://img.shields.io/twitter/follow/refine_dev?style=social)](https://twitter.com/refine_dev)\n\n<a href=\"https://www.producthunt.com/posts/refine-open-source-react-framework?utm_source=badge-featured&utm_medium=badge&utm_souce=badge-refine-open-source-react-framework\" target=\"_blank\"><img src=\"https://api.producthunt.com/widgets/embed-image/v1/featured.svg?post_id=319164&theme=light\" alt=\"refine: Open Source React Framework - Focus your business logic. refine will do the rest. | Product Hunt\" style=\"width: 250px; height: 54px;\" width=\"250\" height=\"54\" /></a>\n\n[![Meercode CI Score](https://meercode.io/badge/pankod/refine?type=ci-score&branch=master&token=2ZiT8YsoJgt57JB23NYwXrFY3rJHZboT&lastDay=31)](https://meercode.io/)\n[![Meercode CI Success Rate](https://meercode.io/badge/pankod/refine?type=ci-success-rate&branch=master&token=2ZiT8YsoJgt57JB23NYwXrFY3rJHZboT&lastDay=31)](https://meercode.io/)\n[![Maintainability](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/maintainability)](https://codeclimate.com/github/pankod/refine/maintainability)\n[![Test Coverage](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/test_coverage)](https://codeclimate.com/github/pankod/refine/test_coverage)\n[![npm version](https://img.shields.io/npm/v/@pankod/refine-core.svg)](https://www.npmjs.com/package/@pankod/refine-core)\n[![npm](https://img.shields.io/npm/dm/@pankod/refine-core)](https://www.npmjs.com/package/@pankod/refine-core)\n[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.0-4baaaa.svg)](code_of_conduct.md)\n</div>\n\n<div align=\"center\" style=\"margin: 30px;\">\n  <img src=\"https://github.com/pankod/refine/blob/master/documentation/static/img/refine-promo-gif.gif?raw=true\" style=\"width:688px;\"/>\n</div>\n\n\n## What is refine?\n**refine** is a React-based framework for rapid ✨ development of web applications. \nIt eliminates the repetitive tasks demanded by **CRUD** operations and provides industry standard solutions for critical parts like **authentication**, **access control**, **routing**, **networking**, **state management** and **i18n**.\n\n**refine** is *headless by design* offering unlimited styling and customization options. \n\n## What do you mean by \"headless\" ?\nInstead of being a limited set of pre-styled components, **refine** is a collection of helper `hooks`, `components` and `providers`. They are all decoupled from your *UI components* and *business logic*, so they never keep you from customizing your *UI* or coding your own flow.\n\n**refine** seamlessly works with any **custom design** or **UI framework you favor**. For convenience, it ships with ready-made integrations for [Ant Design System](https://ant.design/) and [Material UI](https://mui.com/).\n\n## Use cases\n**refine** shines on *data-intensive* applications like *admin panels*, *dashboards* and *internal tools*. Thanks to built-in **SSR support**, **refine** can also power *customer-facing* applications like *storefronts*.\n\n## Key Features\n\n⚙️ Zero-config, **one-minute setup** with a **single CLI command**\n\n🔌 Connectors for **15+ backend services** including [REST API](https://github.com/pankod/refine/tree/master/packages/simple-rest), [GraphQL](https://github.com/pankod/refine/tree/master/packages/graphql), [NestJs CRUD](https://github.com/pankod/refine/tree/master/packages/nestjsx-crud), [Airtable](https://github.com/pankod/refine/tree/master/packages/airtable), [Strapi](https://github.com/pankod/refine/tree/master/packages/strapi), [Strapi v4](https://github.com/pankod/refine/tree/master/packages/strapi-v4), [Strapi GraphQL](https://github.com/pankod/refine/tree/master/packages/strapi-graphql), [Supabase](https://github.com/pankod/refine/tree/master/packages/supabase), [Hasura](https://github.com/pankod/refine/tree/master/packages/hasura), [Nhost](https://github.com/pankod/refine/tree/master/packages/nhost), [Appwrite](https://github.com/pankod/refine/tree/master/packages/appwrite), [Firebase](https://firebase.google.com/), [Directus](https://directus.io/) and [Altogic](https://github.com/pankod/refine/tree/master/packages/altogic)\n\n🌐 **SSR support** with **Next.js** or **Remix**\n\n⚛ Perfect **state management** & **mutations** with **React Query**\n\n🔀 **Advanced routing** with any router library of your choice\n\n🔐 Providers for seamless **authentication** and **access control** flows\n\n⚡ Out-of-the-box support for **live / real-time applications**\n\n📄 Easy **audit logs** &** **document versioning**\n\n💬 Support for any **i18n** framework\n\n💪 Future-proof, **robust architecture**\n\n✅ Full **test coverage**\n\n## Quick Start\n\nThe fastest way to get started with **refine** is using the [superplate](https://github.com/pankod/superplate) project starter tool.\nRun the following command to create a new **refine** project configured with  [Ant Design System](https://ant.design/) as the default UI framework:\n\n```\nnpx superplate-cli --preset refine-antd my-project\n```\n\nOnce the setup is complete, navigate to the project folder and start your project with:\n\n```\nnpm run dev\n```\n\nYour **refine** application will be accessible at [http://localhost:3000](http://localhost:3000):\n![Welcome on board](https://github.com/pankod/refine/blob/master/documentation/static/img/welcome-on-board.png?raw=true)\nLet's consume a public `fake REST API` and add two resources (*posts*, *categories*) to our project. Replace the contents of `src/App.tsx` with the following code:\n\n```tsx title=\"src/App.tsx\"\n\nimport { Refine, useMany } from \"@pankod/refine-core\";\nimport {\n    useTable,\n    List,\n    Table,\n    DateField,\n    Layout,\n    ReadyPage,\n    notificationProvider,\n    ErrorComponent,\n} from \"@pankod/refine-antd\";\nimport routerProvider from \"@pankod/refine-react-router-v6\";\nimport dataProvider from \"@pankod/refine-simple-rest\";\n\nimport \"@pankod/refine-antd/dist/styles.min.css\";\n\nconst App: React.FC = () => {\n    return (\n        <Refine\n            routerProvider={routerProvider}\n            dataProvider={dataProvider(\"https://api.fake-rest.refine.dev\")}\n            resources={[{ name: \"posts\", list: PostList }]}\n            Layout={Layout}\n            ReadyPage={ReadyPage}\n            notificationProvider={notificationProvider}\n            catchAll={<ErrorComponent />}\n        />\n    );\n};\n\nexport const PostList: React.FC = () => {\n    const { tableProps } = useTable<IPost>();\n\n    const categoryIds =\n        tableProps?.dataSource?.map((item) => item.category.id) ?? [];\n\n    const { data, isLoading } = useMany<ICategory>({\n        resource: \"categories\",\n        ids: categoryIds,\n        queryOptions: {\n            enabled: categoryIds.length > 0,\n        },\n    });\n\n    return (\n        <List>\n            <Table<IPost> {...tableProps} rowKey=\"id\">\n                <Table.Column dataIndex=\"title\" title=\"title\" />\n                <Table.Column\n                    dataIndex={[\"category\", \"id\"]}\n                    title=\"category\"\n                    render={(value: number) => {\n                        if (isLoading) {\n                            return \"loading...\";\n                        }\n\n                        return data?.data.find(\n                            (item: ICategory) => item.id === value,\n                        )?.title;\n                    }}\n                />\n                <Table.Column\n                    dataIndex=\"createdAt\"\n                    title=\"createdAt\"\n                    render={(value) => <DateField format=\"LLL\" value={value} />}\n                />\n            </Table>\n        </List>\n    );\n};\n\nexport default App;\n\ninterface IPost {\n  title: string;\n  createdAt: string;\n  category: { id: number };\n}\n\ninterface ICategory {\n  id: number;\n  title: string;\n}\n\n```\n\nNow, you should see the output as a table populated with `post` & `category` data:\n![First example result](https://github.com/pankod/refine/blob/master/documentation/static/img/first-example-result.png?raw=true)\n## Next Steps\n\n👉 Jump to [Refine<>Ant Design Tutorial](https://refine.dev/docs/ui-frameworks/antd/tutorial/) to continue your work and turn the example into a full-blown CRUD application.\n\n👉 Check out the [Refine<>Tailwind Tutorial](https://refine.dev/docs/ui-frameworks/antd/tutorial/) to learn how to use **refine** in a pure *headless* way.\n\n👉 Visit [Learn the Basics Page](https://refine.dev/docs/getting-started/basics/) to get informed about the fundemental concepts.\n\n👉 Read more on [Guides & Concepts](https://refine.dev/docs/guides-and-concepts/access-control/) for different usage scenarios.\n\n👉 See the real-life [Finefoods Demo](https://refine.dev/demo/) project.\n\n👉 Play with interactive [Examples](https://refine.dev/docs/examples/tutorial/headless-tutorial/)\n\n## Roadmap\nYou can find refine's <a href=\"https://github.com/pankod/refine/projects/1\">Public Roadmap here!</a> \n\n## Stargazers\n\n[![Stargazers repo roster for pankod/refine](https://reporoster.com/stars/pankod/refine)](https://github.com/pankod/refine/stargazers)\n\n## Contribution\n\nIf you have a bug to report, do not hesitate to file an issue.\n\nIf you are willing to fix an issue or propose a feature; all PRs with clear explanations are welcome and encouraged.\n\n## License\n\nLicensed under the MIT License, Copyright © 2021-present Pankod\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/pankod/refine/issues"},"homepage":"https://github.com/pankod/refine#readme","_id":"@pankod/refine-core@3.65.1","_nodeVersion":"16.17.0","_npmVersion":"8.15.0","dist":{"integrity":"sha512-Crw+Ef5ta13MjRwgGxuwEwIW3aqnqduUScg8r60rvEAhlTLW3nXwm4b6wfnMcy7/kXRS8M5QIAg9mQKbSrszow==","shasum":"0deb25900360827a4fcdbf7e98fc1e0824920416","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.65.1.tgz","fileCount":257,"unpackedSize":2065717,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBt34CdlWNyuGXVQvEfqDpKqfAb+zMF1UBXN27G8MBSBAiEAth4F7GSaNtuGW8S/OQLnoxhwgpqvd9guNqqghfH/4mU="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjFdbLACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpF2g//aGw8gMbRSwAIO6fo9GAN1M7ufXEBrjRhZIcGP0LrNLY0lB23\r\n2U9OuCdTXoL/jnVZswbqPzbparAbpH2eO19KIJcOAtch7QFCYKMRmHQxTEbb\r\ngG9pz7/gGkyaWKHYLRXf8nujGDn3evcRAx+lL+1tFm0eAFkEUrjZauumPScO\r\nP1qGyeOAztLYTBg81ozNWuBtqdw85AVMt84yqI4krs2gQXTPFNPVgi/AF0j6\r\nAo+BheaSFaRAW9nGQYqHEVon4fharp0GLcIGbaRMVIU2DoM76tzx18/SSW2V\r\nOY49bgq6myZ2Wpz+d+gaBi3Fn36nO73ATuAAuVG9EQDEdEUH3DDmbi0kWpCt\r\nqVW5qB7EwEknoP3x5mpMvoAMahdH/2YiaXGdjl47wGtdfVjghXhe6rg1WmEl\r\nDo0sJk1CQLLRJKyTBDkSjg+vYa6NTo/u/QoXnEjcBbOkptpQfAnrPIf7P0jL\r\nP4hs5r2rlnxW082a9PiQdVhQvfgiHgRrH4QgoD4zzUOJgpvg7G3QZv16Q39k\r\nEsiKMCGjFYq52rsHWvcTETnSGti5r4GNhsBWNv918DiR1jQ8wnDD7jRBgrug\r\n21pJA/wWqG/MRPurrhwsHy/AfcrbxZL2M5p5wXOGlLbI/YnL5HT/Zkzclovt\r\nlZpdEXbKv6xm1rVnQBtpQ6/fOxc6xUqhfTU=\r\n=k6p8\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"aydinakyol","email":"aydinakyol11@gmail.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.65.1_1662375627556_0.5673311513621213"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.65.2":{"name":"@pankod/refine-core","version":"3.65.2","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --dts --format esm,cjs,iife --legacy-output","build":"tsup --dts --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0","@types/react":"^17.0.0 || ^18.0.0","@types/react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.16.4","@testing-library/react":"^13.1.1","@testing-library/react-hooks":"^8.0.0","@testing-library/user-event":"^14.1.1","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^18.0.0","@types/react-dom":"^18.0.0","@types/react-router-dom":"^5.1.8","@types/testing-library__jest-dom":"^5.14.3","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"^6.0.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.7.4"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","decamelize":"^5.0.0","lodash-es":"^4.17.21","lodash":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","@tanstack/react-query-devtools":"^4.0.10","@tanstack/react-query":"^4.0.10","tslib":"^2.3.1","warn-once":"^0.1.0","jose":"^4.8.3"},"repository":{"type":"git","url":"git+https://github.com/pankod/refine.git","directory":"packages/core"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"17dd5af3e4c9f7f09e1e707362c6f5a9d1cab8a8","publishConfig":{"access":"public"},"readme":"<div align=\"center\" style=\"margin: 30px;\">\n<a href=\"https://refine.dev/\">\n  <img src=\"https://raw.githubusercontent.com/pankod/refine/master/logo.png\"   style=\"width:250px;\" align=\"center\" />\n</a>\n<br />\n<br />\n\n<div align=\"center\">\n    <a href=\"https://refine.dev\">Home Page</a> |\n    <a href=\"https://refine.dev/demo/\">Demo</a> | \n    <a href=\"https://refine.dev/blog/\">Blog</a> | \n    <a href=\"https://refine.dev/docs/\">Documentation</a> | \n    <a href=\"https://github.com/pankod/refine/projects/1\">Roadmap</a> | \n    <a href=\"https://refine.dev/docs/examples/tutorial/\">Examples</a> | \n    <a href=\"https://refine.dev/enterprise/\">Enterprise</a> | \n    <a href=\"https://discord.gg/refine\">Discord</a>\n</div>\n\n</div>\n<br/>\n\n<div align=\"center\"><strong>Build your <a href=\"https://reactjs.org/\">React</a>-based CRUD applications, without constraints.</strong><br>Open source, headless web application framework developed with flexibility in mind.</div>\n\n<br />\n\n<div align=\"center\">\n\n[![Discord](https://img.shields.io/discord/837692625737613362.svg?label=&logo=discord&logoColor=ffffff&color=7389D8&labelColor=6A7EC2)](https://discord.gg/refine)\n[![Twitter Follow](https://img.shields.io/twitter/follow/refine_dev?style=social)](https://twitter.com/refine_dev)\n\n<a href=\"https://www.producthunt.com/posts/refine-open-source-react-framework?utm_source=badge-featured&utm_medium=badge&utm_souce=badge-refine-open-source-react-framework\" target=\"_blank\"><img src=\"https://api.producthunt.com/widgets/embed-image/v1/featured.svg?post_id=319164&theme=light\" alt=\"refine: Open Source React Framework - Focus your business logic. refine will do the rest. | Product Hunt\" style=\"width: 250px; height: 54px;\" width=\"250\" height=\"54\" /></a>\n\n[![Meercode CI Score](https://meercode.io/badge/pankod/refine?type=ci-score&branch=master&token=2ZiT8YsoJgt57JB23NYwXrFY3rJHZboT&lastDay=31)](https://meercode.io/)\n[![Meercode CI Success Rate](https://meercode.io/badge/pankod/refine?type=ci-success-rate&branch=master&token=2ZiT8YsoJgt57JB23NYwXrFY3rJHZboT&lastDay=31)](https://meercode.io/)\n[![Maintainability](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/maintainability)](https://codeclimate.com/github/pankod/refine/maintainability)\n[![Test Coverage](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/test_coverage)](https://codeclimate.com/github/pankod/refine/test_coverage)\n[![npm version](https://img.shields.io/npm/v/@pankod/refine-core.svg)](https://www.npmjs.com/package/@pankod/refine-core)\n[![npm](https://img.shields.io/npm/dm/@pankod/refine-core)](https://www.npmjs.com/package/@pankod/refine-core)\n[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.0-4baaaa.svg)](code_of_conduct.md)\n</div>\n\n<div align=\"center\" style=\"margin: 30px;\">\n  <img src=\"https://github.com/pankod/refine/blob/master/documentation/static/img/refine-promo-gif.gif?raw=true\" style=\"width:688px;\"/>\n</div>\n\n\n## What is refine?\n**refine** is a React-based framework for rapid ✨ development of web applications. \nIt eliminates the repetitive tasks demanded by **CRUD** operations and provides industry standard solutions for critical parts like **authentication**, **access control**, **routing**, **networking**, **state management** and **i18n**.\n\n**refine** is *headless by design* offering unlimited styling and customization options. \n\n## What do you mean by \"headless\" ?\nInstead of being a limited set of pre-styled components, **refine** is a collection of helper `hooks`, `components` and `providers`. They are all decoupled from your *UI components* and *business logic*, so they never keep you from customizing your *UI* or coding your own flow.\n\n**refine** seamlessly works with any **custom design** or **UI framework you favor**. For convenience, it ships with ready-made integrations for [Ant Design System](https://ant.design/) and [Material UI](https://mui.com/).\n\n## Use cases\n**refine** shines on *data-intensive* applications like *admin panels*, *dashboards* and *internal tools*. Thanks to built-in **SSR support**, **refine** can also power *customer-facing* applications like *storefronts*.\n\n## Key Features\n\n⚙️ Zero-config, **one-minute setup** with a **single CLI command**\n\n🔌 Connectors for **15+ backend services** including [REST API](https://github.com/pankod/refine/tree/master/packages/simple-rest), [GraphQL](https://github.com/pankod/refine/tree/master/packages/graphql), [NestJs CRUD](https://github.com/pankod/refine/tree/master/packages/nestjsx-crud), [Airtable](https://github.com/pankod/refine/tree/master/packages/airtable), [Strapi](https://github.com/pankod/refine/tree/master/packages/strapi), [Strapi v4](https://github.com/pankod/refine/tree/master/packages/strapi-v4), [Strapi GraphQL](https://github.com/pankod/refine/tree/master/packages/strapi-graphql), [Supabase](https://github.com/pankod/refine/tree/master/packages/supabase), [Hasura](https://github.com/pankod/refine/tree/master/packages/hasura), [Nhost](https://github.com/pankod/refine/tree/master/packages/nhost), [Appwrite](https://github.com/pankod/refine/tree/master/packages/appwrite), [Firebase](https://firebase.google.com/), [Directus](https://directus.io/) and [Altogic](https://github.com/pankod/refine/tree/master/packages/altogic)\n\n🌐 **SSR support** with **Next.js** or **Remix**\n\n⚛ Perfect **state management** & **mutations** with **React Query**\n\n🔀 **Advanced routing** with any router library of your choice\n\n🔐 Providers for seamless **authentication** and **access control** flows\n\n⚡ Out-of-the-box support for **live / real-time applications**\n\n📄 Easy **audit logs** &** **document versioning**\n\n💬 Support for any **i18n** framework\n\n💪 Future-proof, **robust architecture**\n\n✅ Full **test coverage**\n\n## Quick Start\n\nThe fastest way to get started with **refine** is using the [superplate](https://github.com/pankod/superplate) project starter tool.\nRun the following command to create a new **refine** project configured with  [Ant Design System](https://ant.design/) as the default UI framework:\n\n```\nnpx superplate-cli --preset refine-antd my-project\n```\n\nOnce the setup is complete, navigate to the project folder and start your project with:\n\n```\nnpm run dev\n```\n\nYour **refine** application will be accessible at [http://localhost:3000](http://localhost:3000):\n![Welcome on board](https://github.com/pankod/refine/blob/master/documentation/static/img/welcome-on-board.png?raw=true)\nLet's consume a public `fake REST API` and add two resources (*posts*, *categories*) to our project. Replace the contents of `src/App.tsx` with the following code:\n\n```tsx title=\"src/App.tsx\"\n\nimport { Refine, useMany } from \"@pankod/refine-core\";\nimport {\n    useTable,\n    List,\n    Table,\n    DateField,\n    Layout,\n    ReadyPage,\n    notificationProvider,\n    ErrorComponent,\n} from \"@pankod/refine-antd\";\nimport routerProvider from \"@pankod/refine-react-router-v6\";\nimport dataProvider from \"@pankod/refine-simple-rest\";\n\nimport \"@pankod/refine-antd/dist/styles.min.css\";\n\nconst App: React.FC = () => {\n    return (\n        <Refine\n            routerProvider={routerProvider}\n            dataProvider={dataProvider(\"https://api.fake-rest.refine.dev\")}\n            resources={[{ name: \"posts\", list: PostList }]}\n            Layout={Layout}\n            ReadyPage={ReadyPage}\n            notificationProvider={notificationProvider}\n            catchAll={<ErrorComponent />}\n        />\n    );\n};\n\nexport const PostList: React.FC = () => {\n    const { tableProps } = useTable<IPost>();\n\n    const categoryIds =\n        tableProps?.dataSource?.map((item) => item.category.id) ?? [];\n\n    const { data, isLoading } = useMany<ICategory>({\n        resource: \"categories\",\n        ids: categoryIds,\n        queryOptions: {\n            enabled: categoryIds.length > 0,\n        },\n    });\n\n    return (\n        <List>\n            <Table<IPost> {...tableProps} rowKey=\"id\">\n                <Table.Column dataIndex=\"title\" title=\"title\" />\n                <Table.Column\n                    dataIndex={[\"category\", \"id\"]}\n                    title=\"category\"\n                    render={(value: number) => {\n                        if (isLoading) {\n                            return \"loading...\";\n                        }\n\n                        return data?.data.find(\n                            (item: ICategory) => item.id === value,\n                        )?.title;\n                    }}\n                />\n                <Table.Column\n                    dataIndex=\"createdAt\"\n                    title=\"createdAt\"\n                    render={(value) => <DateField format=\"LLL\" value={value} />}\n                />\n            </Table>\n        </List>\n    );\n};\n\nexport default App;\n\ninterface IPost {\n  title: string;\n  createdAt: string;\n  category: { id: number };\n}\n\ninterface ICategory {\n  id: number;\n  title: string;\n}\n\n```\n\nNow, you should see the output as a table populated with `post` & `category` data:\n![First example result](https://github.com/pankod/refine/blob/master/documentation/static/img/first-example-result.png?raw=true)\n## Next Steps\n\n👉 Jump to [Refine<>Ant Design Tutorial](https://refine.dev/docs/ui-frameworks/antd/tutorial/) to continue your work and turn the example into a full-blown CRUD application.\n\n👉 Check out the [Refine<>Tailwind Tutorial](https://refine.dev/docs/ui-frameworks/antd/tutorial/) to learn how to use **refine** in a pure *headless* way.\n\n👉 Visit [Learn the Basics Page](https://refine.dev/docs/getting-started/basics/) to get informed about the fundemental concepts.\n\n👉 Read more on [Guides & Concepts](https://refine.dev/docs/guides-and-concepts/access-control/) for different usage scenarios.\n\n👉 See the real-life [Finefoods Demo](https://refine.dev/demo/) project.\n\n👉 Play with interactive [Examples](https://refine.dev/docs/examples/tutorial/headless-tutorial/)\n\n## Roadmap\nYou can find refine's <a href=\"https://github.com/pankod/refine/projects/1\">Public Roadmap here!</a> \n\n## Stargazers\n\n[![Stargazers repo roster for pankod/refine](https://reporoster.com/stars/pankod/refine)](https://github.com/pankod/refine/stargazers)\n\n## Contribution\n\nIf you have a bug to report, do not hesitate to file an issue.\n\nIf you are willing to fix an issue or propose a feature; all PRs with clear explanations are welcome and encouraged.\n\n## License\n\nLicensed under the MIT License, Copyright © 2021-present Pankod\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/pankod/refine/issues"},"homepage":"https://github.com/pankod/refine#readme","_id":"@pankod/refine-core@3.65.2","_nodeVersion":"16.17.0","_npmVersion":"8.15.0","dist":{"integrity":"sha512-B3yAtEcnbmJ8d3ev1rJfTE4KfADPXOdjLPYSbPDCWif1O4GA9i1T9ZS7G1ZXp6Kk7/zeWoF1lU2WDwWwlMLszw==","shasum":"58cfa9b14e604d7040a699f3a5c594f85b427cc5","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.65.2.tgz","fileCount":257,"unpackedSize":2068121,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC2f4Sg+0Nthuf5y7qUcz1mpJfdduEB6bh31JXVJS/+0gIhAKeAE0EbFVdowMlpk68h9O05iNvbmaA0ttPGtKIH0hcD"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjFeuOACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpZDg//faXUJqOv1zA8n1vemX6bsueKAMh1PtPa71ks/EmRrcjE1EVs\r\nlT5+acIpc3JyqwzG85AqT0JrQ31pXf2vkXUmjYVvNuIOjaYXyVNjWs73ACL4\r\ng4gy1y8kkMdi1FIm2exGKg0FUCc5yAl/9Scm/m19C2UxVNkAyQAQlMpq1s7G\r\nPTktaLNi1RqvpSggHAB64BytTldjCTWYZahoH25J2ZoVcvjwLVTXhr1DBD8H\r\nA5sPkZ1B+fYxaotAvPciBoric9SuCXOIg7+o6GD8eP/6bjLNPjJncJbMO8rY\r\nyRi0Z4W28+vJ+oOZ1ZY2LlQKqPXVn1OciCSxTciXjSFVgcdcD38OK8hdCY5A\r\n2hRHP9fSvTxFyDJ8hRHtxrGPAbLtf4HoATqNdEIqMnSubIsBjl/WDrVHCk7a\r\ngBjM+lndMg1EJFn1ajd0JqvxUA63ybypbbZq49dPU6H2cGrD+tzItsFETut4\r\nsuJ/EYqIj4jIsYJHjZCnEUWE/R+uP/vFksbKGxT8Yn4WvrgfdwJ/9vuOujcN\r\n8cacKL4D8rmueRfEZCoCgpWS0xjUHRHZcd4BKcYAZsdlukcVwmd+/aYFnbJ2\r\n13vZC5b/nIubz0kf1SYf1WeP+UGgOKDyfRzTqmCc4Uu6or7WyYF2aYKZBvAU\r\nGlhSTYrjBGlv0343dKEyjDA0CZbZZZhgszQ=\r\n=deUI\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"aydinakyol","email":"aydinakyol11@gmail.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.65.2_1662380942166_0.5207970753331415"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.65.3":{"name":"@pankod/refine-core","version":"3.65.3","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --dts --format esm,cjs,iife --legacy-output","build":"tsup --dts --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0","@types/react":"^17.0.0 || ^18.0.0","@types/react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.16.4","@testing-library/react":"^13.1.1","@testing-library/react-hooks":"^8.0.0","@testing-library/user-event":"^14.1.1","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^18.0.0","@types/react-dom":"^18.0.0","@types/react-router-dom":"^5.1.8","@types/testing-library__jest-dom":"^5.14.3","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"^6.0.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.7.4"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","decamelize":"^5.0.0","lodash-es":"^4.17.21","lodash":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","@tanstack/react-query-devtools":"^4.0.10","@tanstack/react-query":"^4.0.10","tslib":"^2.3.1","warn-once":"^0.1.0","jose":"^4.8.3"},"repository":{"type":"git","url":"git+https://github.com/pankod/refine.git","directory":"packages/core"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"17dd5af3e4c9f7f09e1e707362c6f5a9d1cab8a8","publishConfig":{"access":"public"},"bugs":{"url":"https://github.com/pankod/refine/issues"},"homepage":"https://github.com/pankod/refine#readme","_id":"@pankod/refine-core@3.65.3","_nodeVersion":"16.17.0","_npmVersion":"8.15.0","dist":{"integrity":"sha512-vdzG1K+Ku/P+mhn3AomGxJWQAQ3nMoCnDTmexKgPoHW9Cny+cNHYdbFPiZE9PZB5R0fGDAYPpTJ402dIAgCRUA==","shasum":"62274ac0dc226dbf61995cf362e0cc66655d46c6","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.65.3.tgz","fileCount":257,"unpackedSize":2068314,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDKZgtHnxMlmLp1GMJV8nsPg7h32vVo5t5gbGp76TCJrwIhAOsWXxW2Sc5G1fv6y2tUDna8bO3xlSR04h2nyOwAcnwV"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjFe99ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo+0xAAjzcqhDPcPVosXjaQEZi962jezCFXiKRMAf9Ss9ifM8gd0pGU\r\ngyiZyH4lRHf3x8vWAmouYwuLeeRdxhmo48f0F6Yvm10FA5l+kE6FTEJ+8Fr1\r\nqTdf++5IFWD8S5L2iKTu/QlGzSm8asXZZazkEfCMH/i7aLEkxLu7R8Rkwf2c\r\nYOm5deT1VJnAf+fwBW7OiBq8Q5tfEIq17awb7Q2fvWPbmwsXrlUFZlskWYwd\r\nltYRt9XvGRHUwXLFrzKZ8NnmaqI1LOo8djD0HzxGbva4iv7s8EJX0PfgrOpG\r\n4ARJj6++xoM10yxLyG/U1qWMidxRegvhJrQOplMP/TS6QhH5b6rjrQWFa/B1\r\nz5iOCZXjVYtfYWk0SF3tALeLa9jFvsTIyBTdjrzoFAYJZYNOIwYLI4lAXsj2\r\noTT4fuf5pyHqzSjreEe+yhpcQTObWoHe8CyIyFLoFlkOlUFZ0f+++s+8qJNg\r\n0LWfvZv27zM5+tzbOu7AxzscY3yel1dV+VktAzcuIMXVTzMC8asng2pBqpcp\r\nNSoovbdgikKAyVpAgd3EAT0LR4Jvm9+IRt7I0h4cdmBEEWXOPDXvvl6dx+8Z\r\nHyq6qOydSNypijbWLgT2ugxWpkI7jViEcpg51TrfEGgD8hB/q/fxkhC/Ihic\r\nXmt/cjKeGzcp0vfpo4LuWZBIIcyGvEuRTu8=\r\n=bHpc\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"aydinakyol","email":"aydinakyol11@gmail.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.65.3_1662381948696_0.025918135872795123"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.66.0":{"name":"@pankod/refine-core","version":"3.66.0","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --format esm,cjs,iife --legacy-output","build":"tsup --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0","@types/react":"^17.0.0 || ^18.0.0","@types/react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.16.4","@testing-library/react":"^13.1.1","@testing-library/react-hooks":"^8.0.0","@testing-library/user-event":"^14.1.1","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^18.0.0","@types/react-dom":"^18.0.0","@types/react-router-dom":"^5.1.8","@types/testing-library__jest-dom":"^5.14.3","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"^6.0.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.7.4"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","lodash-es":"^4.17.21","lodash":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","@tanstack/react-query-devtools":"^4.0.10","@tanstack/react-query":"^4.0.10","tslib":"^2.3.1","warn-once":"^0.1.0"},"repository":{"type":"git","url":"git+https://github.com/pankod/refine.git","directory":"packages/core"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"17dd5af3e4c9f7f09e1e707362c6f5a9d1cab8a8","publishConfig":{"access":"public"},"readme":"<div align=\"center\" style=\"margin: 30px;\">\n<a href=\"https://refine.dev/\">\n  <img src=\"https://raw.githubusercontent.com/pankod/refine/master/logo.png\"   style=\"width:250px;\" align=\"center\" />\n</a>\n<br />\n<br />\n\n<div align=\"center\">\n    <a href=\"https://refine.dev\">Home Page</a> |\n    <a href=\"https://refine.dev/demo/\">Demo</a> | \n    <a href=\"https://refine.dev/blog/\">Blog</a> | \n    <a href=\"https://refine.dev/docs/\">Documentation</a> | \n    <a href=\"https://github.com/pankod/refine/projects/1\">Roadmap</a> | \n    <a href=\"https://refine.dev/docs/examples/tutorial/\">Examples</a> | \n    <a href=\"https://refine.dev/enterprise/\">Enterprise</a> | \n    <a href=\"https://discord.gg/refine\">Discord</a>\n</div>\n\n</div>\n<br/>\n\n<div align=\"center\"><strong>Build your <a href=\"https://reactjs.org/\">React</a>-based CRUD applications, without constraints.</strong><br>Open source, headless web application framework developed with flexibility in mind.</div>\n\n<br />\n\n<div align=\"center\">\n\n[![Discord](https://img.shields.io/discord/837692625737613362.svg?label=&logo=discord&logoColor=ffffff&color=7389D8&labelColor=6A7EC2)](https://discord.gg/refine)\n[![Twitter Follow](https://img.shields.io/twitter/follow/refine_dev?style=social)](https://twitter.com/refine_dev)\n\n<a href=\"https://www.producthunt.com/posts/refine-open-source-react-framework?utm_source=badge-featured&utm_medium=badge&utm_souce=badge-refine-open-source-react-framework\" target=\"_blank\"><img src=\"https://api.producthunt.com/widgets/embed-image/v1/featured.svg?post_id=319164&theme=light\" alt=\"refine: Open Source React Framework - Focus your business logic. refine will do the rest. | Product Hunt\" style=\"width: 250px; height: 54px;\" width=\"250\" height=\"54\" /></a>\n\n[![Meercode CI Score](https://meercode.io/badge/pankod/refine?type=ci-score&branch=master&token=2ZiT8YsoJgt57JB23NYwXrFY3rJHZboT&lastDay=31)](https://meercode.io/)\n[![Meercode CI Success Rate](https://meercode.io/badge/pankod/refine?type=ci-success-rate&branch=master&token=2ZiT8YsoJgt57JB23NYwXrFY3rJHZboT&lastDay=31)](https://meercode.io/)\n[![Maintainability](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/maintainability)](https://codeclimate.com/github/pankod/refine/maintainability)\n[![Test Coverage](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/test_coverage)](https://codeclimate.com/github/pankod/refine/test_coverage)\n[![npm version](https://img.shields.io/npm/v/@pankod/refine-core.svg)](https://www.npmjs.com/package/@pankod/refine-core)\n[![npm](https://img.shields.io/npm/dm/@pankod/refine-core)](https://www.npmjs.com/package/@pankod/refine-core)\n[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.0-4baaaa.svg)](code_of_conduct.md)\n</div>\n\n<div align=\"center\" style=\"margin: 30px;\">\n  <img src=\"https://github.com/pankod/refine/blob/master/documentation/static/img/refine-promo-gif.gif?raw=true\" style=\"width:688px;\"/>\n</div>\n\n\n## What is refine?\n**refine** is a React-based framework for rapid ✨ development of web applications. \nIt eliminates the repetitive tasks demanded by **CRUD** operations and provides industry standard solutions for critical parts like **authentication**, **access control**, **routing**, **networking**, **state management** and **i18n**.\n\n**refine** is *headless by design* offering unlimited styling and customization options. \n\n## What do you mean by \"headless\" ?\nInstead of being a limited set of pre-styled components, **refine** is a collection of helper `hooks`, `components` and `providers`. They are all decoupled from your *UI components* and *business logic*, so they never keep you from customizing your *UI* or coding your own flow.\n\n**refine** seamlessly works with any **custom design** or **UI framework you favor**. For convenience, it ships with ready-made integrations for [Ant Design System](https://ant.design/) and [Material UI](https://mui.com/).\n\n## Use cases\n**refine** shines on *data-intensive* applications like *admin panels*, *dashboards* and *internal tools*. Thanks to built-in **SSR support**, **refine** can also power *customer-facing* applications like *storefronts*.\n\n## Key Features\n\n⚙️ Zero-config, **one-minute setup** with a **single CLI command**\n\n🔌 Connectors for **15+ backend services** including [REST API](https://github.com/pankod/refine/tree/master/packages/simple-rest), [GraphQL](https://github.com/pankod/refine/tree/master/packages/graphql), [NestJs CRUD](https://github.com/pankod/refine/tree/master/packages/nestjsx-crud), [Airtable](https://github.com/pankod/refine/tree/master/packages/airtable), [Strapi](https://github.com/pankod/refine/tree/master/packages/strapi), [Strapi v4](https://github.com/pankod/refine/tree/master/packages/strapi-v4), [Strapi GraphQL](https://github.com/pankod/refine/tree/master/packages/strapi-graphql), [Supabase](https://github.com/pankod/refine/tree/master/packages/supabase), [Hasura](https://github.com/pankod/refine/tree/master/packages/hasura), [Nhost](https://github.com/pankod/refine/tree/master/packages/nhost), [Appwrite](https://github.com/pankod/refine/tree/master/packages/appwrite), [Firebase](https://firebase.google.com/), [Directus](https://directus.io/) and [Altogic](https://github.com/pankod/refine/tree/master/packages/altogic)\n\n🌐 **SSR support** with **Next.js** or **Remix**\n\n⚛ Perfect **state management** & **mutations** with **React Query**\n\n🔀 **Advanced routing** with any router library of your choice\n\n🔐 Providers for seamless **authentication** and **access control** flows\n\n⚡ Out-of-the-box support for **live / real-time applications**\n\n📄 Easy **audit logs** &** **document versioning**\n\n💬 Support for any **i18n** framework\n\n💪 Future-proof, **robust architecture**\n\n✅ Full **test coverage**\n\n## Quick Start\n\nThe fastest way to get started with **refine** is using the [superplate](https://github.com/pankod/superplate) project starter tool.\nRun the following command to create a new **refine** project configured with  [Ant Design System](https://ant.design/) as the default UI framework:\n\n```\nnpx superplate-cli --preset refine-antd my-project\n```\n\nOnce the setup is complete, navigate to the project folder and start your project with:\n\n```\nnpm run dev\n```\n\nYour **refine** application will be accessible at [http://localhost:3000](http://localhost:3000):\n![Welcome on board](https://github.com/pankod/refine/blob/master/documentation/static/img/welcome-on-board.png?raw=true)\nLet's consume a public `fake REST API` and add two resources (*posts*, *categories*) to our project. Replace the contents of `src/App.tsx` with the following code:\n\n```tsx title=\"src/App.tsx\"\n\nimport { Refine, useMany } from \"@pankod/refine-core\";\nimport {\n    useTable,\n    List,\n    Table,\n    DateField,\n    Layout,\n    ReadyPage,\n    notificationProvider,\n    ErrorComponent,\n} from \"@pankod/refine-antd\";\nimport routerProvider from \"@pankod/refine-react-router-v6\";\nimport dataProvider from \"@pankod/refine-simple-rest\";\n\nimport \"@pankod/refine-antd/dist/styles.min.css\";\n\nconst App: React.FC = () => {\n    return (\n        <Refine\n            routerProvider={routerProvider}\n            dataProvider={dataProvider(\"https://api.fake-rest.refine.dev\")}\n            resources={[{ name: \"posts\", list: PostList }]}\n            Layout={Layout}\n            ReadyPage={ReadyPage}\n            notificationProvider={notificationProvider}\n            catchAll={<ErrorComponent />}\n        />\n    );\n};\n\nexport const PostList: React.FC = () => {\n    const { tableProps } = useTable<IPost>();\n\n    const categoryIds =\n        tableProps?.dataSource?.map((item) => item.category.id) ?? [];\n\n    const { data, isLoading } = useMany<ICategory>({\n        resource: \"categories\",\n        ids: categoryIds,\n        queryOptions: {\n            enabled: categoryIds.length > 0,\n        },\n    });\n\n    return (\n        <List>\n            <Table<IPost> {...tableProps} rowKey=\"id\">\n                <Table.Column dataIndex=\"title\" title=\"title\" />\n                <Table.Column\n                    dataIndex={[\"category\", \"id\"]}\n                    title=\"category\"\n                    render={(value: number) => {\n                        if (isLoading) {\n                            return \"loading...\";\n                        }\n\n                        return data?.data.find(\n                            (item: ICategory) => item.id === value,\n                        )?.title;\n                    }}\n                />\n                <Table.Column\n                    dataIndex=\"createdAt\"\n                    title=\"createdAt\"\n                    render={(value) => <DateField format=\"LLL\" value={value} />}\n                />\n            </Table>\n        </List>\n    );\n};\n\nexport default App;\n\ninterface IPost {\n  title: string;\n  createdAt: string;\n  category: { id: number };\n}\n\ninterface ICategory {\n  id: number;\n  title: string;\n}\n\n```\n\nNow, you should see the output as a table populated with `post` & `category` data:\n![First example result](https://github.com/pankod/refine/blob/master/documentation/static/img/first-example-result.png?raw=true)\n## Next Steps\n\n👉 Jump to [Refine<>Ant Design Tutorial](https://refine.dev/docs/ui-frameworks/antd/tutorial/) to continue your work and turn the example into a full-blown CRUD application.\n\n👉 Check out the [Refine<>Tailwind Tutorial](https://refine.dev/docs/ui-frameworks/antd/tutorial/) to learn how to use **refine** in a pure *headless* way.\n\n👉 Visit [Learn the Basics Page](https://refine.dev/docs/getting-started/basics/) to get informed about the fundemental concepts.\n\n👉 Read more on [Guides & Concepts](https://refine.dev/docs/guides-and-concepts/access-control/) for different usage scenarios.\n\n👉 See the real-life [Finefoods Demo](https://refine.dev/demo/) project.\n\n👉 Play with interactive [Examples](https://refine.dev/docs/examples/tutorial/headless-tutorial/)\n\n## Roadmap\nYou can find refine's <a href=\"https://github.com/pankod/refine/projects/1\">Public Roadmap here!</a> \n\n## Stargazers\n\n[![Stargazers repo roster for pankod/refine](https://reporoster.com/stars/pankod/refine)](https://github.com/pankod/refine/stargazers)\n\n## Contribution\n\nIf you have a bug to report, do not hesitate to file an issue.\n\nIf you are willing to fix an issue or propose a feature; all PRs with clear explanations are welcome and encouraged.\n\n## License\n\nLicensed under the MIT License, Copyright © 2021-present Pankod\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/pankod/refine/issues"},"homepage":"https://github.com/pankod/refine#readme","_id":"@pankod/refine-core@3.66.0","_nodeVersion":"16.17.0","_npmVersion":"8.15.0","dist":{"integrity":"sha512-P3KzfGNXLhyUG6OzpsPbYoooiFzgckGoBhMYWkZWSN0GGQHWW4xbKHRsOK40lWWtewwtpK31Nkm9lYmQP57lKA==","shasum":"6e2078277dc1776f01489c7a72449fc58e1796e4","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.66.0.tgz","fileCount":582,"unpackedSize":2185975,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHGrSfrNAX0J/z95VF4b91AMsl1jbEpqxtRbDpCTuPZQAiB7+sNAjeNWPJZd8Kr2PlHy8WMuBC64prqk3/Mi3yj+Dw=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjF0laACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrQGw//RcJ4PgwWmdxonogbGXbkLcZ93Y5ww11t/HQfLpP8RmQmeb4I\r\nQ3JVCbaA0g2ajXWGfBPWOm3CX9wevsYRj8L2xoXu94Q9QmxNqKXihEV9T+Gq\r\nrypPuus4X6n4d++yQ8S9WLv7WWSW7Gj9ikMdjID9fZfAL83XPh+rUG+bZuse\r\ndGlpa7MMTA+OhZE4ouX4RNjb21Adeg6FJDivfbOXxWbfLqStQM07ruePH8b1\r\nWqnatlGQzOc7d6cIZxJbgz52Pq/wGINUIi+Z1S6doSREX3hC5JVyIud7zx6b\r\nEdJXg3y32twNRNfo2i7bRkGLo3cwZUMfWNxla6yTMsR2ZDkPtnwiNpt+Nkg5\r\nWRdMujOVPCMNnIv1pQbZcVyv2P77kG1yP70JIEhETfSepranLE47g7NPfCy0\r\n4Q2NJNCai2wuLvtSfowK6kYeU20CUecoaleOQssdzDYiUKXo8766QtQlL2JL\r\nvVoPjuJE2CpJwc8c8yM068FZtkRqkFozD30Gu3uQyJp9JmJ76IFk1ecUmZ7N\r\ntTt2ZmugTkiz5PHYLy9E2Xr3OQxv8KHDMthVtcWgmlRGuZZ3Eh2DEMPMSBPF\r\nlKJtCDHtuF56lGO+9AQlkpFZOC1BadY8mQ7/ZCx69kPlQqRSK8mraLFbBv0t\r\nzo/sFYhCERl6iQVC2ydTmsF54I5o2V3EQuQ=\r\n=70nu\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"aydinakyol","email":"aydinakyol11@gmail.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.66.0_1662470490089_0.5721503336564135"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.66.1":{"name":"@pankod/refine-core","version":"3.66.1","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --format esm,cjs,iife --legacy-output","build":"tsup --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0","@types/react":"^17.0.0 || ^18.0.0","@types/react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.16.4","@testing-library/react":"^13.1.1","@testing-library/react-hooks":"^8.0.0","@testing-library/user-event":"^14.1.1","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^18.0.0","@types/react-dom":"^18.0.0","@types/react-router-dom":"^5.1.8","@types/testing-library__jest-dom":"^5.14.3","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"^6.0.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.7.4"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","lodash-es":"^4.17.21","lodash":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","@tanstack/react-query-devtools":"^4.0.10","@tanstack/react-query":"^4.0.10","tslib":"^2.3.1","warn-once":"^0.1.0"},"repository":{"type":"git","url":"git+https://github.com/pankod/refine.git","directory":"packages/core"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"17dd5af3e4c9f7f09e1e707362c6f5a9d1cab8a8","publishConfig":{"access":"public"},"readme":"<div align=\"center\" style=\"margin: 30px;\">\n<a href=\"https://refine.dev/\">\n  <img src=\"https://raw.githubusercontent.com/pankod/refine/master/logo.png\"   style=\"width:250px;\" align=\"center\" />\n</a>\n<br />\n<br />\n\n<div align=\"center\">\n    <a href=\"https://refine.dev\">Home Page</a> |\n    <a href=\"https://refine.dev/demo/\">Demo</a> | \n    <a href=\"https://refine.dev/blog/\">Blog</a> | \n    <a href=\"https://refine.dev/docs/\">Documentation</a> | \n    <a href=\"https://github.com/pankod/refine/projects/1\">Roadmap</a> | \n    <a href=\"https://refine.dev/docs/examples/tutorial/\">Examples</a> | \n    <a href=\"https://refine.dev/enterprise/\">Enterprise</a> | \n    <a href=\"https://discord.gg/refine\">Discord</a>\n</div>\n\n</div>\n<br/>\n\n<div align=\"center\"><strong>Build your <a href=\"https://reactjs.org/\">React</a>-based CRUD applications, without constraints.</strong><br>Open source, headless web application framework developed with flexibility in mind.</div>\n\n<br />\n\n<div align=\"center\">\n\n[![Discord](https://img.shields.io/discord/837692625737613362.svg?label=&logo=discord&logoColor=ffffff&color=7389D8&labelColor=6A7EC2)](https://discord.gg/refine)\n[![Twitter Follow](https://img.shields.io/twitter/follow/refine_dev?style=social)](https://twitter.com/refine_dev)\n\n<a href=\"https://www.producthunt.com/posts/refine-open-source-react-framework?utm_source=badge-featured&utm_medium=badge&utm_souce=badge-refine-open-source-react-framework\" target=\"_blank\"><img src=\"https://api.producthunt.com/widgets/embed-image/v1/featured.svg?post_id=319164&theme=light\" alt=\"refine: Open Source React Framework - Focus your business logic. refine will do the rest. | Product Hunt\" style=\"width: 250px; height: 54px;\" width=\"250\" height=\"54\" /></a>\n\n[![Meercode CI Score](https://meercode.io/badge/pankod/refine?type=ci-score&branch=master&token=2ZiT8YsoJgt57JB23NYwXrFY3rJHZboT&lastDay=31)](https://meercode.io/)\n[![Meercode CI Success Rate](https://meercode.io/badge/pankod/refine?type=ci-success-rate&branch=master&token=2ZiT8YsoJgt57JB23NYwXrFY3rJHZboT&lastDay=31)](https://meercode.io/)\n[![Maintainability](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/maintainability)](https://codeclimate.com/github/pankod/refine/maintainability)\n[![Test Coverage](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/test_coverage)](https://codeclimate.com/github/pankod/refine/test_coverage)\n[![npm version](https://img.shields.io/npm/v/@pankod/refine-core.svg)](https://www.npmjs.com/package/@pankod/refine-core)\n[![npm](https://img.shields.io/npm/dm/@pankod/refine-core)](https://www.npmjs.com/package/@pankod/refine-core)\n[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.0-4baaaa.svg)](code_of_conduct.md)\n</div>\n\n<div align=\"center\" style=\"margin: 30px;\">\n  <img src=\"https://github.com/pankod/refine/blob/master/documentation/static/img/refine-promo-gif.gif?raw=true\" style=\"width:688px;\"/>\n</div>\n\n\n## What is refine?\n**refine** is a React-based framework for rapid ✨ development of web applications. \nIt eliminates the repetitive tasks demanded by **CRUD** operations and provides industry standard solutions for critical parts like **authentication**, **access control**, **routing**, **networking**, **state management** and **i18n**.\n\n**refine** is *headless by design* offering unlimited styling and customization options. \n\n## What do you mean by \"headless\" ?\nInstead of being a limited set of pre-styled components, **refine** is a collection of helper `hooks`, `components` and `providers`. They are all decoupled from your *UI components* and *business logic*, so they never keep you from customizing your *UI* or coding your own flow.\n\n**refine** seamlessly works with any **custom design** or **UI framework you favor**. For convenience, it ships with ready-made integrations for [Ant Design System](https://ant.design/) and [Material UI](https://mui.com/).\n\n## Use cases\n**refine** shines on *data-intensive* applications like *admin panels*, *dashboards* and *internal tools*. Thanks to built-in **SSR support**, **refine** can also power *customer-facing* applications like *storefronts*.\n\n## Key Features\n\n⚙️ Zero-config, **one-minute setup** with a **single CLI command**\n\n🔌 Connectors for **15+ backend services** including [REST API](https://github.com/pankod/refine/tree/master/packages/simple-rest), [GraphQL](https://github.com/pankod/refine/tree/master/packages/graphql), [NestJs CRUD](https://github.com/pankod/refine/tree/master/packages/nestjsx-crud), [Airtable](https://github.com/pankod/refine/tree/master/packages/airtable), [Strapi](https://github.com/pankod/refine/tree/master/packages/strapi), [Strapi v4](https://github.com/pankod/refine/tree/master/packages/strapi-v4), [Strapi GraphQL](https://github.com/pankod/refine/tree/master/packages/strapi-graphql), [Supabase](https://github.com/pankod/refine/tree/master/packages/supabase), [Hasura](https://github.com/pankod/refine/tree/master/packages/hasura), [Nhost](https://github.com/pankod/refine/tree/master/packages/nhost), [Appwrite](https://github.com/pankod/refine/tree/master/packages/appwrite), [Firebase](https://firebase.google.com/), [Directus](https://directus.io/) and [Altogic](https://github.com/pankod/refine/tree/master/packages/altogic)\n\n🌐 **SSR support** with **Next.js** or **Remix**\n\n⚛ Perfect **state management** & **mutations** with **React Query**\n\n🔀 **Advanced routing** with any router library of your choice\n\n🔐 Providers for seamless **authentication** and **access control** flows\n\n⚡ Out-of-the-box support for **live / real-time applications**\n\n📄 Easy **audit logs** &** **document versioning**\n\n💬 Support for any **i18n** framework\n\n💪 Future-proof, **robust architecture**\n\n✅ Full **test coverage**\n\n## Quick Start\n\nThe fastest way to get started with **refine** is using the [superplate](https://github.com/pankod/superplate) project starter tool.\nRun the following command to create a new **refine** project configured with  [Ant Design System](https://ant.design/) as the default UI framework:\n\n```\nnpx superplate-cli --preset refine-antd my-project\n```\n\nOnce the setup is complete, navigate to the project folder and start your project with:\n\n```\nnpm run dev\n```\n\nYour **refine** application will be accessible at [http://localhost:3000](http://localhost:3000):\n![Welcome on board](https://github.com/pankod/refine/blob/master/documentation/static/img/welcome-on-board.png?raw=true)\nLet's consume a public `fake REST API` and add two resources (*posts*, *categories*) to our project. Replace the contents of `src/App.tsx` with the following code:\n\n```tsx title=\"src/App.tsx\"\n\nimport { Refine, useMany } from \"@pankod/refine-core\";\nimport {\n    useTable,\n    List,\n    Table,\n    DateField,\n    Layout,\n    ReadyPage,\n    notificationProvider,\n    ErrorComponent,\n} from \"@pankod/refine-antd\";\nimport routerProvider from \"@pankod/refine-react-router-v6\";\nimport dataProvider from \"@pankod/refine-simple-rest\";\n\nimport \"@pankod/refine-antd/dist/styles.min.css\";\n\nconst App: React.FC = () => {\n    return (\n        <Refine\n            routerProvider={routerProvider}\n            dataProvider={dataProvider(\"https://api.fake-rest.refine.dev\")}\n            resources={[{ name: \"posts\", list: PostList }]}\n            Layout={Layout}\n            ReadyPage={ReadyPage}\n            notificationProvider={notificationProvider}\n            catchAll={<ErrorComponent />}\n        />\n    );\n};\n\nexport const PostList: React.FC = () => {\n    const { tableProps } = useTable<IPost>();\n\n    const categoryIds =\n        tableProps?.dataSource?.map((item) => item.category.id) ?? [];\n\n    const { data, isLoading } = useMany<ICategory>({\n        resource: \"categories\",\n        ids: categoryIds,\n        queryOptions: {\n            enabled: categoryIds.length > 0,\n        },\n    });\n\n    return (\n        <List>\n            <Table<IPost> {...tableProps} rowKey=\"id\">\n                <Table.Column dataIndex=\"title\" title=\"title\" />\n                <Table.Column\n                    dataIndex={[\"category\", \"id\"]}\n                    title=\"category\"\n                    render={(value: number) => {\n                        if (isLoading) {\n                            return \"loading...\";\n                        }\n\n                        return data?.data.find(\n                            (item: ICategory) => item.id === value,\n                        )?.title;\n                    }}\n                />\n                <Table.Column\n                    dataIndex=\"createdAt\"\n                    title=\"createdAt\"\n                    render={(value) => <DateField format=\"LLL\" value={value} />}\n                />\n            </Table>\n        </List>\n    );\n};\n\nexport default App;\n\ninterface IPost {\n  title: string;\n  createdAt: string;\n  category: { id: number };\n}\n\ninterface ICategory {\n  id: number;\n  title: string;\n}\n\n```\n\nNow, you should see the output as a table populated with `post` & `category` data:\n![First example result](https://github.com/pankod/refine/blob/master/documentation/static/img/first-example-result.png?raw=true)\n## Next Steps\n\n👉 Jump to [Refine<>Ant Design Tutorial](https://refine.dev/docs/ui-frameworks/antd/tutorial/) to continue your work and turn the example into a full-blown CRUD application.\n\n👉 Check out the [Refine<>Tailwind Tutorial](https://refine.dev/docs/ui-frameworks/antd/tutorial/) to learn how to use **refine** in a pure *headless* way.\n\n👉 Visit [Learn the Basics Page](https://refine.dev/docs/getting-started/basics/) to get informed about the fundemental concepts.\n\n👉 Read more on [Guides & Concepts](https://refine.dev/docs/guides-and-concepts/access-control/) for different usage scenarios.\n\n👉 See the real-life [Finefoods Demo](https://refine.dev/demo/) project.\n\n👉 Play with interactive [Examples](https://refine.dev/docs/examples/tutorial/headless-tutorial/)\n\n## Roadmap\nYou can find refine's <a href=\"https://github.com/pankod/refine/projects/1\">Public Roadmap here!</a> \n\n## Stargazers\n\n[![Stargazers repo roster for pankod/refine](https://reporoster.com/stars/pankod/refine)](https://github.com/pankod/refine/stargazers)\n\n## Contribution\n\nIf you have a bug to report, do not hesitate to file an issue.\n\nIf you are willing to fix an issue or propose a feature; all PRs with clear explanations are welcome and encouraged.\n\n## License\n\nLicensed under the MIT License, Copyright © 2021-present Pankod\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/pankod/refine/issues"},"homepage":"https://github.com/pankod/refine#readme","_id":"@pankod/refine-core@3.66.1","_nodeVersion":"16.17.0","_npmVersion":"8.15.0","dist":{"integrity":"sha512-Jkk/vroD64Qvb1JR2kA89EpknFEzzzJInIvYg7t1KQyu4hVHkvHrQDk8JG3PNcrU9p8fa9QbO8rgaPF8pBjLmw==","shasum":"4a69ed8cbd6920d82128eebbd4f9bdd884035395","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.66.1.tgz","fileCount":503,"unpackedSize":1882932,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBwH+DCuVBp0Nk1/lP5h8i4qwAwaa9Evpx2RGA+4VvxQAiEA3kmtUJixDzbxeXitXdyK3iuUgMSCnB/+UT28Lozq7Yk="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjF3rWACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmpz/BAAgPc2olZhVstd3qTAmbQYwgPw2qLFshhBIXkupwaBRyodSjBV\r\n0TAHVuFm1iN7hQFHCTWChi/OSvi5gp5Yl9DYBVhY4WySNRNAPsPnNNo6A8F2\r\navqpwDC+UIYiF3ntniOmnPmq6kmNjOJNKSsmw0ygREZ414Vuc40X5Kytv+L+\r\nYUe3aaS7kvayEAUMMIuFn6ULtbrjcvrmV+Z18XujoFEX5dv5/doshC8fJ/9y\r\nP8i96tUEntxa7Ky3JyL4kbeZtC43MHUV7BJ9KPpxaEKZ/CIDLdXC1OrlwR42\r\n+bmJu8T2E/Yj/9V+rHPWb03AlT5PW3eQTWwhBczpZNOF1/cGL/sGVWjadXwM\r\n3hTjVJolBR+GHwXsRlp6+cjaBFOBJrO72tIlZkiLovc0n6ez0Gl/Prlh8YAG\r\n0lLyytLwJvKw2SN0qFR9LxF74kaEeI/2MjSEuRT0YfGaLhs+PXEDEXXNF6F3\r\njYTHGZec2D2c7t5b2aIYvM4s0FhQww/+9OcsYtv+Hvn34Mq30ZgMcStuXkvn\r\ny+uh8fPB+25mNOM5hDbTclPX1sAOG7mXnL0ratCdEvWzMvd+87Fhli4WQzTG\r\nDy1rXcbKDCI9OUu1MPZ1wPhRJnjkagcWooBy3x+G22Dv/XWXTJrKJXZwGacQ\r\nU+fHyJCLDtisD5Qivy/2zZSuKcUCewtVutM=\r\n=SmyY\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"aydinakyol","email":"aydinakyol11@gmail.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.66.1_1662483158666_0.5084396029238634"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.67.0":{"name":"@pankod/refine-core","version":"3.67.0","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --format esm,cjs,iife --legacy-output","build":"tsup --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0","@types/react":"^17.0.0 || ^18.0.0","@types/react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.16.4","@testing-library/react":"^13.1.1","@testing-library/react-hooks":"^8.0.0","@testing-library/user-event":"^14.1.1","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^18.0.0","@types/react-dom":"^18.0.0","@types/react-router-dom":"^5.1.8","@types/testing-library__jest-dom":"^5.14.3","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"^6.0.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.7.4"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","lodash-es":"^4.17.21","lodash":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","@tanstack/react-query-devtools":"^4.0.10","@tanstack/react-query":"^4.0.10","tslib":"^2.3.1","warn-once":"^0.1.0"},"repository":{"type":"git","url":"git+https://github.com/pankod/refine.git","directory":"packages/core"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"17dd5af3e4c9f7f09e1e707362c6f5a9d1cab8a8","publishConfig":{"access":"public"},"bugs":{"url":"https://github.com/pankod/refine/issues"},"homepage":"https://github.com/pankod/refine#readme","_id":"@pankod/refine-core@3.67.0","_nodeVersion":"16.17.0","_npmVersion":"8.15.0","dist":{"integrity":"sha512-oO+pDRh0TaBz5FJZ069n8XqAczVIDm0juRoF0mETJ8iX5M3b6XXx7P4piJ3VlQHa2UJxQgMe3HEs5yG1STxxtw==","shasum":"7520378757285b24dfb4f4c9b8abd9f1c06bb270","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.67.0.tgz","fileCount":503,"unpackedSize":1883615,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEh4l/A481vKRRkL61y/3dalJuDozCTDGYi1an4/RvSwAiBN4BQWw33m+GKYgmUhn0Kqw8yTbhYnsnFa60EU4SNHww=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjGFYxACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpNmw/+KKY+0siOKxdqrToK6EV41BJ8GLlCW3YQD/GaPSMupQLtjkJb\r\nFvch2k7rkuvqOgjAqfqYvZEEsZGXsQuF93UvgMFjRcpm/R5BEDCyX7aXoDWD\r\nocGGvr1P8Ol1+wkd4/i7PyFlRCbUfdFdDI5Ga1QxQ+5ncQ8UDiAOC7JiC5ah\r\nWoYl9N1OXUHxKkhmXrj+wcNsoeaMKX2yTOXtDdfFSF6U8wJuP2+kOTvrIaNk\r\nfGmGgmKCn/b0ta2LXWyeLFiMUTvU4XM9EINlvLZgv9eSUq3VEgZuBkaD31gJ\r\n9w7hQEUMMDE49D0s7M2LJjRLVEAiBuE7C04yuRi0JxSF2J49mTGTA/jH7c99\r\ncQV7xqMDmZMJGbxjJv9XN8x9A2f5Z1tZqUv/33Z81Vr71YuNEiL9SIjaaB/M\r\n3dxBl7fNOTHa82fpXt4Y4GwcjDn9sZGHFLhGBhHe13+dsW+C9KstKSgefXvF\r\nJbHGGPlnln+6wu8FYq5UXQOmb+DXMaKTvVelVmtz/eiMByuHCs974AQ8kbwi\r\nOrZ4semPw5TqLdqUfggQVUXT4nUeNvpu7TPdR/cG6hS21gVNx/budn8zATkq\r\n9vpk2AmaL8agBQ1tarFtSeGgN9MyUbxbH75LUyHlXskRIy7x7ub/9vyIWYMH\r\nPqOqMu9asvuFVX66xXNIYWSZzcHmHBgI/Uw=\r\n=gBMa\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"aydinakyol","email":"aydinakyol11@gmail.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.67.0_1662539313722_0.6532719963645741"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.68.0":{"name":"@pankod/refine-core","version":"3.68.0","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --format esm,cjs,iife --legacy-output","build":"tsup --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0","@types/react":"^17.0.0 || ^18.0.0","@types/react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.16.4","@testing-library/react":"^13.1.1","@testing-library/react-hooks":"^8.0.0","@testing-library/user-event":"^14.1.1","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^18.0.0","@types/react-dom":"^18.0.0","@types/react-router-dom":"^5.1.8","@types/testing-library__jest-dom":"^5.14.3","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"^6.0.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.7.4"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","lodash-es":"^4.17.21","lodash":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","@tanstack/react-query-devtools":"^4.0.10","@tanstack/react-query":"^4.0.10","tslib":"^2.3.1","warn-once":"^0.1.0"},"repository":{"type":"git","url":"git+https://github.com/pankod/refine.git","directory":"packages/core"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"17dd5af3e4c9f7f09e1e707362c6f5a9d1cab8a8","publishConfig":{"access":"public"},"readme":"<div align=\"center\" style=\"margin: 30px;\">\n<a href=\"https://refine.dev/\">\n  <img src=\"https://raw.githubusercontent.com/pankod/refine/master/logo.png\"   style=\"width:250px;\" align=\"center\" />\n</a>\n<br />\n<br />\n\n<div align=\"center\">\n    <a href=\"https://refine.dev\">Home Page</a> |\n    <a href=\"https://refine.dev/demo/\">Demo</a> | \n    <a href=\"https://refine.dev/blog/\">Blog</a> | \n    <a href=\"https://refine.dev/docs/\">Documentation</a> | \n    <a href=\"https://github.com/pankod/refine/projects/1\">Roadmap</a> | \n    <a href=\"https://refine.dev/docs/examples/tutorial/\">Examples</a> | \n    <a href=\"https://refine.dev/enterprise/\">Enterprise</a> | \n    <a href=\"https://discord.gg/refine\">Discord</a>\n</div>\n\n</div>\n<br/>\n\n<div align=\"center\"><strong>Build your <a href=\"https://reactjs.org/\">React</a>-based CRUD applications, without constraints.</strong><br>Open source, headless web application framework developed with flexibility in mind.</div>\n\n<br />\n\n<div align=\"center\">\n\n[![Discord](https://img.shields.io/discord/837692625737613362.svg?label=&logo=discord&logoColor=ffffff&color=7389D8&labelColor=6A7EC2)](https://discord.gg/refine)\n[![Twitter Follow](https://img.shields.io/twitter/follow/refine_dev?style=social)](https://twitter.com/refine_dev)\n\n<a href=\"https://www.producthunt.com/posts/refine-open-source-react-framework?utm_source=badge-featured&utm_medium=badge&utm_souce=badge-refine-open-source-react-framework\" target=\"_blank\"><img src=\"https://api.producthunt.com/widgets/embed-image/v1/featured.svg?post_id=319164&theme=light\" alt=\"refine: Open Source React Framework - Focus your business logic. refine will do the rest. | Product Hunt\" style=\"width: 250px; height: 54px;\" width=\"250\" height=\"54\" /></a>\n\n[![Meercode CI Score](https://meercode.io/badge/pankod/refine?type=ci-score&branch=master&token=2ZiT8YsoJgt57JB23NYwXrFY3rJHZboT&lastDay=31)](https://meercode.io/)\n[![Meercode CI Success Rate](https://meercode.io/badge/pankod/refine?type=ci-success-rate&branch=master&token=2ZiT8YsoJgt57JB23NYwXrFY3rJHZboT&lastDay=31)](https://meercode.io/)\n[![Maintainability](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/maintainability)](https://codeclimate.com/github/pankod/refine/maintainability)\n[![Test Coverage](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/test_coverage)](https://codeclimate.com/github/pankod/refine/test_coverage)\n[![npm version](https://img.shields.io/npm/v/@pankod/refine-core.svg)](https://www.npmjs.com/package/@pankod/refine-core)\n[![npm](https://img.shields.io/npm/dm/@pankod/refine-core)](https://www.npmjs.com/package/@pankod/refine-core)\n[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.0-4baaaa.svg)](code_of_conduct.md)\n</div>\n\n<div align=\"center\" style=\"margin: 30px;\">\n  <img src=\"https://github.com/pankod/refine/blob/master/documentation/static/img/refine-promo-gif.gif?raw=true\" style=\"width:688px;\"/>\n</div>\n\n\n## What is refine?\n**refine** is a React-based framework for rapid ✨ development of web applications. \nIt eliminates the repetitive tasks demanded by **CRUD** operations and provides industry standard solutions for critical parts like **authentication**, **access control**, **routing**, **networking**, **state management** and **i18n**.\n\n**refine** is *headless by design* offering unlimited styling and customization options. \n\n## What do you mean by \"headless\" ?\nInstead of being a limited set of pre-styled components, **refine** is a collection of helper `hooks`, `components` and `providers`. They are all decoupled from your *UI components* and *business logic*, so they never keep you from customizing your *UI* or coding your own flow.\n\n**refine** seamlessly works with any **custom design** or **UI framework you favor**. For convenience, it ships with ready-made integrations for [Ant Design System](https://ant.design/) and [Material UI](https://mui.com/).\n\n## Use cases\n**refine** shines on *data-intensive* applications like *admin panels*, *dashboards* and *internal tools*. Thanks to built-in **SSR support**, **refine** can also power *customer-facing* applications like *storefronts*.\n\n## Key Features\n\n⚙️ Zero-config, **one-minute setup** with a **single CLI command**\n\n🔌 Connectors for **15+ backend services** including [REST API](https://github.com/pankod/refine/tree/master/packages/simple-rest), [GraphQL](https://github.com/pankod/refine/tree/master/packages/graphql), [NestJs CRUD](https://github.com/pankod/refine/tree/master/packages/nestjsx-crud), [Airtable](https://github.com/pankod/refine/tree/master/packages/airtable), [Strapi](https://github.com/pankod/refine/tree/master/packages/strapi), [Strapi v4](https://github.com/pankod/refine/tree/master/packages/strapi-v4), [Strapi GraphQL](https://github.com/pankod/refine/tree/master/packages/strapi-graphql), [Supabase](https://github.com/pankod/refine/tree/master/packages/supabase), [Hasura](https://github.com/pankod/refine/tree/master/packages/hasura), [Nhost](https://github.com/pankod/refine/tree/master/packages/nhost), [Appwrite](https://github.com/pankod/refine/tree/master/packages/appwrite), [Firebase](https://firebase.google.com/), [Directus](https://directus.io/) and [Altogic](https://github.com/pankod/refine/tree/master/packages/altogic)\n\n🌐 **SSR support** with **Next.js** or **Remix**\n\n⚛ Perfect **state management** & **mutations** with **React Query**\n\n🔀 **Advanced routing** with any router library of your choice\n\n🔐 Providers for seamless **authentication** and **access control** flows\n\n⚡ Out-of-the-box support for **live / real-time applications**\n\n📄 Easy **audit logs** &** **document versioning**\n\n💬 Support for any **i18n** framework\n\n💪 Future-proof, **robust architecture**\n\n✅ Full **test coverage**\n\n## Quick Start\n\nThe fastest way to get started with **refine** is using the [superplate](https://github.com/pankod/superplate) project starter tool.\nRun the following command to create a new **refine** project configured with  [Ant Design System](https://ant.design/) as the default UI framework:\n\n```\nnpx superplate-cli --preset refine-antd my-project\n```\n\nOnce the setup is complete, navigate to the project folder and start your project with:\n\n```\nnpm run dev\n```\n\nYour **refine** application will be accessible at [http://localhost:3000](http://localhost:3000):\n![Welcome on board](https://github.com/pankod/refine/blob/master/documentation/static/img/welcome-on-board.png?raw=true)\nLet's consume a public `fake REST API` and add two resources (*posts*, *categories*) to our project. Replace the contents of `src/App.tsx` with the following code:\n\n```tsx title=\"src/App.tsx\"\n\nimport { Refine, useMany } from \"@pankod/refine-core\";\nimport {\n    useTable,\n    List,\n    Table,\n    DateField,\n    Layout,\n    ReadyPage,\n    notificationProvider,\n    ErrorComponent,\n} from \"@pankod/refine-antd\";\nimport routerProvider from \"@pankod/refine-react-router-v6\";\nimport dataProvider from \"@pankod/refine-simple-rest\";\n\nimport \"@pankod/refine-antd/dist/styles.min.css\";\n\nconst App: React.FC = () => {\n    return (\n        <Refine\n            routerProvider={routerProvider}\n            dataProvider={dataProvider(\"https://api.fake-rest.refine.dev\")}\n            resources={[{ name: \"posts\", list: PostList }]}\n            Layout={Layout}\n            ReadyPage={ReadyPage}\n            notificationProvider={notificationProvider}\n            catchAll={<ErrorComponent />}\n        />\n    );\n};\n\nexport const PostList: React.FC = () => {\n    const { tableProps } = useTable<IPost>();\n\n    const categoryIds =\n        tableProps?.dataSource?.map((item) => item.category.id) ?? [];\n\n    const { data, isLoading } = useMany<ICategory>({\n        resource: \"categories\",\n        ids: categoryIds,\n        queryOptions: {\n            enabled: categoryIds.length > 0,\n        },\n    });\n\n    return (\n        <List>\n            <Table<IPost> {...tableProps} rowKey=\"id\">\n                <Table.Column dataIndex=\"title\" title=\"title\" />\n                <Table.Column\n                    dataIndex={[\"category\", \"id\"]}\n                    title=\"category\"\n                    render={(value: number) => {\n                        if (isLoading) {\n                            return \"loading...\";\n                        }\n\n                        return data?.data.find(\n                            (item: ICategory) => item.id === value,\n                        )?.title;\n                    }}\n                />\n                <Table.Column\n                    dataIndex=\"createdAt\"\n                    title=\"createdAt\"\n                    render={(value) => <DateField format=\"LLL\" value={value} />}\n                />\n            </Table>\n        </List>\n    );\n};\n\nexport default App;\n\ninterface IPost {\n  title: string;\n  createdAt: string;\n  category: { id: number };\n}\n\ninterface ICategory {\n  id: number;\n  title: string;\n}\n\n```\n\nNow, you should see the output as a table populated with `post` & `category` data:\n![First example result](https://github.com/pankod/refine/blob/master/documentation/static/img/first-example-result.png?raw=true)\n## Next Steps\n\n👉 Jump to [Refine<>Ant Design Tutorial](https://refine.dev/docs/ui-frameworks/antd/tutorial/) to continue your work and turn the example into a full-blown CRUD application.\n\n👉 Check out the [Refine<>Tailwind Tutorial](https://refine.dev/docs/ui-frameworks/antd/tutorial/) to learn how to use **refine** in a pure *headless* way.\n\n👉 Visit [Learn the Basics Page](https://refine.dev/docs/getting-started/basics/) to get informed about the fundemental concepts.\n\n👉 Read more on [Guides & Concepts](https://refine.dev/docs/guides-and-concepts/access-control/) for different usage scenarios.\n\n👉 See the real-life [Finefoods Demo](https://refine.dev/demo/) project.\n\n👉 Play with interactive [Examples](https://refine.dev/docs/examples/tutorial/headless-tutorial/)\n\n## Roadmap\nYou can find refine's <a href=\"https://github.com/pankod/refine/projects/1\">Public Roadmap here!</a> \n\n## Stargazers\n\n[![Stargazers repo roster for pankod/refine](https://reporoster.com/stars/pankod/refine)](https://github.com/pankod/refine/stargazers)\n\n## Contribution\n\nIf you have a bug to report, do not hesitate to file an issue.\n\nIf you are willing to fix an issue or propose a feature; all PRs with clear explanations are welcome and encouraged.\n\n## License\n\nLicensed under the MIT License, Copyright © 2021-present Pankod\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/pankod/refine/issues"},"homepage":"https://github.com/pankod/refine#readme","_id":"@pankod/refine-core@3.68.0","_nodeVersion":"16.17.0","_npmVersion":"8.15.0","dist":{"integrity":"sha512-qf5+U6cjoS0OCpP5UITROp3p7iu4hXwWr6+s1Q7oKDel8HjzB/P6PwrILAREED0b9DBVJ3GxsXlK1Hd5nqlLqA==","shasum":"a2e4a0e8587cb10fc0ceb6d3591e589f7090d8a3","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.68.0.tgz","fileCount":503,"unpackedSize":1885947,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDWd2mcnCvMdRglee4pFLQhxU7Ry9THz48VvSTV7hAengIgDwCR9DYSMZBcwkq41CEKUUxVQHfv7GUwjiBqDKdjU5s="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjGc9KACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrAbg/8D53LyelprNZb5bthXfLpzYczRFqn3NW0QXYEkCHJqrNVQma0\r\nqUvI/yH9o6Trx28ant1l6U88UpQj1XRdgne9eHXvkjHbTldSHF8VLBpA7yto\r\nHf1U0OeisTGlORPphuE2PDiO0WJYkL7FO6zCeoHpLf2nvNtO4Qh6wc3Itk6r\r\n8K660LZF6+mjNzhuofSt1LfaWTUdcOJZYB/nPgM2wkibJOS+2nb3CLYbhOiw\r\nQGwK1MbNUgSPoeIpby1XGREPFIDrifsIL+CL6cISGc4NieCbwi67t3VpYgQe\r\nlIXMrN/tjjliU73E1hxQOWOuv7FFh48bvFQUDH1fGY+rrkwZL5xoMUd5JIox\r\neidTu6ZYCrnMcyQyMvS9nPvbB9r2VfHVf2dOvYbHUfyXRaLyCD55JlFRCOR3\r\nZ2gmO+hNzyTJAJP7GlsvsUcXgX9IinH7Qy+560r9L4oScBjNaB3h7VPc7M4C\r\nQslYw3lQxZg7mUN2TvJfgnjkvqf/W7BHexRpEzo8UYIL3opDxpmTIgtgozTW\r\nPOGWupOEeZf7BPldi8saaSUS6CGvQk94flc4SKYjuLDDwjP8VsNiUEUifTer\r\noJP/8RzwVd39tY4PmZzgTDck236mjd9LuSjuTY+4qk9tgj73Fl5bnxgYvLhn\r\nC7F81CyFXJSDb/r5oCz/76RXzhcvmibq+aM=\r\n=SreI\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"aydinakyol","email":"aydinakyol11@gmail.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.68.0_1662635850463_0.414772503281271"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.69.0":{"name":"@pankod/refine-core","version":"3.69.0","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --format esm,cjs,iife --legacy-output","build":"tsup --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0","@types/react":"^17.0.0 || ^18.0.0","@types/react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.16.4","@testing-library/react":"^13.1.1","@testing-library/react-hooks":"^8.0.0","@testing-library/user-event":"^14.1.1","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^18.0.0","@types/react-dom":"^18.0.0","@types/react-router-dom":"^5.1.8","@types/testing-library__jest-dom":"^5.14.3","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"^6.0.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.7.4"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","lodash-es":"^4.17.21","lodash":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","@tanstack/react-query-devtools":"^4.0.10","@tanstack/react-query":"^4.0.10","tslib":"^2.3.1","warn-once":"^0.1.0"},"repository":{"type":"git","url":"git+https://github.com/pankod/refine.git","directory":"packages/core"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"17dd5af3e4c9f7f09e1e707362c6f5a9d1cab8a8","publishConfig":{"access":"public"},"bugs":{"url":"https://github.com/pankod/refine/issues"},"homepage":"https://github.com/pankod/refine#readme","_id":"@pankod/refine-core@3.69.0","_nodeVersion":"16.17.0","_npmVersion":"8.15.0","dist":{"integrity":"sha512-r/HHR5PiDaK7DOoYlB6q31sXTAqHOVNxgmXhsJJudR/Fut3tIag43OVtq7hPZVe3r8D6tvj2bc/K8EriwOJYHw==","shasum":"c53388c28eb56d2cf8e03e4bdfa976028bc1535f","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.69.0.tgz","fileCount":503,"unpackedSize":1886102,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEv2DOtP54sb7NldYVt0yniLT8IrVEyeP784iJcabcA8AiAgxvfbneNOZQyQy4/N4ZgNTq/CEx9HKH5he/AhE8TVxg=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjGdqnACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoOVw/+OykOEyI4cJYMoC0jaEDAuRUBDdaiyeT32WxOnPJXZU5Bh6Et\r\n+UfH/+VvlvtlyNngjumcQ7t0C7ePAm7ckyxj5vO/5LkO12wXyjVlyg5sea11\r\nm4qC5ofS9puvDrzGZr2pBTdCwBN4jn6If/mbAY+XQVzBzg9xZcUq4Gm6J94s\r\nHHV/v1JnUi8TIXo+tDLrjpaaNrEl1l0hD0AifGMv0a6xV1Unjvj1xi28o0Yz\r\nSq5dN4yW60fRY4c6NAeiwq5iiN3nKWFVXr4kM1FQ1mKi7ze5GKerClxyclQD\r\nuGk17VrBs5u704YLjvAPW/+epWjIk0CIdV9B8YjP9gFpRjPh5sRsIxmYbN4/\r\nWGmSIroMnPiOrDw8YSikq9+6u6asNnvWARFs75xGKqkXt3qaZsosRjlr2BqI\r\nMWK5HDgqyoDzC0gRMpJt3aIQxM9limjXd6HTUuqVHsjjocpaacu05chGrsuB\r\n3Gly4/BbYNVJ9xYeSI+PI7tyXWrPULK6QW6k8Rd+SgWhVetVhB+srYeZgtSx\r\nHXsFfkYT6+LWAoEJ874VGoDYc0zGiuRIpWWzXJ/r4g9T8zlDIVX6U5jRz9Fx\r\nJnWAvKMjztSfvFaM8mT9CXRWqnrl9a5YZtwV2rYDeInR4DCdvnlj5lTOvTvD\r\ndIi5ipNGSE3KN1EfQ1W5GilixlIK6vjuUFQ=\r\n=t3lj\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"aydinakyol","email":"aydinakyol11@gmail.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.69.0_1662638759311_0.9890579781335427"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.69.1":{"name":"@pankod/refine-core","version":"3.69.1","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --format esm,cjs,iife --legacy-output","build":"tsup --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0","@types/react":"^17.0.0 || ^18.0.0","@types/react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.16.4","@testing-library/react":"^13.1.1","@testing-library/react-hooks":"^8.0.0","@testing-library/user-event":"^14.1.1","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^18.0.0","@types/react-dom":"^18.0.0","@types/react-router-dom":"^5.1.8","@types/testing-library__jest-dom":"^5.14.3","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"^6.0.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.7.4"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","lodash-es":"^4.17.21","lodash":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","@tanstack/react-query-devtools":"^4.0.10","@tanstack/react-query":"^4.0.10","tslib":"^2.3.1","warn-once":"^0.1.0"},"repository":{"type":"git","url":"git+https://github.com/pankod/refine.git","directory":"packages/core"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"17dd5af3e4c9f7f09e1e707362c6f5a9d1cab8a8","publishConfig":{"access":"public"},"readme":"<div align=\"center\" style=\"margin: 30px;\">\n<a href=\"https://refine.dev/\">\n  <img src=\"https://raw.githubusercontent.com/pankod/refine/master/logo.png\"   style=\"width:250px;\" align=\"center\" />\n</a>\n<br />\n<br />\n\n<div align=\"center\">\n    <a href=\"https://refine.dev\">Home Page</a> |\n    <a href=\"https://refine.dev/demo/\">Demo</a> | \n    <a href=\"https://refine.dev/blog/\">Blog</a> | \n    <a href=\"https://refine.dev/docs/\">Documentation</a> | \n    <a href=\"https://github.com/pankod/refine/projects/1\">Roadmap</a> | \n    <a href=\"https://refine.dev/docs/examples/tutorial/\">Examples</a> | \n    <a href=\"https://refine.dev/enterprise/\">Enterprise</a> | \n    <a href=\"https://discord.gg/refine\">Discord</a>\n</div>\n\n</div>\n<br/>\n\n<div align=\"center\"><strong>Build your <a href=\"https://reactjs.org/\">React</a>-based CRUD applications, without constraints.</strong><br>Open source, headless web application framework developed with flexibility in mind.</div>\n\n<br />\n\n<div align=\"center\">\n\n[![Discord](https://img.shields.io/discord/837692625737613362.svg?label=&logo=discord&logoColor=ffffff&color=7389D8&labelColor=6A7EC2)](https://discord.gg/refine)\n[![Twitter Follow](https://img.shields.io/twitter/follow/refine_dev?style=social)](https://twitter.com/refine_dev)\n\n<a href=\"https://www.producthunt.com/posts/refine-open-source-react-framework?utm_source=badge-featured&utm_medium=badge&utm_souce=badge-refine-open-source-react-framework\" target=\"_blank\"><img src=\"https://api.producthunt.com/widgets/embed-image/v1/featured.svg?post_id=319164&theme=light\" alt=\"refine: Open Source React Framework - Focus your business logic. refine will do the rest. | Product Hunt\" style=\"width: 250px; height: 54px;\" width=\"250\" height=\"54\" /></a>\n\n[![Meercode CI Score](https://meercode.io/badge/pankod/refine?type=ci-score&branch=master&token=2ZiT8YsoJgt57JB23NYwXrFY3rJHZboT&lastDay=31)](https://meercode.io/)\n[![Meercode CI Success Rate](https://meercode.io/badge/pankod/refine?type=ci-success-rate&branch=master&token=2ZiT8YsoJgt57JB23NYwXrFY3rJHZboT&lastDay=31)](https://meercode.io/)\n[![Maintainability](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/maintainability)](https://codeclimate.com/github/pankod/refine/maintainability)\n[![Test Coverage](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/test_coverage)](https://codeclimate.com/github/pankod/refine/test_coverage)\n[![npm version](https://img.shields.io/npm/v/@pankod/refine-core.svg)](https://www.npmjs.com/package/@pankod/refine-core)\n[![npm](https://img.shields.io/npm/dm/@pankod/refine-core)](https://www.npmjs.com/package/@pankod/refine-core)\n[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.0-4baaaa.svg)](code_of_conduct.md)\n</div>\n\n<div align=\"center\" style=\"margin: 30px;\">\n  <img src=\"https://github.com/pankod/refine/blob/master/documentation/static/img/refine-promo-gif.gif?raw=true\" style=\"width:688px;\"/>\n</div>\n\n\n## What is refine?\n**refine** is a React-based framework for rapid ✨ development of web applications. \nIt eliminates the repetitive tasks demanded by **CRUD** operations and provides industry standard solutions for critical parts like **authentication**, **access control**, **routing**, **networking**, **state management** and **i18n**.\n\n**refine** is *headless by design* offering unlimited styling and customization options. \n\n## What do you mean by \"headless\" ?\nInstead of being a limited set of pre-styled components, **refine** is a collection of helper `hooks`, `components` and `providers`. They are all decoupled from your *UI components* and *business logic*, so they never keep you from customizing your *UI* or coding your own flow.\n\n**refine** seamlessly works with any **custom design** or **UI framework you favor**. For convenience, it ships with ready-made integrations for [Ant Design System](https://ant.design/) and [Material UI](https://mui.com/).\n\n## Use cases\n**refine** shines on *data-intensive* applications like *admin panels*, *dashboards* and *internal tools*. Thanks to built-in **SSR support**, **refine** can also power *customer-facing* applications like *storefronts*.\n\n## Key Features\n\n⚙️ Zero-config, **one-minute setup** with a **single CLI command**\n\n🔌 Connectors for **15+ backend services** including [REST API](https://github.com/pankod/refine/tree/master/packages/simple-rest), [GraphQL](https://github.com/pankod/refine/tree/master/packages/graphql), [NestJs CRUD](https://github.com/pankod/refine/tree/master/packages/nestjsx-crud), [Airtable](https://github.com/pankod/refine/tree/master/packages/airtable), [Strapi](https://github.com/pankod/refine/tree/master/packages/strapi), [Strapi v4](https://github.com/pankod/refine/tree/master/packages/strapi-v4), [Strapi GraphQL](https://github.com/pankod/refine/tree/master/packages/strapi-graphql), [Supabase](https://github.com/pankod/refine/tree/master/packages/supabase), [Hasura](https://github.com/pankod/refine/tree/master/packages/hasura), [Nhost](https://github.com/pankod/refine/tree/master/packages/nhost), [Appwrite](https://github.com/pankod/refine/tree/master/packages/appwrite), [Firebase](https://firebase.google.com/), [Directus](https://directus.io/) and [Altogic](https://github.com/pankod/refine/tree/master/packages/altogic)\n\n🌐 **SSR support** with **Next.js** or **Remix**\n\n⚛ Perfect **state management** & **mutations** with **React Query**\n\n🔀 **Advanced routing** with any router library of your choice\n\n🔐 Providers for seamless **authentication** and **access control** flows\n\n⚡ Out-of-the-box support for **live / real-time applications**\n\n📄 Easy **audit logs** &** **document versioning**\n\n💬 Support for any **i18n** framework\n\n💪 Future-proof, **robust architecture**\n\n✅ Full **test coverage**\n\n## Quick Start\n\nThe fastest way to get started with **refine** is using the [superplate](https://github.com/pankod/superplate) project starter tool.\nRun the following command to create a new **refine** project configured with  [Ant Design System](https://ant.design/) as the default UI framework:\n\n```\nnpx superplate-cli --preset refine-antd my-project\n```\n\nOnce the setup is complete, navigate to the project folder and start your project with:\n\n```\nnpm run dev\n```\n\nYour **refine** application will be accessible at [http://localhost:3000](http://localhost:3000):\n![Welcome on board](https://github.com/pankod/refine/blob/master/documentation/static/img/welcome-on-board.png?raw=true)\nLet's consume a public `fake REST API` and add two resources (*posts*, *categories*) to our project. Replace the contents of `src/App.tsx` with the following code:\n\n```tsx title=\"src/App.tsx\"\n\nimport { Refine, useMany } from \"@pankod/refine-core\";\nimport {\n    useTable,\n    List,\n    Table,\n    DateField,\n    Layout,\n    ReadyPage,\n    notificationProvider,\n    ErrorComponent,\n} from \"@pankod/refine-antd\";\nimport routerProvider from \"@pankod/refine-react-router-v6\";\nimport dataProvider from \"@pankod/refine-simple-rest\";\n\nimport \"@pankod/refine-antd/dist/styles.min.css\";\n\nconst App: React.FC = () => {\n    return (\n        <Refine\n            routerProvider={routerProvider}\n            dataProvider={dataProvider(\"https://api.fake-rest.refine.dev\")}\n            resources={[{ name: \"posts\", list: PostList }]}\n            Layout={Layout}\n            ReadyPage={ReadyPage}\n            notificationProvider={notificationProvider}\n            catchAll={<ErrorComponent />}\n        />\n    );\n};\n\nexport const PostList: React.FC = () => {\n    const { tableProps } = useTable<IPost>();\n\n    const categoryIds =\n        tableProps?.dataSource?.map((item) => item.category.id) ?? [];\n\n    const { data, isLoading } = useMany<ICategory>({\n        resource: \"categories\",\n        ids: categoryIds,\n        queryOptions: {\n            enabled: categoryIds.length > 0,\n        },\n    });\n\n    return (\n        <List>\n            <Table<IPost> {...tableProps} rowKey=\"id\">\n                <Table.Column dataIndex=\"title\" title=\"title\" />\n                <Table.Column\n                    dataIndex={[\"category\", \"id\"]}\n                    title=\"category\"\n                    render={(value: number) => {\n                        if (isLoading) {\n                            return \"loading...\";\n                        }\n\n                        return data?.data.find(\n                            (item: ICategory) => item.id === value,\n                        )?.title;\n                    }}\n                />\n                <Table.Column\n                    dataIndex=\"createdAt\"\n                    title=\"createdAt\"\n                    render={(value) => <DateField format=\"LLL\" value={value} />}\n                />\n            </Table>\n        </List>\n    );\n};\n\nexport default App;\n\ninterface IPost {\n  title: string;\n  createdAt: string;\n  category: { id: number };\n}\n\ninterface ICategory {\n  id: number;\n  title: string;\n}\n\n```\n\nNow, you should see the output as a table populated with `post` & `category` data:\n![First example result](https://github.com/pankod/refine/blob/master/documentation/static/img/first-example-result.png?raw=true)\n## Next Steps\n\n👉 Jump to [Refine<>Ant Design Tutorial](https://refine.dev/docs/ui-frameworks/antd/tutorial/) to continue your work and turn the example into a full-blown CRUD application.\n\n👉 Check out the [Refine<>Tailwind Tutorial](https://refine.dev/docs/ui-frameworks/antd/tutorial/) to learn how to use **refine** in a pure *headless* way.\n\n👉 Visit [Learn the Basics Page](https://refine.dev/docs/getting-started/basics/) to get informed about the fundemental concepts.\n\n👉 Read more on [Guides & Concepts](https://refine.dev/docs/guides-and-concepts/access-control/) for different usage scenarios.\n\n👉 See the real-life [Finefoods Demo](https://refine.dev/demo/) project.\n\n👉 Play with interactive [Examples](https://refine.dev/docs/examples/tutorial/headless-tutorial/)\n\n## Roadmap\nYou can find refine's <a href=\"https://github.com/pankod/refine/projects/1\">Public Roadmap here!</a> \n\n## Stargazers\n\n[![Stargazers repo roster for pankod/refine](https://reporoster.com/stars/pankod/refine)](https://github.com/pankod/refine/stargazers)\n\n## Contribution\n\nIf you have a bug to report, do not hesitate to file an issue.\n\nIf you are willing to fix an issue or propose a feature; all PRs with clear explanations are welcome and encouraged.\n\n## License\n\nLicensed under the MIT License, Copyright © 2021-present Pankod\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/pankod/refine/issues"},"homepage":"https://github.com/pankod/refine#readme","_id":"@pankod/refine-core@3.69.1","_nodeVersion":"16.17.0","_npmVersion":"8.15.0","dist":{"integrity":"sha512-DIvye18rMgpvjV34c1vuhk12ONqXybwGQr5Xj3bCCSCab96VKyyd2tHSeEFG2ZDNPitTO+Er1Ns+CkN55cVjLg==","shasum":"4cd07b199a590f0e6e472277a264a1522f832a30","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.69.1.tgz","fileCount":503,"unpackedSize":1888359,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAo7fzumiak2cTDMmdm0s3Y8Op0H1vqH/kfd3jpc66FdAiBFcBCCof+xPDcLHwH8AdcOJ1xfe4h505TzHo0gKdJtJw=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjGvQJACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp82w//e0+YcQRBgoJ0xpva/2mVTgpqdGSsRgXDImG00fjfXbkjQ7tC\r\nuLfp4RZFnw0v2FGJdHBjFNntzb9v+wAOIYW9LeR4FbtIxTcYHGrRAWtePjKG\r\nd8snb9/y/rF4kcdt/5kDWquxYCTli6UUCDrSd1Oy0XIjMslZb1UMHyR3N91b\r\neLakpPUf6HDVVJRPpDeQuYBKXTZNQuu/LXbVdMLxoQDGZQ2AP2bKpgew+aJ9\r\n1XABi23qHNTZesR05lYng09Ifdad3EBAVTE8a5vbwNsyrLKoUeBcEIrUEjtH\r\nXlBXe7Ddp/pwoPuto8475WnpOgDwML2q/NsxXn87TZtGv0HV7MFW6FJtLACX\r\nVM2MoyuTIx/IJf4FhEqOVkla1m1bePWJkqYmChK9s0S0BeAWWlKPKzXKmcvj\r\nmUPkyIcbUWU7SdZsZudCniNT7/PIROs6MzqHPxF892qch8znhiKvaZL0dee6\r\n0npll4OOefvtVGv2kmxZi4b1aLBl4cJLZaEQxHfBfWhw4iqwtoV7bT6IaPEE\r\nNiQGxlpPZkh3zH9O2JWZwN5sxZjhDew8b7s3l6+DGiZs3W1HwU22HgaxB6Oh\r\nW8eHhCBrmkcmyWpDJfyWg345x10bEyEVe/4qnZfitmDkAj1r85Y+qhESu6lh\r\nPIEItlVpoDLkvHRT4AofVJMx8MH0BrdomXE=\r\n=nmJr\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"aydinakyol","email":"aydinakyol11@gmail.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.69.1_1662710793327_0.17210714845861186"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.69.2":{"name":"@pankod/refine-core","version":"3.69.2","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --format esm,cjs,iife --legacy-output","build":"tsup --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0","@types/react":"^17.0.0 || ^18.0.0","@types/react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.16.4","@testing-library/react":"^13.1.1","@testing-library/react-hooks":"^8.0.0","@testing-library/user-event":"^14.1.1","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^18.0.0","@types/react-dom":"^18.0.0","@types/react-router-dom":"^5.1.8","@types/testing-library__jest-dom":"^5.14.3","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"^6.0.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.7.4"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","lodash-es":"^4.17.21","lodash":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","@tanstack/react-query-devtools":"^4.0.10","@tanstack/react-query":"^4.0.10","tslib":"^2.3.1","warn-once":"^0.1.0"},"repository":{"type":"git","url":"git+https://github.com/pankod/refine.git","directory":"packages/core"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"17dd5af3e4c9f7f09e1e707362c6f5a9d1cab8a8","publishConfig":{"access":"public"},"bugs":{"url":"https://github.com/pankod/refine/issues"},"homepage":"https://github.com/pankod/refine#readme","_id":"@pankod/refine-core@3.69.2","_nodeVersion":"16.17.0","_npmVersion":"8.15.0","dist":{"integrity":"sha512-Cf3CzILIf+KeqhMV7jXktdpRsQ9NAT0qk/7AwGSwOHXXPPV9rYRPmIVTKR1+K2XxFWcOPfXsG7QWca/L8iNroA==","shasum":"bfaf1101e27e3c9518e099b277a401fda67ec1c7","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.69.2.tgz","fileCount":503,"unpackedSize":1888518,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCID0CiTcWYMBn6pW7JwmGhBcZ25j8qGZwQjmlCyKCRzhoAiEAvqyonQwXQCSjL7BiQHsbXhHaqn7Rxlq8R4VeaKLD9IY="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjGv19ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr4nw/8DiZnP5C1pJuOxV0mo0Dr0pBDeWYbVzbt/MnVzAQB+9OmUwFd\r\nhu2+OngiOd0e36qC4YPSk/wEIXdlVjJJvLNtuwsbLSkIHdLuyark2/VAOUuo\r\nRtcphqW3VDxw65uvC51PrG+/7zFPKXp4CXrN8pO3nx1EyFhGRxdBFtXPmwIR\r\nZJBE4scW/ble/S/JSpVQI9ziz6ApRzThbV/tZ1UfV+BP4DZWHbswxDYlqK7j\r\nzbY01Y0cpnJ1neddIcjLT4choyBh6x7jkuDCnodf5rXYiovZA8YXSBTcMp9G\r\nJabnX92eJjRrtQx1L7VbVkJjNciWYuvpmun4WaDstZvNa4CGLyYJZDgk9VnF\r\nhe3WKHXwlEwllAagdu7c4aRg/pX6Tmuj6hzzPqDN2OC1ugI643QMsRw2NQ8f\r\nUR0Kp3zfdeMIC5yqKv6pb02GB7kyY6eP6JeswSAQWoSxTtBR3gAZsy6A8Ajm\r\nfyJL3Xfms6IKVjIzhp70YJm31yFTSl09FDezfCIBeuGGY9sCSRBNPfb7ia1G\r\n+t8ohdsVRGE7vRecNhgu/p5ZJsqlfWMW1WCzNoDgQh9B3i/8iaOq6Glmb6Ph\r\nWgtSZg1pzss5s01MhAD3L3noPmddbuCi0hVj81LROudLN53rofrWLbBAHny8\r\nxrik4RKkdD6wQDDk47oYFFY5inLrlNTokWI=\r\n=CRes\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"aydinakyol","email":"aydinakyol11@gmail.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.69.2_1662713212905_0.6262338686631512"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.69.3":{"name":"@pankod/refine-core","version":"3.69.3","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --format esm,cjs,iife --legacy-output","build":"tsup --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0","@types/react":"^17.0.0 || ^18.0.0","@types/react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.16.4","@testing-library/react":"^13.1.1","@testing-library/react-hooks":"^8.0.0","@testing-library/user-event":"^14.1.1","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^18.0.0","@types/react-dom":"^18.0.0","@types/react-router-dom":"^5.1.8","@types/testing-library__jest-dom":"^5.14.3","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"^6.0.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.7.4"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","lodash-es":"^4.17.21","lodash":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","@tanstack/react-query-devtools":"^4.0.10","@tanstack/react-query":"^4.0.10","tslib":"^2.3.1","warn-once":"^0.1.0"},"repository":{"type":"git","url":"git+https://github.com/pankod/refine.git","directory":"packages/core"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"17dd5af3e4c9f7f09e1e707362c6f5a9d1cab8a8","publishConfig":{"access":"public"},"readme":"<div align=\"center\" style=\"margin: 30px;\">\n<a href=\"https://refine.dev/\">\n  <img src=\"https://raw.githubusercontent.com/pankod/refine/master/logo.png\"   style=\"width:250px;\" align=\"center\" />\n</a>\n<br />\n<br />\n\n<div align=\"center\">\n    <a href=\"https://refine.dev\">Home Page</a> |\n    <a href=\"https://refine.dev/demo/\">Demo</a> | \n    <a href=\"https://refine.dev/blog/\">Blog</a> | \n    <a href=\"https://refine.dev/docs/\">Documentation</a> | \n    <a href=\"https://github.com/pankod/refine/projects/1\">Roadmap</a> | \n    <a href=\"https://refine.dev/docs/examples/tutorial/\">Examples</a> | \n    <a href=\"https://refine.dev/enterprise/\">Enterprise</a> | \n    <a href=\"https://discord.gg/refine\">Discord</a>\n</div>\n\n</div>\n<br/>\n\n<div align=\"center\"><strong>Build your <a href=\"https://reactjs.org/\">React</a>-based CRUD applications, without constraints.</strong><br>Open source, headless web application framework developed with flexibility in mind.</div>\n\n<br />\n\n<div align=\"center\">\n\n[![Discord](https://img.shields.io/discord/837692625737613362.svg?label=&logo=discord&logoColor=ffffff&color=7389D8&labelColor=6A7EC2)](https://discord.gg/refine)\n[![Twitter Follow](https://img.shields.io/twitter/follow/refine_dev?style=social)](https://twitter.com/refine_dev)\n\n<a href=\"https://www.producthunt.com/posts/refine-open-source-react-framework?utm_source=badge-featured&utm_medium=badge&utm_souce=badge-refine-open-source-react-framework\" target=\"_blank\"><img src=\"https://api.producthunt.com/widgets/embed-image/v1/featured.svg?post_id=319164&theme=light\" alt=\"refine: Open Source React Framework - Focus your business logic. refine will do the rest. | Product Hunt\" style=\"width: 250px; height: 54px;\" width=\"250\" height=\"54\" /></a>\n\n[![Meercode CI Score](https://meercode.io/badge/pankod/refine?type=ci-score&branch=master&token=2ZiT8YsoJgt57JB23NYwXrFY3rJHZboT&lastDay=31)](https://meercode.io/)\n[![Meercode CI Success Rate](https://meercode.io/badge/pankod/refine?type=ci-success-rate&branch=master&token=2ZiT8YsoJgt57JB23NYwXrFY3rJHZboT&lastDay=31)](https://meercode.io/)\n[![Maintainability](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/maintainability)](https://codeclimate.com/github/pankod/refine/maintainability)\n[![Test Coverage](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/test_coverage)](https://codeclimate.com/github/pankod/refine/test_coverage)\n[![npm version](https://img.shields.io/npm/v/@pankod/refine-core.svg)](https://www.npmjs.com/package/@pankod/refine-core)\n[![npm](https://img.shields.io/npm/dm/@pankod/refine-core)](https://www.npmjs.com/package/@pankod/refine-core)\n[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.0-4baaaa.svg)](code_of_conduct.md)\n</div>\n\n<div align=\"center\" style=\"margin: 30px;\">\n  <img src=\"https://github.com/pankod/refine/blob/master/documentation/static/img/refine-promo-gif.gif?raw=true\" style=\"width:688px;\"/>\n</div>\n\n\n## What is refine?\n**refine** is a React-based framework for rapid ✨ development of web applications. \nIt eliminates the repetitive tasks demanded by **CRUD** operations and provides industry standard solutions for critical parts like **authentication**, **access control**, **routing**, **networking**, **state management** and **i18n**.\n\n**refine** is *headless by design* offering unlimited styling and customization options. \n\n## What do you mean by \"headless\" ?\nInstead of being a limited set of pre-styled components, **refine** is a collection of helper `hooks`, `components` and `providers`. They are all decoupled from your *UI components* and *business logic*, so they never keep you from customizing your *UI* or coding your own flow.\n\n**refine** seamlessly works with any **custom design** or **UI framework you favor**. For convenience, it ships with ready-made integrations for [Ant Design System](https://ant.design/) and [Material UI](https://mui.com/).\n\n## Use cases\n**refine** shines on *data-intensive* applications like *admin panels*, *dashboards* and *internal tools*. Thanks to built-in **SSR support**, **refine** can also power *customer-facing* applications like *storefronts*.\n\n## Key Features\n\n⚙️ Zero-config, **one-minute setup** with a **single CLI command**\n\n🔌 Connectors for **15+ backend services** including [REST API](https://github.com/pankod/refine/tree/master/packages/simple-rest), [GraphQL](https://github.com/pankod/refine/tree/master/packages/graphql), [NestJs CRUD](https://github.com/pankod/refine/tree/master/packages/nestjsx-crud), [Airtable](https://github.com/pankod/refine/tree/master/packages/airtable), [Strapi](https://github.com/pankod/refine/tree/master/packages/strapi), [Strapi v4](https://github.com/pankod/refine/tree/master/packages/strapi-v4), [Strapi GraphQL](https://github.com/pankod/refine/tree/master/packages/strapi-graphql), [Supabase](https://github.com/pankod/refine/tree/master/packages/supabase), [Hasura](https://github.com/pankod/refine/tree/master/packages/hasura), [Nhost](https://github.com/pankod/refine/tree/master/packages/nhost), [Appwrite](https://github.com/pankod/refine/tree/master/packages/appwrite), [Firebase](https://firebase.google.com/), [Directus](https://directus.io/) and [Altogic](https://github.com/pankod/refine/tree/master/packages/altogic)\n\n🌐 **SSR support** with **Next.js** or **Remix**\n\n⚛ Perfect **state management** & **mutations** with **React Query**\n\n🔀 **Advanced routing** with any router library of your choice\n\n🔐 Providers for seamless **authentication** and **access control** flows\n\n⚡ Out-of-the-box support for **live / real-time applications**\n\n📄 Easy **audit logs** &** **document versioning**\n\n💬 Support for any **i18n** framework\n\n💪 Future-proof, **robust architecture**\n\n✅ Full **test coverage**\n\n## Quick Start\n\nThe fastest way to get started with **refine** is using the [superplate](https://github.com/pankod/superplate) project starter tool.\nRun the following command to create a new **refine** project configured with  [Ant Design System](https://ant.design/) as the default UI framework:\n\n```\nnpx superplate-cli --preset refine-antd my-project\n```\n\nOnce the setup is complete, navigate to the project folder and start your project with:\n\n```\nnpm run dev\n```\n\nYour **refine** application will be accessible at [http://localhost:3000](http://localhost:3000):\n![Welcome on board](https://github.com/pankod/refine/blob/master/documentation/static/img/welcome-on-board.png?raw=true)\nLet's consume a public `fake REST API` and add two resources (*posts*, *categories*) to our project. Replace the contents of `src/App.tsx` with the following code:\n\n```tsx title=\"src/App.tsx\"\n\nimport { Refine, useMany } from \"@pankod/refine-core\";\nimport {\n    useTable,\n    List,\n    Table,\n    DateField,\n    Layout,\n    ReadyPage,\n    notificationProvider,\n    ErrorComponent,\n} from \"@pankod/refine-antd\";\nimport routerProvider from \"@pankod/refine-react-router-v6\";\nimport dataProvider from \"@pankod/refine-simple-rest\";\n\nimport \"@pankod/refine-antd/dist/styles.min.css\";\n\nconst App: React.FC = () => {\n    return (\n        <Refine\n            routerProvider={routerProvider}\n            dataProvider={dataProvider(\"https://api.fake-rest.refine.dev\")}\n            resources={[{ name: \"posts\", list: PostList }]}\n            Layout={Layout}\n            ReadyPage={ReadyPage}\n            notificationProvider={notificationProvider}\n            catchAll={<ErrorComponent />}\n        />\n    );\n};\n\nexport const PostList: React.FC = () => {\n    const { tableProps } = useTable<IPost>();\n\n    const categoryIds =\n        tableProps?.dataSource?.map((item) => item.category.id) ?? [];\n\n    const { data, isLoading } = useMany<ICategory>({\n        resource: \"categories\",\n        ids: categoryIds,\n        queryOptions: {\n            enabled: categoryIds.length > 0,\n        },\n    });\n\n    return (\n        <List>\n            <Table<IPost> {...tableProps} rowKey=\"id\">\n                <Table.Column dataIndex=\"title\" title=\"title\" />\n                <Table.Column\n                    dataIndex={[\"category\", \"id\"]}\n                    title=\"category\"\n                    render={(value: number) => {\n                        if (isLoading) {\n                            return \"loading...\";\n                        }\n\n                        return data?.data.find(\n                            (item: ICategory) => item.id === value,\n                        )?.title;\n                    }}\n                />\n                <Table.Column\n                    dataIndex=\"createdAt\"\n                    title=\"createdAt\"\n                    render={(value) => <DateField format=\"LLL\" value={value} />}\n                />\n            </Table>\n        </List>\n    );\n};\n\nexport default App;\n\ninterface IPost {\n  title: string;\n  createdAt: string;\n  category: { id: number };\n}\n\ninterface ICategory {\n  id: number;\n  title: string;\n}\n\n```\n\nNow, you should see the output as a table populated with `post` & `category` data:\n![First example result](https://github.com/pankod/refine/blob/master/documentation/static/img/first-example-result.png?raw=true)\n## Next Steps\n\n👉 Jump to [Refine<>Ant Design Tutorial](https://refine.dev/docs/ui-frameworks/antd/tutorial/) to continue your work and turn the example into a full-blown CRUD application.\n\n👉 Check out the [Refine<>Tailwind Tutorial](https://refine.dev/docs/ui-frameworks/antd/tutorial/) to learn how to use **refine** in a pure *headless* way.\n\n👉 Visit [Learn the Basics Page](https://refine.dev/docs/getting-started/basics/) to get informed about the fundemental concepts.\n\n👉 Read more on [Guides & Concepts](https://refine.dev/docs/guides-and-concepts/access-control/) for different usage scenarios.\n\n👉 See the real-life [Finefoods Demo](https://refine.dev/demo/) project.\n\n👉 Play with interactive [Examples](https://refine.dev/docs/examples/tutorial/headless-tutorial/)\n\n## Roadmap\nYou can find refine's <a href=\"https://github.com/pankod/refine/projects/1\">Public Roadmap here!</a> \n\n## Stargazers\n\n[![Stargazers repo roster for pankod/refine](https://reporoster.com/stars/pankod/refine)](https://github.com/pankod/refine/stargazers)\n\n## Contribution\n\nIf you have a bug to report, do not hesitate to file an issue.\n\nIf you are willing to fix an issue or propose a feature; all PRs with clear explanations are welcome and encouraged.\n\n## License\n\nLicensed under the MIT License, Copyright © 2021-present Pankod\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/pankod/refine/issues"},"homepage":"https://github.com/pankod/refine#readme","_id":"@pankod/refine-core@3.69.3","_nodeVersion":"16.17.0","_npmVersion":"8.15.0","dist":{"integrity":"sha512-fsXJfW4eb8a/s9VOcF1KEmfDSKt7lRFNZRzAGDeEgA3Do2t95Zyrs6SGsSSMKM4K17o8XfH8+V6qKollcwd8vw==","shasum":"05579c01037964c85cdc1389d37bceaf81c3610d","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.69.3.tgz","fileCount":503,"unpackedSize":1888772,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIArDA+nffEDrO3CYr/iDFytDEQtPAsXWK4+yZGu14SqKAiBhtT87Pl8jJEpdwuwLjqMEBOUHPe+KpAikA3oSjdF9mQ=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjG1yPACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpWYA//V6Sj9SLBlVVhTSW5i1ScarXbJ9n0xnMT3rZWyp1/1NfdRgYW\r\nh8iTUvB1cdl+enJOiqnw6CrohjVYDnEP0khwVO6z6OA1TAjfBpJqn3/9/KAs\r\nd2qDfDwLEts92Z2LfVXOizO9prvX79PHSi7pvSjDVnIONk67/coWEzs/kIQM\r\nfu9eus+Bxk2qU8WAFvAhBnPtZGpGWy/F44gB7pJ4snBDztQfu5hZTY/6qJAt\r\ngOWlT/wlzGxiYKNgN/KLdZ5ri2bdYsVd+IvWI0wV6zSSgJOurkJT/a/QZUrM\r\nSr9WR1hvIV8G1/qpwW3t+baW2DQ/8Km74vuEL463hsOeQ2MBo05iD7IvT5a+\r\n+YUVja657lX1lM0tlCY/aZqiwxdJrHWXUjlx/IT80zZhY1vZWuJ8nfdYoHdN\r\n74N1PU0cs6SwCRDoj6gIwXSL22R9DheWzccd9W4552FaO3kW80E9I54zr2iA\r\nIt5M7A83vuNoph+CeHkDVwCdTV5viS65a7xmPYtCqJKP86QAgFXv0kOcPpke\r\n7NGq/GdQjrXKbwW/4mqwVAdM8IpMZ7XU9ZgUzqkwK2C0eVK+MUfCsEyWCWLd\r\njzyuPV3L0dsZi/hTfYuvm4SgpIIL8IOoZ5p1VmH0HAtB+CXWW/NqWSbwGV/0\r\nJNWs47ygYas7ikhM2oglvQn1EX/oj/Cp6cU=\r\n=wtmg\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"aydinakyol","email":"aydinakyol11@gmail.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.69.3_1662737551087_0.6773184479604066"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.69.4":{"name":"@pankod/refine-core","version":"3.69.4","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --format esm,cjs,iife --legacy-output","build":"tsup --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0","@types/react":"^17.0.0 || ^18.0.0","@types/react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.16.4","@testing-library/react":"^13.1.1","@testing-library/react-hooks":"^8.0.0","@testing-library/user-event":"^14.1.1","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^18.0.0","@types/react-dom":"^18.0.0","@types/react-router-dom":"^5.1.8","@types/testing-library__jest-dom":"^5.14.3","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"^6.0.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.7.4"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","lodash-es":"^4.17.21","lodash":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","@tanstack/react-query-devtools":"^4.0.10","@tanstack/react-query":"^4.0.10","tslib":"^2.3.1","warn-once":"^0.1.0"},"repository":{"type":"git","url":"git+https://github.com/pankod/refine.git","directory":"packages/core"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"17dd5af3e4c9f7f09e1e707362c6f5a9d1cab8a8","publishConfig":{"access":"public"},"bugs":{"url":"https://github.com/pankod/refine/issues"},"homepage":"https://github.com/pankod/refine#readme","_id":"@pankod/refine-core@3.69.4","_nodeVersion":"16.17.0","_npmVersion":"8.15.0","dist":{"integrity":"sha512-hq121agFTc9lCtks/dV8kGaPOgMsJya4Ien9SF1cQ4Qd+kXIAeNQMC2Y7kmu4xskPZIsZvy3Vki6mbJ0nEhBUg==","shasum":"2930a54150c3d492d148aac77687d58e94472fd1","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.69.4.tgz","fileCount":503,"unpackedSize":1888845,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICxVUn9cyuBkpsE3TiYHhvjcVpTnfoQEEHKLXmdtXl/3AiA1Nsl4/ENb/V7PZCYrQCWO0nAT7ffdZ8Cx1gORUbEqDw=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjG2AfACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqAAg//bbeIycG/EbpILt78UP5ARWbYPNaZ1pfC769ptHKVLhlWg+4j\r\nIhAv72ZtS2sCvbBAlB8GtpowyMmGuqdXFFt+A/qC4UNWVBVRLZo7d4d32YLC\r\n0jAiO/JMOgaSlspN+YObnPrTFyHT0bJDyVgVYCkV6hj2pIzBfwfWbCjhA3C6\r\nyxEbQXgehGRIi5qaWZDZCS1A6wx2Rh4al3FZjT9B5GOYVhRfXJnaUG6WvwlK\r\njCCohx4EcDSQvAqMrIZ9qX/sBf//hYH1vS/lJJD98qTYnrHZvILuZWmAi8zP\r\nHO3llR72ixPKatvjbeyk0DaGyRH5Smw5c4QrKMexDq1YMPPwJA2sBHrJlJUl\r\ngh1O1cCxPIb8Ym1xxbJs93G4MnPu4PMGNiV45AywOQxtfGAE9s8YKl0eu1Yg\r\n5iojzZjz/uk+8+dxjCuVscAEpF9j0wBh53FmASg27c9wSy+2DBB0K/ShomAo\r\n/xIHDfalT7TZMOcObYW0XA4/ytze45SgHdJeVDCpUW6hJtAo9N5MRVbp9iuk\r\n1LJBpMUTJ0q4naLvSp/lUW/RW5zMSHKzRXlMAYhe8rQc4s19NVovI0wMunl/\r\n4uRRMo2f4BsJKL1hntp/qtJwnoULGis2acIgdgfFaB9031svpQcmWvOaEDrS\r\nWQ/azE/yvcWlcb/8hYH7iQmJ4yQIQYb9+Mw=\r\n=WbMG\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"aydinakyol","email":"aydinakyol11@gmail.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.69.4_1662738463499_0.845394879234745"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.69.5":{"name":"@pankod/refine-core","version":"3.69.5","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --format esm,cjs,iife --legacy-output","build":"tsup --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0","@types/react":"^17.0.0 || ^18.0.0","@types/react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.16.4","@testing-library/react":"^13.1.1","@testing-library/react-hooks":"^8.0.0","@testing-library/user-event":"^14.1.1","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^18.0.0","@types/react-dom":"^18.0.0","@types/react-router-dom":"^5.1.8","@types/testing-library__jest-dom":"^5.14.3","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"^6.0.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.7.4"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","lodash-es":"^4.17.21","lodash":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","@tanstack/react-query-devtools":"^4.0.10","@tanstack/react-query":"^4.0.10","tslib":"^2.3.1","warn-once":"^0.1.0"},"repository":{"type":"git","url":"git+https://github.com/pankod/refine.git","directory":"packages/core"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"17dd5af3e4c9f7f09e1e707362c6f5a9d1cab8a8","publishConfig":{"access":"public"},"readme":"<div align=\"center\" style=\"margin: 30px;\">\n<a href=\"https://refine.dev/\">\n  <img src=\"https://raw.githubusercontent.com/pankod/refine/master/logo.png\"   style=\"width:250px;\" align=\"center\" />\n</a>\n<br />\n<br />\n\n<div align=\"center\">\n    <a href=\"https://refine.dev\">Home Page</a> |\n    <a href=\"https://refine.dev/demo/\">Demo</a> | \n    <a href=\"https://refine.dev/blog/\">Blog</a> | \n    <a href=\"https://refine.dev/docs/\">Documentation</a> | \n    <a href=\"https://github.com/pankod/refine/projects/1\">Roadmap</a> | \n    <a href=\"https://refine.dev/docs/examples/tutorial/\">Examples</a> | \n    <a href=\"https://refine.dev/enterprise/\">Enterprise</a> | \n    <a href=\"https://discord.gg/refine\">Discord</a>\n</div>\n\n</div>\n<br/>\n\n<div align=\"center\"><strong>Build your <a href=\"https://reactjs.org/\">React</a>-based CRUD applications, without constraints.</strong><br>Open source, headless web application framework developed with flexibility in mind.</div>\n\n<br />\n\n<div align=\"center\">\n\n[![Discord](https://img.shields.io/discord/837692625737613362.svg?label=&logo=discord&logoColor=ffffff&color=7389D8&labelColor=6A7EC2)](https://discord.gg/refine)\n[![Twitter Follow](https://img.shields.io/twitter/follow/refine_dev?style=social)](https://twitter.com/refine_dev)\n\n<a href=\"https://www.producthunt.com/posts/refine-open-source-react-framework?utm_source=badge-featured&utm_medium=badge&utm_souce=badge-refine-open-source-react-framework\" target=\"_blank\"><img src=\"https://api.producthunt.com/widgets/embed-image/v1/featured.svg?post_id=319164&theme=light\" alt=\"refine: Open Source React Framework - Focus your business logic. refine will do the rest. | Product Hunt\" style=\"width: 250px; height: 54px;\" width=\"250\" height=\"54\" /></a>\n\n[![Meercode CI Score](https://meercode.io/badge/pankod/refine?type=ci-score&branch=master&token=2ZiT8YsoJgt57JB23NYwXrFY3rJHZboT&lastDay=31)](https://meercode.io/)\n[![Meercode CI Success Rate](https://meercode.io/badge/pankod/refine?type=ci-success-rate&branch=master&token=2ZiT8YsoJgt57JB23NYwXrFY3rJHZboT&lastDay=31)](https://meercode.io/)\n[![Maintainability](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/maintainability)](https://codeclimate.com/github/pankod/refine/maintainability)\n[![Test Coverage](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/test_coverage)](https://codeclimate.com/github/pankod/refine/test_coverage)\n[![npm version](https://img.shields.io/npm/v/@pankod/refine-core.svg)](https://www.npmjs.com/package/@pankod/refine-core)\n[![npm](https://img.shields.io/npm/dm/@pankod/refine-core)](https://www.npmjs.com/package/@pankod/refine-core)\n[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.0-4baaaa.svg)](code_of_conduct.md)\n</div>\n\n<div align=\"center\" style=\"margin: 30px;\">\n  <img src=\"https://github.com/pankod/refine/blob/master/documentation/static/img/refine-promo-gif.gif?raw=true\" style=\"width:688px;\"/>\n</div>\n\n\n## What is refine?\n**refine** is a React-based framework for rapid ✨ development of web applications. \nIt eliminates the repetitive tasks demanded by **CRUD** operations and provides industry standard solutions for critical parts like **authentication**, **access control**, **routing**, **networking**, **state management** and **i18n**.\n\n**refine** is *headless by design* offering unlimited styling and customization options. \n\n## What do you mean by \"headless\" ?\nInstead of being a limited set of pre-styled components, **refine** is a collection of helper `hooks`, `components` and `providers`. They are all decoupled from your *UI components* and *business logic*, so they never keep you from customizing your *UI* or coding your own flow.\n\n**refine** seamlessly works with any **custom design** or **UI framework you favor**. For convenience, it ships with ready-made integrations for [Ant Design System](https://ant.design/) and [Material UI](https://mui.com/).\n\n## Use cases\n**refine** shines on *data-intensive* applications like *admin panels*, *dashboards* and *internal tools*. Thanks to built-in **SSR support**, **refine** can also power *customer-facing* applications like *storefronts*.\n\n## Key Features\n\n⚙️ Zero-config, **one-minute setup** with a **single CLI command**\n\n🔌 Connectors for **15+ backend services** including [REST API](https://github.com/pankod/refine/tree/master/packages/simple-rest), [GraphQL](https://github.com/pankod/refine/tree/master/packages/graphql), [NestJs CRUD](https://github.com/pankod/refine/tree/master/packages/nestjsx-crud), [Airtable](https://github.com/pankod/refine/tree/master/packages/airtable), [Strapi](https://github.com/pankod/refine/tree/master/packages/strapi), [Strapi v4](https://github.com/pankod/refine/tree/master/packages/strapi-v4), [Strapi GraphQL](https://github.com/pankod/refine/tree/master/packages/strapi-graphql), [Supabase](https://github.com/pankod/refine/tree/master/packages/supabase), [Hasura](https://github.com/pankod/refine/tree/master/packages/hasura), [Nhost](https://github.com/pankod/refine/tree/master/packages/nhost), [Appwrite](https://github.com/pankod/refine/tree/master/packages/appwrite), [Firebase](https://firebase.google.com/), [Directus](https://directus.io/) and [Altogic](https://github.com/pankod/refine/tree/master/packages/altogic)\n\n🌐 **SSR support** with **Next.js** or **Remix**\n\n⚛ Perfect **state management** & **mutations** with **React Query**\n\n🔀 **Advanced routing** with any router library of your choice\n\n🔐 Providers for seamless **authentication** and **access control** flows\n\n⚡ Out-of-the-box support for **live / real-time applications**\n\n📄 Easy **audit logs** &** **document versioning**\n\n💬 Support for any **i18n** framework\n\n💪 Future-proof, **robust architecture**\n\n✅ Full **test coverage**\n\n## Quick Start\n\nThe fastest way to get started with **refine** is using the [superplate](https://github.com/pankod/superplate) project starter tool.\nRun the following command to create a new **refine** project configured with  [Ant Design System](https://ant.design/) as the default UI framework:\n\n```\nnpx superplate-cli --preset refine-antd my-project\n```\n\nOnce the setup is complete, navigate to the project folder and start your project with:\n\n```\nnpm run dev\n```\n\nYour **refine** application will be accessible at [http://localhost:3000](http://localhost:3000):\n![Welcome on board](https://github.com/pankod/refine/blob/master/documentation/static/img/welcome-on-board.png?raw=true)\nLet's consume a public `fake REST API` and add two resources (*posts*, *categories*) to our project. Replace the contents of `src/App.tsx` with the following code:\n\n```tsx title=\"src/App.tsx\"\n\nimport { Refine, useMany } from \"@pankod/refine-core\";\nimport {\n    useTable,\n    List,\n    Table,\n    DateField,\n    Layout,\n    ReadyPage,\n    notificationProvider,\n    ErrorComponent,\n} from \"@pankod/refine-antd\";\nimport routerProvider from \"@pankod/refine-react-router-v6\";\nimport dataProvider from \"@pankod/refine-simple-rest\";\n\nimport \"@pankod/refine-antd/dist/styles.min.css\";\n\nconst App: React.FC = () => {\n    return (\n        <Refine\n            routerProvider={routerProvider}\n            dataProvider={dataProvider(\"https://api.fake-rest.refine.dev\")}\n            resources={[{ name: \"posts\", list: PostList }]}\n            Layout={Layout}\n            ReadyPage={ReadyPage}\n            notificationProvider={notificationProvider}\n            catchAll={<ErrorComponent />}\n        />\n    );\n};\n\nexport const PostList: React.FC = () => {\n    const { tableProps } = useTable<IPost>();\n\n    const categoryIds =\n        tableProps?.dataSource?.map((item) => item.category.id) ?? [];\n\n    const { data, isLoading } = useMany<ICategory>({\n        resource: \"categories\",\n        ids: categoryIds,\n        queryOptions: {\n            enabled: categoryIds.length > 0,\n        },\n    });\n\n    return (\n        <List>\n            <Table<IPost> {...tableProps} rowKey=\"id\">\n                <Table.Column dataIndex=\"title\" title=\"title\" />\n                <Table.Column\n                    dataIndex={[\"category\", \"id\"]}\n                    title=\"category\"\n                    render={(value: number) => {\n                        if (isLoading) {\n                            return \"loading...\";\n                        }\n\n                        return data?.data.find(\n                            (item: ICategory) => item.id === value,\n                        )?.title;\n                    }}\n                />\n                <Table.Column\n                    dataIndex=\"createdAt\"\n                    title=\"createdAt\"\n                    render={(value) => <DateField format=\"LLL\" value={value} />}\n                />\n            </Table>\n        </List>\n    );\n};\n\nexport default App;\n\ninterface IPost {\n  title: string;\n  createdAt: string;\n  category: { id: number };\n}\n\ninterface ICategory {\n  id: number;\n  title: string;\n}\n\n```\n\nNow, you should see the output as a table populated with `post` & `category` data:\n![First example result](https://github.com/pankod/refine/blob/master/documentation/static/img/first-example-result.png?raw=true)\n## Next Steps\n\n👉 Jump to [Refine<>Ant Design Tutorial](https://refine.dev/docs/ui-frameworks/antd/tutorial/) to continue your work and turn the example into a full-blown CRUD application.\n\n👉 Check out the [Refine<>Tailwind Tutorial](https://refine.dev/docs/ui-frameworks/antd/tutorial/) to learn how to use **refine** in a pure *headless* way.\n\n👉 Visit [Learn the Basics Page](https://refine.dev/docs/getting-started/basics/) to get informed about the fundemental concepts.\n\n👉 Read more on [Guides & Concepts](https://refine.dev/docs/guides-and-concepts/access-control/) for different usage scenarios.\n\n👉 See the real-life [Finefoods Demo](https://refine.dev/demo/) project.\n\n👉 Play with interactive [Examples](https://refine.dev/docs/examples/tutorial/headless-tutorial/)\n\n## Roadmap\nYou can find refine's <a href=\"https://github.com/pankod/refine/projects/1\">Public Roadmap here!</a> \n\n## Stargazers\n\n[![Stargazers repo roster for pankod/refine](https://reporoster.com/stars/pankod/refine)](https://github.com/pankod/refine/stargazers)\n\n## Contribution\n\nIf you have a bug to report, do not hesitate to file an issue.\n\nIf you are willing to fix an issue or propose a feature; all PRs with clear explanations are welcome and encouraged.\n\n## License\n\nLicensed under the MIT License, Copyright © 2021-present Pankod\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/pankod/refine/issues"},"homepage":"https://github.com/pankod/refine#readme","_id":"@pankod/refine-core@3.69.5","_nodeVersion":"16.17.0","_npmVersion":"8.15.0","dist":{"integrity":"sha512-e26KwUtulEy27fzE8Ep742mWLM5cE0KBKkBeWAhatW2z3EiHnDXEggphlAavjz8OzltLwvumAqmChnGrTBsQaw==","shasum":"ea20484d6c92a46f43e758d2eda26f2d0fdd62ed","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.69.5.tgz","fileCount":503,"unpackedSize":1889001,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCGN2dscRw2YTCfp0xUM0XoOLeTivYx6USLDgB6dvmleAIgZJ4202vIsRXx5rn1ePVXg67HmOn8hdLLiNPNSeWzhsw="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjHuIHACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmpyvw//VA3hzDeeXhjtzSZqG6zK43kOErSLiEDdAGQKPNNuV0vL75gi\r\nsqtYaJX3916yv8hMSqykDeEGdVvheQV9KOlqd/jQOc57N7ayNDBdJhJ2DA5N\r\nQ3MSWdRDpt1UU9+vRZ0bBN2jiEh3ogSHSd5NkYj6Pb7beCEH1QUny7lZO5zP\r\nY88XO0m7cRjeaL7eUoV3gQGjrc9xLD6rDQYgJmLUYpES6wnNP/txscOjdAqq\r\nB2ezD/OzLqkEAuoJd24H9sbn4i5fJserTByg0KL/olqqCR19xK1sCKRgqj2e\r\nVcclXWQn5L7DV9XvNJuDFnpUKrh+HRqmsV+JZbC/gBzuvZeznQ5jDaYuE8wb\r\nwDFtOJLRuVrETSr/iGDtF0RBt6P2xupwyLR50kpp29WFSDQg2xZtWRkBEo92\r\n2pdFRUxhk6sSr8a001sEy7b/kOIvydCZzCLIB3fYw+uaQllCOrIof6Rd2hH8\r\n1pbD886SijGo0gKgELmLjnT01nWOeQpgykxLNDYx9InJ69kOQJz8DXcWuhIy\r\njjoCmvpz3W97KAVXIApfjum0RusbEL/aWDHZXr9NIclPQJKHy562ltPtUg1r\r\nkvZ9lIApS/iSyBh3L5EVKJejjdhoR0BhPQ7Xu+4T33C2l6YwIArVBnQIUp6W\r\nNUkdou+XvNQRy8T8Tv7tinGKoOmZgqOs284=\r\n=C3SI\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"aydinakyol","email":"aydinakyol11@gmail.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.69.5_1662968326931_0.811882249799087"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.69.6":{"name":"@pankod/refine-core","version":"3.69.6","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --format esm,cjs,iife --legacy-output","build":"tsup --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0","@types/react":"^17.0.0 || ^18.0.0","@types/react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.16.4","@testing-library/react":"^13.1.1","@testing-library/react-hooks":"^8.0.0","@testing-library/user-event":"^14.1.1","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^18.0.0","@types/react-dom":"^18.0.0","@types/react-router-dom":"^5.1.8","@types/testing-library__jest-dom":"^5.14.3","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"^6.0.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.7.4"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","lodash-es":"^4.17.21","lodash":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","@tanstack/react-query-devtools":"^4.0.10","@tanstack/react-query":"^4.0.10","tslib":"^2.3.1","warn-once":"^0.1.0"},"repository":{"type":"git","url":"git+https://github.com/pankod/refine.git","directory":"packages/core"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"17dd5af3e4c9f7f09e1e707362c6f5a9d1cab8a8","publishConfig":{"access":"public"},"bugs":{"url":"https://github.com/pankod/refine/issues"},"homepage":"https://github.com/pankod/refine#readme","_id":"@pankod/refine-core@3.69.6","_nodeVersion":"16.17.0","_npmVersion":"8.15.0","dist":{"integrity":"sha512-TSztEaoMSDIN/8T6qiG5QtTmX/9v5yG332aTnrKJve6aXBfSkTN2ieuhHsjtZ1glDL8KhiiATOt6q7d0E2GADA==","shasum":"f93117115fbe73dbf829e9cdf78316b9624581f4","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.69.6.tgz","fileCount":503,"unpackedSize":1889090,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCIBIA5nfd3rPk3X8cJx93KTPltFxJpBqKbnpFXtk1wqwIhANDLz5Y1FEXoepp4286BeG05J1fT0htmioMf4ENANvuj"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjHulHACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp8qw/+LbVF68HyaZo8f31VjDQhJcwJuYQkV0NFuAM0xtBhaOk3vuN+\r\nc1rtIOdJJEEOMUTeCuEwPZdICjwn+mMuFbCvjNDq3fAKKg+HBrSXRDKUHag3\r\n9LQe9IZ7aID4Fcb1OtwVOsLnd0qJg7K8gDCg9KZ6Y27mRw6ioJaxzxXtBhN3\r\nVfybqYjds4F8JzPCuWUs271affpiWcs8Hmu5i/Z70uy3ziH4ybnFPW0My4ha\r\n+8SnLatME7emM9GMNpTrFLRujMGepihghNBOUCeLDdWN3dnB9Yn1OZK6uf5Y\r\n1Mp6mf7qe5M+rCMjRU+pcWTxnpskIIKyUAmBc0H13gNfnIzlq4Y8/XHaymkj\r\n3DMyUkNDaZ3VBgxfRNLeqRPG7C/zDyjP/JgOcRPPvONu6MbVSTs9/OqHkhxC\r\njXZTaqiaLczPooNTH8TM7fUUd2NUXo46YYH7E14Y+z3aH9zdQSKwwR5n43eF\r\n6ZGOwyyCyJt3sWGC0s+zBzy5YFzkG7zW7+GNPEhAIUcGbbBfcwpaM0WcmOUI\r\niWpJHrL8xykNX23XOS2gJyb/cPwokgeQV3U/Yx19sCgaCZIjJOHiyGIMjQW0\r\nbfjABCfxjo/wMLVty00AYkJIolLLpjkZD9zRhNHYFayFkqsCViw485uCn8FZ\r\nDbKkNrtKUN2bqKBqdT/3pRLXPtf/PaCxdgo=\r\n=/AoA\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"aydinakyol","email":"aydinakyol11@gmail.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.69.6_1662970183238_0.22431780201321727"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.69.7":{"name":"@pankod/refine-core","version":"3.69.7","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --format esm,cjs,iife --legacy-output","build":"tsup --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0","@types/react":"^17.0.0 || ^18.0.0","@types/react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.16.4","@testing-library/react":"^13.1.1","@testing-library/react-hooks":"^8.0.0","@testing-library/user-event":"^14.1.1","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^18.0.0","@types/react-dom":"^18.0.0","@types/react-router-dom":"^5.1.8","@types/testing-library__jest-dom":"^5.14.3","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"^6.0.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.7.4"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","lodash-es":"^4.17.21","lodash":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","@tanstack/react-query-devtools":"^4.0.10","@tanstack/react-query":"^4.0.10","tslib":"^2.3.1","warn-once":"^0.1.0"},"repository":{"type":"git","url":"git+https://github.com/pankod/refine.git","directory":"packages/core"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"17dd5af3e4c9f7f09e1e707362c6f5a9d1cab8a8","publishConfig":{"access":"public"},"readme":"<div align=\"center\" style=\"margin: 30px;\">\n<a href=\"https://refine.dev/\">\n  <img src=\"https://raw.githubusercontent.com/pankod/refine/master/logo.png\"   style=\"width:250px;\" align=\"center\" />\n</a>\n<br />\n<br />\n\n<div align=\"center\">\n    <a href=\"https://refine.dev\">Home Page</a> |\n    <a href=\"https://refine.dev/demo/\">Demo</a> | \n    <a href=\"https://refine.dev/blog/\">Blog</a> | \n    <a href=\"https://refine.dev/docs/\">Documentation</a> | \n    <a href=\"https://github.com/pankod/refine/projects/1\">Roadmap</a> | \n    <a href=\"https://refine.dev/docs/examples/tutorial/\">Examples</a> | \n    <a href=\"https://refine.dev/enterprise/\">Enterprise</a> | \n    <a href=\"https://discord.gg/refine\">Discord</a>\n</div>\n\n</div>\n<br/>\n\n<div align=\"center\"><strong>Build your <a href=\"https://reactjs.org/\">React</a>-based CRUD applications, without constraints.</strong><br>Open source, headless web application framework developed with flexibility in mind.</div>\n\n<br />\n\n<div align=\"center\">\n\n[![Discord](https://img.shields.io/discord/837692625737613362.svg?label=&logo=discord&logoColor=ffffff&color=7389D8&labelColor=6A7EC2)](https://discord.gg/refine)\n[![Twitter Follow](https://img.shields.io/twitter/follow/refine_dev?style=social)](https://twitter.com/refine_dev)\n\n<a href=\"https://www.producthunt.com/posts/refine-open-source-react-framework?utm_source=badge-featured&utm_medium=badge&utm_souce=badge-refine-open-source-react-framework\" target=\"_blank\"><img src=\"https://api.producthunt.com/widgets/embed-image/v1/featured.svg?post_id=319164&theme=light\" alt=\"refine: Open Source React Framework - Focus your business logic. refine will do the rest. | Product Hunt\" style=\"width: 250px; height: 54px;\" width=\"250\" height=\"54\" /></a>\n\n[![Meercode CI Score](https://meercode.io/badge/pankod/refine?type=ci-score&branch=master&token=2ZiT8YsoJgt57JB23NYwXrFY3rJHZboT&lastDay=31)](https://meercode.io/)\n[![Meercode CI Success Rate](https://meercode.io/badge/pankod/refine?type=ci-success-rate&branch=master&token=2ZiT8YsoJgt57JB23NYwXrFY3rJHZboT&lastDay=31)](https://meercode.io/)\n[![Maintainability](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/maintainability)](https://codeclimate.com/github/pankod/refine/maintainability)\n[![Test Coverage](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/test_coverage)](https://codeclimate.com/github/pankod/refine/test_coverage)\n[![npm version](https://img.shields.io/npm/v/@pankod/refine-core.svg)](https://www.npmjs.com/package/@pankod/refine-core)\n[![npm](https://img.shields.io/npm/dm/@pankod/refine-core)](https://www.npmjs.com/package/@pankod/refine-core)\n[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.0-4baaaa.svg)](code_of_conduct.md)\n</div>\n\n<div align=\"center\" style=\"margin: 30px;\">\n  <img src=\"https://github.com/pankod/refine/blob/master/documentation/static/img/refine-promo-gif.gif?raw=true\" style=\"width:688px;\"/>\n</div>\n\n\n## What is refine?\n**refine** is a React-based framework for rapid ✨ development of web applications. \nIt eliminates the repetitive tasks demanded by **CRUD** operations and provides industry standard solutions for critical parts like **authentication**, **access control**, **routing**, **networking**, **state management** and **i18n**.\n\n**refine** is *headless by design* offering unlimited styling and customization options. \n\n## What do you mean by \"headless\" ?\nInstead of being a limited set of pre-styled components, **refine** is a collection of helper `hooks`, `components` and `providers`. They are all decoupled from your *UI components* and *business logic*, so they never keep you from customizing your *UI* or coding your own flow.\n\n**refine** seamlessly works with any **custom design** or **UI framework you favor**. For convenience, it ships with ready-made integrations for [Ant Design System](https://ant.design/) and [Material UI](https://mui.com/).\n\n## Use cases\n**refine** shines on *data-intensive* applications like *admin panels*, *dashboards* and *internal tools*. Thanks to built-in **SSR support**, **refine** can also power *customer-facing* applications like *storefronts*.\n\n## Key Features\n\n⚙️ Zero-config, **one-minute setup** with a **single CLI command**\n\n🔌 Connectors for **15+ backend services** including [REST API](https://github.com/pankod/refine/tree/master/packages/simple-rest), [GraphQL](https://github.com/pankod/refine/tree/master/packages/graphql), [NestJs CRUD](https://github.com/pankod/refine/tree/master/packages/nestjsx-crud), [Airtable](https://github.com/pankod/refine/tree/master/packages/airtable), [Strapi](https://github.com/pankod/refine/tree/master/packages/strapi), [Strapi v4](https://github.com/pankod/refine/tree/master/packages/strapi-v4), [Strapi GraphQL](https://github.com/pankod/refine/tree/master/packages/strapi-graphql), [Supabase](https://github.com/pankod/refine/tree/master/packages/supabase), [Hasura](https://github.com/pankod/refine/tree/master/packages/hasura), [Nhost](https://github.com/pankod/refine/tree/master/packages/nhost), [Appwrite](https://github.com/pankod/refine/tree/master/packages/appwrite), [Firebase](https://firebase.google.com/), [Directus](https://directus.io/) and [Altogic](https://github.com/pankod/refine/tree/master/packages/altogic)\n\n🌐 **SSR support** with **Next.js** or **Remix**\n\n⚛ Perfect **state management** & **mutations** with **React Query**\n\n🔀 **Advanced routing** with any router library of your choice\n\n🔐 Providers for seamless **authentication** and **access control** flows\n\n⚡ Out-of-the-box support for **live / real-time applications**\n\n📄 Easy **audit logs** &** **document versioning**\n\n💬 Support for any **i18n** framework\n\n💪 Future-proof, **robust architecture**\n\n✅ Full **test coverage**\n\n## Quick Start\n\nThe fastest way to get started with **refine** is using the [superplate](https://github.com/pankod/superplate) project starter tool.\nRun the following command to create a new **refine** project configured with  [Ant Design System](https://ant.design/) as the default UI framework:\n\n```\nnpx superplate-cli --preset refine-antd my-project\n```\n\nOnce the setup is complete, navigate to the project folder and start your project with:\n\n```\nnpm run dev\n```\n\nYour **refine** application will be accessible at [http://localhost:3000](http://localhost:3000):\n![Welcome on board](https://github.com/pankod/refine/blob/master/documentation/static/img/welcome-on-board.png?raw=true)\nLet's consume a public `fake REST API` and add two resources (*posts*, *categories*) to our project. Replace the contents of `src/App.tsx` with the following code:\n\n```tsx title=\"src/App.tsx\"\n\nimport { Refine, useMany } from \"@pankod/refine-core\";\nimport {\n    useTable,\n    List,\n    Table,\n    DateField,\n    Layout,\n    ReadyPage,\n    notificationProvider,\n    ErrorComponent,\n} from \"@pankod/refine-antd\";\nimport routerProvider from \"@pankod/refine-react-router-v6\";\nimport dataProvider from \"@pankod/refine-simple-rest\";\n\nimport \"@pankod/refine-antd/dist/styles.min.css\";\n\nconst App: React.FC = () => {\n    return (\n        <Refine\n            routerProvider={routerProvider}\n            dataProvider={dataProvider(\"https://api.fake-rest.refine.dev\")}\n            resources={[{ name: \"posts\", list: PostList }]}\n            Layout={Layout}\n            ReadyPage={ReadyPage}\n            notificationProvider={notificationProvider}\n            catchAll={<ErrorComponent />}\n        />\n    );\n};\n\nexport const PostList: React.FC = () => {\n    const { tableProps } = useTable<IPost>();\n\n    const categoryIds =\n        tableProps?.dataSource?.map((item) => item.category.id) ?? [];\n\n    const { data, isLoading } = useMany<ICategory>({\n        resource: \"categories\",\n        ids: categoryIds,\n        queryOptions: {\n            enabled: categoryIds.length > 0,\n        },\n    });\n\n    return (\n        <List>\n            <Table<IPost> {...tableProps} rowKey=\"id\">\n                <Table.Column dataIndex=\"title\" title=\"title\" />\n                <Table.Column\n                    dataIndex={[\"category\", \"id\"]}\n                    title=\"category\"\n                    render={(value: number) => {\n                        if (isLoading) {\n                            return \"loading...\";\n                        }\n\n                        return data?.data.find(\n                            (item: ICategory) => item.id === value,\n                        )?.title;\n                    }}\n                />\n                <Table.Column\n                    dataIndex=\"createdAt\"\n                    title=\"createdAt\"\n                    render={(value) => <DateField format=\"LLL\" value={value} />}\n                />\n            </Table>\n        </List>\n    );\n};\n\nexport default App;\n\ninterface IPost {\n  title: string;\n  createdAt: string;\n  category: { id: number };\n}\n\ninterface ICategory {\n  id: number;\n  title: string;\n}\n\n```\n\nNow, you should see the output as a table populated with `post` & `category` data:\n![First example result](https://github.com/pankod/refine/blob/master/documentation/static/img/first-example-result.png?raw=true)\n## Next Steps\n\n👉 Jump to [Refine<>Ant Design Tutorial](https://refine.dev/docs/ui-frameworks/antd/tutorial/) to continue your work and turn the example into a full-blown CRUD application.\n\n👉 Check out the [Refine<>Tailwind Tutorial](https://refine.dev/docs/ui-frameworks/antd/tutorial/) to learn how to use **refine** in a pure *headless* way.\n\n👉 Visit [Learn the Basics Page](https://refine.dev/docs/getting-started/basics/) to get informed about the fundemental concepts.\n\n👉 Read more on [Guides & Concepts](https://refine.dev/docs/guides-and-concepts/access-control/) for different usage scenarios.\n\n👉 See the real-life [Finefoods Demo](https://refine.dev/demo/) project.\n\n👉 Play with interactive [Examples](https://refine.dev/docs/examples/tutorial/headless-tutorial/)\n\n## Roadmap\nYou can find refine's <a href=\"https://github.com/pankod/refine/projects/1\">Public Roadmap here!</a> \n\n## Stargazers\n\n[![Stargazers repo roster for pankod/refine](https://reporoster.com/stars/pankod/refine)](https://github.com/pankod/refine/stargazers)\n\n## Contribution\n\nIf you have a bug to report, do not hesitate to file an issue.\n\nIf you are willing to fix an issue or propose a feature; all PRs with clear explanations are welcome and encouraged.\n\n## License\n\nLicensed under the MIT License, Copyright © 2021-present Pankod\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/pankod/refine/issues"},"homepage":"https://github.com/pankod/refine#readme","_id":"@pankod/refine-core@3.69.7","_nodeVersion":"16.17.0","_npmVersion":"8.15.0","dist":{"integrity":"sha512-o21+ElazjrY4dNMu9RySbv504q/uSiXf2L9LF/S0vgBtc8fSBeGy4Mo9/5VrecRmTEoLjewm1ELc3ZOiGBGbvA==","shasum":"fc9b203f6bdbb9e9274736be2e7d8a018404c7f6","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.69.7.tgz","fileCount":503,"unpackedSize":1891937,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDpD/QIB2W2TIsfzML8VTIan+DMR8PGv33WKMcyhje+RAIgMW83jt2qECf8PBrkbP6LeIdu5QYepGB8QzYFbDf0LiE="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjIKMIACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq09A/+IwToVnjj7mWKydxp86c49ZBnHsdRxGyTundjy+E6cofJaZdj\r\n0Fuyuc4ySm550gJrhYtTsgS3faoVyg++JmhZEiGdxkJVJgQ/spYKJgS5Y+/p\r\ns7fF7Pde8gLSKvHabpeKPfENm6fPj6QUXxG4WbADFDJooG6Fvyao7eDMv9hW\r\naFHBI79P0r/NBQJL8xKEIAIIU/EUuHLEOyh38IEjzPeA7+MX9V5G3KeCtuXJ\r\nrcfRkS73tSlb37YC8TU0UqvgL1wOpNqUQ4ZilpzorY6o3vY1d8qbaYc+mkFs\r\nNbn0K+klu/dgcK+bdKkYQsqyjQ31QthWfhOvwPp3VjNgl3ztImba6s/rTeDT\r\noe0APVrxlI0KCP7Wp0fdBjTL9Z3w9/I0snlr9YLO/yz3ODmvqmqmTjIgARZZ\r\nEeCa15qQ7a1An57L9UYGQKhM5rABmRgdn2gK6VFGYzZXSdwke259AQPWgk+f\r\nP4zsFZfHrMzOY4fDItJ0OeaJEz+Ht8OhOMYBdfNzu+UxCsoItWsgOdDll7lQ\r\nV7z66UOAJLJsE7d1xCtWUHb82hlZr6CFU5Ftnyb3n1BXSUcGzQN5G6Mspo1x\r\n+F6AHPPVAIi771MkxkqcB1jy9FQZfDqnP2NWtadbaH5BjWxNWh2TXegkSnDw\r\n8LgesnYo5ZiSNzODnWx3etvj+bCthljZs1g=\r\n=f9S0\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"aydinakyol","email":"aydinakyol11@gmail.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.69.7_1663083272003_0.8726045300327827"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.69.8":{"name":"@pankod/refine-core","version":"3.69.8","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --format esm,cjs,iife --legacy-output","build":"tsup --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0","@types/react":"^17.0.0 || ^18.0.0","@types/react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.16.4","@testing-library/react":"^13.1.1","@testing-library/react-hooks":"^8.0.0","@testing-library/user-event":"^14.1.1","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^18.0.0","@types/react-dom":"^18.0.0","@types/react-router-dom":"^5.1.8","@types/testing-library__jest-dom":"^5.14.3","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"6.3.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.7.4"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","lodash-es":"^4.17.21","lodash":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","@tanstack/react-query-devtools":"^4.0.10","@tanstack/react-query":"^4.0.10","tslib":"^2.3.1","warn-once":"^0.1.0"},"repository":{"type":"git","url":"git+https://github.com/pankod/refine.git","directory":"packages/core"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"17dd5af3e4c9f7f09e1e707362c6f5a9d1cab8a8","publishConfig":{"access":"public"},"readme":"<div align=\"center\" style=\"margin: 30px;\">\n<a href=\"https://refine.dev/\">\n  <img src=\"https://raw.githubusercontent.com/pankod/refine/master/logo.png\"   style=\"width:250px;\" align=\"center\" />\n</a>\n<br />\n<br />\n\n<div align=\"center\">\n    <a href=\"https://refine.dev\">Home Page</a> |\n    <a href=\"https://refine.dev/demo/\">Demo</a> | \n    <a href=\"https://refine.dev/blog/\">Blog</a> | \n    <a href=\"https://refine.dev/docs/\">Documentation</a> | \n    <a href=\"https://github.com/pankod/refine/projects/1\">Roadmap</a> | \n    <a href=\"https://refine.dev/docs/examples/tutorial/\">Examples</a> | \n    <a href=\"https://refine.dev/enterprise/\">Enterprise</a> | \n    <a href=\"https://discord.gg/refine\">Discord</a>\n</div>\n\n</div>\n<br/>\n\n<div align=\"center\"><strong>Build your <a href=\"https://reactjs.org/\">React</a>-based CRUD applications, without constraints.</strong><br>Open source, headless web application framework developed with flexibility in mind.</div>\n\n<br />\n\n<div align=\"center\">\n\n[![Discord](https://img.shields.io/discord/837692625737613362.svg?label=&logo=discord&logoColor=ffffff&color=7389D8&labelColor=6A7EC2)](https://discord.gg/refine)\n[![Twitter Follow](https://img.shields.io/twitter/follow/refine_dev?style=social)](https://twitter.com/refine_dev)\n\n<a href=\"https://www.producthunt.com/posts/refine-open-source-react-framework?utm_source=badge-featured&utm_medium=badge&utm_souce=badge-refine-open-source-react-framework\" target=\"_blank\"><img src=\"https://api.producthunt.com/widgets/embed-image/v1/featured.svg?post_id=319164&theme=light\" alt=\"refine: Open Source React Framework - Focus your business logic. refine will do the rest. | Product Hunt\" style=\"width: 250px; height: 54px;\" width=\"250\" height=\"54\" /></a>\n\n[![Meercode CI Score](https://meercode.io/badge/pankod/refine?type=ci-score&branch=master&token=2ZiT8YsoJgt57JB23NYwXrFY3rJHZboT&lastDay=31)](https://meercode.io/)\n[![Meercode CI Success Rate](https://meercode.io/badge/pankod/refine?type=ci-success-rate&branch=master&token=2ZiT8YsoJgt57JB23NYwXrFY3rJHZboT&lastDay=31)](https://meercode.io/)\n[![Maintainability](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/maintainability)](https://codeclimate.com/github/pankod/refine/maintainability)\n[![Test Coverage](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/test_coverage)](https://codeclimate.com/github/pankod/refine/test_coverage)\n[![npm version](https://img.shields.io/npm/v/@pankod/refine-core.svg)](https://www.npmjs.com/package/@pankod/refine-core)\n[![npm](https://img.shields.io/npm/dm/@pankod/refine-core)](https://www.npmjs.com/package/@pankod/refine-core)\n[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.0-4baaaa.svg)](code_of_conduct.md)\n</div>\n\n<div align=\"center\" style=\"margin: 30px;\">\n  <img src=\"https://github.com/pankod/refine/blob/master/documentation/static/img/refine-promo-gif.gif?raw=true\" style=\"width:688px;\"/>\n</div>\n\n\n## What is refine?\n**refine** is a React-based framework for rapid ✨ development of web applications. \nIt eliminates the repetitive tasks demanded by **CRUD** operations and provides industry standard solutions for critical parts like **authentication**, **access control**, **routing**, **networking**, **state management** and **i18n**.\n\n**refine** is *headless by design* offering unlimited styling and customization options. \n\n## What do you mean by \"headless\" ?\nInstead of being a limited set of pre-styled components, **refine** is a collection of helper `hooks`, `components` and `providers`. They are all decoupled from your *UI components* and *business logic*, so they never keep you from customizing your *UI* or coding your own flow.\n\n**refine** seamlessly works with any **custom design** or **UI framework you favor**. For convenience, it ships with ready-made integrations for [Ant Design System](https://ant.design/) and [Material UI](https://mui.com/).\n\n## Use cases\n**refine** shines on *data-intensive* applications like *admin panels*, *dashboards* and *internal tools*. Thanks to built-in **SSR support**, **refine** can also power *customer-facing* applications like *storefronts*.\n\n## Key Features\n\n⚙️ Zero-config, **one-minute setup** with a **single CLI command**\n\n🔌 Connectors for **15+ backend services** including [REST API](https://github.com/pankod/refine/tree/master/packages/simple-rest), [GraphQL](https://github.com/pankod/refine/tree/master/packages/graphql), [NestJs CRUD](https://github.com/pankod/refine/tree/master/packages/nestjsx-crud), [Airtable](https://github.com/pankod/refine/tree/master/packages/airtable), [Strapi](https://github.com/pankod/refine/tree/master/packages/strapi), [Strapi v4](https://github.com/pankod/refine/tree/master/packages/strapi-v4), [Strapi GraphQL](https://github.com/pankod/refine/tree/master/packages/strapi-graphql), [Supabase](https://github.com/pankod/refine/tree/master/packages/supabase), [Hasura](https://github.com/pankod/refine/tree/master/packages/hasura), [Nhost](https://github.com/pankod/refine/tree/master/packages/nhost), [Appwrite](https://github.com/pankod/refine/tree/master/packages/appwrite), [Firebase](https://firebase.google.com/), [Directus](https://directus.io/) and [Altogic](https://github.com/pankod/refine/tree/master/packages/altogic)\n\n🌐 **SSR support** with **Next.js** or **Remix**\n\n⚛ Perfect **state management** & **mutations** with **React Query**\n\n🔀 **Advanced routing** with any router library of your choice\n\n🔐 Providers for seamless **authentication** and **access control** flows\n\n⚡ Out-of-the-box support for **live / real-time applications**\n\n📄 Easy **audit logs** &** **document versioning**\n\n💬 Support for any **i18n** framework\n\n💪 Future-proof, **robust architecture**\n\n✅ Full **test coverage**\n\n## Quick Start\n\nThe fastest way to get started with **refine** is using the [superplate](https://github.com/pankod/superplate) project starter tool.\nRun the following command to create a new **refine** project configured with  [Ant Design System](https://ant.design/) as the default UI framework:\n\n```\nnpx superplate-cli --preset refine-antd my-project\n```\n\nOnce the setup is complete, navigate to the project folder and start your project with:\n\n```\nnpm run dev\n```\n\nYour **refine** application will be accessible at [http://localhost:3000](http://localhost:3000):\n![Welcome on board](https://github.com/pankod/refine/blob/master/documentation/static/img/welcome-on-board.png?raw=true)\nLet's consume a public `fake REST API` and add two resources (*posts*, *categories*) to our project. Replace the contents of `src/App.tsx` with the following code:\n\n```tsx title=\"src/App.tsx\"\n\nimport { Refine, useMany } from \"@pankod/refine-core\";\nimport {\n    useTable,\n    List,\n    Table,\n    DateField,\n    Layout,\n    ReadyPage,\n    notificationProvider,\n    ErrorComponent,\n} from \"@pankod/refine-antd\";\nimport routerProvider from \"@pankod/refine-react-router-v6\";\nimport dataProvider from \"@pankod/refine-simple-rest\";\n\nimport \"@pankod/refine-antd/dist/styles.min.css\";\n\nconst App: React.FC = () => {\n    return (\n        <Refine\n            routerProvider={routerProvider}\n            dataProvider={dataProvider(\"https://api.fake-rest.refine.dev\")}\n            resources={[{ name: \"posts\", list: PostList }]}\n            Layout={Layout}\n            ReadyPage={ReadyPage}\n            notificationProvider={notificationProvider}\n            catchAll={<ErrorComponent />}\n        />\n    );\n};\n\nexport const PostList: React.FC = () => {\n    const { tableProps } = useTable<IPost>();\n\n    const categoryIds =\n        tableProps?.dataSource?.map((item) => item.category.id) ?? [];\n\n    const { data, isLoading } = useMany<ICategory>({\n        resource: \"categories\",\n        ids: categoryIds,\n        queryOptions: {\n            enabled: categoryIds.length > 0,\n        },\n    });\n\n    return (\n        <List>\n            <Table<IPost> {...tableProps} rowKey=\"id\">\n                <Table.Column dataIndex=\"title\" title=\"title\" />\n                <Table.Column\n                    dataIndex={[\"category\", \"id\"]}\n                    title=\"category\"\n                    render={(value: number) => {\n                        if (isLoading) {\n                            return \"loading...\";\n                        }\n\n                        return data?.data.find(\n                            (item: ICategory) => item.id === value,\n                        )?.title;\n                    }}\n                />\n                <Table.Column\n                    dataIndex=\"createdAt\"\n                    title=\"createdAt\"\n                    render={(value) => <DateField format=\"LLL\" value={value} />}\n                />\n            </Table>\n        </List>\n    );\n};\n\nexport default App;\n\ninterface IPost {\n  title: string;\n  createdAt: string;\n  category: { id: number };\n}\n\ninterface ICategory {\n  id: number;\n  title: string;\n}\n\n```\n\nNow, you should see the output as a table populated with `post` & `category` data:\n![First example result](https://github.com/pankod/refine/blob/master/documentation/static/img/first-example-result.png?raw=true)\n## Next Steps\n\n👉 Jump to [Refine<>Ant Design Tutorial](https://refine.dev/docs/ui-frameworks/antd/tutorial/) to continue your work and turn the example into a full-blown CRUD application.\n\n👉 Check out the [Refine<>Tailwind Tutorial](https://refine.dev/docs/ui-frameworks/antd/tutorial/) to learn how to use **refine** in a pure *headless* way.\n\n👉 Visit [Learn the Basics Page](https://refine.dev/docs/getting-started/basics/) to get informed about the fundemental concepts.\n\n👉 Read more on [Guides & Concepts](https://refine.dev/docs/guides-and-concepts/access-control/) for different usage scenarios.\n\n👉 See the real-life [Finefoods Demo](https://refine.dev/demo/) project.\n\n👉 Play with interactive [Examples](https://refine.dev/docs/examples/tutorial/headless-tutorial/)\n\n## Roadmap\nYou can find refine's <a href=\"https://github.com/pankod/refine/projects/1\">Public Roadmap here!</a> \n\n## Stargazers\n\n[![Stargazers repo roster for pankod/refine](https://reporoster.com/stars/pankod/refine)](https://github.com/pankod/refine/stargazers)\n\n## Contribution\n\nIf you have a bug to report, do not hesitate to file an issue.\n\nIf you are willing to fix an issue or propose a feature; all PRs with clear explanations are welcome and encouraged.\n\n## License\n\nLicensed under the MIT License, Copyright © 2021-present Pankod\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/pankod/refine/issues"},"homepage":"https://github.com/pankod/refine#readme","_id":"@pankod/refine-core@3.69.8","_nodeVersion":"16.17.0","_npmVersion":"8.15.0","dist":{"integrity":"sha512-zuMShz3fsOt+/zM3EIO6D7+r6RRyaJvqRPcgltLx/zFJXX3Va0/byKBM3aGQU4QIMpM9dgPhcistLsKMrRmUyw==","shasum":"8a198478896e7f7ce27c803975e974bfe9b0601f","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.69.8.tgz","fileCount":503,"unpackedSize":1892214,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIF8Kx/QWsieNydAtHddv640tZdgIiVQkaG6nI6by2SjwAiA5Z9yy13e5uRgaF/RCHjzoklBZk6uVPjw0ET5/IIEi0g=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjIcyvACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo7FBAAn5gxYLvXpb6dbkw2PZP53RMON2lmsZxMvyYVnvyI+viGsw06\r\nxXlBaeM+2exp9zvCC5gvc95Ups3tUfWwnrVrGLEPJRexUcqzUFNou+t10m+C\r\n5yKBi7B3ZJxotEmSUfUwZ4tXUai94BJgbul/apPUfdaTQRiogrxrfR3Nzz+e\r\nTs9wp6vC6pjoFyLcZnbTP3dj5rE6TJNwNUoslRzAihNJyxHgyzTtt4p9Y5Rq\r\nuZEwgye7SAHvZHMandMHpD3uxhM8v7cdC79N2x2zsW6B55dRglbSDmuU+3AL\r\nHaoXkQDx1arjQq5hsB4v//EG25lXsNGH8H1CvJJQo0hxAiNsV+dRev66B6T+\r\nxpaYrrUo77Bw+OSyk0S0kfS8BFXlP4zJJ5kd+73E7gNudG4qR6XPwFfwbPn3\r\nYWDCA+RTbXF0DPBd1zX/Yx3jjRe/T6G1ePhfhhY4pAElRsOxPB3zsUVSB2i8\r\nfKAUh8vFRbVs390FzNw3hr06kqIIHqSlRhdvlmpNjmp+W90ncPy6m3TTDROH\r\nJjZ04jRBT8pVsTG143Qcv6Hk6G3uwsPhUEX56m0cjkwFXy5jp8fSj7WZ8xs/\r\nPLiM27PJ3ADlIAQgM5blOspioJWQEpZh4Gw3E6KFy8sbXgrWLX2szBWM/2fd\r\n+J5uI1484/Uxd/fi2PRthY3efsVeatnGX7M=\r\n=iMP3\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"aydinakyol","email":"aydinakyol11@gmail.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.69.8_1663159470790_0.46197449458931983"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.69.9":{"name":"@pankod/refine-core","version":"3.69.9","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --format esm,cjs,iife --legacy-output","build":"tsup --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0","@types/react":"^17.0.0 || ^18.0.0","@types/react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.16.4","@testing-library/react":"^13.1.1","@testing-library/react-hooks":"^8.0.0","@testing-library/user-event":"^14.1.1","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^18.0.0","@types/react-dom":"^18.0.0","@types/react-router-dom":"^5.1.8","@types/testing-library__jest-dom":"^5.14.3","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"6.3.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.7.4"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","lodash-es":"^4.17.21","lodash":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","@tanstack/react-query-devtools":"^4.0.10","@tanstack/react-query":"^4.0.10","tslib":"^2.3.1","warn-once":"^0.1.0"},"repository":{"type":"git","url":"git+https://github.com/pankod/refine.git","directory":"packages/core"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"17dd5af3e4c9f7f09e1e707362c6f5a9d1cab8a8","publishConfig":{"access":"public"},"bugs":{"url":"https://github.com/pankod/refine/issues"},"homepage":"https://github.com/pankod/refine#readme","_id":"@pankod/refine-core@3.69.9","_nodeVersion":"16.17.0","_npmVersion":"8.15.0","dist":{"integrity":"sha512-8Pf26ErZBbeHU4C1clQATNleQNfDzNbG9i2Pj+Fl36/7MSklByhGz3mropyc7ZyVeF+FDaPM8j5eqNweofRW4g==","shasum":"7d7da53d81f5a1d81022e3dc163eb63f8b163cb3","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.69.9.tgz","fileCount":503,"unpackedSize":1892377,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAgVMKYUi5XPWXnH5AFonTGbMdshZAiDX4sMeC6y7xeXAiEA5wY9X0UG1WUYsc8bJxydaUMDwW5ctYkKg9f7c+yKWy0="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjIeA/ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpnIg/+MGbA7ucTr3HdJ/RpKnt0E0pAX2jFyGELBbMt5+zY4pTZHAuD\r\nNOvw3Jk3BIx8nILoGGqgB69SL3CyFuZKnIT6IBdWg/2LSIX2M3G/T1NQOL6f\r\nZr2+DW6ZvJgMON2/SHCVpE5rUVtV7KDSchk1pQhX1bwmVsc75QmS2bV0LWjq\r\nhYFdeqeeMvsp4XKRvkTNEwD9VMjQtVtO8QAZ7P8hg68YKUj3WvC98rMyqPh6\r\nfdfJLEJCnIRwtTO8ZtifuzACRnHdk/M+qQotS+SMd3W2Cz+GqPPvlEmuWyah\r\nicoTW5uUl8Ryw2Zp2gfF6HocRX3DwpTsHVUBA2LAwQSxjwBX8pnOzu0XrvAR\r\n7TTkzTTSmB/92HBtcwkaVWx1bc0YNvq134g3czce1jr0i3afwINoy2JmJdsz\r\nP2U7LEljVNH9/OSRiSiXHmiOyVz1o3NLY2rT1yaJs6jJ7OqE3/MjRc896PdD\r\n2MSID5MbSSVlg0Yf3DTZytZABEfCMS6xuoi7BkaRvUDRArBaRGAD5NY4hXqX\r\nD6OF37OG95MviwNekeOkjuOXL4xS6yNPxLpmQI4u+0zbOv0ThKloW1hWHV/c\r\nNSnd53GBrZlucU/I+zwOe1FwIiVG/WHBVq2GBaH0BH0nktTFgtE7F8P2Ojki\r\nDO6bxQJl7h2b30h+g6rDYLMKjU4cM7q/ob8=\r\n=PoVh\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"aydinakyol","email":"aydinakyol11@gmail.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.69.9_1663164478930_0.956651237865698"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.70.0":{"name":"@pankod/refine-core","version":"3.70.0","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --format esm,cjs,iife --legacy-output","build":"tsup --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0","@types/react":"^17.0.0 || ^18.0.0","@types/react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.16.4","@testing-library/react":"^13.1.1","@testing-library/react-hooks":"^8.0.0","@testing-library/user-event":"^14.1.1","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^18.0.0","@types/react-dom":"^18.0.0","@types/react-router-dom":"^5.1.8","@types/testing-library__jest-dom":"^5.14.3","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"6.3.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.7.4"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","lodash-es":"^4.17.21","lodash":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","@tanstack/react-query-devtools":"^4.0.10","@tanstack/react-query":"^4.0.10","tslib":"^2.3.1","warn-once":"^0.1.0"},"repository":{"type":"git","url":"git+https://github.com/pankod/refine.git","directory":"packages/core"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"17dd5af3e4c9f7f09e1e707362c6f5a9d1cab8a8","publishConfig":{"access":"public"},"readme":"<div align=\"center\" style=\"margin: 30px;\">\n<a href=\"https://refine.dev/\">\n  <img src=\"https://raw.githubusercontent.com/pankod/refine/master/logo.png\"   style=\"width:250px;\" align=\"center\" />\n</a>\n<br />\n<br />\n\n<div align=\"center\">\n    <a href=\"https://refine.dev\">Home Page</a> |\n    <a href=\"https://refine.dev/demo/\">Demo</a> | \n    <a href=\"https://refine.dev/blog/\">Blog</a> | \n    <a href=\"https://refine.dev/docs/\">Documentation</a> | \n    <a href=\"https://github.com/pankod/refine/projects/1\">Roadmap</a> | \n    <a href=\"https://refine.dev/docs/examples/tutorial/\">Examples</a> | \n    <a href=\"https://refine.dev/enterprise/\">Enterprise</a> | \n    <a href=\"https://discord.gg/refine\">Discord</a>\n</div>\n\n</div>\n<br/>\n\n<div align=\"center\"><strong>Build your <a href=\"https://reactjs.org/\">React</a>-based CRUD applications, without constraints.</strong><br>Open source, headless web application framework developed with flexibility in mind.</div>\n\n<br />\n\n<div align=\"center\">\n\n[![Discord](https://img.shields.io/discord/837692625737613362.svg?label=&logo=discord&logoColor=ffffff&color=7389D8&labelColor=6A7EC2)](https://discord.gg/refine)\n[![Twitter Follow](https://img.shields.io/twitter/follow/refine_dev?style=social)](https://twitter.com/refine_dev)\n\n<a href=\"https://www.producthunt.com/posts/refine-open-source-react-framework?utm_source=badge-featured&utm_medium=badge&utm_souce=badge-refine-open-source-react-framework\" target=\"_blank\"><img src=\"https://api.producthunt.com/widgets/embed-image/v1/featured.svg?post_id=319164&theme=light\" alt=\"refine: Open Source React Framework - Focus your business logic. refine will do the rest. | Product Hunt\" style=\"width: 250px; height: 54px;\" width=\"250\" height=\"54\" /></a>\n\n[![Meercode CI Score](https://meercode.io/badge/pankod/refine?type=ci-score&branch=master&token=2ZiT8YsoJgt57JB23NYwXrFY3rJHZboT&lastDay=31)](https://meercode.io/)\n[![Meercode CI Success Rate](https://meercode.io/badge/pankod/refine?type=ci-success-rate&branch=master&token=2ZiT8YsoJgt57JB23NYwXrFY3rJHZboT&lastDay=31)](https://meercode.io/)\n[![Maintainability](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/maintainability)](https://codeclimate.com/github/pankod/refine/maintainability)\n[![Test Coverage](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/test_coverage)](https://codeclimate.com/github/pankod/refine/test_coverage)\n[![npm version](https://img.shields.io/npm/v/@pankod/refine-core.svg)](https://www.npmjs.com/package/@pankod/refine-core)\n[![npm](https://img.shields.io/npm/dm/@pankod/refine-core)](https://www.npmjs.com/package/@pankod/refine-core)\n[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.0-4baaaa.svg)](code_of_conduct.md)\n</div>\n\n<div align=\"center\" style=\"margin: 30px;\">\n  <img src=\"https://github.com/pankod/refine/blob/master/documentation/static/img/refine-promo-gif.gif?raw=true\" style=\"width:688px;\"/>\n</div>\n\n\n## What is refine?\n**refine** is a React-based framework for rapid ✨ development of web applications. \nIt eliminates the repetitive tasks demanded by **CRUD** operations and provides industry standard solutions for critical parts like **authentication**, **access control**, **routing**, **networking**, **state management** and **i18n**.\n\n**refine** is *headless by design* offering unlimited styling and customization options. \n\n## What do you mean by \"headless\" ?\nInstead of being a limited set of pre-styled components, **refine** is a collection of helper `hooks`, `components` and `providers`. They are all decoupled from your *UI components* and *business logic*, so they never keep you from customizing your *UI* or coding your own flow.\n\n**refine** seamlessly works with any **custom design** or **UI framework you favor**. For convenience, it ships with ready-made integrations for [Ant Design System](https://ant.design/) and [Material UI](https://mui.com/).\n\n## Use cases\n**refine** shines on *data-intensive* applications like *admin panels*, *dashboards* and *internal tools*. Thanks to built-in **SSR support**, **refine** can also power *customer-facing* applications like *storefronts*.\n\n## Key Features\n\n⚙️ Zero-config, **one-minute setup** with a **single CLI command**\n\n🔌 Connectors for **15+ backend services** including [REST API](https://github.com/pankod/refine/tree/master/packages/simple-rest), [GraphQL](https://github.com/pankod/refine/tree/master/packages/graphql), [NestJs CRUD](https://github.com/pankod/refine/tree/master/packages/nestjsx-crud), [Airtable](https://github.com/pankod/refine/tree/master/packages/airtable), [Strapi](https://github.com/pankod/refine/tree/master/packages/strapi), [Strapi v4](https://github.com/pankod/refine/tree/master/packages/strapi-v4), [Strapi GraphQL](https://github.com/pankod/refine/tree/master/packages/strapi-graphql), [Supabase](https://github.com/pankod/refine/tree/master/packages/supabase), [Hasura](https://github.com/pankod/refine/tree/master/packages/hasura), [Nhost](https://github.com/pankod/refine/tree/master/packages/nhost), [Appwrite](https://github.com/pankod/refine/tree/master/packages/appwrite), [Firebase](https://firebase.google.com/), [Directus](https://directus.io/) and [Altogic](https://github.com/pankod/refine/tree/master/packages/altogic)\n\n🌐 **SSR support** with **Next.js** or **Remix**\n\n⚛ Perfect **state management** & **mutations** with **React Query**\n\n🔀 **Advanced routing** with any router library of your choice\n\n🔐 Providers for seamless **authentication** and **access control** flows\n\n⚡ Out-of-the-box support for **live / real-time applications**\n\n📄 Easy **audit logs** &** **document versioning**\n\n💬 Support for any **i18n** framework\n\n💪 Future-proof, **robust architecture**\n\n✅ Full **test coverage**\n\n## Quick Start\n\nThe fastest way to get started with **refine** is using the [superplate](https://github.com/pankod/superplate) project starter tool.\nRun the following command to create a new **refine** project configured with  [Ant Design System](https://ant.design/) as the default UI framework:\n\n```\nnpx superplate-cli --preset refine-antd my-project\n```\n\nOnce the setup is complete, navigate to the project folder and start your project with:\n\n```\nnpm run dev\n```\n\nYour **refine** application will be accessible at [http://localhost:3000](http://localhost:3000):\n![Welcome on board](https://github.com/pankod/refine/blob/master/documentation/static/img/welcome-on-board.png?raw=true)\nLet's consume a public `fake REST API` and add two resources (*posts*, *categories*) to our project. Replace the contents of `src/App.tsx` with the following code:\n\n```tsx title=\"src/App.tsx\"\n\nimport { Refine, useMany } from \"@pankod/refine-core\";\nimport {\n    useTable,\n    List,\n    Table,\n    DateField,\n    Layout,\n    ReadyPage,\n    notificationProvider,\n    ErrorComponent,\n} from \"@pankod/refine-antd\";\nimport routerProvider from \"@pankod/refine-react-router-v6\";\nimport dataProvider from \"@pankod/refine-simple-rest\";\n\nimport \"@pankod/refine-antd/dist/styles.min.css\";\n\nconst App: React.FC = () => {\n    return (\n        <Refine\n            routerProvider={routerProvider}\n            dataProvider={dataProvider(\"https://api.fake-rest.refine.dev\")}\n            resources={[{ name: \"posts\", list: PostList }]}\n            Layout={Layout}\n            ReadyPage={ReadyPage}\n            notificationProvider={notificationProvider}\n            catchAll={<ErrorComponent />}\n        />\n    );\n};\n\nexport const PostList: React.FC = () => {\n    const { tableProps } = useTable<IPost>();\n\n    const categoryIds =\n        tableProps?.dataSource?.map((item) => item.category.id) ?? [];\n\n    const { data, isLoading } = useMany<ICategory>({\n        resource: \"categories\",\n        ids: categoryIds,\n        queryOptions: {\n            enabled: categoryIds.length > 0,\n        },\n    });\n\n    return (\n        <List>\n            <Table<IPost> {...tableProps} rowKey=\"id\">\n                <Table.Column dataIndex=\"title\" title=\"title\" />\n                <Table.Column\n                    dataIndex={[\"category\", \"id\"]}\n                    title=\"category\"\n                    render={(value: number) => {\n                        if (isLoading) {\n                            return \"loading...\";\n                        }\n\n                        return data?.data.find(\n                            (item: ICategory) => item.id === value,\n                        )?.title;\n                    }}\n                />\n                <Table.Column\n                    dataIndex=\"createdAt\"\n                    title=\"createdAt\"\n                    render={(value) => <DateField format=\"LLL\" value={value} />}\n                />\n            </Table>\n        </List>\n    );\n};\n\nexport default App;\n\ninterface IPost {\n  title: string;\n  createdAt: string;\n  category: { id: number };\n}\n\ninterface ICategory {\n  id: number;\n  title: string;\n}\n\n```\n\nNow, you should see the output as a table populated with `post` & `category` data:\n![First example result](https://github.com/pankod/refine/blob/master/documentation/static/img/first-example-result.png?raw=true)\n## Next Steps\n\n👉 Jump to [Refine<>Ant Design Tutorial](https://refine.dev/docs/ui-frameworks/antd/tutorial/) to continue your work and turn the example into a full-blown CRUD application.\n\n👉 Check out the [Refine<>Tailwind Tutorial](https://refine.dev/docs/ui-frameworks/antd/tutorial/) to learn how to use **refine** in a pure *headless* way.\n\n👉 Visit [Learn the Basics Page](https://refine.dev/docs/getting-started/basics/) to get informed about the fundemental concepts.\n\n👉 Read more on [Guides & Concepts](https://refine.dev/docs/guides-and-concepts/access-control/) for different usage scenarios.\n\n👉 See the real-life [Finefoods Demo](https://refine.dev/demo/) project.\n\n👉 Play with interactive [Examples](https://refine.dev/docs/examples/tutorial/headless-tutorial/)\n\n## Roadmap\nYou can find refine's <a href=\"https://github.com/pankod/refine/projects/1\">Public Roadmap here!</a> \n\n## Stargazers\n\n[![Stargazers repo roster for pankod/refine](https://reporoster.com/stars/pankod/refine)](https://github.com/pankod/refine/stargazers)\n\n## Contribution\n\nIf you have a bug to report, do not hesitate to file an issue.\n\nIf you are willing to fix an issue or propose a feature; all PRs with clear explanations are welcome and encouraged.\n\n## License\n\nLicensed under the MIT License, Copyright © 2021-present Pankod\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/pankod/refine/issues"},"homepage":"https://github.com/pankod/refine#readme","_id":"@pankod/refine-core@3.70.0","_nodeVersion":"16.17.0","_npmVersion":"8.15.0","dist":{"integrity":"sha512-wqZIFqaPtGrDCahjUc59lRdq9O0w/rpVwzlCQxut3p90bLoFLSw3r3wJIJ81J1KHK5vdRTwhOkDmfYQY9Q9RFQ==","shasum":"a18e1b5231b4d8203aeadd559d17f8cba0d878de","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.70.0.tgz","fileCount":503,"unpackedSize":1892993,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDb/PPNx4Vt6Nu+QA+vTysdxa5f9OcbkgiXm06CZyI/pQIhANeZjUDbU8Y/d8n4QueC4KWTENzZmVdArhgUNwzBeG47"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjKeadACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmryHA/8C0V9Va4Y8OWjpJ3httcLVmXbngPIyw9jvCMT5KH6/NHQqWMy\r\nPiLfyjI7/Njaz/p1q6FQUNtfhwK7grR9XE+/j4H8faZC6jnn/oKK8ddSdk5C\r\nDS99I6+edcaZOxzT8KDXRVVJvdptJFl2KqYXY+6AIMx6yooaD3OrulUXkKPI\r\nQaS9EWU5VJdvG8khOjGvplFHG/gDaY499cUohs0uTKTRQs/Mh5Arx9SyAOsy\r\nFYk3vrcYnmD9OiMV4dyn8D9XrEDPEfpG0wF/ZBA0Ch++bDhJHMvrY525VH1N\r\n4xzVD5+EuyFsbIHeFlmJ2xGzSFhQ47o0JRbSXhXW+ngQWYnf7+ejEpV+TlOH\r\n5UvnqbwbovawFd07+lQQr46/0n51RQmkpBieBoLgJyeJ9O31L4vKizjJqUKs\r\nDwIj/UzLQK+iLaaLckZaJAyBzLYtDf2I4WZ4410pxMG2ufkdMel6AtI54s7K\r\ngGwapGo8REvkk3NcYZ9SpHk8gNIK99fi5vLJx+D4emn1ny9nMemyq+2ERvdE\r\ncNH2AsqmW885zND3Q5FBuNDkcpoWnwVCTH/ASOg+LQcA7hZkkKnnutGLvG87\r\nhDiHiHu5AokbcjZqmQiida0NIwiBERdkSm/RZR8vGobizjLXLv/1iS7nPC8V\r\nkHg5veOENXT0LnyVZyEyKr4oIZk6Ir4hGCk=\r\n=XWe3\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"aydinakyol","email":"aydinakyol11@gmail.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.70.0_1663690397027_0.7554599754273394"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.71.0":{"name":"@pankod/refine-core","version":"3.71.0","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --format esm,cjs,iife --legacy-output","build":"tsup --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0","@types/react":"^17.0.0 || ^18.0.0","@types/react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.16.4","@testing-library/react":"^13.1.1","@testing-library/react-hooks":"^8.0.0","@testing-library/user-event":"^14.1.1","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^18.0.0","@types/react-dom":"^18.0.0","@types/react-router-dom":"^5.1.8","@types/testing-library__jest-dom":"^5.14.3","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"6.3.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.7.4"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","lodash-es":"^4.17.21","lodash":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","@tanstack/react-query-devtools":"^4.0.10","@tanstack/react-query":"^4.0.10","tslib":"^2.3.1","warn-once":"^0.1.0"},"repository":{"type":"git","url":"git+https://github.com/pankod/refine.git","directory":"packages/core"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"17dd5af3e4c9f7f09e1e707362c6f5a9d1cab8a8","publishConfig":{"access":"public"},"bugs":{"url":"https://github.com/pankod/refine/issues"},"homepage":"https://github.com/pankod/refine#readme","_id":"@pankod/refine-core@3.71.0","_nodeVersion":"16.17.0","_npmVersion":"8.15.0","dist":{"integrity":"sha512-VERrR3Cn/VT8UhutAb2LW+rq29JjBZ4M7NN7jzSNQfshVOUYpTBAtLJ64JzbXc1qpQnTo1oleziPwyPaoYeyRg==","shasum":"ead136dc0d32441e363acb46188b92918b4f7236","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.71.0.tgz","fileCount":503,"unpackedSize":1893155,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEFMjg0+KJSImLdNXg3GdZZcspoW8OgGPnlVPZOMlkTrAiEAwek7QwbjB1iGlh1VSAmnFjsNShpJNmL4ll7ACeg05Rk="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjKrLoACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpVARAAi0hUno00cK5hj28qqq6MM1K6m0ufAxloT/DD9FA/1wUqrFBZ\r\nb1bKN7MFPC9iIn0nBZMbhlU+UPh8iRaCjak012jQYHOJsO3d/hnaGkcYbAZG\r\np6R+cORAy7TRXXz1fl3nOBROWsAeiWdL/zGdegCqXNCzo3kkfDgzJNfat577\r\nL3XmuNtaI+QumWQP6i3PGLs9OljTSUNLknYQCzwpZvECYueSVq0BjxEHTQC/\r\niMmnotOdGDko7fKi3N9WOw+MXQdF5mY4BiOY6n9SjYhhhYR6gbKpXcZEClX1\r\nsCaNK2dgPTdUrS3d44mBhQjn9vZebJBvG/Psn2niHRWKxNpvviyglb1nFo3/\r\ncrYKjQdXiUuXNnrDU+eP2Wm7EaD29oEM8LHCoXJClL7r9MwQDF8rCn65xfeN\r\nmXmwicY5QYIlxb108/J8M0gV4blzTcgeq7N/Sel55IM+GU0xUuzQGp9KtyN6\r\nuFXoxamG68WLD5gfmS34AwoEeWmyOwVwGc0Kmqs0MoRwNcFhHnnJHbG6OUGx\r\nGJlVVKYW5kmkZPOX+NTDh8bj+7u7L2yebY9peEVFRGBfE6kmcv+bRZrYdiRp\r\n5XAZh4H1DeER9V5L9ZG58sjNibnL9O0JEJKXEw/v30Rz/ad4Wt1d34eusm7w\r\nxcbQfbVuNOyYzoixnBpeGlVCfZGoRm4B6qU=\r\n=cT/r\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"aydinakyol","email":"aydinakyol11@gmail.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.71.0_1663742696204_0.7923475376571476"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.71.1":{"name":"@pankod/refine-core","version":"3.71.1","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --format esm,cjs,iife --legacy-output","build":"tsup --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0","@types/react":"^17.0.0 || ^18.0.0","@types/react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.16.4","@testing-library/react":"^13.1.1","@testing-library/react-hooks":"^8.0.0","@testing-library/user-event":"^14.1.1","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^18.0.0","@types/react-dom":"^18.0.0","@types/react-router-dom":"^5.1.8","@types/testing-library__jest-dom":"^5.14.3","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"6.3.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.7.4"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","lodash-es":"^4.17.21","lodash":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","@tanstack/react-query-devtools":"^4.0.10","@tanstack/react-query":"^4.0.10","tslib":"^2.3.1","warn-once":"^0.1.0"},"repository":{"type":"git","url":"git+https://github.com/pankod/refine.git","directory":"packages/core"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"17dd5af3e4c9f7f09e1e707362c6f5a9d1cab8a8","publishConfig":{"access":"public"},"readme":"<div align=\"center\" style=\"margin: 30px;\">\n<a href=\"https://refine.dev/\">\n  <img src=\"https://raw.githubusercontent.com/pankod/refine/master/logo.png\"   style=\"width:250px;\" align=\"center\" />\n</a>\n<br />\n<br />\n\n<div align=\"center\">\n    <a href=\"https://refine.dev\">Home Page</a> |\n    <a href=\"https://refine.dev/demo/\">Demo</a> | \n    <a href=\"https://refine.dev/blog/\">Blog</a> | \n    <a href=\"https://refine.dev/docs/\">Documentation</a> | \n    <a href=\"https://github.com/pankod/refine/projects/1\">Roadmap</a> | \n    <a href=\"https://refine.dev/docs/examples/tutorial/\">Examples</a> | \n    <a href=\"https://refine.dev/enterprise/\">Enterprise</a> | \n    <a href=\"https://discord.gg/refine\">Discord</a>\n</div>\n\n</div>\n<br/>\n\n<div align=\"center\"><strong>Build your <a href=\"https://reactjs.org/\">React</a>-based CRUD applications, without constraints.</strong><br>Open source, headless web application framework developed with flexibility in mind.</div>\n\n<br />\n\n<div align=\"center\">\n\n[![Discord](https://img.shields.io/discord/837692625737613362.svg?label=&logo=discord&logoColor=ffffff&color=7389D8&labelColor=6A7EC2)](https://discord.gg/refine)\n[![Twitter Follow](https://img.shields.io/twitter/follow/refine_dev?style=social)](https://twitter.com/refine_dev)\n\n<a href=\"https://www.producthunt.com/posts/refine-open-source-react-framework?utm_source=badge-featured&utm_medium=badge&utm_souce=badge-refine-open-source-react-framework\" target=\"_blank\"><img src=\"https://api.producthunt.com/widgets/embed-image/v1/featured.svg?post_id=319164&theme=light\" alt=\"refine: Open Source React Framework - Focus your business logic. refine will do the rest. | Product Hunt\" style=\"width: 250px; height: 54px;\" width=\"250\" height=\"54\" /></a>\n\n[![Meercode CI Score](https://meercode.io/badge/pankod/refine?type=ci-score&branch=master&token=2ZiT8YsoJgt57JB23NYwXrFY3rJHZboT&lastDay=31)](https://meercode.io/)\n[![Meercode CI Success Rate](https://meercode.io/badge/pankod/refine?type=ci-success-rate&branch=master&token=2ZiT8YsoJgt57JB23NYwXrFY3rJHZboT&lastDay=31)](https://meercode.io/)\n[![Maintainability](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/maintainability)](https://codeclimate.com/github/pankod/refine/maintainability)\n[![Test Coverage](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/test_coverage)](https://codeclimate.com/github/pankod/refine/test_coverage)\n[![npm version](https://img.shields.io/npm/v/@pankod/refine-core.svg)](https://www.npmjs.com/package/@pankod/refine-core)\n[![npm](https://img.shields.io/npm/dm/@pankod/refine-core)](https://www.npmjs.com/package/@pankod/refine-core)\n[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.0-4baaaa.svg)](code_of_conduct.md)\n</div>\n\n<div align=\"center\" style=\"margin: 30px;\">\n  <img src=\"https://github.com/pankod/refine/blob/master/documentation/static/img/refine-promo-gif.gif?raw=true\" style=\"width:688px;\"/>\n</div>\n\n\n## What is refine?\n**refine** is a React-based framework for rapid ✨ development of web applications. \nIt eliminates the repetitive tasks demanded by **CRUD** operations and provides industry standard solutions for critical parts like **authentication**, **access control**, **routing**, **networking**, **state management** and **i18n**.\n\n**refine** is *headless by design* offering unlimited styling and customization options. \n\n## What do you mean by \"headless\" ?\nInstead of being a limited set of pre-styled components, **refine** is a collection of helper `hooks`, `components` and `providers`. They are all decoupled from your *UI components* and *business logic*, so they never keep you from customizing your *UI* or coding your own flow.\n\n**refine** seamlessly works with any **custom design** or **UI framework you favor**. For convenience, it ships with ready-made integrations for [Ant Design System](https://ant.design/) and [Material UI](https://mui.com/).\n\n## Use cases\n**refine** shines on *data-intensive* applications like *admin panels*, *dashboards* and *internal tools*. Thanks to built-in **SSR support**, **refine** can also power *customer-facing* applications like *storefronts*.\n\n## Key Features\n\n⚙️ Zero-config, **one-minute setup** with a **single CLI command**\n\n🔌 Connectors for **15+ backend services** including [REST API](https://github.com/pankod/refine/tree/master/packages/simple-rest), [GraphQL](https://github.com/pankod/refine/tree/master/packages/graphql), [NestJs CRUD](https://github.com/pankod/refine/tree/master/packages/nestjsx-crud), [Airtable](https://github.com/pankod/refine/tree/master/packages/airtable), [Strapi](https://github.com/pankod/refine/tree/master/packages/strapi), [Strapi v4](https://github.com/pankod/refine/tree/master/packages/strapi-v4), [Strapi GraphQL](https://github.com/pankod/refine/tree/master/packages/strapi-graphql), [Supabase](https://github.com/pankod/refine/tree/master/packages/supabase), [Hasura](https://github.com/pankod/refine/tree/master/packages/hasura), [Nhost](https://github.com/pankod/refine/tree/master/packages/nhost), [Appwrite](https://github.com/pankod/refine/tree/master/packages/appwrite), [Firebase](https://firebase.google.com/), [Directus](https://directus.io/) and [Altogic](https://github.com/pankod/refine/tree/master/packages/altogic)\n\n🌐 **SSR support** with **Next.js** or **Remix**\n\n⚛ Perfect **state management** & **mutations** with **React Query**\n\n🔀 **Advanced routing** with any router library of your choice\n\n🔐 Providers for seamless **authentication** and **access control** flows\n\n⚡ Out-of-the-box support for **live / real-time applications**\n\n📄 Easy **audit logs** &** **document versioning**\n\n💬 Support for any **i18n** framework\n\n💪 Future-proof, **robust architecture**\n\n✅ Full **test coverage**\n\n## Quick Start\n\nThe fastest way to get started with **refine** is using the [superplate](https://github.com/pankod/superplate) project starter tool.\nRun the following command to create a new **refine** project configured with  [Ant Design System](https://ant.design/) as the default UI framework:\n\n```\nnpx superplate-cli --preset refine-antd my-project\n```\n\nOnce the setup is complete, navigate to the project folder and start your project with:\n\n```\nnpm run dev\n```\n\nYour **refine** application will be accessible at [http://localhost:3000](http://localhost:3000):\n![Welcome on board](https://github.com/pankod/refine/blob/master/documentation/static/img/welcome-on-board.png?raw=true)\nLet's consume a public `fake REST API` and add two resources (*posts*, *categories*) to our project. Replace the contents of `src/App.tsx` with the following code:\n\n```tsx title=\"src/App.tsx\"\n\nimport { Refine, useMany } from \"@pankod/refine-core\";\nimport {\n    useTable,\n    List,\n    Table,\n    DateField,\n    Layout,\n    ReadyPage,\n    notificationProvider,\n    ErrorComponent,\n} from \"@pankod/refine-antd\";\nimport routerProvider from \"@pankod/refine-react-router-v6\";\nimport dataProvider from \"@pankod/refine-simple-rest\";\n\nimport \"@pankod/refine-antd/dist/styles.min.css\";\n\nconst App: React.FC = () => {\n    return (\n        <Refine\n            routerProvider={routerProvider}\n            dataProvider={dataProvider(\"https://api.fake-rest.refine.dev\")}\n            resources={[{ name: \"posts\", list: PostList }]}\n            Layout={Layout}\n            ReadyPage={ReadyPage}\n            notificationProvider={notificationProvider}\n            catchAll={<ErrorComponent />}\n        />\n    );\n};\n\nexport const PostList: React.FC = () => {\n    const { tableProps } = useTable<IPost>();\n\n    const categoryIds =\n        tableProps?.dataSource?.map((item) => item.category.id) ?? [];\n\n    const { data, isLoading } = useMany<ICategory>({\n        resource: \"categories\",\n        ids: categoryIds,\n        queryOptions: {\n            enabled: categoryIds.length > 0,\n        },\n    });\n\n    return (\n        <List>\n            <Table<IPost> {...tableProps} rowKey=\"id\">\n                <Table.Column dataIndex=\"title\" title=\"title\" />\n                <Table.Column\n                    dataIndex={[\"category\", \"id\"]}\n                    title=\"category\"\n                    render={(value: number) => {\n                        if (isLoading) {\n                            return \"loading...\";\n                        }\n\n                        return data?.data.find(\n                            (item: ICategory) => item.id === value,\n                        )?.title;\n                    }}\n                />\n                <Table.Column\n                    dataIndex=\"createdAt\"\n                    title=\"createdAt\"\n                    render={(value) => <DateField format=\"LLL\" value={value} />}\n                />\n            </Table>\n        </List>\n    );\n};\n\nexport default App;\n\ninterface IPost {\n  title: string;\n  createdAt: string;\n  category: { id: number };\n}\n\ninterface ICategory {\n  id: number;\n  title: string;\n}\n\n```\n\nNow, you should see the output as a table populated with `post` & `category` data:\n![First example result](https://github.com/pankod/refine/blob/master/documentation/static/img/first-example-result.png?raw=true)\n## Next Steps\n\n👉 Jump to [Refine<>Ant Design Tutorial](https://refine.dev/docs/ui-frameworks/antd/tutorial/) to continue your work and turn the example into a full-blown CRUD application.\n\n👉 Check out the [Refine<>Tailwind Tutorial](https://refine.dev/docs/ui-frameworks/antd/tutorial/) to learn how to use **refine** in a pure *headless* way.\n\n👉 Visit [Learn the Basics Page](https://refine.dev/docs/getting-started/basics/) to get informed about the fundemental concepts.\n\n👉 Read more on [Guides & Concepts](https://refine.dev/docs/guides-and-concepts/access-control/) for different usage scenarios.\n\n👉 See the real-life [Finefoods Demo](https://refine.dev/demo/) project.\n\n👉 Play with interactive [Examples](https://refine.dev/docs/examples/tutorial/headless-tutorial/)\n\n## Roadmap\nYou can find refine's <a href=\"https://github.com/pankod/refine/projects/1\">Public Roadmap here!</a> \n\n## Stargazers\n\n[![Stargazers repo roster for pankod/refine](https://reporoster.com/stars/pankod/refine)](https://github.com/pankod/refine/stargazers)\n\n## Contribution\n\nIf you have a bug to report, do not hesitate to file an issue.\n\nIf you are willing to fix an issue or propose a feature; all PRs with clear explanations are welcome and encouraged.\n\n## License\n\nLicensed under the MIT License, Copyright © 2021-present Pankod\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/pankod/refine/issues"},"homepage":"https://github.com/pankod/refine#readme","_id":"@pankod/refine-core@3.71.1","_nodeVersion":"16.17.0","_npmVersion":"8.15.0","dist":{"integrity":"sha512-CxQ6Ir32rCe/6iBcY7rb50NAcT+rstwg6RK4wE9Q8bxETn9QP6nPyX0SySmOAdbJgEXr6BEAMCyjyZgNk+NEzg==","shasum":"a301eba2950bdb35bd33377e633899d1b5e81163","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.71.1.tgz","fileCount":506,"unpackedSize":1898765,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIC51Shibr3G4vN3lfPuh82pf5GreP7XUP8TOVM8HCyg5AiAnDIciSN0xzeNpzvuUmF2jU+xYyGYYfZvuwmj2Jc4N3Q=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjLCcKACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpWeA//Vzqfh5npO6hNM2QNZzL8fgVcAp2xotbu9Kk+5UIPqBSyr9Ei\r\nh/ZlscmPeStpU/HntUZEjGDgqbM7pSzcOlTgrPZVma539Lrew+32Ysz5wa1V\r\nMqrd7tfPBjLlwWCweXtLYd1CNSBAIThmdPJ/n8oqQ8AuGF6POoWJhq21Ewja\r\nLRXC3HIH8FhH0Kb6/XFAMwXhwIlpmpzOOgWlT6ThVMxQ36NzEj6fI9zHiBLK\r\n6F6z2ETS2k4Y+8kzN7UTQjj5mGptqG7SkSpnR7lPthdAGI68sP8QFyIS2i/Q\r\ncAxmMOW1zWuMQmoKY8iTh963tx6zcbgaa22m+vTgS2rwnaY1sQFWi5/YJigT\r\nRlxsC5V+CSyC2K/v+gFeiIvBxkNb/CDM0DdAgMmsspkBKZ/wPavfWrGxKBvp\r\nccMr12K2u/uohft885CPHGlubTw4BL46+oPH0erbWTeXP1vZ1NRySpz3KSsU\r\nAZGp7CTdZxDDYQinaCxSRUQsYphqaW7SRJlaZEDqXTc3Yd1wl6rRJAcWNoDy\r\nKtJkN3aUkpTbWOejD5j5Tjw204Dh9WS3RUJd6JYWc2AQsJm6WbeuGc4L3TQ5\r\nCzUaJEwkzJ1CLgHlqCDao4k0Y9Fo8BKz7uv+A++yZsviwgF/9o4dz6W1jH35\r\nc2LkkM10sBci6oAQ4pPEwnXcsHKRiBWDJpo=\r\n=yZvi\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.71.1_1663837961595_0.5952133684886358"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.71.2":{"name":"@pankod/refine-core","version":"3.71.2","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --format esm,cjs,iife --legacy-output","build":"tsup --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0","@types/react":"^17.0.0 || ^18.0.0","@types/react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.16.4","@testing-library/react":"^13.1.1","@testing-library/react-hooks":"^8.0.0","@testing-library/user-event":"^14.1.1","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^18.0.0","@types/react-dom":"^18.0.0","@types/react-router-dom":"^5.1.8","@types/testing-library__jest-dom":"^5.14.3","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"6.3.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.7.4"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","lodash-es":"^4.17.21","lodash":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","@tanstack/react-query-devtools":"^4.0.10","@tanstack/react-query":"^4.0.10","tslib":"^2.3.1","warn-once":"^0.1.0"},"repository":{"type":"git","url":"git+https://github.com/pankod/refine.git","directory":"packages/core"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"17dd5af3e4c9f7f09e1e707362c6f5a9d1cab8a8","publishConfig":{"access":"public"},"bugs":{"url":"https://github.com/pankod/refine/issues"},"homepage":"https://github.com/pankod/refine#readme","_id":"@pankod/refine-core@3.71.2","_nodeVersion":"16.17.0","_npmVersion":"8.15.0","dist":{"integrity":"sha512-2s+OOL3pEQ6sve3+1T+VxzDRBbHEfPdnuqXRCvIIKUKHSAAgB3dQr8qzlbTigQOgTvEfP7IvoIayUsY1I7yp/w==","shasum":"224dc28eb8a79c7cc9e55c6306652bfc1cd964f4","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.71.2.tgz","fileCount":506,"unpackedSize":1899134,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEikOZ74g4fpxYlNygdJBN/+di95c2nANlAIzk2QajplAiEAlwbTXETJEcnUpZRQ+qPVvmL19BGBqdkNIWHBo70NCTA="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjLDWIACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrlHA//Rks+R6g8WMGGmYFO5QrfrM7ogH/BCscrq9Uy3CGT6pdbFPU5\r\nLCZ/6YSy/3QJJ35g1te6ExbjXplTKNqqtNtsvydfCD5DPMTQb0pTQuJ9hmb6\r\nujT8QSnR20efEM5kNB3F2X6KFIXg3zSksGZFFdQ72VSdME4Tbebzw/iFkIm5\r\npFlNi/iz+E5TljrQN+4e0KdA3J9uZvHtKjBxKd+LkndcIRsFshWlbMuk1jZN\r\nAMY0X/P6zINw9z75uD1L/y9zeqb13exZMWuiNY6GnH6baI1yw8NF8g3o6gZw\r\n83j9XrfLVKNxoeZSUPdofga7xm4jvffj8UA5hht1DgsqPM4deyEHvxkA91O1\r\nHbI8RyP9xqecfjN2EyF/OGMe2s2gus7UaDfnjfrEGyQk9hhjFs6cNEMMyvuI\r\n64V3FDNUdH5OWwWc0iodA/++kOyNMBVCdvorVAcbLMc3nFg8syxc/pBf06EP\r\n2SEL4MC5G+OIoa3Jdc4E9xihIWIS3C7jRrkogdwZnFXWr8WMvGIRcqm8by6V\r\nzuYMw6GoHk681oV5XI1WBEP1oO+lDOimn//T8tCU1s8pzbE70jhe8olo0w9Q\r\nuAA/zUk7R3G/ZL6vqdJZn4EgDRvBxsJQxqFS7IkOsrmT0t3UClZMSoAJn0C9\r\nKH7eCCRzKSpWxpcrA/9MmRgzWkFOsv7FuPE=\r\n=bI88\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.71.2_1663841672530_0.04162922860330864"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.72.0":{"name":"@pankod/refine-core","version":"3.72.0","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --format esm,cjs,iife --legacy-output","build":"tsup --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0","@types/react":"^17.0.0 || ^18.0.0","@types/react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.16.4","@testing-library/react":"^13.1.1","@testing-library/react-hooks":"^8.0.0","@testing-library/user-event":"^14.1.1","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^18.0.0","@types/react-dom":"^18.0.0","@types/react-router-dom":"^5.1.8","@types/testing-library__jest-dom":"^5.14.3","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"6.3.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.7.4"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","lodash-es":"^4.17.21","lodash":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","@tanstack/react-query-devtools":"^4.0.10","@tanstack/react-query":"^4.0.10","tslib":"^2.3.1","warn-once":"^0.1.0"},"repository":{"type":"git","url":"git+https://github.com/pankod/refine.git","directory":"packages/core"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"17dd5af3e4c9f7f09e1e707362c6f5a9d1cab8a8","publishConfig":{"access":"public"},"readme":"<div align=\"center\" style=\"margin: 30px;\">\n<a href=\"https://refine.dev/\">\n  <img src=\"https://raw.githubusercontent.com/pankod/refine/master/logo.png\"   style=\"width:250px;\" align=\"center\" />\n</a>\n<br />\n<br />\n\n<div align=\"center\">\n    <a href=\"https://refine.dev\">Home Page</a> |\n    <a href=\"https://refine.dev/demo/\">Demo</a> | \n    <a href=\"https://refine.dev/blog/\">Blog</a> | \n    <a href=\"https://refine.dev/docs/\">Documentation</a> | \n    <a href=\"https://github.com/pankod/refine/projects/1\">Roadmap</a> | \n    <a href=\"https://refine.dev/docs/examples/tutorial/\">Examples</a> | \n    <a href=\"https://refine.dev/enterprise/\">Enterprise</a> | \n    <a href=\"https://discord.gg/refine\">Discord</a>\n</div>\n\n</div>\n<br/>\n\n<div align=\"center\"><strong>Build your <a href=\"https://reactjs.org/\">React</a>-based CRUD applications, without constraints.</strong><br>Open source, headless web application framework developed with flexibility in mind.</div>\n\n<br />\n\n<div align=\"center\">\n\n[![Discord](https://img.shields.io/discord/837692625737613362.svg?label=&logo=discord&logoColor=ffffff&color=7389D8&labelColor=6A7EC2)](https://discord.gg/refine)\n[![Twitter Follow](https://img.shields.io/twitter/follow/refine_dev?style=social)](https://twitter.com/refine_dev)\n\n<a href=\"https://www.producthunt.com/posts/refine-open-source-react-framework?utm_source=badge-featured&utm_medium=badge&utm_souce=badge-refine-open-source-react-framework\" target=\"_blank\"><img src=\"https://api.producthunt.com/widgets/embed-image/v1/featured.svg?post_id=319164&theme=light\" alt=\"refine: Open Source React Framework - Focus your business logic. refine will do the rest. | Product Hunt\" style=\"width: 250px; height: 54px;\" width=\"250\" height=\"54\" /></a>\n\n[![Meercode CI Score](https://meercode.io/badge/pankod/refine?type=ci-score&branch=master&token=2ZiT8YsoJgt57JB23NYwXrFY3rJHZboT&lastDay=31)](https://meercode.io/)\n[![Meercode CI Success Rate](https://meercode.io/badge/pankod/refine?type=ci-success-rate&branch=master&token=2ZiT8YsoJgt57JB23NYwXrFY3rJHZboT&lastDay=31)](https://meercode.io/)\n[![Maintainability](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/maintainability)](https://codeclimate.com/github/pankod/refine/maintainability)\n[![Test Coverage](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/test_coverage)](https://codeclimate.com/github/pankod/refine/test_coverage)\n[![npm version](https://img.shields.io/npm/v/@pankod/refine-core.svg)](https://www.npmjs.com/package/@pankod/refine-core)\n[![npm](https://img.shields.io/npm/dm/@pankod/refine-core)](https://www.npmjs.com/package/@pankod/refine-core)\n[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.0-4baaaa.svg)](code_of_conduct.md)\n</div>\n\n<div align=\"center\" style=\"margin: 30px;\">\n  <img src=\"https://github.com/pankod/refine/blob/master/documentation/static/img/refine-promo-gif.gif?raw=true\" style=\"width:688px;\"/>\n</div>\n\n\n## What is refine?\n**refine** is a React-based framework for rapid ✨ development of web applications. \nIt eliminates the repetitive tasks demanded by **CRUD** operations and provides industry standard solutions for critical parts like **authentication**, **access control**, **routing**, **networking**, **state management** and **i18n**.\n\n**refine** is *headless by design* offering unlimited styling and customization options. \n\n## What do you mean by \"headless\" ?\nInstead of being a limited set of pre-styled components, **refine** is a collection of helper `hooks`, `components` and `providers`. They are all decoupled from your *UI components* and *business logic*, so they never keep you from customizing your *UI* or coding your own flow.\n\n**refine** seamlessly works with any **custom design** or **UI framework you favor**. For convenience, it ships with ready-made integrations for [Ant Design System](https://ant.design/) and [Material UI](https://mui.com/).\n\n## Use cases\n**refine** shines on *data-intensive* applications like *admin panels*, *dashboards* and *internal tools*. Thanks to built-in **SSR support**, **refine** can also power *customer-facing* applications like *storefronts*.\n\n## Key Features\n\n⚙️ Zero-config, **one-minute setup** with a **single CLI command**\n\n🔌 Connectors for **15+ backend services** including [REST API](https://github.com/pankod/refine/tree/master/packages/simple-rest), [GraphQL](https://github.com/pankod/refine/tree/master/packages/graphql), [NestJs CRUD](https://github.com/pankod/refine/tree/master/packages/nestjsx-crud), [Airtable](https://github.com/pankod/refine/tree/master/packages/airtable), [Strapi](https://github.com/pankod/refine/tree/master/packages/strapi), [Strapi v4](https://github.com/pankod/refine/tree/master/packages/strapi-v4), [Strapi GraphQL](https://github.com/pankod/refine/tree/master/packages/strapi-graphql), [Supabase](https://github.com/pankod/refine/tree/master/packages/supabase), [Hasura](https://github.com/pankod/refine/tree/master/packages/hasura), [Nhost](https://github.com/pankod/refine/tree/master/packages/nhost), [Appwrite](https://github.com/pankod/refine/tree/master/packages/appwrite), [Firebase](https://firebase.google.com/), [Directus](https://directus.io/) and [Altogic](https://github.com/pankod/refine/tree/master/packages/altogic)\n\n🌐 **SSR support** with **Next.js** or **Remix**\n\n⚛ Perfect **state management** & **mutations** with **React Query**\n\n🔀 **Advanced routing** with any router library of your choice\n\n🔐 Providers for seamless **authentication** and **access control** flows\n\n⚡ Out-of-the-box support for **live / real-time applications**\n\n📄 Easy **audit logs** &** **document versioning**\n\n💬 Support for any **i18n** framework\n\n💪 Future-proof, **robust architecture**\n\n✅ Full **test coverage**\n\n## Quick Start\n\nThe fastest way to get started with **refine** is using the [superplate](https://github.com/pankod/superplate) project starter tool.\nRun the following command to create a new **refine** project configured with  [Ant Design System](https://ant.design/) as the default UI framework:\n\n```\nnpx superplate-cli --preset refine-antd my-project\n```\n\nOnce the setup is complete, navigate to the project folder and start your project with:\n\n```\nnpm run dev\n```\n\nYour **refine** application will be accessible at [http://localhost:3000](http://localhost:3000):\n![Welcome on board](https://github.com/pankod/refine/blob/master/documentation/static/img/welcome-on-board.png?raw=true)\nLet's consume a public `fake REST API` and add two resources (*posts*, *categories*) to our project. Replace the contents of `src/App.tsx` with the following code:\n\n```tsx title=\"src/App.tsx\"\n\nimport { Refine, useMany } from \"@pankod/refine-core\";\nimport {\n    useTable,\n    List,\n    Table,\n    DateField,\n    Layout,\n    ReadyPage,\n    notificationProvider,\n    ErrorComponent,\n} from \"@pankod/refine-antd\";\nimport routerProvider from \"@pankod/refine-react-router-v6\";\nimport dataProvider from \"@pankod/refine-simple-rest\";\n\nimport \"@pankod/refine-antd/dist/styles.min.css\";\n\nconst App: React.FC = () => {\n    return (\n        <Refine\n            routerProvider={routerProvider}\n            dataProvider={dataProvider(\"https://api.fake-rest.refine.dev\")}\n            resources={[{ name: \"posts\", list: PostList }]}\n            Layout={Layout}\n            ReadyPage={ReadyPage}\n            notificationProvider={notificationProvider}\n            catchAll={<ErrorComponent />}\n        />\n    );\n};\n\nexport const PostList: React.FC = () => {\n    const { tableProps } = useTable<IPost>();\n\n    const categoryIds =\n        tableProps?.dataSource?.map((item) => item.category.id) ?? [];\n\n    const { data, isLoading } = useMany<ICategory>({\n        resource: \"categories\",\n        ids: categoryIds,\n        queryOptions: {\n            enabled: categoryIds.length > 0,\n        },\n    });\n\n    return (\n        <List>\n            <Table<IPost> {...tableProps} rowKey=\"id\">\n                <Table.Column dataIndex=\"title\" title=\"title\" />\n                <Table.Column\n                    dataIndex={[\"category\", \"id\"]}\n                    title=\"category\"\n                    render={(value: number) => {\n                        if (isLoading) {\n                            return \"loading...\";\n                        }\n\n                        return data?.data.find(\n                            (item: ICategory) => item.id === value,\n                        )?.title;\n                    }}\n                />\n                <Table.Column\n                    dataIndex=\"createdAt\"\n                    title=\"createdAt\"\n                    render={(value) => <DateField format=\"LLL\" value={value} />}\n                />\n            </Table>\n        </List>\n    );\n};\n\nexport default App;\n\ninterface IPost {\n  title: string;\n  createdAt: string;\n  category: { id: number };\n}\n\ninterface ICategory {\n  id: number;\n  title: string;\n}\n\n```\n\nNow, you should see the output as a table populated with `post` & `category` data:\n![First example result](https://github.com/pankod/refine/blob/master/documentation/static/img/first-example-result.png?raw=true)\n## Next Steps\n\n👉 Jump to [Refine<>Ant Design Tutorial](https://refine.dev/docs/ui-frameworks/antd/tutorial/) to continue your work and turn the example into a full-blown CRUD application.\n\n👉 Check out the [Refine<>Tailwind Tutorial](https://refine.dev/docs/ui-frameworks/antd/tutorial/) to learn how to use **refine** in a pure *headless* way.\n\n👉 Visit [Learn the Basics Page](https://refine.dev/docs/getting-started/basics/) to get informed about the fundemental concepts.\n\n👉 Read more on [Guides & Concepts](https://refine.dev/docs/guides-and-concepts/access-control/) for different usage scenarios.\n\n👉 See the real-life [Finefoods Demo](https://refine.dev/demo/) project.\n\n👉 Play with interactive [Examples](https://refine.dev/docs/examples/tutorial/headless-tutorial/)\n\n## Roadmap\nYou can find refine's <a href=\"https://github.com/pankod/refine/projects/1\">Public Roadmap here!</a> \n\n## Stargazers\n\n[![Stargazers repo roster for pankod/refine](https://reporoster.com/stars/pankod/refine)](https://github.com/pankod/refine/stargazers)\n\n## Contribution\n\nIf you have a bug to report, do not hesitate to file an issue.\n\nIf you are willing to fix an issue or propose a feature; all PRs with clear explanations are welcome and encouraged.\n\n## License\n\nLicensed under the MIT License, Copyright © 2021-present Pankod\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/pankod/refine/issues"},"homepage":"https://github.com/pankod/refine#readme","_id":"@pankod/refine-core@3.72.0","_nodeVersion":"16.17.0","_npmVersion":"8.15.0","dist":{"integrity":"sha512-Zx2Jtw+k3P3bZUY0cX4AmmoCfKRXWxWd8mJ+yo4NId8A0SjP4oQGq97hzYj8rdMD7+iQNxBe6pTY513PqJWsbg==","shasum":"bce7b7e77dea21f3b145ec2ab1068e3c3d477a08","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.72.0.tgz","fileCount":506,"unpackedSize":1902449,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDqnB+vWs9YkhAFIL4I/8sZ9SowUZtm78+QaYX+HIg2YAIgBLMS6bJjiBCNzOzhaD8LTzVnV0WYRnBleuDBxvodYgk="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjLGIHACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq8UxAAlWtu7oCqXDJUolM686q+n0f6wmUaSIfOgpYpTo5s90VqN5Z4\r\ngmoh2E5LOUS88IWIN1gVcZBrAWUwW3efLTRKmh8K+zU+Kfxy9eWEoOfYPTaj\r\nivpaRLJxDQ/HstsVlodGph7O07DbO3vbpw9NtyWz3ipLyai+uvGOTat0mFUk\r\nixtvkzNTWrnDPS2CfD9kgMjP5tpf/bExERcfgcmI9vDzYSOW+5YvVjkXC2MG\r\n6MC+rsoSYyIKggAcBiMwp9AGM/fpWl2oK+L6CElMpx17rR2oAiR1fHpPGTXd\r\n7lAAorfXHgmy2Ml3wQ+CE9p9b62knTWCYoCl/cxDpolBKkm64OblbZEGRB1s\r\n9Bm+zIB0bIfxhfDluQ7UGr6u3uYU7503NYYZF2pZoQtCqqjzr71tWaLAwjfB\r\nsi7YNgwAw3m1EdGxbU3d1yw2hrGU/kgYwfWz/oPPeMbuC/TjrTOQIu1WST7w\r\nFJfWn9mzOfmxwyJQvfh64ofbCEhGyS8kDQtNbUDg8LgUMpygQQ9Q6OAxbmfn\r\nC5ezLraXJs5f1Kz4xZLpLkeGvwKPVQHkCpfjJJc4z1pZZB2JqALIXXf8VRNQ\r\neoN1YHH6g7+jkqDYXxgrm6UzasEJwWJ1WCfjhpRyOWg6oF5oHWCxbGW29B+M\r\n9XBU+LuNblZw9DRhlqCVTMcayJOsXSzZuRs=\r\n=ddHs\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.72.0_1663853063299_0.3638176561401698"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.72.1":{"name":"@pankod/refine-core","version":"3.72.1","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --format esm,cjs,iife --legacy-output","build":"tsup --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0","@types/react":"^17.0.0 || ^18.0.0","@types/react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.16.4","@testing-library/react":"^13.1.1","@testing-library/react-hooks":"^8.0.0","@testing-library/user-event":"^14.1.1","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^18.0.0","@types/react-dom":"^18.0.0","@types/react-router-dom":"^5.1.8","@types/testing-library__jest-dom":"^5.14.3","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"6.3.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.7.4"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","lodash-es":"^4.17.21","lodash":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","@tanstack/react-query-devtools":"^4.0.10","@tanstack/react-query":"^4.0.10","tslib":"^2.3.1","warn-once":"^0.1.0"},"repository":{"type":"git","url":"git+https://github.com/pankod/refine.git","directory":"packages/core"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"17dd5af3e4c9f7f09e1e707362c6f5a9d1cab8a8","publishConfig":{"access":"public"},"readme":"<div align=\"center\" style=\"margin: 30px;\">\n<a href=\"https://refine.dev/\">\n  <img src=\"https://raw.githubusercontent.com/pankod/refine/master/logo.png\"   style=\"width:250px;\" align=\"center\" />\n</a>\n<br />\n<br />\n\n<div align=\"center\">\n    <a href=\"https://refine.dev\">Home Page</a> |\n    <a href=\"https://refine.dev/demo/\">Demo</a> | \n    <a href=\"https://refine.dev/blog/\">Blog</a> | \n    <a href=\"https://refine.dev/docs/\">Documentation</a> | \n    <a href=\"https://github.com/pankod/refine/projects/1\">Roadmap</a> | \n    <a href=\"https://refine.dev/docs/examples/tutorial/\">Examples</a> | \n    <a href=\"https://refine.dev/enterprise/\">Enterprise</a> | \n    <a href=\"https://discord.gg/refine\">Discord</a>\n</div>\n\n</div>\n<br/>\n\n<div align=\"center\"><strong>Build your <a href=\"https://reactjs.org/\">React</a>-based CRUD applications, without constraints.</strong><br>Open source, headless web application framework developed with flexibility in mind.</div>\n\n<br />\n\n<div align=\"center\">\n\n[![Discord](https://img.shields.io/discord/837692625737613362.svg?label=&logo=discord&logoColor=ffffff&color=7389D8&labelColor=6A7EC2)](https://discord.gg/refine)\n[![Twitter Follow](https://img.shields.io/twitter/follow/refine_dev?style=social)](https://twitter.com/refine_dev)\n\n<a href=\"https://www.producthunt.com/posts/refine-open-source-react-framework?utm_source=badge-featured&utm_medium=badge&utm_souce=badge-refine-open-source-react-framework\" target=\"_blank\"><img src=\"https://api.producthunt.com/widgets/embed-image/v1/featured.svg?post_id=319164&theme=light\" alt=\"refine: Open Source React Framework - Focus your business logic. refine will do the rest. | Product Hunt\" style=\"width: 250px; height: 54px;\" width=\"250\" height=\"54\" /></a>\n\n[![Meercode CI Score](https://meercode.io/badge/pankod/refine?type=ci-score&branch=master&token=2ZiT8YsoJgt57JB23NYwXrFY3rJHZboT&lastDay=31)](https://meercode.io/)\n[![Meercode CI Success Rate](https://meercode.io/badge/pankod/refine?type=ci-success-rate&branch=master&token=2ZiT8YsoJgt57JB23NYwXrFY3rJHZboT&lastDay=31)](https://meercode.io/)\n[![Maintainability](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/maintainability)](https://codeclimate.com/github/pankod/refine/maintainability)\n[![Test Coverage](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/test_coverage)](https://codeclimate.com/github/pankod/refine/test_coverage)\n[![npm version](https://img.shields.io/npm/v/@pankod/refine-core.svg)](https://www.npmjs.com/package/@pankod/refine-core)\n[![npm](https://img.shields.io/npm/dm/@pankod/refine-core)](https://www.npmjs.com/package/@pankod/refine-core)\n[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.0-4baaaa.svg)](code_of_conduct.md)\n</div>\n\n<div align=\"center\" style=\"margin: 30px;\">\n  <img src=\"https://github.com/pankod/refine/blob/master/documentation/static/img/refine-promo-gif.gif?raw=true\" style=\"width:688px;\"/>\n</div>\n\n\n## What is refine?\n**refine** is a React-based framework for rapid ✨ development of web applications. \nIt eliminates the repetitive tasks demanded by **CRUD** operations and provides industry standard solutions for critical parts like **authentication**, **access control**, **routing**, **networking**, **state management** and **i18n**.\n\n**refine** is *headless by design* offering unlimited styling and customization options. \n\n## What do you mean by \"headless\" ?\nInstead of being a limited set of pre-styled components, **refine** is a collection of helper `hooks`, `components` and `providers`. They are all decoupled from your *UI components* and *business logic*, so they never keep you from customizing your *UI* or coding your own flow.\n\n**refine** seamlessly works with any **custom design** or **UI framework you favor**. For convenience, it ships with ready-made integrations for [Ant Design System](https://ant.design/) and [Material UI](https://mui.com/).\n\n## Use cases\n**refine** shines on *data-intensive* applications like *admin panels*, *dashboards* and *internal tools*. Thanks to built-in **SSR support**, **refine** can also power *customer-facing* applications like *storefronts*.\n\n## Key Features\n\n⚙️ Zero-config, **one-minute setup** with a **single CLI command**\n\n🔌 Connectors for **15+ backend services** including [REST API](https://github.com/pankod/refine/tree/master/packages/simple-rest), [GraphQL](https://github.com/pankod/refine/tree/master/packages/graphql), [NestJs CRUD](https://github.com/pankod/refine/tree/master/packages/nestjsx-crud), [Airtable](https://github.com/pankod/refine/tree/master/packages/airtable), [Strapi](https://github.com/pankod/refine/tree/master/packages/strapi), [Strapi v4](https://github.com/pankod/refine/tree/master/packages/strapi-v4), [Strapi GraphQL](https://github.com/pankod/refine/tree/master/packages/strapi-graphql), [Supabase](https://github.com/pankod/refine/tree/master/packages/supabase), [Hasura](https://github.com/pankod/refine/tree/master/packages/hasura), [Nhost](https://github.com/pankod/refine/tree/master/packages/nhost), [Appwrite](https://github.com/pankod/refine/tree/master/packages/appwrite), [Firebase](https://firebase.google.com/), [Directus](https://directus.io/) and [Altogic](https://github.com/pankod/refine/tree/master/packages/altogic)\n\n🌐 **SSR support** with **Next.js** or **Remix**\n\n⚛ Perfect **state management** & **mutations** with **React Query**\n\n🔀 **Advanced routing** with any router library of your choice\n\n🔐 Providers for seamless **authentication** and **access control** flows\n\n⚡ Out-of-the-box support for **live / real-time applications**\n\n📄 Easy **audit logs** &** **document versioning**\n\n💬 Support for any **i18n** framework\n\n💪 Future-proof, **robust architecture**\n\n✅ Full **test coverage**\n\n## Quick Start\n\nThe fastest way to get started with **refine** is using the [superplate](https://github.com/pankod/superplate) project starter tool.\nRun the following command to create a new **refine** project configured with  [Ant Design System](https://ant.design/) as the default UI framework:\n\n```\nnpx superplate-cli --preset refine-antd my-project\n```\n\nOnce the setup is complete, navigate to the project folder and start your project with:\n\n```\nnpm run dev\n```\n\nYour **refine** application will be accessible at [http://localhost:3000](http://localhost:3000):\n![Welcome on board](https://github.com/pankod/refine/blob/master/documentation/static/img/welcome-on-board.png?raw=true)\nLet's consume a public `fake REST API` and add two resources (*posts*, *categories*) to our project. Replace the contents of `src/App.tsx` with the following code:\n\n```tsx title=\"src/App.tsx\"\n\nimport { Refine, useMany } from \"@pankod/refine-core\";\nimport {\n    useTable,\n    List,\n    Table,\n    DateField,\n    Layout,\n    ReadyPage,\n    notificationProvider,\n    ErrorComponent,\n} from \"@pankod/refine-antd\";\nimport routerProvider from \"@pankod/refine-react-router-v6\";\nimport dataProvider from \"@pankod/refine-simple-rest\";\n\nimport \"@pankod/refine-antd/dist/styles.min.css\";\n\nconst App: React.FC = () => {\n    return (\n        <Refine\n            routerProvider={routerProvider}\n            dataProvider={dataProvider(\"https://api.fake-rest.refine.dev\")}\n            resources={[{ name: \"posts\", list: PostList }]}\n            Layout={Layout}\n            ReadyPage={ReadyPage}\n            notificationProvider={notificationProvider}\n            catchAll={<ErrorComponent />}\n        />\n    );\n};\n\nexport const PostList: React.FC = () => {\n    const { tableProps } = useTable<IPost>();\n\n    const categoryIds =\n        tableProps?.dataSource?.map((item) => item.category.id) ?? [];\n\n    const { data, isLoading } = useMany<ICategory>({\n        resource: \"categories\",\n        ids: categoryIds,\n        queryOptions: {\n            enabled: categoryIds.length > 0,\n        },\n    });\n\n    return (\n        <List>\n            <Table<IPost> {...tableProps} rowKey=\"id\">\n                <Table.Column dataIndex=\"title\" title=\"title\" />\n                <Table.Column\n                    dataIndex={[\"category\", \"id\"]}\n                    title=\"category\"\n                    render={(value: number) => {\n                        if (isLoading) {\n                            return \"loading...\";\n                        }\n\n                        return data?.data.find(\n                            (item: ICategory) => item.id === value,\n                        )?.title;\n                    }}\n                />\n                <Table.Column\n                    dataIndex=\"createdAt\"\n                    title=\"createdAt\"\n                    render={(value) => <DateField format=\"LLL\" value={value} />}\n                />\n            </Table>\n        </List>\n    );\n};\n\nexport default App;\n\ninterface IPost {\n  title: string;\n  createdAt: string;\n  category: { id: number };\n}\n\ninterface ICategory {\n  id: number;\n  title: string;\n}\n\n```\n\nNow, you should see the output as a table populated with `post` & `category` data:\n![First example result](https://github.com/pankod/refine/blob/master/documentation/static/img/first-example-result.png?raw=true)\n## Next Steps\n\n👉 Jump to [Refine<>Ant Design Tutorial](https://refine.dev/docs/ui-frameworks/antd/tutorial/) to continue your work and turn the example into a full-blown CRUD application.\n\n👉 Check out the [Refine<>Tailwind Tutorial](https://refine.dev/docs/ui-frameworks/antd/tutorial/) to learn how to use **refine** in a pure *headless* way.\n\n👉 Visit [Learn the Basics Page](https://refine.dev/docs/getting-started/basics/) to get informed about the fundemental concepts.\n\n👉 Read more on [Guides & Concepts](https://refine.dev/docs/guides-and-concepts/access-control/) for different usage scenarios.\n\n👉 See the real-life [Finefoods Demo](https://refine.dev/demo/) project.\n\n👉 Play with interactive [Examples](https://refine.dev/docs/examples/tutorial/headless-tutorial/)\n\n## Roadmap\nYou can find refine's <a href=\"https://github.com/pankod/refine/projects/1\">Public Roadmap here!</a> \n\n## Stargazers\n\n[![Stargazers repo roster for pankod/refine](https://reporoster.com/stars/pankod/refine)](https://github.com/pankod/refine/stargazers)\n\n## Contribution\n\nIf you have a bug to report, do not hesitate to file an issue.\n\nIf you are willing to fix an issue or propose a feature; all PRs with clear explanations are welcome and encouraged.\n\n## License\n\nLicensed under the MIT License, Copyright © 2021-present Pankod\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/pankod/refine/issues"},"homepage":"https://github.com/pankod/refine#readme","_id":"@pankod/refine-core@3.72.1","_nodeVersion":"16.17.0","_npmVersion":"8.15.0","dist":{"integrity":"sha512-n5Hk+mQvivDZgSK3FnNS+/V2yHT4+E2AYm6oBxR2s9c3vcMHyW0bJCl3682bncJ7LKvSCGwOO8e3urLL4mT/CQ==","shasum":"16bf34e4825619b8386edb5fefea49cd868eea59","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.72.1.tgz","fileCount":506,"unpackedSize":1902771,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFZgHKNKdG3rZ58JFlDT7Nn4PbNV0IBj3jZ5zXogb2gRAiB7LQM9hkEKxpy2EDF7esUBpV5fIbCubToyyzgDhxjh2w=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjLHcmACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp1IA/+L/JAkk7ZxGnI3JO5WpKwuOuYuC9s7TrhF+eSJqtCEmXrHlvK\r\nSi2EeI01A7Sf1tzFud6T78EwaifgOJ6c6qB2m3tDnImgkidsXNHNvyLF8jKZ\r\n52wHtwSWgLY6EJDb4D07aWAjdDZsJy25bNOSqc9H6i3gRnQPUpCjuqv34Aes\r\nawU52T+PU+LpEGpstkES2lV/5IdZJ7AK3lGsbx6l6Pi9EbWiIM7nlz/7Dcks\r\nQhbt9GwdqqOUamTwdzuaGB3i80+cFwkvrzY5u/NX3VWh3Tb5b5nuAzGfeQFr\r\nFeTRZrbPSW8SFQg1wYx75sajrEi0b/eVEA9rwXPiMCXbnrc9F0ULyQz3RkUu\r\nlSeEHb4fkdeWy12hOnOD1xg+Vy2gxwfgUBdnIwGKh7xIMqzjTQifUOF3Ijdp\r\nzRNasmz9hOky8pxEb8lh13DkKl7g82Dqjej4etTs1GX8DttRFHVIaA2ojvH0\r\nbD+eC6Q2y5Wi2SnKkdwaVjrzGuwBeE2PZQeTx4D8w/x28mHAujhCySOYqJUZ\r\nJXOgmUhQQHGuqamHUJlyHI37//y3wT1YtIxojbOGWwLlpKz5kMJz6DQS2KUt\r\nUvw+YVgtpRYwlatXsVFjRpZAGX3KQtq3hoLHvzNmyzEQrGHU7LD6JaZDkf1K\r\nKHtA8u8T/WInWVrin1oIC8O1g/vtHecKta0=\r\n=TFFk\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.72.1_1663858470127_0.837866753622911"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.73.0":{"name":"@pankod/refine-core","version":"3.73.0","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --format esm,cjs,iife --legacy-output","build":"tsup --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0","@types/react":"^17.0.0 || ^18.0.0","@types/react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.16.4","@testing-library/react":"^13.1.1","@testing-library/react-hooks":"^8.0.0","@testing-library/user-event":"^14.1.1","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^18.0.0","@types/react-dom":"^18.0.0","@types/react-router-dom":"^5.1.8","@types/testing-library__jest-dom":"^5.14.3","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"6.3.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.7.4"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","lodash-es":"^4.17.21","lodash":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","@tanstack/react-query-devtools":"^4.0.10","@tanstack/react-query":"^4.0.10","tslib":"^2.3.1","warn-once":"^0.1.0"},"repository":{"type":"git","url":"git+https://github.com/pankod/refine.git","directory":"packages/core"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"17dd5af3e4c9f7f09e1e707362c6f5a9d1cab8a8","publishConfig":{"access":"public"},"readme":"<div align=\"center\" style=\"margin: 30px;\">\n<a href=\"https://refine.dev/\">\n  <img src=\"https://raw.githubusercontent.com/pankod/refine/master/logo.png\"   style=\"width:250px;\" align=\"center\" />\n</a>\n<br />\n<br />\n\n<div align=\"center\">\n    <a href=\"https://refine.dev\">Home Page</a> |\n    <a href=\"https://refine.dev/demo/\">Demo</a> | \n    <a href=\"https://refine.dev/blog/\">Blog</a> | \n    <a href=\"https://refine.dev/docs/\">Documentation</a> | \n    <a href=\"https://github.com/pankod/refine/projects/1\">Roadmap</a> | \n    <a href=\"https://refine.dev/docs/examples/tutorial/\">Examples</a> | \n    <a href=\"https://refine.dev/enterprise/\">Enterprise</a> | \n    <a href=\"https://discord.gg/refine\">Discord</a>\n</div>\n\n</div>\n<br/>\n\n<div align=\"center\"><strong>Build your <a href=\"https://reactjs.org/\">React</a>-based CRUD applications, without constraints.</strong><br>Open source, headless web application framework developed with flexibility in mind.</div>\n\n<br />\n\n<div align=\"center\">\n\n[![Discord](https://img.shields.io/discord/837692625737613362.svg?label=&logo=discord&logoColor=ffffff&color=7389D8&labelColor=6A7EC2)](https://discord.gg/refine)\n[![Twitter Follow](https://img.shields.io/twitter/follow/refine_dev?style=social)](https://twitter.com/refine_dev)\n\n<a href=\"https://www.producthunt.com/posts/refine-open-source-react-framework?utm_source=badge-featured&utm_medium=badge&utm_souce=badge-refine-open-source-react-framework\" target=\"_blank\"><img src=\"https://api.producthunt.com/widgets/embed-image/v1/featured.svg?post_id=319164&theme=light\" alt=\"refine: Open Source React Framework - Focus your business logic. refine will do the rest. | Product Hunt\" style=\"width: 250px; height: 54px;\" width=\"250\" height=\"54\" /></a>\n\n[![Meercode CI Score](https://meercode.io/badge/pankod/refine?type=ci-score&branch=master&token=2ZiT8YsoJgt57JB23NYwXrFY3rJHZboT&lastDay=31)](https://meercode.io/)\n[![Meercode CI Success Rate](https://meercode.io/badge/pankod/refine?type=ci-success-rate&branch=master&token=2ZiT8YsoJgt57JB23NYwXrFY3rJHZboT&lastDay=31)](https://meercode.io/)\n[![Maintainability](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/maintainability)](https://codeclimate.com/github/pankod/refine/maintainability)\n[![Test Coverage](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/test_coverage)](https://codeclimate.com/github/pankod/refine/test_coverage)\n[![npm version](https://img.shields.io/npm/v/@pankod/refine-core.svg)](https://www.npmjs.com/package/@pankod/refine-core)\n[![npm](https://img.shields.io/npm/dm/@pankod/refine-core)](https://www.npmjs.com/package/@pankod/refine-core)\n[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.0-4baaaa.svg)](code_of_conduct.md)\n</div>\n\n<div align=\"center\" style=\"margin: 30px;\">\n  <img src=\"https://github.com/pankod/refine/blob/master/documentation/static/img/refine-promo-gif.gif?raw=true\" style=\"width:688px;\"/>\n</div>\n\n\n## What is refine?\n**refine** is a React-based framework for rapid ✨ development of web applications. \nIt eliminates the repetitive tasks demanded by **CRUD** operations and provides industry standard solutions for critical parts like **authentication**, **access control**, **routing**, **networking**, **state management** and **i18n**.\n\n**refine** is *headless by design* offering unlimited styling and customization options. \n\n## What do you mean by \"headless\" ?\nInstead of being a limited set of pre-styled components, **refine** is a collection of helper `hooks`, `components` and `providers`. They are all decoupled from your *UI components* and *business logic*, so they never keep you from customizing your *UI* or coding your own flow.\n\n**refine** seamlessly works with any **custom design** or **UI framework you favor**. For convenience, it ships with ready-made integrations for [Ant Design System](https://ant.design/) and [Material UI](https://mui.com/).\n\n## Use cases\n**refine** shines on *data-intensive* applications like *admin panels*, *dashboards* and *internal tools*. Thanks to built-in **SSR support**, **refine** can also power *customer-facing* applications like *storefronts*.\n\n## Key Features\n\n⚙️ Zero-config, **one-minute setup** with a **single CLI command**\n\n🔌 Connectors for **15+ backend services** including [REST API](https://github.com/pankod/refine/tree/master/packages/simple-rest), [GraphQL](https://github.com/pankod/refine/tree/master/packages/graphql), [NestJs CRUD](https://github.com/pankod/refine/tree/master/packages/nestjsx-crud), [Airtable](https://github.com/pankod/refine/tree/master/packages/airtable), [Strapi](https://github.com/pankod/refine/tree/master/packages/strapi), [Strapi v4](https://github.com/pankod/refine/tree/master/packages/strapi-v4), [Strapi GraphQL](https://github.com/pankod/refine/tree/master/packages/strapi-graphql), [Supabase](https://github.com/pankod/refine/tree/master/packages/supabase), [Hasura](https://github.com/pankod/refine/tree/master/packages/hasura), [Nhost](https://github.com/pankod/refine/tree/master/packages/nhost), [Appwrite](https://github.com/pankod/refine/tree/master/packages/appwrite), [Firebase](https://firebase.google.com/), [Directus](https://directus.io/) and [Altogic](https://github.com/pankod/refine/tree/master/packages/altogic)\n\n🌐 **SSR support** with **Next.js** or **Remix**\n\n⚛ Perfect **state management** & **mutations** with **React Query**\n\n🔀 **Advanced routing** with any router library of your choice\n\n🔐 Providers for seamless **authentication** and **access control** flows\n\n⚡ Out-of-the-box support for **live / real-time applications**\n\n📄 Easy **audit logs** &** **document versioning**\n\n💬 Support for any **i18n** framework\n\n💪 Future-proof, **robust architecture**\n\n✅ Full **test coverage**\n\n## Quick Start\n\nThe fastest way to get started with **refine** is using the [superplate](https://github.com/pankod/superplate) project starter tool.\nRun the following command to create a new **refine** project configured with  [Ant Design System](https://ant.design/) as the default UI framework:\n\n```\nnpx superplate-cli --preset refine-antd my-project\n```\n\nOnce the setup is complete, navigate to the project folder and start your project with:\n\n```\nnpm run dev\n```\n\nYour **refine** application will be accessible at [http://localhost:3000](http://localhost:3000):\n![Welcome on board](https://github.com/pankod/refine/blob/master/documentation/static/img/welcome-on-board.png?raw=true)\nLet's consume a public `fake REST API` and add two resources (*posts*, *categories*) to our project. Replace the contents of `src/App.tsx` with the following code:\n\n```tsx title=\"src/App.tsx\"\n\nimport { Refine, useMany } from \"@pankod/refine-core\";\nimport {\n    useTable,\n    List,\n    Table,\n    DateField,\n    Layout,\n    ReadyPage,\n    notificationProvider,\n    ErrorComponent,\n} from \"@pankod/refine-antd\";\nimport routerProvider from \"@pankod/refine-react-router-v6\";\nimport dataProvider from \"@pankod/refine-simple-rest\";\n\nimport \"@pankod/refine-antd/dist/styles.min.css\";\n\nconst App: React.FC = () => {\n    return (\n        <Refine\n            routerProvider={routerProvider}\n            dataProvider={dataProvider(\"https://api.fake-rest.refine.dev\")}\n            resources={[{ name: \"posts\", list: PostList }]}\n            Layout={Layout}\n            ReadyPage={ReadyPage}\n            notificationProvider={notificationProvider}\n            catchAll={<ErrorComponent />}\n        />\n    );\n};\n\nexport const PostList: React.FC = () => {\n    const { tableProps } = useTable<IPost>();\n\n    const categoryIds =\n        tableProps?.dataSource?.map((item) => item.category.id) ?? [];\n\n    const { data, isLoading } = useMany<ICategory>({\n        resource: \"categories\",\n        ids: categoryIds,\n        queryOptions: {\n            enabled: categoryIds.length > 0,\n        },\n    });\n\n    return (\n        <List>\n            <Table<IPost> {...tableProps} rowKey=\"id\">\n                <Table.Column dataIndex=\"title\" title=\"title\" />\n                <Table.Column\n                    dataIndex={[\"category\", \"id\"]}\n                    title=\"category\"\n                    render={(value: number) => {\n                        if (isLoading) {\n                            return \"loading...\";\n                        }\n\n                        return data?.data.find(\n                            (item: ICategory) => item.id === value,\n                        )?.title;\n                    }}\n                />\n                <Table.Column\n                    dataIndex=\"createdAt\"\n                    title=\"createdAt\"\n                    render={(value) => <DateField format=\"LLL\" value={value} />}\n                />\n            </Table>\n        </List>\n    );\n};\n\nexport default App;\n\ninterface IPost {\n  title: string;\n  createdAt: string;\n  category: { id: number };\n}\n\ninterface ICategory {\n  id: number;\n  title: string;\n}\n\n```\n\nNow, you should see the output as a table populated with `post` & `category` data:\n![First example result](https://github.com/pankod/refine/blob/master/documentation/static/img/first-example-result.png?raw=true)\n## Next Steps\n\n👉 Jump to [Refine<>Ant Design Tutorial](https://refine.dev/docs/ui-frameworks/antd/tutorial/) to continue your work and turn the example into a full-blown CRUD application.\n\n👉 Check out the [Refine<>Tailwind Tutorial](https://refine.dev/docs/ui-frameworks/antd/tutorial/) to learn how to use **refine** in a pure *headless* way.\n\n👉 Visit [Learn the Basics Page](https://refine.dev/docs/getting-started/basics/) to get informed about the fundemental concepts.\n\n👉 Read more on [Guides & Concepts](https://refine.dev/docs/guides-and-concepts/access-control/) for different usage scenarios.\n\n👉 See the real-life [Finefoods Demo](https://refine.dev/demo/) project.\n\n👉 Play with interactive [Examples](https://refine.dev/docs/examples/tutorial/headless-tutorial/)\n\n## Roadmap\nYou can find refine's <a href=\"https://github.com/pankod/refine/projects/1\">Public Roadmap here!</a> \n\n## Stargazers\n\n[![Stargazers repo roster for pankod/refine](https://reporoster.com/stars/pankod/refine)](https://github.com/pankod/refine/stargazers)\n\n## Contribution\n\nIf you have a bug to report, do not hesitate to file an issue.\n\nIf you are willing to fix an issue or propose a feature; all PRs with clear explanations are welcome and encouraged.\n\n## License\n\nLicensed under the MIT License, Copyright © 2021-present Pankod\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/pankod/refine/issues"},"homepage":"https://github.com/pankod/refine#readme","_id":"@pankod/refine-core@3.73.0","_nodeVersion":"16.17.0","_npmVersion":"8.15.0","dist":{"integrity":"sha512-MRSRkTs2CGrxmhj18PQlKLLnlssYp1g+ohKxSlooQ5WsfclBP0WESSSQRtDQifIa7QFGEpM8ESwe5SkoCeYl1w==","shasum":"0b83d5a48f58ac1f5af436174f83a6ce12e1e1b3","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.73.0.tgz","fileCount":506,"unpackedSize":1903245,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDoParJC2JUx81L61f0ZaBteTd/YBwE0m93H6hg2W3U0AiEAwdPMggW0fJ/kpdGaoLfCr7P1ajFM3tyDXQ1lUGytXxY="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjLIvwACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrWKA//bTp02v+WqQB/QEiq9f/jEOIFNiRDNE5/Tu6aydXdEmk4HXL5\r\npwApk8wUq6+VlhsalDOGeN9EyK0N3tyeWARr/91urD8/xQx6hqgCGTz7nffz\r\neHgp+h4LFOTn6TUen38PeKb6mZQBuENHSxXIpms6HtjAcKQcw4E4I9/5wYxx\r\nPpgH51iX+gLVIYT8n9jcMuGwR0ey2iaRfiPrHGKmpqd3EuovwWCwoMwWTXhX\r\nJVgzUXVp+AnblCh+BCjUS5cSwf5GGiiIOZj4U9q2WurV65L/Xg7Z75H/2JLY\r\nAzQSRi/js1+056+OYpBXMXVkHEX5lV18iZSY37ZqGrFmQ7UDJ3GLimHFBvx7\r\n3Rq73CWLz7cRKJWuZIGfo/nTxuE52wcO5uDjfxhIOuBvAwyB8Jh9583ReOjs\r\nlVVzwFwSbqM4FKtMIlFLO05ul/jo5M8E73zNNHLbszCohb+wIUDFcyRLbfH1\r\nTlDhSFjF+PBNzSDkjfo0jy/ZJM78Uqr3ZppJpOwmgA5HnuRUSoaAqnbC+TwC\r\nYUY+06LPdISYkO8XO7havS6nqGt6SdXSygBmo7p80NmuBWEwNUBq+wYDTTH2\r\nF74atHaJ2c6cymsCmXMdnFHXUA2ncvGzmKDfXrGRio/IGV0II8Ibfqh8COxU\r\nLxiLnquUVPErN3a+uDtdx0HVNid9wgsEw5o=\r\n=Pq4Q\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.73.0_1663863791878_0.09982928005110647"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.74.0":{"name":"@pankod/refine-core","version":"3.74.0","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --format esm,cjs,iife --legacy-output","build":"tsup --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0","@types/react":"^17.0.0 || ^18.0.0","@types/react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.16.4","@testing-library/react":"^13.1.1","@testing-library/react-hooks":"^8.0.0","@testing-library/user-event":"^14.1.1","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^18.0.0","@types/react-dom":"^18.0.0","@types/react-router-dom":"^5.1.8","@types/testing-library__jest-dom":"^5.14.3","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"6.3.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.7.4"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","lodash-es":"^4.17.21","lodash":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","@tanstack/react-query-devtools":"^4.0.10","@tanstack/react-query":"^4.0.10","tslib":"^2.3.1","warn-once":"^0.1.0"},"repository":{"type":"git","url":"git+https://github.com/pankod/refine.git","directory":"packages/core"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"17dd5af3e4c9f7f09e1e707362c6f5a9d1cab8a8","publishConfig":{"access":"public"},"bugs":{"url":"https://github.com/pankod/refine/issues"},"homepage":"https://github.com/pankod/refine#readme","_id":"@pankod/refine-core@3.74.0","_nodeVersion":"16.17.0","_npmVersion":"8.15.0","dist":{"integrity":"sha512-3AV0t5wglLwejGza1xYvarJHtSjzDm0kwlkO+RO0nEuwLOje8fmN2peflcdt8xCrkbGRs21OP4yslW3HzQ5NFA==","shasum":"0a60bf06065a980c2b93e1e42244d4b1e1187e8b","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.74.0.tgz","fileCount":506,"unpackedSize":1903719,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDWCs8FCvjSkiGR/n3P6VauP4tr4+LRwsi4Dgci41KD7AiEAqXMJGbMX5y8kJ8h6I2iJbCkW5hojpmjMxhDYKw5y48s="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjLJftACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq/rBAAk/EZv7VYFfLiiSEscht2hrCErC4VktAFPC9Joy/c1Yzt9CWF\r\nL2JVCjUGycjy8KZXniu5GFXUh9zt4nj9yrLswQW+R8D5Mkc9AxMLqyqlvzD2\r\nszJRMJ8jOvmVIv6XMN/1HKeAscgiEPcYQnXgwQy7v+yA7ucv3BIiwI+61XCv\r\niDCxmDljUl9GoZac/gGPWGhlYhOloAP1Sb8sjgYnqxceu38zUM92EK7KDkFs\r\nOPkkKoyDXv89VsCPc9dHmHGihJhfAC75hCgFyJlVj1xncyV3mz1UTRgjLhGt\r\nh6UZAgDe6f4RBK4SU0NcOu0ZVW/RRbRxtxJJlzDnHfAaUpugkMhF9zugCdoc\r\nIcyz7HY0mdy6SbP0bRO4JJ8HSrXkfwUpiJocV5LiVUqfzg2nYtv/FUEFYg5B\r\n9hw+bE5YTJ9P2v6H7ZrMoeYgUU8bc/86PyNZ51QTvHClN0cNazLQiZzpezME\r\nzrjqsDUOi/Msi5nZVAErYpnOuKUK8i4ZJDiBy5N7HxWVaiRljrs28i/kz2xv\r\nCiVI9Ayq0KT4iyYeSGVo+U1Kr9yZ+OvQQyfFxVAx5EV/Vm/ESbY9lmFaWW2t\r\nocl3SKA0giAKTRaKKYBKz3sLJag51cRdu7VP50na63+2aTjYX51rz5mySMhR\r\nr1gEYeyHL0+0mUAgE+d22EOrppuR0+k4P4E=\r\n=aUfr\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.74.0_1663866861128_0.31856467317016124"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.74.1":{"name":"@pankod/refine-core","version":"3.74.1","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --format esm,cjs,iife --legacy-output","build":"tsup --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0","@types/react":"^17.0.0 || ^18.0.0","@types/react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.16.4","@testing-library/react":"^13.1.1","@testing-library/react-hooks":"^8.0.0","@testing-library/user-event":"^14.1.1","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^18.0.0","@types/react-dom":"^18.0.0","@types/react-router-dom":"^5.1.8","@types/testing-library__jest-dom":"^5.14.3","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"6.3.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.7.4"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","lodash-es":"^4.17.21","lodash":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","@tanstack/react-query-devtools":"^4.0.10","@tanstack/react-query":"^4.0.10","tslib":"^2.3.1","warn-once":"^0.1.0"},"repository":{"type":"git","url":"git+https://github.com/pankod/refine.git","directory":"packages/core"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"17dd5af3e4c9f7f09e1e707362c6f5a9d1cab8a8","publishConfig":{"access":"public"},"readme":"<div align=\"center\" style=\"margin: 30px;\">\n<a href=\"https://refine.dev/\">\n  <img src=\"https://raw.githubusercontent.com/pankod/refine/master/logo.png\"   style=\"width:250px;\" align=\"center\" />\n</a>\n<br />\n<br />\n\n<div align=\"center\">\n    <a href=\"https://refine.dev\">Home Page</a> |\n    <a href=\"https://refine.dev/demo/\">Demo</a> | \n    <a href=\"https://refine.dev/blog/\">Blog</a> | \n    <a href=\"https://refine.dev/docs/\">Documentation</a> | \n    <a href=\"https://github.com/pankod/refine/projects/1\">Roadmap</a> | \n    <a href=\"https://refine.dev/docs/examples/tutorial/\">Examples</a> | \n    <a href=\"https://refine.dev/enterprise/\">Enterprise</a> | \n    <a href=\"https://discord.gg/refine\">Discord</a>\n</div>\n\n</div>\n<br/>\n\n<div align=\"center\"><strong>Build your <a href=\"https://reactjs.org/\">React</a>-based CRUD applications, without constraints.</strong><br>Open source, headless web application framework developed with flexibility in mind.</div>\n\n<br />\n\n<div align=\"center\">\n\n[![Discord](https://img.shields.io/discord/837692625737613362.svg?label=&logo=discord&logoColor=ffffff&color=7389D8&labelColor=6A7EC2)](https://discord.gg/refine)\n[![Twitter Follow](https://img.shields.io/twitter/follow/refine_dev?style=social)](https://twitter.com/refine_dev)\n\n<a href=\"https://www.producthunt.com/posts/refine-open-source-react-framework?utm_source=badge-featured&utm_medium=badge&utm_souce=badge-refine-open-source-react-framework\" target=\"_blank\"><img src=\"https://api.producthunt.com/widgets/embed-image/v1/featured.svg?post_id=319164&theme=light\" alt=\"refine: Open Source React Framework - Focus your business logic. refine will do the rest. | Product Hunt\" style=\"width: 250px; height: 54px;\" width=\"250\" height=\"54\" /></a>\n\n[![Meercode CI Score](https://meercode.io/badge/pankod/refine?type=ci-score&branch=master&token=2ZiT8YsoJgt57JB23NYwXrFY3rJHZboT&lastDay=31)](https://meercode.io/)\n[![Meercode CI Success Rate](https://meercode.io/badge/pankod/refine?type=ci-success-rate&branch=master&token=2ZiT8YsoJgt57JB23NYwXrFY3rJHZboT&lastDay=31)](https://meercode.io/)\n[![Maintainability](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/maintainability)](https://codeclimate.com/github/pankod/refine/maintainability)\n[![Test Coverage](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/test_coverage)](https://codeclimate.com/github/pankod/refine/test_coverage)\n[![npm version](https://img.shields.io/npm/v/@pankod/refine-core.svg)](https://www.npmjs.com/package/@pankod/refine-core)\n[![npm](https://img.shields.io/npm/dm/@pankod/refine-core)](https://www.npmjs.com/package/@pankod/refine-core)\n[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.0-4baaaa.svg)](code_of_conduct.md)\n</div>\n\n<div align=\"center\" style=\"margin: 30px;\">\n  <img src=\"https://github.com/pankod/refine/blob/master/documentation/static/img/refine-promo-gif.gif?raw=true\" style=\"width:688px;\"/>\n</div>\n\n\n## What is refine?\n**refine** is a React-based framework for rapid ✨ development of web applications. \nIt eliminates the repetitive tasks demanded by **CRUD** operations and provides industry standard solutions for critical parts like **authentication**, **access control**, **routing**, **networking**, **state management** and **i18n**.\n\n**refine** is *headless by design* offering unlimited styling and customization options. \n\n## What do you mean by \"headless\" ?\nInstead of being a limited set of pre-styled components, **refine** is a collection of helper `hooks`, `components` and `providers`. They are all decoupled from your *UI components* and *business logic*, so they never keep you from customizing your *UI* or coding your own flow.\n\n**refine** seamlessly works with any **custom design** or **UI framework you favor**. For convenience, it ships with ready-made integrations for [Ant Design System](https://ant.design/) and [Material UI](https://mui.com/).\n\n## Use cases\n**refine** shines on *data-intensive* applications like *admin panels*, *dashboards* and *internal tools*. Thanks to built-in **SSR support**, **refine** can also power *customer-facing* applications like *storefronts*.\n\n## Key Features\n\n⚙️ Zero-config, **one-minute setup** with a **single CLI command**\n\n🔌 Connectors for **15+ backend services** including [REST API](https://github.com/pankod/refine/tree/master/packages/simple-rest), [GraphQL](https://github.com/pankod/refine/tree/master/packages/graphql), [NestJs CRUD](https://github.com/pankod/refine/tree/master/packages/nestjsx-crud), [Airtable](https://github.com/pankod/refine/tree/master/packages/airtable), [Strapi](https://github.com/pankod/refine/tree/master/packages/strapi), [Strapi v4](https://github.com/pankod/refine/tree/master/packages/strapi-v4), [Strapi GraphQL](https://github.com/pankod/refine/tree/master/packages/strapi-graphql), [Supabase](https://github.com/pankod/refine/tree/master/packages/supabase), [Hasura](https://github.com/pankod/refine/tree/master/packages/hasura), [Nhost](https://github.com/pankod/refine/tree/master/packages/nhost), [Appwrite](https://github.com/pankod/refine/tree/master/packages/appwrite), [Firebase](https://firebase.google.com/), [Directus](https://directus.io/) and [Altogic](https://github.com/pankod/refine/tree/master/packages/altogic)\n\n🌐 **SSR support** with **Next.js** or **Remix**\n\n⚛ Perfect **state management** & **mutations** with **React Query**\n\n🔀 **Advanced routing** with any router library of your choice\n\n🔐 Providers for seamless **authentication** and **access control** flows\n\n⚡ Out-of-the-box support for **live / real-time applications**\n\n📄 Easy **audit logs** &** **document versioning**\n\n💬 Support for any **i18n** framework\n\n💪 Future-proof, **robust architecture**\n\n✅ Full **test coverage**\n\n## Quick Start\n\nThe fastest way to get started with **refine** is using the [superplate](https://github.com/pankod/superplate) project starter tool.\nRun the following command to create a new **refine** project configured with  [Ant Design System](https://ant.design/) as the default UI framework:\n\n```\nnpx superplate-cli --preset refine-antd my-project\n```\n\nOnce the setup is complete, navigate to the project folder and start your project with:\n\n```\nnpm run dev\n```\n\nYour **refine** application will be accessible at [http://localhost:3000](http://localhost:3000):\n![Welcome on board](https://github.com/pankod/refine/blob/master/documentation/static/img/welcome-on-board.png?raw=true)\nLet's consume a public `fake REST API` and add two resources (*posts*, *categories*) to our project. Replace the contents of `src/App.tsx` with the following code:\n\n```tsx title=\"src/App.tsx\"\n\nimport { Refine, useMany } from \"@pankod/refine-core\";\nimport {\n    useTable,\n    List,\n    Table,\n    DateField,\n    Layout,\n    ReadyPage,\n    notificationProvider,\n    ErrorComponent,\n} from \"@pankod/refine-antd\";\nimport routerProvider from \"@pankod/refine-react-router-v6\";\nimport dataProvider from \"@pankod/refine-simple-rest\";\n\nimport \"@pankod/refine-antd/dist/styles.min.css\";\n\nconst App: React.FC = () => {\n    return (\n        <Refine\n            routerProvider={routerProvider}\n            dataProvider={dataProvider(\"https://api.fake-rest.refine.dev\")}\n            resources={[{ name: \"posts\", list: PostList }]}\n            Layout={Layout}\n            ReadyPage={ReadyPage}\n            notificationProvider={notificationProvider}\n            catchAll={<ErrorComponent />}\n        />\n    );\n};\n\nexport const PostList: React.FC = () => {\n    const { tableProps } = useTable<IPost>();\n\n    const categoryIds =\n        tableProps?.dataSource?.map((item) => item.category.id) ?? [];\n\n    const { data, isLoading } = useMany<ICategory>({\n        resource: \"categories\",\n        ids: categoryIds,\n        queryOptions: {\n            enabled: categoryIds.length > 0,\n        },\n    });\n\n    return (\n        <List>\n            <Table<IPost> {...tableProps} rowKey=\"id\">\n                <Table.Column dataIndex=\"title\" title=\"title\" />\n                <Table.Column\n                    dataIndex={[\"category\", \"id\"]}\n                    title=\"category\"\n                    render={(value: number) => {\n                        if (isLoading) {\n                            return \"loading...\";\n                        }\n\n                        return data?.data.find(\n                            (item: ICategory) => item.id === value,\n                        )?.title;\n                    }}\n                />\n                <Table.Column\n                    dataIndex=\"createdAt\"\n                    title=\"createdAt\"\n                    render={(value) => <DateField format=\"LLL\" value={value} />}\n                />\n            </Table>\n        </List>\n    );\n};\n\nexport default App;\n\ninterface IPost {\n  title: string;\n  createdAt: string;\n  category: { id: number };\n}\n\ninterface ICategory {\n  id: number;\n  title: string;\n}\n\n```\n\nNow, you should see the output as a table populated with `post` & `category` data:\n![First example result](https://github.com/pankod/refine/blob/master/documentation/static/img/first-example-result.png?raw=true)\n## Next Steps\n\n👉 Jump to [Refine<>Ant Design Tutorial](https://refine.dev/docs/ui-frameworks/antd/tutorial/) to continue your work and turn the example into a full-blown CRUD application.\n\n👉 Check out the [Refine<>Tailwind Tutorial](https://refine.dev/docs/ui-frameworks/antd/tutorial/) to learn how to use **refine** in a pure *headless* way.\n\n👉 Visit [Learn the Basics Page](https://refine.dev/docs/getting-started/basics/) to get informed about the fundemental concepts.\n\n👉 Read more on [Guides & Concepts](https://refine.dev/docs/guides-and-concepts/access-control/) for different usage scenarios.\n\n👉 See the real-life [Finefoods Demo](https://refine.dev/demo/) project.\n\n👉 Play with interactive [Examples](https://refine.dev/docs/examples/tutorial/headless-tutorial/)\n\n## Roadmap\nYou can find refine's <a href=\"https://github.com/pankod/refine/projects/1\">Public Roadmap here!</a> \n\n## Stargazers\n\n[![Stargazers repo roster for pankod/refine](https://reporoster.com/stars/pankod/refine)](https://github.com/pankod/refine/stargazers)\n\n## Contribution\n\nIf you have a bug to report, do not hesitate to file an issue.\n\nIf you are willing to fix an issue or propose a feature; all PRs with clear explanations are welcome and encouraged.\n\n## License\n\nLicensed under the MIT License, Copyright © 2021-present Pankod\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/pankod/refine/issues"},"homepage":"https://github.com/pankod/refine#readme","_id":"@pankod/refine-core@3.74.1","_nodeVersion":"16.17.0","_npmVersion":"8.15.0","dist":{"integrity":"sha512-xdVHsOp/L3B9FfQenwJJiq6v9Cpb4wBBlsEunJV0EXtWjmuKLF869LwIb1Kl2MXpUk+yEhQu+8tfKkBJoWNHYQ==","shasum":"52254d7a1dffe6623726acbd959338dbbb991a46","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.74.1.tgz","fileCount":506,"unpackedSize":1903318,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCIGVzMi5fm+0sTqqPommEgcp/XvUTZmLJxinWw04plPwIhANjnzjeSAopeju8h2y/wl8A4LbOzzbJQ230HAJV4rKt4"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjM/OaACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqYFQ//fUkYMCLobUy3uhOcu768uT1mxtF2j2CedGGEZ+DSeUJRKu59\r\nWPCLdVtGaxGKmB0u+1+zJ5HN06fEC/wR9xNlgvJoK+mrwuT581whXhfoJtUA\r\nfEtfaMTWjNrK+BfjjcVK/I0hBPBv06xy/uZQQ/bqflXQl5XSHJBYqlPOQKVQ\r\n6o8JANWndO6BcyRop+hVU+DpP3r/eoDmpS5xqvCvO4Sv+A+gRWFdwHdKkAkX\r\n4l67KEGnfKF1BYcpknAUBJS0bjXQGhzWG9fhRCjdFQ9HPbManLqd6g8EB4Nq\r\nXEPRoxSPd77WIH7KElq+9cS7O2Z4aENpMEW8ROH3URsNr30HY9QEb4NXPkyo\r\n03ZKIpdlhnSKmFbYVhyQzK9h+Pr8HNb6SE74XrVx+4P8xx6QTtpUaPhtPAcj\r\n2cu75IEpYNO5tha+4Z3c5zJNT4iEzhYD91ZdhOm6TEGRgomxbKOGW7mxj/A/\r\nHPioD5BFXkS/18CPzbYXzF53xj9LSvEZc+ftccmrG1SPwCYj7I6Gmy6rbBzx\r\nx32NSNW0Qh3uopiILgYhdo7nDzVju0QW2MEkhe0BYXEsCK91yEwwFiSC9oQa\r\nnTzJdCpHKuxBdvNZHRMmBgW64AMTpF5Lag4uXCcLHEmNQ49M3vVnXXqp4lwr\r\ne5l7MpWPfNkPv71cWjZ/vHRK4cQUtptYpMc=\r\n=1EVC\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.74.1_1664349082506_0.7904021087750017"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.74.2":{"name":"@pankod/refine-core","version":"3.74.2","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --format esm,cjs,iife --legacy-output","build":"tsup --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0","@types/react":"^17.0.0 || ^18.0.0","@types/react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.16.4","@testing-library/react":"^13.1.1","@testing-library/react-hooks":"^8.0.0","@testing-library/user-event":"^14.1.1","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^18.0.0","@types/react-dom":"^18.0.0","@types/react-router-dom":"^5.1.8","@types/testing-library__jest-dom":"^5.14.3","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"6.3.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.7.4"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","lodash-es":"^4.17.21","lodash":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","@tanstack/react-query-devtools":"^4.0.10","@tanstack/react-query":"^4.0.10","tslib":"^2.3.1","warn-once":"^0.1.0"},"repository":{"type":"git","url":"git+https://github.com/pankod/refine.git","directory":"packages/core"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"17dd5af3e4c9f7f09e1e707362c6f5a9d1cab8a8","publishConfig":{"access":"public"},"bugs":{"url":"https://github.com/pankod/refine/issues"},"homepage":"https://github.com/pankod/refine#readme","_id":"@pankod/refine-core@3.74.2","_nodeVersion":"16.17.0","_npmVersion":"8.15.0","dist":{"integrity":"sha512-830R2HHXLKxglMfAVHyBcRgRDrFkWTn35SZt5LuZX+TpvFxujumsUQB8TnWgzL6IsOzLfx77auniey90J4dYwg==","shasum":"f1f904645686b80188121b92e9d576094bd50cac","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.74.2.tgz","fileCount":506,"unpackedSize":1903388,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDfpAGXuNpI+xV4mouKTMnr6yfCPABBdDXLsYJfXMygOwIgZUn1MP/aCkMh0iczDNOQDeBBkuTfvszTWjY6Pqi/ekU="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjNA4yACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrLtw/9GToKXSf2xvGe/RMHGGCRs8Rrsb5MGJkieNmynO8ovB5LCPXK\r\n2UQ+LTrVqof0n1Dv4E1ZNJtHN9CCPFLwlVsYiuUufuq1OVIsnnkcc4aTREFS\r\nGF57N/+fsRckJDHLKD/bOGBuEMRRANe27Q89V/wGxuevRCWXh+5nT3Ttfzv1\r\nbXMkoasaHSsR7LmXRuHOyf6QEYxPD/eONpc3Vadw+61HGOQbtzKpMuGqCGa3\r\nIZQknM6MsbbDmGSm94/JqFSt3YZHBQ0LZXVhlRraRDgPzVUH1YLFP8h+sWx4\r\nE2SAkVBdIKeaeBbs1isHIGGi4pZP9Hq9ad0Sqe/qiQjbNY0h2F7HWsBUTEVd\r\nlEWca5eYjJQxrK/Kc/iNAepc6Qd3hSgGNzPq9nIDIzbQJgF75Lbwz3sNTRw0\r\nZ5KN6c6xHjJJxRH3Skgtu3YwFPZY5XbNyKCCO6Z+l5aKaOR04hR/VPbgM2KB\r\ngcFve2PEuIRFlaJVScLI9/eM+roaYfJv9VnaqTkFVea2xFXRb9AVhQyVb+Ru\r\nzbvHZBlGEBV6CIxF3CuzMPdKfV/09pm09dU6BonP+XzDmOKyLe9RAQnsxaMn\r\n69wAuGCNz4P8QD7IXxiPvws8f32PHzqfJLTYCbFcW4niuYZRpaZoI4i0xNXy\r\nUrpmByxO9H9eZt9XsCPfE2l9DtQR1EcZR3s=\r\n=sseb\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.74.2_1664355889809_0.8774891067598323"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.74.3":{"name":"@pankod/refine-core","version":"3.74.3","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --format esm,cjs,iife --legacy-output","build":"tsup --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0","@types/react":"^17.0.0 || ^18.0.0","@types/react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.16.4","@testing-library/react":"^13.1.1","@testing-library/react-hooks":"^8.0.0","@testing-library/user-event":"^14.1.1","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^18.0.0","@types/react-dom":"^18.0.0","@types/react-router-dom":"^5.1.8","@types/testing-library__jest-dom":"^5.14.3","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"6.3.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.7.4"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","lodash-es":"^4.17.21","lodash":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","@tanstack/react-query-devtools":"^4.0.10","@tanstack/react-query":"^4.0.10","tslib":"^2.3.1","warn-once":"^0.1.0"},"repository":{"type":"git","url":"git+https://github.com/pankod/refine.git","directory":"packages/core"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"17dd5af3e4c9f7f09e1e707362c6f5a9d1cab8a8","publishConfig":{"access":"public"},"readme":"<div align=\"center\" style=\"margin: 30px;\">\n<a href=\"https://refine.dev/\">\n  <img src=\"https://raw.githubusercontent.com/pankod/refine/master/logo.png\"   style=\"width:250px;\" align=\"center\" />\n</a>\n<br />\n<br />\n\n<div align=\"center\">\n    <a href=\"https://refine.dev\">Home Page</a> |\n    <a href=\"https://refine.dev/demo/\">Demo</a> | \n    <a href=\"https://refine.dev/blog/\">Blog</a> | \n    <a href=\"https://refine.dev/docs/\">Documentation</a> | \n    <a href=\"https://github.com/pankod/refine/projects/1\">Roadmap</a> | \n    <a href=\"https://refine.dev/docs/examples/tutorial/\">Examples</a> | \n    <a href=\"https://refine.dev/enterprise/\">Enterprise</a> | \n    <a href=\"https://discord.gg/refine\">Discord</a>\n</div>\n\n</div>\n<br/>\n\n<div align=\"center\"><strong>Build your <a href=\"https://reactjs.org/\">React</a>-based CRUD applications, without constraints.</strong><br>Open source, headless web application framework developed with flexibility in mind.</div>\n\n<br />\n\n<div align=\"center\">\n\n[![Discord](https://img.shields.io/discord/837692625737613362.svg?label=&logo=discord&logoColor=ffffff&color=7389D8&labelColor=6A7EC2)](https://discord.gg/refine)\n[![Twitter Follow](https://img.shields.io/twitter/follow/refine_dev?style=social)](https://twitter.com/refine_dev)\n\n<a href=\"https://www.producthunt.com/posts/refine-open-source-react-framework?utm_source=badge-featured&utm_medium=badge&utm_souce=badge-refine-open-source-react-framework\" target=\"_blank\"><img src=\"https://api.producthunt.com/widgets/embed-image/v1/featured.svg?post_id=319164&theme=light\" alt=\"refine: Open Source React Framework - Focus your business logic. refine will do the rest. | Product Hunt\" style=\"width: 250px; height: 54px;\" width=\"250\" height=\"54\" /></a>\n\n[![Meercode CI Score](https://meercode.io/badge/pankod/refine?type=ci-score&branch=master&token=2ZiT8YsoJgt57JB23NYwXrFY3rJHZboT&lastDay=31)](https://meercode.io/)\n[![Meercode CI Success Rate](https://meercode.io/badge/pankod/refine?type=ci-success-rate&branch=master&token=2ZiT8YsoJgt57JB23NYwXrFY3rJHZboT&lastDay=31)](https://meercode.io/)\n[![Maintainability](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/maintainability)](https://codeclimate.com/github/pankod/refine/maintainability)\n[![Test Coverage](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/test_coverage)](https://codeclimate.com/github/pankod/refine/test_coverage)\n[![npm version](https://img.shields.io/npm/v/@pankod/refine-core.svg)](https://www.npmjs.com/package/@pankod/refine-core)\n[![npm](https://img.shields.io/npm/dm/@pankod/refine-core)](https://www.npmjs.com/package/@pankod/refine-core)\n[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.0-4baaaa.svg)](code_of_conduct.md)\n</div>\n\n<div align=\"center\" style=\"margin: 30px;\">\n  <img src=\"https://github.com/pankod/refine/blob/master/documentation/static/img/refine-promo-gif.gif?raw=true\" style=\"width:688px;\"/>\n</div>\n\n\n## What is refine?\n**refine** is a React-based framework for rapid ✨ development of web applications. \nIt eliminates the repetitive tasks demanded by **CRUD** operations and provides industry standard solutions for critical parts like **authentication**, **access control**, **routing**, **networking**, **state management** and **i18n**.\n\n**refine** is *headless by design* offering unlimited styling and customization options. \n\n## What do you mean by \"headless\" ?\nInstead of being a limited set of pre-styled components, **refine** is a collection of helper `hooks`, `components` and `providers`. They are all decoupled from your *UI components* and *business logic*, so they never keep you from customizing your *UI* or coding your own flow.\n\n**refine** seamlessly works with any **custom design** or **UI framework you favor**. For convenience, it ships with ready-made integrations for [Ant Design System](https://ant.design/) and [Material UI](https://mui.com/).\n\n## Use cases\n**refine** shines on *data-intensive* applications like *admin panels*, *dashboards* and *internal tools*. Thanks to built-in **SSR support**, **refine** can also power *customer-facing* applications like *storefronts*.\n\n## Key Features\n\n⚙️ Zero-config, **one-minute setup** with a **single CLI command**\n\n🔌 Connectors for **15+ backend services** including [REST API](https://github.com/pankod/refine/tree/master/packages/simple-rest), [GraphQL](https://github.com/pankod/refine/tree/master/packages/graphql), [NestJs CRUD](https://github.com/pankod/refine/tree/master/packages/nestjsx-crud), [Airtable](https://github.com/pankod/refine/tree/master/packages/airtable), [Strapi](https://github.com/pankod/refine/tree/master/packages/strapi), [Strapi v4](https://github.com/pankod/refine/tree/master/packages/strapi-v4), [Strapi GraphQL](https://github.com/pankod/refine/tree/master/packages/strapi-graphql), [Supabase](https://github.com/pankod/refine/tree/master/packages/supabase), [Hasura](https://github.com/pankod/refine/tree/master/packages/hasura), [Nhost](https://github.com/pankod/refine/tree/master/packages/nhost), [Appwrite](https://github.com/pankod/refine/tree/master/packages/appwrite), [Firebase](https://firebase.google.com/), [Directus](https://directus.io/) and [Altogic](https://github.com/pankod/refine/tree/master/packages/altogic)\n\n🌐 **SSR support** with **Next.js** or **Remix**\n\n⚛ Perfect **state management** & **mutations** with **React Query**\n\n🔀 **Advanced routing** with any router library of your choice\n\n🔐 Providers for seamless **authentication** and **access control** flows\n\n⚡ Out-of-the-box support for **live / real-time applications**\n\n📄 Easy **audit logs** &** **document versioning**\n\n💬 Support for any **i18n** framework\n\n💪 Future-proof, **robust architecture**\n\n✅ Full **test coverage**\n\n## Quick Start\n\nThe fastest way to get started with **refine** is using the [superplate](https://github.com/pankod/superplate) project starter tool.\nRun the following command to create a new **refine** project configured with  [Ant Design System](https://ant.design/) as the default UI framework:\n\n```\nnpx superplate-cli --preset refine-antd my-project\n```\n\nOnce the setup is complete, navigate to the project folder and start your project with:\n\n```\nnpm run dev\n```\n\nYour **refine** application will be accessible at [http://localhost:3000](http://localhost:3000):\n![Welcome on board](https://github.com/pankod/refine/blob/master/documentation/static/img/welcome-on-board.png?raw=true)\nLet's consume a public `fake REST API` and add two resources (*posts*, *categories*) to our project. Replace the contents of `src/App.tsx` with the following code:\n\n```tsx title=\"src/App.tsx\"\n\nimport { Refine, useMany } from \"@pankod/refine-core\";\nimport {\n    useTable,\n    List,\n    Table,\n    DateField,\n    Layout,\n    ReadyPage,\n    notificationProvider,\n    ErrorComponent,\n} from \"@pankod/refine-antd\";\nimport routerProvider from \"@pankod/refine-react-router-v6\";\nimport dataProvider from \"@pankod/refine-simple-rest\";\n\nimport \"@pankod/refine-antd/dist/styles.min.css\";\n\nconst App: React.FC = () => {\n    return (\n        <Refine\n            routerProvider={routerProvider}\n            dataProvider={dataProvider(\"https://api.fake-rest.refine.dev\")}\n            resources={[{ name: \"posts\", list: PostList }]}\n            Layout={Layout}\n            ReadyPage={ReadyPage}\n            notificationProvider={notificationProvider}\n            catchAll={<ErrorComponent />}\n        />\n    );\n};\n\nexport const PostList: React.FC = () => {\n    const { tableProps } = useTable<IPost>();\n\n    const categoryIds =\n        tableProps?.dataSource?.map((item) => item.category.id) ?? [];\n\n    const { data, isLoading } = useMany<ICategory>({\n        resource: \"categories\",\n        ids: categoryIds,\n        queryOptions: {\n            enabled: categoryIds.length > 0,\n        },\n    });\n\n    return (\n        <List>\n            <Table<IPost> {...tableProps} rowKey=\"id\">\n                <Table.Column dataIndex=\"title\" title=\"title\" />\n                <Table.Column\n                    dataIndex={[\"category\", \"id\"]}\n                    title=\"category\"\n                    render={(value: number) => {\n                        if (isLoading) {\n                            return \"loading...\";\n                        }\n\n                        return data?.data.find(\n                            (item: ICategory) => item.id === value,\n                        )?.title;\n                    }}\n                />\n                <Table.Column\n                    dataIndex=\"createdAt\"\n                    title=\"createdAt\"\n                    render={(value) => <DateField format=\"LLL\" value={value} />}\n                />\n            </Table>\n        </List>\n    );\n};\n\nexport default App;\n\ninterface IPost {\n  title: string;\n  createdAt: string;\n  category: { id: number };\n}\n\ninterface ICategory {\n  id: number;\n  title: string;\n}\n\n```\n\nNow, you should see the output as a table populated with `post` & `category` data:\n![First example result](https://github.com/pankod/refine/blob/master/documentation/static/img/first-example-result.png?raw=true)\n## Next Steps\n\n👉 Jump to [Refine<>Ant Design Tutorial](https://refine.dev/docs/ui-frameworks/antd/tutorial/) to continue your work and turn the example into a full-blown CRUD application.\n\n👉 Check out the [Refine<>Tailwind Tutorial](https://refine.dev/docs/ui-frameworks/antd/tutorial/) to learn how to use **refine** in a pure *headless* way.\n\n👉 Visit [Learn the Basics Page](https://refine.dev/docs/getting-started/basics/) to get informed about the fundemental concepts.\n\n👉 Read more on [Guides & Concepts](https://refine.dev/docs/guides-and-concepts/access-control/) for different usage scenarios.\n\n👉 See the real-life [Finefoods Demo](https://refine.dev/demo/) project.\n\n👉 Play with interactive [Examples](https://refine.dev/docs/examples/tutorial/headless-tutorial/)\n\n## Roadmap\nYou can find refine's <a href=\"https://github.com/pankod/refine/projects/1\">Public Roadmap here!</a> \n\n## Stargazers\n\n[![Stargazers repo roster for pankod/refine](https://reporoster.com/stars/pankod/refine)](https://github.com/pankod/refine/stargazers)\n\n## Contribution\n\nIf you have a bug to report, do not hesitate to file an issue.\n\nIf you are willing to fix an issue or propose a feature; all PRs with clear explanations are welcome and encouraged.\n\n## License\n\nLicensed under the MIT License, Copyright © 2021-present Pankod\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/pankod/refine/issues"},"homepage":"https://github.com/pankod/refine#readme","_id":"@pankod/refine-core@3.74.3","_nodeVersion":"16.17.0","_npmVersion":"8.15.0","dist":{"integrity":"sha512-8hqKZwymsshKwsEIWpX1g6Va8bfbrovXEWeVMmXwxc4U/72pW5C56ectcQzBeItRUJwyxRfdSBoHAptaKSyHWw==","shasum":"111d3d33805829a87317feb18e10ad38519ac8e8","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.74.3.tgz","fileCount":506,"unpackedSize":1904051,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCfapfdwlMv8hjkDz5WUkS4PM6uVFvDYVvlzIBbRisiXgIgPShW/IthiliasFnnnJbtcESQHug5hKmNGVM9YZTPVsQ="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjNbjoACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmrdwg//YDYcmo282QxLWZjYHEC2xiLR/hhUBSRyOT9mtcpjqOHVnpZE\r\nEqpvEw7SJCVIbOlr0zGHqIyjipKp0mgQJDkqjs1b68Q5bg8elhv1h7Crei+p\r\ncF5jWenz2IUlL3kvAqiwOt5rNMDn1ZX49Yo1nbfBxyqPF1zV8DqSzu8CH2Wa\r\nW0aFPEDtOv4ZbIeJ+Bm/jMhZ977gT2mdwTLnRyIRjp6JD2A64Clfhj+pS+gL\r\nNos5WGDIq6KCDfwSalwGDvjCRZb1DQbNtN7N913aYxCB5OLs8b8AmYSfMIY2\r\nG7JS3JCfnTSVvNaciEhknLbJy4mFN+VLpgPBYfBGf3Q6vVdIY3owIhmcM6jg\r\nSm8n+VVYw3wE11iNtLcqelARj6RQvalq0zufnGnVUIXP1hW99uHI7L8wbt14\r\niL/dTUA8TQfIkQM8p5jJwFs5tTIBAygtk9LhqyvbM0H1FqsEG9iYbAMwQcrT\r\nypBX//tZEplrK8yGpdY6O9fU5B4gOKlp+p6mAp4VhC+U7u+3wEMJLGkd1lfb\r\naxNnIF3sLeoZO89AkycN7gqrDj7Yrr0qK+za+n/JRv27pQAPHEJRR8xTosi+\r\nujn5pNKfjQLuTI8uJUpoGee50O5OfWw3+RZQNkrcITQl5JnYvJBohgVH/xjA\r\negMz39kX/VlqsxXMyi+4oPPc6dMkSKKVvu8=\r\n=ePtR\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.74.3_1664465128308_0.2231650546443913"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.74.4":{"name":"@pankod/refine-core","version":"3.74.4","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --format esm,cjs,iife --legacy-output","build":"tsup --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0","@types/react":"^17.0.0 || ^18.0.0","@types/react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.16.4","@testing-library/react":"^13.1.1","@testing-library/react-hooks":"^8.0.0","@testing-library/user-event":"^14.1.1","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^18.0.0","@types/react-dom":"^18.0.0","@types/react-router-dom":"^5.1.8","@types/testing-library__jest-dom":"^5.14.3","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"6.3.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.7.4"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","lodash-es":"^4.17.21","lodash":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","@tanstack/react-query-devtools":"^4.0.10","@tanstack/react-query":"^4.0.10","tslib":"^2.3.1","warn-once":"^0.1.0"},"repository":{"type":"git","url":"git+https://github.com/pankod/refine.git","directory":"packages/core"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"17dd5af3e4c9f7f09e1e707362c6f5a9d1cab8a8","publishConfig":{"access":"public"},"bugs":{"url":"https://github.com/pankod/refine/issues"},"homepage":"https://github.com/pankod/refine#readme","_id":"@pankod/refine-core@3.74.4","_nodeVersion":"16.17.0","_npmVersion":"8.15.0","dist":{"integrity":"sha512-l7Fc7x4vNptkk0PHujBtezFun9jcsu+xdg1cN8PaFfsigvWbl7vbiM3yBjxBqGvSVxDtVX+iQ6s1c+muliO2iQ==","shasum":"a248d6af302135505d9022cee48c97ddf72c4b22","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.74.4.tgz","fileCount":506,"unpackedSize":1904146,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGZoOiOhW4RNwdYY5aJ1jSB52ihCGRI56PLrxLmwljhfAiEAimdpIS2VSjTHZxyCNYQlsZ5+3yt+eQmaupbVVX8afok="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjNb/KACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrOwQ//bOI90wdxekkQR9lT56WLWzTgPyoKECtB+/KsrwmJc50Nb5u6\r\n0HswpPTlgPbc4m+cVeDHzlqYLGd6MvBRu/+FNnvNQPBEsemv/TUQQcz/EpVb\r\n/ZSCYRGBLtnOQVRZrCl/Ars+laVlz1/ZIdAb7CzXbcIagUnLU9zfF2qVVIiT\r\nOBnlGdl90893nHM2TwZCO+8bRaDXehNE80yYPrCyKioUppbqVf/wmE2cj2J9\r\nZpZYZA74WRCadNiNOwMjWT+p5meKw9Phb6jFDkUtKlbZRoXDPQyKU2csdZmA\r\nuJIGKKgT4bUi5IQT4xCNTyvZ/FreHieR/d17KM6OeBkWaEr65Va02eVr9Ojx\r\n+vgb25XaJg7NU21kJyb3VFjFtd8E6zu1kXb7pmX1z9Naib8vtidQ+AVtXdPt\r\neKvY/XL93KsRagIZbJLy0kOCxNCFc9Tx5LEtaSJ1tH8Mk9ysNOMrgqIJcrj+\r\n0AjlhET5JjzMvurh5WOwFnk025z68tOfaeM+cFfDh4F/pESNqDsg33huoxQz\r\nQKHvSoFOM8+6yHIaJVOXo3WUhX4xwSYeER4Bjj3BPTHQKWc4mDoce6jks6SD\r\n0hVU9kr3msix8+TUgt2ITUch9bkZoitVcKR0JARnfoI47Cm8Crm+WSjtQH+R\r\nG/1iG3HrYp/YGQo1USCQsaFZv484QcQ2/Dk=\r\n=1vz2\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.74.4_1664466889923_0.7668259905238626"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.74.5":{"name":"@pankod/refine-core","version":"3.74.5","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --format esm,cjs,iife --legacy-output","build":"tsup --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0","@types/react":"^17.0.0 || ^18.0.0","@types/react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.16.4","@testing-library/react":"^13.1.1","@testing-library/react-hooks":"^8.0.0","@testing-library/user-event":"^14.1.1","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^18.0.0","@types/react-dom":"^18.0.0","@types/react-router-dom":"^5.1.8","@types/testing-library__jest-dom":"^5.14.3","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"6.3.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.7.4"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","lodash-es":"^4.17.21","lodash":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","@tanstack/react-query-devtools":"^4.0.10","@tanstack/react-query":"^4.0.10","tslib":"^2.3.1","warn-once":"^0.1.0"},"repository":{"type":"git","url":"git+https://github.com/pankod/refine.git","directory":"packages/core"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"17dd5af3e4c9f7f09e1e707362c6f5a9d1cab8a8","publishConfig":{"access":"public"},"readme":"<div align=\"center\" style=\"margin: 30px;\">\n<a href=\"https://refine.dev/\">\n  <img src=\"https://raw.githubusercontent.com/pankod/refine/master/logo.png\"   style=\"width:250px;\" align=\"center\" />\n</a>\n<br />\n<br />\n\n<div align=\"center\">\n    <a href=\"https://refine.dev\">Home Page</a> |\n    <a href=\"https://refine.dev/demo/\">Demo</a> | \n    <a href=\"https://refine.dev/blog/\">Blog</a> | \n    <a href=\"https://refine.dev/docs/\">Documentation</a> | \n    <a href=\"https://github.com/pankod/refine/projects/1\">Roadmap</a> | \n    <a href=\"https://refine.dev/docs/examples/tutorial/\">Examples</a> | \n    <a href=\"https://refine.dev/enterprise/\">Enterprise</a> | \n    <a href=\"https://discord.gg/refine\">Discord</a>\n</div>\n\n</div>\n<br/>\n\n<div align=\"center\"><strong>Build your <a href=\"https://reactjs.org/\">React</a>-based CRUD applications, without constraints.</strong><br>Open source, headless web application framework developed with flexibility in mind.</div>\n\n<br />\n\n<div align=\"center\">\n\n[![Discord](https://img.shields.io/discord/837692625737613362.svg?label=&logo=discord&logoColor=ffffff&color=7389D8&labelColor=6A7EC2)](https://discord.gg/refine)\n[![Twitter Follow](https://img.shields.io/twitter/follow/refine_dev?style=social)](https://twitter.com/refine_dev)\n\n<a href=\"https://www.producthunt.com/posts/refine-open-source-react-framework?utm_source=badge-featured&utm_medium=badge&utm_souce=badge-refine-open-source-react-framework\" target=\"_blank\"><img src=\"https://api.producthunt.com/widgets/embed-image/v1/featured.svg?post_id=319164&theme=light\" alt=\"refine: Open Source React Framework - Focus your business logic. refine will do the rest. | Product Hunt\" style=\"width: 250px; height: 54px;\" width=\"250\" height=\"54\" /></a>\n\n[![Meercode CI Score](https://meercode.io/badge/pankod/refine?type=ci-score&branch=master&token=2ZiT8YsoJgt57JB23NYwXrFY3rJHZboT&lastDay=31)](https://meercode.io/)\n[![Meercode CI Success Rate](https://meercode.io/badge/pankod/refine?type=ci-success-rate&branch=master&token=2ZiT8YsoJgt57JB23NYwXrFY3rJHZboT&lastDay=31)](https://meercode.io/)\n[![Maintainability](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/maintainability)](https://codeclimate.com/github/pankod/refine/maintainability)\n[![Test Coverage](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/test_coverage)](https://codeclimate.com/github/pankod/refine/test_coverage)\n[![npm version](https://img.shields.io/npm/v/@pankod/refine-core.svg)](https://www.npmjs.com/package/@pankod/refine-core)\n[![npm](https://img.shields.io/npm/dm/@pankod/refine-core)](https://www.npmjs.com/package/@pankod/refine-core)\n[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.0-4baaaa.svg)](code_of_conduct.md)\n</div>\n\n<div align=\"center\" style=\"margin: 30px;\">\n  <img src=\"https://github.com/pankod/refine/blob/master/documentation/static/img/refine-promo-gif.gif?raw=true\" style=\"width:688px;\"/>\n</div>\n\n\n## What is refine?\n**refine** is a React-based framework for rapid ✨ development of web applications. \nIt eliminates the repetitive tasks demanded by **CRUD** operations and provides industry standard solutions for critical parts like **authentication**, **access control**, **routing**, **networking**, **state management** and **i18n**.\n\n**refine** is *headless by design* offering unlimited styling and customization options. \n\n## What do you mean by \"headless\" ?\nInstead of being a limited set of pre-styled components, **refine** is a collection of helper `hooks`, `components` and `providers`. They are all decoupled from your *UI components* and *business logic*, so they never keep you from customizing your *UI* or coding your own flow.\n\n**refine** seamlessly works with any **custom design** or **UI framework you favor**. For convenience, it ships with ready-made integrations for [Ant Design System](https://ant.design/) and [Material UI](https://mui.com/).\n\n## Use cases\n**refine** shines on *data-intensive* applications like *admin panels*, *dashboards* and *internal tools*. Thanks to built-in **SSR support**, **refine** can also power *customer-facing* applications like *storefronts*.\n\n## Key Features\n\n⚙️ Zero-config, **one-minute setup** with a **single CLI command**\n\n🔌 Connectors for **15+ backend services** including [REST API](https://github.com/pankod/refine/tree/master/packages/simple-rest), [GraphQL](https://github.com/pankod/refine/tree/master/packages/graphql), [NestJs CRUD](https://github.com/pankod/refine/tree/master/packages/nestjsx-crud), [Airtable](https://github.com/pankod/refine/tree/master/packages/airtable), [Strapi](https://github.com/pankod/refine/tree/master/packages/strapi), [Strapi v4](https://github.com/pankod/refine/tree/master/packages/strapi-v4), [Strapi GraphQL](https://github.com/pankod/refine/tree/master/packages/strapi-graphql), [Supabase](https://github.com/pankod/refine/tree/master/packages/supabase), [Hasura](https://github.com/pankod/refine/tree/master/packages/hasura), [Nhost](https://github.com/pankod/refine/tree/master/packages/nhost), [Appwrite](https://github.com/pankod/refine/tree/master/packages/appwrite), [Firebase](https://firebase.google.com/), [Directus](https://directus.io/) and [Altogic](https://github.com/pankod/refine/tree/master/packages/altogic)\n\n🌐 **SSR support** with **Next.js** or **Remix**\n\n⚛ Perfect **state management** & **mutations** with **React Query**\n\n🔀 **Advanced routing** with any router library of your choice\n\n🔐 Providers for seamless **authentication** and **access control** flows\n\n⚡ Out-of-the-box support for **live / real-time applications**\n\n📄 Easy **audit logs** &** **document versioning**\n\n💬 Support for any **i18n** framework\n\n💪 Future-proof, **robust architecture**\n\n✅ Full **test coverage**\n\n## Quick Start\n\nThe fastest way to get started with **refine** is using the [superplate](https://github.com/pankod/superplate) project starter tool.\nRun the following command to create a new **refine** project configured with  [Ant Design System](https://ant.design/) as the default UI framework:\n\n```\nnpx superplate-cli --preset refine-antd my-project\n```\n\nOnce the setup is complete, navigate to the project folder and start your project with:\n\n```\nnpm run dev\n```\n\nYour **refine** application will be accessible at [http://localhost:3000](http://localhost:3000):\n![Welcome on board](https://github.com/pankod/refine/blob/master/documentation/static/img/welcome-on-board.png?raw=true)\nLet's consume a public `fake REST API` and add two resources (*posts*, *categories*) to our project. Replace the contents of `src/App.tsx` with the following code:\n\n```tsx title=\"src/App.tsx\"\n\nimport { Refine, useMany } from \"@pankod/refine-core\";\nimport {\n    useTable,\n    List,\n    Table,\n    DateField,\n    Layout,\n    ReadyPage,\n    notificationProvider,\n    ErrorComponent,\n} from \"@pankod/refine-antd\";\nimport routerProvider from \"@pankod/refine-react-router-v6\";\nimport dataProvider from \"@pankod/refine-simple-rest\";\n\nimport \"@pankod/refine-antd/dist/styles.min.css\";\n\nconst App: React.FC = () => {\n    return (\n        <Refine\n            routerProvider={routerProvider}\n            dataProvider={dataProvider(\"https://api.fake-rest.refine.dev\")}\n            resources={[{ name: \"posts\", list: PostList }]}\n            Layout={Layout}\n            ReadyPage={ReadyPage}\n            notificationProvider={notificationProvider}\n            catchAll={<ErrorComponent />}\n        />\n    );\n};\n\nexport const PostList: React.FC = () => {\n    const { tableProps } = useTable<IPost>();\n\n    const categoryIds =\n        tableProps?.dataSource?.map((item) => item.category.id) ?? [];\n\n    const { data, isLoading } = useMany<ICategory>({\n        resource: \"categories\",\n        ids: categoryIds,\n        queryOptions: {\n            enabled: categoryIds.length > 0,\n        },\n    });\n\n    return (\n        <List>\n            <Table<IPost> {...tableProps} rowKey=\"id\">\n                <Table.Column dataIndex=\"title\" title=\"title\" />\n                <Table.Column\n                    dataIndex={[\"category\", \"id\"]}\n                    title=\"category\"\n                    render={(value: number) => {\n                        if (isLoading) {\n                            return \"loading...\";\n                        }\n\n                        return data?.data.find(\n                            (item: ICategory) => item.id === value,\n                        )?.title;\n                    }}\n                />\n                <Table.Column\n                    dataIndex=\"createdAt\"\n                    title=\"createdAt\"\n                    render={(value) => <DateField format=\"LLL\" value={value} />}\n                />\n            </Table>\n        </List>\n    );\n};\n\nexport default App;\n\ninterface IPost {\n  title: string;\n  createdAt: string;\n  category: { id: number };\n}\n\ninterface ICategory {\n  id: number;\n  title: string;\n}\n\n```\n\nNow, you should see the output as a table populated with `post` & `category` data:\n![First example result](https://github.com/pankod/refine/blob/master/documentation/static/img/first-example-result.png?raw=true)\n## Next Steps\n\n👉 Jump to [Refine<>Ant Design Tutorial](https://refine.dev/docs/ui-frameworks/antd/tutorial/) to continue your work and turn the example into a full-blown CRUD application.\n\n👉 Check out the [Refine<>Tailwind Tutorial](https://refine.dev/docs/ui-frameworks/antd/tutorial/) to learn how to use **refine** in a pure *headless* way.\n\n👉 Visit [Learn the Basics Page](https://refine.dev/docs/getting-started/overview/) to get informed about the fundemental concepts.\n\n👉 Read more on [Guides & Concepts](https://refine.dev/docs/guides-and-concepts/access-control/) for different usage scenarios.\n\n👉 See the real-life [Finefoods Demo](https://refine.dev/demo/) project.\n\n👉 Play with interactive [Examples](https://refine.dev/docs/examples/)\n\n## Roadmap\nYou can find refine's <a href=\"https://github.com/pankod/refine/projects/1\">Public Roadmap here!</a> \n\n## Stargazers\n\n[![Stargazers repo roster for pankod/refine](https://reporoster.com/stars/pankod/refine)](https://github.com/pankod/refine/stargazers)\n\n## Contribution\n\nIf you have a bug to report, do not hesitate to file an issue.\n\nIf you are willing to fix an issue or propose a feature; all PRs with clear explanations are welcome and encouraged.\n\n## License\n\nLicensed under the MIT License, Copyright © 2021-present Pankod\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/pankod/refine/issues"},"homepage":"https://github.com/pankod/refine#readme","_id":"@pankod/refine-core@3.74.5","_nodeVersion":"16.17.0","_npmVersion":"8.15.0","dist":{"integrity":"sha512-0tEUYBSgDPgcS+Ig6BDOU3MZiI5yDTvc8YC1cBKIccPSN0ccApFXdFVUnnUFuwEQcKVC6yqqguL4GBaCUMGUcQ==","shasum":"8bb655b9aafa367859fbf8e2c97c85f5ed1ff5d3","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.74.5.tgz","fileCount":506,"unpackedSize":1904011,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHlH4h6BRa+7lsMELctU7GrBs0f+T2Lm6Cm9Y8Eu0O0rAiEA84P6uTMxMD11ucyrNgH8YE+RxK6nbZBIIydif14W/xM="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjNvYmACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqsrQ/+MIyAkVV+FagotcRXqWjXZYAiJ3ISlw6RYyFvOyH2kVP73vCU\r\nqm6R2HupKbAGOHRVXDMbvA0rFIsnrz2FuPIWBZ1hz99g2P8aLG36HT9UFVSK\r\nxjwjA5XKPoCicrtJ5ph195xTCHR0B5ej38hkEawH/PTgT1ovwyt12tRhqhmP\r\n2H/WDEc33FKajila0q5dtD/QxkBzmHOwLEJ1KdJcDEM7mfmXd9UI/GPoCn6O\r\npe6wd85VF/WdKiJ+u7IVUQIXi+aJAhMu3m0wTSmsSeKcA8bdzNaUD9nhEBIl\r\nnJLfI/8xuhY7TxLxH66Eqxng97UxbepJiDdwT9hKMxeX76Skxsxi2Edvr/5Z\r\nRioslmVe/h1bMjnSt3U4kYRQBEGAiNuZgV6RkKqwN8Dsdqhc/cCEn6hoql8+\r\ngBHtnqcr+zORzweYqGoUFj4GmHfUAof/0xBmb/HNLoHL3FS+zeeGXcyKX4KD\r\nT+sWHL9rs/c9u4yj5t9Ut8zaNvoUTQkPob6/N0JwXKfBuBWdsYChUHThg5xA\r\n2NcvyRwnEpBWZWsoqEsFqkbBtKtDnCNasPyMptTLo18EH84FJqol4DTtk3XH\r\no9mFPWsQ7oCyiZW11YSejht9JCumR/vDxcwSu3wnXpja18UilVaECwRT7P35\r\nEo9HQ273witdwq2BFfsAhrS+x/7cwIsxdbk=\r\n=uHRk\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.74.5_1664546341983_0.818981803095465"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.74.6":{"name":"@pankod/refine-core","version":"3.74.6","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --format esm,cjs,iife --legacy-output","build":"tsup --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0","@types/react":"^17.0.0 || ^18.0.0","@types/react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.16.4","@testing-library/react":"^13.1.1","@testing-library/react-hooks":"^8.0.0","@testing-library/user-event":"^14.1.1","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^18.0.0","@types/react-dom":"^18.0.0","@types/react-router-dom":"^5.1.8","@types/testing-library__jest-dom":"^5.14.3","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"6.3.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.7.4"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","lodash-es":"^4.17.21","lodash":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","@tanstack/react-query-devtools":"^4.0.10","@tanstack/react-query":"^4.0.10","tslib":"^2.3.1","warn-once":"^0.1.0"},"repository":{"type":"git","url":"git+https://github.com/pankod/refine.git","directory":"packages/core"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"17dd5af3e4c9f7f09e1e707362c6f5a9d1cab8a8","publishConfig":{"access":"public"},"bugs":{"url":"https://github.com/pankod/refine/issues"},"homepage":"https://github.com/pankod/refine#readme","_id":"@pankod/refine-core@3.74.6","_nodeVersion":"16.17.0","_npmVersion":"8.15.0","dist":{"integrity":"sha512-MZcXyTLZeN4UieLKNEjQlzgqixafgDFiptlmew2tYyTry+EyFPD0WoS5C5gctDLfQNpMVlCs3w+Tz1z8hZakgQ==","shasum":"b63f613cd2e4a3762512be127b5fe9fff3e55348","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.74.6.tgz","fileCount":506,"unpackedSize":1904076,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDDIDq67vMxGKDH/W1PKKfhzMiGHehl0aSd0qMRkHp9egIgZNVzgq+1HculjJYMgOZyUxbQxpq92+uS6jLVppzrxns="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjNvngACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqVgRAAg3Hl0/qWXWoOMYVWYgvWd7rmiaqJagjgAz7kIPScn10MOfMn\r\nOeBaNFqGT7ezGBWvbzXcxqGOcPSF/GDiTr75sijU6QhxbPE1AADmbUbIgQ1v\r\n3EkTbvpvepjqS3ZYlXURlwR18iEWVxqkqf1Cp/0/1UkMlGtppM+XV5TprEsE\r\n5rjfLewD9JfQOA3Cg02mGFI0yGqCFcjuCo8M0TND8ySKXFwwxstpvHeHvbar\r\n/UXGX68G2/3KwHNkBNgHILk0xN5aQvh2IUp1HMGzMsRB9AzOrAJPqHNd4/vQ\r\nasFceavIdZxhBgY+SNNfluZ9WEEgcrrxNwl4EVzIQPGJS2SJkbDIn/8MWO8h\r\nJUNYuN0YcPi1bm0H2p8SB7EdfGFGbNuS4WzHq4OD9NJ2Z3T3hWczDAXfrj/E\r\n0FQays1l0UQ8rH2SHIPA15vlPLSQxC1NT9y8+T0e59uK4KvGHBDA1xcHbtIy\r\nDg1k3ZP/ElbYJ9pjpDu6b5ROhBC5hxLZj5ellKqtvApjlDVqtC2p169B937U\r\nSiTM70CNhG8CexI6GpMffqtdPv47uNPq0fF6CA6LOM3fKHCsoyO8aqrCbyjR\r\n/8FbVj0kdijssL+PJD+UKZy7g9DgERSWfKtKIFXu2DjdPy9e+RoZvJhOLN9I\r\nSCQ7jTLmD54mzYkFTfD9z1633yWFda7FHYA=\r\n=gMPw\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.74.6_1664547296634_0.7534993401673526"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.74.7":{"name":"@pankod/refine-core","version":"3.74.7","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --format esm,cjs,iife --legacy-output","build":"tsup --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0","@types/react":"^17.0.0 || ^18.0.0","@types/react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.16.4","@testing-library/react":"^13.1.1","@testing-library/react-hooks":"^8.0.0","@testing-library/user-event":"^14.1.1","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^18.0.0","@types/react-dom":"^18.0.0","@types/react-router-dom":"^5.1.8","@types/testing-library__jest-dom":"^5.14.3","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"6.3.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.7.4"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","lodash-es":"^4.17.21","lodash":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","@tanstack/react-query-devtools":"^4.0.10","@tanstack/react-query":"^4.0.10","tslib":"^2.3.1","warn-once":"^0.1.0"},"repository":{"type":"git","url":"git+https://github.com/pankod/refine.git","directory":"packages/core"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"17dd5af3e4c9f7f09e1e707362c6f5a9d1cab8a8","publishConfig":{"access":"public"},"readme":"<div align=\"center\" style=\"margin: 30px;\">\n<a href=\"https://refine.dev/\">\n  <img src=\"https://raw.githubusercontent.com/pankod/refine/master/logo.png\"   style=\"width:250px;\" align=\"center\" />\n</a>\n<br />\n<br />\n\n<div align=\"center\">\n    <a href=\"https://refine.dev\">Home Page</a> |\n    <a href=\"https://refine.dev/demo/\">Demo</a> | \n    <a href=\"https://refine.dev/blog/\">Blog</a> | \n    <a href=\"https://refine.dev/docs/\">Documentation</a> | \n    <a href=\"https://github.com/pankod/refine/projects/1\">Roadmap</a> | \n    <a href=\"https://refine.dev/docs/examples/tutorial/\">Examples</a> | \n    <a href=\"https://refine.dev/enterprise/\">Enterprise</a> | \n    <a href=\"https://discord.gg/refine\">Discord</a>\n</div>\n\n</div>\n<br/>\n\n<div align=\"center\"><strong>Build your <a href=\"https://reactjs.org/\">React</a>-based CRUD applications, without constraints.</strong><br>Open source, headless web application framework developed with flexibility in mind.</div>\n\n<br />\n\n<div align=\"center\">\n\n[![Discord](https://img.shields.io/discord/837692625737613362.svg?label=&logo=discord&logoColor=ffffff&color=7389D8&labelColor=6A7EC2)](https://discord.gg/refine)\n[![Twitter Follow](https://img.shields.io/twitter/follow/refine_dev?style=social)](https://twitter.com/refine_dev)\n\n<a href=\"https://www.producthunt.com/posts/refine-open-source-react-framework?utm_source=badge-featured&utm_medium=badge&utm_souce=badge-refine-open-source-react-framework\" target=\"_blank\"><img src=\"https://api.producthunt.com/widgets/embed-image/v1/featured.svg?post_id=319164&theme=light\" alt=\"refine: Open Source React Framework - Focus your business logic. refine will do the rest. | Product Hunt\" style=\"width: 250px; height: 54px;\" width=\"250\" height=\"54\" /></a>\n\n[![Meercode CI Score](https://meercode.io/badge/pankod/refine?type=ci-score&branch=master&token=2ZiT8YsoJgt57JB23NYwXrFY3rJHZboT&lastDay=31)](https://meercode.io/)\n[![Meercode CI Success Rate](https://meercode.io/badge/pankod/refine?type=ci-success-rate&branch=master&token=2ZiT8YsoJgt57JB23NYwXrFY3rJHZboT&lastDay=31)](https://meercode.io/)\n[![Maintainability](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/maintainability)](https://codeclimate.com/github/pankod/refine/maintainability)\n[![Test Coverage](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/test_coverage)](https://codeclimate.com/github/pankod/refine/test_coverage)\n[![npm version](https://img.shields.io/npm/v/@pankod/refine-core.svg)](https://www.npmjs.com/package/@pankod/refine-core)\n[![npm](https://img.shields.io/npm/dm/@pankod/refine-core)](https://www.npmjs.com/package/@pankod/refine-core)\n[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.0-4baaaa.svg)](code_of_conduct.md)\n</div>\n\n<div align=\"center\" style=\"margin: 30px;\">\n  <img src=\"https://github.com/pankod/refine/blob/master/documentation/static/img/refine-promo-gif.gif?raw=true\" style=\"width:688px;\"/>\n</div>\n\n\n## What is refine?\n**refine** is a React-based framework for rapid ✨ development of web applications. \nIt eliminates the repetitive tasks demanded by **CRUD** operations and provides industry standard solutions for critical parts like **authentication**, **access control**, **routing**, **networking**, **state management** and **i18n**.\n\n**refine** is *headless by design* offering unlimited styling and customization options. \n\n## What do you mean by \"headless\" ?\nInstead of being a limited set of pre-styled components, **refine** is a collection of helper `hooks`, `components` and `providers`. They are all decoupled from your *UI components* and *business logic*, so they never keep you from customizing your *UI* or coding your own flow.\n\n**refine** seamlessly works with any **custom design** or **UI framework you favor**. For convenience, it ships with ready-made integrations for [Ant Design System](https://ant.design/), [Material UI](https://mui.com/), and [Mantine](https://mantine.dev/).\n\n## Use cases\n**refine** shines on *data-intensive* applications like *admin panels*, *dashboards* and *internal tools*. Thanks to built-in **SSR support**, **refine** can also power *customer-facing* applications like *storefronts*.\n\n## Key Features\n\n⚙️ Zero-config, **one-minute setup** with a **single CLI command**\n\n🔌 Connectors for **15+ backend services** including [REST API](https://github.com/pankod/refine/tree/master/packages/simple-rest), [GraphQL](https://github.com/pankod/refine/tree/master/packages/graphql), [NestJs CRUD](https://github.com/pankod/refine/tree/master/packages/nestjsx-crud), [Airtable](https://github.com/pankod/refine/tree/master/packages/airtable), [Strapi](https://github.com/pankod/refine/tree/master/packages/strapi), [Strapi v4](https://github.com/pankod/refine/tree/master/packages/strapi-v4), [Strapi GraphQL](https://github.com/pankod/refine/tree/master/packages/strapi-graphql), [Supabase](https://github.com/pankod/refine/tree/master/packages/supabase), [Hasura](https://github.com/pankod/refine/tree/master/packages/hasura), [Nhost](https://github.com/pankod/refine/tree/master/packages/nhost), [Appwrite](https://github.com/pankod/refine/tree/master/packages/appwrite), [Firebase](https://firebase.google.com/), [Directus](https://directus.io/) and [Altogic](https://github.com/pankod/refine/tree/master/packages/altogic)\n\n🌐 **SSR support** with **Next.js** or **Remix**\n\n⚛ Perfect **state management** & **mutations** with **React Query**\n\n🔀 **Advanced routing** with any router library of your choice\n\n🔐 Providers for seamless **authentication** and **access control** flows\n\n⚡ Out-of-the-box support for **live / real-time applications**\n\n📄 Easy **audit logs** &** **document versioning**\n\n💬 Support for any **i18n** framework\n\n💪 Future-proof, **robust architecture**\n\n✅ Full **test coverage**\n\n## Quick Start\n\nThe fastest way to get started with **refine** is using the [superplate](https://github.com/pankod/superplate) project starter tool.\nRun the following command to create a new **refine** project configured with  [Ant Design System](https://ant.design/) as the default UI framework:\n\n```\nnpx superplate-cli --preset refine-antd my-project\n```\n\nOnce the setup is complete, navigate to the project folder and start your project with:\n\n```\nnpm run dev\n```\n\nYour **refine** application will be accessible at [http://localhost:3000](http://localhost:3000):\n![Welcome on board](https://github.com/pankod/refine/blob/master/documentation/static/img/welcome-on-board.png?raw=true)\nLet's consume a public `fake REST API` and add two resources (*posts*, *categories*) to our project. Replace the contents of `src/App.tsx` with the following code:\n\n```tsx title=\"src/App.tsx\"\n\nimport { Refine, useMany } from \"@pankod/refine-core\";\nimport {\n    useTable,\n    List,\n    Table,\n    DateField,\n    Layout,\n    ReadyPage,\n    notificationProvider,\n    ErrorComponent,\n} from \"@pankod/refine-antd\";\nimport routerProvider from \"@pankod/refine-react-router-v6\";\nimport dataProvider from \"@pankod/refine-simple-rest\";\n\nimport \"@pankod/refine-antd/dist/styles.min.css\";\n\nconst App: React.FC = () => {\n    return (\n        <Refine\n            routerProvider={routerProvider}\n            dataProvider={dataProvider(\"https://api.fake-rest.refine.dev\")}\n            resources={[{ name: \"posts\", list: PostList }]}\n            Layout={Layout}\n            ReadyPage={ReadyPage}\n            notificationProvider={notificationProvider}\n            catchAll={<ErrorComponent />}\n        />\n    );\n};\n\nexport const PostList: React.FC = () => {\n    const { tableProps } = useTable<IPost>();\n\n    const categoryIds =\n        tableProps?.dataSource?.map((item) => item.category.id) ?? [];\n\n    const { data, isLoading } = useMany<ICategory>({\n        resource: \"categories\",\n        ids: categoryIds,\n        queryOptions: {\n            enabled: categoryIds.length > 0,\n        },\n    });\n\n    return (\n        <List>\n            <Table<IPost> {...tableProps} rowKey=\"id\">\n                <Table.Column dataIndex=\"title\" title=\"title\" />\n                <Table.Column\n                    dataIndex={[\"category\", \"id\"]}\n                    title=\"category\"\n                    render={(value: number) => {\n                        if (isLoading) {\n                            return \"loading...\";\n                        }\n\n                        return data?.data.find(\n                            (item: ICategory) => item.id === value,\n                        )?.title;\n                    }}\n                />\n                <Table.Column\n                    dataIndex=\"createdAt\"\n                    title=\"createdAt\"\n                    render={(value) => <DateField format=\"LLL\" value={value} />}\n                />\n            </Table>\n        </List>\n    );\n};\n\nexport default App;\n\ninterface IPost {\n  title: string;\n  createdAt: string;\n  category: { id: number };\n}\n\ninterface ICategory {\n  id: number;\n  title: string;\n}\n\n```\n\nNow, you should see the output as a table populated with `post` & `category` data:\n![First example result](https://github.com/pankod/refine/blob/master/documentation/static/img/first-example-result.png?raw=true)\n## Next Steps\n\n👉 Jump to [Refine<>Ant Design Tutorial](https://refine.dev/docs/ui-frameworks/antd/tutorial/) to continue your work and turn the example into a full-blown CRUD application.\n\n👉 Check out the [Refine<>Tailwind Tutorial](https://refine.dev/docs/ui-frameworks/antd/tutorial/) to learn how to use **refine** in a pure *headless* way.\n\n👉 Visit [Learn the Basics Page](https://refine.dev/docs/getting-started/overview/) to get informed about the fundemental concepts.\n\n👉 Read more on [Guides & Concepts](https://refine.dev/docs/guides-and-concepts/access-control/) for different usage scenarios.\n\n👉 See the real-life [Finefoods Demo](https://refine.dev/demo/) project.\n\n👉 Play with interactive [Examples](https://refine.dev/docs/examples/)\n\n## Roadmap\nYou can find refine's <a href=\"https://github.com/pankod/refine/projects/1\">Public Roadmap here!</a> \n\n## Stargazers\n\n[![Stargazers repo roster for pankod/refine](https://reporoster.com/stars/pankod/refine)](https://github.com/pankod/refine/stargazers)\n\n## Contribution\n\nIf you have a bug to report, do not hesitate to file an issue.\n\nIf you are willing to fix an issue or propose a feature; all PRs with clear explanations are welcome and encouraged.\n\n## License\n\nLicensed under the MIT License, Copyright © 2021-present Pankod\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/pankod/refine/issues"},"homepage":"https://github.com/pankod/refine#readme","_id":"@pankod/refine-core@3.74.7","_nodeVersion":"16.17.0","_npmVersion":"8.15.0","dist":{"integrity":"sha512-gWdWpyaO0ImxTkiT3jBoJiQIoezkkHPooG5nRlp1OWLWQ7QWWRHo5QpBTEIVtBRI8FJ9mBz6+GgJoGY4Tno4vw==","shasum":"c08b6bc8d00fa862a17607e59c857c40a1542f76","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.74.7.tgz","fileCount":506,"unpackedSize":1908942,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC2vVPgfiikDShaCzPKJmevII0kqHGF8/nWm3z2w1X2ngIgeK9JTh9jIZ/urgRYmCns9HQwNNuTx/0gEPN4qDNoKVc="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjO98SACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrCFA//XxFSmID4DPNLweFjLmZOy33DzLN+6Mjn4qSjT7SDu8mqtV7Q\r\nldO87J74VcQxCom13MDI1kQeqcbVy9aWkJzdyyTjqDQSVufOXb2bs8ZZ51Um\r\nBmbskqFVKPmXo6Cg8SsxQrZxs85p/TR2gmG1ZDz5f5hV5HWn35NKdfphGLc+\r\nmlppQRk9FDkqrS38ogkLV1HyiPb7tA0JHvl32W8DNXvslN30h97wr5f2XdXe\r\npW6Fdyli1QoHtpzl+LoCfKgoDMfnpSd54JlHiN4j/X/pQZiUbMph4aT+c+OS\r\nBluoAyZvh0GTJ42Wjfx8e986js8rfnNGTSpZDcv+ocPh6VT9UUN7YZAE+apN\r\n7QRsG9kc9+NR7v1vXN2Fis6DxOcoKCeidqvTT2I3BBQ+00ckaIUz234hQhb4\r\nw4r9SAAIepScoYmhVU7eGjXuokTSWVAiYCHpwKF02AClQZXC2L+nsRP8JTl7\r\nbRkMCGKuf62lgplwVPUT7+ctOxFFL2+RIjxRdZcODf4FvumepM4B8IVtVe4B\r\n2l2MxdeZC95SdpD7WSIPLJPjwNEGqLx52cdpLfl8PjkrZ19vMM19UDDQ3COt\r\n+b6eMF9iTnaiyFp5GCSb5Tnufn5nBMYMqhuFYuLVYLWOX7SIUDkUqm7IWZ2I\r\neh5TZjfKBcR1RAq6Qk24xrTo3+HtdsxFy9g=\r\n=U5n3\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.74.7_1664868114679_0.9353259839478587"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.74.8":{"name":"@pankod/refine-core","version":"3.74.8","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --format esm,cjs,iife --legacy-output","build":"tsup --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0","@types/react":"^17.0.0 || ^18.0.0","@types/react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.16.4","@testing-library/react":"^13.1.1","@testing-library/react-hooks":"^8.0.0","@testing-library/user-event":"^14.1.1","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^18.0.0","@types/react-dom":"^18.0.0","@types/react-router-dom":"^5.1.8","@types/testing-library__jest-dom":"^5.14.3","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"6.3.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.7.4"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","lodash-es":"^4.17.21","lodash":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","@tanstack/react-query-devtools":"^4.0.10","@tanstack/react-query":"^4.0.10","tslib":"^2.3.1","warn-once":"^0.1.0"},"repository":{"type":"git","url":"git+https://github.com/pankod/refine.git","directory":"packages/core"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"17dd5af3e4c9f7f09e1e707362c6f5a9d1cab8a8","publishConfig":{"access":"public"},"bugs":{"url":"https://github.com/pankod/refine/issues"},"homepage":"https://github.com/pankod/refine#readme","_id":"@pankod/refine-core@3.74.8","_nodeVersion":"16.17.0","_npmVersion":"8.15.0","dist":{"integrity":"sha512-uMXOITTBuPZsvahKfZgBjotTtigYXrgjL87lMQvavhlvmLQxY/CRBEg9gKhNO2fFgbJLEFUQiGbXcKJQeNCSsQ==","shasum":"69304181ae9990550b231d15b331b5eed7d0bd98","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.74.8.tgz","fileCount":506,"unpackedSize":1909017,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCBQWvgo11ihq8f+t1igiLxsS8R9gZrurgHu3AuiHwDvwIgGqqAeHJtkfEHBuwsYuQ5g7EZZNe62bTKWSavBMxZkUU="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjO+T3ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpQsRAAiLIOUJnIN3qPnxQibfIaC33tmBU44BUOhocTVBhhzu6Zskal\r\nDIPuIoju39tsY7YxsbvVL9AElLCjM7YUHYB5E9Sd/gAiUK70/EbHvUt/7Qh8\r\nyKNWGB+9abifMwwPpf+QS/+M4tXnazUUa84Hs2Oy3z2d5QbpeMOD7r8Nsr0o\r\nsoHL32NRXL3FmgDhOy163pjgsZtTv3GJatLFs+BG/CZDYyjDJI7/9aAomomQ\r\nHbnmFMg9lDQjZ0wOBP4uco/lC3gZ6CqZt88Pni9Wf+oeSoroG2rxIvTrfBz8\r\nEZi8yqex4bbrKvEUqsvdzgPlojw6ozpujp/TTrqF14S1332p8gnzfJ4aXQ05\r\neBz1lXOC3sVQIChltBxrwgX+nfqPyAmshuOtmVEv0gXeDdW/AbYdCF61g4+n\r\ntG9aBWwEs0S5Wp6rJDuhKjzPxp7lqxeOpD98774gDGuWU/rVvXzTnxxTNuv0\r\nGzvX9bRLsdweWVS3R8hdW6GmE3Cx2Rbkl/TgPznHyWXjYxvlzHmyzZX/ZoIi\r\nu96RtUq/2C8EI2liyTOOvacdxWWBvpgW+zhH81r4Nr41b3XIkHWndU82OvDO\r\nkHUOF9QSJlX11NiEpN97KGTgIpZAX45U1xKhNYx882ysZ6/JLGizNGywMdJ/\r\nZCKBWfMlmXXvM8XB4JpjhBcIJbvdSuF15vo=\r\n=anCu\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.74.8_1664869623096_0.8343812250799267"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.75.0":{"name":"@pankod/refine-core","version":"3.75.0","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --format esm,cjs,iife --legacy-output","build":"tsup --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0","@types/react":"^17.0.0 || ^18.0.0","@types/react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.16.4","@testing-library/react":"^13.1.1","@testing-library/react-hooks":"^8.0.0","@testing-library/user-event":"^14.1.1","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^18.0.0","@types/react-dom":"^18.0.0","@types/react-router-dom":"^5.1.8","@types/testing-library__jest-dom":"^5.14.3","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"6.3.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.7.4"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","lodash-es":"^4.17.21","lodash":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","@tanstack/react-query-devtools":"^4.10.1","@tanstack/react-query":"^4.10.1","tslib":"^2.3.1","warn-once":"^0.1.0"},"repository":{"type":"git","url":"git+https://github.com/pankod/refine.git","directory":"packages/core"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"17dd5af3e4c9f7f09e1e707362c6f5a9d1cab8a8","publishConfig":{"access":"public"},"readme":"<div align=\"center\" style=\"margin: 30px;\">\n<a href=\"https://refine.dev/\">\n  <img src=\"https://raw.githubusercontent.com/pankod/refine/master/logo.png\"   style=\"width:250px;\" align=\"center\" />\n</a>\n<br />\n<br />\n\n<div align=\"center\">\n    <a href=\"https://refine.dev\">Home Page</a> |\n    <a href=\"https://refine.dev/demo/\">Demo</a> | \n    <a href=\"https://refine.dev/blog/\">Blog</a> | \n    <a href=\"https://refine.dev/docs/\">Documentation</a> | \n    <a href=\"https://github.com/pankod/refine/projects/1\">Roadmap</a> | \n    <a href=\"https://refine.dev/docs/examples/tutorial/\">Examples</a> | \n    <a href=\"https://refine.dev/enterprise/\">Enterprise</a> | \n    <a href=\"https://discord.gg/refine\">Discord</a>\n</div>\n\n</div>\n<br/>\n\n<div align=\"center\"><strong>Build your <a href=\"https://reactjs.org/\">React</a>-based CRUD applications, without constraints.</strong><br>Open source, headless web application framework developed with flexibility in mind.</div>\n\n<br />\n\n<div align=\"center\">\n\n[![Discord](https://img.shields.io/discord/837692625737613362.svg?label=&logo=discord&logoColor=ffffff&color=7389D8&labelColor=6A7EC2)](https://discord.gg/refine)\n[![Twitter Follow](https://img.shields.io/twitter/follow/refine_dev?style=social)](https://twitter.com/refine_dev)\n\n<a href=\"https://www.producthunt.com/posts/refine-3?utm_source=badge-featured&utm_medium=badge&utm_souce=badge-refine&#0045;3\" target=\"_blank\"><img src=\"https://api.producthunt.com/widgets/embed-image/v1/featured.svg?post_id=362220&theme=light\" alt=\"refine - 100&#0037;&#0032;open&#0032;source&#0032;React&#0032;framework&#0046;&#0032;Build&#0032;web&#0032;apps&#0032;3x&#0032;faster&#0046; | Product Hunt\" style=\"width: 250px; height: 54px;\" width=\"250\" height=\"54\" /></a>\n\n[![Meercode CI Score](https://meercode.io/badge/pankod/refine?type=ci-score&branch=master&token=2ZiT8YsoJgt57JB23NYwXrFY3rJHZboT&lastDay=31)](https://meercode.io/)\n[![Meercode CI Success Rate](https://meercode.io/badge/pankod/refine?type=ci-success-rate&branch=master&token=2ZiT8YsoJgt57JB23NYwXrFY3rJHZboT&lastDay=31)](https://meercode.io/)\n[![Maintainability](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/maintainability)](https://codeclimate.com/github/pankod/refine/maintainability)\n[![Test Coverage](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/test_coverage)](https://codeclimate.com/github/pankod/refine/test_coverage)\n[![npm version](https://img.shields.io/npm/v/@pankod/refine-core.svg)](https://www.npmjs.com/package/@pankod/refine-core)\n[![npm](https://img.shields.io/npm/dm/@pankod/refine-core)](https://www.npmjs.com/package/@pankod/refine-core)\n[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.0-4baaaa.svg)](code_of_conduct.md)\n</div>\n\n<div align=\"center\" style=\"margin: 30px;\">\n  <img src=\"https://github.com/pankod/refine/blob/master/documentation/static/img/refine-promo-gif.gif?raw=true\" style=\"width:688px;\"/>\n</div>\n\n\n## What is refine?\n**refine** is a React-based framework for rapid ✨ development of web applications. \nIt eliminates the repetitive tasks demanded by **CRUD** operations and provides industry standard solutions for critical parts like **authentication**, **access control**, **routing**, **networking**, **state management** and **i18n**.\n\n**refine** is *headless by design* offering unlimited styling and customization options. \n\n## What do you mean by \"headless\" ?\nInstead of being a limited set of pre-styled components, **refine** is a collection of helper `hooks`, `components` and `providers`. They are all decoupled from your *UI components* and *business logic*, so they never keep you from customizing your *UI* or coding your own flow.\n\n**refine** seamlessly works with any **custom design** or **UI framework you favor**. For convenience, it ships with ready-made integrations for [Ant Design System](https://ant.design/), [Material UI](https://mui.com/), and [Mantine](https://mantine.dev/).\n\n## Use cases\n**refine** shines on *data-intensive* applications like *admin panels*, *dashboards* and *internal tools*. Thanks to built-in **SSR support**, **refine** can also power *customer-facing* applications like *storefronts*.\n\n## Key Features\n\n⚙️ Zero-config, **one-minute setup** with a **single CLI command**\n\n🔌 Connectors for **15+ backend services** including [REST API](https://github.com/pankod/refine/tree/master/packages/simple-rest), [GraphQL](https://github.com/pankod/refine/tree/master/packages/graphql), [NestJs CRUD](https://github.com/pankod/refine/tree/master/packages/nestjsx-crud), [Airtable](https://github.com/pankod/refine/tree/master/packages/airtable), [Strapi](https://github.com/pankod/refine/tree/master/packages/strapi), [Strapi v4](https://github.com/pankod/refine/tree/master/packages/strapi-v4), [Strapi GraphQL](https://github.com/pankod/refine/tree/master/packages/strapi-graphql), [Supabase](https://github.com/pankod/refine/tree/master/packages/supabase), [Hasura](https://github.com/pankod/refine/tree/master/packages/hasura), [Nhost](https://github.com/pankod/refine/tree/master/packages/nhost), [Appwrite](https://github.com/pankod/refine/tree/master/packages/appwrite), [Firebase](https://firebase.google.com/), [Directus](https://directus.io/) and [Altogic](https://github.com/pankod/refine/tree/master/packages/altogic)\n\n🌐 **SSR support** with **Next.js** or **Remix**\n\n⚛ Perfect **state management** & **mutations** with **React Query**\n\n🔀 **Advanced routing** with any router library of your choice\n\n🔐 Providers for seamless **authentication** and **access control** flows\n\n⚡ Out-of-the-box support for **live / real-time applications**\n\n📄 Easy **audit logs** &** **document versioning**\n\n💬 Support for any **i18n** framework\n\n💪 Future-proof, **robust architecture**\n\n✅ Full **test coverage**\n\n## Quick Start\n\nThe fastest way to get started with **refine** is using the [superplate](https://github.com/pankod/superplate) project starter tool.\nRun the following command to create a new **refine** project configured with  [Ant Design System](https://ant.design/) as the default UI framework:\n\n```\nnpx superplate-cli --preset refine-antd my-project\n```\n\nOnce the setup is complete, navigate to the project folder and start your project with:\n\n```\nnpm run dev\n```\n\nYour **refine** application will be accessible at [http://localhost:3000](http://localhost:3000):\n![Welcome on board](https://github.com/pankod/refine/blob/master/documentation/static/img/welcome-on-board.png?raw=true)\nLet's consume a public `fake REST API` and add two resources (*posts*, *categories*) to our project. Replace the contents of `src/App.tsx` with the following code:\n\n```tsx title=\"src/App.tsx\"\n\nimport { Refine, useMany } from \"@pankod/refine-core\";\nimport {\n    useTable,\n    List,\n    Table,\n    DateField,\n    Layout,\n    ReadyPage,\n    notificationProvider,\n    ErrorComponent,\n} from \"@pankod/refine-antd\";\nimport routerProvider from \"@pankod/refine-react-router-v6\";\nimport dataProvider from \"@pankod/refine-simple-rest\";\n\nimport \"@pankod/refine-antd/dist/styles.min.css\";\n\nconst App: React.FC = () => {\n    return (\n        <Refine\n            routerProvider={routerProvider}\n            dataProvider={dataProvider(\"https://api.fake-rest.refine.dev\")}\n            resources={[{ name: \"posts\", list: PostList }]}\n            Layout={Layout}\n            ReadyPage={ReadyPage}\n            notificationProvider={notificationProvider}\n            catchAll={<ErrorComponent />}\n        />\n    );\n};\n\nexport const PostList: React.FC = () => {\n    const { tableProps } = useTable<IPost>();\n\n    const categoryIds =\n        tableProps?.dataSource?.map((item) => item.category.id) ?? [];\n\n    const { data, isLoading } = useMany<ICategory>({\n        resource: \"categories\",\n        ids: categoryIds,\n        queryOptions: {\n            enabled: categoryIds.length > 0,\n        },\n    });\n\n    return (\n        <List>\n            <Table<IPost> {...tableProps} rowKey=\"id\">\n                <Table.Column dataIndex=\"title\" title=\"title\" />\n                <Table.Column\n                    dataIndex={[\"category\", \"id\"]}\n                    title=\"category\"\n                    render={(value: number) => {\n                        if (isLoading) {\n                            return \"loading...\";\n                        }\n\n                        return data?.data.find(\n                            (item: ICategory) => item.id === value,\n                        )?.title;\n                    }}\n                />\n                <Table.Column\n                    dataIndex=\"createdAt\"\n                    title=\"createdAt\"\n                    render={(value) => <DateField format=\"LLL\" value={value} />}\n                />\n            </Table>\n        </List>\n    );\n};\n\nexport default App;\n\ninterface IPost {\n  title: string;\n  createdAt: string;\n  category: { id: number };\n}\n\ninterface ICategory {\n  id: number;\n  title: string;\n}\n\n```\n\nNow, you should see the output as a table populated with `post` & `category` data:\n![First example result](https://github.com/pankod/refine/blob/master/documentation/static/img/first-example-result.png?raw=true)\n## Next Steps\n\n👉 Jump to [Refine<>Ant Design Tutorial](https://refine.dev/docs/ui-frameworks/antd/tutorial/) to continue your work and turn the example into a full-blown CRUD application.\n\n👉 Check out the [Refine<>Tailwind Tutorial](https://refine.dev/docs/ui-frameworks/antd/tutorial/) to learn how to use **refine** in a pure *headless* way.\n\n👉 Visit [Learn the Basics Page](https://refine.dev/docs/getting-started/overview/) to get informed about the fundemental concepts.\n\n👉 Read more on [Guides & Concepts](https://refine.dev/docs/guides-and-concepts/access-control/) for different usage scenarios.\n\n👉 See the real-life [Finefoods Demo](https://refine.dev/demo/) project.\n\n👉 Play with interactive [Examples](https://refine.dev/docs/examples/)\n\n## Roadmap\nYou can find refine's <a href=\"https://github.com/pankod/refine/projects/1\">Public Roadmap here!</a> \n\n## Stargazers\n\n[![Stargazers repo roster for pankod/refine](https://reporoster.com/stars/pankod/refine)](https://github.com/pankod/refine/stargazers)\n\n## Contribution\n\nIf you have a bug to report, do not hesitate to file an issue.\n\nIf you are willing to fix an issue or propose a feature; all PRs with clear explanations are welcome and encouraged.\n\n## License\n\nLicensed under the MIT License, Copyright © 2021-present Pankod\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/pankod/refine/issues"},"homepage":"https://github.com/pankod/refine#readme","_id":"@pankod/refine-core@3.75.0","_nodeVersion":"16.17.1","_npmVersion":"8.15.0","dist":{"integrity":"sha512-90o72dy5HV2htpoMiKkDHqaNQ2Vi6qaDw96lZ9EP9jRTjv69d2EDuTTm9x9BmBZzbF+HYSxXVXV0HkYE4fIgrw==","shasum":"8d7f3a92d3af5d7a3b2f1d66c9edc79bdad083d0","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.75.0.tgz","fileCount":509,"unpackedSize":1963546,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIE0mxNYTthSG5zJmQGclTnONz/QAFhGuoFbJ81BjAJVfAiEAwpGnQFR5Ud8JBCadolfeW5GWggCUn9JE7vazpU99d1I="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjPtdBACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr2sg//bh0uoU7SVWQMNZt2fV2d2aMC8AywQOgnlTG9acm5JLpAqkkg\r\ndK52DD0AyLiHnnE2q/PVz4clP8Ku04JM33HoMDFjSwu4/YjyI2xpSKIcrVYC\r\nxe2Pz+Hn5K1wcBSN/3ISBxoYqVkwC+MMGaqpbCg8lWW79SC6+9Z2wUEYioSV\r\nDZF3nT6dJoHyDEwIyqV5dskwrKdwlAwKSKE0dq+fIYFZ+L+ijpSjN52WUyKv\r\niSYwCMH7neRz7vh2KxEw9ln2QwOnNL11NY0TDdG271tLIrq2sxnX/eo2XZi2\r\nMQi5xRglYpr4ElT+x9fGLSt2ZarUOQYFiqZ9aeEokHMrDo2SxlPlgqXtZ9B8\r\n1Jkl4KKUKbWI10qrMcJU72CYKqDuyqrU33xKGvt/1GkPLmOCubWcUPhOjrXu\r\nq0gbvTbcpch/HMdDShxL2DhKzyqKO2tAfHauLoyREIiopMGLdXGAjlEmbjmi\r\nrt4zja0YG69O+GMwiLj7nZJzx8fyvVwA7CKAk4GVfCE156kkwloqwcbFwoCA\r\nl/CNwoJukZEve/D6GR9TGM+tHWtBaGG0oYswPDON7I7SB3F2JuE9F5Njkp71\r\nAW3omHwUvV07DXtX9Anr/RSG7yktsp7vUlgVynHYwpFNGqIH/cbR9YWsUUuo\r\nA8RqybRoGYlUoRAACNrxuMxw9n+iRuIcCcg=\r\n=kZF3\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.75.0_1665062721037_0.6080326652542627"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.75.1":{"name":"@pankod/refine-core","version":"3.75.1","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --format esm,cjs,iife --legacy-output","build":"tsup --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0","@types/react":"^17.0.0 || ^18.0.0","@types/react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.16.4","@testing-library/react":"^13.1.1","@testing-library/react-hooks":"^8.0.0","@testing-library/user-event":"^14.1.1","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^18.0.0","@types/react-dom":"^18.0.0","@types/react-router-dom":"^5.1.8","@types/testing-library__jest-dom":"^5.14.3","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"6.3.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.7.4"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","lodash-es":"^4.17.21","lodash":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","@tanstack/react-query-devtools":"^4.10.1","@tanstack/react-query":"^4.10.1","tslib":"^2.3.1","warn-once":"^0.1.0"},"repository":{"type":"git","url":"git+https://github.com/pankod/refine.git","directory":"packages/core"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"17dd5af3e4c9f7f09e1e707362c6f5a9d1cab8a8","publishConfig":{"access":"public"},"readme":"<div align=\"center\" style=\"margin: 30px;\">\n<a href=\"https://refine.dev/\">\n  <img src=\"https://raw.githubusercontent.com/pankod/refine/master/logo.png\"   style=\"width:250px;\" align=\"center\" />\n</a>\n<br />\n<br />\n\n<div align=\"center\">\n    <a href=\"https://refine.dev\">Home Page</a> |\n    <a href=\"https://refine.dev/demo/\">Demo</a> | \n    <a href=\"https://refine.dev/blog/\">Blog</a> | \n    <a href=\"https://refine.dev/docs/\">Documentation</a> | \n    <a href=\"https://github.com/pankod/refine/projects/1\">Roadmap</a> | \n    <a href=\"https://refine.dev/docs/examples/tutorial/\">Examples</a> | \n    <a href=\"https://refine.dev/enterprise/\">Enterprise</a> | \n    <a href=\"https://discord.gg/refine\">Discord</a>\n</div>\n\n</div>\n<br/>\n\n<div align=\"center\"><strong>Build your <a href=\"https://reactjs.org/\">React</a>-based CRUD applications, without constraints.</strong><br>Open source, headless web application framework developed with flexibility in mind.</div>\n\n<br />\n\n<div align=\"center\">\n\n[![Discord](https://img.shields.io/discord/837692625737613362.svg?label=&logo=discord&logoColor=ffffff&color=7389D8&labelColor=6A7EC2)](https://discord.gg/refine)\n[![Twitter Follow](https://img.shields.io/twitter/follow/refine_dev?style=social)](https://twitter.com/refine_dev)\n\n<a href=\"https://www.producthunt.com/posts/refine-3?utm_source=badge-featured&utm_medium=badge&utm_souce=badge-refine&#0045;3\" target=\"_blank\"><img src=\"https://api.producthunt.com/widgets/embed-image/v1/featured.svg?post_id=362220&theme=light\" alt=\"refine - 100&#0037;&#0032;open&#0032;source&#0032;React&#0032;framework&#0046;&#0032;Build&#0032;web&#0032;apps&#0032;3x&#0032;faster&#0046; | Product Hunt\" style=\"width: 250px; height: 54px;\" width=\"250\" height=\"54\" /></a>\n\n[![Meercode CI Score](https://meercode.io/badge/pankod/refine?type=ci-score&branch=master&token=2ZiT8YsoJgt57JB23NYwXrFY3rJHZboT&lastDay=31)](https://meercode.io/)\n[![Meercode CI Success Rate](https://meercode.io/badge/pankod/refine?type=ci-success-rate&branch=master&token=2ZiT8YsoJgt57JB23NYwXrFY3rJHZboT&lastDay=31)](https://meercode.io/)\n[![Maintainability](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/maintainability)](https://codeclimate.com/github/pankod/refine/maintainability)\n[![Test Coverage](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/test_coverage)](https://codeclimate.com/github/pankod/refine/test_coverage)\n[![npm version](https://img.shields.io/npm/v/@pankod/refine-core.svg)](https://www.npmjs.com/package/@pankod/refine-core)\n[![npm](https://img.shields.io/npm/dm/@pankod/refine-core)](https://www.npmjs.com/package/@pankod/refine-core)\n[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.0-4baaaa.svg)](code_of_conduct.md)\n</div>\n\n<div align=\"center\" style=\"margin: 30px;\">\n  <img src=\"https://github.com/pankod/refine/blob/master/documentation/static/img/refine-promo-gif.gif?raw=true\" style=\"width:688px;\"/>\n</div>\n\n\n## What is refine?\n**refine** is a React-based framework for rapid ✨ development of web applications. \nIt eliminates the repetitive tasks demanded by **CRUD** operations and provides industry standard solutions for critical parts like **authentication**, **access control**, **routing**, **networking**, **state management** and **i18n**.\n\n**refine** is *headless by design* offering unlimited styling and customization options. \n\n## What do you mean by \"headless\" ?\nInstead of being a limited set of pre-styled components, **refine** is a collection of helper `hooks`, `components` and `providers`. They are all decoupled from your *UI components* and *business logic*, so they never keep you from customizing your *UI* or coding your own flow.\n\n**refine** seamlessly works with any **custom design** or **UI framework you favor**. For convenience, it ships with ready-made integrations for [Ant Design System](https://ant.design/), [Material UI](https://mui.com/), and [Mantine](https://mantine.dev/).\n\n## Use cases\n**refine** shines on *data-intensive* applications like *admin panels*, *dashboards* and *internal tools*. Thanks to built-in **SSR support**, **refine** can also power *customer-facing* applications like *storefronts*.\n\n## Key Features\n\n⚙️ Zero-config, **one-minute setup** with a **single CLI command**\n\n🔌 Connectors for **15+ backend services** including [REST API](https://github.com/pankod/refine/tree/master/packages/simple-rest), [GraphQL](https://github.com/pankod/refine/tree/master/packages/graphql), [NestJs CRUD](https://github.com/pankod/refine/tree/master/packages/nestjsx-crud), [Airtable](https://github.com/pankod/refine/tree/master/packages/airtable), [Strapi](https://github.com/pankod/refine/tree/master/packages/strapi), [Strapi v4](https://github.com/pankod/refine/tree/master/packages/strapi-v4), [Strapi GraphQL](https://github.com/pankod/refine/tree/master/packages/strapi-graphql), [Supabase](https://github.com/pankod/refine/tree/master/packages/supabase), [Hasura](https://github.com/pankod/refine/tree/master/packages/hasura), [Nhost](https://github.com/pankod/refine/tree/master/packages/nhost), [Appwrite](https://github.com/pankod/refine/tree/master/packages/appwrite), [Firebase](https://firebase.google.com/), [Directus](https://directus.io/) and [Altogic](https://github.com/pankod/refine/tree/master/packages/altogic)\n\n🌐 **SSR support** with **Next.js** or **Remix**\n\n⚛ Perfect **state management** & **mutations** with **React Query**\n\n🔀 **Advanced routing** with any router library of your choice\n\n🔐 Providers for seamless **authentication** and **access control** flows\n\n⚡ Out-of-the-box support for **live / real-time applications**\n\n📄 Easy **audit logs** &** **document versioning**\n\n💬 Support for any **i18n** framework\n\n💪 Future-proof, **robust architecture**\n\n✅ Full **test coverage**\n\n## Quick Start\n\nThe fastest way to get started with **refine** is using the [superplate](https://github.com/pankod/superplate) project starter tool.\nRun the following command to create a new **refine** project configured with  [Ant Design System](https://ant.design/) as the default UI framework:\n\n```\nnpx superplate-cli --preset refine-antd my-project\n```\n\nOnce the setup is complete, navigate to the project folder and start your project with:\n\n```\nnpm run dev\n```\n\nYour **refine** application will be accessible at [http://localhost:3000](http://localhost:3000):\n![Welcome on board](https://github.com/pankod/refine/blob/master/documentation/static/img/welcome-on-board.png?raw=true)\nLet's consume a public `fake REST API` and add two resources (*posts*, *categories*) to our project. Replace the contents of `src/App.tsx` with the following code:\n\n```tsx title=\"src/App.tsx\"\n\nimport { Refine, useMany } from \"@pankod/refine-core\";\nimport {\n    useTable,\n    List,\n    Table,\n    DateField,\n    Layout,\n    ReadyPage,\n    notificationProvider,\n    ErrorComponent,\n} from \"@pankod/refine-antd\";\nimport routerProvider from \"@pankod/refine-react-router-v6\";\nimport dataProvider from \"@pankod/refine-simple-rest\";\n\nimport \"@pankod/refine-antd/dist/styles.min.css\";\n\nconst App: React.FC = () => {\n    return (\n        <Refine\n            routerProvider={routerProvider}\n            dataProvider={dataProvider(\"https://api.fake-rest.refine.dev\")}\n            resources={[{ name: \"posts\", list: PostList }]}\n            Layout={Layout}\n            ReadyPage={ReadyPage}\n            notificationProvider={notificationProvider}\n            catchAll={<ErrorComponent />}\n        />\n    );\n};\n\nexport const PostList: React.FC = () => {\n    const { tableProps } = useTable<IPost>();\n\n    const categoryIds =\n        tableProps?.dataSource?.map((item) => item.category.id) ?? [];\n\n    const { data, isLoading } = useMany<ICategory>({\n        resource: \"categories\",\n        ids: categoryIds,\n        queryOptions: {\n            enabled: categoryIds.length > 0,\n        },\n    });\n\n    return (\n        <List>\n            <Table<IPost> {...tableProps} rowKey=\"id\">\n                <Table.Column dataIndex=\"title\" title=\"title\" />\n                <Table.Column\n                    dataIndex={[\"category\", \"id\"]}\n                    title=\"category\"\n                    render={(value: number) => {\n                        if (isLoading) {\n                            return \"loading...\";\n                        }\n\n                        return data?.data.find(\n                            (item: ICategory) => item.id === value,\n                        )?.title;\n                    }}\n                />\n                <Table.Column\n                    dataIndex=\"createdAt\"\n                    title=\"createdAt\"\n                    render={(value) => <DateField format=\"LLL\" value={value} />}\n                />\n            </Table>\n        </List>\n    );\n};\n\nexport default App;\n\ninterface IPost {\n  title: string;\n  createdAt: string;\n  category: { id: number };\n}\n\ninterface ICategory {\n  id: number;\n  title: string;\n}\n\n```\n\nNow, you should see the output as a table populated with `post` & `category` data:\n![First example result](https://github.com/pankod/refine/blob/master/documentation/static/img/first-example-result.png?raw=true)\n## Next Steps\n\n👉 Jump to [Refine<>Ant Design Tutorial](https://refine.dev/docs/ui-frameworks/antd/tutorial/) to continue your work and turn the example into a full-blown CRUD application.\n\n👉 Check out the [Refine<>Tailwind Tutorial](https://refine.dev/docs/ui-frameworks/antd/tutorial/) to learn how to use **refine** in a pure *headless* way.\n\n👉 Visit [Learn the Basics Page](https://refine.dev/docs/getting-started/overview/) to get informed about the fundemental concepts.\n\n👉 Read more on [Guides & Concepts](https://refine.dev/docs/guides-and-concepts/access-control/) for different usage scenarios.\n\n👉 See the real-life [Finefoods Demo](https://refine.dev/demo/) project.\n\n👉 Play with interactive [Examples](https://refine.dev/docs/examples/)\n\n## Roadmap\nYou can find refine's <a href=\"https://github.com/pankod/refine/projects/1\">Public Roadmap here!</a> \n\n## Stargazers\n\n[![Stargazers repo roster for pankod/refine](https://reporoster.com/stars/pankod/refine)](https://github.com/pankod/refine/stargazers)\n\n## Contribution\n\nIf you have a bug to report, do not hesitate to file an issue.\n\nIf you are willing to fix an issue or propose a feature; all PRs with clear explanations are welcome and encouraged.\n\n## License\n\nLicensed under the MIT License, Copyright © 2021-present Pankod\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/pankod/refine/issues"},"homepage":"https://github.com/pankod/refine#readme","_id":"@pankod/refine-core@3.75.1","_nodeVersion":"16.17.1","_npmVersion":"8.15.0","dist":{"integrity":"sha512-mBOxqPkFBmv/Vnt2+RaNfB9uk796HJKKcuF7Zr2VwBRcftV7LUuWnGW+XZua6tzppaI0iuOQ1sAPQEo3YwpnOQ==","shasum":"f48873dffd5f5f847d55770722fe8a265519a903","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.75.1.tgz","fileCount":509,"unpackedSize":1982540,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQClA9ymvHZMkprjOc81zb1sOPpcnBFo6LhKEc6ukevmdwIgRw4LN3phi2N9pRnsYlkI7z99150xv4Op+s5XezVED/k="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjQAbxACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmotrBAAo2GO5S5VFJvTd5F5MuCwgQK7gRMbr2Tz82+x7uL+sXEmSPRd\r\n+abAutvkJL+TZmjFWrJxK/q0Krmpv54zmvoiVNzN6lCtFfEAJ6ZdBSMII/Uy\r\nN8PZUFnN6LeWFLeg/PxYIG6XPa5sYPBhw3nPO68nC8IOVAS2S7BCQj022Avk\r\nlqeURqgk5RTZ/Rw8idoJ8bf+4xgdUuvghMvMZv5w8ldim56OireU0JAkQ9/X\r\nmhshHHle31JJG7ryHPCTNYNzuwsiVxQjRIYKbahe/rQusRWLX1M/k14A6e8y\r\njynUCYgZ6Q/pOohf8R6L5Y6wzwGDqLIfqPr2nAYhUAasW5VkYP2PcHhXexzY\r\n/3qIEVB9cTy0eLJPsz7iyf6/R3gFOS8IMsH+67Dr2h3VKV1aS/WHanZSeRIv\r\n4cFeS0SiycxmaAy/W6tjUepErPGfQ4VI5GDGilai/lefTjBqP7XRbGVY23wH\r\nwC0S/b2QoeoEWNrsCgOpylm5HXCLeCnyiLIe/cJNMrYBZoM0NJbXgnPIPdPG\r\nPsfTzIQ10I6RsDqp9j25ujvd6px0yNIsabbo/7mjcnsaMMzTXtUq2XxkancG\r\nljh9BZMaFL1NCnPWeUBXaHSRNvMz8qXLFvyAj8p2a6ifHbTTz9M51g3BhyYf\r\n+A3uNQUKn2vcN904SrGGWWxzALICwtgUTbY=\r\n=+kEo\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.75.1_1665140465258_0.20412679096683162"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.76.0":{"name":"@pankod/refine-core","version":"3.76.0","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --format esm,cjs,iife --legacy-output","build":"tsup --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0","@types/react":"^17.0.0 || ^18.0.0","@types/react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.16.4","@testing-library/react":"^13.1.1","@testing-library/react-hooks":"^8.0.0","@testing-library/user-event":"^14.1.1","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^18.0.0","@types/react-dom":"^18.0.0","@types/react-router-dom":"^5.1.8","@types/testing-library__jest-dom":"^5.14.3","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"6.3.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.7.4"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","lodash-es":"^4.17.21","lodash":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","@tanstack/react-query-devtools":"^4.10.1","@tanstack/react-query":"^4.10.1","tslib":"^2.3.1","warn-once":"^0.1.0"},"repository":{"type":"git","url":"git+https://github.com/pankod/refine.git","directory":"packages/core"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"17dd5af3e4c9f7f09e1e707362c6f5a9d1cab8a8","publishConfig":{"access":"public"},"bugs":{"url":"https://github.com/pankod/refine/issues"},"homepage":"https://github.com/pankod/refine#readme","_id":"@pankod/refine-core@3.76.0","_nodeVersion":"16.17.1","_npmVersion":"8.15.0","dist":{"integrity":"sha512-Mwtlzq32ElNKPoufnU9mfuMC6IX8UNPuqPWptsTGtYUOV7yfzX4UQ4j9eVTn2n2qtfdkbrA3ZFECYzjjfcSZUQ==","shasum":"dad979390fae76600c616210940c30b433af6127","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.76.0.tgz","fileCount":509,"unpackedSize":1982769,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCOPAO+uraQoYfPDmYOm8TunX565c/+GDQ8HNUJqmCVzAIgU/qM8M8+re3INYnsuuaKAtStMl7tB9QLFu0EUFXJWAk="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjQBFxACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqkqxAAk60ZimgR1bws0SM/W0RlNbp1gTRBhzXIOS8dh2NAi1FdaNsj\r\nwZiK1imt5+ozCjIaHt0AautMI6uNhF9W9fT3lobEZZNI7FWzLDnDImi0McPD\r\nNVt95YfI5pEYijkLLgIMHn1G6pufcvrR18BZ1IzZjeydJfxKs7Z6uOeeobLg\r\nwlbM2YqZQOOI4niLqyLbkYa1tlRoEiqdq3hMyI0MplrZWycqIp1bMi31fT4F\r\ncUlH7kp2AIUM1CwMKFftwMi257wsJn7yohEEjuuxD35lc67cRJtr6nEpXNq9\r\nsWw+OafnJs2Is+HWZL6ABZLxzj2MvRPfw7f8b21n7nwWZhu4J25+IyvKRKEY\r\npOqqrrereBprzb1xxPyD5UKs+5HAOAOtTUg2q7ENPV1B2/uNc+QOWBweZOKC\r\nxst3alNXhfrLZ1xxtu9w6VEYOvWV0MvndUML2DV/y0RhzUdLNgFW+WM1YHm3\r\nLRtXqlhhM7oJ5rhkKvRGgLxr4epbrNOagffXinH4zMFJ4gou2hZCWzbZbXsz\r\nm8GLPDgYyaV/kva93iTbck2c+Mj4uAD4TrGXmqVLEp37o2S2tJgwMLdLEM/5\r\nfO+j4Pku9XhiFNdlm2o8BA1f5G5Yw3lSGafGmGm0cjkwFMZ+6JVKB/5MBAMo\r\niIILyb6WKi1FpSKkewbr+QVHYi0Fv4bTSw4=\r\n=RPcx\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.76.0_1665143152958_0.7375748687484176"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.77.0":{"name":"@pankod/refine-core","version":"3.77.0","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --format esm,cjs,iife --legacy-output","build":"tsup --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0","@types/react":"^17.0.0 || ^18.0.0","@types/react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.16.4","@testing-library/react":"^13.1.1","@testing-library/react-hooks":"^8.0.0","@testing-library/user-event":"^14.1.1","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^18.0.0","@types/react-dom":"^18.0.0","@types/react-router-dom":"^5.1.8","@types/testing-library__jest-dom":"^5.14.3","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"6.3.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.7.4"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","lodash-es":"^4.17.21","lodash":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","@tanstack/react-query-devtools":"^4.10.1","@tanstack/react-query":"^4.10.1","tslib":"^2.3.1","warn-once":"^0.1.0"},"repository":{"type":"git","url":"git+https://github.com/pankod/refine.git","directory":"packages/core"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"17dd5af3e4c9f7f09e1e707362c6f5a9d1cab8a8","publishConfig":{"access":"public"},"readme":"<div align=\"center\" style=\"margin: 30px;\">\n<a href=\"https://refine.dev/\">\n  <img src=\"https://raw.githubusercontent.com/pankod/refine/master/logo.png\"   style=\"width:250px;\" align=\"center\" />\n</a>\n<br />\n<br />\n\n<div align=\"center\">\n    <a href=\"https://refine.dev\">Home Page</a> |\n    <a href=\"https://refine.dev/demo/\">Demo</a> | \n    <a href=\"https://refine.dev/blog/\">Blog</a> | \n    <a href=\"https://refine.dev/docs/\">Documentation</a> | \n    <a href=\"https://github.com/pankod/refine/projects/1\">Roadmap</a> | \n    <a href=\"https://refine.dev/docs/examples/tutorial/\">Examples</a> | \n    <a href=\"https://refine.dev/enterprise/\">Enterprise</a> | \n    <a href=\"https://discord.gg/refine\">Discord</a>\n</div>\n\n</div>\n<br/>\n\n<div align=\"center\"><strong>Build your <a href=\"https://reactjs.org/\">React</a>-based CRUD applications, without constraints.</strong><br>Open source, headless web application framework developed with flexibility in mind.</div>\n\n<br />\n\n<div align=\"center\">\n\n[![Discord](https://img.shields.io/discord/837692625737613362.svg?label=&logo=discord&logoColor=ffffff&color=7389D8&labelColor=6A7EC2)](https://discord.gg/refine)\n[![Twitter Follow](https://img.shields.io/twitter/follow/refine_dev?style=social)](https://twitter.com/refine_dev)\n\n<a href=\"https://www.producthunt.com/posts/refine-3?utm_source=badge-featured&utm_medium=badge&utm_souce=badge-refine&#0045;3\" target=\"_blank\"><img src=\"https://api.producthunt.com/widgets/embed-image/v1/featured.svg?post_id=362220&theme=light\" alt=\"refine - 100&#0037;&#0032;open&#0032;source&#0032;React&#0032;framework&#0046;&#0032;Build&#0032;web&#0032;apps&#0032;3x&#0032;faster&#0046; | Product Hunt\" style=\"width: 250px; height: 54px;\" width=\"250\" height=\"54\" /></a>\n\n[![Meercode CI Score](https://meercode.io/badge/pankod/refine?type=ci-score&branch=master&token=2ZiT8YsoJgt57JB23NYwXrFY3rJHZboT&lastDay=31)](https://meercode.io/)\n[![Meercode CI Success Rate](https://meercode.io/badge/pankod/refine?type=ci-success-rate&branch=master&token=2ZiT8YsoJgt57JB23NYwXrFY3rJHZboT&lastDay=31)](https://meercode.io/)\n[![Maintainability](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/maintainability)](https://codeclimate.com/github/pankod/refine/maintainability)\n[![Test Coverage](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/test_coverage)](https://codeclimate.com/github/pankod/refine/test_coverage)\n[![npm version](https://img.shields.io/npm/v/@pankod/refine-core.svg)](https://www.npmjs.com/package/@pankod/refine-core)\n[![npm](https://img.shields.io/npm/dm/@pankod/refine-core)](https://www.npmjs.com/package/@pankod/refine-core)\n[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.0-4baaaa.svg)](code_of_conduct.md)\n</div>\n\n<div align=\"center\" style=\"margin: 30px;\">\n  <img src=\"https://github.com/pankod/refine/blob/master/documentation/static/img/refine-promo-gif.gif?raw=true\" style=\"width:688px;\"/>\n</div>\n\n\n## What is refine?\n**refine** is a React-based framework for rapid ✨ development of web applications. \nIt eliminates the repetitive tasks demanded by **CRUD** operations and provides industry standard solutions for critical parts like **authentication**, **access control**, **routing**, **networking**, **state management** and **i18n**.\n\n**refine** is *headless by design* offering unlimited styling and customization options. \n\n## What do you mean by \"headless\" ?\nInstead of being a limited set of pre-styled components, **refine** is a collection of helper `hooks`, `components` and `providers`. They are all decoupled from your *UI components* and *business logic*, so they never keep you from customizing your *UI* or coding your own flow.\n\n**refine** seamlessly works with any **custom design** or **UI framework you favor**. For convenience, it ships with ready-made integrations for [Ant Design System](https://ant.design/), [Material UI](https://mui.com/), and [Mantine](https://mantine.dev/).\n\n## Use cases\n**refine** shines on *data-intensive* applications like *admin panels*, *dashboards* and *internal tools*. Thanks to built-in **SSR support**, **refine** can also power *customer-facing* applications like *storefronts*.\n\n## Key Features\n\n⚙️ Zero-config, **one-minute setup** with a **single CLI command**\n\n🔌 Connectors for **15+ backend services** including [REST API](https://github.com/pankod/refine/tree/master/packages/simple-rest), [GraphQL](https://github.com/pankod/refine/tree/master/packages/graphql), [NestJs CRUD](https://github.com/pankod/refine/tree/master/packages/nestjsx-crud), [Airtable](https://github.com/pankod/refine/tree/master/packages/airtable), [Strapi](https://github.com/pankod/refine/tree/master/packages/strapi), [Strapi v4](https://github.com/pankod/refine/tree/master/packages/strapi-v4), [Strapi GraphQL](https://github.com/pankod/refine/tree/master/packages/strapi-graphql), [Supabase](https://github.com/pankod/refine/tree/master/packages/supabase), [Hasura](https://github.com/pankod/refine/tree/master/packages/hasura), [Nhost](https://github.com/pankod/refine/tree/master/packages/nhost), [Appwrite](https://github.com/pankod/refine/tree/master/packages/appwrite), [Firebase](https://firebase.google.com/), [Directus](https://directus.io/) and [Altogic](https://github.com/pankod/refine/tree/master/packages/altogic)\n\n🌐 **SSR support** with **Next.js** or **Remix**\n\n⚛ Perfect **state management** & **mutations** with **React Query**\n\n🔀 **Advanced routing** with any router library of your choice\n\n🔐 Providers for seamless **authentication** and **access control** flows\n\n⚡ Out-of-the-box support for **live / real-time applications**\n\n📄 Easy **audit logs** &** **document versioning**\n\n💬 Support for any **i18n** framework\n\n💪 Future-proof, **robust architecture**\n\n✅ Full **test coverage**\n\n## Quick Start\n\nThe fastest way to get started with **refine** is using the [superplate](https://github.com/pankod/superplate) project starter tool.\nRun the following command to create a new **refine** project configured with  [Ant Design System](https://ant.design/) as the default UI framework:\n\n```\nnpx superplate-cli --preset refine-antd my-project\n```\n\nOnce the setup is complete, navigate to the project folder and start your project with:\n\n```\nnpm run dev\n```\n\nYour **refine** application will be accessible at [http://localhost:3000](http://localhost:3000):\n![Welcome on board](https://github.com/pankod/refine/blob/master/documentation/static/img/welcome-on-board.png?raw=true)\nLet's consume a public `fake REST API` and add two resources (*posts*, *categories*) to our project. Replace the contents of `src/App.tsx` with the following code:\n\n```tsx title=\"src/App.tsx\"\n\nimport { Refine, useMany } from \"@pankod/refine-core\";\nimport {\n    useTable,\n    List,\n    Table,\n    DateField,\n    Layout,\n    ReadyPage,\n    notificationProvider,\n    ErrorComponent,\n} from \"@pankod/refine-antd\";\nimport routerProvider from \"@pankod/refine-react-router-v6\";\nimport dataProvider from \"@pankod/refine-simple-rest\";\n\nimport \"@pankod/refine-antd/dist/styles.min.css\";\n\nconst App: React.FC = () => {\n    return (\n        <Refine\n            routerProvider={routerProvider}\n            dataProvider={dataProvider(\"https://api.fake-rest.refine.dev\")}\n            resources={[{ name: \"posts\", list: PostList }]}\n            Layout={Layout}\n            ReadyPage={ReadyPage}\n            notificationProvider={notificationProvider}\n            catchAll={<ErrorComponent />}\n        />\n    );\n};\n\nexport const PostList: React.FC = () => {\n    const { tableProps } = useTable<IPost>();\n\n    const categoryIds =\n        tableProps?.dataSource?.map((item) => item.category.id) ?? [];\n\n    const { data, isLoading } = useMany<ICategory>({\n        resource: \"categories\",\n        ids: categoryIds,\n        queryOptions: {\n            enabled: categoryIds.length > 0,\n        },\n    });\n\n    return (\n        <List>\n            <Table<IPost> {...tableProps} rowKey=\"id\">\n                <Table.Column dataIndex=\"title\" title=\"title\" />\n                <Table.Column\n                    dataIndex={[\"category\", \"id\"]}\n                    title=\"category\"\n                    render={(value: number) => {\n                        if (isLoading) {\n                            return \"loading...\";\n                        }\n\n                        return data?.data.find(\n                            (item: ICategory) => item.id === value,\n                        )?.title;\n                    }}\n                />\n                <Table.Column\n                    dataIndex=\"createdAt\"\n                    title=\"createdAt\"\n                    render={(value) => <DateField format=\"LLL\" value={value} />}\n                />\n            </Table>\n        </List>\n    );\n};\n\nexport default App;\n\ninterface IPost {\n  title: string;\n  createdAt: string;\n  category: { id: number };\n}\n\ninterface ICategory {\n  id: number;\n  title: string;\n}\n\n```\n\nNow, you should see the output as a table populated with `post` & `category` data:\n![First example result](https://github.com/pankod/refine/blob/master/documentation/static/img/first-example-result.png?raw=true)\n## Next Steps\n\n👉 Jump to [Refine<>Ant Design Tutorial](https://refine.dev/docs/ui-frameworks/antd/tutorial/) to continue your work and turn the example into a full-blown CRUD application.\n\n👉 Check out the [Refine<>Tailwind Tutorial](https://refine.dev/docs/ui-frameworks/antd/tutorial/) to learn how to use **refine** in a pure *headless* way.\n\n👉 Visit [Learn the Basics Page](https://refine.dev/docs/getting-started/overview/) to get informed about the fundemental concepts.\n\n👉 Read more on [Guides & Concepts](https://refine.dev/docs/guides-and-concepts/access-control/) for different usage scenarios.\n\n👉 See the real-life [Finefoods Demo](https://refine.dev/demo/) project.\n\n👉 Play with interactive [Examples](https://refine.dev/docs/examples/)\n\n## Roadmap\nYou can find refine's <a href=\"https://github.com/pankod/refine/projects/1\">Public Roadmap here!</a> \n\n## Stargazers\n\n[![Stargazers repo roster for pankod/refine](https://reporoster.com/stars/pankod/refine)](https://github.com/pankod/refine/stargazers)\n\n## Contribution\n\nIf you have a bug to report, do not hesitate to file an issue.\n\nIf you are willing to fix an issue or propose a feature; all PRs with clear explanations are welcome and encouraged.\n\n## License\n\nLicensed under the MIT License, Copyright © 2021-present Pankod\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/pankod/refine/issues"},"homepage":"https://github.com/pankod/refine#readme","_id":"@pankod/refine-core@3.77.0","_nodeVersion":"16.17.1","_npmVersion":"8.15.0","dist":{"integrity":"sha512-uJXEafMtAHotHdFGkRtR6/atdx5wsb8PrTYh1sma3D9piN9CqNbiP6LZPYHjxqPtsHY1G5psEKeV01mIMv8bCA==","shasum":"3409087ad50de21f25ae4de28ffbc241383f8579","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.77.0.tgz","fileCount":509,"unpackedSize":1984681,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAoaC+q7UZgGdUPfVZ0f1ux2DRv8eDMT/Bxnn4f+MDb7AiEAraFOOU1f4h1dvufGP46aikWcjpU69N51OI5Xrkc+Hgw="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjQC78ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmqyig//cgv2mgH+OcDdgVTSOPXanY7/VeDDVD/rj2Ilr59SbhbapSxe\r\nty1U9IGPCIGRWCNjZWp6iUSVd/+ufOE5XR5v30pWNZW3bPqvhNsJeebnqmru\r\nWfdd2xBUZ1owt6rxr4hoZ4JcWWUhYTZQBC4GkXM43D03o7/BPW0U7HsZ3Gwh\r\nTwpksFVkcLauQEU6H2OTMNo/qZrL+Le4SHFP8od1lssJSSaZrHEYWJ+ftAt/\r\nGyQXjeZ3VlvkRYKSr/gLnxHw/3NmDnB0OfW474NXTEn+ggmdp3MqOKai2o6v\r\nlCd09DXpBCDfLHSQJYfol96LPJDEI+wn8uYYW999gRoNfPqxHMpDPuTdlX6p\r\ne9466jJepudgWsHjxt5dsIXT43AL9B/Ptnk5aWjMNVcuuoxrZ0BvMEkpg5Od\r\nc1A3r8pi7KUVL6Q6TecXrZD2xCQkKcwM//utSJ7tn58uwdZb4xOsAlhKgakQ\r\nMrv59ZMiu5zFC55Ay//MmIkB2BfEcX3xFXe6pr4L6Oph9aASr1YSUBZ9BFIa\r\n8lcy8rbeilG+PgxoqYF2BQ4Yq0yAgSF52YjMwSUvgTXvliX5A5HmCw3wTqVV\r\n2YKIKQdpTfedsdlrq4yqxS+0BIEOyfQ1JBpuQBnZMbJOgTY4BLwVJ49Te8Qt\r\nQFXABL2CiNWpQ5oym2iCGC62/KdDuF79QOw=\r\n=T01h\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.77.0_1665150716570_0.7353851940489908"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.78.0":{"name":"@pankod/refine-core","version":"3.78.0","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --format esm,cjs,iife --legacy-output","build":"tsup --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0","@types/react":"^17.0.0 || ^18.0.0","@types/react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.16.4","@testing-library/react":"^13.1.1","@testing-library/react-hooks":"^8.0.0","@testing-library/user-event":"^14.1.1","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^18.0.0","@types/react-dom":"^18.0.0","@types/react-router-dom":"^5.1.8","@types/testing-library__jest-dom":"^5.14.3","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"6.3.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.7.4"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","lodash-es":"^4.17.21","lodash":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","@tanstack/react-query-devtools":"^4.10.1","@tanstack/react-query":"^4.10.1","tslib":"^2.3.1","warn-once":"^0.1.0"},"repository":{"type":"git","url":"git+https://github.com/pankod/refine.git","directory":"packages/core"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"17dd5af3e4c9f7f09e1e707362c6f5a9d1cab8a8","publishConfig":{"access":"public"},"bugs":{"url":"https://github.com/pankod/refine/issues"},"homepage":"https://github.com/pankod/refine#readme","_id":"@pankod/refine-core@3.78.0","_nodeVersion":"16.17.1","_npmVersion":"8.15.0","dist":{"integrity":"sha512-TvUKJqJQW50xbcTreTB/3lHCmDs5QtXk7GTX/LOO7qZoUf7Cfzvthpez4Lo0vTKZz53c2+AeQCdZ2hMp6M9/IQ==","shasum":"efc5823ec1f9a30bf5e46711afceb95b78c13d46","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.78.0.tgz","fileCount":509,"unpackedSize":1985133,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC1kG5syPev1Spnc8xbN0hgqC3VTiJy+GjWA1KcKKR+nQIgBA5s12J0TLpiZcHeinKWuWfiq2cKoWgkCTIbNuuK/q4="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjQDd4ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq0zg//a5G9UJ3dJs3Ur9sW+RPTIYADP/5mLlcFGnHeIF4bQlmBYvZx\r\nKmWZ/gRSZKiFa4a2JBWfq7GZwzHbhhn/CB2V+0uB1qGSHuHw3UsmeYO/I/xv\r\nwGfQ3XSehcLvYSvty53QnKB6k5Ti1h+5fFwIWaybzmn9jt9Qr5nZgcM7A/b0\r\nPDpHL/3aLlY5g37TroaZBq/cJJM0Bzp/Uy/sDVMwaeqOnc2BLq18dQ+jVvPg\r\nqH0thnldsspGtWPbwSsjRJzOiqeai4PoiQUKSYFIwnYqYCTGa10TuxUYhwgu\r\nu1q3v/3oL6FLjwOgS/Hr88InGeIIzzo9HYfU9czKzcR1n/+AIertuUCcRqn2\r\ntnI0KCp1xD5hbcfcT7WAxE+ZNTd8c8vmXQqBCu7Pqcj60qKa3gvmg7KdG8J1\r\n00pJqXoGFZTzRt1A4x0viVOwIIZFAeU8fgMBAZk8+xRJP7QOdEo154DeSR+M\r\nGSTynzZeGHDaoaiAUkROyeSeBfDOGOZKxQk8eQVlRTz199WXZlmLzH53Q6Qa\r\nM/CdARXQ06/GTCufpI8frS/CYW4ZaeEtPSlNSVzutF8igoDi2WVOUPU9XEao\r\ntdPRqV2BHGyR8ubm6vNcQ6jXd87d3zTUrJ/b/uNyhZKhLRf0QjO//toN1C3r\r\ngPb53LWxsPhbmFVR1Tkg4vI8aD1f7GYSg+M=\r\n=leS1\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.78.0_1665152888263_0.9554009125155032"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.79.0":{"name":"@pankod/refine-core","version":"3.79.0","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --format esm,cjs,iife --legacy-output","build":"tsup --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0","@types/react":"^17.0.0 || ^18.0.0","@types/react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.16.4","@testing-library/react":"^13.1.1","@testing-library/react-hooks":"^8.0.0","@testing-library/user-event":"^14.1.1","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^18.0.0","@types/react-dom":"^18.0.0","@types/react-router-dom":"^5.1.8","@types/testing-library__jest-dom":"^5.14.3","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"6.3.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.7.4"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","lodash-es":"^4.17.21","lodash":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","@tanstack/react-query-devtools":"^4.10.1","@tanstack/react-query":"^4.10.1","tslib":"^2.3.1","warn-once":"^0.1.0"},"repository":{"type":"git","url":"git+https://github.com/pankod/refine.git","directory":"packages/core"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"17dd5af3e4c9f7f09e1e707362c6f5a9d1cab8a8","publishConfig":{"access":"public"},"readme":"<div align=\"center\" style=\"margin: 30px;\">\n<a href=\"https://refine.dev/\">\n  <img src=\"https://raw.githubusercontent.com/pankod/refine/master/logo.png\"   style=\"width:250px;\" align=\"center\" />\n</a>\n<br />\n<br />\n\n<div align=\"center\">\n    <a href=\"https://refine.dev\">Home Page</a> |\n    <a href=\"https://refine.dev/demo/\">Demo</a> | \n    <a href=\"https://refine.dev/blog/\">Blog</a> | \n    <a href=\"https://refine.dev/docs/\">Documentation</a> | \n    <a href=\"https://github.com/pankod/refine/projects/1\">Roadmap</a> | \n    <a href=\"https://refine.dev/docs/examples/tutorial/\">Examples</a> | \n    <a href=\"https://refine.dev/enterprise/\">Enterprise</a> | \n    <a href=\"https://discord.gg/refine\">Discord</a>\n</div>\n\n</div>\n<br/>\n\n<div align=\"center\"><strong>Build your <a href=\"https://reactjs.org/\">React</a>-based CRUD applications, without constraints.</strong><br>Open source, headless web application framework developed with flexibility in mind.</div>\n\n<br />\n\n<div align=\"center\">\n\n[![Discord](https://img.shields.io/discord/837692625737613362.svg?label=&logo=discord&logoColor=ffffff&color=7389D8&labelColor=6A7EC2)](https://discord.gg/refine)\n[![Twitter Follow](https://img.shields.io/twitter/follow/refine_dev?style=social)](https://twitter.com/refine_dev)\n\n<a href=\"https://www.producthunt.com/posts/refine-3?utm_source=badge-top-post-badge&utm_medium=badge&utm_souce=badge-refine&#0045;3\" target=\"_blank\"><img src=\"https://api.producthunt.com/widgets/embed-image/v1/top-post-badge.svg?post_id=362220&theme=light&period=daily\" alt=\"refine - 100&#0037;&#0032;open&#0032;source&#0032;React&#0032;framework&#0032;to&#0032;build&#0032;web&#0032;apps&#0032;3x&#0032;faster | Product Hunt\" style=\"width: 250px; height: 54px;\" width=\"250\" height=\"54\" /></a>\n\n[![Maintainability](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/maintainability)](https://codeclimate.com/github/pankod/refine/maintainability)\n[![Test Coverage](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/test_coverage)](https://codeclimate.com/github/pankod/refine/test_coverage)\n[![npm version](https://img.shields.io/npm/v/@pankod/refine-core.svg)](https://www.npmjs.com/package/@pankod/refine-core)\n[![npm](https://img.shields.io/npm/dm/@pankod/refine-core)](https://www.npmjs.com/package/@pankod/refine-core)\n[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.0-4baaaa.svg)](code_of_conduct.md)\n</div>\n\n<div align=\"center\" style=\"margin: 30px;\">\n  <img src=\"https://github.com/pankod/refine/blob/master/documentation/static/img/refine-promo-gif.gif?raw=true\" style=\"width:688px;\"/>\n</div>\n\n\n## What is refine?\n**refine** is a React-based framework for rapid ✨ development of web applications. \nIt eliminates the repetitive tasks demanded by **CRUD** operations and provides industry standard solutions for critical parts like **authentication**, **access control**, **routing**, **networking**, **state management** and **i18n**.\n\n**refine** is *headless by design* offering unlimited styling and customization options. \n\n## What do you mean by \"headless\" ?\nInstead of being a limited set of pre-styled components, **refine** is a collection of helper `hooks`, `components` and `providers`. They are all decoupled from your *UI components* and *business logic*, so they never keep you from customizing your *UI* or coding your own flow.\n\n**refine** seamlessly works with any **custom design** or **UI framework you favor**. For convenience, it ships with ready-made integrations for [Ant Design System](https://ant.design/), [Material UI](https://mui.com/), and [Mantine](https://mantine.dev/).\n\n## Use cases\n**refine** shines on *data-intensive* applications like *admin panels*, *dashboards* and *internal tools*. Thanks to built-in **SSR support**, **refine** can also power *customer-facing* applications like *storefronts*.\n\n## Key Features\n\n⚙️ Zero-config, **one-minute setup** with a **single CLI command**\n\n🔌 Connectors for **15+ backend services** including [REST API](https://github.com/pankod/refine/tree/master/packages/simple-rest), [GraphQL](https://github.com/pankod/refine/tree/master/packages/graphql), [NestJs CRUD](https://github.com/pankod/refine/tree/master/packages/nestjsx-crud), [Airtable](https://github.com/pankod/refine/tree/master/packages/airtable), [Strapi](https://github.com/pankod/refine/tree/master/packages/strapi), [Strapi v4](https://github.com/pankod/refine/tree/master/packages/strapi-v4), [Strapi GraphQL](https://github.com/pankod/refine/tree/master/packages/strapi-graphql), [Supabase](https://github.com/pankod/refine/tree/master/packages/supabase), [Hasura](https://github.com/pankod/refine/tree/master/packages/hasura), [Nhost](https://github.com/pankod/refine/tree/master/packages/nhost), [Appwrite](https://github.com/pankod/refine/tree/master/packages/appwrite), [Firebase](https://firebase.google.com/), [Directus](https://directus.io/) and [Altogic](https://github.com/pankod/refine/tree/master/packages/altogic)\n\n🌐 **SSR support** with **Next.js** or **Remix**\n\n⚛ Perfect **state management** & **mutations** with **React Query**\n\n🔀 **Advanced routing** with any router library of your choice\n\n🔐 Providers for seamless **authentication** and **access control** flows\n\n⚡ Out-of-the-box support for **live / real-time applications**\n\n📄 Easy **audit logs** &** **document versioning**\n\n💬 Support for any **i18n** framework\n\n💪 Future-proof, **robust architecture**\n\n✅ Full **test coverage**\n\n## Quick Start\n\nThe fastest way to get started with **refine** is using the [superplate](https://github.com/pankod/superplate) project starter tool.\nRun the following command to create a new **refine** project configured with  [Ant Design System](https://ant.design/) as the default UI framework:\n\n```\nnpx superplate-cli --preset refine-antd my-project\n```\n\nOnce the setup is complete, navigate to the project folder and start your project with:\n\n```\nnpm run dev\n```\n\nYour **refine** application will be accessible at [http://localhost:3000](http://localhost:3000):\n![Welcome on board](https://github.com/pankod/refine/blob/master/documentation/static/img/welcome-on-board.png?raw=true)\nLet's consume a public `fake REST API` and add two resources (*posts*, *categories*) to our project. Replace the contents of `src/App.tsx` with the following code:\n\n```tsx title=\"src/App.tsx\"\n\nimport { Refine, useMany } from \"@pankod/refine-core\";\nimport {\n    useTable,\n    List,\n    Table,\n    DateField,\n    Layout,\n    ReadyPage,\n    notificationProvider,\n    ErrorComponent,\n} from \"@pankod/refine-antd\";\nimport routerProvider from \"@pankod/refine-react-router-v6\";\nimport dataProvider from \"@pankod/refine-simple-rest\";\n\nimport \"@pankod/refine-antd/dist/styles.min.css\";\n\nconst App: React.FC = () => {\n    return (\n        <Refine\n            routerProvider={routerProvider}\n            dataProvider={dataProvider(\"https://api.fake-rest.refine.dev\")}\n            resources={[{ name: \"posts\", list: PostList }]}\n            Layout={Layout}\n            ReadyPage={ReadyPage}\n            notificationProvider={notificationProvider}\n            catchAll={<ErrorComponent />}\n        />\n    );\n};\n\nexport const PostList: React.FC = () => {\n    const { tableProps } = useTable<IPost>();\n\n    const categoryIds =\n        tableProps?.dataSource?.map((item) => item.category.id) ?? [];\n\n    const { data, isLoading } = useMany<ICategory>({\n        resource: \"categories\",\n        ids: categoryIds,\n        queryOptions: {\n            enabled: categoryIds.length > 0,\n        },\n    });\n\n    return (\n        <List>\n            <Table<IPost> {...tableProps} rowKey=\"id\">\n                <Table.Column dataIndex=\"title\" title=\"title\" />\n                <Table.Column\n                    dataIndex={[\"category\", \"id\"]}\n                    title=\"category\"\n                    render={(value: number) => {\n                        if (isLoading) {\n                            return \"loading...\";\n                        }\n\n                        return data?.data.find(\n                            (item: ICategory) => item.id === value,\n                        )?.title;\n                    }}\n                />\n                <Table.Column\n                    dataIndex=\"createdAt\"\n                    title=\"createdAt\"\n                    render={(value) => <DateField format=\"LLL\" value={value} />}\n                />\n            </Table>\n        </List>\n    );\n};\n\nexport default App;\n\ninterface IPost {\n  title: string;\n  createdAt: string;\n  category: { id: number };\n}\n\ninterface ICategory {\n  id: number;\n  title: string;\n}\n\n```\n\nNow, you should see the output as a table populated with `post` & `category` data:\n![First example result](https://github.com/pankod/refine/blob/master/documentation/static/img/first-example-result.png?raw=true)\n## Next Steps\n\n👉 Jump to [Refine<>Ant Design Tutorial](https://refine.dev/docs/ui-frameworks/antd/tutorial/) to continue your work and turn the example into a full-blown CRUD application.\n\n👉 Check out the [Refine<>Tailwind Tutorial](https://refine.dev/docs/ui-frameworks/antd/tutorial/) to learn how to use **refine** in a pure *headless* way.\n\n👉 Visit [Learn the Basics Page](https://refine.dev/docs/getting-started/overview/) to get informed about the fundemental concepts.\n\n👉 Read more on [Guides & Concepts](https://refine.dev/docs/guides-and-concepts/access-control/) for different usage scenarios.\n\n👉 See the real-life [Finefoods Demo](https://refine.dev/demo/) project.\n\n👉 Play with interactive [Examples](https://refine.dev/docs/examples/)\n\n## Roadmap\nYou can find refine's <a href=\"https://github.com/pankod/refine/projects/1\">Public Roadmap here!</a> \n\n## Stargazers\n\n[![Stargazers repo roster for pankod/refine](https://reporoster.com/stars/pankod/refine)](https://github.com/pankod/refine/stargazers)\n\n## Contribution\n\nIf you have a bug to report, do not hesitate to file an issue.\n\nIf you are willing to fix an issue or propose a feature; all PRs with clear explanations are welcome and encouraged.\n\n## License\n\nLicensed under the MIT License, Copyright © 2021-present Pankod\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/pankod/refine/issues"},"homepage":"https://github.com/pankod/refine#readme","_id":"@pankod/refine-core@3.79.0","_nodeVersion":"16.17.1","_npmVersion":"8.15.0","dist":{"integrity":"sha512-qgh2Mye/Ymtv4u8aWSUzwrydLJNU9ra4Lw46dBlk5f9UNNi8+5aLYzIbUHxCQxC4yLV1XNCoH9n4Lv0SGr/0sA==","shasum":"4087bf9347eb242c9b228f65e11e8c8b1bdde97a","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.79.0.tgz","fileCount":512,"unpackedSize":2022473,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD6zgwsdzOeCAzIWB93NZxPMi6sePeNaRQ/52+o4K3OpwIgdCHBfFqreZEVI2ekW6R0ZAKsD0OH2ng+vMW/L92QunA="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjRTHrACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmpfuw//aR1ak/nQkRSV4NNG9gpcEyTwulRwO1oZShL08VI/qpntgILY\r\n6ckOVO0RCwV6UtBlqSSAuCguHByOwgyPSeNyYwRhC3bLufFxfyB/PHZHctNa\r\nZEgqArb1BmLK+CYCUiAdl7PJ6TDgCSH7/MbF9JCCwgGBs08aZfLN55xCkoY6\r\ncE7EGNuNfX59JynEbYgUGo4rwOjFmLukqg7Lbru9BU4FR39L5J1RmHvecYpL\r\nfWcw3SL6hvL64Hb7L4Ua2Ehfq8Nw6pvfmOUr4r+FlANR3hSJtqyNUwzODhS8\r\ngV9jFwarrDWyM7Rgi70xIgnAIBpAx4bfvlYSMLQrwUS2lJ0oAxugVwlGsDct\r\nR/q2XIhF0/2kAoq3I1lMMhzlBZOI8UnckveuAIBTwR8xwFEBieLVE5mzI4bn\r\ny2kY/4Vl9xBRPvh5BPg67fhErhBZhOf9dX2EfA6JeNIxx7pYk7DH+qbkFsAU\r\nXUYIQ3kRwMby3Xau4fXV6rfYUx5DfZ3zw66Q8xC4+Xd8DG7UHgF7uSg84T6f\r\na9tstg4I2CnoMoZBTWQIH8amETZ3/VOzRVdVnJPSPJjxWZe6eQnu4cXCJ8/H\r\nPBZG6d6lS2CRsFa1lSPcu0ySHs1V7ltbcGu5iadY7cuCfuxqAR9QGYjVx2Th\r\nzuDPrFx8QXH+14u1MYH9bkhI5AUr7f3bLWM=\r\n=QQ55\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.79.0_1665479147330_0.8444622178025338"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.80.0":{"name":"@pankod/refine-core","version":"3.80.0","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --format esm,cjs,iife --legacy-output","build":"tsup --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0","@types/react":"^17.0.0 || ^18.0.0","@types/react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.16.4","@testing-library/react":"^13.1.1","@testing-library/react-hooks":"^8.0.0","@testing-library/user-event":"^14.1.1","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^18.0.0","@types/react-dom":"^18.0.0","@types/react-router-dom":"^5.1.8","@types/testing-library__jest-dom":"^5.14.3","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"6.3.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.7.4"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","lodash-es":"^4.17.21","lodash":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","@tanstack/react-query-devtools":"^4.10.1","@tanstack/react-query":"^4.10.1","tslib":"^2.3.1","warn-once":"^0.1.0"},"repository":{"type":"git","url":"git+https://github.com/pankod/refine.git","directory":"packages/core"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"17dd5af3e4c9f7f09e1e707362c6f5a9d1cab8a8","publishConfig":{"access":"public"},"bugs":{"url":"https://github.com/pankod/refine/issues"},"homepage":"https://github.com/pankod/refine#readme","_id":"@pankod/refine-core@3.80.0","_nodeVersion":"16.17.1","_npmVersion":"8.15.0","dist":{"integrity":"sha512-Ca6FxNwNXWAr1ndai7v7iWSHbPrLTnJqdKQ9UOzHYZdwzQyEcKB4h6o54PJdil7AUKdWtdEYyi1vq/h6DVvm7A==","shasum":"3c6fb3e701d82f7794ff3cddf21fb8382232837f","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.80.0.tgz","fileCount":512,"unpackedSize":2023350,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHFgUnbtBi0XMxCIflfS+C1J/0eQfgebGgIYuj5IAqewAiB8nhUEfKah/4kPCk3PSw6NykobM2s2xfSGjIBZmyJwxw=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjRTjqACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoPExAAjLn9ZZKOzPv6DNUxenJDHwhYwxin0DZGTyJ5RRYWYN5XL7jH\r\ng53WjqieK8KVNEBLArcLdRxhBGjBEsXv19BQB30LQxPrBj6balUgEa/JSJen\r\nJaHWDks7wkMwmCisEO816+RP/mRauim9MtIlqPt1WUwzEwHCykcIIN0veYFG\r\nqLXSjw+yWm9JcEVR2bFRvlF/QxYO33OjNWBQn0LF3s+BilhemeeiaFmaXjkn\r\nMED3KWmRSgpuZhwmtSl4Dbwm7M7HwyfdyTWMApyx0sHYkqGxAQAhzGZLz0fj\r\nhNTASSfIv9oVfOz0s0HgcrKSHBnwxKgDvpcPjNn8k6GOqaW8+W/+M5F9Eklm\r\nyGBVew4dz0itCIOjbEDf4qGi2RWO+JfXDTsswQ0bEduR6kRo6mMyDm0mR6uf\r\n8aG1b/wTJYkddlJ04m0hMbvS4/VknK+XBN8bs4moH3qvAG0EBouZJ4NbzklI\r\n5XuoefX6byvi1APjqAb71ybtS8DHxfdbNM3Th2s4ut0KLZKjQpFDNE7/Bhyb\r\nGq8e/CAaEoq2OkVJpYVRIKVrU0ed5DWE4wDLm4mIMkUnrAR7ErVqU6vSHX7f\r\nxQ5O3Db4AoZ+yTa4PMAWcVMi7XsMLBeNZnrKhS9cpk6Zo1VD/RWZaDf6XIrU\r\nClTecPYjmgxgSUR4vj/XfiufSEg3RkXKzPI=\r\n=4bcJ\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.80.0_1665480938597_0.3563876428792905"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.81.0":{"name":"@pankod/refine-core","version":"3.81.0","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --format esm,cjs,iife --legacy-output","build":"tsup --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0","@types/react":"^17.0.0 || ^18.0.0","@types/react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.16.4","@testing-library/react":"^13.1.1","@testing-library/react-hooks":"^8.0.0","@testing-library/user-event":"^14.1.1","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^18.0.0","@types/react-dom":"^18.0.0","@types/react-router-dom":"^5.1.8","@types/testing-library__jest-dom":"^5.14.3","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"6.3.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.7.4"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","lodash-es":"^4.17.21","lodash":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","@tanstack/react-query-devtools":"^4.10.1","@tanstack/react-query":"^4.10.1","tslib":"^2.3.1","warn-once":"^0.1.0"},"repository":{"type":"git","url":"git+https://github.com/pankod/refine.git","directory":"packages/core"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"17dd5af3e4c9f7f09e1e707362c6f5a9d1cab8a8","publishConfig":{"access":"public"},"readme":"<div align=\"center\" style=\"margin: 30px;\">\n<a href=\"https://refine.dev/\">\n  <img src=\"https://raw.githubusercontent.com/pankod/refine/master/logo.png\"   style=\"width:250px;\" align=\"center\" />\n</a>\n<br />\n<br />\n\n<div align=\"center\">\n    <a href=\"https://refine.dev\">Home Page</a> |\n    <a href=\"https://refine.dev/demo/\">Demo</a> | \n    <a href=\"https://refine.dev/blog/\">Blog</a> | \n    <a href=\"https://refine.dev/docs/\">Documentation</a> | \n    <a href=\"https://github.com/pankod/refine/projects/1\">Roadmap</a> | \n    <a href=\"https://refine.dev/docs/examples/tutorial/\">Examples</a> | \n    <a href=\"https://refine.dev/enterprise/\">Enterprise</a> | \n    <a href=\"https://discord.gg/refine\">Discord</a>\n</div>\n\n</div>\n<br/>\n\n<div align=\"center\"><strong>Build your <a href=\"https://reactjs.org/\">React</a>-based CRUD applications, without constraints.</strong><br>Open source, headless web application framework developed with flexibility in mind.</div>\n\n<br />\n\n<div align=\"center\">\n\n[![Discord](https://img.shields.io/discord/837692625737613362.svg?label=&logo=discord&logoColor=ffffff&color=7389D8&labelColor=6A7EC2)](https://discord.gg/refine)\n[![Twitter Follow](https://img.shields.io/twitter/follow/refine_dev?style=social)](https://twitter.com/refine_dev)\n\n<a href=\"https://www.producthunt.com/posts/refine-3?utm_source=badge-top-post-badge&utm_medium=badge&utm_souce=badge-refine&#0045;3\" target=\"_blank\"><img src=\"https://api.producthunt.com/widgets/embed-image/v1/top-post-badge.svg?post_id=362220&theme=light&period=daily\" alt=\"refine - 100&#0037;&#0032;open&#0032;source&#0032;React&#0032;framework&#0032;to&#0032;build&#0032;web&#0032;apps&#0032;3x&#0032;faster | Product Hunt\" style=\"width: 250px; height: 54px;\" width=\"250\" height=\"54\" /></a>\n\n[![Maintainability](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/maintainability)](https://codeclimate.com/github/pankod/refine/maintainability)\n[![Test Coverage](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/test_coverage)](https://codeclimate.com/github/pankod/refine/test_coverage)\n[![npm version](https://img.shields.io/npm/v/@pankod/refine-core.svg)](https://www.npmjs.com/package/@pankod/refine-core)\n[![npm](https://img.shields.io/npm/dm/@pankod/refine-core)](https://www.npmjs.com/package/@pankod/refine-core)\n[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.0-4baaaa.svg)](code_of_conduct.md)\n</div>\n\n<div align=\"center\" style=\"margin: 30px;\">\n  <img src=\"https://github.com/pankod/refine/blob/master/documentation/static/img/refine-promo-gif.gif?raw=true\" style=\"width:688px;\"/>\n</div>\n\n\n## What is refine?\n**refine** is a React-based framework for rapid ✨ development of web applications. \nIt eliminates the repetitive tasks demanded by **CRUD** operations and provides industry standard solutions for critical parts like **authentication**, **access control**, **routing**, **networking**, **state management** and **i18n**.\n\n**refine** is *headless by design* offering unlimited styling and customization options. \n\n## What do you mean by \"headless\" ?\nInstead of being a limited set of pre-styled components, **refine** is a collection of helper `hooks`, `components` and `providers`. They are all decoupled from your *UI components* and *business logic*, so they never keep you from customizing your *UI* or coding your own flow.\n\n**refine** seamlessly works with any **custom design** or **UI framework you favor**. For convenience, it ships with ready-made integrations for [Ant Design System](https://ant.design/), [Material UI](https://mui.com/), and [Mantine](https://mantine.dev/).\n\n## Use cases\n**refine** shines on *data-intensive* applications like *admin panels*, *dashboards* and *internal tools*. Thanks to built-in **SSR support**, **refine** can also power *customer-facing* applications like *storefronts*.\n\n## Key Features\n\n⚙️ Zero-config, **one-minute setup** with a **single CLI command**\n\n🔌 Connectors for **15+ backend services** including [REST API](https://github.com/pankod/refine/tree/master/packages/simple-rest), [GraphQL](https://github.com/pankod/refine/tree/master/packages/graphql), [NestJs CRUD](https://github.com/pankod/refine/tree/master/packages/nestjsx-crud), [Airtable](https://github.com/pankod/refine/tree/master/packages/airtable), [Strapi](https://github.com/pankod/refine/tree/master/packages/strapi), [Strapi v4](https://github.com/pankod/refine/tree/master/packages/strapi-v4), [Strapi GraphQL](https://github.com/pankod/refine/tree/master/packages/strapi-graphql), [Supabase](https://github.com/pankod/refine/tree/master/packages/supabase), [Hasura](https://github.com/pankod/refine/tree/master/packages/hasura), [Nhost](https://github.com/pankod/refine/tree/master/packages/nhost), [Appwrite](https://github.com/pankod/refine/tree/master/packages/appwrite), [Firebase](https://firebase.google.com/), [Directus](https://directus.io/) and [Altogic](https://github.com/pankod/refine/tree/master/packages/altogic)\n\n🌐 **SSR support** with **Next.js** or **Remix**\n\n⚛ Perfect **state management** & **mutations** with **React Query**\n\n🔀 **Advanced routing** with any router library of your choice\n\n🔐 Providers for seamless **authentication** and **access control** flows\n\n⚡ Out-of-the-box support for **live / real-time applications**\n\n📄 Easy **audit logs** &** **document versioning**\n\n💬 Support for any **i18n** framework\n\n💪 Future-proof, **robust architecture**\n\n✅ Full **test coverage**\n\n## Quick Start\n\nThe fastest way to get started with **refine** is using the [superplate](https://github.com/pankod/superplate) project starter tool.\nRun the following command to create a new **refine** project configured with  [Ant Design System](https://ant.design/) as the default UI framework:\n\n```\nnpx superplate-cli --preset refine-antd my-project\n```\n\nOnce the setup is complete, navigate to the project folder and start your project with:\n\n```\nnpm run dev\n```\n\nYour **refine** application will be accessible at [http://localhost:3000](http://localhost:3000):\n![Welcome on board](https://github.com/pankod/refine/blob/master/documentation/static/img/welcome-on-board.png?raw=true)\nLet's consume a public `fake REST API` and add two resources (*posts*, *categories*) to our project. Replace the contents of `src/App.tsx` with the following code:\n\n```tsx title=\"src/App.tsx\"\n\nimport { Refine, useMany } from \"@pankod/refine-core\";\nimport {\n    useTable,\n    List,\n    Table,\n    DateField,\n    Layout,\n    ReadyPage,\n    notificationProvider,\n    ErrorComponent,\n} from \"@pankod/refine-antd\";\nimport routerProvider from \"@pankod/refine-react-router-v6\";\nimport dataProvider from \"@pankod/refine-simple-rest\";\n\nimport \"@pankod/refine-antd/dist/styles.min.css\";\n\nconst App: React.FC = () => {\n    return (\n        <Refine\n            routerProvider={routerProvider}\n            dataProvider={dataProvider(\"https://api.fake-rest.refine.dev\")}\n            resources={[{ name: \"posts\", list: PostList }]}\n            Layout={Layout}\n            ReadyPage={ReadyPage}\n            notificationProvider={notificationProvider}\n            catchAll={<ErrorComponent />}\n        />\n    );\n};\n\nexport const PostList: React.FC = () => {\n    const { tableProps } = useTable<IPost>();\n\n    const categoryIds =\n        tableProps?.dataSource?.map((item) => item.category.id) ?? [];\n\n    const { data, isLoading } = useMany<ICategory>({\n        resource: \"categories\",\n        ids: categoryIds,\n        queryOptions: {\n            enabled: categoryIds.length > 0,\n        },\n    });\n\n    return (\n        <List>\n            <Table<IPost> {...tableProps} rowKey=\"id\">\n                <Table.Column dataIndex=\"title\" title=\"title\" />\n                <Table.Column\n                    dataIndex={[\"category\", \"id\"]}\n                    title=\"category\"\n                    render={(value: number) => {\n                        if (isLoading) {\n                            return \"loading...\";\n                        }\n\n                        return data?.data.find(\n                            (item: ICategory) => item.id === value,\n                        )?.title;\n                    }}\n                />\n                <Table.Column\n                    dataIndex=\"createdAt\"\n                    title=\"createdAt\"\n                    render={(value) => <DateField format=\"LLL\" value={value} />}\n                />\n            </Table>\n        </List>\n    );\n};\n\nexport default App;\n\ninterface IPost {\n  title: string;\n  createdAt: string;\n  category: { id: number };\n}\n\ninterface ICategory {\n  id: number;\n  title: string;\n}\n\n```\n\nNow, you should see the output as a table populated with `post` & `category` data:\n![First example result](https://github.com/pankod/refine/blob/master/documentation/static/img/first-example-result.png?raw=true)\n## Next Steps\n\n👉 Jump to [Refine<>Ant Design Tutorial](https://refine.dev/docs/ui-frameworks/antd/tutorial/) to continue your work and turn the example into a full-blown CRUD application.\n\n👉 Check out the [Refine<>Tailwind Tutorial](https://refine.dev/docs/ui-frameworks/antd/tutorial/) to learn how to use **refine** in a pure *headless* way.\n\n👉 Visit [Learn the Basics Page](https://refine.dev/docs/getting-started/overview/) to get informed about the fundemental concepts.\n\n👉 Read more on [Guides & Concepts](https://refine.dev/docs/guides-and-concepts/access-control/) for different usage scenarios.\n\n👉 See the real-life [Finefoods Demo](https://refine.dev/demo/) project.\n\n👉 Play with interactive [Examples](https://refine.dev/docs/examples/)\n\n## Roadmap\nYou can find refine's <a href=\"https://github.com/pankod/refine/projects/1\">Public Roadmap here!</a> \n\n## Stargazers\n\n[![Stargazers repo roster for pankod/refine](https://reporoster.com/stars/pankod/refine)](https://github.com/pankod/refine/stargazers)\n\n## Contribution\n\nIf you have a bug to report, do not hesitate to file an issue.\n\nIf you are willing to fix an issue or propose a feature; all PRs with clear explanations are welcome and encouraged.\n\n## License\n\nLicensed under the MIT License, Copyright © 2021-present Pankod\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/pankod/refine/issues"},"homepage":"https://github.com/pankod/refine#readme","_id":"@pankod/refine-core@3.81.0","_nodeVersion":"16.17.1","_npmVersion":"8.15.0","dist":{"integrity":"sha512-6YdVVWjuS+efXTUoW8xSj7QKvtjap012O/hv0bngT+S5sfTUaGTlraAbePFmh+aNPbkJm6r9FIgP7bNsmFZ4sg==","shasum":"be29da3373c53f2e0676c4ad1845ca6fe374b2a7","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.81.0.tgz","fileCount":512,"unpackedSize":2026294,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDIPVz2sCyMz9D6oAE56ok7OQU4Rmwtd0ebA3LXRIsmRAiAoju8Jg4tO+aRExmlSQ38vU2yjTTa/fYgQgSgvtfhiPQ=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjRUt6ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr0kw/9Ef0uhIl2ay305RhZ+2R/rUpBl9xN0lzIR3/2sfXq59XTqAxJ\r\n7TyU+waAlkCf3IN3+OP+Zd3UceIHs+ktCgS5XPIwWygs+76tuigfMXrEWsCr\r\nA5iNzWtsVh50WGWZi7/1hrZgXwBqehxNtPKFmp2HuL0eLtiPYkbSZK5GJQj8\r\n4XpEY6sH0Q7bOQr1A7nY5BvDyGuIlgO0b/0KjrMV2V2CtjRW6httbZnM5QUx\r\nrv7XntUQzwk8sgSh/u0eSqInGvD6e7zjyEScurMA0ER55fh4AmC6ZXqQkhS6\r\ndewZxEIG5FzwHd5KhwPjka+U+RL7gBlim+u3NM2Nw0+v+JpVZj2NNEIFsy3L\r\nqaWxEOpEoxOgQwOFpMEKbYb/efbjIGAxBiUjGkvwgV5hBeqOGaCMuxjiJz02\r\n/bq5AHpTgtcXH3xqHDnLRRhgtvvElufXxnMVB6ih8ZxufOEPgHmUkfZlpvDZ\r\nK46D05jbbyYSpYmXHe45kCI8ccrhbhPOFdHlqcw4IfRajLL+uusjYrJstCdl\r\nPxBes33Wn7O0a6V/qsKCFCezujfhG59TMVDet+jCFlaR5DsU1CC4t1oP7VAw\r\n+WZMIQ8UME9AeWXjc+d1ziKAjiVigCmyy+IOeD8vqboKo5dncGsLhckbqseM\r\nAy4w2SacCE8lGeKvt5mZugAZqBICwSj9Z9w=\r\n=S7d9\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.81.0_1665485690124_0.9413071060647193"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.82.0":{"name":"@pankod/refine-core","version":"3.82.0","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --format esm,cjs,iife --legacy-output","build":"tsup --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0","@types/react":"^17.0.0 || ^18.0.0","@types/react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.16.4","@testing-library/react":"^13.1.1","@testing-library/react-hooks":"^8.0.0","@testing-library/user-event":"^14.1.1","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^18.0.0","@types/react-dom":"^18.0.0","@types/react-router-dom":"^5.1.8","@types/testing-library__jest-dom":"^5.14.3","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"6.3.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.7.4"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","lodash-es":"^4.17.21","lodash":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","@tanstack/react-query-devtools":"^4.10.1","@tanstack/react-query":"^4.10.1","tslib":"^2.3.1","warn-once":"^0.1.0"},"repository":{"type":"git","url":"git+https://github.com/pankod/refine.git","directory":"packages/core"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"17dd5af3e4c9f7f09e1e707362c6f5a9d1cab8a8","publishConfig":{"access":"public"},"bugs":{"url":"https://github.com/pankod/refine/issues"},"homepage":"https://github.com/pankod/refine#readme","_id":"@pankod/refine-core@3.82.0","_nodeVersion":"16.17.1","_npmVersion":"8.15.0","dist":{"integrity":"sha512-J97IxhyxINItnE2rQBwpytyIfSvzQOVQWXnpb0z+H8EJ1gNuYOqiFfVkzRHyOdm9mp0IQM5MGHGdEHQUfcQJ7A==","shasum":"dc738e7c953fbc1ff5adf18e8c77c544ab27dc4f","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.82.0.tgz","fileCount":512,"unpackedSize":2026590,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDXEY4kQRCjHBprGyq8PDLTrWeXfT2pCROsEYPFVQFKaAiBL/1JHkphEY5anMYdkpY1aWdIv1luvscIu69qH7cNhSA=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjRVJ7ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqAaQ//WK2IBt+QiLzjYRLaWOltozYuEJz291tDVe+OOQxMI1O/S+ht\r\nGoVRxc3sDdkju9MLA5rfguCaQOsX/HyngzduUK0ZwiAHX50n3QftAZhlNnrV\r\nxCB0zNZF8eD6Jmp0/dfwpEm4xEk5jqfID3UEVuVhAJAy26FFJXgDin+X8MF5\r\ny9omKpVZyjOS0W0eVdA94n08dYbXpK45eAjI+DGaaKVM79LSoZ6GSmYLYGun\r\nKUzrtA99d+kDcTMuHhZrISs0Cg8pD9p6IC7lwec3X1dV7sSo842xbFyFBvAP\r\n0wLTAEC4DTIzzQntZAvpI6rvwrYyrFZrN2xzroaC8L4nsmZoNsgnbLTI9NWE\r\nFhwcl0tU7bG5ElwiMhQDI2pRuQ8uKM1vOkS8yGGJoxwwyN7Bx+f8/ibKBeyk\r\nyz7/OJGT6YhpPHazGGA+eptboFrIoG0ZXNtSpInVbIcD84L5XLSUbF6Qwm+B\r\nBeBolZjeP4zAyMweQ2eFJo4OSmT5oJfxWFTpUJXQRv9B85/eN/pQkxGhRTRv\r\nwW3qhzdn181soTB5Wvxadn+7dFQVdCnR2sRCW4iO2bKV8HfTowlOMv6eIEd5\r\nOxMcaO1Y+dHrc0QpqqJxEmgMkb3BVi5gEFOSKYw4FDHLSXezlh9pjLqH/85k\r\nVz5Oe64lgQz4ISEmyWijb7spTtsr8KBzkyE=\r\n=POSS\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.82.0_1665487483429_0.3815306618008809"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.83.0":{"name":"@pankod/refine-core","version":"3.83.0","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --format esm,cjs,iife --legacy-output","build":"tsup --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0","@types/react":"^17.0.0 || ^18.0.0","@types/react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.16.4","@testing-library/react":"^13.1.1","@testing-library/react-hooks":"^8.0.0","@testing-library/user-event":"^14.1.1","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^18.0.0","@types/react-dom":"^18.0.0","@types/react-router-dom":"^5.1.8","@types/testing-library__jest-dom":"^5.14.3","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"6.3.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.7.4"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","lodash-es":"^4.17.21","lodash":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","@tanstack/react-query-devtools":"^4.10.1","@tanstack/react-query":"^4.10.1","tslib":"^2.3.1","warn-once":"^0.1.0"},"repository":{"type":"git","url":"git+https://github.com/pankod/refine.git","directory":"packages/core"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"17dd5af3e4c9f7f09e1e707362c6f5a9d1cab8a8","publishConfig":{"access":"public"},"readme":"<div align=\"center\" style=\"margin: 30px;\">\n<a href=\"https://refine.dev/\">\n  <img src=\"https://raw.githubusercontent.com/pankod/refine/master/logo.png\"   style=\"width:250px;\" align=\"center\" />\n</a>\n<br />\n<br />\n\n<div align=\"center\">\n    <a href=\"https://refine.dev\">Home Page</a> |\n    <a href=\"https://refine.dev/demo/\">Demo</a> | \n    <a href=\"https://refine.dev/blog/\">Blog</a> | \n    <a href=\"https://refine.dev/docs/\">Documentation</a> | \n    <a href=\"https://github.com/pankod/refine/projects/1\">Roadmap</a> | \n    <a href=\"https://refine.dev/docs/examples/tutorial/\">Examples</a> | \n    <a href=\"https://refine.dev/enterprise/\">Enterprise</a> | \n    <a href=\"https://discord.gg/refine\">Discord</a>\n</div>\n\n</div>\n<br/>\n\n<div align=\"center\"><strong>Build your <a href=\"https://reactjs.org/\">React</a>-based CRUD applications, without constraints.</strong><br>Open source, headless web application framework developed with flexibility in mind.</div>\n\n<br />\n\n<div align=\"center\">\n\n[![Discord](https://img.shields.io/discord/837692625737613362.svg?label=&logo=discord&logoColor=ffffff&color=7389D8&labelColor=6A7EC2)](https://discord.gg/refine)\n[![Twitter Follow](https://img.shields.io/twitter/follow/refine_dev?style=social)](https://twitter.com/refine_dev)\n\n<a href=\"https://www.producthunt.com/posts/refine-3?utm_source=badge-top-post-badge&utm_medium=badge&utm_souce=badge-refine&#0045;3\" target=\"_blank\"><img src=\"https://api.producthunt.com/widgets/embed-image/v1/top-post-badge.svg?post_id=362220&theme=light&period=daily\" alt=\"refine - 100&#0037;&#0032;open&#0032;source&#0032;React&#0032;framework&#0032;to&#0032;build&#0032;web&#0032;apps&#0032;3x&#0032;faster | Product Hunt\" style=\"width: 250px; height: 54px;\" width=\"250\" height=\"54\" /></a>\n\n[![Maintainability](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/maintainability)](https://codeclimate.com/github/pankod/refine/maintainability)\n[![Test Coverage](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/test_coverage)](https://codeclimate.com/github/pankod/refine/test_coverage)\n[![npm version](https://img.shields.io/npm/v/@pankod/refine-core.svg)](https://www.npmjs.com/package/@pankod/refine-core)\n[![npm](https://img.shields.io/npm/dm/@pankod/refine-core)](https://www.npmjs.com/package/@pankod/refine-core)\n[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.0-4baaaa.svg)](code_of_conduct.md)\n</div>\n\n<div align=\"center\" style=\"margin: 30px;\">\n  <img src=\"https://github.com/pankod/refine/blob/master/documentation/static/img/refine-promo-gif.gif?raw=true\" style=\"width:688px;\"/>\n</div>\n\n\n## What is refine?\n**refine** is a React-based framework for rapid ✨ development of web applications. \nIt eliminates the repetitive tasks demanded by **CRUD** operations and provides industry standard solutions for critical parts like **authentication**, **access control**, **routing**, **networking**, **state management** and **i18n**.\n\n**refine** is *headless by design* offering unlimited styling and customization options. \n\n## What do you mean by \"headless\" ?\nInstead of being a limited set of pre-styled components, **refine** is a collection of helper `hooks`, `components` and `providers`. They are all decoupled from your *UI components* and *business logic*, so they never keep you from customizing your *UI* or coding your own flow.\n\n**refine** seamlessly works with any **custom design** or **UI framework you favor**. For convenience, it ships with ready-made integrations for [Ant Design System](https://ant.design/), [Material UI](https://mui.com/), and [Mantine](https://mantine.dev/).\n\n## Use cases\n**refine** shines on *data-intensive* applications like *admin panels*, *dashboards* and *internal tools*. Thanks to built-in **SSR support**, **refine** can also power *customer-facing* applications like *storefronts*.\n\n## Key Features\n\n⚙️ Zero-config, **one-minute setup** with a **single CLI command**\n\n🔌 Connectors for **15+ backend services** including [REST API](https://github.com/pankod/refine/tree/master/packages/simple-rest), [GraphQL](https://github.com/pankod/refine/tree/master/packages/graphql), [NestJs CRUD](https://github.com/pankod/refine/tree/master/packages/nestjsx-crud), [Airtable](https://github.com/pankod/refine/tree/master/packages/airtable), [Strapi](https://github.com/pankod/refine/tree/master/packages/strapi), [Strapi v4](https://github.com/pankod/refine/tree/master/packages/strapi-v4), [Strapi GraphQL](https://github.com/pankod/refine/tree/master/packages/strapi-graphql), [Supabase](https://github.com/pankod/refine/tree/master/packages/supabase), [Hasura](https://github.com/pankod/refine/tree/master/packages/hasura), [Nhost](https://github.com/pankod/refine/tree/master/packages/nhost), [Appwrite](https://github.com/pankod/refine/tree/master/packages/appwrite), [Firebase](https://firebase.google.com/), [Directus](https://directus.io/) and [Altogic](https://github.com/pankod/refine/tree/master/packages/altogic)\n\n🌐 **SSR support** with **Next.js** or **Remix**\n\n⚛ Perfect **state management** & **mutations** with **React Query**\n\n🔀 **Advanced routing** with any router library of your choice\n\n🔐 Providers for seamless **authentication** and **access control** flows\n\n⚡ Out-of-the-box support for **live / real-time applications**\n\n📄 Easy **audit logs** &** **document versioning**\n\n💬 Support for any **i18n** framework\n\n💪 Future-proof, **robust architecture**\n\n✅ Full **test coverage**\n\n## Quick Start\n\nThe fastest way to get started with **refine** is using the [superplate](https://github.com/pankod/superplate) project starter tool.\nRun the following command to create a new **refine** project configured with  [Ant Design System](https://ant.design/) as the default UI framework:\n\n```\nnpx superplate-cli --preset refine-antd my-project\n```\n\nOnce the setup is complete, navigate to the project folder and start your project with:\n\n```\nnpm run dev\n```\n\nYour **refine** application will be accessible at [http://localhost:3000](http://localhost:3000):\n![Welcome on board](https://github.com/pankod/refine/blob/master/documentation/static/img/welcome-on-board.png?raw=true)\nLet's consume a public `fake REST API` and add two resources (*posts*, *categories*) to our project. Replace the contents of `src/App.tsx` with the following code:\n\n```tsx title=\"src/App.tsx\"\n\nimport { Refine, useMany } from \"@pankod/refine-core\";\nimport {\n    useTable,\n    List,\n    Table,\n    DateField,\n    Layout,\n    ReadyPage,\n    notificationProvider,\n    ErrorComponent,\n} from \"@pankod/refine-antd\";\nimport routerProvider from \"@pankod/refine-react-router-v6\";\nimport dataProvider from \"@pankod/refine-simple-rest\";\n\nimport \"@pankod/refine-antd/dist/styles.min.css\";\n\nconst App: React.FC = () => {\n    return (\n        <Refine\n            routerProvider={routerProvider}\n            dataProvider={dataProvider(\"https://api.fake-rest.refine.dev\")}\n            resources={[{ name: \"posts\", list: PostList }]}\n            Layout={Layout}\n            ReadyPage={ReadyPage}\n            notificationProvider={notificationProvider}\n            catchAll={<ErrorComponent />}\n        />\n    );\n};\n\nexport const PostList: React.FC = () => {\n    const { tableProps } = useTable<IPost>();\n\n    const categoryIds =\n        tableProps?.dataSource?.map((item) => item.category.id) ?? [];\n\n    const { data, isLoading } = useMany<ICategory>({\n        resource: \"categories\",\n        ids: categoryIds,\n        queryOptions: {\n            enabled: categoryIds.length > 0,\n        },\n    });\n\n    return (\n        <List>\n            <Table<IPost> {...tableProps} rowKey=\"id\">\n                <Table.Column dataIndex=\"title\" title=\"title\" />\n                <Table.Column\n                    dataIndex={[\"category\", \"id\"]}\n                    title=\"category\"\n                    render={(value: number) => {\n                        if (isLoading) {\n                            return \"loading...\";\n                        }\n\n                        return data?.data.find(\n                            (item: ICategory) => item.id === value,\n                        )?.title;\n                    }}\n                />\n                <Table.Column\n                    dataIndex=\"createdAt\"\n                    title=\"createdAt\"\n                    render={(value) => <DateField format=\"LLL\" value={value} />}\n                />\n            </Table>\n        </List>\n    );\n};\n\nexport default App;\n\ninterface IPost {\n  title: string;\n  createdAt: string;\n  category: { id: number };\n}\n\ninterface ICategory {\n  id: number;\n  title: string;\n}\n\n```\n\nNow, you should see the output as a table populated with `post` & `category` data:\n![First example result](https://github.com/pankod/refine/blob/master/documentation/static/img/first-example-result.png?raw=true)\n## Next Steps\n\n👉 Jump to [Refine<>Ant Design Tutorial](https://refine.dev/docs/ui-frameworks/antd/tutorial/) to continue your work and turn the example into a full-blown CRUD application.\n\n👉 Check out the [Refine<>Tailwind Tutorial](https://refine.dev/docs/ui-frameworks/antd/tutorial/) to learn how to use **refine** in a pure *headless* way.\n\n👉 Visit [Learn the Basics Page](https://refine.dev/docs/getting-started/overview/) to get informed about the fundemental concepts.\n\n👉 Read more on [Guides & Concepts](https://refine.dev/docs/guides-and-concepts/access-control/) for different usage scenarios.\n\n👉 See the real-life [Finefoods Demo](https://refine.dev/demo/) project.\n\n👉 Play with interactive [Examples](https://refine.dev/docs/examples/)\n\n## Roadmap\nYou can find refine's <a href=\"https://github.com/pankod/refine/projects/1\">Public Roadmap here!</a> \n\n## Stargazers\n\n[![Stargazers repo roster for pankod/refine](https://reporoster.com/stars/pankod/refine)](https://github.com/pankod/refine/stargazers)\n\n## Contribution\n\nIf you have a bug to report, do not hesitate to file an issue.\n\nIf you are willing to fix an issue or propose a feature; all PRs with clear explanations are welcome and encouraged.\n\n## License\n\nLicensed under the MIT License, Copyright © 2021-present Pankod\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/pankod/refine/issues"},"homepage":"https://github.com/pankod/refine#readme","_id":"@pankod/refine-core@3.83.0","_nodeVersion":"16.17.1","_npmVersion":"8.15.0","dist":{"integrity":"sha512-Zi7heryTpvcfTsZudWEzqmU9RYrEE9KQL5DhWHICNSR+qB6U3biVDVW7B9eP5D44ThrpQhYknJL5VE6AxI5KEA==","shasum":"1294e7d298092c30bb423b6997df99c0a90204a3","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.83.0.tgz","fileCount":515,"unpackedSize":2031417,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEhS94TyY0wAQzZq+HvUhpo2lAEDb3i8rn5s4vSojF40AiBPCaFkUAamOn0qgl5aDEZ6P7pDlPT/k5oJFfBsonBPgw=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjRomPACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqwHQ//YNAW1GhSPKf2DN8htr19zj7vnAvHkDPEuq9NciSU+A0plXFV\r\nPPNNi8dCBE9bDb1a8UIINK4ZavZhxLbP6MRjfqeeFp0fWzmSWyf6+eZkCXiI\r\nPBW9jaZJIfCDJBM4REwT6gUWUkEAbbdxvTef8lqY/0KSe05PdQR09fUVqifO\r\nM5NeBUSoKyWd6cZvsyEgqf+8TutlJPqLLUV0rJnEoc/54BBL0grV071upSIv\r\nMAXss9FzvXHLhxXpDX90Ux/s5GKSzBsNngFPz8HG9f3Y2azdHVxAVaGUBYa5\r\nfX9awbhtzjSHPraAOMQDbKGLo82T6LYCN6H+prawodD8jTsUziUFRDNqxPuo\r\nfMNq4010wZ+Xz/mNwRt7qHUP/r/+a1iQY8L2IRTwXYQAnvWFLFrbxfwMa8pR\r\nYEENiWPARTwz2S7Kx3egI3qNFvw+4AOGq9QlJtdhWkUGo1wM9heHl6Mp2rKR\r\nXJaOjGwWN4EX+0vt3KGjQfc/q9AOiUK5P62SzqhEi978Mf5XGZ+9W7nEpfQM\r\nm4ynUWoNX/HHdMFAUqLGgX8C2KPNxu8hJoydg84tDQA+obs7ibTWUDcKfq+F\r\nYEjhFKJSmUvanfEsLxJ62bLfSyArhHAGyV7gHt4jPm+PYE2WQ9RgjaXLx4fx\r\nAVo6eyBYQB2zeeTblYGfGqB6h1oV7LKtoMw=\r\n=tSr2\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.83.0_1665567119084_0.9633177464157994"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.84.0":{"name":"@pankod/refine-core","version":"3.84.0","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --format esm,cjs,iife --legacy-output","build":"tsup --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0","@types/react":"^17.0.0 || ^18.0.0","@types/react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.16.4","@testing-library/react":"^13.1.1","@testing-library/react-hooks":"^8.0.0","@testing-library/user-event":"^14.1.1","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^18.0.0","@types/react-dom":"^18.0.0","@types/react-router-dom":"^5.1.8","@types/testing-library__jest-dom":"^5.14.3","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"6.3.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.7.4"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","lodash-es":"^4.17.21","lodash":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","@tanstack/react-query-devtools":"^4.10.1","@tanstack/react-query":"^4.10.1","tslib":"^2.3.1","warn-once":"^0.1.0"},"repository":{"type":"git","url":"git+https://github.com/pankod/refine.git","directory":"packages/core"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"17dd5af3e4c9f7f09e1e707362c6f5a9d1cab8a8","publishConfig":{"access":"public"},"bugs":{"url":"https://github.com/pankod/refine/issues"},"homepage":"https://github.com/pankod/refine#readme","_id":"@pankod/refine-core@3.84.0","_nodeVersion":"16.17.1","_npmVersion":"8.15.0","dist":{"integrity":"sha512-xqpJ4UT6cLp8c4hP11S9dBjYutEUCvVzHOiOCIiV6v1v35cHxCjx/YXO+luflIXUYvnFMjXtk4HwqdapYeq7Wg==","shasum":"1a1d149994ff913985af160f30a0812aea804ac2","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.84.0.tgz","fileCount":515,"unpackedSize":2031978,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCqCVcGTcEJu94PuuH8NPvZVzokPyYHG+33NzGRrjEYowIhAPlA0l0lsaMoIU0bp+7sHKgK+Td/FfzYbNRofTZpYNnF"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjRpH0ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmriuRAAoAYUwz6tfukEa2VzGUwvRikqYZls3+P4Fp9aYNWx8A6cr2sJ\r\n70EXja2iwOOt+eptksVid5ltM9xeL9hUuFI9BKNuZE5yPaBmON5nIxDG79zj\r\nt32iPS6GQ5/fNYDWjz+gDpaLA9p4niWGCmN2XNUSOMfWFSDQXFeUq1pNdxU7\r\npnxycktciWriKMXsSD/2mDDB0AlqqxoKRck1lGICzaaKvgEZWtTOjt1rweni\r\nnEEBBelTiCqCis2zpniMosRafAwGcEY0KeCilrV+PmKDtC97kVJS/+p/B/rv\r\nxR1fOtbuBV+r8IWjuqO9bt50s0jDraIf28Y72EPtakbhJUIkJIOFU09Ipcpp\r\n3BhW83kjo3+JRQB5Qxg94bwJ5wPwWiHcuc2jN0C/10cV3cL2B3SMwAlTPVv9\r\n6l6XusnsfL+f8+VCQzWHEVOfBUNidi9hVlsH8o09LM67hah9QZuzuDG54f1L\r\nxdGlEhHnCIAJaxdHNpJ2BCD9IQFWuw4VMYtkgtNisJehmvALigTY0eYColEJ\r\nWkjXvLxzppBvFkKR8NVIPURDtwsQ4AJHnTWumHlNbUvcyqa+v6adUFNjT68y\r\nC81aAONBRc/0Lb59kymy8l6PPlXp3rgAs+jGF2eeNRKDJa4rCNLKyU2V3a8L\r\ne6AqiiXchOs9R3Q1Jsn08d2ARmSFSrjRBCI=\r\n=qAhd\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.84.0_1665569268504_0.8217329196871155"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.85.0":{"name":"@pankod/refine-core","version":"3.85.0","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --format esm,cjs,iife --legacy-output","build":"tsup --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0","@types/react":"^17.0.0 || ^18.0.0","@types/react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.16.4","@testing-library/react":"^13.1.1","@testing-library/react-hooks":"^8.0.0","@testing-library/user-event":"^14.1.1","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^18.0.0","@types/react-dom":"^18.0.0","@types/react-router-dom":"^5.1.8","@types/testing-library__jest-dom":"^5.14.3","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"6.3.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.7.4"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","lodash-es":"^4.17.21","lodash":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","@tanstack/react-query-devtools":"^4.10.1","@tanstack/react-query":"^4.10.1","tslib":"^2.3.1","warn-once":"^0.1.0"},"repository":{"type":"git","url":"git+https://github.com/pankod/refine.git","directory":"packages/core"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"17dd5af3e4c9f7f09e1e707362c6f5a9d1cab8a8","publishConfig":{"access":"public"},"readme":"<div align=\"center\" style=\"margin: 30px;\">\n<a href=\"https://refine.dev/\">\n  <img src=\"https://raw.githubusercontent.com/pankod/refine/master/logo.png\"   style=\"width:250px;\" align=\"center\" />\n</a>\n<br />\n<br />\n\n<div align=\"center\">\n    <a href=\"https://refine.dev\">Home Page</a> |\n    <a href=\"https://refine.dev/demo/\">Demo</a> | \n    <a href=\"https://refine.dev/blog/\">Blog</a> | \n    <a href=\"https://refine.dev/docs/\">Documentation</a> | \n    <a href=\"https://github.com/pankod/refine/projects/1\">Roadmap</a> | \n    <a href=\"https://refine.dev/docs/examples/tutorial/\">Examples</a> | \n    <a href=\"https://refine.dev/enterprise/\">Enterprise</a> | \n    <a href=\"https://discord.gg/refine\">Discord</a>\n</div>\n\n</div>\n<br/>\n\n<div align=\"center\"><strong>Build your <a href=\"https://reactjs.org/\">React</a>-based CRUD applications, without constraints.</strong><br>Open source, headless web application framework developed with flexibility in mind.</div>\n\n<br />\n\n<div align=\"center\">\n\n[![Discord](https://img.shields.io/discord/837692625737613362.svg?label=&logo=discord&logoColor=ffffff&color=7389D8&labelColor=6A7EC2)](https://discord.gg/refine)\n[![Twitter Follow](https://img.shields.io/twitter/follow/refine_dev?style=social)](https://twitter.com/refine_dev)\n\n<a href=\"https://www.producthunt.com/posts/refine-3?utm_source=badge-top-post-badge&utm_medium=badge&utm_souce=badge-refine&#0045;3\" target=\"_blank\"><img src=\"https://api.producthunt.com/widgets/embed-image/v1/top-post-badge.svg?post_id=362220&theme=light&period=daily\" alt=\"refine - 100&#0037;&#0032;open&#0032;source&#0032;React&#0032;framework&#0032;to&#0032;build&#0032;web&#0032;apps&#0032;3x&#0032;faster | Product Hunt\" style=\"width: 250px; height: 54px;\" width=\"250\" height=\"54\" /></a>\n\n[![Maintainability](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/maintainability)](https://codeclimate.com/github/pankod/refine/maintainability)\n[![Test Coverage](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/test_coverage)](https://codeclimate.com/github/pankod/refine/test_coverage)\n[![npm version](https://img.shields.io/npm/v/@pankod/refine-core.svg)](https://www.npmjs.com/package/@pankod/refine-core)\n[![npm](https://img.shields.io/npm/dm/@pankod/refine-core)](https://www.npmjs.com/package/@pankod/refine-core)\n[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.0-4baaaa.svg)](code_of_conduct.md)\n</div>\n\n<div align=\"center\" style=\"margin: 30px;\">\n  <img src=\"https://github.com/pankod/refine/blob/master/documentation/static/img/refine-promo-gif.gif?raw=true\" style=\"width:688px;\"/>\n</div>\n\n\n## What is refine?\n**refine** is a React-based framework for rapid ✨ development of web applications. \nIt eliminates the repetitive tasks demanded by **CRUD** operations and provides industry standard solutions for critical parts like **authentication**, **access control**, **routing**, **networking**, **state management** and **i18n**.\n\n**refine** is *headless by design* offering unlimited styling and customization options. \n\n## What do you mean by \"headless\" ?\nInstead of being a limited set of pre-styled components, **refine** is a collection of helper `hooks`, `components` and `providers`. They are all decoupled from your *UI components* and *business logic*, so they never keep you from customizing your *UI* or coding your own flow.\n\n**refine** seamlessly works with any **custom design** or **UI framework you favor**. For convenience, it ships with ready-made integrations for [Ant Design System](https://ant.design/), [Material UI](https://mui.com/), and [Mantine](https://mantine.dev/).\n\n## Use cases\n**refine** shines on *data-intensive* applications like *admin panels*, *dashboards* and *internal tools*. Thanks to built-in **SSR support**, **refine** can also power *customer-facing* applications like *storefronts*.\n\n## Key Features\n\n⚙️ Zero-config, **one-minute setup** with a **single CLI command**\n\n🔌 Connectors for **15+ backend services** including [REST API](https://github.com/pankod/refine/tree/master/packages/simple-rest), [GraphQL](https://github.com/pankod/refine/tree/master/packages/graphql), [NestJs CRUD](https://github.com/pankod/refine/tree/master/packages/nestjsx-crud), [Airtable](https://github.com/pankod/refine/tree/master/packages/airtable), [Strapi](https://github.com/pankod/refine/tree/master/packages/strapi), [Strapi v4](https://github.com/pankod/refine/tree/master/packages/strapi-v4), [Strapi GraphQL](https://github.com/pankod/refine/tree/master/packages/strapi-graphql), [Supabase](https://github.com/pankod/refine/tree/master/packages/supabase), [Hasura](https://github.com/pankod/refine/tree/master/packages/hasura), [Nhost](https://github.com/pankod/refine/tree/master/packages/nhost), [Appwrite](https://github.com/pankod/refine/tree/master/packages/appwrite), [Firebase](https://firebase.google.com/), [Directus](https://directus.io/) and [Altogic](https://github.com/pankod/refine/tree/master/packages/altogic)\n\n🌐 **SSR support** with **Next.js** or **Remix**\n\n⚛ Perfect **state management** & **mutations** with **React Query**\n\n🔀 **Advanced routing** with any router library of your choice\n\n🔐 Providers for seamless **authentication** and **access control** flows\n\n⚡ Out-of-the-box support for **live / real-time applications**\n\n📄 Easy **audit logs** &** **document versioning**\n\n💬 Support for any **i18n** framework\n\n💪 Future-proof, **robust architecture**\n\n✅ Full **test coverage**\n\n## Quick Start\n\nThe fastest way to get started with **refine** is using the [superplate](https://github.com/pankod/superplate) project starter tool.\nRun the following command to create a new **refine** project configured with  [Ant Design System](https://ant.design/) as the default UI framework:\n\n```\nnpx superplate-cli --preset refine-antd my-project\n```\n\nOnce the setup is complete, navigate to the project folder and start your project with:\n\n```\nnpm run dev\n```\n\nYour **refine** application will be accessible at [http://localhost:3000](http://localhost:3000):\n![Welcome on board](https://github.com/pankod/refine/blob/master/documentation/static/img/welcome-on-board.png?raw=true)\nLet's consume a public `fake REST API` and add two resources (*posts*, *categories*) to our project. Replace the contents of `src/App.tsx` with the following code:\n\n```tsx title=\"src/App.tsx\"\n\nimport { Refine, useMany } from \"@pankod/refine-core\";\nimport {\n    useTable,\n    List,\n    Table,\n    DateField,\n    Layout,\n    ReadyPage,\n    notificationProvider,\n    ErrorComponent,\n} from \"@pankod/refine-antd\";\nimport routerProvider from \"@pankod/refine-react-router-v6\";\nimport dataProvider from \"@pankod/refine-simple-rest\";\n\nimport \"@pankod/refine-antd/dist/styles.min.css\";\n\nconst App: React.FC = () => {\n    return (\n        <Refine\n            routerProvider={routerProvider}\n            dataProvider={dataProvider(\"https://api.fake-rest.refine.dev\")}\n            resources={[{ name: \"posts\", list: PostList }]}\n            Layout={Layout}\n            ReadyPage={ReadyPage}\n            notificationProvider={notificationProvider}\n            catchAll={<ErrorComponent />}\n        />\n    );\n};\n\nexport const PostList: React.FC = () => {\n    const { tableProps } = useTable<IPost>();\n\n    const categoryIds =\n        tableProps?.dataSource?.map((item) => item.category.id) ?? [];\n\n    const { data, isLoading } = useMany<ICategory>({\n        resource: \"categories\",\n        ids: categoryIds,\n        queryOptions: {\n            enabled: categoryIds.length > 0,\n        },\n    });\n\n    return (\n        <List>\n            <Table<IPost> {...tableProps} rowKey=\"id\">\n                <Table.Column dataIndex=\"title\" title=\"title\" />\n                <Table.Column\n                    dataIndex={[\"category\", \"id\"]}\n                    title=\"category\"\n                    render={(value: number) => {\n                        if (isLoading) {\n                            return \"loading...\";\n                        }\n\n                        return data?.data.find(\n                            (item: ICategory) => item.id === value,\n                        )?.title;\n                    }}\n                />\n                <Table.Column\n                    dataIndex=\"createdAt\"\n                    title=\"createdAt\"\n                    render={(value) => <DateField format=\"LLL\" value={value} />}\n                />\n            </Table>\n        </List>\n    );\n};\n\nexport default App;\n\ninterface IPost {\n  title: string;\n  createdAt: string;\n  category: { id: number };\n}\n\ninterface ICategory {\n  id: number;\n  title: string;\n}\n\n```\n\nNow, you should see the output as a table populated with `post` & `category` data:\n![First example result](https://github.com/pankod/refine/blob/master/documentation/static/img/first-example-result.png?raw=true)\n## Next Steps\n\n👉 Jump to [Refine<>Ant Design Tutorial](https://refine.dev/docs/ui-frameworks/antd/tutorial/) to continue your work and turn the example into a full-blown CRUD application.\n\n👉 Check out the [Refine<>Tailwind Tutorial](https://refine.dev/docs/tutorials/headless-tutorial/) to learn how to use **refine** in a pure *headless* way.\n\n👉 Visit [Learn the Basics Page](https://refine.dev/docs/getting-started/overview/) to get informed about the fundemental concepts.\n\n👉 Read more on [Guides & Concepts](https://refine.dev/docs/guides-and-concepts/access-control/) for different usage scenarios.\n\n👉 See the real-life [Finefoods Demo](https://refine.dev/demo/) project.\n\n👉 Play with interactive [Examples](https://refine.dev/docs/examples/)\n\n## Roadmap\nYou can find refine's <a href=\"https://github.com/pankod/refine/projects/1\">Public Roadmap here!</a> \n\n## Stargazers\n\n[![Stargazers repo roster for pankod/refine](https://reporoster.com/stars/pankod/refine)](https://github.com/pankod/refine/stargazers)\n\n## Contribution\n\nIf you have a bug to report, do not hesitate to file an issue.\n\nIf you are willing to fix an issue or propose a feature; all PRs with clear explanations are welcome and encouraged.\n\n## License\n\nLicensed under the MIT License, Copyright © 2021-present Pankod\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/pankod/refine/issues"},"homepage":"https://github.com/pankod/refine#readme","_id":"@pankod/refine-core@3.85.0","_nodeVersion":"16.17.1","_npmVersion":"8.15.0","dist":{"integrity":"sha512-I+AbzBzPn6mdkwEIS8IHnMM05Mt8iTmw6jkUClgNMMNAEp5VpDLt35OewQoZxUfA8HIUch9vWEUVO9gKOAQqdA==","shasum":"8c3d1c9077ca53b9e807b2670788d6fc73b063e8","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.85.0.tgz","fileCount":515,"unpackedSize":2081584,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCuvkqfKiYSPMYNjVf3ykq4a4By2LhUbh+XRcNvwjoCVAIhAPKckHqJVEgfb8jees5QQgSs9HnPRO0HYjVXw12WHJ2b"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjTUIMACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqOiw//ZV9wLDrVLrDReMquLfPI8K1ipkfo5cePa5GDgzpX7YtXbnbv\r\nrMVSdpicecf9PGlglI7lnPmMsHe3636lkdYgsYxtjirk28dxIUu6OguFxRvc\r\nOOscwRR5KVpN77GQJzKhfAEz2NS9WBrzLPKN9DJs0DgsR38OhuwNPec9fWsB\r\ns0ONmFwN3gl+RTp0m8l8HU0WyQMJ4vmH11s4pKYWK7Q6YBklG2D2n/11jWnO\r\n4MH2NBZ3+a7kKxDzE0uyn0W+044psO9eac84myIWvWmV7Lf8e2Cpl++dSfit\r\ng0JEATDVwTdFZURN6P7w0IGxUyx/ghUdVVKEl67Ef2iRv6i01eq86C08Oj8G\r\nCn7evNQRFOHVZ75Kujpeq3id2oFOyFp/F+suumpFoXqZFugiE2bQz5bjFM0t\r\nPhryQNW4eV7XsxMpq0EH5HE7+IVPNUAbPe93v66Xwx7e7jn1Q81Nn0qPtLHP\r\nixk5/sElK+KGg4lUxVQu9W2SdgxSwLs3A3T4LHfzC2cPe8jk6dQxsavxM4/D\r\nnKwS3kT2KeEv3nYIKGMkJ316VrYBSo0jl1Lz0BG+6ptBCchFrhJTPuZVgtJ1\r\noDPsEiwvaEKQ/6lTuE1SEsjmfeALl/xiC+9eXqckUOJ9++31nzA2YSgVhoAB\r\nuyRS3OKr8CR8un8aiqm5orIo4j2j9vmZZGw=\r\n=ysRB\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.85.0_1666007564248_0.6623008322742612"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.86.0":{"name":"@pankod/refine-core","version":"3.86.0","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --format esm,cjs,iife --legacy-output","build":"tsup --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0","@types/react":"^17.0.0 || ^18.0.0","@types/react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.16.4","@testing-library/react":"^13.1.1","@testing-library/react-hooks":"^8.0.0","@testing-library/user-event":"^14.1.1","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^18.0.0","@types/react-dom":"^18.0.0","@types/react-router-dom":"^5.1.8","@types/testing-library__jest-dom":"^5.14.3","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"6.3.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.7.4"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","lodash-es":"^4.17.21","lodash":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","@tanstack/react-query-devtools":"^4.10.1","@tanstack/react-query":"^4.10.1","tslib":"^2.3.1","warn-once":"^0.1.0"},"repository":{"type":"git","url":"git+https://github.com/pankod/refine.git","directory":"packages/core"},"author":{"name":"Pankod"},"license":"MIT","gitHead":"17dd5af3e4c9f7f09e1e707362c6f5a9d1cab8a8","publishConfig":{"access":"public"},"bugs":{"url":"https://github.com/pankod/refine/issues"},"homepage":"https://github.com/pankod/refine#readme","_id":"@pankod/refine-core@3.86.0","_nodeVersion":"16.17.1","_npmVersion":"8.15.0","dist":{"integrity":"sha512-0GmvhysCWMc4kYX2YWdlixxWGtgmm+nx3I2a9NO7xBZbpaMIIHWUYoGlE3+IOpyzGITXpWKIEmiogPp4GEJ0zg==","shasum":"8e1be596b24ebe80de949ec99ade35458551c476","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.86.0.tgz","fileCount":515,"unpackedSize":2082423,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEIdzApWHuRtDCxTp49wh6WHKbqs5J8kznQ5JemPNuoSAiAW7IXVq7Bl/DTkdTEFb/O+7V8/JtyEqN5SgDA/b1g34w=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjTUkXACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpzoA/+N8DO0tiKL6JSo9vplz6UVzF36ImyRf9EhqD3JT/RJrSGH+hL\r\nbFgKnEEoFHkGpk0j9nJjNaYVHAU4sbcnwP7wC4YG6HqqL98WTgBOPuXO10s1\r\nD2BuR2vBn88yPJtKH/3VIQQ6x4qpMxj2B2xbKmE7p4KHvwljM+SPm9nnJc8B\r\nUBmi3bdFNLf5KtrQS7jqM4xZ27HLxAgl0yfqhiVOD611lFgpYwFOT/VS2fF8\r\n6nBT7vUg+14d9aiOW8TZUxPJ6/+ySjlAcu/ebZhSNYuCAQHTwaRVJBff7AYJ\r\nqNUtkpWXNJjccCWUJWUwdqwdpV3X7JUsK1S7WiCAKlS7VZKOXJyUx1b2gyUH\r\nxRBVpPkwS5Yw6znY/YK+6Ct69hmf42C3sU/j1bFJLJk8FA2+FfSm17wTnfbA\r\n2DpLpRXk5gJD2bg3R7xaKw0KJ4f5CAh7hTPDlmvVXI8+wvgcpTI5tv3zExRt\r\nTM9B3Ck8nRJ+0HDIe+vw5JJ5aLW6yyBpA03UdtSNm5M9Xa9ivmKK7qGGU9+4\r\ngp4tdtXIu5JHTqwqY2CqfZYa8jDLzOCbPrxU/PpRLyHc+onoD6ThdBX44SUu\r\nrhjLV6EYeUSbgxXs1TD4jqGEDdsKTDW4S0uevgBENN35kA3MmZ2OvPHTD6m/\r\nZ/DxUjZVOUyKvW80ojDJPHh6tfaUV1GMqYM=\r\n=Qu6/\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.86.0_1666009367391_0.7324971577867347"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.86.1":{"name":"@pankod/refine-core","version":"3.86.1","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --format esm,cjs,iife --legacy-output","build":"tsup --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0","@types/react":"^17.0.0 || ^18.0.0","@types/react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.16.4","@testing-library/react":"^13.1.1","@testing-library/react-hooks":"^8.0.0","@testing-library/user-event":"^14.1.1","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^18.0.0","@types/react-dom":"^18.0.0","@types/react-router-dom":"^5.1.8","@types/testing-library__jest-dom":"^5.14.3","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"6.3.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.7.4"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","lodash-es":"^4.17.21","lodash":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","@tanstack/react-query-devtools":"^4.10.1","@tanstack/react-query":"^4.10.1","tslib":"^2.3.1","warn-once":"^0.1.0"},"repository":{"type":"git","url":"git+https://github.com/refinedev/refine.git","directory":"packages/core"},"author":{"name":"refine"},"license":"MIT","gitHead":"17dd5af3e4c9f7f09e1e707362c6f5a9d1cab8a8","publishConfig":{"access":"public"},"readme":"<div align=\"center\" style=\"margin: 30px;\">\n<a href=\"https://refine.dev/\">\n  <img src=\"https://raw.githubusercontent.com/refinedev/refine/master/logo.png\"   style=\"width:250px;\" align=\"center\" />\n</a>\n<br />\n<br />\n\n<div align=\"center\">\n    <a href=\"https://refine.dev\">Home Page</a> |\n    <a href=\"https://discord.gg/refine\">Discord</a> |\n    <a href=\"https://refine.dev/examples/\">Examples</a> | \n    <a href=\"https://refine.dev/blog/\">Blog</a> | \n    <a href=\"https://refine.dev/docs/\">Documentation</a> | \n    <a href=\"https://github.com/refinedev/refine/projects/1\">Roadmap</a>\n</div>\n\n</div>\n<br/>\n\n<div align=\"center\"><strong>Build your <a href=\"https://reactjs.org/\">React</a>-based CRUD applications, without constraints.</strong><br>Open source, headless web application framework developed with flexibility in mind.</div>\n\n<br />\n\n<div align=\"center\">\n\n[![Discord](https://img.shields.io/discord/837692625737613362.svg?label=&logo=discord&logoColor=ffffff&color=7389D8&labelColor=6A7EC2)](https://discord.gg/refine)\n[![Twitter Follow](https://img.shields.io/twitter/follow/refine_dev?style=social)](https://twitter.com/refine_dev)\n\n<a href=\"https://www.producthunt.com/posts/refine-3?utm_source=badge-top-post-badge&utm_medium=badge&utm_souce=badge-refine&#0045;3\" target=\"_blank\"><img src=\"https://api.producthunt.com/widgets/embed-image/v1/top-post-badge.svg?post_id=362220&theme=light&period=daily\" alt=\"refine - 100&#0037;&#0032;open&#0032;source&#0032;React&#0032;framework&#0032;to&#0032;build&#0032;web&#0032;apps&#0032;3x&#0032;faster | Product Hunt\" style=\"width: 250px; height: 54px;\" width=\"250\" height=\"54\" /></a>\n\n[![Maintainability](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/maintainability)](https://codeclimate.com/github/pankod/refine/maintainability)\n[![Test Coverage](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/test_coverage)](https://codeclimate.com/github/pankod/refine/test_coverage)\n[![npm version](https://img.shields.io/npm/v/@pankod/refine-core.svg)](https://www.npmjs.com/package/@pankod/refine-core)\n[![npm](https://img.shields.io/npm/dm/@pankod/refine-core)](https://www.npmjs.com/package/@pankod/refine-core)\n[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.0-4baaaa.svg)](code_of_conduct.md)\n</div>\n\n<div align=\"center\" style=\"margin: 30px;\">\n  <img src=\"https://github.com/refinedev/refine/blob/master/documentation/static/img/refine-promo-gif.gif?raw=true\" style=\"width:688px;\"/>\n</div>\n\n\n## What is refine?\n**refine** is a React-based framework for rapid ✨ development of web applications. \nIt eliminates the repetitive tasks demanded by **CRUD** operations and provides industry standard solutions for critical parts like **authentication**, **access control**, **routing**, **networking**, **state management** and **i18n**.\n\n**refine** is *headless by design* offering unlimited styling and customization options. \n\n## What do you mean by \"headless\" ?\nInstead of being a limited set of pre-styled components, **refine** is a collection of helper `hooks`, `components` and `providers`. They are all decoupled from your *UI components* and *business logic*, so they never keep you from customizing your *UI* or coding your own flow.\n\n**refine** seamlessly works with any **custom design** or **UI framework you favor**. For convenience, it ships with ready-made integrations for [Ant Design System](https://ant.design/), [Material UI](https://mui.com/), and [Mantine](https://mantine.dev/).\n\n## Use cases\n**refine** shines on *data-intensive* applications like *admin panels*, *dashboards* and *internal tools*. Thanks to built-in **SSR support**, **refine** can also power *customer-facing* applications like *storefronts*.\n\n## Key Features\n\n⚙️ Zero-config, **one-minute setup** with a **single CLI command**\n\n🔌 Connectors for **15+ backend services** including [REST API](https://github.com/refinedev/refine/tree/master/packages/simple-rest), [GraphQL](https://github.com/refinedev/refine/tree/master/packages/graphql), [NestJs CRUD](https://github.com/refinedev/refine/tree/master/packages/nestjsx-crud), [Airtable](https://github.com/refinedev/refine/tree/master/packages/airtable), [Strapi](https://github.com/refinedev/refine/tree/master/packages/strapi), [Strapi v4](https://github.com/refinedev/refine/tree/master/packages/strapi-v4), [Strapi GraphQL](https://github.com/refinedev/refine/tree/master/packages/strapi-graphql), [Supabase](https://github.com/refinedev/refine/tree/master/packages/supabase), [Hasura](https://github.com/refinedev/refine/tree/master/packages/hasura), [Nhost](https://github.com/refinedev/refine/tree/master/packages/nhost), [Appwrite](https://github.com/refinedev/refine/tree/master/packages/appwrite), [Firebase](https://firebase.google.com/), [Directus](https://directus.io/) and [Altogic](https://github.com/refinedev/refine/tree/master/packages/altogic)\n\n🌐 **SSR support** with **Next.js** or **Remix**\n\n⚛ Perfect **state management** & **mutations** with **React Query**\n\n🔀 **Advanced routing** with any router library of your choice\n\n🔐 Providers for seamless **authentication** and **access control** flows\n\n⚡ Out-of-the-box support for **live / real-time applications**\n\n📄 Easy **audit logs** &** **document versioning**\n\n💬 Support for any **i18n** framework\n\n💪 Future-proof, **robust architecture**\n\n✅ Full **test coverage**\n\n## Quick Start\n\nThe fastest way to get started with **refine** is using the [superplate](https://github.com/pankod/superplate) project starter tool.\nRun the following command to create a new **refine** project configured with  [Ant Design System](https://ant.design/) as the default UI framework:\n\n```\nnpx superplate-cli --preset refine-antd my-project\n```\n\nOnce the setup is complete, navigate to the project folder and start your project with:\n\n```\nnpm run dev\n```\n\nYour **refine** application will be accessible at [http://localhost:3000](http://localhost:3000):\n![Welcome on board](https://github.com/refinedev/refine/blob/master/documentation/static/img/welcome-on-board.png?raw=true)\nLet's consume a public `fake REST API` and add two resources (*posts*, *categories*) to our project. Replace the contents of `src/App.tsx` with the following code:\n\n```tsx title=\"src/App.tsx\"\n\nimport { Refine, useMany } from \"@pankod/refine-core\";\nimport {\n    useTable,\n    List,\n    Table,\n    DateField,\n    Layout,\n    ReadyPage,\n    notificationProvider,\n    ErrorComponent,\n} from \"@pankod/refine-antd\";\nimport routerProvider from \"@pankod/refine-react-router-v6\";\nimport dataProvider from \"@pankod/refine-simple-rest\";\n\nimport \"@pankod/refine-antd/dist/styles.min.css\";\n\nconst App: React.FC = () => {\n    return (\n        <Refine\n            routerProvider={routerProvider}\n            dataProvider={dataProvider(\"https://api.fake-rest.refine.dev\")}\n            resources={[{ name: \"posts\", list: PostList }]}\n            Layout={Layout}\n            ReadyPage={ReadyPage}\n            notificationProvider={notificationProvider}\n            catchAll={<ErrorComponent />}\n        />\n    );\n};\n\nexport const PostList: React.FC = () => {\n    const { tableProps } = useTable<IPost>();\n\n    const categoryIds =\n        tableProps?.dataSource?.map((item) => item.category.id) ?? [];\n\n    const { data, isLoading } = useMany<ICategory>({\n        resource: \"categories\",\n        ids: categoryIds,\n        queryOptions: {\n            enabled: categoryIds.length > 0,\n        },\n    });\n\n    return (\n        <List>\n            <Table<IPost> {...tableProps} rowKey=\"id\">\n                <Table.Column dataIndex=\"title\" title=\"title\" />\n                <Table.Column\n                    dataIndex={[\"category\", \"id\"]}\n                    title=\"category\"\n                    render={(value: number) => {\n                        if (isLoading) {\n                            return \"loading...\";\n                        }\n\n                        return data?.data.find(\n                            (item: ICategory) => item.id === value,\n                        )?.title;\n                    }}\n                />\n                <Table.Column\n                    dataIndex=\"createdAt\"\n                    title=\"createdAt\"\n                    render={(value) => <DateField format=\"LLL\" value={value} />}\n                />\n            </Table>\n        </List>\n    );\n};\n\nexport default App;\n\ninterface IPost {\n  title: string;\n  createdAt: string;\n  category: { id: number };\n}\n\ninterface ICategory {\n  id: number;\n  title: string;\n}\n\n```\n\nNow, you should see the output as a table populated with `post` & `category` data:\n![First example result](https://github.com/refinedev/refine/blob/master/documentation/static/img/first-example-result.png?raw=true)\n## Next Steps\n\n👉 Jump to [Refine<>Ant Design Tutorial](https://refine.dev/docs/ui-frameworks/antd/tutorial/) to continue your work and turn the example into a full-blown CRUD application.\n\n👉 Check out the [Refine<>Tailwind Tutorial](https://refine.dev/docs/tutorials/headless-tutorial/) to learn how to use **refine** in a pure *headless* way.\n\n👉 Visit [Learn the Basics Page](https://refine.dev/docs/getting-started/overview/) to get informed about the fundemental concepts.\n\n👉 Read more on [Guides & Concepts](https://refine.dev/docs/guides-and-concepts/access-control/) for different usage scenarios.\n\n👉 See the real-life [Finefoods Demo](https://refine.dev/demo/) project.\n\n👉 Play with interactive [Examples](https://refine.dev/docs/examples/)\n\n## Roadmap\nYou can find refine's <a href=\"https://github.com/refinedev/refine/projects/1\">Public Roadmap here!</a> \n\n## Stargazers\n\n[![Stargazers repo roster for refinedev/refine](https://reporoster.com/stars/refinedev/refine)](https://github.com/refinedev/refine/stargazers)\n\n## Contribution\n\nIf you have a bug to report, do not hesitate to file an issue.\n\nIf you are willing to fix an issue or propose a feature; all PRs with clear explanations are welcome and encouraged.\n\n## License\n\nLicensed under the MIT License, Copyright © 2021-present refine\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/refinedev/refine/issues"},"homepage":"https://github.com/refinedev/refine#readme","_id":"@pankod/refine-core@3.86.1","_nodeVersion":"16.17.1","_npmVersion":"8.15.0","dist":{"integrity":"sha512-TpCXyY5CSb5GTi2F3N5Bg7edoDN6k7o4BkLhswZVNMOj53a98ebt3LbBeBp9lEW+3hGvmu573SXEzVtAdgLu+w==","shasum":"81af5b95e96b5396f2ce9feecf41dd5320737be3","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.86.1.tgz","fileCount":515,"unpackedSize":2083632,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAm2aVARkoIdAZhIL9lvVlCDklW7zfSN51IB+L+99tAjAiALkaMDQYp7TI53/m0Km5XRawM/GVB/sWJL43ZgEBVYCA=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjUFrXACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpIJQ/+Lz1uQMtDRFYt0J0IfFk+B9NYoWQZD/idBRrmufXy97A5PVuH\r\nwA+gNf41w/usDcYIK6v6khwCkT1dI5hLVOrji6iaZgytVku0Z98ZoFF0Kr0Y\r\nsAbIsYQhwreL5Ay5Ta+SSNnUGSJZNNAbhBwUDTAAAQAVNxnt03nSIE5bwGkU\r\n4y6ZPY92lHPVz7gel8wCqLzITd+4slFw1IZGRsYuBUjSj8u1cnQo2MQYXub/\r\nEY2+4MbnjgCSKplbzHY1+9ZFmIfUJwqkLmx4clymRR9OigWfAVmtTVfhAs08\r\nn9OMqerIi2PBDjMVDuuFMOuD5ByLs9gMYlPSQk30Rq7F6JLqX1SR5pB9TYJa\r\nsr8u5uIwdXUCV1wv9yOHqNc+oEZoZeUKQpiUUocHiCx9FGZJrS7VafdFYCEo\r\n29gh09IZCMzaqO2KjA5ZNdVLD8wt3wNN5SVxDqrZYgw3zDfDXW3S8XZLz669\r\nF5NX8c3GqQk9LjGIsh2k/GZgDVNK1r3iIKdnDeDjcfntQPwjaaBrFnXhYie3\r\n/+IaHY8KuEbzMN+lwpNpNSAAy28fgUYRJE8RpACbS4jF4LK/+V99BXgwSiiR\r\nT5j4FdB3Vvixh4o5lgn9ebLZyldxcmw8rNOk2MPya1534sjsaPbCgGVpCbPv\r\nfcfQGdLKXSNqpPbn1rG+BkRs8hYl5X6dlV4=\r\n=7t8E\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"alicanerdurmaz","email":"alicanerdurmaz@gmail.com"},{"name":"salihozdmr","email":"salihozdemir94@gmail.com"},{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.86.1_1666210518718_0.9265980399909903"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.86.2":{"name":"@pankod/refine-core","version":"3.86.2","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --format esm,cjs,iife --legacy-output","build":"tsup --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0","@types/react":"^17.0.0 || ^18.0.0","@types/react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.16.4","@testing-library/react":"^13.1.1","@testing-library/react-hooks":"^8.0.0","@testing-library/user-event":"^14.1.1","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^18.0.0","@types/react-dom":"^18.0.0","@types/react-router-dom":"^5.1.8","@types/testing-library__jest-dom":"^5.14.3","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"6.3.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.7.4"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","lodash-es":"^4.17.21","lodash":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","@tanstack/react-query-devtools":"^4.10.1","@tanstack/react-query":"^4.10.1","tslib":"^2.3.1","warn-once":"^0.1.0"},"repository":{"type":"git","url":"git+https://github.com/refinedev/refine.git","directory":"packages/core"},"author":{"name":"refine"},"license":"MIT","gitHead":"17dd5af3e4c9f7f09e1e707362c6f5a9d1cab8a8","publishConfig":{"access":"public"},"bugs":{"url":"https://github.com/refinedev/refine/issues"},"homepage":"https://github.com/refinedev/refine#readme","_id":"@pankod/refine-core@3.86.2","_nodeVersion":"16.17.1","_npmVersion":"8.15.0","dist":{"integrity":"sha512-01wWzqFqKNocqsQngxX2mCCsEn+dZkIhgstsUedGf5mgkOeW61OZ54imAByhylWk8gm91rL1BzAiivTUOSb9dA==","shasum":"265d845c0eb0f07e9b7aa7fd6a475861fee5fb12","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.86.2.tgz","fileCount":515,"unpackedSize":2084094,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDJlfg58d8UAmms7WJKiqNsLaI8DtzRqYp9EHdov3N6gQIgXxhxtVslKSODrcHp4bQ0AqZ8psYs59RMGw1a/G6ZS/U="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjUQIVACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrBKg/5APQQuAlOwpqdMtRdjeAoYz0fD7yLYUJy1kqRqxxsrM0B1bXO\r\ntCGyk1Yj2CZR6/3Ve3mVSoX0+ofrd3QYLjFlPJivdZ+GoFnxxhV5MUz7Au4U\r\nWkEncCZU2LWZD7evHWpyGRsToqa8wTYmyg4E2hr+9VSuB3L9fpsAfoZxuh/n\r\nb60Wiax52W1rCRFHcV218azSSwK7qJJiScHgECaqfWmoMs0guPCjEmajFP5T\r\nGYJb6ax1fMZo+D/xciznBcLdGqgrsk9w/Qb3PzGCkLZCn1x6EJxLw6JnEuOz\r\nmtDes+Ky14IEXURWFGf6qHYMX1ZgTwfA6KYU9nKDkzfqMJPP8y+udfpTqCex\r\nYvJzIv7Fpabh0k3vWjPdnmgqHDrIR9Q9t4Yc2JcNcKnJE+X1sN02XEixX/vy\r\nUwY01IQ1Bax0kPc/lEOzZgTh70ufJDC7eckJ/TQ5zdAZodxz4avRIjcnvJ3U\r\n2h05fgjZnUxIff3tb0LKRy49O8Ikw0WA8DYjeDwOxFTyUEA9HNmk/pUk9K+C\r\nzQUEmYJZPbVxmz5nG4FNi9625YnnbT6eCbh6/u14y7Gkwt2px/EOjVbXv2DE\r\nKxFujfa+hgoTQWRv9hJULrypmdzx8owz78OdTK0crgzV7uBq+DzeRiZsbXOS\r\nFmb7qW3tnrvDYi0LijcMXIUCDrRBjddXdDw=\r\n=EJ61\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"alicanerdurmaz","email":"alicanerdurmaz@gmail.com"},{"name":"salihozdmr","email":"salihozdemir94@gmail.com"},{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.86.2_1666253333290_0.6150328846087669"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.87.0":{"name":"@pankod/refine-core","version":"3.87.0","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --format esm,cjs,iife --legacy-output","build":"tsup --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0","@types/react":"^17.0.0 || ^18.0.0","@types/react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.16.4","@testing-library/react":"^13.1.1","@testing-library/react-hooks":"^8.0.0","@testing-library/user-event":"^14.1.1","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^18.0.0","@types/react-dom":"^18.0.0","@types/react-router-dom":"^5.1.8","@types/testing-library__jest-dom":"^5.14.3","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"6.3.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.7.4"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","lodash-es":"^4.17.21","lodash":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","@tanstack/react-query-devtools":"^4.10.1","@tanstack/react-query":"^4.10.1","tslib":"^2.3.1","warn-once":"^0.1.0"},"repository":{"type":"git","url":"git+https://github.com/refinedev/refine.git","directory":"packages/core"},"author":{"name":"refine"},"license":"MIT","gitHead":"17dd5af3e4c9f7f09e1e707362c6f5a9d1cab8a8","publishConfig":{"access":"public"},"readme":"<div align=\"center\" style=\"margin: 30px;\">\n<a href=\"https://refine.dev/\">\n  <img src=\"https://raw.githubusercontent.com/refinedev/refine/master/logo.png\"   style=\"width:250px;\" align=\"center\" />\n</a>\n<br />\n<br />\n\n<div align=\"center\">\n    <a href=\"https://refine.dev\">Home Page</a> |\n    <a href=\"https://discord.gg/refine\">Discord</a> |\n    <a href=\"https://refine.dev/examples/\">Examples</a> | \n    <a href=\"https://refine.dev/blog/\">Blog</a> | \n    <a href=\"https://refine.dev/docs/\">Documentation</a> | \n    <a href=\"https://github.com/refinedev/refine/projects/1\">Roadmap</a>\n</div>\n\n</div>\n<br/>\n\n<div align=\"center\"><strong>Build your <a href=\"https://reactjs.org/\">React</a>-based CRUD applications, without constraints.</strong><br>An Open source, headless web application framework developed with flexibility in mind.</div>\n\n<br />\n\n<div align=\"center\">\n\n[![Discord](https://img.shields.io/discord/837692625737613362.svg?label=&logo=discord&logoColor=ffffff&color=7389D8&labelColor=6A7EC2)](https://discord.gg/refine)\n[![Twitter Follow](https://img.shields.io/twitter/follow/refine_dev?style=social)](https://twitter.com/refine_dev)\n\n<a href=\"https://www.producthunt.com/posts/refine-3?utm_source=badge-top-post-badge&utm_medium=badge&utm_souce=badge-refine&#0045;3\" target=\"_blank\"><img src=\"https://api.producthunt.com/widgets/embed-image/v1/top-post-badge.svg?post_id=362220&theme=light&period=daily\" alt=\"refine - 100&#0037;&#0032;open&#0032;source&#0032;React&#0032;framework&#0032;to&#0032;build&#0032;web&#0032;apps&#0032;3x&#0032;faster | Product Hunt\" style=\"width: 250px; height: 54px;\" width=\"250\" height=\"54\" /></a>\n\n[![Awesome](https://github.com/refinedev/awesome-refine/raw/main/images/badge.svg)](https://github.com/refinedev/awesome-refine)\n[![Maintainability](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/maintainability)](https://codeclimate.com/github/pankod/refine/maintainability)\n[![Test Coverage](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/test_coverage)](https://codeclimate.com/github/pankod/refine/test_coverage)\n[![npm version](https://img.shields.io/npm/v/@pankod/refine-core.svg)](https://www.npmjs.com/package/@pankod/refine-core)\n[![npm](https://img.shields.io/npm/dm/@pankod/refine-core)](https://www.npmjs.com/package/@pankod/refine-core)\n[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.0-4baaaa.svg)](code_of_conduct.md)\n</div>\n\n<div align=\"center\" style=\"margin: 30px;\">\n  <img src=\"https://github.com/refinedev/refine/blob/master/documentation/static/img/refine-promo-gif.gif?raw=true\" style=\"width:688px;\"/>\n</div>\n\n\n## What is refine?\n**refine** is a React-based framework for rapid ✨ development of web applications. \nIt eliminates the repetitive tasks demanded by **CRUD** operations and provides industry standard solutions for critical parts like **authentication**, **access control**, **routing**, **networking**, **state management** and **i18n**.\n\n**refine** is *headless by design* offering unlimited styling and customization options. \n\n## What do you mean by \"headless\" ?\nInstead of being a limited set of pre-styled components, **refine** is a collection of helper `hooks`, `components` and `providers`. They are all decoupled from your *UI components* and *business logic*, so they never keep you from customizing your *UI* or coding your own flow.\n\n**refine** seamlessly works with any **custom design** or **UI framework you favor**. For convenience, it ships with ready-made integrations for [Ant Design System](https://ant.design/), [Material UI](https://mui.com/), and [Mantine](https://mantine.dev/).\n\n## Use cases\n**refine** shines on *data-intensive* applications like *admin panels*, *dashboards* and *internal tools*. Thanks to built-in **SSR support**, **refine** can also power *customer-facing* applications like *storefronts*.\n\n## Key Features\n\n⚙️ Zero-config, **one-minute setup** with a **single CLI command**\n\n🔌 Connectors for **15+ backend services** including [REST API](https://github.com/refinedev/refine/tree/master/packages/simple-rest), [GraphQL](https://github.com/refinedev/refine/tree/master/packages/graphql), [NestJs CRUD](https://github.com/refinedev/refine/tree/master/packages/nestjsx-crud), [Airtable](https://github.com/refinedev/refine/tree/master/packages/airtable), [Strapi](https://github.com/refinedev/refine/tree/master/packages/strapi), [Strapi v4](https://github.com/refinedev/refine/tree/master/packages/strapi-v4), [Strapi GraphQL](https://github.com/refinedev/refine/tree/master/packages/strapi-graphql), [Supabase](https://github.com/refinedev/refine/tree/master/packages/supabase), [Hasura](https://github.com/refinedev/refine/tree/master/packages/hasura), [Nhost](https://github.com/refinedev/refine/tree/master/packages/nhost), [Appwrite](https://github.com/refinedev/refine/tree/master/packages/appwrite), [Firebase](https://firebase.google.com/), [Directus](https://directus.io/) and [Altogic](https://github.com/refinedev/refine/tree/master/packages/altogic)\n\n🌐 **SSR support** with **Next.js** or **Remix**\n\n⚛ Perfect **state management** & **mutations** with **React Query**\n\n🔀 **Advanced routing** with any router library of your choice\n\n🔐 Providers for seamless **authentication** and **access control** flows\n\n⚡ Out-of-the-box support for **live / real-time applications**\n\n📄 Easy **audit logs** &** **document versioning**\n\n💬 Support for any **i18n** framework\n\n💪 Future-proof, **robust architecture**\n\n✅ Full **test coverage**\n\n## Quick Start\n\nThe fastest way to get started with **refine** is using the [superplate](https://github.com/pankod/superplate) project starter tool.\nRun the following command to create a new **refine** project configured with  [Ant Design System](https://ant.design/) as the default UI framework:\n\n```\nnpx superplate-cli --preset refine-antd my-project\n```\n\nOnce the setup is complete, navigate to the project folder and start your project with:\n\n```\nnpm run dev\n```\n\nYour **refine** application will be accessible at [http://localhost:3000](http://localhost:3000):\n![Welcome on board](https://github.com/refinedev/refine/blob/master/documentation/static/img/welcome-on-board.png?raw=true)\nLet's consume a public `fake REST API` and add two resources (*posts*, *categories*) to our project. Replace the contents of `src/App.tsx` with the following code:\n\n```tsx title=\"src/App.tsx\"\n\nimport { Refine, useMany } from \"@pankod/refine-core\";\nimport {\n    useTable,\n    List,\n    Table,\n    DateField,\n    Layout,\n    ReadyPage,\n    notificationProvider,\n    ErrorComponent,\n} from \"@pankod/refine-antd\";\nimport routerProvider from \"@pankod/refine-react-router-v6\";\nimport dataProvider from \"@pankod/refine-simple-rest\";\n\nimport \"@pankod/refine-antd/dist/styles.min.css\";\n\nconst App: React.FC = () => {\n    return (\n        <Refine\n            routerProvider={routerProvider}\n            dataProvider={dataProvider(\"https://api.fake-rest.refine.dev\")}\n            resources={[{ name: \"posts\", list: PostList }]}\n            Layout={Layout}\n            ReadyPage={ReadyPage}\n            notificationProvider={notificationProvider}\n            catchAll={<ErrorComponent />}\n        />\n    );\n};\n\nexport const PostList: React.FC = () => {\n    const { tableProps } = useTable<IPost>();\n\n    const categoryIds =\n        tableProps?.dataSource?.map((item) => item.category.id) ?? [];\n\n    const { data, isLoading } = useMany<ICategory>({\n        resource: \"categories\",\n        ids: categoryIds,\n        queryOptions: {\n            enabled: categoryIds.length > 0,\n        },\n    });\n\n    return (\n        <List>\n            <Table<IPost> {...tableProps} rowKey=\"id\">\n                <Table.Column dataIndex=\"title\" title=\"title\" />\n                <Table.Column\n                    dataIndex={[\"category\", \"id\"]}\n                    title=\"category\"\n                    render={(value: number) => {\n                        if (isLoading) {\n                            return \"loading...\";\n                        }\n\n                        return data?.data.find(\n                            (item: ICategory) => item.id === value,\n                        )?.title;\n                    }}\n                />\n                <Table.Column\n                    dataIndex=\"createdAt\"\n                    title=\"createdAt\"\n                    render={(value) => <DateField format=\"LLL\" value={value} />}\n                />\n            </Table>\n        </List>\n    );\n};\n\nexport default App;\n\ninterface IPost {\n  title: string;\n  createdAt: string;\n  category: { id: number };\n}\n\ninterface ICategory {\n  id: number;\n  title: string;\n}\n\n```\n\nNow, you should see the output as a table populated with `post` & `category` data:\n![First example result](https://github.com/refinedev/refine/blob/master/documentation/static/img/first-example-result.png?raw=true)\n## Next Steps\n\n👉 Jump to [Refine<>Ant Design Tutorial](https://refine.dev/docs/ui-frameworks/antd/tutorial/) to continue your work and turn the example into a full-blown CRUD application.\n\n👉 Check out the [Refine<>Tailwind Tutorial](https://refine.dev/docs/tutorials/headless-tutorial/) to learn how to use **refine** in a pure *headless* way.\n\n👉 Visit [Learn the Basics Page](https://refine.dev/docs/getting-started/overview/) to get informed about the fundemental concepts.\n\n👉 Read more on [Guides & Concepts](https://refine.dev/docs/guides-and-concepts/access-control/) for different usage scenarios.\n\n👉 See the real-life [Finefoods Demo](https://refine.dev/demo/) project.\n\n👉 Play with interactive [Examples](https://refine.dev/docs/examples/)\n\n## Roadmap\nYou can find refine's <a href=\"https://github.com/refinedev/refine/projects/1\">Public Roadmap here!</a> \n\n## Stargazers\n\n[![Stargazers repo roster for refinedev/refine](https://reporoster.com/stars/refinedev/refine)](https://github.com/refinedev/refine/stargazers)\n\n## Contribution\n\nIf you have a bug to report, do not hesitate to file an issue.\n\nIf you are willing to fix an issue or propose a feature; all PRs with clear explanations are welcome and encouraged.\n\n## License\n\nLicensed under the MIT License, Copyright © 2021-present refine\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/refinedev/refine/issues"},"homepage":"https://github.com/refinedev/refine#readme","_id":"@pankod/refine-core@3.87.0","_nodeVersion":"16.17.1","_npmVersion":"8.15.0","dist":{"integrity":"sha512-CL8bmpY019RViWKpvc3Iif/pLPKiT0lqivoRThTYPBRKg1uypV9mOPx+aB5ruE+Y0zVJr2vyeSvJYYwh2pmOFw==","shasum":"14b195fe81b419a869a51c883c6eb7c864ccab58","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.87.0.tgz","fileCount":515,"unpackedSize":2085229,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGFwK6P7XnBFFzlIFmi1znPwxMaao9UdWiHzmtRCN3nAAiEApec2C9t1GiA8EtAhUb5O9ZqkVx8XdrdPY9U5v7wHxx8="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjV+DjACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr2dA//WsdyMkxYRT/hUSBHFGGk3PWtF4bZntyZvoDC/7U5Ery98Qr3\r\nSvJfFYcTeX4nCFkT45yl7ZN6U/yFnDLU/K8VmWpSX98piLTXVgRgL2NKVf5B\r\ngrMlGKMFLqi5nlaivkt728jtspsBhJ5X15eoWYkpbxsrNJordx5MIZEcclWk\r\ntT6J8j/gGHcayQjBYu7afQrnZOXCA2NgNpIvbS60F4hrM+/cJKvaD7u3ocVl\r\nNnE/JIJs/lLwhhu/rWBnXYYk9ktf4EZgGerM/7+v3zcjOk3phIHc2oLYSxZQ\r\nmBZngX8wel0y7aTTDdaVzTPXSWor5v8knTBxjGDSwy4OXVSzsidd0gStlfH9\r\nJL8FoT9sMu3oJ6PTepDOyJdfgcRjQkXKZR/A0GP0DBPIzeB1cofotfcsWD8W\r\nLNVGYMef9IUfm5ToELTsWIth8Vle2KqqvZLfuei/Zxbv8ESbh9CRzO1+LJnP\r\nCVIZDKcR6WcHQA7cHOfmbFfMxIVKGVhR9NMEGetE+G+xKAZIr2hw1bIL9V6b\r\nKHFrNyq/R9SKhHXBwouj1XvNpkt7GFNIBk6DeTJF1j6BTYPQJTAIv6kOBg7X\r\nNrJ9oZEcXHlWmjpqDQDrICqz+DkUaggw282J7Jm6P78s6tqVzWGW5zkywJdV\r\nl9Q2H2uyFRcrXnNcszcqFqRY/q3hrGjDoG4=\r\n=OHXb\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"alicanerdurmaz","email":"alicanerdurmaz@gmail.com"},{"name":"salihozdmr","email":"salihozdemir94@gmail.com"},{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.87.0_1666703587776_0.21253808326933465"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.88.0":{"name":"@pankod/refine-core","version":"3.88.0","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --format esm,cjs,iife --legacy-output","build":"tsup --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0","@types/react":"^17.0.0 || ^18.0.0","@types/react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.16.4","@testing-library/react":"^13.1.1","@testing-library/react-hooks":"^8.0.0","@testing-library/user-event":"^14.1.1","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^18.0.0","@types/react-dom":"^18.0.0","@types/react-router-dom":"^5.1.8","@types/testing-library__jest-dom":"^5.14.3","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"6.3.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.7.4"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","lodash-es":"^4.17.21","lodash":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","@tanstack/react-query-devtools":"^4.10.1","@tanstack/react-query":"^4.10.1","tslib":"^2.3.1","warn-once":"^0.1.0"},"repository":{"type":"git","url":"git+https://github.com/refinedev/refine.git","directory":"packages/core"},"author":{"name":"refine"},"license":"MIT","gitHead":"17dd5af3e4c9f7f09e1e707362c6f5a9d1cab8a8","publishConfig":{"access":"public"},"bugs":{"url":"https://github.com/refinedev/refine/issues"},"homepage":"https://github.com/refinedev/refine#readme","_id":"@pankod/refine-core@3.88.0","_nodeVersion":"16.17.1","_npmVersion":"8.15.0","dist":{"integrity":"sha512-9HUVkXxQDqqxxRj4ymR/IAKLLT61IDISmnmievGirC0+qBa85Fy5MEixbv3B4r2NSrlIp3UqxY2qxkftIgNK7w==","shasum":"b81fa8a3004dfe13b621836fd9167b7f0418aa70","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.88.0.tgz","fileCount":515,"unpackedSize":2085814,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCZDbKq48O5BXNloNJ9OAla1/5uF+R/as1fXkdsuUcVGAIgFkiXO+n1ktZrP7PLgSXrl0fCffcITNGnXejenWX+YRE="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjV/l3ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpQhw//RI9exxasjjfwJbCybOIpRamA/AqXJ66IENoSXS/mpZDBfIFp\r\nuWPFiFR/act35oOCdCfwWg/8XqcmOF26CXZmahurvHJR57Ziw8VFQNs3Kkez\r\nFEqdaholqUof+qeowNUKYLO3haUqQ0hXIL8o04d8zeyhOuUaqH1XmmYGOng1\r\nPEo4SyAgmD5XmkxS/0p2nKLShms8uNt9Ih+YzVyCmfRMjkfbD8kHMtlFcjUh\r\nnYXUsEb6OGifRclVLuhl10OboWFJLYc4ctyOst4hv+7OXBr6ZALmt8WvJXye\r\n3sDfFuhMyU887vZjDB9GyoSb7r1kSvrDIB9lqdbQfOir1Sel5J8QJfzigHg3\r\nemHMp6/eQFJGuvUaLJyuILtWE16UgzqDmrwAASfJEvRXqfCMn7x6Zd3taW3e\r\n90eGoYN7i56Az248TjfkqFdCW6SrUtnyPO7IdkEzCToJCAA6Z5wu1LWp0UPv\r\nMrLbmLlvKXLh2vOtgAMNv9+NxRNAVbsliURrt3Vlm2leakmeork6B9+k0eHQ\r\ncYh0q+1oG5NApwD5IzcKaCpFxS23LVBEfK/YWLNf+LHL819k4nHfFb/x7P2/\r\neVAdWUMJ8fk8y5e8Pnbct9mqcd5B0yptso1JyDr0uA1ktMgGYhcljkErbsb6\r\nQHycKVKUnvQQy2WItVQv/LJWC8VJmQmjbN0=\r\n=eAOa\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"alicanerdurmaz","email":"alicanerdurmaz@gmail.com"},{"name":"salihozdmr","email":"salihozdemir94@gmail.com"},{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.88.0_1666709879278_0.8896230400225442"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.88.1":{"name":"@pankod/refine-core","version":"3.88.1","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --format esm,cjs,iife --legacy-output","build":"tsup --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0","@types/react":"^17.0.0 || ^18.0.0","@types/react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.16.4","@testing-library/react":"^13.1.1","@testing-library/react-hooks":"^8.0.0","@testing-library/user-event":"^14.1.1","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^18.0.0","@types/react-dom":"^18.0.0","@types/react-router-dom":"^5.1.8","@types/testing-library__jest-dom":"^5.14.3","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"6.3.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.7.4"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","lodash-es":"^4.17.21","lodash":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","@tanstack/react-query-devtools":"^4.10.1","@tanstack/react-query":"^4.10.1","tslib":"^2.3.1","warn-once":"^0.1.0"},"repository":{"type":"git","url":"git+https://github.com/refinedev/refine.git","directory":"packages/core"},"author":{"name":"refine"},"license":"MIT","gitHead":"17dd5af3e4c9f7f09e1e707362c6f5a9d1cab8a8","publishConfig":{"access":"public"},"readme":"<div align=\"center\" style=\"margin: 30px;\">\n<a href=\"https://refine.dev/\">\n  <img src=\"https://raw.githubusercontent.com/refinedev/refine/master/logo.png\"   style=\"width:250px;\" align=\"center\" />\n</a>\n<br />\n<br />\n\n<div align=\"center\">\n    <a href=\"https://refine.dev\">Home Page</a> |\n    <a href=\"https://discord.gg/refine\">Discord</a> |\n    <a href=\"https://refine.dev/examples/\">Examples</a> | \n    <a href=\"https://refine.dev/blog/\">Blog</a> | \n    <a href=\"https://refine.dev/docs/\">Documentation</a> | \n    <a href=\"https://github.com/refinedev/refine/projects/1\">Roadmap</a>\n</div>\n\n</div>\n<br/>\n\n<div align=\"center\"><strong>Build your <a href=\"https://reactjs.org/\">React</a>-based CRUD applications, without constraints.</strong><br>An Open source, headless web application framework developed with flexibility in mind.</div>\n\n<br />\n\n<div align=\"center\">\n\n[![Discord](https://img.shields.io/discord/837692625737613362.svg?label=&logo=discord&logoColor=ffffff&color=7389D8&labelColor=6A7EC2)](https://discord.gg/refine)\n[![Twitter Follow](https://img.shields.io/twitter/follow/refine_dev?style=social)](https://twitter.com/refine_dev)\n\n<a href=\"https://www.producthunt.com/posts/refine-3?utm_source=badge-top-post-badge&utm_medium=badge&utm_souce=badge-refine&#0045;3\" target=\"_blank\"><img src=\"https://api.producthunt.com/widgets/embed-image/v1/top-post-badge.svg?post_id=362220&theme=light&period=daily\" alt=\"refine - 100&#0037;&#0032;open&#0032;source&#0032;React&#0032;framework&#0032;to&#0032;build&#0032;web&#0032;apps&#0032;3x&#0032;faster | Product Hunt\" style=\"width: 250px; height: 54px;\" width=\"250\" height=\"54\" /></a>\n\n[![Awesome](https://github.com/refinedev/awesome-refine/raw/main/images/badge.svg)](https://github.com/refinedev/awesome-refine)\n[![Maintainability](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/maintainability)](https://codeclimate.com/github/pankod/refine/maintainability)\n[![Test Coverage](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/test_coverage)](https://codeclimate.com/github/pankod/refine/test_coverage)\n[![npm version](https://img.shields.io/npm/v/@pankod/refine-core.svg)](https://www.npmjs.com/package/@pankod/refine-core)\n[![npm](https://img.shields.io/npm/dm/@pankod/refine-core)](https://www.npmjs.com/package/@pankod/refine-core)\n[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.0-4baaaa.svg)](code_of_conduct.md)\n</div>\n\n<div align=\"center\" style=\"margin: 30px;\">\n  <img src=\"https://github.com/refinedev/refine/blob/master/documentation/static/img/refine-promo-gif.gif?raw=true\" style=\"width:688px;\"/>\n</div>\n\n\n## What is refine?\n**refine** is a React-based framework for rapid ✨ development of web applications. \nIt eliminates the repetitive tasks demanded by **CRUD** operations and provides industry standard solutions for critical parts like **authentication**, **access control**, **routing**, **networking**, **state management** and **i18n**.\n\n**refine** is *headless by design* offering unlimited styling and customization options. \n\n## What do you mean by \"headless\" ?\nInstead of being a limited set of pre-styled components, **refine** is a collection of helper `hooks`, `components` and `providers`. They are all decoupled from your *UI components* and *business logic*, so they never keep you from customizing your *UI* or coding your own flow.\n\n**refine** seamlessly works with any **custom design** or **UI framework you favor**. For convenience, it ships with ready-made integrations for [Ant Design System](https://ant.design/), [Material UI](https://mui.com/), and [Mantine](https://mantine.dev/).\n\n## Use cases\n**refine** shines on *data-intensive* applications like *admin panels*, *dashboards* and *internal tools*. Thanks to built-in **SSR support**, **refine** can also power *customer-facing* applications like *storefronts*.\n\n## Key Features\n\n⚙️ Zero-config, **one-minute setup** with a **single CLI command**\n\n🔌 Connectors for **15+ backend services** including [REST API](https://github.com/refinedev/refine/tree/master/packages/simple-rest), [GraphQL](https://github.com/refinedev/refine/tree/master/packages/graphql), [NestJs CRUD](https://github.com/refinedev/refine/tree/master/packages/nestjsx-crud), [Airtable](https://github.com/refinedev/refine/tree/master/packages/airtable), [Strapi](https://github.com/refinedev/refine/tree/master/packages/strapi), [Strapi v4](https://github.com/refinedev/refine/tree/master/packages/strapi-v4), [Strapi GraphQL](https://github.com/refinedev/refine/tree/master/packages/strapi-graphql), [Supabase](https://github.com/refinedev/refine/tree/master/packages/supabase), [Hasura](https://github.com/refinedev/refine/tree/master/packages/hasura), [Nhost](https://github.com/refinedev/refine/tree/master/packages/nhost), [Appwrite](https://github.com/refinedev/refine/tree/master/packages/appwrite), [Firebase](https://firebase.google.com/), [Directus](https://directus.io/) and [Altogic](https://github.com/refinedev/refine/tree/master/packages/altogic)\n\n🌐 **SSR support** with **Next.js** or **Remix**\n\n⚛ Perfect **state management** & **mutations** with **React Query**\n\n🔀 **Advanced routing** with any router library of your choice\n\n🔐 Providers for seamless **authentication** and **access control** flows\n\n⚡ Out-of-the-box support for **live / real-time applications**\n\n📄 Easy **audit logs** &** **document versioning**\n\n💬 Support for any **i18n** framework\n\n💪 Future-proof, **robust architecture**\n\n✅ Full **test coverage**\n\n## Quick Start\n\nThe fastest way to get started with **refine** is using the [superplate](https://github.com/pankod/superplate) project starter tool.\nRun the following command to create a new **refine** project configured with  [Ant Design System](https://ant.design/) as the default UI framework:\n\n```\nnpx superplate-cli --preset refine-antd my-project\n```\n\nOnce the setup is complete, navigate to the project folder and start your project with:\n\n```\nnpm run dev\n```\n\nYour **refine** application will be accessible at [http://localhost:3000](http://localhost:3000):\n![Welcome on board](https://github.com/refinedev/refine/blob/master/documentation/static/img/welcome-on-board.png?raw=true)\nLet's consume a public `fake REST API` and add two resources (*posts*, *categories*) to our project. Replace the contents of `src/App.tsx` with the following code:\n\n```tsx title=\"src/App.tsx\"\n\nimport { Refine, useMany } from \"@pankod/refine-core\";\nimport {\n    useTable,\n    List,\n    Table,\n    DateField,\n    Layout,\n    ReadyPage,\n    notificationProvider,\n    ErrorComponent,\n} from \"@pankod/refine-antd\";\nimport routerProvider from \"@pankod/refine-react-router-v6\";\nimport dataProvider from \"@pankod/refine-simple-rest\";\n\nimport \"@pankod/refine-antd/dist/styles.min.css\";\n\nconst App: React.FC = () => {\n    return (\n        <Refine\n            routerProvider={routerProvider}\n            dataProvider={dataProvider(\"https://api.fake-rest.refine.dev\")}\n            resources={[{ name: \"posts\", list: PostList }]}\n            Layout={Layout}\n            ReadyPage={ReadyPage}\n            notificationProvider={notificationProvider}\n            catchAll={<ErrorComponent />}\n        />\n    );\n};\n\nexport const PostList: React.FC = () => {\n    const { tableProps } = useTable<IPost>();\n\n    const categoryIds =\n        tableProps?.dataSource?.map((item) => item.category.id) ?? [];\n\n    const { data, isLoading } = useMany<ICategory>({\n        resource: \"categories\",\n        ids: categoryIds,\n        queryOptions: {\n            enabled: categoryIds.length > 0,\n        },\n    });\n\n    return (\n        <List>\n            <Table<IPost> {...tableProps} rowKey=\"id\">\n                <Table.Column dataIndex=\"title\" title=\"title\" />\n                <Table.Column\n                    dataIndex={[\"category\", \"id\"]}\n                    title=\"category\"\n                    render={(value: number) => {\n                        if (isLoading) {\n                            return \"loading...\";\n                        }\n\n                        return data?.data.find(\n                            (item: ICategory) => item.id === value,\n                        )?.title;\n                    }}\n                />\n                <Table.Column\n                    dataIndex=\"createdAt\"\n                    title=\"createdAt\"\n                    render={(value) => <DateField format=\"LLL\" value={value} />}\n                />\n            </Table>\n        </List>\n    );\n};\n\nexport default App;\n\ninterface IPost {\n  title: string;\n  createdAt: string;\n  category: { id: number };\n}\n\ninterface ICategory {\n  id: number;\n  title: string;\n}\n\n```\n\nNow, you should see the output as a table populated with `post` & `category` data:\n![First example result](https://github.com/refinedev/refine/blob/master/documentation/static/img/first-example-result.png?raw=true)\n## Next Steps\n\n👉 Jump to [Refine<>Ant Design Tutorial](https://refine.dev/docs/ui-frameworks/antd/tutorial/) to continue your work and turn the example into a full-blown CRUD application.\n\n👉 Check out the [Refine<>Tailwind Tutorial](https://refine.dev/docs/tutorials/headless-tutorial/) to learn how to use **refine** in a pure *headless* way.\n\n👉 Visit [Learn the Basics Page](https://refine.dev/docs/getting-started/overview/) to get informed about the fundemental concepts.\n\n👉 Read more on [Guides & Concepts](https://refine.dev/docs/guides-and-concepts/access-control/) for different usage scenarios.\n\n👉 See the real-life [Finefoods Demo](https://refine.dev/demo/) project.\n\n👉 Play with interactive [Examples](https://refine.dev/docs/examples/)\n\n## Roadmap\nYou can find refine's <a href=\"https://github.com/refinedev/refine/projects/1\">Public Roadmap here!</a> \n\n## Stargazers\n\n[![Stargazers repo roster for refinedev/refine](https://reporoster.com/stars/refinedev/refine)](https://github.com/refinedev/refine/stargazers)\n\n## Contribution\n\nIf you have a bug to report, do not hesitate to file an issue.\n\nIf you are willing to fix an issue or propose a feature; all PRs with clear explanations are welcome and encouraged.\n\n## License\n\nLicensed under the MIT License, Copyright © 2021-present refine\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/refinedev/refine/issues"},"homepage":"https://github.com/refinedev/refine#readme","_id":"@pankod/refine-core@3.88.1","_nodeVersion":"16.18.0","_npmVersion":"8.19.2","dist":{"integrity":"sha512-QH6QDAC+ELh60LLiqseHHhKS8o/g9dMjdxOqYp0J9hG/GttK4rsKcfMYIT6tW+4javuTd1GHb62lNMrUTQSvpg==","shasum":"de36379ce90abb13631da83abc499acf5324b1c1","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.88.1.tgz","fileCount":515,"unpackedSize":2087200,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCec9Z/0oFItcDb2INUwimfi3pNlIDJpIfMOOTmSHTQrAIhAJNe1vgugMYi67e6faCNick9dnfPdta2tXgcEXbpLxaU"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjY5ylACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrYFQ//WsEmAqQuVduxagHBtJZnarVUckD0fyxDiMq+rNhRC6IP3CH2\r\nC9JDnk5uvAakwLj9Vyw5FeyMz2nrJU6w2+BXWFIRCLIDV08kohUPj6pIEQSF\r\nZJUytZFVWJJ0dmMLK85n+SEb7YOPlzDK9PiJW60kqXc2KitW+zTi7Jk7UIyv\r\nnMmXz2O2h3QDKwD3CE6ptD31nfava8nw/pLtAn8j0st6a2dMBT+rie+U/rRC\r\ny/vAhwif/6zTxAhfkOxc7Pf0kV72+Gb94s9ubKQBwT+CuIkHdH3LXQqcV4ec\r\n4lNelxG6oEDEU+xx+ZjdaGk/FZ4mxPWKUjdGvVXmQnjuFHQYKMCK6ayrm8oQ\r\nam3cXfthEAS3zLvJGWUR3Jh11Q4E3OVZtfV3tFhprVOXsRARh7OGjomGWXMp\r\n1Mxk2mDBiG8YSk0XJAOqUZNskUUKQWI1yGHpRfQkoz1XUkP3GdNEAIirZMKs\r\nl1PSILyRoUwxS8upSa77JKzg2airFSVZGsI9fWtq4mwjIKfLHfsn3+j9wRRs\r\n9i67HLqfMO7tScj6M+6AP95kfrF+N+zUQBN750PbW4YWPfyAN6IcQo9VpBWo\r\nL/aEc9E846hJMIZ0iSTlHDMcKq3U+x8Ev4zmR/S78Ue85FIqkxAwSXB61r9g\r\nHtYpX7EDBzwmAivWKhFOcTslsVPytTuj+N4=\r\n=qW6q\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"alicanerdurmaz","email":"alicanerdurmaz@gmail.com"},{"name":"salihozdmr","email":"salihozdemir94@gmail.com"},{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.88.1_1667472549371_0.5721543779320677"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.88.2":{"name":"@pankod/refine-core","version":"3.88.2","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --format esm,cjs,iife --legacy-output","build":"tsup --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0","@types/react":"^17.0.0 || ^18.0.0","@types/react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.16.4","@testing-library/react":"^13.1.1","@testing-library/react-hooks":"^8.0.0","@testing-library/user-event":"^14.1.1","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^18.0.0","@types/react-dom":"^18.0.0","@types/react-router-dom":"^5.1.8","@types/testing-library__jest-dom":"^5.14.3","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"6.3.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.7.4"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","lodash-es":"^4.17.21","lodash":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","@tanstack/react-query-devtools":"^4.10.1","@tanstack/react-query":"^4.10.1","tslib":"^2.3.1","warn-once":"^0.1.0"},"repository":{"type":"git","url":"git+https://github.com/refinedev/refine.git","directory":"packages/core"},"author":{"name":"refine"},"license":"MIT","gitHead":"17dd5af3e4c9f7f09e1e707362c6f5a9d1cab8a8","publishConfig":{"access":"public"},"bugs":{"url":"https://github.com/refinedev/refine/issues"},"homepage":"https://github.com/refinedev/refine#readme","_id":"@pankod/refine-core@3.88.2","_nodeVersion":"16.18.0","_npmVersion":"8.19.2","dist":{"integrity":"sha512-4VaiAebBzxmSARjw9kSP1dlvDau6O7DxrQEJZUmcp5Rd0biU6VMx6hdyyhFc0uBIfeHyFkUiqFXeVU2CrnqEzQ==","shasum":"8a1035b4884b38b9cc876c199ca32f0223309a24","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.88.2.tgz","fileCount":515,"unpackedSize":2087587,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD9n1UPZbD/vsHu9ki0AfBC3/FiwtUmUwao1KNuG9FTZgIgaGdz1UExHGsBnTXrvpeNiJq9Yvq+TtDPM39x85FtlWU="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjY+W0ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqNag//Q7X9Ndmds3qgGGC555sjFux1klaOujWoEHWVfsgWxZ/aJnUA\r\n8I/dDVs06uzwN+vOEkNMkpL+zIya8rektJxxBvR8EKqgrzF5wuDQHKLA7qxi\r\nWDauSXDRPDFBTbNvpXRP8cQOCl3v9NlgZYBQdQITyalt8SkEIU2Orehd/6Zz\r\nmo8Tuz+2qWe/kd7HxF8bd46VoRuZ4NNHLoxxWej08kXwoVyHkYlXhZ26pmxc\r\nQz3c6TxMILRhD27cDRkckP9rFX7bxPdjsfL0igTjKaUmHdXzSyyxvY2MtEhj\r\nJYZZR2+Y/5JPjt8rmBz+bJdnS5Pa83QcpsGyg7etlbhZpbutZyNKXRlP2vv1\r\nGZWyMUFvt4t0nUlgXYHEOOzxeVMxdaCUCvOuTNXn6fDrEm9Gj9iJnH6SghLw\r\nYlZYBrVHaAME/VNOfwrdihBfIQJuoZeSr1qZ+16lcqXKo2VpNbIzMjlBsn7o\r\nGACo6C1Iwevx6PlcK3PrkfP3hKEqhyKUYGm1Z13h7Vh3CKl+O2CY1IutkuXm\r\nmzIqoda8SL6reJ5A5HW5R67oKC1rOYn6kax6N127ylKm/rAdqtxiyI+AaFnP\r\nYJc7e1ocDqIVWewlgJrq18bSGUkJi34bvebUpTQErIHPNZEdpNux3ujM6Mm/\r\n95OD0MqEEtxFhKRqUkA0Yfx79L3B3WWtyFw=\r\n=kWow\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"alicanerdurmaz","email":"alicanerdurmaz@gmail.com"},{"name":"salihozdmr","email":"salihozdemir94@gmail.com"},{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.88.2_1667491252220_0.25875261593391796"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.88.3":{"name":"@pankod/refine-core","version":"3.88.3","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --format esm,cjs,iife --legacy-output","build":"tsup --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0","@types/react":"^17.0.0 || ^18.0.0","@types/react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.16.4","@testing-library/react":"^13.1.1","@testing-library/react-hooks":"^8.0.0","@testing-library/user-event":"^14.1.1","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^18.0.0","@types/react-dom":"^18.0.0","@types/react-router-dom":"^5.1.8","@types/testing-library__jest-dom":"^5.14.3","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"6.3.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.7.4"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","lodash-es":"^4.17.21","lodash":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","@tanstack/react-query-devtools":"^4.10.1","@tanstack/react-query":"^4.10.1","tslib":"^2.3.1","warn-once":"^0.1.0"},"repository":{"type":"git","url":"git+https://github.com/refinedev/refine.git","directory":"packages/core"},"author":{"name":"refine"},"license":"MIT","gitHead":"17dd5af3e4c9f7f09e1e707362c6f5a9d1cab8a8","publishConfig":{"access":"public"},"readme":"<div align=\"center\" style=\"margin: 30px;\">\n<a href=\"https://refine.dev/\">\n  <img src=\"https://raw.githubusercontent.com/refinedev/refine/master/logo.png\"   style=\"width:250px;\" align=\"center\" />\n</a>\n<br />\n<br />\n\n<div align=\"center\">\n    <a href=\"https://refine.dev\">Home Page</a> |\n    <a href=\"https://discord.gg/refine\">Discord</a> |\n    <a href=\"https://refine.dev/examples/\">Examples</a> | \n    <a href=\"https://refine.dev/blog/\">Blog</a> | \n    <a href=\"https://refine.dev/docs/\">Documentation</a> | \n    <a href=\"https://github.com/refinedev/refine/projects/1\">Roadmap</a>\n</div>\n\n</div>\n<br/>\n\n<div align=\"center\"><strong>Build your <a href=\"https://reactjs.org/\">React</a>-based CRUD applications, without constraints.</strong><br>An Open source, headless web application framework developed with flexibility in mind.</div>\n\n<br />\n\n<div align=\"center\">\n\n[![Discord](https://img.shields.io/discord/837692625737613362.svg?label=&logo=discord&logoColor=ffffff&color=7389D8&labelColor=6A7EC2)](https://discord.gg/refine)\n[![Twitter Follow](https://img.shields.io/twitter/follow/refine_dev?style=social)](https://twitter.com/refine_dev)\n\n<a href=\"https://www.producthunt.com/posts/refine-3?utm_source=badge-top-post-badge&utm_medium=badge&utm_souce=badge-refine&#0045;3\" target=\"_blank\"><img src=\"https://api.producthunt.com/widgets/embed-image/v1/top-post-badge.svg?post_id=362220&theme=light&period=daily\" alt=\"refine - 100&#0037;&#0032;open&#0032;source&#0032;React&#0032;framework&#0032;to&#0032;build&#0032;web&#0032;apps&#0032;3x&#0032;faster | Product Hunt\" style=\"width: 250px; height: 54px;\" width=\"250\" height=\"54\" /></a>\n\n[![Awesome](https://github.com/refinedev/awesome-refine/raw/main/images/badge.svg)](https://github.com/refinedev/awesome-refine)\n[![Maintainability](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/maintainability)](https://codeclimate.com/github/pankod/refine/maintainability)\n[![Test Coverage](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/test_coverage)](https://codeclimate.com/github/pankod/refine/test_coverage)\n[![npm version](https://img.shields.io/npm/v/@pankod/refine-core.svg)](https://www.npmjs.com/package/@pankod/refine-core)\n[![npm](https://img.shields.io/npm/dm/@pankod/refine-core)](https://www.npmjs.com/package/@pankod/refine-core)\n[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.0-4baaaa.svg)](code_of_conduct.md)\n</div>\n\n<div align=\"center\" style=\"margin: 30px;\">\n  <img src=\"https://github.com/refinedev/refine/blob/master/documentation/static/img/refine-promo-gif.gif?raw=true\" style=\"width:688px;\"/>\n</div>\n\n\n## What is refine?\n**refine** is a React-based framework for rapid ✨ development of web applications. \nIt eliminates the repetitive tasks demanded by **CRUD** operations and provides industry standard solutions for critical parts like **authentication**, **access control**, **routing**, **networking**, **state management** and **i18n**.\n\n**refine** is *headless by design* offering unlimited styling and customization options. \n\n## What do you mean by \"headless\" ?\nInstead of being a limited set of pre-styled components, **refine** is a collection of helper `hooks`, `components` and `providers`. They are all decoupled from your *UI components* and *business logic*, so they never keep you from customizing your *UI* or coding your own flow.\n\n**refine** seamlessly works with any **custom design** or **UI framework you favor**. For convenience, it ships with ready-made integrations for [Ant Design System](https://ant.design/), [Material UI](https://mui.com/), [Mantine](https://mantine.dev/), and [Chakra UI](https://chakra-ui.com/).\n\n## Use cases\n**refine** shines on *data-intensive* applications like *admin panels*, *dashboards* and *internal tools*. Thanks to built-in **SSR support**, **refine** can also power *customer-facing* applications like *storefronts*.\n\n## Key Features\n\n⚙️ Zero-config, **one-minute setup** with a **single CLI command**\n\n🔌 Connectors for **15+ backend services** including [REST API](https://github.com/refinedev/refine/tree/master/packages/simple-rest), [GraphQL](https://github.com/refinedev/refine/tree/master/packages/graphql), [NestJs CRUD](https://github.com/refinedev/refine/tree/master/packages/nestjsx-crud), [Airtable](https://github.com/refinedev/refine/tree/master/packages/airtable), [Strapi](https://github.com/refinedev/refine/tree/master/packages/strapi), [Strapi v4](https://github.com/refinedev/refine/tree/master/packages/strapi-v4), [Strapi GraphQL](https://github.com/refinedev/refine/tree/master/packages/strapi-graphql), [Supabase](https://github.com/refinedev/refine/tree/master/packages/supabase), [Hasura](https://github.com/refinedev/refine/tree/master/packages/hasura), [Nhost](https://github.com/refinedev/refine/tree/master/packages/nhost), [Appwrite](https://github.com/refinedev/refine/tree/master/packages/appwrite), [Firebase](https://firebase.google.com/), [Directus](https://directus.io/) and [Altogic](https://github.com/refinedev/refine/tree/master/packages/altogic)\n\n🌐 **SSR support** with **Next.js** or **Remix**\n\n⚛ Perfect **state management** & **mutations** with **React Query**\n\n🔀 **Advanced routing** with any router library of your choice\n\n🔐 Providers for seamless **authentication** and **access control** flows\n\n⚡ Out-of-the-box support for **live / real-time applications**\n\n📄 Easy **audit logs** &** **document versioning**\n\n💬 Support for any **i18n** framework\n\n💪 Future-proof, **robust architecture**\n\n✅ Full **test coverage**\n\n## Quick Start\n\nThe fastest way to get started with **refine** is using the [superplate](https://github.com/pankod/superplate) project starter tool.\nRun the following command to create a new **refine** project configured with  [Ant Design System](https://ant.design/) as the default UI framework:\n\n```\nnpx superplate-cli --preset refine-antd my-project\n```\n\nOnce the setup is complete, navigate to the project folder and start your project with:\n\n```\nnpm run dev\n```\n\nYour **refine** application will be accessible at [http://localhost:3000](http://localhost:3000):\n![Welcome on board](https://github.com/refinedev/refine/blob/master/documentation/static/img/welcome-on-board.png?raw=true)\nLet's consume a public `fake REST API` and add two resources (*posts*, *categories*) to our project. Replace the contents of `src/App.tsx` with the following code:\n\n```tsx title=\"src/App.tsx\"\n\nimport { Refine, useMany } from \"@pankod/refine-core\";\nimport {\n    useTable,\n    List,\n    Table,\n    DateField,\n    Layout,\n    ReadyPage,\n    notificationProvider,\n    ErrorComponent,\n} from \"@pankod/refine-antd\";\nimport routerProvider from \"@pankod/refine-react-router-v6\";\nimport dataProvider from \"@pankod/refine-simple-rest\";\n\nimport \"@pankod/refine-antd/dist/styles.min.css\";\n\nconst App: React.FC = () => {\n    return (\n        <Refine\n            routerProvider={routerProvider}\n            dataProvider={dataProvider(\"https://api.fake-rest.refine.dev\")}\n            resources={[{ name: \"posts\", list: PostList }]}\n            Layout={Layout}\n            ReadyPage={ReadyPage}\n            notificationProvider={notificationProvider}\n            catchAll={<ErrorComponent />}\n        />\n    );\n};\n\nexport const PostList: React.FC = () => {\n    const { tableProps } = useTable<IPost>();\n\n    const categoryIds =\n        tableProps?.dataSource?.map((item) => item.category.id) ?? [];\n\n    const { data, isLoading } = useMany<ICategory>({\n        resource: \"categories\",\n        ids: categoryIds,\n        queryOptions: {\n            enabled: categoryIds.length > 0,\n        },\n    });\n\n    return (\n        <List>\n            <Table<IPost> {...tableProps} rowKey=\"id\">\n                <Table.Column dataIndex=\"title\" title=\"title\" />\n                <Table.Column\n                    dataIndex={[\"category\", \"id\"]}\n                    title=\"category\"\n                    render={(value: number) => {\n                        if (isLoading) {\n                            return \"loading...\";\n                        }\n\n                        return data?.data.find(\n                            (item: ICategory) => item.id === value,\n                        )?.title;\n                    }}\n                />\n                <Table.Column\n                    dataIndex=\"createdAt\"\n                    title=\"createdAt\"\n                    render={(value) => <DateField format=\"LLL\" value={value} />}\n                />\n            </Table>\n        </List>\n    );\n};\n\nexport default App;\n\ninterface IPost {\n  title: string;\n  createdAt: string;\n  category: { id: number };\n}\n\ninterface ICategory {\n  id: number;\n  title: string;\n}\n\n```\n\nNow, you should see the output as a table populated with `post` & `category` data:\n![First example result](https://github.com/refinedev/refine/blob/master/documentation/static/img/first-example-result.png?raw=true)\n## Next Steps\n\n👉 Jump to [Refine<>Ant Design Tutorial](https://refine.dev/docs/ui-frameworks/antd/tutorial/) to continue your work and turn the example into a full-blown CRUD application.\n\n👉 Check out the [Refine<>Tailwind Tutorial](https://refine.dev/docs/tutorials/headless-tutorial/) to learn how to use **refine** in a pure *headless* way.\n\n👉 Visit [Learn the Basics Page](https://refine.dev/docs/getting-started/overview/) to get informed about the fundemental concepts.\n\n👉 Read more on [Guides & Concepts](https://refine.dev/docs/guides-and-concepts/access-control/) for different usage scenarios.\n\n👉 See the real-life [Finefoods Demo](https://refine.dev/demo/) project.\n\n👉 Play with interactive [Examples](https://refine.dev/docs/examples/)\n\n## Roadmap\nYou can find refine's <a href=\"https://github.com/refinedev/refine/projects/1\">Public Roadmap here!</a> \n\n## Stargazers\n\n[![Stargazers repo roster for refinedev/refine](https://reporoster.com/stars/refinedev/refine)](https://github.com/refinedev/refine/stargazers)\n\n## Contribution\n\nIf you have a bug to report, do not hesitate to file an issue.\n\nIf you are willing to fix an issue or propose a feature; all PRs with clear explanations are welcome and encouraged.\n\n## License\n\nLicensed under the MIT License, Copyright © 2021-present refine\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/refinedev/refine/issues"},"homepage":"https://github.com/refinedev/refine#readme","_id":"@pankod/refine-core@3.88.3","_nodeVersion":"16.18.0","_npmVersion":"8.19.2","dist":{"integrity":"sha512-xSOJqAw66JajY+43SDA1s/rR7vLP27tKhfX0gj/KpS0C7hV+8PYQQGSRaXS0zwFcg1EU194o0ehJL/Qgtez9lg==","shasum":"af78040c4cda634a1c86fd3d3abe8ad642adc1b8","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.88.3.tgz","fileCount":515,"unpackedSize":2089357,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAQn1sAPaIfwCRAjrJzWUBfazgO6zQf2/u3D//HfLxeDAiACAf3XmQlWnxCn/UARMYcddGDjVrI4Sms4owKpp4pQGQ=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJja35MACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrDcA//at8UIJm2MADYSAujw7Zq2bNFx/6d+jGljzH+nnHd0G/syh7O\r\nVUKFJERmuakJ9Ecvf/N8Vx7MUFRBFZGO86sfSyiYk5uP1Ab1BWB0iteQh4P6\r\n5HKSvQdYRO5kHU1bubjsFtZLymZoWUARxcDy255rO5+TILzchQYNX/MiXXf/\r\n8PsXXzNjui9RVSvpEM/Qh4gjMbL51Uf9ctuGf+xc0UoH/Bck3rl2wWdWZnZv\r\n+/+qVdrlsArqNw2GDl98MGxowWtfrxG4c0G0rimh1uk+VWdV2Rm+Xq6I6isX\r\nVhZ/izENvwo7i6e1s+3uMTt/9Si6dLY48Sx7K9giEdVUefrpBrhexHkA6R3t\r\n/avkho3gqOPq4M2LFfm3NxYEftJ7OaFg960HqNECtH9cEODA3qnTuOE+cVzi\r\nIozPuhaP8G6PUYLTcey5JHwhiiyD8vtDm6D4FzAjAbwvtJ6zru2P3RGLuIUO\r\nef0MDku6+dmmHOvw/lnrx2fOLj9ArD5SBrXx7S2QvSSe5Yfb6WELzKrldaxO\r\ngHasNTZSKNGs7crb2BoD/uxXDrQLx7mDU+sYnzTJOdFbmBURHC5Zr94FR2ML\r\n3piP+YL21t9QvCF2K0eaY0Pb2X32M7dA99LBtGG26ggZTlGmcOhThzQPKrep\r\nNxOwWkvvybgIKiCBIaOII3W16hJth1K9qaY=\r\n=I88S\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"alicanerdurmaz","email":"alicanerdurmaz@gmail.com"},{"name":"salihozdmr","email":"salihozdemir94@gmail.com"},{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.88.3_1667989067698_0.5959958065114661"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.88.4":{"name":"@pankod/refine-core","version":"3.88.4","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --format esm,cjs,iife --legacy-output","build":"tsup --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0","@types/react":"^17.0.0 || ^18.0.0","@types/react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.16.4","@testing-library/react":"^13.1.1","@testing-library/react-hooks":"^8.0.0","@testing-library/user-event":"^14.1.1","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^18.0.0","@types/react-dom":"^18.0.0","@types/react-router-dom":"^5.1.8","@types/testing-library__jest-dom":"^5.14.3","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"6.3.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.7.4"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","lodash-es":"^4.17.21","lodash":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","@tanstack/react-query-devtools":"^4.10.1","@tanstack/react-query":"^4.10.1","tslib":"^2.3.1","warn-once":"^0.1.0"},"repository":{"type":"git","url":"git+https://github.com/refinedev/refine.git","directory":"packages/core"},"author":{"name":"refine"},"license":"MIT","gitHead":"17dd5af3e4c9f7f09e1e707362c6f5a9d1cab8a8","publishConfig":{"access":"public"},"bugs":{"url":"https://github.com/refinedev/refine/issues"},"homepage":"https://github.com/refinedev/refine#readme","_id":"@pankod/refine-core@3.88.4","_nodeVersion":"16.18.0","_npmVersion":"8.19.2","dist":{"integrity":"sha512-LKcvjSGYlMC+R33G9hFZ8lYIjNvmaVjBieKao0JQ65IXxj213el/xAwU1DfSR4wJVSRPIkXdwy9bm762zNvTww==","shasum":"b1e2fa933754ed37c32f988ccdf87e28a04b69d5","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.88.4.tgz","fileCount":515,"unpackedSize":2089683,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBmppcz6im4YUloRYhGwCGEZDkvI/gbcUij1siVWWaLRAiBO9oJlIfUV8v2u/eRqirecqZ2/SoibcOWhxrslV6hPwQ=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJja4OMACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmohZA//XD8zdbdt3XsrSp18QSERKjJ+Cumx+V7o7Xw2XdTRIn/SI9Eg\r\ntreVIdK6zXV1xKLPahFkPqMgtuf7GzG12o0D0zcxDaALBWrMn4/pzdeLHgFj\r\nmU3oQ9RzCq2YKs8dOY+k/1LzemKIjxlObPazaneV6cWK/Vv3Nj1ME0eabY/T\r\nKhOv5TQuXUP6He3pLw2TVCyouvEhDadxCdBzIgsmr77wBSkCK/QmV9qTG/nT\r\nUrV/Sg/KcZ/ahL3kyuRvWACzyiehGFwfA8mM51wJHp8qOOLOeURYTzCukVN0\r\nhcoBII5EZ7whHESkGijjQ7nOqh0YfF6OzrQdFsf2EMPjjB0oLIS87KNZjudH\r\nMjJ6em/s4Ah9vD9Lhb2ls11a5jf19UAwZ/T4aEA0FKj3Elc+K8VMGNR0ajYy\r\ny7e4MOHL4uKHbRc/J91uzll1ZS068IcY15H0AU6EDhym75vvWuAyZ4S6e1pF\r\nij5pMNXFaBjpdpfayjNds3FGuteCCvOclPmD1RlUSoly3Hwp0NlOgZvGdvLO\r\ndFIjMxZdOUveBfETO57/krmgF3moFffvEym9dnGqjGrYiW65EwCq/h5/KyMb\r\nGvnmMu9NbNJGXcD50xpysUoCXjUDcAlqx4afznw0/8p7j/ozF2lTz8HZ+m9i\r\n5Ks+6TuwXX4wqWyxR1jZuMGEFwqAzCgSd4Q=\r\n=0qIS\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"alicanerdurmaz","email":"alicanerdurmaz@gmail.com"},{"name":"salihozdmr","email":"salihozdemir94@gmail.com"},{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.88.4_1667990412303_0.4765258872428053"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.89.0":{"name":"@pankod/refine-core","version":"3.89.0","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --format esm,cjs,iife --legacy-output","build":"tsup --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0","@types/react":"^17.0.0 || ^18.0.0","@types/react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.16.4","@testing-library/react":"^13.1.1","@testing-library/react-hooks":"^8.0.0","@testing-library/user-event":"^14.1.1","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^18.0.0","@types/react-dom":"^18.0.0","@types/react-router-dom":"^5.1.8","@types/testing-library__jest-dom":"^5.14.3","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"6.3.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.7.4"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","lodash-es":"^4.17.21","lodash":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","@tanstack/react-query-devtools":"^4.10.1","@tanstack/react-query":"^4.10.1","tslib":"^2.3.1","warn-once":"^0.1.0"},"repository":{"type":"git","url":"git+https://github.com/refinedev/refine.git","directory":"packages/core"},"author":{"name":"refine"},"license":"MIT","gitHead":"17dd5af3e4c9f7f09e1e707362c6f5a9d1cab8a8","publishConfig":{"access":"public"},"readme":"<div align=\"center\" style=\"margin: 30px;\">\n<a href=\"https://refine.dev/\">\n  <img src=\"https://raw.githubusercontent.com/refinedev/refine/master/logo.png\"   style=\"width:250px;\" align=\"center\" />\n</a>\n<br />\n<br />\n\n<div align=\"center\">\n    <a href=\"https://refine.dev\">Home Page</a> |\n    <a href=\"https://discord.gg/refine\">Discord</a> |\n    <a href=\"https://refine.dev/examples/\">Examples</a> | \n    <a href=\"https://refine.dev/blog/\">Blog</a> | \n    <a href=\"https://refine.dev/docs/\">Documentation</a> | \n    <a href=\"https://github.com/refinedev/refine/projects/1\">Roadmap</a>\n</div>\n\n</div>\n<br/>\n\n<div align=\"center\"><strong>Build your <a href=\"https://reactjs.org/\">React</a>-based CRUD applications, without constraints.</strong><br>An Open source, headless web application framework developed with flexibility in mind.</div>\n\n<br />\n\n<div align=\"center\">\n\n[![Discord](https://img.shields.io/discord/837692625737613362.svg?label=&logo=discord&logoColor=ffffff&color=7389D8&labelColor=6A7EC2)](https://discord.gg/refine)\n[![Twitter Follow](https://img.shields.io/twitter/follow/refine_dev?style=social)](https://twitter.com/refine_dev)\n\n<a href=\"https://www.producthunt.com/posts/refine-3?utm_source=badge-top-post-badge&utm_medium=badge&utm_souce=badge-refine&#0045;3\" target=\"_blank\"><img src=\"https://api.producthunt.com/widgets/embed-image/v1/top-post-badge.svg?post_id=362220&theme=light&period=daily\" alt=\"refine - 100&#0037;&#0032;open&#0032;source&#0032;React&#0032;framework&#0032;to&#0032;build&#0032;web&#0032;apps&#0032;3x&#0032;faster | Product Hunt\" style=\"width: 250px; height: 54px;\" width=\"250\" height=\"54\" /></a>\n\n[![Awesome](https://github.com/refinedev/awesome-refine/raw/main/images/badge.svg)](https://github.com/refinedev/awesome-refine)\n[![Maintainability](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/maintainability)](https://codeclimate.com/github/pankod/refine/maintainability)\n[![Test Coverage](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/test_coverage)](https://codeclimate.com/github/pankod/refine/test_coverage)\n[![npm version](https://img.shields.io/npm/v/@pankod/refine-core.svg)](https://www.npmjs.com/package/@pankod/refine-core)\n[![npm](https://img.shields.io/npm/dm/@pankod/refine-core)](https://www.npmjs.com/package/@pankod/refine-core)\n[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.0-4baaaa.svg)](code_of_conduct.md)\n</div>\n\n<div align=\"center\" style=\"margin: 30px;\">\n  <img src=\"https://github.com/refinedev/refine/blob/master/documentation/static/img/refine-promo-gif.gif?raw=true\" style=\"width:688px;\"/>\n</div>\n\n\n## What is refine?\n**refine** is a React-based framework for rapid ✨ development of web applications. \nIt eliminates the repetitive tasks demanded by **CRUD** operations and provides industry standard solutions for critical parts like **authentication**, **access control**, **routing**, **networking**, **state management** and **i18n**.\n\n**refine** is *headless by design* offering unlimited styling and customization options. \n\n## What do you mean by \"headless\" ?\nInstead of being a limited set of pre-styled components, **refine** is a collection of helper `hooks`, `components` and `providers`. They are all decoupled from your *UI components* and *business logic*, so they never keep you from customizing your *UI* or coding your own flow.\n\n**refine** seamlessly works with any **custom design** or **UI framework you favor**. For convenience, it ships with ready-made integrations for [Ant Design System](https://ant.design/), [Material UI](https://mui.com/), [Mantine](https://mantine.dev/), and [Chakra UI](https://chakra-ui.com/).\n\n## Use cases\n**refine** shines on *data-intensive* applications like *admin panels*, *dashboards* and *internal tools*. Thanks to built-in **SSR support**, **refine** can also power *customer-facing* applications like *storefronts*.\n\n## Key Features\n\n⚙️ Zero-config, **one-minute setup** with a **single CLI command**\n\n🔌 Connectors for **15+ backend services** including [REST API](https://github.com/refinedev/refine/tree/master/packages/simple-rest), [GraphQL](https://github.com/refinedev/refine/tree/master/packages/graphql), [NestJs CRUD](https://github.com/refinedev/refine/tree/master/packages/nestjsx-crud), [Airtable](https://github.com/refinedev/refine/tree/master/packages/airtable), [Strapi](https://github.com/refinedev/refine/tree/master/packages/strapi), [Strapi v4](https://github.com/refinedev/refine/tree/master/packages/strapi-v4), [Strapi GraphQL](https://github.com/refinedev/refine/tree/master/packages/strapi-graphql), [Supabase](https://github.com/refinedev/refine/tree/master/packages/supabase), [Hasura](https://github.com/refinedev/refine/tree/master/packages/hasura), [Nhost](https://github.com/refinedev/refine/tree/master/packages/nhost), [Appwrite](https://github.com/refinedev/refine/tree/master/packages/appwrite), [Firebase](https://firebase.google.com/), [Directus](https://directus.io/) and [Altogic](https://github.com/refinedev/refine/tree/master/packages/altogic)\n\n🌐 **SSR support** with **Next.js** or **Remix**\n\n⚛ Perfect **state management** & **mutations** with **React Query**\n\n🔀 **Advanced routing** with any router library of your choice\n\n🔐 Providers for seamless **authentication** and **access control** flows\n\n⚡ Out-of-the-box support for **live / real-time applications**\n\n📄 Easy **audit logs** &** **document versioning**\n\n💬 Support for any **i18n** framework\n\n💪 Future-proof, **robust architecture**\n\n✅ Full **test coverage**\n\n## Quick Start\n\nThe fastest way to get started with **refine** is using the [superplate](https://github.com/pankod/superplate) project starter tool.\nRun the following command to create a new **refine** project configured with  [Ant Design System](https://ant.design/) as the default UI framework:\n\n```\nnpx superplate-cli --preset refine-antd my-project\n```\n\nOnce the setup is complete, navigate to the project folder and start your project with:\n\n```\nnpm run dev\n```\n\nYour **refine** application will be accessible at [http://localhost:3000](http://localhost:3000):\n![Welcome on board](https://github.com/refinedev/refine/blob/master/documentation/static/img/welcome-on-board.png?raw=true)\nLet's consume a public `fake REST API` and add two resources (*posts*, *categories*) to our project. Replace the contents of `src/App.tsx` with the following code:\n\n```tsx title=\"src/App.tsx\"\n\nimport { Refine, useMany } from \"@pankod/refine-core\";\nimport {\n    useTable,\n    List,\n    Table,\n    DateField,\n    Layout,\n    ReadyPage,\n    notificationProvider,\n    ErrorComponent,\n} from \"@pankod/refine-antd\";\nimport routerProvider from \"@pankod/refine-react-router-v6\";\nimport dataProvider from \"@pankod/refine-simple-rest\";\n\nimport \"@pankod/refine-antd/dist/styles.min.css\";\n\nconst App: React.FC = () => {\n    return (\n        <Refine\n            routerProvider={routerProvider}\n            dataProvider={dataProvider(\"https://api.fake-rest.refine.dev\")}\n            resources={[{ name: \"posts\", list: PostList }]}\n            Layout={Layout}\n            ReadyPage={ReadyPage}\n            notificationProvider={notificationProvider}\n            catchAll={<ErrorComponent />}\n        />\n    );\n};\n\nexport const PostList: React.FC = () => {\n    const { tableProps } = useTable<IPost>();\n\n    const categoryIds =\n        tableProps?.dataSource?.map((item) => item.category.id) ?? [];\n\n    const { data, isLoading } = useMany<ICategory>({\n        resource: \"categories\",\n        ids: categoryIds,\n        queryOptions: {\n            enabled: categoryIds.length > 0,\n        },\n    });\n\n    return (\n        <List>\n            <Table<IPost> {...tableProps} rowKey=\"id\">\n                <Table.Column dataIndex=\"title\" title=\"title\" />\n                <Table.Column\n                    dataIndex={[\"category\", \"id\"]}\n                    title=\"category\"\n                    render={(value: number) => {\n                        if (isLoading) {\n                            return \"loading...\";\n                        }\n\n                        return data?.data.find(\n                            (item: ICategory) => item.id === value,\n                        )?.title;\n                    }}\n                />\n                <Table.Column\n                    dataIndex=\"createdAt\"\n                    title=\"createdAt\"\n                    render={(value) => <DateField format=\"LLL\" value={value} />}\n                />\n            </Table>\n        </List>\n    );\n};\n\nexport default App;\n\ninterface IPost {\n  title: string;\n  createdAt: string;\n  category: { id: number };\n}\n\ninterface ICategory {\n  id: number;\n  title: string;\n}\n\n```\n\nNow, you should see the output as a table populated with `post` & `category` data:\n![First example result](https://github.com/refinedev/refine/blob/master/documentation/static/img/first-example-result.png?raw=true)\n## Next Steps\n\n👉 Jump to [Refine<>Ant Design Tutorial](https://refine.dev/docs/ui-frameworks/antd/tutorial/) to continue your work and turn the example into a full-blown CRUD application.\n\n👉 Check out the [Refine<>Tailwind Tutorial](https://refine.dev/docs/tutorials/headless-tutorial/) to learn how to use **refine** in a pure *headless* way.\n\n👉 Visit [Learn the Basics Page](https://refine.dev/docs/getting-started/overview/) to get informed about the fundemental concepts.\n\n👉 Read more on [Guides & Concepts](https://refine.dev/docs/guides-and-concepts/access-control/) for different usage scenarios.\n\n👉 See the real-life [Finefoods Demo](https://refine.dev/demo/) project.\n\n👉 Play with interactive [Examples](https://refine.dev/docs/examples/)\n\n## Roadmap\nYou can find refine's <a href=\"https://github.com/refinedev/refine/projects/1\">Public Roadmap here!</a> \n\n## Stargazers\n\n[![Stargazers repo roster for refinedev/refine](https://reporoster.com/stars/refinedev/refine)](https://github.com/refinedev/refine/stargazers)\n\n## Contribution\n\nIf you have a bug to report, do not hesitate to file an issue.\n\nIf you are willing to fix an issue or propose a feature; all PRs with clear explanations are welcome and encouraged.\n\n## License\n\nLicensed under the MIT License, Copyright © 2021-present refine\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/refinedev/refine/issues"},"homepage":"https://github.com/refinedev/refine#readme","_id":"@pankod/refine-core@3.89.0","_nodeVersion":"16.18.0","_npmVersion":"8.19.2","dist":{"integrity":"sha512-EqgcWObYUGtWnwYCaQovugW6Wtrdp2hXXP680t13uzn1X0OG8dJR37C9Q64nikGN74h/yoYJg99uSSXsUEQFNA==","shasum":"df479ba2b403610889725503b251338d1fc5936e","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.89.0.tgz","fileCount":515,"unpackedSize":2091906,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFcxvjxnwwzAguMxlOHbe1eQuHQvKdyBognI9BaQu0erAiEAkA+9ddt8Z+p09wzcDvOFApzAFUAApl/d5JtdcQ6CQY0="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjfLWpACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqH8g//e7cGv3pL0Sb4kAtPOxIw+LfHqfdcGg+X4KsliLcEqUsZ2P4D\r\nBDMxWJGInmX0w41hFhMDf7xW9vqjwm5ZWJL11sFjz1a6rvTbd7fIuUGLhJSP\r\nt6OQS45P7WB6vnSusYlcn2cbUfYulhPjwOxvp+BvR6YcQ5ooApIKN7ZQk+81\r\nHwrvQ48Jic6kpU+MA9IFL10ew38oPfP5L0tUsVgSQmEE0lY+JCQCx1n2mzB8\r\nM47wSWn8P5UPCDLOqseeyOnZ0WTJx7MBtVoePk/S1716V6WQORNajWOtrDKO\r\n0xZP2KNviGVEOFJ1zqx4ifaNhphbd19a+fuW/2r4m9goSs2t/WZhagVw/Voe\r\nWMqumMh7+2q5DAecjjOOrhv5r0qH/E7N9ojQhCEDA0w4CIVgAB/gZifwpLSB\r\npWhtbp75VC2FCV+vOc17otj+oPzALnQ5mUXWLHKq7VF3ikpQokvPtUwGf71Q\r\nMLvNxpzjXHxyK0Qsqa63skMQS0ZZujk4HSN5/dOcuRuxEBB31MGqAo9hahP0\r\nBlUtvJSCbot/5SfyHt0A5KP4kW161CMMgzhFk8JvD6oBj9dDGqFLlFPgGMeN\r\nK7SY06jguY3PsdVZoG+CYigQoaOVUq12XOnSyqgsUpLpCEXNzoSvQT+VRzNz\r\nPJHfXEvDApLZSMJ+NObTAnSQ8AunGClkXs0=\r\n=sUl0\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"alicanerdurmaz","email":"alicanerdurmaz@gmail.com"},{"name":"salihozdmr","email":"salihozdemir94@gmail.com"},{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.89.0_1669117353053_0.136084900740016"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.90.0":{"name":"@pankod/refine-core","version":"3.90.0","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --format esm,cjs,iife --legacy-output","build":"tsup --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0","@types/react":"^17.0.0 || ^18.0.0","@types/react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.16.4","@testing-library/react":"^13.1.1","@testing-library/react-hooks":"^8.0.0","@testing-library/user-event":"^14.1.1","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^18.0.0","@types/react-dom":"^18.0.0","@types/react-router-dom":"^5.1.8","@types/testing-library__jest-dom":"^5.14.3","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"6.3.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.7.4"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","lodash-es":"^4.17.21","lodash":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","@tanstack/react-query-devtools":"^4.10.1","@tanstack/react-query":"^4.10.1","tslib":"^2.3.1","warn-once":"^0.1.0"},"repository":{"type":"git","url":"git+https://github.com/refinedev/refine.git","directory":"packages/core"},"author":{"name":"refine"},"license":"MIT","gitHead":"17dd5af3e4c9f7f09e1e707362c6f5a9d1cab8a8","publishConfig":{"access":"public"},"bugs":{"url":"https://github.com/refinedev/refine/issues"},"homepage":"https://github.com/refinedev/refine#readme","_id":"@pankod/refine-core@3.90.0","_nodeVersion":"16.18.0","_npmVersion":"8.19.2","dist":{"integrity":"sha512-DHw/T48h0jl8ARnvBo5n34TgUEukXyBK/upT5JQBxHFCcwg3p5uP0MkMhBbZw4znguM25U2UMt2N49jJXiIaJQ==","shasum":"01d52d8a0fd5c7f477a0c88f335a4e456285aa45","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.90.0.tgz","fileCount":515,"unpackedSize":2092201,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICJ804sN5fBwrwI76HyfU9Qnpm+z2/cGZ4QMUfdbTZzxAiB2Y0FqYw6bAmMyrklPr93QcecKJYLNq+CB4XbolCT3SA=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjfL1pACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrPTw//eK9fVh2dn+BuLieWdkg+81jLMRCpuuLfi0C9N4uREVM/ZHgb\r\newKFwex8QNhugYPoUWc12YH/sedlT+FTJHMEvOCWOzMjEa1I+r3Vrv+nnHdz\r\nqy2DgjfUjycxRx9xJ+DZ6jr7leBUk7cYPcVu3lmJDdrLZAXS4lR6QeJp3gxl\r\nCHvJgpRLMNhRqmcCJSfndhZ02UzMYmcSxSwrNFd8K9LhZb9/ZaP9Y7iewbLd\r\ngTvK1QdEj1eAWiE37/sBvDeuBaAjEzIJE8HyIGlW1o9SfEKaU2kT+SOjGQ/M\r\nn/i+L3f2aORskzS91mB5wxdri3JlZbUuL3vpkYWq2261mW2CIPWCCryL2mcD\r\nm4KGDjlVJUG6shd3P3cTOQ3Dxsde5feCdPTifbyneDEPfvzXR1CZFgzSI834\r\nr4hJz/rZ7/PIeUWZBpArvSUHXWiJmOyYFkIp6e19GPJpL+3CdbLr/trGwwkn\r\ne1jn0FuMIw/EYDEe+ElJmTi4lN7Rz/KlUJrPia/hJhBxtK838OvjwbdpuxSH\r\noDs9MwCB/6pKGiB6U6Ro8TOBy3ty6R/RDC1vmdAk+5rsE/HQENNF9WnrsZev\r\np0mYkKSk0w200ryr52pJyf401/eSaP/Xt5EGJt0YHJlsUm3xPqm0nZiVxcoQ\r\nSv+fHlFZrEqjJ2HqNNovHGc7HD55ie5Ii9w=\r\n=DdCJ\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"alicanerdurmaz","email":"alicanerdurmaz@gmail.com"},{"name":"salihozdmr","email":"salihozdemir94@gmail.com"},{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.90.0_1669119337241_0.31894669749915905"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.90.1":{"name":"@pankod/refine-core","version":"3.90.1","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --format esm,cjs,iife --legacy-output","build":"tsup --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0","@types/react":"^17.0.0 || ^18.0.0","@types/react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.16.4","@testing-library/react":"^13.1.1","@testing-library/react-hooks":"^8.0.0","@testing-library/user-event":"^14.1.1","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^18.0.0","@types/react-dom":"^18.0.0","@types/react-router-dom":"^5.1.8","@types/testing-library__jest-dom":"^5.14.3","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"6.3.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.7.4"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","lodash-es":"^4.17.21","lodash":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","@tanstack/react-query-devtools":"^4.10.1","@tanstack/react-query":"^4.10.1","tslib":"^2.3.1","warn-once":"^0.1.0"},"repository":{"type":"git","url":"git+https://github.com/refinedev/refine.git","directory":"packages/core"},"author":{"name":"refine"},"license":"MIT","gitHead":"17dd5af3e4c9f7f09e1e707362c6f5a9d1cab8a8","publishConfig":{"access":"public"},"readme":"<div align=\"center\" style=\"margin: 30px;\">\n<a href=\"https://refine.dev/\">\n  <img src=\"https://raw.githubusercontent.com/refinedev/refine/master/logo.png\"   style=\"width:250px;\" align=\"center\" />\n</a>\n<br />\n<br />\n\n<div align=\"center\">\n    <a href=\"https://refine.dev\">Home Page</a> |\n    <a href=\"https://discord.gg/refine\">Discord</a> |\n    <a href=\"https://refine.dev/examples/\">Examples</a> | \n    <a href=\"https://refine.dev/blog/\">Blog</a> | \n    <a href=\"https://refine.dev/docs/\">Documentation</a> | \n    <a href=\"https://github.com/refinedev/refine/projects/1\">Roadmap</a>\n</div>\n\n</div>\n<br/>\n\n<div align=\"center\"><strong>Build your <a href=\"https://reactjs.org/\">React</a>-based CRUD applications, without constraints.</strong><br>An Open source, headless web application framework developed with flexibility in mind.</div>\n\n<br />\n\n<div align=\"center\">\n\n[![Discord](https://img.shields.io/discord/837692625737613362.svg?label=&logo=discord&logoColor=ffffff&color=7389D8&labelColor=6A7EC2)](https://discord.gg/refine)\n[![Twitter Follow](https://img.shields.io/twitter/follow/refine_dev?style=social)](https://twitter.com/refine_dev)\n\n<a href=\"https://www.producthunt.com/posts/refine-3?utm_source=badge-top-post-badge&utm_medium=badge&utm_souce=badge-refine&#0045;3\" target=\"_blank\"><img src=\"https://api.producthunt.com/widgets/embed-image/v1/top-post-badge.svg?post_id=362220&theme=light&period=daily\" alt=\"refine - 100&#0037;&#0032;open&#0032;source&#0032;React&#0032;framework&#0032;to&#0032;build&#0032;web&#0032;apps&#0032;3x&#0032;faster | Product Hunt\" style=\"width: 250px; height: 54px;\" width=\"250\" height=\"54\" /></a>\n\n[![Awesome](https://github.com/refinedev/awesome-refine/raw/main/images/badge.svg)](https://github.com/refinedev/awesome-refine)\n[![Maintainability](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/maintainability)](https://codeclimate.com/github/pankod/refine/maintainability)\n[![Test Coverage](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/test_coverage)](https://codeclimate.com/github/pankod/refine/test_coverage)\n[![npm version](https://img.shields.io/npm/v/@pankod/refine-core.svg)](https://www.npmjs.com/package/@pankod/refine-core)\n[![npm](https://img.shields.io/npm/dm/@pankod/refine-core)](https://www.npmjs.com/package/@pankod/refine-core)\n[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.0-4baaaa.svg)](code_of_conduct.md)\n</div>\n\n<div align=\"center\" style=\"margin: 30px;\">\n  <img src=\"https://github.com/refinedev/refine/blob/master/documentation/static/img/refine-promo-gif.gif?raw=true\" style=\"width:688px;\"/>\n</div>\n\n\n## What is refine?\n**refine** is a React-based framework for rapid ✨ development of web applications. \nIt eliminates the repetitive tasks demanded by **CRUD** operations and provides industry standard solutions for critical parts like **authentication**, **access control**, **routing**, **networking**, **state management** and **i18n**.\n\n**refine** is *headless by design* offering unlimited styling and customization options. \n\n## What do you mean by \"headless\" ?\nInstead of being a limited set of pre-styled components, **refine** is a collection of helper `hooks`, `components` and `providers`. They are all decoupled from your *UI components* and *business logic*, so they never keep you from customizing your *UI* or coding your own flow.\n\n**refine** seamlessly works with any **custom design** or **UI framework you favor**. For convenience, it ships with ready-made integrations for [Ant Design System](https://ant.design/), [Material UI](https://mui.com/), [Mantine](https://mantine.dev/), and [Chakra UI](https://chakra-ui.com/).\n\n## Use cases\n**refine** shines on *data-intensive* applications like *admin panels*, *dashboards* and *internal tools*. Thanks to built-in **SSR support**, **refine** can also power *customer-facing* applications like *storefronts*.\n\n## Key Features\n\n⚙️ Zero-config, **one-minute setup** with a **single CLI command**\n\n🔌 Connectors for **15+ backend services** including [REST API](https://github.com/refinedev/refine/tree/master/packages/simple-rest), [GraphQL](https://github.com/refinedev/refine/tree/master/packages/graphql), [NestJs CRUD](https://github.com/refinedev/refine/tree/master/packages/nestjsx-crud), [Airtable](https://github.com/refinedev/refine/tree/master/packages/airtable), [Strapi](https://github.com/refinedev/refine/tree/master/packages/strapi), [Strapi v4](https://github.com/refinedev/refine/tree/master/packages/strapi-v4), [Strapi GraphQL](https://github.com/refinedev/refine/tree/master/packages/strapi-graphql), [Supabase](https://github.com/refinedev/refine/tree/master/packages/supabase), [Hasura](https://github.com/refinedev/refine/tree/master/packages/hasura), [Nhost](https://github.com/refinedev/refine/tree/master/packages/nhost), [Appwrite](https://github.com/refinedev/refine/tree/master/packages/appwrite), [Firebase](https://firebase.google.com/), [Directus](https://directus.io/) and [Altogic](https://github.com/refinedev/refine/tree/master/packages/altogic)\n\n🌐 **SSR support** with **Next.js** or **Remix**\n\n⚛ Perfect **state management** & **mutations** with **React Query**\n\n🔀 **Advanced routing** with any router library of your choice\n\n🔐 Providers for seamless **authentication** and **access control** flows\n\n⚡ Out-of-the-box support for **live / real-time applications**\n\n📄 Easy **audit logs** &** **document versioning**\n\n💬 Support for any **i18n** framework\n\n💪 Future-proof, **robust architecture**\n\n✅ Full **test coverage**\n\n## Quick Start\n\nThe fastest way to get started with **refine** is using the [superplate](https://github.com/pankod/superplate) project starter tool.\nRun the following command to create a new **refine** project configured with  [Ant Design System](https://ant.design/) as the default UI framework:\n\n```\nnpx superplate-cli --preset refine-antd my-project\n```\n\nOnce the setup is complete, navigate to the project folder and start your project with:\n\n```\nnpm run dev\n```\n\nYour **refine** application will be accessible at [http://localhost:3000](http://localhost:3000):\n![Welcome on board](https://github.com/refinedev/refine/blob/master/documentation/static/img/welcome-on-board.png?raw=true)\nLet's consume a public `fake REST API` and add two resources (*posts*, *categories*) to our project. Replace the contents of `src/App.tsx` with the following code:\n\n```tsx title=\"src/App.tsx\"\n\nimport { Refine, useMany } from \"@pankod/refine-core\";\nimport {\n    useTable,\n    List,\n    Table,\n    DateField,\n    Layout,\n    ReadyPage,\n    notificationProvider,\n    ErrorComponent,\n} from \"@pankod/refine-antd\";\nimport routerProvider from \"@pankod/refine-react-router-v6\";\nimport dataProvider from \"@pankod/refine-simple-rest\";\n\nimport \"@pankod/refine-antd/dist/styles.min.css\";\n\nconst App: React.FC = () => {\n    return (\n        <Refine\n            routerProvider={routerProvider}\n            dataProvider={dataProvider(\"https://api.fake-rest.refine.dev\")}\n            resources={[{ name: \"posts\", list: PostList }]}\n            Layout={Layout}\n            ReadyPage={ReadyPage}\n            notificationProvider={notificationProvider}\n            catchAll={<ErrorComponent />}\n        />\n    );\n};\n\nexport const PostList: React.FC = () => {\n    const { tableProps } = useTable<IPost>();\n\n    const categoryIds =\n        tableProps?.dataSource?.map((item) => item.category.id) ?? [];\n\n    const { data, isLoading } = useMany<ICategory>({\n        resource: \"categories\",\n        ids: categoryIds,\n        queryOptions: {\n            enabled: categoryIds.length > 0,\n        },\n    });\n\n    return (\n        <List>\n            <Table<IPost> {...tableProps} rowKey=\"id\">\n                <Table.Column dataIndex=\"title\" title=\"title\" />\n                <Table.Column\n                    dataIndex={[\"category\", \"id\"]}\n                    title=\"category\"\n                    render={(value: number) => {\n                        if (isLoading) {\n                            return \"loading...\";\n                        }\n\n                        return data?.data.find(\n                            (item: ICategory) => item.id === value,\n                        )?.title;\n                    }}\n                />\n                <Table.Column\n                    dataIndex=\"createdAt\"\n                    title=\"createdAt\"\n                    render={(value) => <DateField format=\"LLL\" value={value} />}\n                />\n            </Table>\n        </List>\n    );\n};\n\nexport default App;\n\ninterface IPost {\n  title: string;\n  createdAt: string;\n  category: { id: number };\n}\n\ninterface ICategory {\n  id: number;\n  title: string;\n}\n\n```\n\nNow, you should see the output as a table populated with `post` & `category` data:\n![First example result](https://github.com/refinedev/refine/blob/master/documentation/static/img/first-example-result.png?raw=true)\n## Next Steps\n\n👉 Jump to [Refine<>Ant Design Tutorial](https://refine.dev/docs/ui-frameworks/antd/tutorial/) to continue your work and turn the example into a full-blown CRUD application.\n\n👉 Check out the [Refine<>Tailwind Tutorial](https://refine.dev/docs/tutorials/headless-tutorial/) to learn how to use **refine** in a pure *headless* way.\n\n👉 Visit [Learn the Basics Page](https://refine.dev/docs/getting-started/overview/) to get informed about the fundemental concepts.\n\n👉 Read more on [Guides & Concepts](https://refine.dev/docs/guides-and-concepts/access-control/) for different usage scenarios.\n\n👉 See the real-life [Finefoods Demo](https://refine.dev/demo/) project.\n\n👉 Play with interactive [Examples](https://refine.dev/docs/examples/)\n\n## Roadmap\nYou can find refine's <a href=\"https://github.com/refinedev/refine/projects/1\">Public Roadmap here!</a> \n\n## Stargazers\n\n[![Stargazers repo roster for refinedev/refine](https://reporoster.com/stars/refinedev/refine)](https://github.com/refinedev/refine/stargazers)\n\n## Contribution\n\nIf you have a bug to report, do not hesitate to file an issue.\n\nIf you are willing to fix an issue or propose a feature; all PRs with clear explanations are welcome and encouraged.\n\n## License\n\nLicensed under the MIT License, Copyright © 2021-present refine\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/refinedev/refine/issues"},"homepage":"https://github.com/refinedev/refine#readme","_id":"@pankod/refine-core@3.90.1","_nodeVersion":"16.18.1","_npmVersion":"8.19.2","dist":{"integrity":"sha512-3DA3ybKFonQ+s5M80LrgIvjKy1QCKqR3RvrS+936Zo71lhT+/R56ougzqVoMvtE7MpMc3nOP3ctlolgFrNMblA==","shasum":"f43e162956fdea82256b36dfb7f11d77934897cd","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.90.1.tgz","fileCount":515,"unpackedSize":2092938,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCMxF5kTSSSGRAa5fN/Vd6+26W/T508TgpdP3s9XEG9lgIhAKXNxnu06zyUvahGF5nb2P4/af6Mr0F4Go3a+ck4NtVS"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjhKWrACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrGew//bhktQxrTIRvswisu9iseVh9G1Hb1LdRNVxgiIg7Mc8PG2A3z\r\ntUHIS+0UdOjZRbmpKO2n4qqsWGt28vyDq7YBoJTEi9aeb8GCCeGR4xEUfKjj\r\nWhltlSWwiatYaz5GuCmqd30xBYU1S7B5HoHgfM5PlGfoG/F8J/oDPdWGDjaj\r\nbQ+8h4PWFTPpPGRaTEIptsVqORzqKaRxqGxWmTpULI/TcjEG0dP2USR534J9\r\n737nHy6Q1grb48FIRrf4DIp9z9Xpolqmmcs/kw/N8xenr/3P+9MlPj5x5R9O\r\nMeELwhEBhThenHXyLkeZs/PMtzd2vNEGYXBPXVtKaDloRVH0EfJwaLA7pjpG\r\ntChnFAYkk4BaoPq75txxC6yofzM/UwBtMIXLEnEnVMs2AQ0OeMmcYj7h239P\r\nUhbJUxLbWONr+xKOJYATKFytyI/4bFRCc0CoCFNg0dN/VEBc7yhPh3iYUpWe\r\nIL47c+Pk+GZks0WfOiyH/77UdtcXvPRRvtSoQ7ODVjKWEMy+AMMT5ejPZ7kq\r\ntFfcbGAi0c/7dqxeXsyAJgnN69BMJ+Ny9SOGNKnMjc82Y+j6mH50LHN0uQRP\r\nIT1jvqQEWMulBrqyHRz8CJF8rUs1wj1SQ3Hh2YVxA/fE3RaGGaSewHq9MOss\r\naSKMyV0W5GeBy6o6OQejZgJbz8ehBcbEVms=\r\n=oE3A\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"alicanerdurmaz","email":"alicanerdurmaz@gmail.com"},{"name":"salihozdmr","email":"salihozdemir94@gmail.com"},{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.90.1_1669637547261_0.9724235839179167"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.90.2":{"name":"@pankod/refine-core","version":"3.90.2","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --format esm,cjs,iife --legacy-output","build":"tsup --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0","@types/react":"^17.0.0 || ^18.0.0","@types/react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.16.4","@testing-library/react":"^13.1.1","@testing-library/react-hooks":"^8.0.0","@testing-library/user-event":"^14.1.1","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^18.0.0","@types/react-dom":"^18.0.0","@types/react-router-dom":"^5.1.8","@types/testing-library__jest-dom":"^5.14.3","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"6.3.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.7.4"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","lodash-es":"^4.17.21","lodash":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","@tanstack/react-query-devtools":"^4.10.1","@tanstack/react-query":"^4.10.1","tslib":"^2.3.1","warn-once":"^0.1.0"},"repository":{"type":"git","url":"git+https://github.com/refinedev/refine.git","directory":"packages/core"},"author":{"name":"refine"},"license":"MIT","gitHead":"17dd5af3e4c9f7f09e1e707362c6f5a9d1cab8a8","publishConfig":{"access":"public"},"bugs":{"url":"https://github.com/refinedev/refine/issues"},"homepage":"https://github.com/refinedev/refine#readme","_id":"@pankod/refine-core@3.90.2","_nodeVersion":"16.18.1","_npmVersion":"8.19.2","dist":{"integrity":"sha512-J1Oi3j4svMlHEJtCB4mverlnWbXPUsG3iLBs68cwL4RN7CZ9YJtwkNmp+bOPYn7LP+mT/X7eto2nYF1zAsZMoQ==","shasum":"ebc24c6666b1acefea87b265e7feef600ef6eb23","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.90.2.tgz","fileCount":515,"unpackedSize":2093239,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGVUuPqL9ML7Bf9U+UZ2JIjh+kHrJhT7dCiSgW+T8li+AiB9MYuz1Fce5wrcW986SrHOVbfvfph7zO+vG8vsZXA64w=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjhKrmACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq9mg//VUT5c83XvEDtATFWRyBLIC/XHi2pGOeipNwrEgLdUtb212R7\r\nWHqWfVbUVmxZpehS8w3FGfwVh7aUdnk4HbU5ErkVpfP99zJU+7TlktYlSJ4C\r\nTClCN9YRj93g02Fbv4pOu+ibPXMqTShWBKHY5Ggnc914T0DYPC17NMGaU2zS\r\ngpfbZ9VUX7S+7uzyVgNrnTIUXcdKE+5NltGdouV+6Lq3UeY9/5WJARuKuHkK\r\njCHZ4xSpISOKRYuLzeU7KlUco6rfE3T6cgUa4Ja8FgGm20EvQLochxx/YYeK\r\njckxFoxYV1X0CCiGuD9Nzki5/6zsw/cFCO2V2HLcEGafmPCYYtaJh2pituS4\r\nRuRBKM9jXkDqLc41iC0wk90oEp0iRWfytsSb/51mMxhb7Zxz3AgbK4PONFsf\r\n9WnFaMq1Vw+EeKLW7QjwiPrKmEm8DsyOk5MdmQRT+vess2EIuQVh4rK/eJ9h\r\nqLrbXHGjK4nBw5N0hVyyVMHxDViFD47kM4Vk3wmQF/I34rGT1ss+KpGsNtyF\r\nIHXHyvppPI5r45PBgyh1JN5wwcZZB4UxmWxi1BRf1QNNusTA/Ces4+4QNS2m\r\nygYDEDeRhMeqmavzrbvSfccIT5lcGs88AZcCZXfAtNocI9wlUyQ6u4cCNuCH\r\n67NYyzI8fKjcLNwX0yBlqec3Yy7JLtn1cF0=\r\n=8elW\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"alicanerdurmaz","email":"alicanerdurmaz@gmail.com"},{"name":"salihozdmr","email":"salihozdemir94@gmail.com"},{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.90.2_1669638885867_0.3170248795975352"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.90.4":{"name":"@pankod/refine-core","version":"3.90.4","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --format esm,cjs,iife --legacy-output","build":"tsup --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0","@types/react":"^17.0.0 || ^18.0.0","@types/react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.16.4","@testing-library/react":"^13.1.1","@testing-library/react-hooks":"^8.0.0","@testing-library/user-event":"^14.1.1","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^18.0.0","@types/react-dom":"^18.0.0","@types/react-router-dom":"^5.1.8","@types/testing-library__jest-dom":"^5.14.3","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"6.3.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.7.4"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","lodash-es":"^4.17.21","lodash":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","@tanstack/react-query-devtools":"^4.10.1","@tanstack/react-query":"^4.10.1","tslib":"^2.3.1","warn-once":"^0.1.0"},"repository":{"type":"git","url":"git+https://github.com/refinedev/refine.git","directory":"packages/core"},"author":{"name":"refine"},"license":"MIT","gitHead":"17dd5af3e4c9f7f09e1e707362c6f5a9d1cab8a8","publishConfig":{"access":"public"},"bugs":{"url":"https://github.com/refinedev/refine/issues"},"homepage":"https://github.com/refinedev/refine#readme","_id":"@pankod/refine-core@3.90.4","_nodeVersion":"16.18.1","_npmVersion":"8.19.2","dist":{"integrity":"sha512-6wB0PvVmYSvnSsdZrs2KQ9L/zLH9iTNTQLVS2KEMDo3nKL2zWUb+nLRFFj8uMSxp6ULNijZDAa/jN4yFxDlC4w==","shasum":"2d6a3dda7d8101cf312c3b1f0406c8af5f49b46e","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.90.4.tgz","fileCount":515,"unpackedSize":2094471,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGn6f90HBj/AbpI+5IRSEb17Srp6UA5SSBhAqVOoU3bgAiB/VauvZyb0zp3zNepmWU2FHV0Tj7cJS4lUmmmkz2m+YA=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjhyTVACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmooPhAAlVwKpWC37Jm4o7lJaxkMMQ3OiDBlgC1NknaUkokCLa+CcoSQ\r\n15faxdSYc6HfdqAMhw0dZrJbQgZR+9XIRC/KYxY4BPRurqyMiA1uAd0mexmJ\r\nu/ydCxF5aNHisDs0yot/FnEB5zHnXNmDefijBFfwTwfF1QYGOohjU7vjMasc\r\nKe6M2Y/cd5zh2xg7Ul9JzjAt0NtmCiBVQZp0QfN4p6M37wkuwq/w/bqv28d6\r\nkmY63R9+6J55h3TtDWdfYn4/SSjCbf6vnCIU6YRe1FGKoZUsqftdpqA6O7Sz\r\n1RVUTS2BzIVNgD+f4GCI1/PMDwZP8eu8LXZbSr6Dpp/Re8dL4l9Q+vcqb4Lv\r\n6t4+J1J1v09cJWaX9TEAqEJ/uKHcCclDA4HZ3zqiIEDyzq7uGpUqkotlI3/r\r\nh4bno27LosS02jJ5MV0/XTNqNFl55ADQ+GfgCw4defTwIenZnqG+bJ3Sf0Bh\r\nBfHpn5Skc2EBKcyGe+QyxeJ+/w+z+FNxzsPnKYVU2q+xVvJUJXwIbu6BZQBj\r\ngk2/7OmjjlVY9xxsXSGOYAsU9Yqh8W53LU3F/S0m+BAry0aPXO/5HHBmjkpc\r\nyW4EtkZwuMMY+iPutpFIbAY5NsCEI6+MRXjWESx7pDdR+B13GMrCGip0K0wd\r\nrd3/LmBLS3DfT7lkp8e9Cboy530VXmbfJNo=\r\n=B56Q\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"alicanerdurmaz","email":"alicanerdurmaz@gmail.com"},{"name":"salihozdmr","email":"salihozdemir94@gmail.com"},{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.90.4_1669801172619_0.44234791854004385"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.90.5":{"name":"@pankod/refine-core","version":"3.90.5","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --format esm,cjs,iife --legacy-output","build":"tsup --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0","@types/react":"^17.0.0 || ^18.0.0","@types/react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.16.4","@testing-library/react":"^13.1.1","@testing-library/react-hooks":"^8.0.0","@testing-library/user-event":"^14.1.1","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^18.0.0","@types/react-dom":"^18.0.0","@types/react-router-dom":"^5.1.8","@types/testing-library__jest-dom":"^5.14.3","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"6.3.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.7.4"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","lodash-es":"^4.17.21","lodash":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","@tanstack/react-query-devtools":"^4.10.1","@tanstack/react-query":"^4.10.1","tslib":"^2.3.1","warn-once":"^0.1.0"},"repository":{"type":"git","url":"git+https://github.com/refinedev/refine.git","directory":"packages/core"},"author":{"name":"refine"},"license":"MIT","gitHead":"17dd5af3e4c9f7f09e1e707362c6f5a9d1cab8a8","publishConfig":{"access":"public"},"readme":"<br/>\n\n<div align=\"center\" style=\"margin: 30px;\">\n<a href=\"https://refine.dev/\">\n  <img src=\"https://refine.ams3.cdn.digitaloceanspaces.com/refine_logo.png\"   style=\"width:250px;\" align=\"center\" />\n</a>\n<br />\n<br />\n\n<div align=\"center\">\n    <a href=\"https://refine.dev\">Home Page</a> |\n    <a href=\"https://discord.gg/refine\">Discord</a> |\n    <a href=\"https://refine.dev/examples/\">Examples</a> | \n    <a href=\"https://refine.dev/blog/\">Blog</a> | \n    <a href=\"https://refine.dev/docs/\">Documentation</a> | \n    <a href=\"https://github.com/refinedev/refine/projects/1\">Roadmap</a>\n</div>\n</div>\n\n<br />\n\n<div align=\"center\"><strong>Build your <a href=\"https://reactjs.org/\">React</a>-based CRUD applications, without constraints.</strong><br>An open source, headless web application framework developed with flexibility in mind.\n\n<br />\n<br />\n\n[![Discord](https://img.shields.io/discord/837692625737613362.svg?label=&logo=discord&logoColor=ffffff&color=7389D8&labelColor=6A7EC2)](https://discord.gg/refine)\n[![Twitter Follow](https://img.shields.io/twitter/follow/refine_dev?style=social)](https://twitter.com/refine_dev)\n\n<a href=\"https://www.producthunt.com/posts/refine-3?utm_source=badge-top-post-badge&utm_medium=badge&utm_souce=badge-refine&#0045;3\" target=\"_blank\"><img src=\"https://api.producthunt.com/widgets/embed-image/v1/top-post-badge.svg?post_id=362220&theme=light&period=daily\" alt=\"refine - 100&#0037;&#0032;open&#0032;source&#0032;React&#0032;framework&#0032;to&#0032;build&#0032;web&#0032;apps&#0032;3x&#0032;faster | Product Hunt\" style=\"width: 250px; height: 54px;\" width=\"250\" height=\"54\" /></a>\n\n</div>\n\n<div align=\"center\">\n\n[![Awesome](https://github.com/refinedev/awesome-refine/raw/main/images/badge.svg)](https://github.com/refinedev/awesome-refine)\n[![Maintainability](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/maintainability)](https://codeclimate.com/github/pankod/refine/maintainability)\n[![Test Coverage](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/test_coverage)](https://codeclimate.com/github/pankod/refine/test_coverage)\n[![npm version](https://img.shields.io/npm/v/@pankod/refine-core.svg)](https://www.npmjs.com/package/@pankod/refine-core)\n[![npm](https://img.shields.io/npm/dm/@pankod/refine-core)](https://www.npmjs.com/package/@pankod/refine-core)\n[![](https://img.shields.io/github/commit-activity/m/refinedev/refine)](https://github.com/refinedev/refine/commits/next)\n[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.0-4baaaa.svg)](CODE_OF_CONDUCT.md)\n\n</div>\n\n<br/>\n<a href=\"https://refine.dev/\">\n<picture>\n  <source media=\"(prefers-color-scheme: dark)\" srcset=\"https://user-images.githubusercontent.com/18739364/200257042-3f2aa7f7-a07f-4824-8d2a-b25f26b6fd32.png\">\n  <img alt=\"how-works-refine\" src=\"https://user-images.githubusercontent.com/18739364/200257209-8fc0c8b1-2568-453e-873f-00513434deed.png\">\n</picture>\n</a>\n\n## What is refine?\n\n**refine** is a React-based framework for the rapid ✨ development of web applications.\nIt eliminates repetitive tasks demanded by **CRUD** operations and provides industry standard solutions for critical parts like **authentication**, **access control**, **routing**, **networking**, **state management**, and **i18n**.\n\n**refine** is _headless by design_, thereby offering unlimited styling and customization options.\n\n## What do you mean by \"headless\" ?\n\nInstead of being a limited set of pre-styled components, **refine** is a collection of helper `hooks`, `components`, and `providers`. They are all decoupled from _UI components_ and _business logic_, so that they never keep you from customizing your _UI_ or coding your own flow.\n\n**refine** seamlessly works with any **custom design** or **UI framework** that you favor. For convenience, it ships with ready-made integrations for [Ant Design System](https://ant.design/), [Material UI](https://mui.com/), [Mantine](https://mantine.dev/), and [Chakra UI](https://chakra-ui.com/).\n\n## Use cases\n\n**refine** shines on _data-intensive⚡_ applications like **admin panels**, **dashboards** and **internal tools**. Thanks to the built-in **SSR support**, **refine** can also power _customer-facing_ applications like **storefronts**.\n\nYou can take a look at some live examples that can be built using **refine** from scratch:\n\n<a href=\"https://s.refine.dev/readme-admin-panel\" target=\"_blank\">\n <img src=\"https://user-images.githubusercontent.com/18739364/204285956-cc20fa11-b769-4bd5-b8f6-9c05a283ac85.gif\"   style=\"width:267px;\"  />\n</a>\n\n <a href=\"https://s.refine.dev/readme-medium-clone\" target=\"_blank\">\n<img src=\"https://user-images.githubusercontent.com/18739364/204285047-8f24f1f4-65ea-4952-83ed-81e92cdd5b90.gif\"   style=\"width:200px;\"  />\n</a>\n\n <a href=\"https://s.refine.dev/readme-ssr-storefront\" target=\"_blank\">\n<img src=\"https://user-images.githubusercontent.com/18739364/204285039-1ce0cb06-fbf8-4704-89c9-2e004620c9a8.gif\"   style=\"width:200px;\"  />\n</a>\n\n<br/>\n<br/>\n\n[👉 Refer to most popular real use case examples](https://refine.dev/examples/)\n\n[👉 More **refine** powered different usage scenarios can be found here](https://refine.dev/docs/examples/)\n\n## Key Features\n\n⚙️ Zero-config, **one-minute setup** with a **single CLI command**\n\n🔌 Connectors for **15+ backend services** including [REST API](https://github.com/refinedev/refine/tree/master/packages/simple-rest), [GraphQL](https://github.com/refinedev/refine/tree/master/packages/graphql), [NestJs CRUD](https://github.com/refinedev/refine/tree/master/packages/nestjsx-crud), [Airtable](https://github.com/refinedev/refine/tree/master/packages/airtable), [Strapi](https://github.com/refinedev/refine/tree/master/packages/strapi), [Strapi v4](https://github.com/refinedev/refine/tree/master/packages/strapi-v4), [Strapi GraphQL](https://github.com/refinedev/refine/tree/master/packages/strapi-graphql), [Supabase](https://github.com/refinedev/refine/tree/master/packages/supabase), [Hasura](https://github.com/refinedev/refine/tree/master/packages/hasura), [Nhost](https://github.com/refinedev/refine/tree/master/packages/nhost), [Appwrite](https://github.com/refinedev/refine/tree/master/packages/appwrite), [Firebase](https://firebase.google.com/), [Directus](https://directus.io/) and [Altogic](https://github.com/refinedev/refine/tree/master/packages/altogic)\n\n🌐 **SSR support** with **Next.js** or **Remix**\n\n🔍 Auto-generated **CRUD** UIs from **your API data structure**\n\n⚛ Perfect **state management** & **mutations** with **React Query**\n\n🔀 **Advanced routing** with any router library of your choice\n\n🔐 Providers for seamless **authentication** and **access control** flows\n\n⚡ Out-of-the-box support for **live / real-time applications**\n\n📄 Easy **audit logs** & **document versioning**\n\n💬 Support for any **i18n** framework\n\n💪 Future-proof, **robust architecture**\n\n⌛️ Built-in CLI with time-saving features\n\n✅ Full **test coverage**\n\n## Quick Start\n\nThe fastest way to get started with **refine** is by using the `create refine-app` project starter tool.\nRun the following command to create a new **refine** project configured with [Ant Design System](https://ant.design/) as the default UI framework:\n\n```\nnpm create refine-app -- --preset refine-antd\n```\n\nOnce the setup is complete, navigate to the project folder and start your project with:\n\n```\nnpm run dev\n```\n\n<br/>\n\nYour **refine** application will be accessible at [http://localhost:3000](http://localhost:3000):\n\n<a href=\"http://localhost:3000\">![Welcome on board](https://refine.ams3.cdn.digitaloceanspaces.com/website/static/img/welcome-on-board.png)</a>\n\n<br/>\n\nLet's consume a public `fake REST API` and add two resources (_posts_, _categories_) to our project. Replace the contents of `src/App.tsx` with the following code:\n\n```tsx title=\"src/App.tsx\"\nimport { Refine } from \"@pankod/refine-core\";\nimport {\n    Layout,\n    ReadyPage,\n    notificationProvider,\n    ErrorComponent,\n} from \"@pankod/refine-antd\";\nimport routerProvider from \"@pankod/refine-react-router-v6\";\nimport dataProvider from \"@pankod/refine-simple-rest\";\n\nimport { AntdInferencer } from \"@pankod/refine-inferencer/antd\";\n\nimport \"@pankod/refine-antd/dist/styles.min.css\";\n\nconst App: React.FC = () => {\n    return (\n        <Refine\n            routerProvider={routerProvider}\n            dataProvider={dataProvider(\"https://api.fake-rest.refine.dev\")}\n            Layout={Layout}\n            ReadyPage={ReadyPage}\n            notificationProvider={notificationProvider}\n            catchAll={<ErrorComponent />}\n            resources={[\n                {\n                    name: \"posts\",\n                    list: AntdInferencer,\n                    show: AntdInferencer,\n                    create: AntdInferencer,\n                    edit: AntdInferencer,\n                    canDelete: true,\n                },\n                {\n                    name: \"categories\",\n                    list: AntdInferencer,\n                    show: AntdInferencer,\n                },\n            ]}\n        />\n    );\n};\n\nexport default App;\n```\n\n<br/>\n\n🚀 Thanks to **refine Inferencer package**, it guesses the configuration to use for the `list`, `show`, `create`, and `edit` pages based on the data fetched from the API and generates the pages automatically.\n\nNow, you should see the output as a table populated with `post` & `category` data:\n\n![First example result](https://refine.ams3.cdn.digitaloceanspaces.com/website/static/img/readme-quick-start.png)\n\n<br/>\n\nYou can get the auto-generated pages codes by clicking the `Show Code` button on each page. Afterward, simply pass the pages to the `resources` array by replacing with the Inferencer components.\n\n## Next Steps\n\n👉 Jump to [Refine<>Ant Design Tutorial](https://refine.dev/docs/ui-frameworks/antd/tutorial/) to continue your work and turn the example into a full-blown CRUD application.\n\n👉 Check out the [Refine<>Tailwind Tutorial](https://refine.dev/docs/tutorials/headless-tutorial/) to learn how to use **refine** in a pure _headless_ way.\n\n👉 Visit [Learn the Basics Page](https://refine.dev/docs/getting-started/overview/) to get informed about the fundamental concepts.\n\n👉 Read more on [Advanced Tutorials\n](https://refine.dev/docs/advanced-tutorials/) for different usage scenarios.\n\n👉 See the real-life [Finefoods Demo](https://refine.dev/demo/) project.\n\n👉 Play with interactive [Examples](https://refine.dev/docs/examples/)\n\n## Roadmap\n\nYou can find refine's <a href=\"https://github.com/refinedev/refine/projects/1\">Public Roadmap here!</a>\n\n## Stargazers\n\n[![Stargazers repo roster for refinedev/refine](https://reporoster.com/stars/refinedev/refine)](https://github.com/refinedev/refine/stargazers)\n\n## Contribution\n\n[👉 Refer to contribution docs for more information](https://refine.dev/docs/contributing/#ways-to-contribute)\n\nIf you have any doubts related to the project or want to discuss something, then join our [Discord Server](https://discord.gg/refine).\n\n## Our ♥️ Contributors\n\n<a href=\"https://github.com/refinedev/refine/graphs/contributors\">\n  <img src=\"https://contrib.rocks/image?repo=refinedev/refine\" />\n</a>\n\n## License\n\nLicensed under the MIT License, Copyright © 2021-present Refinedev\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/refinedev/refine/issues"},"homepage":"https://github.com/refinedev/refine#readme","_id":"@pankod/refine-core@3.90.5","_nodeVersion":"16.18.1","_npmVersion":"8.19.2","dist":{"integrity":"sha512-UjoWiBS2/4K1JAGwtO9wa88gTYyfd3yHyrOQZBMLSocTh4YlM6IJB4z8CRqF5dG5K80xruFXnTi3TWFux0KBjw==","shasum":"01b83d3bd7230919b98de29936ed50b8b85d4bd2","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.90.5.tgz","fileCount":515,"unpackedSize":2096093,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDlSVEJxMkAyRW2BD7ZZNjqBqQNVg5ARikEmoihcctbuQIgNwGNAq3xNmJTO/DH765wuO7Xr4p4da9+dvOCSnhEezA="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjmaamACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq1mQ//W264nWraOnh4T0jjx2Zf+t2TgiwqUUuEoJUOFqet1D6wwMGH\r\nUbJV7n3L0MVU2UO3pQvelDn8GJ5ZDcajiP5gTDDNAzCxkYkuFIGe4l1cPRcK\r\nRx7FCpBdDA7Z2hPNow25PJpVslzxaQvMCMuScna/RHCVKgaCIdPjv7ewPnom\r\nK47UO67/yD9vAUVVjc8VM7i3VQwWcdM/nodUI0zxZakobml/BuVGpYj9cRXB\r\nxHE8T63SEOf6QimLAvQECjwrHuE4mu3MFm6rjJgoFixlAFNQEcjoghCBOQJv\r\nro/GflQVYi+h5I9W0ozLs7G+qaexrL8/FcWrm9dZ0tfmq2hAlrtHuidl+5hG\r\nwxZRCrPTFG1thkRMtIf47+G0Y6a8jV5yH7nZaLTn+GJdW/u7kyqL4C3XCcIm\r\nKEzeOSSaiHd2NjuYC6v96BXmAvVAgUFp4xoy/rjetHKQEJhLqWo7xZho2Bpc\r\nfFBhitcrSLBx746U79Ms8PXtxm6zBC4k3hp5vcBKmUkF9/zKdxSBLYUvqTWx\r\nBjVdIvjdhsc4rX3biIYELWFXm6DeGa0kwFTEzWcFZNi3Nzs60rdba8auKQbJ\r\n4Plw1JQCpC8iBpFeG9bZicEk32kyYeSR+nSN003spSKWMutcn98Z/eR1dIkS\r\nO4YkZKNfivccoI8rtYmXmo7KPjjwSYk/UAM=\r\n=9tyg\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"alicanerdurmaz","email":"alicanerdurmaz@gmail.com"},{"name":"salihozdmr","email":"salihozdemir94@gmail.com"},{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.90.5_1671014054211_0.6779804987356581"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.90.6":{"name":"@pankod/refine-core","version":"3.90.6","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --format esm,cjs,iife --legacy-output","build":"tsup --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0","@types/react":"^17.0.0 || ^18.0.0","@types/react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.16.4","@testing-library/react":"^13.1.1","@testing-library/react-hooks":"^8.0.0","@testing-library/user-event":"^14.1.1","@types/jest":"^26.0.24","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^18.0.0","@types/react-dom":"^18.0.0","@types/react-router-dom":"^5.1.8","@types/testing-library__jest-dom":"^5.14.3","identity-obj-proxy":"^3.0.0","jest":"^27.5.1","react-router-dom":"6.3.0","ts-jest":"^27.1.3","tsup":"^5.11.13","typescript":"^4.7.4"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","lodash-es":"^4.17.21","lodash":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","@tanstack/react-query-devtools":"^4.10.1","@tanstack/react-query":"^4.10.1","tslib":"^2.3.1","warn-once":"^0.1.0"},"repository":{"type":"git","url":"git+https://github.com/refinedev/refine.git","directory":"packages/core"},"author":{"name":"refine"},"license":"MIT","gitHead":"17dd5af3e4c9f7f09e1e707362c6f5a9d1cab8a8","publishConfig":{"access":"public"},"bugs":{"url":"https://github.com/refinedev/refine/issues"},"homepage":"https://github.com/refinedev/refine#readme","_id":"@pankod/refine-core@3.90.6","_nodeVersion":"16.18.1","_npmVersion":"8.19.2","dist":{"integrity":"sha512-/xoE1frM81arH3w/aZny0jqJPHueQa/uV4/CXKvwLemI+80ylW8zAZT0rPC2qaDsQOK7294FEGQxsD4M8deRQw==","shasum":"15d9e1c28e87ae2f1a0582ea2149e1b556ec9f9a","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.90.6.tgz","fileCount":515,"unpackedSize":2096651,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC4hH/cYEy3mMly82hO2mPqpAgnC6+G2ANGAdg3C9byuAIgRuG+JPecQXnAezCoYkvaJdKdQwx4+dAdYnNMd84AlEE="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjmbnDACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmrq6A//W93GDGTNiFFuZN9F57vVJKuv61toE1W/zpHuhAsxUWeGsann\r\nXYyo1MxMSnKCjkPrYE1aZmisiTaKVvKQeK00uQjf5ivw/PsLw4gBQ7vkVKMi\r\niSBFQvEGcvzADgNDcV2V4Kl597XT1EdAwJkYAwrs3o5AGYPWHczsgrIBTtZi\r\nbovJ96btpYe/tMtT7tdC5UI20ZUjY0I1uI0neA6eVgKhYOf2dHQrmz+WHE2L\r\nbov8Dm4LAmozP7dmu6aAb2EbVFKnoj1zuarsK6ZakyzDu/97jE5nk24TipO+\r\n1eR9K1+F7o3TSiGRZ3SeHRmVkbunLLDn1L39IgmnzB7tVxAMjtgUCP7p5bNL\r\nrcmhLX0UeikCPf/oe/6tSFass/hZmbybblYFMIiPYtzzaEZx+vJGxIlpkuIC\r\nIs0Wz2gzKqpUsXb+S1JY5Mz1166Xi9JaL5ti+WRbZEjbuTPz0zfxk7Her/0S\r\n7xv3wVl43MIDB4VBWvVKZcyYM/DB4jzH82l6JtPWWfFhiCSxcr46GEDovfZo\r\ni0vUZ0pWiajxE8Rwrif911Hxu/5ix0+n2TUyxnwav4I/2IB7xDIJNnAOEebi\r\n3vUsCW4p+BPVhAFMStHNqIXHzGrI1pRLNRVGNAc+Fd+E9N8vuXFF8/GIjSi0\r\njMmYq4JUd/xbuLFutXTAHhCi8jZGzepZAMo=\r\n=OzDC\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"alicanerdurmaz","email":"alicanerdurmaz@gmail.com"},{"name":"salihozdmr","email":"salihozdemir94@gmail.com"},{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.90.6_1671018946998_0.11219019427212906"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.91.0":{"name":"@pankod/refine-core","version":"3.91.0","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --format esm,cjs,iife --legacy-output","build":"tsup --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0","@types/react":"^17.0.0 || ^18.0.0","@types/react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.16.4","@testing-library/react":"^13.1.1","@testing-library/react-hooks":"^8.0.0","@testing-library/user-event":"^14.1.1","@types/jest":"^29.2.4","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^18.0.0","@types/react-dom":"^18.0.0","@types/react-router-dom":"^5.1.8","@types/testing-library__jest-dom":"^5.14.3","identity-obj-proxy":"^3.0.0","jest":"^29.3.1","jest-environment-jsdom":"^29.3.1","react-router-dom":"6.3.0","ts-jest":"^29.0.3","tsup":"^5.11.13","typescript":"^4.7.4"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","lodash-es":"^4.17.21","lodash":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","@tanstack/react-query-devtools":"^4.10.1","@tanstack/react-query":"^4.10.1","tslib":"^2.3.1","warn-once":"^0.1.0"},"repository":{"type":"git","url":"git+https://github.com/refinedev/refine.git","directory":"packages/core"},"author":{"name":"refine"},"license":"MIT","gitHead":"17dd5af3e4c9f7f09e1e707362c6f5a9d1cab8a8","publishConfig":{"access":"public"},"readme":"<br/>\n\n<div align=\"center\" style=\"margin: 30px;\">\n<a href=\"https://refine.dev/\">\n  <img src=\"https://refine.ams3.cdn.digitaloceanspaces.com/refine_logo.png\"   style=\"width:250px;\" align=\"center\" />\n</a>\n<br />\n<br />\n\n<div align=\"center\">\n    <a href=\"https://refine.dev\">Home Page</a> |\n    <a href=\"https://discord.gg/refine\">Discord</a> |\n    <a href=\"https://refine.dev/examples/\">Examples</a> | \n    <a href=\"https://refine.dev/blog/\">Blog</a> | \n    <a href=\"https://refine.dev/docs/\">Documentation</a> | \n    <a href=\"https://github.com/refinedev/refine/projects/1\">Roadmap</a>\n</div>\n</div>\n\n<br />\n\n<div align=\"center\"><strong>Build your <a href=\"https://reactjs.org/\">React</a>-based CRUD applications, without constraints.</strong><br>An open source, headless web application framework developed with flexibility in mind.\n\n<br />\n<br />\n\n[![Discord](https://img.shields.io/discord/837692625737613362.svg?label=&logo=discord&logoColor=ffffff&color=7389D8&labelColor=6A7EC2)](https://discord.gg/refine)\n[![Twitter Follow](https://img.shields.io/twitter/follow/refine_dev?style=social)](https://twitter.com/refine_dev)\n\n<a href=\"https://www.producthunt.com/posts/refine-3?utm_source=badge-top-post-badge&utm_medium=badge&utm_souce=badge-refine&#0045;3\" target=\"_blank\"><img src=\"https://api.producthunt.com/widgets/embed-image/v1/top-post-badge.svg?post_id=362220&theme=light&period=daily\" alt=\"refine - 100&#0037;&#0032;open&#0032;source&#0032;React&#0032;framework&#0032;to&#0032;build&#0032;web&#0032;apps&#0032;3x&#0032;faster | Product Hunt\" style=\"width: 250px; height: 54px;\" width=\"250\" height=\"54\" /></a>\n\n</div>\n\n<div align=\"center\">\n\n[![Awesome](https://github.com/refinedev/awesome-refine/raw/main/images/badge.svg)](https://github.com/refinedev/awesome-refine)\n[![Maintainability](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/maintainability)](https://codeclimate.com/github/pankod/refine/maintainability)\n[![Test Coverage](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/test_coverage)](https://codeclimate.com/github/pankod/refine/test_coverage)\n[![npm version](https://img.shields.io/npm/v/@pankod/refine-core.svg)](https://www.npmjs.com/package/@pankod/refine-core)\n[![npm](https://img.shields.io/npm/dm/@pankod/refine-core)](https://www.npmjs.com/package/@pankod/refine-core)\n[![](https://img.shields.io/github/commit-activity/m/refinedev/refine)](https://github.com/refinedev/refine/commits/next)\n[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.0-4baaaa.svg)](CODE_OF_CONDUCT.md)\n\n</div>\n\n<br/>\n<a href=\"https://refine.dev/\">\n<picture>\n  <source media=\"(prefers-color-scheme: dark)\" srcset=\"https://user-images.githubusercontent.com/18739364/200257042-3f2aa7f7-a07f-4824-8d2a-b25f26b6fd32.png\">\n  <img alt=\"how-works-refine\" src=\"https://user-images.githubusercontent.com/18739364/200257209-8fc0c8b1-2568-453e-873f-00513434deed.png\">\n</picture>\n</a>\n\n## What is refine?\n\n**refine** is a React-based framework for the rapid ✨ development of web applications.\nIt eliminates repetitive tasks demanded by **CRUD** operations and provides industry standard solutions for critical parts like **authentication**, **access control**, **routing**, **networking**, **state management**, and **i18n**.\n\n**refine** is _headless by design_, thereby offering unlimited styling and customization options.\n\n## What do you mean by \"headless\" ?\n\nInstead of being a limited set of pre-styled components, **refine** is a collection of helper `hooks`, `components`, and `providers`. They are all decoupled from _UI components_ and _business logic_, so that they never keep you from customizing your _UI_ or coding your own flow.\n\n**refine** seamlessly works with any **custom design** or **UI framework** that you favor. For convenience, it ships with ready-made integrations for [Ant Design System](https://ant.design/), [Material UI](https://mui.com/), [Mantine](https://mantine.dev/), and [Chakra UI](https://chakra-ui.com/).\n\n## Use cases\n\n**refine** shines on _data-intensive⚡_ applications like **admin panels**, **dashboards** and **internal tools**. Thanks to the built-in **SSR support**, **refine** can also power _customer-facing_ applications like **storefronts**.\n\nYou can take a look at some live examples that can be built using **refine** from scratch:\n\n<a href=\"https://s.refine.dev/readme-admin-panel\" target=\"_blank\">\n <img src=\"https://user-images.githubusercontent.com/18739364/204285956-cc20fa11-b769-4bd5-b8f6-9c05a283ac85.gif\"   style=\"width:267px;\"  />\n</a>\n\n <a href=\"https://s.refine.dev/readme-medium-clone\" target=\"_blank\">\n<img src=\"https://user-images.githubusercontent.com/18739364/204285047-8f24f1f4-65ea-4952-83ed-81e92cdd5b90.gif\"   style=\"width:200px;\"  />\n</a>\n\n <a href=\"https://s.refine.dev/readme-ssr-storefront\" target=\"_blank\">\n<img src=\"https://user-images.githubusercontent.com/18739364/204285039-1ce0cb06-fbf8-4704-89c9-2e004620c9a8.gif\"   style=\"width:200px;\"  />\n</a>\n\n<br/>\n<br/>\n\n[👉 Refer to most popular real use case examples](https://refine.dev/examples/)\n\n[👉 More **refine** powered different usage scenarios can be found here](https://refine.dev/docs/examples/)\n\n## Key Features\n\n⚙️ Zero-config, **one-minute setup** with a **single CLI command**\n\n🔌 Connectors for **15+ backend services** including [REST API](https://github.com/refinedev/refine/tree/master/packages/simple-rest), [GraphQL](https://github.com/refinedev/refine/tree/master/packages/graphql), [NestJs CRUD](https://github.com/refinedev/refine/tree/master/packages/nestjsx-crud), [Airtable](https://github.com/refinedev/refine/tree/master/packages/airtable), [Strapi](https://github.com/refinedev/refine/tree/master/packages/strapi), [Strapi v4](https://github.com/refinedev/refine/tree/master/packages/strapi-v4), [Strapi GraphQL](https://github.com/refinedev/refine/tree/master/packages/strapi-graphql), [Supabase](https://github.com/refinedev/refine/tree/master/packages/supabase), [Hasura](https://github.com/refinedev/refine/tree/master/packages/hasura), [Nhost](https://github.com/refinedev/refine/tree/master/packages/nhost), [Appwrite](https://github.com/refinedev/refine/tree/master/packages/appwrite), [Firebase](https://firebase.google.com/), [Directus](https://directus.io/) and [Altogic](https://github.com/refinedev/refine/tree/master/packages/altogic)\n\n🌐 **SSR support** with **Next.js** or **Remix**\n\n🔍 Auto-generated **CRUD** UIs from **your API data structure**\n\n⚛ Perfect **state management** & **mutations** with **React Query**\n\n🔀 **Advanced routing** with any router library of your choice\n\n🔐 Providers for seamless **authentication** and **access control** flows\n\n⚡ Out-of-the-box support for **live / real-time applications**\n\n📄 Easy **audit logs** & **document versioning**\n\n💬 Support for any **i18n** framework\n\n💪 Future-proof, **robust architecture**\n\n⌛️ Built-in CLI with time-saving features\n\n✅ Full **test coverage**\n\n## Quick Start\n\nThe fastest way to get started with **refine** is by using the `create refine-app` project starter tool.\nRun the following command to create a new **refine** project configured with [Ant Design System](https://ant.design/) as the default UI framework:\n\n```\nnpm create refine-app@latest -- --preset refine-antd\n```\n\nOnce the setup is complete, navigate to the project folder and start your project with:\n\n```\nnpm run dev\n```\n\n<br/>\n\nYour **refine** application will be accessible at [http://localhost:3000](http://localhost:3000):\n\n<a href=\"http://localhost:3000\">![Welcome on board](https://refine.ams3.cdn.digitaloceanspaces.com/website/static/img/welcome-on-board.png)</a>\n\n<br/>\n\nLet's consume a public `fake REST API` and add two resources (_posts_, _categories_) to our project. Replace the contents of `src/App.tsx` with the following code:\n\n```tsx title=\"src/App.tsx\"\nimport { Refine } from \"@pankod/refine-core\";\nimport {\n    Layout,\n    ReadyPage,\n    notificationProvider,\n    ErrorComponent,\n} from \"@pankod/refine-antd\";\nimport routerProvider from \"@pankod/refine-react-router-v6\";\nimport dataProvider from \"@pankod/refine-simple-rest\";\n\nimport { AntdInferencer } from \"@pankod/refine-inferencer/antd\";\n\nimport \"@pankod/refine-antd/dist/reset.css\";\n\nconst App: React.FC = () => {\n    return (\n        <Refine\n            routerProvider={routerProvider}\n            dataProvider={dataProvider(\"https://api.fake-rest.refine.dev\")}\n            Layout={Layout}\n            ReadyPage={ReadyPage}\n            notificationProvider={notificationProvider}\n            catchAll={<ErrorComponent />}\n            resources={[\n                {\n                    name: \"posts\",\n                    list: AntdInferencer,\n                    show: AntdInferencer,\n                    create: AntdInferencer,\n                    edit: AntdInferencer,\n                    canDelete: true,\n                },\n                {\n                    name: \"categories\",\n                    list: AntdInferencer,\n                    show: AntdInferencer,\n                },\n            ]}\n        />\n    );\n};\n\nexport default App;\n```\n\n<br/>\n\n🚀 Thanks to **refine Inferencer package**, it guesses the configuration to use for the `list`, `show`, `create`, and `edit` pages based on the data fetched from the API and generates the pages automatically.\n\nNow, you should see the output as a table populated with `post` & `category` data:\n\n![First example result](https://refine.ams3.cdn.digitaloceanspaces.com/website/static/img/readme-quick-start.png)\n\n<br/>\n\nYou can get the auto-generated pages codes by clicking the `Show Code` button on each page. Afterward, simply pass the pages to the `resources` array by replacing with the Inferencer components.\n\n## Next Steps\n\n👉 Jump to [Refine<>Ant Design Tutorial](https://refine.dev/docs/ui-frameworks/antd/tutorial/) to continue your work and turn the example into a full-blown CRUD application.\n\n👉 Check out the [Refine<>Tailwind Tutorial](https://refine.dev/docs/tutorials/headless-tutorial/) to learn how to use **refine** in a pure _headless_ way.\n\n👉 Visit [Learn the Basics Page](https://refine.dev/docs/getting-started/overview/) to get informed about the fundamental concepts.\n\n👉 Read more on [Advanced Tutorials\n](https://refine.dev/docs/advanced-tutorials/) for different usage scenarios.\n\n👉 See the real-life [Finefoods Demo](https://refine.dev/demo/) project.\n\n👉 Play with interactive [Examples](https://refine.dev/docs/examples/)\n\n## Roadmap\n\nYou can find refine's <a href=\"https://github.com/refinedev/refine/projects/1\">Public Roadmap here!</a>\n\n## Stargazers\n\n[![Stargazers repo roster for refinedev/refine](https://reporoster.com/stars/refinedev/refine)](https://github.com/refinedev/refine/stargazers)\n\n## Contribution\n\n[👉 Refer to contribution docs for more information](https://refine.dev/docs/contributing/#ways-to-contribute)\n\nIf you have any doubts related to the project or want to discuss something, then join our [Discord Server](https://discord.gg/refine).\n\n## Our ♥️ Contributors\n\n<a href=\"https://github.com/refinedev/refine/graphs/contributors\">\n  <img src=\"https://contrib.rocks/image?repo=refinedev/refine\" />\n</a>\n\n## License\n\nLicensed under the MIT License, Copyright © 2021-present Refinedev\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/refinedev/refine/issues"},"homepage":"https://github.com/refinedev/refine#readme","_id":"@pankod/refine-core@3.91.0","_nodeVersion":"16.18.1","_npmVersion":"8.19.2","dist":{"integrity":"sha512-n7Rd8Byvw513DmCjD2nfFwSNBdohuwTR4sq3XBk7RGfamr+k9MMTZNiFrSWWEP37U201Z6xIMPTzsmjQzvEByw==","shasum":"1d42fbd9e7eeb592732a8d3a64d0f978842f8ade","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.91.0.tgz","fileCount":515,"unpackedSize":2149719,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD8SgSDoKuPdsRjGh/daie20dEqH5esb8SyDfsZgVR7cgIgWcwVxlRONakiyHkjF7+7JILa5SU72DgWQeJfKpS42cA="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjsvcjACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoytxAAnzCepA8eCsiK33y3LdTEXeLlmn79vDVKLB4fzOp7ru9Qhaiv\r\nyjCQujLEyxAA4iJejY9Wnhscxa60EbxdkXvjhvjY3StLj3Nb5dfW0Dij1U1P\r\n8UHTrrpwyX2ZA9Zk7UXCooG9VtZbuSg8JRg2VEEiNwBOpjy9ElWblEbNc/t6\r\ncR+LTViA9Mm6Tg6J3hLpVXw2OKnm2kG5YP0VycVuFNErk4FsJGWwz4Hh11Z+\r\nSfzIc2IDJdlqCFbNznvecXdDAY8HYTUVFSdVNENUkvyq+8LI/VviohAn79qg\r\nO+YNGA+K6clD3uQkG6kprG8mqM1YAXIdPmmFz9h+SYV0qjf8tzUtURLIoXLL\r\n2f6+naFXF72Cloi6Ab8pjWUxQ/2aS5b26RbSi9aSnL6ZLvYtKcX6enOlZLuw\r\nApzUBVAUQiuSL+ltTBi+9R86RRb74whZ5CWm0aZW6FLK8uB8bk3llWySeJzl\r\nt1aIays5q9YKisLSoSHlIiVO3lHPTRtV4VELTh7UvMhjKePeQi7ZR+Yd8xvX\r\nJLI81hxHNqAXigf/0zaNVzyflF9kfahF6aSOm8a+H/ploIOlQ7+2JtXODcsk\r\njkNo7DRsl9Lr60umwGOaezWKXUfuVMAv2GZ8T7V4C2gpDdv50p1ypKhYUtRq\r\npgJ+aTXMAZ9kU9/lDISts3QdY1yoghQ3BQc=\r\n=eXzw\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"alicanerdurmaz","email":"alicanerdurmaz@gmail.com"},{"name":"salihozdmr","email":"salihozdemir94@gmail.com"},{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.91.0_1672673059113_0.9367583805003088"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.92.0":{"name":"@pankod/refine-core","version":"3.92.0","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --format esm,cjs,iife --legacy-output","build":"tsup --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0","@types/react":"^17.0.0 || ^18.0.0","@types/react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.16.4","@testing-library/react":"^13.1.1","@testing-library/react-hooks":"^8.0.0","@testing-library/user-event":"^14.1.1","@types/jest":"^29.2.4","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^18.0.0","@types/react-dom":"^18.0.0","@types/react-router-dom":"^5.1.8","@types/testing-library__jest-dom":"^5.14.3","identity-obj-proxy":"^3.0.0","jest":"^29.3.1","jest-environment-jsdom":"^29.3.1","react-router-dom":"6.3.0","ts-jest":"^29.0.3","tsup":"^5.11.13","typescript":"^4.7.4"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","lodash-es":"^4.17.21","lodash":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","@tanstack/react-query-devtools":"^4.10.1","@tanstack/react-query":"^4.10.1","tslib":"^2.3.1","warn-once":"^0.1.0"},"repository":{"type":"git","url":"git+https://github.com/refinedev/refine.git","directory":"packages/core"},"author":{"name":"refine"},"license":"MIT","gitHead":"17dd5af3e4c9f7f09e1e707362c6f5a9d1cab8a8","publishConfig":{"access":"public"},"bugs":{"url":"https://github.com/refinedev/refine/issues"},"homepage":"https://github.com/refinedev/refine#readme","_id":"@pankod/refine-core@3.92.0","_nodeVersion":"16.18.1","_npmVersion":"8.19.2","dist":{"integrity":"sha512-tPZNx/HAkEq5BLzPty3LneTXNoyzLQ7OTHaflFfcrOo14Z71qF7L9jB6GFsCbVWvMVQV3lVKO9DG1P6Kzx9p7w==","shasum":"9f55482eed494047c800e2cfbf677043ec5bd07b","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.92.0.tgz","fileCount":515,"unpackedSize":2150651,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDX1DKBcEB2DFukKl63Q0WoYE/asBey+BFOhS0eFGJ5bwIgbJIap0+SM5okqZEQaFG+SyiwidDhoZeJcVlMCAoJ8nI="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjswUnACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq8sQ/+Id8sKKdoVXNxFrNvJVRnIlwr11bw9Y+mjje/6DTbQVLOkVDk\r\ngwyOoTvpIYykNt063S1aWFsWISwyVAIAqHiWR9UG0MmLFyXaX7p0ZlD3h8Gu\r\nR/PoRLBLuhLQYXpg3WToQy4MoBLcpFe5O8ZgiFdFGvIE8KauUjB9Y+GGQpcd\r\ntvci4gnMjAvCr5ANcMTsA9dJ11+HOFmDj9jwxytGNt3vSbwYECJznb3lRBRj\r\ntkre6dxUJtgipuTXTxRsWfR0GTw4QLOlX1be0aVMz5TJs9Fm2ZeRGIbfI7Ie\r\ns4FUqEO5G+LMB2v4VuVdtE2Lglsaza4VPTzYzC77nZc3htuUDd8fSbO8TxMX\r\nn0m5Tz1wkIKoQwYT2/deJoTcWhZpFlxHNjEVy8P3+wrrYObKd/sl3jAjmd0u\r\n5bfsIfsNqO7W1Sw5k120LbNn+7niDOi+LzkX9O4hRS2N3AB7f+trgd/zhK2i\r\ng4oxrTwZfOcsk5zKbr8z4NUlFr19rtD5cA3vpU8FrhCctszCWzh1woXdmEgQ\r\nTXiASKuJZrLSVvib/GdJ+PqwPjO5JgmhwjiXZRJySeY5NDTeI6NzNkLR/JG9\r\nn8tGfDyqEaqt+eNbi9DzwY25JhacXi1chkPl/N434zHxA/pIYXnzC9NijJv0\r\nOBajhrSUTj6lNiAOZVxX+1VCN88e7sdz84g=\r\n=rtKk\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"alicanerdurmaz","email":"alicanerdurmaz@gmail.com"},{"name":"salihozdmr","email":"salihozdemir94@gmail.com"},{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.92.0_1672676647134_0.4816462264840733"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.93.0":{"name":"@pankod/refine-core","version":"3.93.0","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --format esm,cjs,iife --legacy-output","build":"tsup --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0","@types/react":"^17.0.0 || ^18.0.0","@types/react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.16.4","@testing-library/react":"^13.1.1","@testing-library/react-hooks":"^8.0.0","@testing-library/user-event":"^14.1.1","@types/jest":"^29.2.4","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^18.0.0","@types/react-dom":"^18.0.0","@types/react-router-dom":"^5.1.8","@types/testing-library__jest-dom":"^5.14.3","identity-obj-proxy":"^3.0.0","jest":"^29.3.1","jest-environment-jsdom":"^29.3.1","react-router-dom":"6.3.0","ts-jest":"^29.0.3","tsup":"^5.11.13","typescript":"^4.7.4"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","lodash-es":"^4.17.21","lodash":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","@tanstack/react-query-devtools":"^4.10.1","@tanstack/react-query":"^4.10.1","tslib":"^2.3.1","warn-once":"^0.1.0"},"repository":{"type":"git","url":"git+https://github.com/refinedev/refine.git","directory":"packages/core"},"author":{"name":"refine"},"license":"MIT","gitHead":"17dd5af3e4c9f7f09e1e707362c6f5a9d1cab8a8","publishConfig":{"access":"public"},"readme":"<br/>\n\n<div align=\"center\" style=\"margin: 30px;\">\n<a href=\"https://refine.dev/\">\n  <img src=\"https://refine.ams3.cdn.digitaloceanspaces.com/refine_logo.png\"   style=\"width:250px;\" align=\"center\" />\n</a>\n<br />\n<br />\n\n<div align=\"center\">\n    <a href=\"https://refine.dev\">Home Page</a> |\n    <a href=\"https://discord.gg/refine\">Discord</a> |\n    <a href=\"https://refine.dev/examples/\">Examples</a> | \n    <a href=\"https://refine.dev/blog/\">Blog</a> | \n    <a href=\"https://refine.dev/docs/\">Documentation</a> | \n    <a href=\"https://github.com/refinedev/refine/projects/1\">Roadmap</a>\n</div>\n</div>\n\n<br />\n\n<div align=\"center\"><strong>Build your <a href=\"https://reactjs.org/\">React</a>-based CRUD applications, without constraints.</strong><br>An open source, headless web application framework developed with flexibility in mind.\n\n<br />\n<br />\n\n[![Discord](https://img.shields.io/discord/837692625737613362.svg?label=&logo=discord&logoColor=ffffff&color=7389D8&labelColor=6A7EC2)](https://discord.gg/refine)\n[![Twitter Follow](https://img.shields.io/twitter/follow/refine_dev?style=social)](https://twitter.com/refine_dev)\n\n<a href=\"https://www.producthunt.com/posts/refine-3?utm_source=badge-top-post-badge&utm_medium=badge&utm_souce=badge-refine&#0045;3\" target=\"_blank\"><img src=\"https://api.producthunt.com/widgets/embed-image/v1/top-post-badge.svg?post_id=362220&theme=light&period=daily\" alt=\"refine - 100&#0037;&#0032;open&#0032;source&#0032;React&#0032;framework&#0032;to&#0032;build&#0032;web&#0032;apps&#0032;3x&#0032;faster | Product Hunt\" style=\"width: 250px; height: 54px;\" width=\"250\" height=\"54\" /></a>\n\n</div>\n\n<div align=\"center\">\n\n[![Awesome](https://github.com/refinedev/awesome-refine/raw/main/images/badge.svg)](https://github.com/refinedev/awesome-refine)\n[![Maintainability](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/maintainability)](https://codeclimate.com/github/pankod/refine/maintainability)\n[![Test Coverage](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/test_coverage)](https://codeclimate.com/github/pankod/refine/test_coverage)\n[![npm version](https://img.shields.io/npm/v/@pankod/refine-core.svg)](https://www.npmjs.com/package/@pankod/refine-core)\n[![npm](https://img.shields.io/npm/dm/@pankod/refine-core)](https://www.npmjs.com/package/@pankod/refine-core)\n[![](https://img.shields.io/github/commit-activity/m/refinedev/refine)](https://github.com/refinedev/refine/commits/next)\n[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.0-4baaaa.svg)](CODE_OF_CONDUCT.md)\n\n</div>\n\n<br/>\n<a href=\"https://refine.dev/\">\n<picture>\n  <source media=\"(prefers-color-scheme: dark)\" srcset=\"https://user-images.githubusercontent.com/18739364/200257042-3f2aa7f7-a07f-4824-8d2a-b25f26b6fd32.png\">\n  <img alt=\"how-works-refine\" src=\"https://user-images.githubusercontent.com/18739364/200257209-8fc0c8b1-2568-453e-873f-00513434deed.png\">\n</picture>\n</a>\n\n## What is refine?\n\n**refine** is a React-based framework for the rapid ✨ development of web applications.\nIt eliminates repetitive tasks demanded by **CRUD** operations and provides industry standard solutions for critical parts like **authentication**, **access control**, **routing**, **networking**, **state management**, and **i18n**.\n\n**refine** is _headless by design_, thereby offering unlimited styling and customization options.\n\n## What do you mean by \"headless\" ?\n\nInstead of being a limited set of pre-styled components, **refine** is a collection of helper `hooks`, `components`, and `providers`. They are all decoupled from _UI components_ and _business logic_, so that they never keep you from customizing your _UI_ or coding your own flow.\n\n**refine** seamlessly works with any **custom design** or **UI framework** that you favor. For convenience, it ships with ready-made integrations for [Ant Design System](https://ant.design/), [Material UI](https://mui.com/), [Mantine](https://mantine.dev/), and [Chakra UI](https://chakra-ui.com/).\n\n## Use cases\n\n**refine** shines on _data-intensive⚡_ applications like **admin panels**, **dashboards** and **internal tools**. Thanks to the built-in **SSR support**, **refine** can also power _customer-facing_ applications like **storefronts**.\n\nYou can take a look at some live examples that can be built using **refine** from scratch:\n\n<a href=\"https://s.refine.dev/readme-admin-panel\" target=\"_blank\">\n <img src=\"https://user-images.githubusercontent.com/18739364/204285956-cc20fa11-b769-4bd5-b8f6-9c05a283ac85.gif\"   style=\"width:267px;\"  />\n</a>\n\n <a href=\"https://s.refine.dev/readme-medium-clone\" target=\"_blank\">\n<img src=\"https://user-images.githubusercontent.com/18739364/204285047-8f24f1f4-65ea-4952-83ed-81e92cdd5b90.gif\"   style=\"width:200px;\"  />\n</a>\n\n <a href=\"https://s.refine.dev/readme-ssr-storefront\" target=\"_blank\">\n<img src=\"https://user-images.githubusercontent.com/18739364/204285039-1ce0cb06-fbf8-4704-89c9-2e004620c9a8.gif\"   style=\"width:200px;\"  />\n</a>\n\n<br/>\n<br/>\n\n[👉 Refer to most popular real use case examples](https://refine.dev/examples/)\n\n[👉 More **refine** powered different usage scenarios can be found here](https://refine.dev/docs/examples/)\n\n## Key Features\n\n⚙️ Zero-config, **one-minute setup** with a **single CLI command**\n\n🔌 Connectors for **15+ backend services** including [REST API](https://github.com/refinedev/refine/tree/master/packages/simple-rest), [GraphQL](https://github.com/refinedev/refine/tree/master/packages/graphql), [NestJs CRUD](https://github.com/refinedev/refine/tree/master/packages/nestjsx-crud), [Airtable](https://github.com/refinedev/refine/tree/master/packages/airtable), [Strapi](https://github.com/refinedev/refine/tree/master/packages/strapi), [Strapi v4](https://github.com/refinedev/refine/tree/master/packages/strapi-v4), [Strapi GraphQL](https://github.com/refinedev/refine/tree/master/packages/strapi-graphql), [Supabase](https://github.com/refinedev/refine/tree/master/packages/supabase), [Hasura](https://github.com/refinedev/refine/tree/master/packages/hasura), [Nhost](https://github.com/refinedev/refine/tree/master/packages/nhost), [Appwrite](https://github.com/refinedev/refine/tree/master/packages/appwrite), [Firebase](https://firebase.google.com/), [Directus](https://directus.io/) and [Altogic](https://github.com/refinedev/refine/tree/master/packages/altogic)\n\n🌐 **SSR support** with **Next.js** or **Remix**\n\n🔍 Auto-generated **CRUD** UIs from **your API data structure**\n\n⚛ Perfect **state management** & **mutations** with **React Query**\n\n🔀 **Advanced routing** with any router library of your choice\n\n🔐 Providers for seamless **authentication** and **access control** flows\n\n⚡ Out-of-the-box support for **live / real-time applications**\n\n📄 Easy **audit logs** & **document versioning**\n\n💬 Support for any **i18n** framework\n\n💪 Future-proof, **robust architecture**\n\n⌛️ Built-in CLI with time-saving features\n\n✅ Full **test coverage**\n\n## Quick Start\n\nThe fastest way to get started with **refine** is by using the `create refine-app` project starter tool.\nRun the following command to create a new **refine** project configured with [Ant Design System](https://ant.design/) as the default UI framework:\n\n```\nnpm create refine-app@latest -- --preset refine-antd\n```\n\nOnce the setup is complete, navigate to the project folder and start your project with:\n\n```\nnpm run dev\n```\n\n<br/>\n\nYour **refine** application will be accessible at [http://localhost:3000](http://localhost:3000):\n\n<a href=\"http://localhost:3000\">![Welcome on board](https://refine.ams3.cdn.digitaloceanspaces.com/website/static/img/welcome-on-board.png)</a>\n\n<br/>\n\nLet's consume a public `fake REST API` and add two resources (_posts_, _categories_) to our project. Replace the contents of `src/App.tsx` with the following code:\n\n```tsx title=\"src/App.tsx\"\nimport { Refine } from \"@pankod/refine-core\";\nimport {\n    Layout,\n    ReadyPage,\n    notificationProvider,\n    ErrorComponent,\n} from \"@pankod/refine-antd\";\nimport routerProvider from \"@pankod/refine-react-router-v6\";\nimport dataProvider from \"@pankod/refine-simple-rest\";\n\nimport { AntdInferencer } from \"@pankod/refine-inferencer/antd\";\n\nimport \"@pankod/refine-antd/dist/reset.css\";\n\nconst App: React.FC = () => {\n    return (\n        <Refine\n            routerProvider={routerProvider}\n            dataProvider={dataProvider(\"https://api.fake-rest.refine.dev\")}\n            Layout={Layout}\n            ReadyPage={ReadyPage}\n            notificationProvider={notificationProvider}\n            catchAll={<ErrorComponent />}\n            resources={[\n                {\n                    name: \"posts\",\n                    list: AntdInferencer,\n                    show: AntdInferencer,\n                    create: AntdInferencer,\n                    edit: AntdInferencer,\n                    canDelete: true,\n                },\n                {\n                    name: \"categories\",\n                    list: AntdInferencer,\n                    show: AntdInferencer,\n                },\n            ]}\n        />\n    );\n};\n\nexport default App;\n```\n\n<br/>\n\n🚀 Thanks to **refine Inferencer package**, it guesses the configuration to use for the `list`, `show`, `create`, and `edit` pages based on the data fetched from the API and generates the pages automatically.\n\nNow, you should see the output as a table populated with `post` & `category` data:\n\n![First example result](https://refine.ams3.cdn.digitaloceanspaces.com/website/static/img/readme-quick-start.png)\n\n<br/>\n\nYou can get the auto-generated pages codes by clicking the `Show Code` button on each page. Afterward, simply pass the pages to the `resources` array by replacing with the Inferencer components.\n\n## Next Steps\n\n👉 Jump to [Refine<>Ant Design Tutorial](https://refine.dev/docs/ui-frameworks/antd/tutorial/) to continue your work and turn the example into a full-blown CRUD application.\n\n👉 Check out the [Refine<>Tailwind Tutorial](https://refine.dev/docs/tutorials/headless-tutorial/) to learn how to use **refine** in a pure _headless_ way.\n\n👉 Visit [Learn the Basics Page](https://refine.dev/docs/getting-started/overview/) to get informed about the fundamental concepts.\n\n👉 Read more on [Advanced Tutorials\n](https://refine.dev/docs/advanced-tutorials/) for different usage scenarios.\n\n👉 See the real-life [Finefoods Demo](https://refine.dev/demo/) project.\n\n👉 Play with interactive [Examples](https://refine.dev/docs/examples/)\n\n## Roadmap\n\nYou can find refine's <a href=\"https://github.com/refinedev/refine/projects/1\">Public Roadmap here!</a>\n\n## Stargazers\n\n[![Stargazers repo roster for refinedev/refine](https://reporoster.com/stars/refinedev/refine)](https://github.com/refinedev/refine/stargazers)\n\n## Contribution\n\n[👉 Refer to contribution docs for more information](https://refine.dev/docs/contributing/#ways-to-contribute)\n\nIf you have any doubts related to the project or want to discuss something, then join our [Discord Server](https://discord.gg/refine).\n\n## Our ♥️ Contributors\n\n<a href=\"https://github.com/refinedev/refine/graphs/contributors\">\n  <img src=\"https://contrib.rocks/image?repo=refinedev/refine\" />\n</a>\n\n## License\n\nLicensed under the MIT License, Copyright © 2021-present Refinedev\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/refinedev/refine/issues"},"homepage":"https://github.com/refinedev/refine#readme","_id":"@pankod/refine-core@3.93.0","_nodeVersion":"16.18.1","_npmVersion":"8.19.2","dist":{"integrity":"sha512-bLsJdV9GZhPmjsFHsn1+YPe5qYsoWoFhzg3k5vUVXlsY1KAND2JarDgaMC9f0HpPRp/pUsHO8CfLpAvurXS2Ng==","shasum":"d933daa52b3d1ad04cdad748439bc3d7e928d4a5","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.93.0.tgz","fileCount":515,"unpackedSize":2151487,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCw5EcXuvJpW7t4gOT1n3/aEvP9nivMv7VcJbT5VeI39QIhAN/Zzb6j5z/mojrC+XQhPxagCJhCUomVmCtUASzimYnI"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjtCQHACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmohtw//VV3jvaSOBgydGMFGAQBRNRQHU+QLsS/zbHooMjLpWx2Iv5BZ\r\nyx32fia6Xlx90h0/wf9zwqLVLVjVgfeCd/EogtpG//CzZGK3GmFuTI3Sy27A\r\n1zRTAVBRWYj6ujnJy6bBokOKOz2a4w7QL4BvHylzbDTJnQHnRPXrLgglamE8\r\ndNIVR/gbx5z0nQ8dsY4p1yRpkQY9kQ6FBLMzMUle+1U3u54UoUJvlIOYtMsI\r\njqa/rs55eIxWOsIhnZLvCH567lhijfRYVuV9ykEo9GXbtDzj6T4ID17P5jt1\r\nO1CVLzEwAkB3hprm4IhqUJ5oI5c7eUpKP13Ggv1ViJDnP0Xmj5FHH0egsEcv\r\nyiuht+JboBaGUYN43cUGLZGC7tfZGAWawvg0y4w/Qc1mQ5SuBIA4A4OTv3o3\r\n8kYACT+gyi/cxdDWk8zL4xxeWsOETfoevtuswj7bVV/+Pa/QElf7gbStSJWb\r\nQFs3iRLasewXEDIM4uN5qDRX5LV6Ye5h+JNUyffJjYIt6YSfEAO9aqiguqKK\r\npr9/+kmK0Nh7cZ89XEWpkk/0OABmanpqoDlN/V4ldBcEUOugc3LV8RnkNLa2\r\nasdOQ+nLPJ3/iWHZJz1LK3zrv/uNDUdafnc1ihFr+O/m9Iu7I4HUFMOU0Erl\r\nb0jn8hEbMuGNy6T/ogBNxK3MfECKwyyHgWE=\r\n=Ubvi\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"alicanerdurmaz","email":"alicanerdurmaz@gmail.com"},{"name":"salihozdmr","email":"salihozdemir94@gmail.com"},{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.93.0_1672750087429_0.9684345647032244"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.94.0":{"name":"@pankod/refine-core","version":"3.94.0","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --format esm,cjs,iife --legacy-output","build":"tsup --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0","@types/react":"^17.0.0 || ^18.0.0","@types/react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.16.4","@testing-library/react":"^13.1.1","@testing-library/react-hooks":"^8.0.0","@testing-library/user-event":"^14.1.1","@types/jest":"^29.2.4","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^18.0.0","@types/react-dom":"^18.0.0","@types/react-router-dom":"^5.1.8","@types/testing-library__jest-dom":"^5.14.3","identity-obj-proxy":"^3.0.0","jest":"^29.3.1","jest-environment-jsdom":"^29.3.1","react-router-dom":"6.3.0","ts-jest":"^29.0.3","tsup":"^5.11.13","typescript":"^4.7.4"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","lodash-es":"^4.17.21","lodash":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","@tanstack/react-query-devtools":"^4.10.1","@tanstack/react-query":"^4.10.1","tslib":"^2.3.1","warn-once":"^0.1.0"},"repository":{"type":"git","url":"git+https://github.com/refinedev/refine.git","directory":"packages/core"},"author":{"name":"refine"},"license":"MIT","gitHead":"17dd5af3e4c9f7f09e1e707362c6f5a9d1cab8a8","publishConfig":{"access":"public"},"bugs":{"url":"https://github.com/refinedev/refine/issues"},"homepage":"https://github.com/refinedev/refine#readme","_id":"@pankod/refine-core@3.94.0","_nodeVersion":"16.18.1","_npmVersion":"8.19.2","dist":{"integrity":"sha512-qzEFSUn3XYkxPQ5Fh5J2owt99PM5+BfH0Fp3yC4ufmrOKJ2AhBUfEYOTlLDGY/aMBp5BTfHWmSgGDUQjge0DxQ==","shasum":"a7f708bdf642ff4a97e4e6fab37a44268e7d6392","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.94.0.tgz","fileCount":515,"unpackedSize":2151797,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDTUSTcMEwznx3tHmLDdIcUtLUYznI9phBFgebw0crtrwIhAOWZ/HX6jutwpJSAnMqXtim8XphxPnvaexBZ1/y2z9qh"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjtCoTACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp6AQ/9EiyeOiLJJ3nYYcWkw1dmYdXQ8H/sNQkL/IN+LasEepDt+JMI\r\nW4jzy/RwFqc4S0PV0VsDW3R6dQGReo+kmxCkuesM17FcMzdcBbwI9Z1wxzDZ\r\nTyU5AonlIK9S/WCJ5IU8rK9sWBdA2QDiybARLw0Y58f28Z0rmcT3Q5Dtj0NT\r\nuqbqU3j4lAW2WeVcnQmKOVPA2BLlNN7T2eC6Uxz+Rn2B5Kc5XRWfPVxcs0LP\r\nDGJnyyqcTyiGUuKSdaZ+ilV58JkJ8/rDfaqmJCnwUcaYfJcUaaGuJwPinZHS\r\n+e/sNXsJkdtJ6EFM4ZLtATNhB3g8N0hQkbFaQNNtmI1Pb0kPNTJxJDXNiQ4F\r\n2idyTg9v377MZNte7TXI2cdYT/ZGSPEKo7JtpQ7tzTOYZFZdYtXSfyVRg2Oq\r\n6tni1BL756dFGktCNzw2FdQuXXF1BDkVrQOT2n/knTjeDcNfQ0z5nnmEiwQq\r\n2Fhbvd5U8w5WfWhzGbQe4yseqL9lgYCl1dgEegclEcCu0AgVT4h711os9qzs\r\nvTj6JGVi+4Y25rOQ37DFroidgom1hfQlJhgc147d1idkbK+1SigfzXyW46QN\r\nNEwxhL7Ajo8FXBBWxHYii/psGL4FgmVFpGAGnnAq7eXxpWOPNZN5GiHeO49S\r\nQ6zP65HdZJZH1CQVNbiJrnB8NCQJaE5pqiY=\r\n=ALfJ\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"alicanerdurmaz","email":"alicanerdurmaz@gmail.com"},{"name":"salihozdmr","email":"salihozdemir94@gmail.com"},{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.94.0_1672751634845_0.6883821478254637"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.94.1":{"name":"@pankod/refine-core","version":"3.94.1","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --format esm,cjs,iife --legacy-output","build":"tsup --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0","@types/react":"^17.0.0 || ^18.0.0","@types/react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.16.4","@testing-library/react":"^13.1.1","@testing-library/react-hooks":"^8.0.0","@testing-library/user-event":"^14.1.1","@types/jest":"^29.2.4","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^18.0.0","@types/react-dom":"^18.0.0","@types/react-router-dom":"^5.1.8","@types/testing-library__jest-dom":"^5.14.3","identity-obj-proxy":"^3.0.0","jest":"^29.3.1","jest-environment-jsdom":"^29.3.1","react-router-dom":"6.3.0","ts-jest":"^29.0.3","tsup":"^5.11.13","typescript":"^4.7.4"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","lodash-es":"^4.17.21","lodash":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","@tanstack/react-query-devtools":"^4.10.1","@tanstack/react-query":"^4.10.1","tslib":"^2.3.1","warn-once":"^0.1.0"},"repository":{"type":"git","url":"git+https://github.com/refinedev/refine.git","directory":"packages/core"},"author":{"name":"refine"},"license":"MIT","gitHead":"17dd5af3e4c9f7f09e1e707362c6f5a9d1cab8a8","publishConfig":{"access":"public"},"readme":"<br/>\n\n<div align=\"center\" style=\"margin: 30px;\">\n<a href=\"https://refine.dev/\">\n  <img src=\"https://refine.ams3.cdn.digitaloceanspaces.com/refine_logo.png\"   style=\"width:250px;\" align=\"center\" />\n</a>\n<br />\n<br />\n\n<div align=\"center\">\n    <a href=\"https://refine.dev\">Home Page</a> |\n    <a href=\"https://discord.gg/refine\">Discord</a> |\n    <a href=\"https://refine.dev/examples/\">Examples</a> | \n    <a href=\"https://refine.dev/blog/\">Blog</a> | \n    <a href=\"https://refine.dev/docs/\">Documentation</a> | \n    <a href=\"https://github.com/refinedev/refine/projects/1\">Roadmap</a>\n</div>\n</div>\n\n<br />\n\n<div align=\"center\"><strong>Build your <a href=\"https://reactjs.org/\">React</a>-based CRUD applications, without constraints.</strong><br>An open source, headless web application framework developed with flexibility in mind.\n\n<br />\n<br />\n\n[![Discord](https://img.shields.io/discord/837692625737613362.svg?label=&logo=discord&logoColor=ffffff&color=7389D8&labelColor=6A7EC2)](https://discord.gg/refine)\n[![Twitter Follow](https://img.shields.io/twitter/follow/refine_dev?style=social)](https://twitter.com/refine_dev)\n\n<a href=\"https://www.producthunt.com/posts/refine-3?utm_source=badge-top-post-badge&utm_medium=badge&utm_souce=badge-refine&#0045;3\" target=\"_blank\"><img src=\"https://api.producthunt.com/widgets/embed-image/v1/top-post-badge.svg?post_id=362220&theme=light&period=daily\" alt=\"refine - 100&#0037;&#0032;open&#0032;source&#0032;React&#0032;framework&#0032;to&#0032;build&#0032;web&#0032;apps&#0032;3x&#0032;faster | Product Hunt\" style=\"width: 250px; height: 54px;\" width=\"250\" height=\"54\" /></a>\n\n</div>\n\n<div align=\"center\">\n\n[![Awesome](https://github.com/refinedev/awesome-refine/raw/main/images/badge.svg)](https://github.com/refinedev/awesome-refine)\n[![Maintainability](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/maintainability)](https://codeclimate.com/github/pankod/refine/maintainability)\n[![Test Coverage](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/test_coverage)](https://codeclimate.com/github/pankod/refine/test_coverage)\n[![npm version](https://img.shields.io/npm/v/@pankod/refine-core.svg)](https://www.npmjs.com/package/@pankod/refine-core)\n[![npm](https://img.shields.io/npm/dm/@pankod/refine-core)](https://www.npmjs.com/package/@pankod/refine-core)\n[![](https://img.shields.io/github/commit-activity/m/refinedev/refine)](https://github.com/refinedev/refine/commits/next)\n[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.0-4baaaa.svg)](CODE_OF_CONDUCT.md)\n\n</div>\n\n<br/>\n<a href=\"https://refine.dev/\">\n<picture>\n  <source media=\"(prefers-color-scheme: dark)\" srcset=\"https://user-images.githubusercontent.com/18739364/200257042-3f2aa7f7-a07f-4824-8d2a-b25f26b6fd32.png\">\n  <img alt=\"how-works-refine\" src=\"https://user-images.githubusercontent.com/18739364/200257209-8fc0c8b1-2568-453e-873f-00513434deed.png\">\n</picture>\n</a>\n\n## What is refine?\n\n**refine** is a React-based framework for the rapid ✨ development of web applications.\nIt eliminates repetitive tasks demanded by **CRUD** operations and provides industry standard solutions for critical parts like **authentication**, **access control**, **routing**, **networking**, **state management**, and **i18n**.\n\n**refine** is _headless by design_, thereby offering unlimited styling and customization options.\n\n## What do you mean by \"headless\" ?\n\nInstead of being a limited set of pre-styled components, **refine** is a collection of helper `hooks`, `components`, and `providers`. They are all decoupled from _UI components_ and _business logic_, so that they never keep you from customizing your _UI_ or coding your own flow.\n\n**refine** seamlessly works with any **custom design** or **UI framework** that you favor. For convenience, it ships with ready-made integrations for [Ant Design System](https://ant.design/), [Material UI](https://mui.com/), [Mantine](https://mantine.dev/), and [Chakra UI](https://chakra-ui.com/).\n\n## Use cases\n\n**refine** shines on _data-intensive⚡_ applications like **admin panels**, **dashboards** and **internal tools**. Thanks to the built-in **SSR support**, **refine** can also power _customer-facing_ applications like **storefronts**.\n\nYou can take a look at some live examples that can be built using **refine** from scratch:\n\n<a href=\"https://s.refine.dev/readme-admin-panel\" target=\"_blank\">\n <img src=\"https://user-images.githubusercontent.com/18739364/204285956-cc20fa11-b769-4bd5-b8f6-9c05a283ac85.gif\"   style=\"width:267px;\"  />\n</a>\n\n <a href=\"https://s.refine.dev/readme-medium-clone\" target=\"_blank\">\n<img src=\"https://user-images.githubusercontent.com/18739364/204285047-8f24f1f4-65ea-4952-83ed-81e92cdd5b90.gif\"   style=\"width:200px;\"  />\n</a>\n\n <a href=\"https://s.refine.dev/readme-ssr-storefront\" target=\"_blank\">\n<img src=\"https://user-images.githubusercontent.com/18739364/204285039-1ce0cb06-fbf8-4704-89c9-2e004620c9a8.gif\"   style=\"width:200px;\"  />\n</a>\n\n<br/>\n<br/>\n\n[👉 Refer to most popular real use case examples](https://refine.dev/examples/)\n\n[👉 More **refine** powered different usage scenarios can be found here](https://refine.dev/docs/examples/)\n\n## Key Features\n\n⚙️ Zero-config, **one-minute setup** with a **single CLI command**\n\n🔌 Connectors for **15+ backend services** including [REST API](https://github.com/refinedev/refine/tree/master/packages/simple-rest), [GraphQL](https://github.com/refinedev/refine/tree/master/packages/graphql), [NestJs CRUD](https://github.com/refinedev/refine/tree/master/packages/nestjsx-crud), [Airtable](https://github.com/refinedev/refine/tree/master/packages/airtable), [Strapi](https://github.com/refinedev/refine/tree/master/packages/strapi), [Strapi v4](https://github.com/refinedev/refine/tree/master/packages/strapi-v4), [Strapi GraphQL](https://github.com/refinedev/refine/tree/master/packages/strapi-graphql), [Supabase](https://github.com/refinedev/refine/tree/master/packages/supabase), [Hasura](https://github.com/refinedev/refine/tree/master/packages/hasura), [Nhost](https://github.com/refinedev/refine/tree/master/packages/nhost), [Appwrite](https://github.com/refinedev/refine/tree/master/packages/appwrite), [Firebase](https://firebase.google.com/), [Directus](https://directus.io/) and [Altogic](https://github.com/refinedev/refine/tree/master/packages/altogic)\n\n🌐 **SSR support** with **Next.js** or **Remix**\n\n🔍 Auto-generated **CRUD** UIs from **your API data structure**\n\n⚛ Perfect **state management** & **mutations** with **React Query**\n\n🔀 **Advanced routing** with any router library of your choice\n\n🔐 Providers for seamless **authentication** and **access control** flows\n\n⚡ Out-of-the-box support for **live / real-time applications**\n\n📄 Easy **audit logs** & **document versioning**\n\n💬 Support for any **i18n** framework\n\n💪 Future-proof, **robust architecture**\n\n⌛️ Built-in CLI with time-saving features\n\n✅ Full **test coverage**\n\n## Quick Start\n\nThe fastest way to get started with **refine** is by using the `create refine-app` project starter tool.\nRun the following command to create a new **refine** project configured with [Ant Design System](https://ant.design/) as the default UI framework:\n\n```\nnpm create refine-app@latest -- --preset refine-antd\n```\n\nOnce the setup is complete, navigate to the project folder and start your project with:\n\n```\nnpm run dev\n```\n\n<br/>\n\nYour **refine** application will be accessible at [http://localhost:3000](http://localhost:3000):\n\n<a href=\"http://localhost:3000\">![Welcome on board](https://refine.ams3.cdn.digitaloceanspaces.com/website/static/img/welcome-on-board.png)</a>\n\n<br/>\n\nLet's consume a public `fake REST API` and add two resources (_posts_, _categories_) to our project. Replace the contents of `src/App.tsx` with the following code:\n\n```tsx title=\"src/App.tsx\"\nimport { Refine } from \"@pankod/refine-core\";\nimport {\n    Layout,\n    ReadyPage,\n    notificationProvider,\n    ErrorComponent,\n} from \"@pankod/refine-antd\";\nimport routerProvider from \"@pankod/refine-react-router-v6\";\nimport dataProvider from \"@pankod/refine-simple-rest\";\n\nimport { AntdInferencer } from \"@pankod/refine-inferencer/antd\";\n\nimport \"@pankod/refine-antd/dist/reset.css\";\n\nconst App: React.FC = () => {\n    return (\n        <Refine\n            routerProvider={routerProvider}\n            dataProvider={dataProvider(\"https://api.fake-rest.refine.dev\")}\n            Layout={Layout}\n            ReadyPage={ReadyPage}\n            notificationProvider={notificationProvider}\n            catchAll={<ErrorComponent />}\n            resources={[\n                {\n                    name: \"posts\",\n                    list: AntdInferencer,\n                    show: AntdInferencer,\n                    create: AntdInferencer,\n                    edit: AntdInferencer,\n                    canDelete: true,\n                },\n                {\n                    name: \"categories\",\n                    list: AntdInferencer,\n                    show: AntdInferencer,\n                },\n            ]}\n        />\n    );\n};\n\nexport default App;\n```\n\n<br/>\n\n🚀 Thanks to **refine Inferencer package**, it guesses the configuration to use for the `list`, `show`, `create`, and `edit` pages based on the data fetched from the API and generates the pages automatically.\n\nNow, you should see the output as a table populated with `post` & `category` data:\n\n![First example result](https://refine.ams3.cdn.digitaloceanspaces.com/website/static/img/readme-quick-start.png)\n\n<br/>\n\nYou can get the auto-generated pages codes by clicking the `Show Code` button on each page. Afterward, simply pass the pages to the `resources` array by replacing with the Inferencer components.\n\n## Next Steps\n\n👉 Jump to [Refine<>Ant Design Tutorial](https://refine.dev/docs/ui-frameworks/antd/tutorial/) to continue your work and turn the example into a full-blown CRUD application.\n\n👉 Check out the [Refine<>Tailwind Tutorial](https://refine.dev/docs/tutorials/headless-tutorial/) to learn how to use **refine** in a pure _headless_ way.\n\n👉 Visit [Learn the Basics Page](https://refine.dev/docs/getting-started/overview/) to get informed about the fundamental concepts.\n\n👉 Read more on [Advanced Tutorials\n](https://refine.dev/docs/advanced-tutorials/) for different usage scenarios.\n\n👉 See the real-life [Finefoods Demo](https://refine.dev/demo/) project.\n\n👉 Play with interactive [Examples](https://refine.dev/docs/examples/)\n\n## Roadmap\n\nYou can find refine's <a href=\"https://github.com/refinedev/refine/projects/1\">Public Roadmap here!</a>\n\n## Stargazers\n\n[![Stargazers repo roster for refinedev/refine](https://reporoster.com/stars/refinedev/refine)](https://github.com/refinedev/refine/stargazers)\n\n## Contribution\n\n[👉 Refer to contribution docs for more information](https://refine.dev/docs/contributing/#ways-to-contribute)\n\nIf you have any doubts related to the project or want to discuss something, then join our [Discord Server](https://discord.gg/refine).\n\n## Our ♥️ Contributors\n\n<a href=\"https://github.com/refinedev/refine/graphs/contributors\">\n  <img src=\"https://contrib.rocks/image?repo=refinedev/refine\" />\n</a>\n\n## License\n\nLicensed under the MIT License, Copyright © 2021-present Refinedev\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/refinedev/refine/issues"},"homepage":"https://github.com/refinedev/refine#readme","_id":"@pankod/refine-core@3.94.1","_nodeVersion":"16.18.1","_npmVersion":"8.19.2","dist":{"integrity":"sha512-maC2BID/Gg6jVDz4gONRLBxMTHQ0sCjAxWjHADDRVCyrtWRnzMVpLW4Q2KAE1w1JhAFekqXpiJlQpevnjlFutA==","shasum":"dc3a3c752802a2e0939fcabf0041b9e954fa9d67","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.94.1.tgz","fileCount":515,"unpackedSize":2153200,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBcGGGTbYbwVnX9DUXTRhjcumnEs9lLJf3oWOME+HKkkAiEAyj/KPNh5frt/UDgXS+tNr6BDw8GuzRdLMST1mX5qpKk="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJju9kFACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo1lg/+JqIyg+sKrNj2RlMgpJ5tMaSBalHSZSGhrdAFBrn1UbbuulmC\r\ncB/LeEllVDy3boDdc1aavbSJYhhqYY7BCNQ5R5OtKAi2MxUqHvGOS+FbkRTH\r\nMkbrjNqwlqobbjTASZ0CkWNVgra+iOWe9KhmQZrwvV48FS95hkKJJ1Qv4LQ+\r\nPzN1Cx9iOy06PnNgOW1+8kkUz5SI42BgH1zjf7/L7ASHW1trushMoyz4Dq1X\r\nBMWz2wzj2yWtSWJvVgOs0CaznntBz9CDT1gWBwFSZui0JFLySW4maexzZzaR\r\nW8WBLp9wA9fGoevLAhqSoa0Ges2j43KF4L61qxf0pqZ6N+yIiQnR3fEgSwb7\r\nrejlTArtCkXaOxXOW+EosulIkOHnjhGdhCNOQXFiJsNNkJTmWrqFyTrql3pc\r\n+jap/0Lqb+1JASKs9VVZYkNfdHUavcrthTToVFzlIzWNXXX1XO5pv7FPAg5I\r\n1AI6kTcDB37NTCvO+KDz2iZ9F0JQ+HZu+vYUDVgKgFgr18uRbl6FTEVH5Wuh\r\n1wikvdVD+wtlFCdzDFhDAdObzOBpRcEOOGPUk0OPrwCkwU61/AaIe8ywuToR\r\neYCv7RKuIHfob+Vi187jFm1SJgAsGhHo8f1SHZ1ZW59XthkudSLaG6o7b6Hq\r\nML5ZSI6ywJTTVVLrh/hR1cxc55TcceAZSXw=\r\n=iPE6\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"alicanerdurmaz","email":"alicanerdurmaz@gmail.com"},{"name":"salihozdmr","email":"salihozdemir94@gmail.com"},{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.94.1_1673255173636_0.2263592162406034"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.94.2":{"name":"@pankod/refine-core","version":"3.94.2","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --format esm,cjs,iife --legacy-output","build":"tsup --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0","@types/react":"^17.0.0 || ^18.0.0","@types/react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.16.4","@testing-library/react":"^13.1.1","@testing-library/react-hooks":"^8.0.0","@testing-library/user-event":"^14.1.1","@types/jest":"^29.2.4","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^18.0.0","@types/react-dom":"^18.0.0","@types/react-router-dom":"^5.1.8","@types/testing-library__jest-dom":"^5.14.3","identity-obj-proxy":"^3.0.0","jest":"^29.3.1","jest-environment-jsdom":"^29.3.1","react-router-dom":"6.3.0","ts-jest":"^29.0.3","tsup":"^5.11.13","typescript":"^4.7.4"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","lodash-es":"^4.17.21","lodash":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","@tanstack/react-query-devtools":"^4.10.1","@tanstack/react-query":"^4.10.1","tslib":"^2.3.1","warn-once":"^0.1.0"},"repository":{"type":"git","url":"git+https://github.com/refinedev/refine.git","directory":"packages/core"},"author":{"name":"refine"},"license":"MIT","gitHead":"17dd5af3e4c9f7f09e1e707362c6f5a9d1cab8a8","publishConfig":{"access":"public"},"bugs":{"url":"https://github.com/refinedev/refine/issues"},"homepage":"https://github.com/refinedev/refine#readme","_id":"@pankod/refine-core@3.94.2","_nodeVersion":"16.18.1","_npmVersion":"8.19.2","dist":{"integrity":"sha512-45GUQPRYsP6VJlHb8WWfpAxxCfCmlSX8DaJ0ep0mb2wuQXv91TBoJq5f6OSXKpUYohJMF4nujr2VwIBY2M6k7w==","shasum":"49c68e01aca462650c35728c1feba1311ec5d104","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.94.2.tgz","fileCount":515,"unpackedSize":2153898,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD1T1/Z7UdA4jJKxd/tvEUun+6inCXEB5uqezVLfN5zEQIgVKTudeJB/xzA4Lbc37NMYJIQ8jLxsoXCIWMygleczuc="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJju93SACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqBIA//fNUp4QfQG0JOVcKIIb7x6pGuQIWJWVE5IBQBhlTETLZ7CAiq\r\nqglti+S1ko7cdYauUv70DiFYjoKqKMvcBVtk4vUYjLQY1JRZjaW+qcib/YWQ\r\nsTaTovsFNSJ3zMDvSU+w03wMUVDXc+ZLtC2iFPLQsUWZjJ5YbtXL5E1+XRMp\r\n47KiXydESgGGO7vhNQROYJHIjlt9wnyTe0rhWmkgmRpeHQnTznJwU4Ii/DCz\r\nvMKwW4P9IA0pmxSMVv3gxBFltETSxK1auyOY+a9kbzz1nQUucquKUgggUXXr\r\nO8Yfql1nPzwP6q9GGP+V+p+7J/v3YB9i8COgEGATV+XUTZQO2eBR27pse7hr\r\n9YcyldJNnxeCIcFXD8qcr8Cu7VOTJFxmcYMGYovHPdZML5DiILHzlVPMSjlZ\r\n1J0wi+G85trrz4OZfRyXb6ZMwenx3DZ/MSBnivw9UbLhlvKfUqNvxuJtm/uS\r\n0yGBN0RMSuXm+cpjSC2/JuF7q/HuUCdKa7+J3H8/D9zBRuMjtrFLUlXN4Gkc\r\norrhyednAbw6PrRzWSEBNMGDRcYJ7R26mc6I9hFrLRWAjgrpp/MIB5D0Y94k\r\nLrtayAocWOI4JYjWDrNr3pxafrFpJ92TyYpcFmys4+NhfiAUZSYOICshLV/B\r\nIyE1K1TbMSl9DwsecgB3w0eAywjm4qhmAbE=\r\n=baem\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"alicanerdurmaz","email":"alicanerdurmaz@gmail.com"},{"name":"salihozdmr","email":"salihozdemir94@gmail.com"},{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.94.2_1673256402144_0.8272918300377172"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.95.0":{"name":"@pankod/refine-core","version":"3.95.0","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --format esm,cjs,iife --legacy-output","build":"tsup --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0","@types/react":"^17.0.0 || ^18.0.0","@types/react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.16.4","@testing-library/react":"^13.1.1","@testing-library/react-hooks":"^8.0.0","@testing-library/user-event":"^14.1.1","@types/jest":"^29.2.4","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^18.0.0","@types/react-dom":"^18.0.0","@types/react-router-dom":"^5.1.8","@types/testing-library__jest-dom":"^5.14.3","identity-obj-proxy":"^3.0.0","jest":"^29.3.1","jest-environment-jsdom":"^29.3.1","react-router-dom":"6.3.0","ts-jest":"^29.0.3","tsup":"^5.11.13","typescript":"^4.7.4"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","lodash-es":"^4.17.21","lodash":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","@tanstack/react-query-devtools":"^4.10.1","@tanstack/react-query":"^4.10.1","tslib":"^2.3.1","warn-once":"^0.1.0"},"repository":{"type":"git","url":"git+https://github.com/refinedev/refine.git","directory":"packages/core"},"author":{"name":"refine"},"license":"MIT","gitHead":"17dd5af3e4c9f7f09e1e707362c6f5a9d1cab8a8","publishConfig":{"access":"public"},"readme":"<br/>\n\n<div align=\"center\" style=\"margin: 30px;\">\n<a href=\"https://refine.dev/\">\n  <img src=\"https://refine.ams3.cdn.digitaloceanspaces.com/refine_logo.png\"   style=\"width:250px;\" align=\"center\" />\n</a>\n<br />\n<br />\n\n<div align=\"center\">\n    <a href=\"https://refine.dev\">Home Page</a> |\n    <a href=\"https://discord.gg/refine\">Discord</a> |\n    <a href=\"https://refine.dev/examples/\">Examples</a> | \n    <a href=\"https://refine.dev/blog/\">Blog</a> | \n    <a href=\"https://refine.dev/docs/\">Documentation</a> | \n    <a href=\"https://github.com/refinedev/refine/projects/1\">Roadmap</a>\n</div>\n</div>\n\n<br />\n\n<div align=\"center\"><strong>Build your <a href=\"https://reactjs.org/\">React</a>-based CRUD applications, without constraints.</strong><br>An open source, headless web application framework developed with flexibility in mind.\n\n<br />\n<br />\n\n[![Discord](https://img.shields.io/discord/837692625737613362.svg?label=&logo=discord&logoColor=ffffff&color=7389D8&labelColor=6A7EC2)](https://discord.gg/refine)\n[![Twitter Follow](https://img.shields.io/twitter/follow/refine_dev?style=social)](https://twitter.com/refine_dev)\n\n<a href=\"https://www.producthunt.com/posts/refine-3?utm_source=badge-top-post-badge&utm_medium=badge&utm_souce=badge-refine&#0045;3\" target=\"_blank\"><img src=\"https://api.producthunt.com/widgets/embed-image/v1/top-post-badge.svg?post_id=362220&theme=light&period=daily\" alt=\"refine - 100&#0037;&#0032;open&#0032;source&#0032;React&#0032;framework&#0032;to&#0032;build&#0032;web&#0032;apps&#0032;3x&#0032;faster | Product Hunt\" style=\"width: 250px; height: 54px;\" width=\"250\" height=\"54\" /></a>\n\n</div>\n\n<div align=\"center\">\n\n[![Awesome](https://github.com/refinedev/awesome-refine/raw/main/images/badge.svg)](https://github.com/refinedev/awesome-refine)\n[![Maintainability](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/maintainability)](https://codeclimate.com/github/pankod/refine/maintainability)\n[![Test Coverage](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/test_coverage)](https://codeclimate.com/github/pankod/refine/test_coverage)\n[![npm version](https://img.shields.io/npm/v/@pankod/refine-core.svg)](https://www.npmjs.com/package/@pankod/refine-core)\n[![npm](https://img.shields.io/npm/dm/@pankod/refine-core)](https://www.npmjs.com/package/@pankod/refine-core)\n[![](https://img.shields.io/github/commit-activity/m/refinedev/refine)](https://github.com/refinedev/refine/commits/next)\n[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.0-4baaaa.svg)](CODE_OF_CONDUCT.md)\n\n</div>\n\n<br/>\n<a href=\"https://refine.dev/\">\n<picture>\n  <source media=\"(prefers-color-scheme: dark)\" srcset=\"https://user-images.githubusercontent.com/18739364/200257042-3f2aa7f7-a07f-4824-8d2a-b25f26b6fd32.png\">\n  <img alt=\"how-works-refine\" src=\"https://user-images.githubusercontent.com/18739364/200257209-8fc0c8b1-2568-453e-873f-00513434deed.png\">\n</picture>\n</a>\n\n## What is refine?\n\n**refine** is a React-based framework for the rapid ✨ development of web applications.\nIt eliminates repetitive tasks demanded by **CRUD** operations and provides industry standard solutions for critical parts like **authentication**, **access control**, **routing**, **networking**, **state management**, and **i18n**.\n\n**refine** is _headless by design_, thereby offering unlimited styling and customization options.\n\n## What do you mean by \"headless\" ?\n\nInstead of being a limited set of pre-styled components, **refine** is a collection of helper `hooks`, `components`, and `providers`. They are all decoupled from _UI components_ and _business logic_, so that they never keep you from customizing your _UI_ or coding your own flow.\n\n**refine** seamlessly works with any **custom design** or **UI framework** that you favor. For convenience, it ships with ready-made integrations for [Ant Design System](https://ant.design/), [Material UI](https://mui.com/), [Mantine](https://mantine.dev/), and [Chakra UI](https://chakra-ui.com/).\n\n## Use cases\n\n**refine** shines on _data-intensive⚡_ applications like **admin panels**, **dashboards** and **internal tools**. Thanks to the built-in **SSR support**, **refine** can also power _customer-facing_ applications like **storefronts**.\n\nYou can take a look at some live examples that can be built using **refine** from scratch:\n\n<a href=\"https://s.refine.dev/readme-admin-panel\" target=\"_blank\">\n <img src=\"https://user-images.githubusercontent.com/18739364/204285956-cc20fa11-b769-4bd5-b8f6-9c05a283ac85.gif\"   style=\"width:267px;\"  />\n</a>\n\n <a href=\"https://s.refine.dev/readme-medium-clone\" target=\"_blank\">\n<img src=\"https://user-images.githubusercontent.com/18739364/204285047-8f24f1f4-65ea-4952-83ed-81e92cdd5b90.gif\"   style=\"width:200px;\"  />\n</a>\n\n <a href=\"https://s.refine.dev/readme-ssr-storefront\" target=\"_blank\">\n<img src=\"https://user-images.githubusercontent.com/18739364/204285039-1ce0cb06-fbf8-4704-89c9-2e004620c9a8.gif\"   style=\"width:200px;\"  />\n</a>\n\n<br/>\n<br/>\n\n[👉 Refer to most popular real use case examples](https://refine.dev/examples/)\n\n[👉 More **refine** powered different usage scenarios can be found here](https://refine.dev/docs/examples/)\n\n## Key Features\n\n⚙️ Zero-config, **one-minute setup** with a **single CLI command**\n\n🔌 Connectors for **15+ backend services** including [REST API](https://github.com/refinedev/refine/tree/master/packages/simple-rest), [GraphQL](https://github.com/refinedev/refine/tree/master/packages/graphql), [NestJs CRUD](https://github.com/refinedev/refine/tree/master/packages/nestjsx-crud), [Airtable](https://github.com/refinedev/refine/tree/master/packages/airtable), [Strapi](https://github.com/refinedev/refine/tree/master/packages/strapi), [Strapi v4](https://github.com/refinedev/refine/tree/master/packages/strapi-v4), [Strapi GraphQL](https://github.com/refinedev/refine/tree/master/packages/strapi-graphql), [Supabase](https://github.com/refinedev/refine/tree/master/packages/supabase), [Hasura](https://github.com/refinedev/refine/tree/master/packages/hasura), [Nhost](https://github.com/refinedev/refine/tree/master/packages/nhost), [Appwrite](https://github.com/refinedev/refine/tree/master/packages/appwrite), [Firebase](https://firebase.google.com/), [Directus](https://directus.io/) and [Altogic](https://github.com/refinedev/refine/tree/master/packages/altogic)\n\n🌐 **SSR support** with **Next.js** or **Remix**\n\n🔍 Auto-generated **CRUD** UIs from **your API data structure**\n\n⚛ Perfect **state management** & **mutations** with **React Query**\n\n🔀 **Advanced routing** with any router library of your choice\n\n🔐 Providers for seamless **authentication** and **access control** flows\n\n⚡ Out-of-the-box support for **live / real-time applications**\n\n📄 Easy **audit logs** & **document versioning**\n\n💬 Support for any **i18n** framework\n\n💪 Future-proof, **robust architecture**\n\n⌛️ Built-in CLI with time-saving features\n\n✅ Full **test coverage**\n\n## Quick Start\n\nThe fastest way to get started with **refine** is by using the `create refine-app` project starter tool.\nRun the following command to create a new **refine** project configured with [Ant Design System](https://ant.design/) as the default UI framework:\n\n```\nnpm create refine-app@latest -- --preset refine-antd\n```\n\nOnce the setup is complete, navigate to the project folder and start your project with:\n\n```\nnpm run dev\n```\n\n<br/>\n\nYour **refine** application will be accessible at [http://localhost:3000](http://localhost:3000):\n\n<a href=\"http://localhost:3000\">![Welcome on board](https://refine.ams3.cdn.digitaloceanspaces.com/website/static/img/welcome-on-board.png)</a>\n\n<br/>\n\nLet's consume a public `fake REST API` and add two resources (_posts_, _categories_) to our project. Replace the contents of `src/App.tsx` with the following code:\n\n```tsx title=\"src/App.tsx\"\nimport { Refine } from \"@pankod/refine-core\";\nimport {\n    Layout,\n    ReadyPage,\n    notificationProvider,\n    ErrorComponent,\n} from \"@pankod/refine-antd\";\nimport routerProvider from \"@pankod/refine-react-router-v6\";\nimport dataProvider from \"@pankod/refine-simple-rest\";\n\nimport { AntdInferencer } from \"@pankod/refine-inferencer/antd\";\n\nimport \"@pankod/refine-antd/dist/reset.css\";\n\nconst App: React.FC = () => {\n    return (\n        <Refine\n            routerProvider={routerProvider}\n            dataProvider={dataProvider(\"https://api.fake-rest.refine.dev\")}\n            Layout={Layout}\n            ReadyPage={ReadyPage}\n            notificationProvider={notificationProvider}\n            catchAll={<ErrorComponent />}\n            resources={[\n                {\n                    name: \"posts\",\n                    list: AntdInferencer,\n                    show: AntdInferencer,\n                    create: AntdInferencer,\n                    edit: AntdInferencer,\n                    canDelete: true,\n                },\n                {\n                    name: \"categories\",\n                    list: AntdInferencer,\n                    show: AntdInferencer,\n                },\n            ]}\n        />\n    );\n};\n\nexport default App;\n```\n\n<br/>\n\n🚀 Thanks to **refine Inferencer package**, it guesses the configuration to use for the `list`, `show`, `create`, and `edit` pages based on the data fetched from the API and generates the pages automatically.\n\nNow, you should see the output as a table populated with `post` & `category` data:\n\n![First example result](https://refine.ams3.cdn.digitaloceanspaces.com/website/static/img/readme-quick-start.png)\n\n<br/>\n\nYou can get the auto-generated pages codes by clicking the `Show Code` button on each page. Afterward, simply pass the pages to the `resources` array by replacing with the Inferencer components.\n\n## Next Steps\n\n👉 Jump to [Tutorial](https://refine.dev/docs/tutorial/introduction/index/) to continue your work and turn the example into a full-blown CRUD application.\n\n👉 Visit [Learn the Basics Page](https://refine.dev/docs/getting-started/overview/) to get informed about the fundamental concepts.\n\n👉 Read more on [Advanced Tutorials\n](https://refine.dev/docs/advanced-tutorials/) for different usage scenarios.\n\n👉 See the real-life [Finefoods Demo](https://refine.dev/demo/) project.\n\n👉 Play with interactive [Examples](https://refine.dev/docs/examples/)\n\n## Roadmap\n\nYou can find refine's <a href=\"https://github.com/refinedev/refine/projects/1\">Public Roadmap here!</a>\n\n## Stargazers\n\n[![Stargazers repo roster for refinedev/refine](https://reporoster.com/stars/refinedev/refine)](https://github.com/refinedev/refine/stargazers)\n\n## Contribution\n\n[👉 Refer to contribution docs for more information](https://refine.dev/docs/contributing/#ways-to-contribute)\n\nIf you have any doubts related to the project or want to discuss something, then join our [Discord Server](https://discord.gg/refine).\n\n## Our ♥️ Contributors\n\n<a href=\"https://github.com/refinedev/refine/graphs/contributors\">\n  <img src=\"https://contrib.rocks/image?repo=refinedev/refine\" />\n</a>\n\n## License\n\nLicensed under the MIT License, Copyright © 2021-present Refinedev\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/refinedev/refine/issues"},"homepage":"https://github.com/refinedev/refine#readme","_id":"@pankod/refine-core@3.95.0","_nodeVersion":"16.19.0","_npmVersion":"8.19.3","dist":{"integrity":"sha512-FZ5AsaGUZiMNJD5rHxi9aMKQmingFPsHZ7X/YQGdPK47hu5wdNCdsOyY1omfF2Yt9Jhbchn3261aIfwGoCwvcw==","shasum":"e2cfc960475b70d0298be0aeb600e47a56628402","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.95.0.tgz","fileCount":515,"unpackedSize":2154736,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDj30OiCWocoWcpunZnJo9AWLbKGX7Pye/cAI2qEhE+JQIhAPh+w6znykW39Rrc9spBoCF55KAP3psLO5bf9Ps+1KAw"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjxYKwACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmrz8xAAmNW7zE5/+DiEOABHeecHo2z9ri7djm4x8BpWqRpUcL2f/thZ\r\nxeEMal3o+jcpH1sh6FsZkv6fYx7ZyWq6HudjMhCe6FcYDNdQoKKAK/FwHARG\r\nLBwvLu2IM9FdCyixmKXV64PiUfw67e4SqEfkfDtWqlKCGDAC/p6Qc3mblpWx\r\nnJV+WLWPMgOdPJi/SWVb1Fjr/IUG6Q62n16ZmFVg65S9BDN4PYQo0CycV7el\r\nOFIbJEdGTJhds7zMZT+45alg1YQYYTmQpVT1g1CgC6rQoqFU1rY2/p2OyLu/\r\n3N4pjpgS+b+HdwGgfSZkQuQH+MaXBJwVPOLXcVmQp/MtOEZU/GIHd+oO9E55\r\nnZjomsZMq02VJe9b8lmqzpwRxwo3VuUEhX9U/+kmOoyXQKSfy2Fewt2y8VWE\r\narWudJtg2EFgJUcn0IkEuoGcIscFM48qeKdFLXGao2tdKh/a9BfwZmJ/b0aR\r\nQpi+LWG8p9nB53ojbNyt4Qy2JSDOEUZSiVHDdrdAY3Ra12KWDhn1Hcpfrq45\r\nEnH8atNsESJ0hzDsm4hTGgrmNrl5r6s00HGvDLZqYrDd1FWgqmgHIfwhm7aN\r\nVHRWiohViNSpAk+3JBmk0MTCWu5DpcwJDANBEnLryDOFuyXhN2O1HX7cA0YN\r\nDOjNLmt/zz+0t4/dgGUiav7dtcreWBmd61w=\r\n=Kj3B\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"alicanerdurmaz","email":"alicanerdurmaz@gmail.com"},{"name":"salihozdmr","email":"salihozdemir94@gmail.com"},{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.95.0_1673888432139_0.49409868505177745"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.95.1":{"name":"@pankod/refine-core","version":"3.95.1","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --format esm,cjs,iife --legacy-output","build":"tsup --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0","@types/react":"^17.0.0 || ^18.0.0","@types/react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.16.4","@testing-library/react":"^13.1.1","@testing-library/react-hooks":"^8.0.0","@testing-library/user-event":"^14.1.1","@types/jest":"^29.2.4","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^18.0.0","@types/react-dom":"^18.0.0","@types/react-router-dom":"^5.1.8","@types/testing-library__jest-dom":"^5.14.3","identity-obj-proxy":"^3.0.0","jest":"^29.3.1","jest-environment-jsdom":"^29.3.1","react-router-dom":"6.3.0","ts-jest":"^29.0.3","tsup":"^5.11.13","typescript":"^4.7.4"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","lodash-es":"^4.17.21","lodash":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","@tanstack/react-query-devtools":"^4.10.1","@tanstack/react-query":"^4.10.1","tslib":"^2.3.1","warn-once":"^0.1.0"},"repository":{"type":"git","url":"git+https://github.com/refinedev/refine.git","directory":"packages/core"},"author":{"name":"refine"},"license":"MIT","gitHead":"17dd5af3e4c9f7f09e1e707362c6f5a9d1cab8a8","publishConfig":{"access":"public"},"bugs":{"url":"https://github.com/refinedev/refine/issues"},"homepage":"https://github.com/refinedev/refine#readme","_id":"@pankod/refine-core@3.95.1","_nodeVersion":"16.19.0","_npmVersion":"8.19.3","dist":{"integrity":"sha512-Cxsa2g7DcoQuaWD8JC443Ub2CjZz8O9Cl8TVofjghK96hfO0tubRXSxna1MO8PV9oNY6w6Rwe8RKl8abkkSxTg==","shasum":"deeb84d24c1684601261fafe4139aefea42c80ad","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.95.1.tgz","fileCount":515,"unpackedSize":2155025,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCcj29x334yG6IHl1U0iq8KI/7coX3XbBj5ZwCxDA1xZwIhAKrLzW7XEaP+u1YFrSzPbhgThP/biKI9TDmkhgAcEvZS"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjxmnbACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmoasg//QxAycw5apYJniP/hINNuA2ZsQnw72s1KBaHpq0+tiWKZUAyJ\r\nM/iBokEoZQVUjHLVnSinVnebNCQRn3PibwoLlHxsCpUIdjsv6LyCkxvN+rwG\r\n/byaVf7K/iRPpf3WeInabJp6RiM16XEmyvHPui5o+vYNtk839DA0gaRX7HQT\r\nQJpwVHtaSbjS2OSvK06j5QncfVqnltd5FsfpEZ8C07s0hKlgv/DyawLTpj0y\r\nCOxO7K35ZYiCNSIKhyLe33WGqJ2XMsZPHkDM4Y5SMY5I/V9RiqWQulotQsKc\r\nW1EK8TE7P5zJhxHjFp1jaADFnfaAO+BreSuf6F3SW/iEodGaeWnHDYI4UBq6\r\nHxRTJlZLHk+Zy0HGYD8KrDa1aPvHdHaTxaCak11ZFn7f4aiIHl7FEtO5TF9F\r\noebFCIvgooYxBkurISTn1ISyrB8CTu7sQXT8UsUJRoHErF0nFSxc/2yu98sd\r\nzw5/hMmyOHa4Uha/b8KKFL1K4owHV78I7uYEC6saNTOafyMP+SYhEwF/6T3H\r\n2ctcsXcuQtNsHX/C32GTmMaa8SkJYFX+NEjKJerBchO0kDK2PrD5HVnKzO+z\r\nWHPE/H01fb9iyOc+Fx6YAPGofnUN48h8iwYOBc1D6CM/kSvO0MvKP+XSIK6y\r\nbENfwMz0y0qLr0IGZq5p5W9flwdPb9XCRk0=\r\n=ClPU\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"alicanerdurmaz","email":"alicanerdurmaz@gmail.com"},{"name":"salihozdmr","email":"salihozdemir94@gmail.com"},{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.95.1_1673947611341_0.6409540434485061"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.95.2":{"name":"@pankod/refine-core","version":"3.95.2","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --format esm,cjs,iife --legacy-output","build":"tsup --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0","@types/react":"^17.0.0 || ^18.0.0","@types/react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.16.4","@testing-library/react":"^13.1.1","@testing-library/react-hooks":"^8.0.0","@testing-library/user-event":"^14.1.1","@types/jest":"^29.2.4","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^18.0.0","@types/react-dom":"^18.0.0","@types/react-router-dom":"^5.1.8","@types/testing-library__jest-dom":"^5.14.3","identity-obj-proxy":"^3.0.0","jest":"^29.3.1","jest-environment-jsdom":"^29.3.1","react-router-dom":"6.3.0","ts-jest":"^29.0.3","tsup":"^5.11.13","typescript":"^4.7.4"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","lodash-es":"^4.17.21","lodash":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","@tanstack/react-query-devtools":"^4.10.1","@tanstack/react-query":"^4.10.1","tslib":"^2.3.1","warn-once":"^0.1.0"},"repository":{"type":"git","url":"git+https://github.com/refinedev/refine.git","directory":"packages/core"},"author":{"name":"refine"},"license":"MIT","gitHead":"17dd5af3e4c9f7f09e1e707362c6f5a9d1cab8a8","publishConfig":{"access":"public"},"readme":"<br/>\n\n<div align=\"center\" style=\"margin: 30px;\">\n<a href=\"https://refine.dev/\">\n  <img src=\"https://refine.ams3.cdn.digitaloceanspaces.com/refine_logo.png\"   style=\"width:250px;\" align=\"center\" />\n</a>\n<br />\n<br />\n\n<div align=\"center\">\n    <a href=\"https://refine.dev\">Home Page</a> |\n    <a href=\"https://discord.gg/refine\">Discord</a> |\n    <a href=\"https://refine.dev/examples/\">Examples</a> | \n    <a href=\"https://refine.dev/blog/\">Blog</a> | \n    <a href=\"https://refine.dev/docs/\">Documentation</a> | \n    <a href=\"https://github.com/refinedev/refine/projects/1\">Roadmap</a>\n</div>\n</div>\n\n<br />\n\n<div align=\"center\"><strong>Build your <a href=\"https://reactjs.org/\">React</a>-based CRUD applications, without constraints.</strong><br>An open source, headless web application framework developed with flexibility in mind.\n\n<br />\n<br />\n\n[![Discord](https://img.shields.io/discord/837692625737613362.svg?label=&logo=discord&logoColor=ffffff&color=7389D8&labelColor=6A7EC2)](https://discord.gg/refine)\n[![Twitter Follow](https://img.shields.io/twitter/follow/refine_dev?style=social)](https://twitter.com/refine_dev)\n\n<a href=\"https://www.producthunt.com/posts/refine-3?utm_source=badge-top-post-badge&utm_medium=badge&utm_souce=badge-refine&#0045;3\" target=\"_blank\"><img src=\"https://api.producthunt.com/widgets/embed-image/v1/top-post-badge.svg?post_id=362220&theme=light&period=daily\" alt=\"refine - 100&#0037;&#0032;open&#0032;source&#0032;React&#0032;framework&#0032;to&#0032;build&#0032;web&#0032;apps&#0032;3x&#0032;faster | Product Hunt\" style=\"width: 250px; height: 54px;\" width=\"250\" height=\"54\" /></a>\n\n</div>\n\n<div align=\"center\">\n\n[![Awesome](https://github.com/refinedev/awesome-refine/raw/main/images/badge.svg)](https://github.com/refinedev/awesome-refine)\n[![Maintainability](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/maintainability)](https://codeclimate.com/github/pankod/refine/maintainability)\n[![Test Coverage](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/test_coverage)](https://codeclimate.com/github/pankod/refine/test_coverage)\n[![npm version](https://img.shields.io/npm/v/@pankod/refine-core.svg)](https://www.npmjs.com/package/@pankod/refine-core)\n[![npm](https://img.shields.io/npm/dm/@pankod/refine-core)](https://www.npmjs.com/package/@pankod/refine-core)\n[![](https://img.shields.io/github/commit-activity/m/refinedev/refine)](https://github.com/refinedev/refine/commits/next)\n[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.0-4baaaa.svg)](CODE_OF_CONDUCT.md)\n\n</div>\n\n<br/>\n<a href=\"https://refine.dev/\">\n<picture>\n  <source media=\"(prefers-color-scheme: dark)\" srcset=\"https://user-images.githubusercontent.com/18739364/200257042-3f2aa7f7-a07f-4824-8d2a-b25f26b6fd32.png\">\n  <img alt=\"how-works-refine\" src=\"https://user-images.githubusercontent.com/18739364/200257209-8fc0c8b1-2568-453e-873f-00513434deed.png\">\n</picture>\n</a>\n\n## What is refine?\n\n**refine** is a React-based framework for the rapid ✨ development of web applications.\nIt eliminates repetitive tasks demanded by **CRUD** operations and provides industry standard solutions for critical parts like **authentication**, **access control**, **routing**, **networking**, **state management**, and **i18n**.\n\n**refine** is _headless by design_, thereby offering unlimited styling and customization options.\n\n## What do you mean by \"headless\" ?\n\nInstead of being a limited set of pre-styled components, **refine** is a collection of helper `hooks`, `components`, and `providers`. They are all decoupled from _UI components_ and _business logic_, so that they never keep you from customizing your _UI_ or coding your own flow.\n\n**refine** seamlessly works with any **custom design** or **UI framework** that you favor. For convenience, it ships with ready-made integrations for [Ant Design System](https://ant.design/), [Material UI](https://mui.com/), [Mantine](https://mantine.dev/), and [Chakra UI](https://chakra-ui.com/).\n\n## Use cases\n\n**refine** shines on _data-intensive⚡_ applications like **admin panels**, **dashboards** and **internal tools**. Thanks to the built-in **SSR support**, **refine** can also power _customer-facing_ applications like **storefronts**.\n\nYou can take a look at some live examples that can be built using **refine** from scratch:\n\n<a href=\"https://s.refine.dev/readme-admin-panel\" target=\"_blank\">\n <img src=\"https://user-images.githubusercontent.com/18739364/204285956-cc20fa11-b769-4bd5-b8f6-9c05a283ac85.gif\"   style=\"width:267px;\"  />\n</a>\n\n <a href=\"https://s.refine.dev/readme-medium-clone\" target=\"_blank\">\n<img src=\"https://user-images.githubusercontent.com/18739364/204285047-8f24f1f4-65ea-4952-83ed-81e92cdd5b90.gif\"   style=\"width:200px;\"  />\n</a>\n\n <a href=\"https://s.refine.dev/readme-ssr-storefront\" target=\"_blank\">\n<img src=\"https://user-images.githubusercontent.com/18739364/204285039-1ce0cb06-fbf8-4704-89c9-2e004620c9a8.gif\"   style=\"width:200px;\"  />\n</a>\n\n<br/>\n<br/>\n\n[👉 Refer to most popular real use case examples](https://refine.dev/examples/)\n\n[👉 More **refine** powered different usage scenarios can be found here](https://refine.dev/docs/examples/)\n\n## Key Features\n\n⚙️ Zero-config, **one-minute setup** with a **single CLI command**\n\n🔌 Connectors for **15+ backend services** including [REST API](https://github.com/refinedev/refine/tree/master/packages/simple-rest), [GraphQL](https://github.com/refinedev/refine/tree/master/packages/graphql), [NestJs CRUD](https://github.com/refinedev/refine/tree/master/packages/nestjsx-crud), [Airtable](https://github.com/refinedev/refine/tree/master/packages/airtable), [Strapi](https://github.com/refinedev/refine/tree/master/packages/strapi), [Strapi v4](https://github.com/refinedev/refine/tree/master/packages/strapi-v4), [Strapi GraphQL](https://github.com/refinedev/refine/tree/master/packages/strapi-graphql), [Supabase](https://github.com/refinedev/refine/tree/master/packages/supabase), [Hasura](https://github.com/refinedev/refine/tree/master/packages/hasura), [Nhost](https://github.com/refinedev/refine/tree/master/packages/nhost), [Appwrite](https://github.com/refinedev/refine/tree/master/packages/appwrite), [Firebase](https://firebase.google.com/), [Directus](https://directus.io/) and [Altogic](https://github.com/refinedev/refine/tree/master/packages/altogic)\n\n🌐 **SSR support** with **Next.js** or **Remix**\n\n🔍 Auto-generated **CRUD** UIs from **your API data structure**\n\n⚛ Perfect **state management** & **mutations** with **React Query**\n\n🔀 **Advanced routing** with any router library of your choice\n\n🔐 Providers for seamless **authentication** and **access control** flows\n\n⚡ Out-of-the-box support for **live / real-time applications**\n\n📄 Easy **audit logs** & **document versioning**\n\n💬 Support for any **i18n** framework\n\n💪 Future-proof, **robust architecture**\n\n⌛️ Built-in CLI with time-saving features\n\n✅ Full **test coverage**\n\n## Quick Start\n\nThe fastest way to get started with **refine** is by using the `create refine-app` project starter tool.\nRun the following command to create a new **refine** project configured with [Ant Design System](https://ant.design/) as the default UI framework:\n\n```\nnpm create refine-app@latest -- --preset refine-antd\n```\n\nOnce the setup is complete, navigate to the project folder and start your project with:\n\n```\nnpm run dev\n```\n\n<br/>\n\nYour **refine** application will be accessible at [http://localhost:3000](http://localhost:3000):\n\n<a href=\"http://localhost:3000\">![Welcome on board](https://refine.ams3.cdn.digitaloceanspaces.com/website/static/img/welcome-on-board.png)</a>\n\n<br/>\n\nLet's consume a public `fake REST API` and add two resources (_posts_, _categories_) to our project. Replace the contents of `src/App.tsx` with the following code:\n\n```tsx title=\"src/App.tsx\"\nimport { Refine } from \"@pankod/refine-core\";\nimport {\n    Layout,\n    ReadyPage,\n    notificationProvider,\n    ErrorComponent,\n} from \"@pankod/refine-antd\";\nimport routerProvider from \"@pankod/refine-react-router-v6\";\nimport dataProvider from \"@pankod/refine-simple-rest\";\n\nimport { AntdInferencer } from \"@pankod/refine-inferencer/antd\";\n\nimport \"@pankod/refine-antd/dist/reset.css\";\n\nconst App: React.FC = () => {\n    return (\n        <Refine\n            routerProvider={routerProvider}\n            dataProvider={dataProvider(\"https://api.fake-rest.refine.dev\")}\n            Layout={Layout}\n            ReadyPage={ReadyPage}\n            notificationProvider={notificationProvider}\n            catchAll={<ErrorComponent />}\n            resources={[\n                {\n                    name: \"posts\",\n                    list: AntdInferencer,\n                    show: AntdInferencer,\n                    create: AntdInferencer,\n                    edit: AntdInferencer,\n                    canDelete: true,\n                },\n                {\n                    name: \"categories\",\n                    list: AntdInferencer,\n                    show: AntdInferencer,\n                },\n            ]}\n        />\n    );\n};\n\nexport default App;\n```\n\n<br/>\n\n🚀 Thanks to **refine Inferencer package**, it guesses the configuration to use for the `list`, `show`, `create`, and `edit` pages based on the data fetched from the API and generates the pages automatically.\n\nNow, you should see the output as a table populated with `post` & `category` data:\n\n![First example result](https://refine.ams3.cdn.digitaloceanspaces.com/website/static/img/readme-quick-start.png)\n\n<br/>\n\nYou can get the auto-generated pages codes by clicking the `Show Code` button on each page. Afterward, simply pass the pages to the `resources` array by replacing with the Inferencer components.\n\n## Next Steps\n\n👉 Jump to [Tutorial](https://refine.dev/docs/tutorial/introduction/index/) to continue your work and turn the example into a full-blown CRUD application.\n\n👉 Visit [Learn the Basics Page](https://refine.dev/docs/getting-started/overview/) to get informed about the fundamental concepts.\n\n👉 Read more on [Advanced Tutorials\n](https://refine.dev/docs/advanced-tutorials/) for different usage scenarios.\n\n👉 See the real-life [Finefoods Demo](https://refine.dev/demo/) project.\n\n👉 Play with interactive [Examples](https://refine.dev/docs/examples/)\n\n## Roadmap\n\nYou can find refine's <a href=\"https://github.com/refinedev/refine/projects/1\">Public Roadmap here!</a>\n\n## Stargazers\n\n[![Stargazers repo roster for refinedev/refine](https://reporoster.com/stars/refinedev/refine)](https://github.com/refinedev/refine/stargazers)\n\n## Contribution\n\n[👉 Refer to contribution docs for more information](https://refine.dev/docs/contributing/#ways-to-contribute)\n\nIf you have any doubts related to the project or want to discuss something, then join our [Discord Server](https://discord.gg/refine).\n\n## Our ♥️ Contributors\n\n<a href=\"https://github.com/refinedev/refine/graphs/contributors\">\n  <img src=\"https://contrib.rocks/image?repo=refinedev/refine\" />\n</a>\n\n## License\n\nLicensed under the MIT License, Copyright © 2021-present Refinedev\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/refinedev/refine/issues"},"homepage":"https://github.com/refinedev/refine#readme","_id":"@pankod/refine-core@3.95.2","_nodeVersion":"16.19.0","_npmVersion":"8.19.3","dist":{"integrity":"sha512-77V7doKgLvIKwo6kY7VGgjIZgQL+9hf7OTk4BdJtuweUVNj2kiKxChSiFm4MRdQSN/Q0ctGT6m7GxNbqogVD8g==","shasum":"8587d083f09df05b3cbda79d8d06b0692c13c0d3","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.95.2.tgz","fileCount":515,"unpackedSize":2155590,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBHCG5qIhMQcmDc/UU2Stt6MS6MzO3f/wLrRCDYMFu7sAiEA+fCUl1TalSfnwQ/vxVkypahA41eBsBKZL9HNnCONNzA="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjyRBXACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmrrgw//QSQqfNj/cafSZCsGO2qoxwS4HjOMeCDMTdpYavt8TFe3Q+8e\r\no/kEi9eDOHUaoo+dOr1MXWtWKq0nqD7FqvQEDd78dMRr9kInbt6aOj8XK3oJ\r\nz3cEYrQzDutv49mHetuzoci9Y8J5NzQ9MtnZAe93OXMkvhD+S/6nsN7+ggIO\r\nPJcNel4SUOfmo4m7dTgGoc6HZGpEDhpYXxTK9NKgVt6jMlWksJ7/aEiRERkJ\r\nMB/9sgikGlQJuLgRCU2rtqv/R65O3CCS59NX0sGZ8Wlq6Hq+wlIcssAfqls2\r\nTVakYDedIZt3DNTaV41+tMfRh8+O31H+759MqHz6EfpMZGwtcSNDAH2iPNCE\r\nIhN/v0vJJTQFspLsTdcUdOGBpFIOxJRgosdqvlo6e2d/Df4Xn/vTVFtT1jum\r\n7ExJLZ2eNC/TiFIVjBTCFmp8QjSKzFigaarY3aPebJQBsdY9voMpYTVNriyK\r\n4DeGLVM1GvT+JI+ERCSlNHIFvFA2ou43mGK6nGpq3mNF4rkcJYeiAozsEsGK\r\nQVTquSwGD4P6cIoK8RsZtNaZiEgoE8R2OhhnSXojOCnCpNIgOLZPMVf+enhS\r\nNE9aA+N0i/RYI9KgXfKzfYYBVgbJ378pNHRg7UgAcOusiwQgPqnCelOg6B3+\r\nIgkM+xFsE7AF8crTBm9qd3kO5mAoRn2Yxqs=\r\n=ZOfi\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"alicanerdurmaz","email":"alicanerdurmaz@gmail.com"},{"name":"salihozdmr","email":"salihozdemir94@gmail.com"},{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.95.2_1674121303221_0.43878220520773414"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.95.3":{"name":"@pankod/refine-core","version":"3.95.3","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --format esm,cjs,iife --legacy-output","build":"tsup --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0","@types/react":"^17.0.0 || ^18.0.0","@types/react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.16.4","@testing-library/react":"^13.1.1","@testing-library/react-hooks":"^8.0.0","@testing-library/user-event":"^14.1.1","@types/jest":"^29.2.4","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^18.0.0","@types/react-dom":"^18.0.0","@types/react-router-dom":"^5.1.8","@types/testing-library__jest-dom":"^5.14.3","identity-obj-proxy":"^3.0.0","jest":"^29.3.1","jest-environment-jsdom":"^29.3.1","react-router-dom":"6.3.0","ts-jest":"^29.0.3","tsup":"^5.11.13","typescript":"^4.7.4"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","lodash-es":"^4.17.21","lodash":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","@tanstack/react-query-devtools":"^4.10.1","@tanstack/react-query":"^4.10.1","tslib":"^2.3.1","warn-once":"^0.1.0"},"repository":{"type":"git","url":"git+https://github.com/refinedev/refine.git","directory":"packages/core"},"author":{"name":"refine"},"license":"MIT","gitHead":"17dd5af3e4c9f7f09e1e707362c6f5a9d1cab8a8","publishConfig":{"access":"public"},"bugs":{"url":"https://github.com/refinedev/refine/issues"},"homepage":"https://github.com/refinedev/refine#readme","_id":"@pankod/refine-core@3.95.3","_nodeVersion":"16.19.0","_npmVersion":"8.19.3","dist":{"integrity":"sha512-rMgD4FQ6V4RoMK83/C8aroSof4f4VvbyVncm63ybuhHQS4YH1TCYg8hbKWVIAfDE9A3qqRAGO07SKHIaRur5Ww==","shasum":"12138f7ac705f4575f7b7ac7e18a8c5194c1a826","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.95.3.tgz","fileCount":515,"unpackedSize":2156153,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDw46lHw9+k8FyDOpeB/BqcRxmDiIgKY7n4WvpSM2kMywIhAMzZzJsTVF4MVh53voOya3qoTuCKCE/sGkjbQKh6BWrS"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjyR8rACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpwPw/9GwZiZgJrnJE96nA15EfmKc4t8tASPiTP5lJRwMyb5l+87Ljn\r\nUaYVcFpB0gWB1tkIReATpj7TVtx7snPcbyTZk9ZjQAAhUN96RWi9mzhTAMJk\r\nevEao8OJzTqS9BWXUWLZeFgDJffW468bPWb9bj6KHpXmcSXB0uUSK0sd/1eI\r\nPlurAcBC94GeaxCB+Sj/7t3YfiyAXmn50K/2+vpVEFCIZi0uLNZLv8qOxhfE\r\nplTHd2+NkX/8DcVIbZC3hV+nvrVN2v8kqMlXIpcY8MSxzCEoN4ixC3/pvDzQ\r\ngnSEmehhy33oEko4cGCWKk3p5WxHZmlNMCmINwU8vzA4NwujTQKM3gxRiqh2\r\ny9grxeWC2zM9dbs2/wnT2hjcT8laJxFvQXhsimwdHiWX+qmxNqu6tMVtRYuM\r\nyWMuMXSY2SVZYeCrGcTJrt8jNkAXRgzZVz3/AfFf+FXfqkB6bQlGdd7/KVPD\r\nA4mwlhhwQX894q/Uo49TQFJowAp8+8JEOKnulDdn/TBUWfdRlunqjHVjlhMa\r\n4y9Lc9lvtTEgJWIn7jC1ti2eczGD7xMR1IREmltTWBJqCx7rKmQr9qCLxsGW\r\nVgRU/H/817BAi15VRU9+swBFi5R3uxj1Afu9VGznOQ9LdNUZlsT+aE6qJsrM\r\nX5+fdr3wgv6NM/WBxALiIulQnnW/Qb3G1d8=\r\n=JNzX\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"alicanerdurmaz","email":"alicanerdurmaz@gmail.com"},{"name":"salihozdmr","email":"salihozdemir94@gmail.com"},{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.95.3_1674125099016_0.8356385774773771"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.96.0":{"name":"@pankod/refine-core","version":"3.96.0","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --format esm,cjs,iife --legacy-output","build":"tsup --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0","@types/react":"^17.0.0 || ^18.0.0","@types/react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.16.4","@testing-library/react":"^13.1.1","@testing-library/react-hooks":"^8.0.0","@testing-library/user-event":"^14.1.1","@types/jest":"^29.2.4","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^18.0.0","@types/react-dom":"^18.0.0","@types/react-router-dom":"^5.1.8","@types/testing-library__jest-dom":"^5.14.3","identity-obj-proxy":"^3.0.0","jest":"^29.3.1","jest-environment-jsdom":"^29.3.1","react-router-dom":"6.3.0","ts-jest":"^29.0.3","tsup":"^5.11.13","typescript":"^4.7.4"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","lodash-es":"^4.17.21","lodash":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","@tanstack/react-query-devtools":"^4.10.1","@tanstack/react-query":"^4.10.1","tslib":"^2.3.1","warn-once":"^0.1.0"},"repository":{"type":"git","url":"git+https://github.com/refinedev/refine.git","directory":"packages/core"},"author":{"name":"refine"},"license":"MIT","gitHead":"17dd5af3e4c9f7f09e1e707362c6f5a9d1cab8a8","publishConfig":{"access":"public"},"readme":"<br/>\n\n<div align=\"center\" style=\"margin: 30px;\">\n<a href=\"https://refine.dev/\">\n  <img src=\"https://refine.ams3.cdn.digitaloceanspaces.com/refine_logo.png\"   style=\"width:250px;\" align=\"center\" />\n</a>\n<br />\n<br />\n\n<div align=\"center\">\n    <a href=\"https://refine.dev\">Home Page</a> |\n    <a href=\"https://discord.gg/refine\">Discord</a> |\n    <a href=\"https://refine.dev/examples/\">Examples</a> | \n    <a href=\"https://refine.dev/blog/\">Blog</a> | \n    <a href=\"https://refine.dev/docs/\">Documentation</a> | \n    <a href=\"https://github.com/refinedev/refine/projects/1\">Roadmap</a>\n</div>\n</div>\n\n<br />\n\n<div align=\"center\"><strong>Build your <a href=\"https://reactjs.org/\">React</a>-based CRUD applications, without constraints.</strong><br>An open source, headless web application framework developed with flexibility in mind.\n\n<br />\n<br />\n\n[![Discord](https://img.shields.io/discord/837692625737613362.svg?label=&logo=discord&logoColor=ffffff&color=7389D8&labelColor=6A7EC2)](https://discord.gg/refine)\n[![Twitter Follow](https://img.shields.io/twitter/follow/refine_dev?style=social)](https://twitter.com/refine_dev)\n\n<a href=\"https://www.producthunt.com/posts/refine-3?utm_source=badge-top-post-badge&utm_medium=badge&utm_souce=badge-refine&#0045;3\" target=\"_blank\"><img src=\"https://api.producthunt.com/widgets/embed-image/v1/top-post-badge.svg?post_id=362220&theme=light&period=daily\" alt=\"refine - 100&#0037;&#0032;open&#0032;source&#0032;React&#0032;framework&#0032;to&#0032;build&#0032;web&#0032;apps&#0032;3x&#0032;faster | Product Hunt\" style=\"width: 250px; height: 54px;\" width=\"250\" height=\"54\" /></a>\n\n</div>\n\n<div align=\"center\">\n\n[![Awesome](https://github.com/refinedev/awesome-refine/raw/main/images/badge.svg)](https://github.com/refinedev/awesome-refine)\n[![Maintainability](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/maintainability)](https://codeclimate.com/github/pankod/refine/maintainability)\n[![Test Coverage](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/test_coverage)](https://codeclimate.com/github/pankod/refine/test_coverage)\n[![npm version](https://img.shields.io/npm/v/@pankod/refine-core.svg)](https://www.npmjs.com/package/@pankod/refine-core)\n[![npm](https://img.shields.io/npm/dm/@pankod/refine-core)](https://www.npmjs.com/package/@pankod/refine-core)\n[![](https://img.shields.io/github/commit-activity/m/refinedev/refine)](https://github.com/refinedev/refine/commits/next)\n[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.0-4baaaa.svg)](CODE_OF_CONDUCT.md)\n\n</div>\n\n<br/>\n<a href=\"https://refine.dev/\">\n<picture>\n  <source media=\"(prefers-color-scheme: dark)\" srcset=\"https://user-images.githubusercontent.com/18739364/200257042-3f2aa7f7-a07f-4824-8d2a-b25f26b6fd32.png\">\n  <img alt=\"how-works-refine\" src=\"https://user-images.githubusercontent.com/18739364/200257209-8fc0c8b1-2568-453e-873f-00513434deed.png\">\n</picture>\n</a>\n\n## What is refine?\n\n**refine** is a React-based framework for the rapid ✨ development of web applications.\nIt eliminates repetitive tasks demanded by **CRUD** operations and provides industry standard solutions for critical parts like **authentication**, **access control**, **routing**, **networking**, **state management**, and **i18n**.\n\n**refine** is _headless by design_, thereby offering unlimited styling and customization options.\n\n## What do you mean by \"headless\" ?\n\nInstead of being a limited set of pre-styled components, **refine** is a collection of helper `hooks`, `components`, and `providers`. They are all decoupled from _UI components_ and _business logic_, so that they never keep you from customizing your _UI_ or coding your own flow.\n\n**refine** seamlessly works with any **custom design** or **UI framework** that you favor. For convenience, it ships with ready-made integrations for [Ant Design System](https://ant.design/), [Material UI](https://mui.com/), [Mantine](https://mantine.dev/), and [Chakra UI](https://chakra-ui.com/).\n\n## Use cases\n\n**refine** shines on _data-intensive⚡_ applications like **admin panels**, **dashboards** and **internal tools**. Thanks to the built-in **SSR support**, **refine** can also power _customer-facing_ applications like **storefronts**.\n\nYou can take a look at some live examples that can be built using **refine** from scratch:\n\n<a href=\"https://s.refine.dev/readme-admin-panel\" target=\"_blank\">\n <img src=\"https://user-images.githubusercontent.com/18739364/204285956-cc20fa11-b769-4bd5-b8f6-9c05a283ac85.gif\"   style=\"width:267px;\"  />\n</a>\n\n <a href=\"https://s.refine.dev/readme-medium-clone\" target=\"_blank\">\n<img src=\"https://user-images.githubusercontent.com/18739364/204285047-8f24f1f4-65ea-4952-83ed-81e92cdd5b90.gif\"   style=\"width:200px;\"  />\n</a>\n\n <a href=\"https://s.refine.dev/readme-ssr-storefront\" target=\"_blank\">\n<img src=\"https://user-images.githubusercontent.com/18739364/204285039-1ce0cb06-fbf8-4704-89c9-2e004620c9a8.gif\"   style=\"width:200px;\"  />\n</a>\n\n<br/>\n<br/>\n\n[👉 Refer to most popular real use case examples](https://refine.dev/examples/)\n\n[👉 More **refine** powered different usage scenarios can be found here](https://refine.dev/docs/examples/)\n\n## Key Features\n\n⚙️ Zero-config, **one-minute setup** with a **single CLI command**\n\n🔌 Connectors for **15+ backend services** including [REST API](https://github.com/refinedev/refine/tree/master/packages/simple-rest), [GraphQL](https://github.com/refinedev/refine/tree/master/packages/graphql), [NestJs CRUD](https://github.com/refinedev/refine/tree/master/packages/nestjsx-crud), [Airtable](https://github.com/refinedev/refine/tree/master/packages/airtable), [Strapi](https://github.com/refinedev/refine/tree/master/packages/strapi), [Strapi v4](https://github.com/refinedev/refine/tree/master/packages/strapi-v4), [Strapi GraphQL](https://github.com/refinedev/refine/tree/master/packages/strapi-graphql), [Supabase](https://github.com/refinedev/refine/tree/master/packages/supabase), [Hasura](https://github.com/refinedev/refine/tree/master/packages/hasura), [Appwrite](https://github.com/refinedev/refine/tree/master/packages/appwrite), [Firebase](https://firebase.google.com/), and [Directus](https://directus.io/).\n\n🌐 **SSR support** with **Next.js** or **Remix**\n\n🔍 Auto-generated **CRUD** UIs from **your API data structure**\n\n⚛ Perfect **state management** & **mutations** with **React Query**\n\n🔀 **Advanced routing** with any router library of your choice\n\n🔐 Providers for seamless **authentication** and **access control** flows\n\n⚡ Out-of-the-box support for **live / real-time applications**\n\n📄 Easy **audit logs** & **document versioning**\n\n💬 Support for any **i18n** framework\n\n💪 Future-proof, **robust architecture**\n\n⌛️ Built-in CLI with time-saving features\n\n✅ Full **test coverage**\n\n## Quick Start\n\nThe fastest way to get started with **refine** is by using the `create refine-app` project starter tool.\nRun the following command to create a new **refine** project configured with [Ant Design System](https://ant.design/) as the default UI framework:\n\n```\nnpm create refine-app@latest -- --preset refine-antd\n```\n\nOnce the setup is complete, navigate to the project folder and start your project with:\n\n```\nnpm run dev\n```\n\n<br/>\n\nYour **refine** application will be accessible at [http://localhost:3000](http://localhost:3000):\n\n<a href=\"http://localhost:3000\">![Welcome on board](https://refine.ams3.cdn.digitaloceanspaces.com/website/static/img/welcome-on-board.png)</a>\n\n<br/>\n\nLet's consume a public `fake REST API` and add two resources (_posts_, _categories_) to our project. Replace the contents of `src/App.tsx` with the following code:\n\n```tsx title=\"src/App.tsx\"\nimport { Refine } from \"@pankod/refine-core\";\nimport {\n    Layout,\n    ReadyPage,\n    notificationProvider,\n    ErrorComponent,\n} from \"@pankod/refine-antd\";\nimport routerProvider from \"@pankod/refine-react-router-v6\";\nimport dataProvider from \"@pankod/refine-simple-rest\";\n\nimport { AntdInferencer } from \"@pankod/refine-inferencer/antd\";\n\nimport \"@pankod/refine-antd/dist/reset.css\";\n\nconst App: React.FC = () => {\n    return (\n        <Refine\n            routerProvider={routerProvider}\n            dataProvider={dataProvider(\"https://api.fake-rest.refine.dev\")}\n            Layout={Layout}\n            ReadyPage={ReadyPage}\n            notificationProvider={notificationProvider}\n            catchAll={<ErrorComponent />}\n            resources={[\n                {\n                    name: \"posts\",\n                    list: AntdInferencer,\n                    show: AntdInferencer,\n                    create: AntdInferencer,\n                    edit: AntdInferencer,\n                    canDelete: true,\n                },\n                {\n                    name: \"categories\",\n                    list: AntdInferencer,\n                    show: AntdInferencer,\n                },\n            ]}\n        />\n    );\n};\n\nexport default App;\n```\n\n<br/>\n\n🚀 Thanks to **refine Inferencer package**, it guesses the configuration to use for the `list`, `show`, `create`, and `edit` pages based on the data fetched from the API and generates the pages automatically.\n\nNow, you should see the output as a table populated with `post` & `category` data:\n\n![First example result](https://refine.ams3.cdn.digitaloceanspaces.com/website/static/img/readme-quick-start.png)\n\n<br/>\n\nYou can get the auto-generated pages codes by clicking the `Show Code` button on each page. Afterward, simply pass the pages to the `resources` array by replacing with the Inferencer components.\n\n## Next Steps\n\n👉 Jump to [Tutorial](https://refine.dev/docs/tutorial/introduction/index/) to continue your work and turn the example into a full-blown CRUD application.\n\n👉 Visit [Learn the Basics Page](https://refine.dev/docs/getting-started/overview/) to get informed about the fundamental concepts.\n\n👉 Read more on [Advanced Tutorials\n](https://refine.dev/docs/advanced-tutorials/) for different usage scenarios.\n\n👉 See the real-life [Finefoods Demo](https://refine.dev/demo/) project.\n\n👉 Play with interactive [Examples](https://refine.dev/docs/examples/)\n\n## Roadmap\n\nYou can find refine's <a href=\"https://github.com/refinedev/refine/projects/1\">Public Roadmap here!</a>\n\n## Stargazers\n\n[![Stargazers repo roster for refinedev/refine](https://reporoster.com/stars/refinedev/refine)](https://github.com/refinedev/refine/stargazers)\n\n## Contribution\n\n[👉 Refer to contribution docs for more information](https://refine.dev/docs/contributing/#ways-to-contribute)\n\nIf you have any doubts related to the project or want to discuss something, then join our [Discord Server](https://discord.gg/refine).\n\n## Our ♥️ Contributors\n\n<a href=\"https://github.com/refinedev/refine/graphs/contributors\">\n  <img src=\"https://contrib.rocks/image?repo=refinedev/refine\" />\n</a>\n\n## License\n\nLicensed under the MIT License, Copyright © 2021-present Refinedev\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/refinedev/refine/issues"},"homepage":"https://github.com/refinedev/refine#readme","_id":"@pankod/refine-core@3.96.0","_nodeVersion":"16.19.0","_npmVersion":"8.19.3","dist":{"integrity":"sha512-bYg6qA/06zQ38hRL6vsIXmBU7kU1DXO/MZpltbi8+m0IFHjuFV3ILDhPigH6+4BdZqulsDu7NgeUo1fhWrjieg==","shasum":"1509698fd698de4af48c9e4fafb553423d1aad68","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.96.0.tgz","fileCount":516,"unpackedSize":2162456,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD48DFwspADyVc4BPGUVfmGSTn0+1K2DD0EGZjX7kpP4gIhAIuCaJYzyeh4I+DzeJ+K9vOzbxO3RYUyEJ0YHGDEzxw0"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjzoLxACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo3ug//f3TF1pRqTEvRBLBR34yqzL/Fugjbsh5QFnKVukKW+KGREfHR\r\n0OXT2H4wJmV2zfYXjFBceLKAFSCmaXb6s6jqtNEC6p0Vs8VI61gkB6r/8BkT\r\nbcTII0eUI4xkbbWhy47wR74KeXnI2Wp2UL7T7jc+uHaGofwHCKfT8ab9Jji7\r\n1Ks4YHJVWcFOaELLA5xGExDQHMGZR2pZREIYKaSMO8C+2CM4uD42bZOqXMYd\r\n0CFt78soBATaEImxvEfA6fbCuyqRl2s4gXEx8blTJMovHkw0lEqB63TUQFUU\r\nW6Z6ilZZLAMc6vo3qA/sBvyrkZn+QRIeXeUSxnGBIRyzVZCH5AbGOAG1ftCz\r\nGrLhc5WYQd6ja7JDYduiX4Zqvb7MPdMt/AImS0DDhqrYg6Kqhw6CB1NDshib\r\nTNhYM6NTbIqEad55kn0uESiqU1jkhjfCd9JEF5AB0T4uRfqfxSPQyHNdyAiS\r\n+i1FtiUAeXsbYSEpKsSo5zhxHsB/tXyEvjVrvmlT4p7eKDfozFk1EcocRBEI\r\na394ZXJI9+SWHLZYLAs0yoSX9Og+f+0QHIW3kgKcVm+ty9StgtIgjYUzLtCM\r\n5KprYDd0G6GmEa4elLqDTw1xfHdRLiPcfvOOnjx8HExCnM7DUQHPjRMSmvE8\r\nlmbMi1bBpSWVSXqUypsUV+TA0GXQBi4RpEk=\r\n=HyKQ\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"alicanerdurmaz","email":"alicanerdurmaz@gmail.com"},{"name":"salihozdmr","email":"salihozdemir94@gmail.com"},{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.96.0_1674478321608_0.5513790494795225"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.97.0":{"name":"@pankod/refine-core","version":"3.97.0","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --format esm,cjs,iife --legacy-output","build":"tsup --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0","@types/react":"^17.0.0 || ^18.0.0","@types/react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.16.4","@testing-library/react":"^13.1.1","@testing-library/react-hooks":"^8.0.0","@testing-library/user-event":"^14.1.1","@types/jest":"^29.2.4","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^18.0.0","@types/react-dom":"^18.0.0","@types/react-router-dom":"^5.1.8","@types/testing-library__jest-dom":"^5.14.3","identity-obj-proxy":"^3.0.0","jest":"^29.3.1","jest-environment-jsdom":"^29.3.1","react-router-dom":"6.3.0","ts-jest":"^29.0.3","tsup":"^5.11.13","typescript":"^4.7.4"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","lodash-es":"^4.17.21","lodash":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","@tanstack/react-query-devtools":"^4.10.1","@tanstack/react-query":"^4.10.1","tslib":"^2.3.1","warn-once":"^0.1.0"},"repository":{"type":"git","url":"git+https://github.com/refinedev/refine.git","directory":"packages/core"},"author":{"name":"refine"},"license":"MIT","gitHead":"17dd5af3e4c9f7f09e1e707362c6f5a9d1cab8a8","publishConfig":{"access":"public"},"bugs":{"url":"https://github.com/refinedev/refine/issues"},"homepage":"https://github.com/refinedev/refine#readme","_id":"@pankod/refine-core@3.97.0","_nodeVersion":"16.19.0","_npmVersion":"8.19.3","dist":{"integrity":"sha512-wDrLpXk7wXnYkuS1eGha5sYBbWfYtsVUEVqop+6AXRkYYvQPdelOZlCGweIz+Z8wxnDW3owboQEgZUdhb4E1tA==","shasum":"46c79770ffc14fcc02ce2ac17f564387dc9da22d","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.97.0.tgz","fileCount":516,"unpackedSize":2163605,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDvuCEZHoAxa6DsT+JSUB6go3SVspjT5KIo3zLFqTDt+AiA+NhWpCBs9GUgi4ck4mZwK7uujW2Pp2uyGvpkjMBF1fA=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjzoscACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr+cw/9EoWN1eFC4e47/7PeiLucJ5gCzp3V+TnK5JaLU9VblVSSamGX\r\nJiflEoRHoGbDAwUK90MIti4JZq8o/gzaylv7XXYEzqNr60ItI7V+bB7sVp37\r\nYmJf47FPmVzyJkSo1eDFrE0DaNKJGB50gh+Ilkrd7KBqzix44GlDhOeZnDP+\r\nC5ruAJIIGqOvAZsMkpYEmKQY+ae8vrcZEZGFpWEe0OvtosLOCYwXRYlbdXAA\r\n2mfsD1WL0yXFWfRDVA52ex39ZckD1m954wnoPBZXNyQgwcRTFXKp/xxT4m+3\r\nnyUHv36O7SsC8kPczwYupDPreB1TO344He6PoLYbcpbkJ772O1qL5YZOJZy9\r\nReDbE9wm0pkE2f4mtjVTr3xCsi2+C7ZUsEjoi5YwQcbPcOt20JZcp7BwQw4B\r\n7tLrj8IMf/+kI0uJAUzfy5NFPCofk2JGRl6z7E/jY3P31ouFiG2oNDXEI+Ze\r\nOQysDB+19BJku7IS94SjDiOY0NEK9em2tLcV13UdFr9FTSZp8/PTH/xdyVRD\r\npeEARHrODb2A9Rj0Y10O4SwU7s44G/piNQmRATKH4n5adtINQhIwOTHBPaGg\r\nXI20vEEl42flMg4Y7GXOiblrukJoclzgCknyuGiRO2VZDzHi9386G8xoOkma\r\namF6lEIsm34dBpRPRpmD3lUf+8mmIPBUTgQ=\r\n=iQrM\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"alicanerdurmaz","email":"alicanerdurmaz@gmail.com"},{"name":"salihozdmr","email":"salihozdemir94@gmail.com"},{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.97.0_1674480411980_0.0394658464696831"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.98.0":{"name":"@pankod/refine-core","version":"3.98.0","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --format esm,cjs,iife --legacy-output","build":"tsup --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0","@types/react":"^17.0.0 || ^18.0.0","@types/react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.16.4","@testing-library/react":"^13.1.1","@testing-library/react-hooks":"^8.0.0","@testing-library/user-event":"^14.1.1","@types/jest":"^29.2.4","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^18.0.0","@types/react-dom":"^18.0.0","@types/react-router-dom":"^5.1.8","@types/testing-library__jest-dom":"^5.14.3","identity-obj-proxy":"^3.0.0","jest":"^29.3.1","jest-environment-jsdom":"^29.3.1","react-router-dom":"6.3.0","ts-jest":"^29.0.3","tsup":"^5.11.13","typescript":"^4.7.4"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","lodash-es":"^4.17.21","lodash":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","@tanstack/react-query-devtools":"^4.10.1","@tanstack/react-query":"^4.10.1","tslib":"^2.3.1","warn-once":"^0.1.0"},"repository":{"type":"git","url":"git+https://github.com/refinedev/refine.git","directory":"packages/core"},"author":{"name":"refine"},"license":"MIT","gitHead":"17dd5af3e4c9f7f09e1e707362c6f5a9d1cab8a8","publishConfig":{"access":"public"},"readme":"<br/>\n\n<div align=\"center\" style=\"margin: 30px;\">\n<a href=\"https://refine.dev/\">\n  <img src=\"https://refine.ams3.cdn.digitaloceanspaces.com/refine_logo.png\"   style=\"width:250px;\" align=\"center\" />\n</a>\n<br />\n<br />\n\n<div align=\"center\">\n    <a href=\"https://refine.dev\">Home Page</a> |\n    <a href=\"https://discord.gg/refine\">Discord</a> |\n    <a href=\"https://refine.dev/examples/\">Examples</a> | \n    <a href=\"https://refine.dev/blog/\">Blog</a> | \n    <a href=\"https://refine.dev/docs/\">Documentation</a> | \n    <a href=\"https://github.com/refinedev/refine/projects/1\">Roadmap</a>\n</div>\n</div>\n\n<br />\n\n<div align=\"center\"><strong>Build your <a href=\"https://reactjs.org/\">React</a>-based CRUD applications, without constraints.</strong><br>An open source, headless web application framework developed with flexibility in mind.\n\n<br />\n<br />\n\n[![Discord](https://img.shields.io/discord/837692625737613362.svg?label=&logo=discord&logoColor=ffffff&color=7389D8&labelColor=6A7EC2)](https://discord.gg/refine)\n[![Twitter Follow](https://img.shields.io/twitter/follow/refine_dev?style=social)](https://twitter.com/refine_dev)\n\n<a href=\"https://www.producthunt.com/posts/refine-3?utm_source=badge-top-post-badge&utm_medium=badge&utm_souce=badge-refine&#0045;3\" target=\"_blank\"><img src=\"https://api.producthunt.com/widgets/embed-image/v1/top-post-badge.svg?post_id=362220&theme=light&period=daily\" alt=\"refine - 100&#0037;&#0032;open&#0032;source&#0032;React&#0032;framework&#0032;to&#0032;build&#0032;web&#0032;apps&#0032;3x&#0032;faster | Product Hunt\" style=\"width: 250px; height: 54px;\" width=\"250\" height=\"54\" /></a>\n\n</div>\n\n<div align=\"center\">\n\n[![Awesome](https://github.com/refinedev/awesome-refine/raw/main/images/badge.svg)](https://github.com/refinedev/awesome-refine)\n[![Maintainability](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/maintainability)](https://codeclimate.com/github/pankod/refine/maintainability)\n[![Test Coverage](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/test_coverage)](https://codeclimate.com/github/pankod/refine/test_coverage)\n[![npm version](https://img.shields.io/npm/v/@pankod/refine-core.svg)](https://www.npmjs.com/package/@pankod/refine-core)\n[![npm](https://img.shields.io/npm/dm/@pankod/refine-core)](https://www.npmjs.com/package/@pankod/refine-core)\n[![](https://img.shields.io/github/commit-activity/m/refinedev/refine)](https://github.com/refinedev/refine/commits/next)\n[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.0-4baaaa.svg)](CODE_OF_CONDUCT.md)\n\n</div>\n\n<br/>\n<a href=\"https://refine.dev/\">\n<picture>\n  <source media=\"(prefers-color-scheme: dark)\" srcset=\"https://user-images.githubusercontent.com/18739364/200257042-3f2aa7f7-a07f-4824-8d2a-b25f26b6fd32.png\">\n  <img alt=\"how-works-refine\" src=\"https://user-images.githubusercontent.com/18739364/200257209-8fc0c8b1-2568-453e-873f-00513434deed.png\">\n</picture>\n</a>\n\n## What is refine?\n\n**refine** is a React-based framework for the rapid ✨ development of web applications.\nIt eliminates repetitive tasks demanded by **CRUD** operations and provides industry standard solutions for critical parts like **authentication**, **access control**, **routing**, **networking**, **state management**, and **i18n**.\n\n**refine** is _headless by design_, thereby offering unlimited styling and customization options.\n\n## What do you mean by \"headless\" ?\n\nInstead of being a limited set of pre-styled components, **refine** is a collection of helper `hooks`, `components`, and `providers`. They are all decoupled from _UI components_ and _business logic_, so that they never keep you from customizing your _UI_ or coding your own flow.\n\n**refine** seamlessly works with any **custom design** or **UI framework** that you favor. For convenience, it ships with ready-made integrations for [Ant Design System](https://ant.design/), [Material UI](https://mui.com/), [Mantine](https://mantine.dev/), and [Chakra UI](https://chakra-ui.com/).\n\n## Use cases\n\n**refine** shines on _data-intensive⚡_ applications like **admin panels**, **dashboards** and **internal tools**. Thanks to the built-in **SSR support**, **refine** can also power _customer-facing_ applications like **storefronts**.\n\nYou can take a look at some live examples that can be built using **refine** from scratch:\n\n<a href=\"https://s.refine.dev/readme-admin-panel\" target=\"_blank\">\n <img src=\"https://user-images.githubusercontent.com/18739364/204285956-cc20fa11-b769-4bd5-b8f6-9c05a283ac85.gif\"   style=\"width:267px;\"  />\n</a>\n\n <a href=\"https://s.refine.dev/readme-medium-clone\" target=\"_blank\">\n<img src=\"https://user-images.githubusercontent.com/18739364/204285047-8f24f1f4-65ea-4952-83ed-81e92cdd5b90.gif\"   style=\"width:200px;\"  />\n</a>\n\n <a href=\"https://s.refine.dev/readme-ssr-storefront\" target=\"_blank\">\n<img src=\"https://user-images.githubusercontent.com/18739364/204285039-1ce0cb06-fbf8-4704-89c9-2e004620c9a8.gif\"   style=\"width:200px;\"  />\n</a>\n\n<br/>\n<br/>\n\n[👉 Refer to most popular real use case examples](https://refine.dev/examples/)\n\n[👉 More **refine** powered different usage scenarios can be found here](https://refine.dev/docs/examples/)\n\n## Key Features\n\n⚙️ Zero-config, **one-minute setup** with a **single CLI command**\n\n🔌 Connectors for **15+ backend services** including [REST API](https://github.com/refinedev/refine/tree/master/packages/simple-rest), [GraphQL](https://github.com/refinedev/refine/tree/master/packages/graphql), [NestJs CRUD](https://github.com/refinedev/refine/tree/master/packages/nestjsx-crud), [Airtable](https://github.com/refinedev/refine/tree/master/packages/airtable), [Strapi](https://github.com/refinedev/refine/tree/master/packages/strapi), [Strapi v4](https://github.com/refinedev/refine/tree/master/packages/strapi-v4), [Strapi GraphQL](https://github.com/refinedev/refine/tree/master/packages/strapi-graphql), [Supabase](https://github.com/refinedev/refine/tree/master/packages/supabase), [Hasura](https://github.com/refinedev/refine/tree/master/packages/hasura), [Appwrite](https://github.com/refinedev/refine/tree/master/packages/appwrite), [Firebase](https://firebase.google.com/), and [Directus](https://directus.io/).\n\n🌐 **SSR support** with **Next.js** or **Remix**\n\n🔍 Auto-generated **CRUD** UIs from **your API data structure**\n\n⚛ Perfect **state management** & **mutations** with **React Query**\n\n🔀 **Advanced routing** with any router library of your choice\n\n🔐 Providers for seamless **authentication** and **access control** flows\n\n⚡ Out-of-the-box support for **live / real-time applications**\n\n📄 Easy **audit logs** & **document versioning**\n\n💬 Support for any **i18n** framework\n\n💪 Future-proof, **robust architecture**\n\n⌛️ Built-in CLI with time-saving features\n\n✅ Full **test coverage**\n\n## Quick Start\n\nThe fastest way to get started with **refine** is by using the `create refine-app` project starter tool.\nRun the following command to create a new **refine** project configured with [Ant Design System](https://ant.design/) as the default UI framework:\n\n```\nnpm create refine-app@latest -- --preset refine-antd\n```\n\nOnce the setup is complete, navigate to the project folder and start your project with:\n\n```\nnpm run dev\n```\n\n<br/>\n\nYour **refine** application will be accessible at [http://localhost:3000](http://localhost:3000):\n\n<a href=\"http://localhost:3000\">![Welcome on board](https://refine.ams3.cdn.digitaloceanspaces.com/website/static/img/welcome-on-board.png)</a>\n\n<br/>\n\nLet's consume a public `fake REST API` and add two resources (_posts_, _categories_) to our project. Replace the contents of `src/App.tsx` with the following code:\n\n```tsx title=\"src/App.tsx\"\nimport { Refine } from \"@pankod/refine-core\";\nimport {\n    Layout,\n    ReadyPage,\n    notificationProvider,\n    ErrorComponent,\n} from \"@pankod/refine-antd\";\nimport routerProvider from \"@pankod/refine-react-router-v6\";\nimport dataProvider from \"@pankod/refine-simple-rest\";\n\nimport { AntdInferencer } from \"@pankod/refine-inferencer/antd\";\n\nimport \"@pankod/refine-antd/dist/reset.css\";\n\nconst App: React.FC = () => {\n    return (\n        <Refine\n            routerProvider={routerProvider}\n            dataProvider={dataProvider(\"https://api.fake-rest.refine.dev\")}\n            Layout={Layout}\n            ReadyPage={ReadyPage}\n            notificationProvider={notificationProvider}\n            catchAll={<ErrorComponent />}\n            resources={[\n                {\n                    name: \"posts\",\n                    list: AntdInferencer,\n                    show: AntdInferencer,\n                    create: AntdInferencer,\n                    edit: AntdInferencer,\n                    canDelete: true,\n                },\n                {\n                    name: \"categories\",\n                    list: AntdInferencer,\n                    show: AntdInferencer,\n                },\n            ]}\n        />\n    );\n};\n\nexport default App;\n```\n\n<br/>\n\n🚀 Thanks to **refine Inferencer package**, it guesses the configuration to use for the `list`, `show`, `create`, and `edit` pages based on the data fetched from the API and generates the pages automatically.\n\nNow, you should see the output as a table populated with `post` & `category` data:\n\n![First example result](https://refine.ams3.cdn.digitaloceanspaces.com/website/static/img/readme-quick-start.png)\n\n<br/>\n\nYou can get the auto-generated pages codes by clicking the `Show Code` button on each page. Afterward, simply pass the pages to the `resources` array by replacing with the Inferencer components.\n\n## Next Steps\n\n👉 Jump to [Tutorial](https://refine.dev/docs/tutorial/introduction/index/) to continue your work and turn the example into a full-blown CRUD application.\n\n👉 Visit [Learn the Basics Page](https://refine.dev/docs/getting-started/overview/) to get informed about the fundamental concepts.\n\n👉 Read more on [Advanced Tutorials\n](https://refine.dev/docs/advanced-tutorials/) for different usage scenarios.\n\n👉 See the real-life [Finefoods Demo](https://refine.dev/demo/) project.\n\n👉 Play with interactive [Examples](https://refine.dev/docs/examples/)\n\n## Roadmap\n\nYou can find refine's <a href=\"https://github.com/refinedev/refine/projects/1\">Public Roadmap here!</a>\n\n## Stargazers\n\n[![Stargazers repo roster for refinedev/refine](https://reporoster.com/stars/refinedev/refine)](https://github.com/refinedev/refine/stargazers)\n\n## Contribution\n\n[👉 Refer to contribution docs for more information](https://refine.dev/docs/contributing/#ways-to-contribute)\n\nIf you have any doubts related to the project or want to discuss something, then join our [Discord Server](https://discord.gg/refine).\n\n## Our ♥️ Contributors\n\n<a href=\"https://github.com/refinedev/refine/graphs/contributors\">\n  <img src=\"https://contrib.rocks/image?repo=refinedev/refine\" />\n</a>\n\n## License\n\nLicensed under the MIT License, Copyright © 2021-present Refinedev\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/refinedev/refine/issues"},"homepage":"https://github.com/refinedev/refine#readme","_id":"@pankod/refine-core@3.98.0","_nodeVersion":"16.19.0","_npmVersion":"8.19.3","dist":{"integrity":"sha512-MtOG/2oKB59jZSAMqAX7wz0MnVMY91K9qec6lm/SuL5gEc4QxErUTG3qQ0dQZ865fUvYHb9e11lDr/0M8K3Odw==","shasum":"c8e2acfcd5cea40add5f334728323952bbab5034","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.98.0.tgz","fileCount":522,"unpackedSize":2213715,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHRNR7NUTuunGy1RmAWLnzTLF5g1VMgNMYfjxZy/UIDVAiEAxvfgqBVxEfxFCXaPLr9ecyeR4myyzzhmYNPn/UNhyS0="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjz3/8ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrVWQ//cJB8U6gWas3IUOF2doBSaW5pk3949GHBI3DdO3SXSagUJdRr\r\n3ucz1QZacxEv9Lqeus/6O2UiKh54aA5ptrFhCNhJWxELWFLUC8vUYNJXlzyB\r\nHoRmu5MCa8UtcB84t02XhFHs3bKr8XTGDyQ0hW+Tw1qSWCscAvRmkVZQkw4l\r\n1pxiZE/NWzVc6C5wOo4Py6eIbHXvX0DypgVU8muoePu4DBIUEmO/SbNGPwAM\r\n19X6Mt/wVHPKMazGclZ0YxJhWPwJeLXRgJidaKuNWnxp25zYnxaPGf2jjR/F\r\nXm58xDdC3FLV8b9k+yBb8t5ecXCOKZgKfEucItkBJUAhG/sx+xPI7GULr0M2\r\nHscCNBWv7XqhENbeAVPNtqai0bxNrQHvSUMKKeaZIV23FIFh0lLd9RYgOLoS\r\n76TdPYGbupMxH/Ufp0uQyt6WSc+3LKJBzaEHIbXWs0J1O6zL48VNJy47jGbu\r\nSlhjHHiksPmNuFgspjkvP31zd8BT6eaxYA2xZXKbtO4N4cwAcBJRYeynUCVi\r\n69AZf9MitTCD4aDAip04M1g76C/pXOwdww8ZmEkGy6W3LTKwxNvE7CNtvdNA\r\n5ObaKKMK77fbLnu4WuRuoJ38cd2oOIr6fhjpn8HNx8AtlAON/EaXGQTw/ctS\r\nJNjgmKri0J1LBj9lU6W/lQp2PvxcvV+oRKU=\r\n=iL4u\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"alicanerdurmaz","email":"alicanerdurmaz@gmail.com"},{"name":"salihozdmr","email":"salihozdemir94@gmail.com"},{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.98.0_1674543099901_0.5234470447056994"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.99.0":{"name":"@pankod/refine-core","version":"3.99.0","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --format esm,cjs,iife --legacy-output","build":"tsup --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0","@types/react":"^17.0.0 || ^18.0.0","@types/react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.16.4","@testing-library/react":"^13.1.1","@testing-library/react-hooks":"^8.0.0","@testing-library/user-event":"^14.1.1","@types/jest":"^29.2.4","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^18.0.0","@types/react-dom":"^18.0.0","@types/react-router-dom":"^5.1.8","@types/testing-library__jest-dom":"^5.14.3","identity-obj-proxy":"^3.0.0","jest":"^29.3.1","jest-environment-jsdom":"^29.3.1","react-router-dom":"6.3.0","ts-jest":"^29.0.3","tsup":"^5.11.13","typescript":"^4.7.4"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","lodash-es":"^4.17.21","lodash":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","@tanstack/react-query-devtools":"^4.10.1","@tanstack/react-query":"^4.10.1","tslib":"^2.3.1","warn-once":"^0.1.0"},"repository":{"type":"git","url":"git+https://github.com/refinedev/refine.git","directory":"packages/core"},"author":{"name":"refine"},"license":"MIT","gitHead":"17dd5af3e4c9f7f09e1e707362c6f5a9d1cab8a8","publishConfig":{"access":"public"},"bugs":{"url":"https://github.com/refinedev/refine/issues"},"homepage":"https://github.com/refinedev/refine#readme","_id":"@pankod/refine-core@3.99.0","_nodeVersion":"16.19.0","_npmVersion":"8.19.3","dist":{"integrity":"sha512-DjPbhese+p1GYTtDBrxsmcfH/U7/5Dwn94cLWGc2YJM/fPZmQ1h6uG0OZ45/DgP2oZicPkPDYl8E5JT1HgLEoA==","shasum":"d67250e608b73576d2de88c4f49792f3f8f1d2ed","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.99.0.tgz","fileCount":522,"unpackedSize":2214321,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCog06JQz2yIUg9HymEB7vomS8cZ3FYdtU6OCbq6KOetwIhAJPcQL1HOQLGjHMupw3N4hA5bfhKRriBGEkOiwyNSOQu"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjz4uHACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpqBQ/+OIaVgVZkK6rkOdGBDaWrbJtRqPR0S9X/2p+B1GyOB6hNOc22\r\nD2FKCctgVc9pNk14fcOmF85X6JMVtPQ+jlhQ4icv5z9YYn4cV9eSskI3es55\r\nYnH1FnVKefLNrHZV12PGv1tr+JcC6wowcziq5UDmlhtamKYZN3W0cqxBN6MM\r\npLYdn4O7W+TX6cD4IGyLFYlyWOzc/F4RbhZCI1cYOqv4tF3qjQPs4SD0cqM6\r\nqWlomaFLSJGRTKjAnWN2hOyf6dQlSCKkHU3Uvw2VkqQaLiAhY2QSk065xJ/c\r\nf7uBB/LPNmQl2me1bg36SnirREpwuMd5tn9Mc4zU6o/zt0l/8fMQ6HER0sOr\r\ngz5yOeYXkwel7xrc2jyMoaS0lVXq60KqIStAeeLPJPLTRXd4jJ7PjS3HYx46\r\nt8y+l9o1fetwERWgN8V0LP7ZIeeD777ZNhDWPlG+zO7uZYZjhX/wtSX5t9Xc\r\nRPkI207arF9VpkbB/rfSw2nvHm10mh/uP3+VQMUC1hIs6WqVJ9ojC1rYL2io\r\nmA3Kdvlye5NefiniHRR440VgVT9mu3y8zsOdbJtswGFRRYFC4Dv6DLTM+GsU\r\nbhowDzbO1QOnVtJwaK9CrxwHD/JWL/ottH5UYm58+5hj0PjqJiq0EnIRmYAC\r\n69k8OoWlND/ID5xRS1TlHmS0eyfqMTsAhTA=\r\n=KF5B\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"alicanerdurmaz","email":"alicanerdurmaz@gmail.com"},{"name":"salihozdmr","email":"salihozdemir94@gmail.com"},{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.99.0_1674546055602_0.11128506253950765"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.99.1":{"name":"@pankod/refine-core","version":"3.99.1","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --format esm,cjs,iife --legacy-output","build":"tsup --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0","@types/react":"^17.0.0 || ^18.0.0","@types/react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.16.4","@testing-library/react":"^13.1.1","@testing-library/react-hooks":"^8.0.0","@testing-library/user-event":"^14.1.1","@types/jest":"^29.2.4","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^18.0.0","@types/react-dom":"^18.0.0","@types/react-router-dom":"^5.1.8","@types/testing-library__jest-dom":"^5.14.3","identity-obj-proxy":"^3.0.0","jest":"^29.3.1","jest-environment-jsdom":"^29.3.1","react-router-dom":"6.3.0","ts-jest":"^29.0.3","tsup":"^5.11.13","typescript":"^4.7.4"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","lodash-es":"^4.17.21","lodash":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","@tanstack/react-query-devtools":"^4.10.1","@tanstack/react-query":"^4.10.1","tslib":"^2.3.1","warn-once":"^0.1.0"},"repository":{"type":"git","url":"git+https://github.com/refinedev/refine.git","directory":"packages/core"},"author":{"name":"refine"},"license":"MIT","gitHead":"17dd5af3e4c9f7f09e1e707362c6f5a9d1cab8a8","publishConfig":{"access":"public"},"readme":"<br/>\n\n<div align=\"center\" style=\"margin: 30px;\">\n<a href=\"https://refine.dev/\">\n  <img src=\"https://refine.ams3.cdn.digitaloceanspaces.com/refine_logo.png\"   style=\"width:250px;\" align=\"center\" />\n</a>\n<br />\n<br />\n\n<div align=\"center\">\n    <a href=\"https://refine.dev\">Home Page</a> |\n    <a href=\"https://discord.gg/refine\">Discord</a> |\n    <a href=\"https://refine.dev/examples/\">Examples</a> | \n    <a href=\"https://refine.dev/blog/\">Blog</a> | \n    <a href=\"https://refine.dev/docs/\">Documentation</a> | \n    <a href=\"https://github.com/refinedev/refine/projects/1\">Roadmap</a>\n</div>\n</div>\n\n<br />\n\n<div align=\"center\"><strong>Build your <a href=\"https://reactjs.org/\">React</a>-based CRUD applications, without constraints.</strong><br>An open source, headless web application framework developed with flexibility in mind.\n\n<br />\n<br />\n\n[![Discord](https://img.shields.io/discord/837692625737613362.svg?label=&logo=discord&logoColor=ffffff&color=7389D8&labelColor=6A7EC2)](https://discord.gg/refine)\n[![Twitter Follow](https://img.shields.io/twitter/follow/refine_dev?style=social)](https://twitter.com/refine_dev)\n\n<a href=\"https://www.producthunt.com/posts/refine-3?utm_source=badge-top-post-badge&utm_medium=badge&utm_souce=badge-refine&#0045;3\" target=\"_blank\"><img src=\"https://api.producthunt.com/widgets/embed-image/v1/top-post-badge.svg?post_id=362220&theme=light&period=daily\" alt=\"refine - 100&#0037;&#0032;open&#0032;source&#0032;React&#0032;framework&#0032;to&#0032;build&#0032;web&#0032;apps&#0032;3x&#0032;faster | Product Hunt\" style=\"width: 250px; height: 54px;\" width=\"250\" height=\"54\" /></a>\n\n</div>\n\n<div align=\"center\">\n\n[![Awesome](https://github.com/refinedev/awesome-refine/raw/main/images/badge.svg)](https://github.com/refinedev/awesome-refine)\n[![Maintainability](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/maintainability)](https://codeclimate.com/github/pankod/refine/maintainability)\n[![Test Coverage](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/test_coverage)](https://codeclimate.com/github/pankod/refine/test_coverage)\n[![npm version](https://img.shields.io/npm/v/@pankod/refine-core.svg)](https://www.npmjs.com/package/@pankod/refine-core)\n[![npm](https://img.shields.io/npm/dm/@pankod/refine-core)](https://www.npmjs.com/package/@pankod/refine-core)\n[![](https://img.shields.io/github/commit-activity/m/refinedev/refine)](https://github.com/refinedev/refine/commits/next)\n[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.0-4baaaa.svg)](CODE_OF_CONDUCT.md)\n\n</div>\n\n<br/>\n<a href=\"https://refine.dev/\">\n<picture>\n  <source media=\"(prefers-color-scheme: dark)\" srcset=\"https://user-images.githubusercontent.com/18739364/200257042-3f2aa7f7-a07f-4824-8d2a-b25f26b6fd32.png\">\n  <img alt=\"how-works-refine\" src=\"https://user-images.githubusercontent.com/18739364/200257209-8fc0c8b1-2568-453e-873f-00513434deed.png\">\n</picture>\n</a>\n\n## What is refine?\n\n**refine** is a React-based framework for the rapid ✨ development of web applications.\nIt eliminates repetitive tasks demanded by **CRUD** operations and provides industry standard solutions for critical parts like **authentication**, **access control**, **routing**, **networking**, **state management**, and **i18n**.\n\n**refine** is _headless by design_, thereby offering unlimited styling and customization options.\n\n## What do you mean by \"headless\" ?\n\nInstead of being a limited set of pre-styled components, **refine** is a collection of helper `hooks`, `components`, and `providers`. They are all decoupled from _UI components_ and _business logic_, so that they never keep you from customizing your _UI_ or coding your own flow.\n\n**refine** seamlessly works with any **custom design** or **UI framework** that you favor. For convenience, it ships with ready-made integrations for [Ant Design System](https://ant.design/), [Material UI](https://mui.com/), [Mantine](https://mantine.dev/), and [Chakra UI](https://chakra-ui.com/).\n\n## Use cases\n\n**refine** shines on _data-intensive⚡_ applications like **admin panels**, **dashboards** and **internal tools**. Thanks to the built-in **SSR support**, **refine** can also power _customer-facing_ applications like **storefronts**.\n\nYou can take a look at some live examples that can be built using **refine** from scratch:\n\n<a href=\"https://s.refine.dev/readme-admin-panel\" target=\"_blank\">\n <img src=\"https://user-images.githubusercontent.com/18739364/204285956-cc20fa11-b769-4bd5-b8f6-9c05a283ac85.gif\"   style=\"width:267px;\"  />\n</a>\n\n <a href=\"https://s.refine.dev/readme-medium-clone\" target=\"_blank\">\n<img src=\"https://user-images.githubusercontent.com/18739364/204285047-8f24f1f4-65ea-4952-83ed-81e92cdd5b90.gif\"   style=\"width:200px;\"  />\n</a>\n\n <a href=\"https://s.refine.dev/readme-ssr-storefront\" target=\"_blank\">\n<img src=\"https://user-images.githubusercontent.com/18739364/204285039-1ce0cb06-fbf8-4704-89c9-2e004620c9a8.gif\"   style=\"width:200px;\"  />\n</a>\n\n<br/>\n<br/>\n\n[👉 Refer to most popular real use case examples](https://refine.dev/examples/)\n\n[👉 More **refine** powered different usage scenarios can be found here](https://refine.dev/docs/examples/)\n\n## Key Features\n\n⚙️ Zero-config, **one-minute setup** with a **single CLI command**\n\n🔌 Connectors for **15+ backend services** including [REST API](https://github.com/refinedev/refine/tree/master/packages/simple-rest), [GraphQL](https://github.com/refinedev/refine/tree/master/packages/graphql), [NestJs CRUD](https://github.com/refinedev/refine/tree/master/packages/nestjsx-crud), [Airtable](https://github.com/refinedev/refine/tree/master/packages/airtable), [Strapi](https://github.com/refinedev/refine/tree/master/packages/strapi), [Strapi v4](https://github.com/refinedev/refine/tree/master/packages/strapi-v4), [Strapi GraphQL](https://github.com/refinedev/refine/tree/master/packages/strapi-graphql), [Supabase](https://github.com/refinedev/refine/tree/master/packages/supabase), [Hasura](https://github.com/refinedev/refine/tree/master/packages/hasura), [Appwrite](https://github.com/refinedev/refine/tree/master/packages/appwrite), [Firebase](https://firebase.google.com/), and [Directus](https://directus.io/).\n\n🌐 **SSR support** with **Next.js** or **Remix**\n\n🔍 Auto-generated **CRUD** UIs from **your API data structure**\n\n⚛ Perfect **state management** & **mutations** with **React Query**\n\n🔀 **Advanced routing** with any router library of your choice\n\n🔐 Providers for seamless **authentication** and **access control** flows\n\n⚡ Out-of-the-box support for **live / real-time applications**\n\n📄 Easy **audit logs** & **document versioning**\n\n💬 Support for any **i18n** framework\n\n💪 Future-proof, **robust architecture**\n\n⌛️ Built-in CLI with time-saving features\n\n✅ Full **test coverage**\n\n## Quick Start\n\nThe fastest way to get started with **refine** is by using the `create refine-app` project starter tool.\nRun the following command to create a new **refine** project configured with [Ant Design System](https://ant.design/) as the default UI framework:\n\n```\nnpm create refine-app@latest -- --preset refine-antd\n```\n\nOnce the setup is complete, navigate to the project folder and start your project with:\n\n```\nnpm run dev\n```\n\n<br/>\n\nYour **refine** application will be accessible at [http://localhost:3000](http://localhost:3000):\n\n<a href=\"http://localhost:3000\">![Welcome on board](https://refine.ams3.cdn.digitaloceanspaces.com/website/static/img/welcome-on-board.png)</a>\n\n<br/>\n\nLet's consume a public `fake REST API` and add two resources (_posts_, _categories_) to our project. Replace the contents of `src/App.tsx` with the following code:\n\n```tsx title=\"src/App.tsx\"\nimport { Refine } from \"@pankod/refine-core\";\nimport {\n    Layout,\n    ReadyPage,\n    notificationProvider,\n    ErrorComponent,\n} from \"@pankod/refine-antd\";\nimport routerProvider from \"@pankod/refine-react-router-v6\";\nimport dataProvider from \"@pankod/refine-simple-rest\";\n\nimport { AntdInferencer } from \"@pankod/refine-inferencer/antd\";\n\nimport \"@pankod/refine-antd/dist/reset.css\";\n\nconst App: React.FC = () => {\n    return (\n        <Refine\n            routerProvider={routerProvider}\n            dataProvider={dataProvider(\"https://api.fake-rest.refine.dev\")}\n            Layout={Layout}\n            ReadyPage={ReadyPage}\n            notificationProvider={notificationProvider}\n            catchAll={<ErrorComponent />}\n            resources={[\n                {\n                    name: \"posts\",\n                    list: AntdInferencer,\n                    show: AntdInferencer,\n                    create: AntdInferencer,\n                    edit: AntdInferencer,\n                    canDelete: true,\n                },\n                {\n                    name: \"categories\",\n                    list: AntdInferencer,\n                    show: AntdInferencer,\n                },\n            ]}\n        />\n    );\n};\n\nexport default App;\n```\n\n<br/>\n\n🚀 Thanks to **refine Inferencer package**, it guesses the configuration to use for the `list`, `show`, `create`, and `edit` pages based on the data fetched from the API and generates the pages automatically.\n\nNow, you should see the output as a table populated with `post` & `category` data:\n\n![First example result](https://refine.ams3.cdn.digitaloceanspaces.com/website/static/img/readme-quick-start.png)\n\n<br/>\n\nYou can get the auto-generated pages codes by clicking the `Show Code` button on each page. Afterward, simply pass the pages to the `resources` array by replacing with the Inferencer components.\n\n## Next Steps\n\n👉 Jump to [Tutorial](https://refine.dev/docs/tutorial/introduction/index/) to continue your work and turn the example into a full-blown CRUD application.\n\n👉 Visit [Learn the Basics Page](https://refine.dev/docs/getting-started/overview/) to get informed about the fundamental concepts.\n\n👉 Read more on [Advanced Tutorials\n](https://refine.dev/docs/advanced-tutorials/) for different usage scenarios.\n\n👉 See the real-life [Finefoods Demo](https://refine.dev/demo/) project.\n\n👉 Play with interactive [Examples](https://refine.dev/docs/examples/)\n\n## Roadmap\n\nYou can find refine's <a href=\"https://github.com/refinedev/refine/projects/1\">Public Roadmap here!</a>\n\n## Stargazers\n\n[![Stargazers repo roster for refinedev/refine](https://reporoster.com/stars/refinedev/refine)](https://github.com/refinedev/refine/stargazers)\n\n## Contribution\n\n[👉 Refer to contribution docs for more information](https://refine.dev/docs/contributing/#ways-to-contribute)\n\nIf you have any doubts related to the project or want to discuss something, then join our [Discord Server](https://discord.gg/refine).\n\n## Our ♥️ Contributors\n\n<a href=\"https://github.com/refinedev/refine/graphs/contributors\">\n  <img src=\"https://contrib.rocks/image?repo=refinedev/refine\" />\n</a>\n\n## License\n\nLicensed under the MIT License, Copyright © 2021-present Refinedev\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/refinedev/refine/issues"},"homepage":"https://github.com/refinedev/refine#readme","_id":"@pankod/refine-core@3.99.1","_nodeVersion":"16.19.0","_npmVersion":"8.19.3","dist":{"integrity":"sha512-d9gw5C3Cy+TcHUDnPNSjzwjwMX4HWAv6Tbl8VXJXKd7Fu2D0A0Ldptz3EEoLMAJQPsJtDPKZXpmr7SFFa2bjfA==","shasum":"bb62b117d13d03d0a57012c574d44bf94b7c374d","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.99.1.tgz","fileCount":522,"unpackedSize":2214575,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCPoRHWPrbufp75mCdk7Nsz7+GrpXOqwcKvTltpEhjABgIhAN31+eWkB7pYMAybwTyHE6jF95Co6crkExSs2sxIZJaU"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjz+a1ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoklxAAoG11U17XAyTDx+DmAkXSO3ONWAmsBuLJJGB1XDp4UkhKnXWU\r\nE37dUV6yqBI9EVVUoQ4UHR7/C9zjBYh64Acxu90QJdZ/pspBJ7UqWC03aYZy\r\nW1F45b0tG8oD32W/u5TCx0Kw/zk6CPgKvaFSJb1UodRvC3z4vphWWor8z0O8\r\nR20csQ9fCKIyad87pI9d94s6Hy6JJyU/p2JHdXRoPP8ZCiTM0MVHabJ3s3c8\r\nYpw7tmceuA0IN6CWUJZUccWyDIz0pHXHw4BpPs25OYs412RmfoTNTcuFGz5z\r\nSg2D7otD5cV3dbrOdwRHGA86Fsbl4nrpiEytsluDunlYJnwybXDN5Ki9J97T\r\nqFl9ianJFDaSF1IQr1cYyxZdIOS10AaxtANOPE0u1IbEhQIycnkjb4I1S2Pa\r\nthv4BAKBU4a0BiwLD5XcOnAEg7ov7LmpJLBs9smxzbKLw7e/0JdpE6+sUzk3\r\nuKqS5zW5Ix96SrehpCqEtB/RpIm9uF4T6jpN6esUiVs+nRzh/NOZEm6pcLcK\r\nyRsi1fhS4dZRKXKgBAD/qTgrJK1kU6po5ECGkFCCg89deygBl3Q22O/BtVEl\r\nTxtfTmot9kvCLkKpPANkCCva5A5b0AwEx7PXWbGRdiAhtuHUtMUab8CtJ/0i\r\ndNERL1pNVgQylBRqEmEj7UpuhwZTOCfhTTE=\r\n=lw/L\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"alicanerdurmaz","email":"alicanerdurmaz@gmail.com"},{"name":"salihozdmr","email":"salihozdemir94@gmail.com"},{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.99.1_1674569397407_0.36149220910702407"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.99.2":{"name":"@pankod/refine-core","version":"3.99.2","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --format esm,cjs,iife --legacy-output","build":"tsup --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0","@types/react":"^17.0.0 || ^18.0.0","@types/react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.16.4","@testing-library/react":"^13.1.1","@testing-library/react-hooks":"^8.0.0","@testing-library/user-event":"^14.1.1","@types/jest":"^29.2.4","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^18.0.0","@types/react-dom":"^18.0.0","@types/react-router-dom":"^5.1.8","@types/testing-library__jest-dom":"^5.14.3","identity-obj-proxy":"^3.0.0","jest":"^29.3.1","jest-environment-jsdom":"^29.3.1","react-router-dom":"6.3.0","ts-jest":"^29.0.3","tsup":"^5.11.13","typescript":"^4.7.4"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","lodash-es":"^4.17.21","lodash":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","@tanstack/react-query-devtools":"^4.10.1","@tanstack/react-query":"^4.10.1","tslib":"^2.3.1","warn-once":"^0.1.0"},"repository":{"type":"git","url":"git+https://github.com/refinedev/refine.git","directory":"packages/core"},"author":{"name":"refine"},"license":"MIT","gitHead":"17dd5af3e4c9f7f09e1e707362c6f5a9d1cab8a8","publishConfig":{"access":"public"},"bugs":{"url":"https://github.com/refinedev/refine/issues"},"homepage":"https://github.com/refinedev/refine#readme","_id":"@pankod/refine-core@3.99.2","_nodeVersion":"16.19.0","_npmVersion":"8.19.3","dist":{"integrity":"sha512-x9/KkaCBhrsUgmzvKnXSBtn76HalmSES5YKw/kg6A8vR3BlPlCFQoqt5rxA5UgNiBbaFgud8hhyU5zJeZSXuFw==","shasum":"64e850ee031c02cd47704134d7dd6814de7822a8","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.99.2.tgz","fileCount":522,"unpackedSize":2214878,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDRSE9lOU42EOHeU34nURJbrZeHFO9S8MLK086J6vC0PAIgK/tvw6aG/rFcLzn8ULGP9xTnlUhVjfm7uCWmPXwhnoE="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjz+6KACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpvHQ/9FYjHwdAeSLeSKKIgwbU7f3QX9rq7Rp2groBruTlMdHWlvTIa\r\nedTrSLzigKxZ8GOU4WkhZ4r+CpJF/NDpeab6I1zMrAwjRGbnzqQC+TC+Rpr8\r\nI86DSpw1jPqtPjtDR0qHpqy7TjGbehLNhDdOYVkdyEfcPbLM+Tz/Ab8gci8C\r\nF8um/pd0sS4VSi+E74+CYmB3EZ5Lipy9oYh3oWpBUCJ2PLlYKIPOEH2Mo3fO\r\nknJ5WDxLv7bADJ2dyOP9i88rbpFcShA2RRl0RSYs2yApMqoB1Sqf31CSy36I\r\nOeAhyAl4k+Eqkx0GqwuQimWeZeYOXHWGMS2mLDfMFqPLjR23coPkpY0RWHhN\r\nJwKXrITEJDFazeSe/lF4uk5oaV/kp8YcAXr0axDSPtfK4HytTayqZO0wuwhq\r\nsvoQWsPLM+GD1Fp8FaXrKcpUEVsEUUWoWcR2d9ZBvA65L8Fg3h5DV173JPvt\r\n5NnY7i1fRvlEnnti6kY8uAycMyqjKlW7h3jXogJAqsGrb6dqHHCKI3stq60n\r\n0oJKk0Qs3Cjc9I+imPRcJofsVFJwCl21X7dzPkPTuSoU5K/tpVivNhxMZ26Q\r\nahspJMYYQMMmhWhzs+zVlKdii8sdwgdOf7+gaEzP4fr8iQK2IMUhfpolq8k/\r\n/wKfHvX7BaP2KCIBP425AduVPkl/P22m/AM=\r\n=Rz3G\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"alicanerdurmaz","email":"alicanerdurmaz@gmail.com"},{"name":"salihozdmr","email":"salihozdemir94@gmail.com"},{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.99.2_1674571402161_0.42604748199210674"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.99.3":{"name":"@pankod/refine-core","version":"3.99.3","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --format esm,cjs,iife --legacy-output","build":"tsup --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0","@types/react":"^17.0.0 || ^18.0.0","@types/react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.16.4","@testing-library/react":"^13.1.1","@testing-library/react-hooks":"^8.0.0","@testing-library/user-event":"^14.1.1","@types/jest":"^29.2.4","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^18.0.0","@types/react-dom":"^18.0.0","@types/react-router-dom":"^5.1.8","@types/testing-library__jest-dom":"^5.14.3","identity-obj-proxy":"^3.0.0","jest":"^29.3.1","jest-environment-jsdom":"^29.3.1","react-router-dom":"6.3.0","ts-jest":"^29.0.3","tsup":"^5.11.13","typescript":"^4.7.4"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","lodash-es":"^4.17.21","lodash":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","@tanstack/react-query-devtools":"^4.10.1","@tanstack/react-query":"^4.10.1","tslib":"^2.3.1","warn-once":"^0.1.0"},"repository":{"type":"git","url":"git+https://github.com/refinedev/refine.git","directory":"packages/core"},"author":{"name":"refine"},"license":"MIT","gitHead":"17dd5af3e4c9f7f09e1e707362c6f5a9d1cab8a8","publishConfig":{"access":"public"},"readme":"<br/>\n\n<div align=\"center\" style=\"margin: 30px;\">\n<a href=\"https://refine.dev/\">\n  <img src=\"https://refine.ams3.cdn.digitaloceanspaces.com/refine_logo.png\"   style=\"width:250px;\" align=\"center\" />\n</a>\n<br />\n<br />\n\n<div align=\"center\">\n    <a href=\"https://refine.dev\">Home Page</a> |\n    <a href=\"https://discord.gg/refine\">Discord</a> |\n    <a href=\"https://refine.dev/examples/\">Examples</a> | \n    <a href=\"https://refine.dev/blog/\">Blog</a> | \n    <a href=\"https://refine.dev/docs/\">Documentation</a> | \n    <a href=\"https://github.com/refinedev/refine/projects/1\">Roadmap</a>\n</div>\n</div>\n\n<br />\n\n<div align=\"center\"><strong>Build your <a href=\"https://reactjs.org/\">React</a>-based CRUD applications, without constraints.</strong><br>An open source, headless web application framework developed with flexibility in mind.\n\n<br />\n<br />\n\n[![Discord](https://img.shields.io/discord/837692625737613362.svg?label=&logo=discord&logoColor=ffffff&color=7389D8&labelColor=6A7EC2)](https://discord.gg/refine)\n[![Twitter Follow](https://img.shields.io/twitter/follow/refine_dev?style=social)](https://twitter.com/refine_dev)\n\n<a href=\"https://www.producthunt.com/posts/refine-3?utm_source=badge-top-post-badge&utm_medium=badge&utm_souce=badge-refine&#0045;3\" target=\"_blank\"><img src=\"https://api.producthunt.com/widgets/embed-image/v1/top-post-badge.svg?post_id=362220&theme=light&period=daily\" alt=\"refine - 100&#0037;&#0032;open&#0032;source&#0032;React&#0032;framework&#0032;to&#0032;build&#0032;web&#0032;apps&#0032;3x&#0032;faster | Product Hunt\" style=\"width: 250px; height: 54px;\" width=\"250\" height=\"54\" /></a>\n\n</div>\n\n<div align=\"center\">\n\n[![Awesome](https://github.com/refinedev/awesome-refine/raw/main/images/badge.svg)](https://github.com/refinedev/awesome-refine)\n[![Maintainability](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/maintainability)](https://codeclimate.com/github/pankod/refine/maintainability)\n[![Test Coverage](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/test_coverage)](https://codeclimate.com/github/pankod/refine/test_coverage)\n[![npm version](https://img.shields.io/npm/v/@pankod/refine-core.svg)](https://www.npmjs.com/package/@pankod/refine-core)\n[![npm](https://img.shields.io/npm/dm/@pankod/refine-core)](https://www.npmjs.com/package/@pankod/refine-core)\n[![](https://img.shields.io/github/commit-activity/m/refinedev/refine)](https://github.com/refinedev/refine/commits/next)\n[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.0-4baaaa.svg)](CODE_OF_CONDUCT.md)\n\n</div>\n\n<br/>\n<a href=\"https://refine.dev/\">\n<picture>\n  <source media=\"(prefers-color-scheme: dark)\" srcset=\"https://user-images.githubusercontent.com/18739364/200257042-3f2aa7f7-a07f-4824-8d2a-b25f26b6fd32.png\">\n  <img alt=\"how-works-refine\" src=\"https://user-images.githubusercontent.com/18739364/200257209-8fc0c8b1-2568-453e-873f-00513434deed.png\">\n</picture>\n</a>\n\n## What is refine?\n\n**refine** is a React-based framework for the rapid ✨ development of web applications.\nIt eliminates repetitive tasks demanded by **CRUD** operations and provides industry standard solutions for critical parts like **authentication**, **access control**, **routing**, **networking**, **state management**, and **i18n**.\n\n**refine** is _headless by design_, thereby offering unlimited styling and customization options.\n\n## What do you mean by \"headless\" ?\n\nInstead of being a limited set of pre-styled components, **refine** is a collection of helper `hooks`, `components`, and `providers`. They are all decoupled from _UI components_ and _business logic_, so that they never keep you from customizing your _UI_ or coding your own flow.\n\n**refine** seamlessly works with any **custom design** or **UI framework** that you favor. For convenience, it ships with ready-made integrations for [Ant Design System](https://ant.design/), [Material UI](https://mui.com/), [Mantine](https://mantine.dev/), and [Chakra UI](https://chakra-ui.com/).\n\n## Use cases\n\n**refine** shines on _data-intensive⚡_ applications like **admin panels**, **dashboards** and **internal tools**. Thanks to the built-in **SSR support**, **refine** can also power _customer-facing_ applications like **storefronts**.\n\nYou can take a look at some live examples that can be built using **refine** from scratch:\n\n<a href=\"https://s.refine.dev/readme-admin-panel\" target=\"_blank\">\n <img src=\"https://user-images.githubusercontent.com/18739364/204285956-cc20fa11-b769-4bd5-b8f6-9c05a283ac85.gif\"   style=\"width:267px;\"  />\n</a>\n\n <a href=\"https://s.refine.dev/readme-medium-clone\" target=\"_blank\">\n<img src=\"https://user-images.githubusercontent.com/18739364/204285047-8f24f1f4-65ea-4952-83ed-81e92cdd5b90.gif\"   style=\"width:200px;\"  />\n</a>\n\n <a href=\"https://s.refine.dev/readme-ssr-storefront\" target=\"_blank\">\n<img src=\"https://user-images.githubusercontent.com/18739364/204285039-1ce0cb06-fbf8-4704-89c9-2e004620c9a8.gif\"   style=\"width:200px;\"  />\n</a>\n\n<br/>\n<br/>\n\n[👉 Refer to most popular real use case examples](https://refine.dev/examples/)\n\n[👉 More **refine** powered different usage scenarios can be found here](https://refine.dev/docs/examples/)\n\n## Key Features\n\n⚙️ Zero-config, **one-minute setup** with a **single CLI command**\n\n🔌 Connectors for **15+ backend services** including [REST API](https://github.com/refinedev/refine/tree/master/packages/simple-rest), [GraphQL](https://github.com/refinedev/refine/tree/master/packages/graphql), [NestJs CRUD](https://github.com/refinedev/refine/tree/master/packages/nestjsx-crud), [Airtable](https://github.com/refinedev/refine/tree/master/packages/airtable), [Strapi](https://github.com/refinedev/refine/tree/master/packages/strapi), [Strapi v4](https://github.com/refinedev/refine/tree/master/packages/strapi-v4), [Strapi GraphQL](https://github.com/refinedev/refine/tree/master/packages/strapi-graphql), [Supabase](https://github.com/refinedev/refine/tree/master/packages/supabase), [Hasura](https://github.com/refinedev/refine/tree/master/packages/hasura), [Appwrite](https://github.com/refinedev/refine/tree/master/packages/appwrite), [Firebase](https://firebase.google.com/), and [Directus](https://directus.io/).\n\n🌐 **SSR support** with **Next.js** or **Remix**\n\n🔍 Auto-generated **CRUD** UIs from **your API data structure**\n\n⚛ Perfect **state management** & **mutations** with **React Query**\n\n🔀 **Advanced routing** with any router library of your choice\n\n🔐 Providers for seamless **authentication** and **access control** flows\n\n⚡ Out-of-the-box support for **live / real-time applications**\n\n📄 Easy **audit logs** & **document versioning**\n\n💬 Support for any **i18n** framework\n\n💪 Future-proof, **robust architecture**\n\n⌛️ Built-in CLI with time-saving features\n\n✅ Full **test coverage**\n\n## Quick Start\n\nThe fastest way to get started with **refine** is by using the `create refine-app` project starter tool.\nRun the following command to create a new **refine** project configured with [Ant Design System](https://ant.design/) as the default UI framework:\n\n```\nnpm create refine-app@latest -- --preset refine-antd\n```\n\nOnce the setup is complete, navigate to the project folder and start your project with:\n\n```\nnpm run dev\n```\n\n<br/>\n\nYour **refine** application will be accessible at [http://localhost:3000](http://localhost:3000):\n\n<a href=\"http://localhost:3000\">![Welcome on board](https://refine.ams3.cdn.digitaloceanspaces.com/website/static/img/welcome-on-board.png)</a>\n\n<br/>\n\nLet's consume a public `fake REST API` and add two resources (_posts_, _categories_) to our project. Replace the contents of `src/App.tsx` with the following code:\n\n```tsx title=\"src/App.tsx\"\nimport { Refine } from \"@pankod/refine-core\";\nimport {\n    Layout,\n    ReadyPage,\n    notificationProvider,\n    ErrorComponent,\n} from \"@pankod/refine-antd\";\nimport routerProvider from \"@pankod/refine-react-router-v6\";\nimport dataProvider from \"@pankod/refine-simple-rest\";\n\nimport { AntdInferencer } from \"@pankod/refine-inferencer/antd\";\n\nimport \"@pankod/refine-antd/dist/reset.css\";\n\nconst App: React.FC = () => {\n    return (\n        <Refine\n            routerProvider={routerProvider}\n            dataProvider={dataProvider(\"https://api.fake-rest.refine.dev\")}\n            Layout={Layout}\n            ReadyPage={ReadyPage}\n            notificationProvider={notificationProvider}\n            catchAll={<ErrorComponent />}\n            resources={[\n                {\n                    name: \"posts\",\n                    list: AntdInferencer,\n                    show: AntdInferencer,\n                    create: AntdInferencer,\n                    edit: AntdInferencer,\n                    canDelete: true,\n                },\n                {\n                    name: \"categories\",\n                    list: AntdInferencer,\n                    show: AntdInferencer,\n                },\n            ]}\n        />\n    );\n};\n\nexport default App;\n```\n\n<br/>\n\n🚀 Thanks to **refine Inferencer package**, it guesses the configuration to use for the `list`, `show`, `create`, and `edit` pages based on the data fetched from the API and generates the pages automatically.\n\nNow, you should see the output as a table populated with `post` & `category` data:\n\n![First example result](https://refine.ams3.cdn.digitaloceanspaces.com/website/static/img/readme-quick-start.png)\n\n<br/>\n\nYou can get the auto-generated pages codes by clicking the `Show Code` button on each page. Afterward, simply pass the pages to the `resources` array by replacing with the Inferencer components.\n\n## Next Steps\n\n👉 Jump to [Tutorial](https://refine.dev/docs/tutorial/introduction/index/) to continue your work and turn the example into a full-blown CRUD application.\n\n👉 Visit [Learn the Basics Page](https://refine.dev/docs/getting-started/overview/) to get informed about the fundamental concepts.\n\n👉 Read more on [Advanced Tutorials\n](https://refine.dev/docs/advanced-tutorials/) for different usage scenarios.\n\n👉 See the real-life [Finefoods Demo](https://refine.dev/demo/) project.\n\n👉 Play with interactive [Examples](https://refine.dev/docs/examples/)\n\n## Roadmap\n\nYou can find refine's <a href=\"https://github.com/refinedev/refine/projects/1\">Public Roadmap here!</a>\n\n## Stargazers\n\n[![Stargazers repo roster for refinedev/refine](https://reporoster.com/stars/refinedev/refine)](https://github.com/refinedev/refine/stargazers)\n\n## Contribution\n\n[👉 Refer to contribution docs for more information](https://refine.dev/docs/contributing/#ways-to-contribute)\n\nIf you have any doubts related to the project or want to discuss something, then join our [Discord Server](https://discord.gg/refine).\n\n## Our ♥️ Contributors\n\n<a href=\"https://github.com/refinedev/refine/graphs/contributors\">\n  <img src=\"https://contrib.rocks/image?repo=refinedev/refine\" />\n</a>\n\n## License\n\nLicensed under the MIT License, Copyright © 2021-present Refinedev\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/refinedev/refine/issues"},"homepage":"https://github.com/refinedev/refine#readme","_id":"@pankod/refine-core@3.99.3","_nodeVersion":"16.19.0","_npmVersion":"8.19.3","dist":{"integrity":"sha512-k3jgOUI1+PBzQencPA5bJCSlxlB157PINQV06+wLHcCkSBkYzFoh63wIQXpZGUWRy0ZRfTm+WjXMYWwhJ0pmAQ==","shasum":"d9aa8879c0b68cfa19d66b6c120995cff39695b7","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.99.3.tgz","fileCount":522,"unpackedSize":2215262,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCLcOhyjVyKLLYNgenFs6ha/ZPhbDUZeredhqlXqZpOsQIhAODippcxLh1D5AtnbcxTY4HTIMiE4GbEEOs3VgSOorbE"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj4jdBACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmqs7g/+KHGc5w2gwHtrODJPX7IXW0KElZW82uF1Lfm91x1I6Pq3X9lo\r\nAk7GGbP4nLjdSclbIdOQpDxFgNZQaMyn4uIh9uoc5OXFPBciyBpMEGMK4S4S\r\ni7akzNxCq+dRximUC02QTwhr6TUQ9E5RbGbPHuMJ4OkgQv/To/S+2z9W/YMP\r\nHIjRYszBJl/pFRwbQkI84MsGHcfBm64zglzwqxeJgqkNL0m6oRNxd+v/twrA\r\n9FAFYgIaCLO6B52F3+YNfUyapRmmdD4EfZGATZVawPqFqhOM1Kin4mKDzQep\r\nJF+6JFP9EYDXNFHo7s97KF/EAVz37turPWCjjlBWwy2DKm0Ezi2/2VZmvqa2\r\ncIgpYHuF4QrM7fwsjowl3jOuAA+zqBKzDRdyhFx0Ypevo6j9oFTM3bjm0f6y\r\nC34Sg6KlqyKQ5rZQOc/y4YkyN1SAN8TKn4S6cepWHRHKGawwzqHBdCF1dCch\r\nMi06AII6KeLLnG6WG7dmvSnl+tBapGeMIFYYesYRQ7rehLwfdM+GxDfFBe85\r\ni2TvoevPeWEqU+NUH5fNtEkaS1nuHnComi+EzdO8tYfRa6/ddb0PO3XYLFaO\r\nTu5lOE4Jhs+RbGYnYGKrUWiXxocr7Qc2ljNNM6rUI4DNuOWKBs/NIpiNJUjd\r\nlpPK2ukOebobCIXRPWxMNVk2PxqE0bpmbKw=\r\n=Krlj\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"alicanerdurmaz","email":"alicanerdurmaz@gmail.com"},{"name":"salihozdmr","email":"salihozdemir94@gmail.com"},{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.99.3_1675769665288_0.6351170173933827"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.99.4":{"name":"@pankod/refine-core","version":"3.99.4","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --format esm,cjs,iife --legacy-output","build":"tsup --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0","@types/react":"^17.0.0 || ^18.0.0","@types/react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.16.4","@testing-library/react":"^13.1.1","@testing-library/react-hooks":"^8.0.0","@testing-library/user-event":"^14.1.1","@types/jest":"^29.2.4","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^18.0.0","@types/react-dom":"^18.0.0","@types/react-router-dom":"^5.1.8","@types/testing-library__jest-dom":"^5.14.3","identity-obj-proxy":"^3.0.0","jest":"^29.3.1","jest-environment-jsdom":"^29.3.1","react-router-dom":"6.3.0","ts-jest":"^29.0.3","tsup":"^5.11.13","typescript":"^4.7.4"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","lodash-es":"^4.17.21","lodash":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","@tanstack/react-query-devtools":"^4.10.1","@tanstack/react-query":"^4.10.1","tslib":"^2.3.1","warn-once":"^0.1.0"},"repository":{"type":"git","url":"git+https://github.com/refinedev/refine.git","directory":"packages/core"},"author":{"name":"refine"},"license":"MIT","gitHead":"17dd5af3e4c9f7f09e1e707362c6f5a9d1cab8a8","publishConfig":{"access":"public"},"bugs":{"url":"https://github.com/refinedev/refine/issues"},"homepage":"https://github.com/refinedev/refine#readme","_id":"@pankod/refine-core@3.99.4","_nodeVersion":"16.19.0","_npmVersion":"8.19.3","dist":{"integrity":"sha512-XgSEQcrz4CTsUI8wxGH60JfMZWHR2C8KGhcCU10OheIz/VyuU5kbzpwwl778dRR/YxvY/fOsYdqxXbiXyu7U3Q==","shasum":"63189bfe53cd5947d97b54ea20b7bf0501bd1aa4","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.99.4.tgz","fileCount":522,"unpackedSize":2215651,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEKkfyGYnlqUDbFuOVGQlhy1yDWIoHR7ooPMo7XHvbxWAiAaWbAFslJIkdACNhOtKo0235VoEVuu+RzIjbPv3Y3hqw=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj4j11ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoVpg//UrWi5A7EiPdV//AelJoyGyDcdPf5kTEBOnIi26XbOPZmcH36\r\nELKPeK4cjzN99QVqbos79ycT1OtHSunNWtvK/MnZFADtxtt9+c5r/LVZf4e9\r\nguOvnVyWAbVR+8xcO/Z/LUDVq97F/WRM5p8nc8JRNBCRaohbfqLNAsgDtq5l\r\njn85CM6jjQXTg6aCQ0WmW7zY8+KhguH4Qp0QtG+c5e6LpbIIOspk1k0mJa9E\r\nBTdztKmRI1QjPKE0Jthe7t+ZNoNxftGmMTlJ1zT8NYzQN/FjLUlrdk9FWuFR\r\nIG1vDGJccvJtlYsPJRUkWuO3EtMxAs6VYtzQAyXeLafYBZMIcwEXRRJ9rM4V\r\nf3N5DtybuZRfn6r8IHN4q4dMz7ewmyzn8i5VSn+bWdyHh90QGbhydDEPEkmg\r\nnjEFziyHAtuX2UsNvnX/IbA7AuBHnj9QRYNs9K/6rYJb5LLCwAsFH6ECh+KD\r\nD0U0T7jg8VSRINVEFobs+Y6jJMXdWJr0hI1gSPgO06AhdDHXgLbxALOtdnHy\r\nAPK8isn5rCbB9bzJzupt3EJySztco5nUeMC9xQzpkETTm6oqQZh9FdEt+AT5\r\nhvngswNyjujHFg+LSqaomww5m/7OkwdtGIW0Ayc1DR7TwWlULZtyklXiwepi\r\nz7z31fsb8nxCyi5oeN2jxKjWPlJkk+FoAsI=\r\n=4QaL\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"alicanerdurmaz","email":"alicanerdurmaz@gmail.com"},{"name":"salihozdmr","email":"salihozdemir94@gmail.com"},{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.99.4_1675771253609_0.2002381964314468"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.99.5":{"name":"@pankod/refine-core","version":"3.99.5","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --format esm,cjs,iife --legacy-output","build":"tsup --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0","@types/react":"^17.0.0 || ^18.0.0","@types/react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.16.4","@testing-library/react":"^13.1.1","@testing-library/react-hooks":"^8.0.0","@testing-library/user-event":"^14.1.1","@types/jest":"^29.2.4","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^18.0.0","@types/react-dom":"^18.0.0","@types/react-router-dom":"^5.1.8","@types/testing-library__jest-dom":"^5.14.3","identity-obj-proxy":"^3.0.0","jest":"^29.3.1","jest-environment-jsdom":"^29.3.1","react-router-dom":"6.3.0","ts-jest":"^29.0.3","tsup":"^5.11.13","typescript":"^4.7.4"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","lodash-es":"^4.17.21","lodash":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","@tanstack/react-query-devtools":"^4.10.1","@tanstack/react-query":"^4.10.1","tslib":"^2.3.1","warn-once":"^0.1.0"},"repository":{"type":"git","url":"git+https://github.com/refinedev/refine.git","directory":"packages/core"},"author":{"name":"refine"},"license":"MIT","gitHead":"17dd5af3e4c9f7f09e1e707362c6f5a9d1cab8a8","publishConfig":{"access":"public"},"readme":"<br/>\n\n<div align=\"center\" style=\"margin: 30px;\">\n<a href=\"https://refine.dev/\">\n  <img src=\"https://refine.ams3.cdn.digitaloceanspaces.com/refine_logo.png\"   style=\"width:250px;\" align=\"center\" />\n</a>\n<br />\n<br />\n\n<div align=\"center\">\n    <a href=\"https://refine.dev\">Home Page</a> |\n    <a href=\"https://discord.gg/refine\">Discord</a> |\n    <a href=\"https://refine.dev/examples/\">Examples</a> | \n    <a href=\"https://refine.dev/blog/\">Blog</a> | \n    <a href=\"https://refine.dev/docs/\">Documentation</a> | \n    <a href=\"https://github.com/refinedev/refine/projects/1\">Roadmap</a>\n</div>\n</div>\n\n<br />\n\n<div align=\"center\"><strong>Build your <a href=\"https://reactjs.org/\">React</a>-based CRUD applications, without constraints.</strong><br>An open source, headless web application framework developed with flexibility in mind.\n\n<br />\n<br />\n\n[![Discord](https://img.shields.io/discord/837692625737613362.svg?label=&logo=discord&logoColor=ffffff&color=7389D8&labelColor=6A7EC2)](https://discord.gg/refine)\n[![Twitter Follow](https://img.shields.io/twitter/follow/refine_dev?style=social)](https://twitter.com/refine_dev)\n\n<a href=\"https://www.producthunt.com/posts/refine-3?utm_source=badge-top-post-badge&utm_medium=badge&utm_souce=badge-refine&#0045;3\" target=\"_blank\"><img src=\"https://api.producthunt.com/widgets/embed-image/v1/top-post-badge.svg?post_id=362220&theme=light&period=daily\" alt=\"refine - 100&#0037;&#0032;open&#0032;source&#0032;React&#0032;framework&#0032;to&#0032;build&#0032;web&#0032;apps&#0032;3x&#0032;faster | Product Hunt\" style=\"width: 250px; height: 54px;\" width=\"250\" height=\"54\" /></a>\n\n</div>\n\n<div align=\"center\">\n\n[![Awesome](https://github.com/refinedev/awesome-refine/raw/main/images/badge.svg)](https://github.com/refinedev/awesome-refine)\n[![Maintainability](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/maintainability)](https://codeclimate.com/github/pankod/refine/maintainability)\n[![Test Coverage](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/test_coverage)](https://codeclimate.com/github/pankod/refine/test_coverage)\n[![npm version](https://img.shields.io/npm/v/@pankod/refine-core.svg)](https://www.npmjs.com/package/@pankod/refine-core)\n[![npm](https://img.shields.io/npm/dm/@pankod/refine-core)](https://www.npmjs.com/package/@pankod/refine-core)\n[![](https://img.shields.io/github/commit-activity/m/refinedev/refine)](https://github.com/refinedev/refine/commits/next)\n[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.0-4baaaa.svg)](CODE_OF_CONDUCT.md)\n\n</div>\n\n<br/>\n<a href=\"https://refine.dev/\">\n<picture>\n  <source media=\"(prefers-color-scheme: dark)\" srcset=\"https://user-images.githubusercontent.com/18739364/200257042-3f2aa7f7-a07f-4824-8d2a-b25f26b6fd32.png\">\n  <img alt=\"how-works-refine\" src=\"https://user-images.githubusercontent.com/18739364/200257209-8fc0c8b1-2568-453e-873f-00513434deed.png\">\n</picture>\n</a>\n\n## What is refine?\n\n**refine** is a React-based framework for the rapid ✨ development of web applications.\nIt eliminates repetitive tasks demanded by **CRUD** operations and provides industry standard solutions for critical parts like **authentication**, **access control**, **routing**, **networking**, **state management**, and **i18n**.\n\n**refine** is _headless by design_, thereby offering unlimited styling and customization options.\n\n## What do you mean by \"headless\" ?\n\nInstead of being a limited set of pre-styled components, **refine** is a collection of helper `hooks`, `components`, and `providers`. They are all decoupled from _UI components_ and _business logic_, so that they never keep you from customizing your _UI_ or coding your own flow.\n\n**refine** seamlessly works with any **custom design** or **UI framework** that you favor. For convenience, it ships with ready-made integrations for [Ant Design System](https://ant.design/), [Material UI](https://mui.com/), [Mantine](https://mantine.dev/), and [Chakra UI](https://chakra-ui.com/).\n\n## Use cases\n\n**refine** shines on _data-intensive⚡_ applications like **admin panels**, **dashboards** and **internal tools**. Thanks to the built-in **SSR support**, **refine** can also power _customer-facing_ applications like **storefronts**.\n\nYou can take a look at some live examples that can be built using **refine** from scratch:\n\n<a href=\"https://s.refine.dev/readme-admin-panel\" target=\"_blank\">\n <img src=\"https://user-images.githubusercontent.com/18739364/204285956-cc20fa11-b769-4bd5-b8f6-9c05a283ac85.gif\"   style=\"width:267px;\"  />\n</a>\n\n <a href=\"https://s.refine.dev/readme-medium-clone\" target=\"_blank\">\n<img src=\"https://user-images.githubusercontent.com/18739364/204285047-8f24f1f4-65ea-4952-83ed-81e92cdd5b90.gif\"   style=\"width:200px;\"  />\n</a>\n\n <a href=\"https://s.refine.dev/readme-ssr-storefront\" target=\"_blank\">\n<img src=\"https://user-images.githubusercontent.com/18739364/204285039-1ce0cb06-fbf8-4704-89c9-2e004620c9a8.gif\"   style=\"width:200px;\"  />\n</a>\n\n<br/>\n<br/>\n\n[👉 Refer to most popular real use case examples](https://refine.dev/examples/)\n\n[👉 More **refine** powered different usage scenarios can be found here](https://refine.dev/docs/examples/)\n\n## Key Features\n\n⚙️ Zero-config, **one-minute setup** with a **single CLI command**\n\n🔌 Connectors for **15+ backend services** including [REST API](https://github.com/refinedev/refine/tree/master/packages/simple-rest), [GraphQL](https://github.com/refinedev/refine/tree/master/packages/graphql), [NestJs CRUD](https://github.com/refinedev/refine/tree/master/packages/nestjsx-crud), [Airtable](https://github.com/refinedev/refine/tree/master/packages/airtable), [Strapi](https://github.com/refinedev/refine/tree/master/packages/strapi), [Strapi v4](https://github.com/refinedev/refine/tree/master/packages/strapi-v4), [Strapi GraphQL](https://github.com/refinedev/refine/tree/master/packages/strapi-graphql), [Supabase](https://github.com/refinedev/refine/tree/master/packages/supabase), [Hasura](https://github.com/refinedev/refine/tree/master/packages/hasura), [Appwrite](https://github.com/refinedev/refine/tree/master/packages/appwrite), [Firebase](https://firebase.google.com/), and [Directus](https://directus.io/).\n\n🌐 **SSR support** with **Next.js** or **Remix**\n\n🔍 Auto-generated **CRUD** UIs from **your API data structure**\n\n⚛ Perfect **state management** & **mutations** with **React Query**\n\n🔀 **Advanced routing** with any router library of your choice\n\n🔐 Providers for seamless **authentication** and **access control** flows\n\n⚡ Out-of-the-box support for **live / real-time applications**\n\n📄 Easy **audit logs** & **document versioning**\n\n💬 Support for any **i18n** framework\n\n💪 Future-proof, **robust architecture**\n\n⌛️ Built-in CLI with time-saving features\n\n✅ Full **test coverage**\n\n## Quick Start\n\nThe fastest way to get started with **refine** is by using the `create refine-app` project starter tool.\nRun the following command to create a new **refine** project configured with [Ant Design System](https://ant.design/) as the default UI framework:\n\n```\nnpm create refine-app@latest -- --preset refine-antd\n```\n\nOnce the setup is complete, navigate to the project folder and start your project with:\n\n```\nnpm run dev\n```\n\n<br/>\n\nYour **refine** application will be accessible at [http://localhost:3000](http://localhost:3000):\n\n<a href=\"http://localhost:3000\">![Welcome on board](https://refine.ams3.cdn.digitaloceanspaces.com/website/static/img/welcome-on-board.png)</a>\n\n<br/>\n\nLet's consume a public `fake REST API` and add two resources (_posts_, _categories_) to our project. Replace the contents of `src/App.tsx` with the following code:\n\n```tsx title=\"src/App.tsx\"\nimport { Refine } from \"@pankod/refine-core\";\nimport {\n    Layout,\n    ReadyPage,\n    notificationProvider,\n    ErrorComponent,\n} from \"@pankod/refine-antd\";\nimport routerProvider from \"@pankod/refine-react-router-v6\";\nimport dataProvider from \"@pankod/refine-simple-rest\";\n\nimport { AntdInferencer } from \"@pankod/refine-inferencer/antd\";\n\nimport \"@pankod/refine-antd/dist/reset.css\";\n\nconst App: React.FC = () => {\n    return (\n        <Refine\n            routerProvider={routerProvider}\n            dataProvider={dataProvider(\"https://api.fake-rest.refine.dev\")}\n            Layout={Layout}\n            ReadyPage={ReadyPage}\n            notificationProvider={notificationProvider}\n            catchAll={<ErrorComponent />}\n            resources={[\n                {\n                    name: \"posts\",\n                    list: AntdInferencer,\n                    show: AntdInferencer,\n                    create: AntdInferencer,\n                    edit: AntdInferencer,\n                    canDelete: true,\n                },\n                {\n                    name: \"categories\",\n                    list: AntdInferencer,\n                    show: AntdInferencer,\n                },\n            ]}\n        />\n    );\n};\n\nexport default App;\n```\n\n<br/>\n\n🚀 Thanks to **refine Inferencer package**, it guesses the configuration to use for the `list`, `show`, `create`, and `edit` pages based on the data fetched from the API and generates the pages automatically.\n\nNow, you should see the output as a table populated with `post` & `category` data:\n\n![First example result](https://refine.ams3.cdn.digitaloceanspaces.com/website/static/img/readme-quick-start.png)\n\n<br/>\n\nYou can get the auto-generated pages codes by clicking the `Show Code` button on each page. Afterward, simply pass the pages to the `resources` array by replacing with the Inferencer components.\n\n## Next Steps\n\n👉 Jump to [Tutorial](https://refine.dev/docs/tutorial/introduction/index/) to continue your work and turn the example into a full-blown CRUD application.\n\n👉 Visit [Learn the Basics Page](https://refine.dev/docs/getting-started/overview/) to get informed about the fundamental concepts.\n\n👉 Read more on [Advanced Tutorials\n](https://refine.dev/docs/advanced-tutorials/) for different usage scenarios.\n\n👉 See the real-life [Finefoods Demo](https://refine.dev/demo/) project.\n\n👉 Play with interactive [Examples](https://refine.dev/docs/examples/)\n\n## Roadmap\n\nYou can find refine's <a href=\"https://github.com/refinedev/refine/projects/1\">Public Roadmap here!</a>\n\n## Stargazers\n\n[![Stargazers repo roster for refinedev/refine](https://reporoster.com/stars/refinedev/refine)](https://github.com/refinedev/refine/stargazers)\n\n## Contribution\n\n[👉 Refer to contribution docs for more information](https://refine.dev/docs/contributing/#ways-to-contribute)\n\nIf you have any doubts related to the project or want to discuss something, then join our [Discord Server](https://discord.gg/refine).\n\n## Our ♥️ Contributors\n\n<a href=\"https://github.com/refinedev/refine/graphs/contributors\">\n  <img src=\"https://contrib.rocks/image?repo=refinedev/refine\" />\n</a>\n\n## License\n\nLicensed under the MIT License, Copyright © 2021-present Refinedev\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/refinedev/refine/issues"},"homepage":"https://github.com/refinedev/refine#readme","_id":"@pankod/refine-core@3.99.5","_nodeVersion":"16.19.1","_npmVersion":"8.19.3","dist":{"integrity":"sha512-YyyQq0+EZ3zm3oPtT46CZc6fE8MTmIfuGMp/3iY3dS3n9uL4a0LxydlwIC0jroNldkF/eHU/QuuVuBnwlBjbYA==","shasum":"e323193fa1660738d6215d754b618e9014bcb27f","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.99.5.tgz","fileCount":522,"unpackedSize":2216494,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD4+8P40ZTfA5xnmUHd2wpum0QgZ9lJcnulkLLhCiJ5bwIhAMY5+ThPB726m90fXFytE7gxbskygjwh5uMdEtE63drS"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkAEVrACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpULg/+MBok+Bcs5qE0sNbHj9m7gaKC8rJn9iYH81MflmKh1TsWFac6\r\naTMdVUKOFFY8iRReDsJOIIaUFWkE7WiiBhklgso5SVSI6cfviBYNersDoYJz\r\ntdMc1Ur0V6ruY8GuDSS81oWdmr13WPvY8qPJAnCAAmMOyJbxdWx7fFO1/PCf\r\nfGA2DbjSFsR9GkVJfwScWHvfhvmybtfdS1HqCZZeRmrV75VXTMU7nOPIXZjj\r\nYY2qDG1anQf1mTPwEVbPnvecTirEMaBPzLr/VUvaBXGByKNQFCy3B4ydmSdJ\r\nIP5HA4AO8FDs5HV0ohwXxgMXcqe2UnI1NVoAg9tq8rtrgW6y3mnaQEx+zVTJ\r\nSy0rUzykOu89Go2XwUeObIjdLXuqFm8i/Vb1fQJSvaEuRhoAKZXpR8dfd1Tw\r\ndZAH7sPkg/Gf6WwlmFwsNpWxAfYrdrFlGNSMfirsqosI39tb8/Atayf6Vnt9\r\nFmocD1z3oKnTRTjXmWtGI4xea0+Q8ErSfFJ0onTovraVurmjIRUyKC7hWpFA\r\n/C7KPrXt1HsOUbLacGjHAg0C/SOqEJOv5dQDtV/gZN6Tf4pUFpFGmOdELcni\r\n8C3VjxdfR28POgWBq0ZDl5oQdXd2mNJGii8JrD4W3LfamDKrRp92kYAl8Iao\r\nQkh5lQ2PYoFPb3bpiFwdX7Zq4kSG9rVtxHg=\r\n=ITTi\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"willico","email":"batuhanwilhelm@gmail.com"},{"name":"alicanerdurmaz","email":"alicanerdurmaz@gmail.com"},{"name":"salihozdmr","email":"salihozdemir94@gmail.com"},{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.99.5_1677739370996_0.7417333798609651"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.99.6":{"name":"@pankod/refine-core","version":"3.99.6","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --format esm,cjs,iife --legacy-output","build":"tsup --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0","@types/react":"^17.0.0 || ^18.0.0","@types/react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.16.4","@testing-library/react":"^13.1.1","@testing-library/react-hooks":"^8.0.0","@testing-library/user-event":"^14.1.1","@types/jest":"^29.2.4","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^18.0.0","@types/react-dom":"^18.0.0","@types/react-router-dom":"^5.1.8","@types/testing-library__jest-dom":"^5.14.3","identity-obj-proxy":"^3.0.0","jest":"^29.3.1","jest-environment-jsdom":"^29.3.1","react-router-dom":"6.3.0","ts-jest":"^29.0.3","tsup":"^5.11.13","typescript":"^4.7.4"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","lodash-es":"^4.17.21","lodash":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","@tanstack/react-query-devtools":"^4.10.1","@tanstack/react-query":"^4.10.1","tslib":"^2.3.1","warn-once":"^0.1.0"},"repository":{"type":"git","url":"git+https://github.com/refinedev/refine.git","directory":"packages/core"},"author":{"name":"refine"},"license":"MIT","gitHead":"17dd5af3e4c9f7f09e1e707362c6f5a9d1cab8a8","publishConfig":{"access":"public"},"bugs":{"url":"https://github.com/refinedev/refine/issues"},"homepage":"https://github.com/refinedev/refine#readme","_id":"@pankod/refine-core@3.99.6","_nodeVersion":"16.19.1","_npmVersion":"8.19.3","dist":{"integrity":"sha512-OE7ID1C/41nmu1ZeOmXYU916CKYdcCAbYCMRkfR1P5xDNptjEaqU+4fitypDSKinA98zfJdasT861bKZoMBagA==","shasum":"f785f2ecc9a6f2d5114f2b5dc5e8fc2fd5750486","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.99.6.tgz","fileCount":522,"unpackedSize":2216815,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEflCugywLVLuBIPi9Zxkrx5K5iVXi+9uC1d5WlAaWjTAiB1RBc0I6DMY7Ux+/QmdRGeOS4lusMhQp5CXPgLq8ebaw=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkAHzIACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmoj0hAAnQFhbPzGz/lHi0fZzredc/Wr3iu2yRMySx6Ar9ITpjp7s053\r\nFy217NBNp1Od3gcLRp/T8x9fCA7ogXTeeBOtS1bpwXywOkmAoOFdFpdmIRK8\r\nr+g+VIcIozWIhHEAz0obaT/9iMFYbCYUZ5VTYwHN/k3+UZwj+6b0CSPMz/yV\r\njAGg8ka9Qcy8DfMQ3scXM6F3tV5gV3JdDZ/MIYVP4TV+A+2umjW0IxSmlWsW\r\nndap3E3f8R8lNua3XMDLpmy9pA5eJUkulrM8qB0cbZ7aZvodYSb/Pwx/4GCG\r\nfUqkk5TrGBSsSbYqVHkxUIls/S1hzD5Ei4KYqsWYJuSGmNr0vFXTWt1v0Pyp\r\ntq7br49TiOmSfABYLpNtRkHxcM5tiEyiX7jGY2qpcHD14cC8cVyKhFKOvO4O\r\nWRiIGQhksB8xa/i997NJ4Ndtx9DNxm/Rh+Y4AN/aDb3PzYu7QutkrFr2VLK5\r\n7J0JsujVxyU9NLZJ0ZQxqnncG91EcQr4MeP4z2W0rHpgYt3W/uBLZsJ3l6XE\r\nu2CPG8WXQMUqv0JkBs1N4gXoiIcfXsmYmzZp7BwtlhDKe2zp7Uj1pZgXl64P\r\nplrypLlrGaHk+K67S+ilMhaCQbQYm+wQtwO8dEtQ9vKg2eZg806c6oiGeFKP\r\nyeYXLiMxQkBYGSg38FKrGFbmgdgEThAuZss=\r\n=NMYs\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"willico","email":"batuhanwilhelm@gmail.com"},{"name":"alicanerdurmaz","email":"alicanerdurmaz@gmail.com"},{"name":"salihozdmr","email":"salihozdemir94@gmail.com"},{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.99.6_1677753544243_0.5981628127986172"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.100.0":{"name":"@pankod/refine-core","version":"3.100.0","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --format esm,cjs,iife --legacy-output","build":"tsup --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0","@types/react":"^17.0.0 || ^18.0.0","@types/react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.16.4","@testing-library/react":"^13.1.1","@testing-library/react-hooks":"^8.0.0","@testing-library/user-event":"^14.1.1","@types/jest":"^29.2.4","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^18.0.0","@types/react-dom":"^18.0.0","@types/react-router-dom":"^5.1.8","@types/testing-library__jest-dom":"^5.14.3","identity-obj-proxy":"^3.0.0","jest":"^29.3.1","jest-environment-jsdom":"^29.3.1","react-router-dom":"6.3.0","ts-jest":"^29.0.3","tsup":"^5.11.13","typescript":"^4.7.4"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","lodash-es":"^4.17.21","lodash":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","@tanstack/react-query-devtools":"^4.10.1","@tanstack/react-query":"^4.10.1","tslib":"^2.3.1","warn-once":"^0.1.0"},"repository":{"type":"git","url":"git+https://github.com/refinedev/refine.git","directory":"packages/core"},"author":{"name":"refine"},"license":"MIT","gitHead":"17dd5af3e4c9f7f09e1e707362c6f5a9d1cab8a8","publishConfig":{"access":"public"},"readme":"<br/>\n\n<div align=\"center\" style=\"margin: 30px;\">\n<a href=\"https://refine.dev/\">\n  <img src=\"https://refine.ams3.cdn.digitaloceanspaces.com/refine_logo.png\"   style=\"width:250px;\" align=\"center\" />\n</a>\n<br />\n<br />\n\n<div align=\"center\">\n    <a href=\"https://refine.dev\">Home Page</a> |\n    <a href=\"https://discord.gg/refine\">Discord</a> |\n    <a href=\"https://refine.dev/examples/\">Examples</a> | \n    <a href=\"https://refine.dev/blog/\">Blog</a> | \n    <a href=\"https://refine.dev/docs/\">Documentation</a> | \n    <a href=\"https://github.com/refinedev/refine/projects/1\">Roadmap</a>\n</div>\n</div>\n\n<br />\n\n<div align=\"center\"><strong>Build your <a href=\"https://reactjs.org/\">React</a>-based CRUD applications, without constraints.</strong><br>An open source, headless web application framework developed with flexibility in mind.\n\n<br />\n<br />\n\n[![Discord](https://img.shields.io/discord/837692625737613362.svg?label=&logo=discord&logoColor=ffffff&color=7389D8&labelColor=6A7EC2)](https://discord.gg/refine)\n[![Twitter Follow](https://img.shields.io/twitter/follow/refine_dev?style=social)](https://twitter.com/refine_dev)\n\n<a href=\"https://www.producthunt.com/posts/refine-3?utm_source=badge-top-post-badge&utm_medium=badge&utm_souce=badge-refine&#0045;3\" target=\"_blank\"><img src=\"https://api.producthunt.com/widgets/embed-image/v1/top-post-badge.svg?post_id=362220&theme=light&period=daily\" alt=\"refine - 100&#0037;&#0032;open&#0032;source&#0032;React&#0032;framework&#0032;to&#0032;build&#0032;web&#0032;apps&#0032;3x&#0032;faster | Product Hunt\" style=\"width: 250px; height: 54px;\" width=\"250\" height=\"54\" /></a>\n\n</div>\n\n<div align=\"center\">\n\n[![Awesome](https://github.com/refinedev/awesome-refine/raw/main/images/badge.svg)](https://github.com/refinedev/awesome-refine)\n[![Maintainability](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/maintainability)](https://codeclimate.com/github/pankod/refine/maintainability)\n[![Test Coverage](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/test_coverage)](https://codeclimate.com/github/pankod/refine/test_coverage)\n[![npm version](https://img.shields.io/npm/v/@pankod/refine-core.svg)](https://www.npmjs.com/package/@pankod/refine-core)\n[![npm](https://img.shields.io/npm/dm/@pankod/refine-core)](https://www.npmjs.com/package/@pankod/refine-core)\n[![](https://img.shields.io/github/commit-activity/m/refinedev/refine)](https://github.com/refinedev/refine/commits/next)\n[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.0-4baaaa.svg)](CODE_OF_CONDUCT.md)\n\n</div>\n\n<br/>\n<a href=\"https://refine.dev/\">\n<picture>\n  <source media=\"(prefers-color-scheme: dark)\" srcset=\"https://user-images.githubusercontent.com/18739364/200257042-3f2aa7f7-a07f-4824-8d2a-b25f26b6fd32.png\">\n  <img alt=\"how-works-refine\" src=\"https://user-images.githubusercontent.com/18739364/200257209-8fc0c8b1-2568-453e-873f-00513434deed.png\">\n</picture>\n</a>\n\n## What is refine?\n\n**refine** is a React-based framework for the rapid ✨ development of web applications.\nIt eliminates repetitive tasks demanded by **CRUD** operations and provides industry standard solutions for critical parts like **authentication**, **access control**, **routing**, **networking**, **state management**, and **i18n**.\n\n**refine** is _headless by design_, thereby offering unlimited styling and customization options.\n\n## What do you mean by \"headless\" ?\n\nInstead of being a limited set of pre-styled components, **refine** is a collection of helper `hooks`, `components`, and `providers`. They are all decoupled from _UI components_ and _business logic_, so that they never keep you from customizing your _UI_ or coding your own flow.\n\n**refine** seamlessly works with any **custom design** or **UI framework** that you favor. For convenience, it ships with ready-made integrations for [Ant Design System](https://ant.design/), [Material UI](https://mui.com/), [Mantine](https://mantine.dev/), and [Chakra UI](https://chakra-ui.com/).\n\n## Use cases\n\n**refine** shines on _data-intensive⚡_ applications like **admin panels**, **dashboards** and **internal tools**. Thanks to the built-in **SSR support**, **refine** can also power _customer-facing_ applications like **storefronts**.\n\nYou can take a look at some live examples that can be built using **refine** from scratch:\n\n<a href=\"https://s.refine.dev/readme-admin-panel\" target=\"_blank\">\n <img src=\"https://user-images.githubusercontent.com/18739364/204285956-cc20fa11-b769-4bd5-b8f6-9c05a283ac85.gif\"   style=\"width:267px;\"  />\n</a>\n\n <a href=\"https://s.refine.dev/readme-medium-clone\" target=\"_blank\">\n<img src=\"https://user-images.githubusercontent.com/18739364/204285047-8f24f1f4-65ea-4952-83ed-81e92cdd5b90.gif\"   style=\"width:200px;\"  />\n</a>\n\n <a href=\"https://s.refine.dev/readme-ssr-storefront\" target=\"_blank\">\n<img src=\"https://user-images.githubusercontent.com/18739364/204285039-1ce0cb06-fbf8-4704-89c9-2e004620c9a8.gif\"   style=\"width:200px;\"  />\n</a>\n\n<br/>\n<br/>\n\n[👉 Refer to most popular real use case examples](https://refine.dev/examples/)\n\n[👉 More **refine** powered different usage scenarios can be found here](https://refine.dev/docs/examples/)\n\n## Key Features\n\n⚙️ Zero-config, **one-minute setup** with a **single CLI command**\n\n🔌 Connectors for **15+ backend services** including [REST API](https://github.com/refinedev/refine/tree/master/packages/simple-rest), [GraphQL](https://github.com/refinedev/refine/tree/master/packages/graphql), [NestJs CRUD](https://github.com/refinedev/refine/tree/master/packages/nestjsx-crud), [Airtable](https://github.com/refinedev/refine/tree/master/packages/airtable), [Strapi](https://github.com/refinedev/refine/tree/master/packages/strapi), [Strapi v4](https://github.com/refinedev/refine/tree/master/packages/strapi-v4), [Strapi GraphQL](https://github.com/refinedev/refine/tree/master/packages/strapi-graphql), [Supabase](https://github.com/refinedev/refine/tree/master/packages/supabase), [Hasura](https://github.com/refinedev/refine/tree/master/packages/hasura), [Appwrite](https://github.com/refinedev/refine/tree/master/packages/appwrite), [Firebase](https://firebase.google.com/), and [Directus](https://directus.io/).\n\n🌐 **SSR support** with **Next.js** or **Remix**\n\n🔍 Auto-generated **CRUD** UIs from **your API data structure**\n\n⚛ Perfect **state management** & **mutations** with **React Query**\n\n🔀 **Advanced routing** with any router library of your choice\n\n🔐 Providers for seamless **authentication** and **access control** flows\n\n⚡ Out-of-the-box support for **live / real-time applications**\n\n📄 Easy **audit logs** & **document versioning**\n\n💬 Support for any **i18n** framework\n\n💪 Future-proof, **robust architecture**\n\n⌛️ Built-in CLI with time-saving features\n\n✅ Full **test coverage**\n\n## Quick Start\n\nThe fastest way to get started with **refine** is by using the `create refine-app` project starter tool.\nRun the following command to create a new **refine** project configured with [Ant Design System](https://ant.design/) as the default UI framework:\n\n```\nnpm create refine-app@latest -- --preset refine-antd\n```\n\nOnce the setup is complete, navigate to the project folder and start your project with:\n\n```\nnpm run dev\n```\n\n<br/>\n\nYour **refine** application will be accessible at [http://localhost:3000](http://localhost:3000):\n\n<a href=\"http://localhost:3000\">![Welcome on board](https://refine.ams3.cdn.digitaloceanspaces.com/website/static/img/welcome-on-board.png)</a>\n\n<br/>\n\nLet's consume a public `fake REST API` and add two resources (_posts_, _categories_) to our project. Replace the contents of `src/App.tsx` with the following code:\n\n```tsx title=\"src/App.tsx\"\nimport { Refine } from \"@pankod/refine-core\";\nimport {\n    Layout,\n    ReadyPage,\n    notificationProvider,\n    ErrorComponent,\n} from \"@pankod/refine-antd\";\nimport routerProvider from \"@pankod/refine-react-router-v6\";\nimport dataProvider from \"@pankod/refine-simple-rest\";\n\nimport { AntdInferencer } from \"@pankod/refine-inferencer/antd\";\n\nimport \"@pankod/refine-antd/dist/reset.css\";\n\nconst App: React.FC = () => {\n    return (\n        <Refine\n            routerProvider={routerProvider}\n            dataProvider={dataProvider(\"https://api.fake-rest.refine.dev\")}\n            Layout={Layout}\n            ReadyPage={ReadyPage}\n            notificationProvider={notificationProvider}\n            catchAll={<ErrorComponent />}\n            resources={[\n                {\n                    name: \"posts\",\n                    list: AntdInferencer,\n                    show: AntdInferencer,\n                    create: AntdInferencer,\n                    edit: AntdInferencer,\n                    canDelete: true,\n                },\n                {\n                    name: \"categories\",\n                    list: AntdInferencer,\n                    show: AntdInferencer,\n                },\n            ]}\n        />\n    );\n};\n\nexport default App;\n```\n\n<br/>\n\n🚀 Thanks to **refine Inferencer package**, it guesses the configuration to use for the `list`, `show`, `create`, and `edit` pages based on the data fetched from the API and generates the pages automatically.\n\nNow, you should see the output as a table populated with `post` & `category` data:\n\n![First example result](https://refine.ams3.cdn.digitaloceanspaces.com/website/static/img/readme-quick-start.png)\n\n<br/>\n\nYou can get the auto-generated pages codes by clicking the `Show Code` button on each page. Afterward, simply pass the pages to the `resources` array by replacing with the Inferencer components.\n\n## Next Steps\n\n👉 Jump to [Tutorial](https://refine.dev/docs/tutorial/introduction/index/) to continue your work and turn the example into a full-blown CRUD application.\n\n👉 Visit [Learn the Basics Page](https://refine.dev/docs/getting-started/overview/) to get informed about the fundamental concepts.\n\n👉 Read more on [Advanced Tutorials\n](https://refine.dev/docs/advanced-tutorials/) for different usage scenarios.\n\n👉 See the real-life [Finefoods Demo](https://refine.dev/demo/) project.\n\n👉 Play with interactive [Examples](https://refine.dev/docs/examples/)\n\n## Roadmap\n\nYou can find refine's <a href=\"https://github.com/refinedev/refine/projects/1\">Public Roadmap here!</a>\n\n## Stargazers\n\n[![Stargazers repo roster for refinedev/refine](https://reporoster.com/stars/refinedev/refine)](https://github.com/refinedev/refine/stargazers)\n\n## Contribution\n\n[👉 Refer to contribution docs for more information](https://refine.dev/docs/contributing/#ways-to-contribute)\n\nIf you have any doubts related to the project or want to discuss something, then join our [Discord Server](https://discord.gg/refine).\n\n## Our ♥️ Contributors\n\n<a href=\"https://github.com/refinedev/refine/graphs/contributors\">\n  <img src=\"https://contrib.rocks/image?repo=refinedev/refine\" />\n</a>\n\n## License\n\nLicensed under the MIT License, Copyright © 2021-present Refinedev\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/refinedev/refine/issues"},"homepage":"https://github.com/refinedev/refine#readme","_id":"@pankod/refine-core@3.100.0","_nodeVersion":"16.19.1","_npmVersion":"8.19.3","dist":{"integrity":"sha512-EeGN8eVihS5xrLGEpxNlfLRtAHRuNXSl749WMS/Mx196SlwziiA1r0IJ0UsNM1THuN1lFx/KwkXIOiwPY1jfSA==","shasum":"399b8e4ce89ade54f71df6c1ff848371bf67ef1a","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.100.0.tgz","fileCount":528,"unpackedSize":2244732,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDMF0gutGpyrdvzVSD+hcBd9vVxLQVDm1iWFmLH1Ovy5QIhAPgRxNvXcex6i/NWfRE+pFayJqQIOhxt1xRkgIpfBpwb"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkBfn9ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo3Xg//RyH6rVPq19KjXBw81IzXPQy/zhQpMSK1fKeERcmBkvgBQTGx\r\nM6ry+91aijI35kPS6ubco3nTsruWgxQW/uNocfafgxeZ/qsSK7p7vrHxHqfa\r\nGl79pu9HeRsN2v3gpVb84Cq7cTxD+2hUzjz7kHgW5AKI6W6gP8nSeiJhhlYd\r\n5zrktkQzzn54LuyV18VSN6gThLqx5Hqf/PCInTRstOmn0BScnuw66CC8yUCy\r\nuMRyr4+UfV+0Kf3WFqQAnmsjiPAex+/g5aYxC0j/+EcAqU+l19Nr7eyQK4UW\r\no0BXKIlnRXU45l99M579fs6Cm+S5LfESr0hcGdD+UwU4lHqyYI25/EHf8iGp\r\nnzpvztdRYqI4UdzLPDeau4f9SSdE36CQQSap18mlSSZyhGX39w0j+87BxcnY\r\nIOGDV07gMlDURpP7q5pHGt931q7ZN3l6VdN3sG/cSDbO3/9Bfqd+TVf/Uu1E\r\n71H5cmZz3UeBRvKbdeeGyQoLJk0mu3n535TyIfSKf9HNA3OTFLn2JDm1eJkR\r\nMUDuZRF5QvUdJRvn2oH0y+cNGxjo/YUQZJkM84lVbrEuJoLosbIjb5QEcD72\r\nddJ1RLYYkqLq1KdlMImwWCP3EHp84HYuhnE7SoGFXdYHrJJQ3efmOYSaIJf1\r\nX9rNEC/olztJwaWoG5Mj9OWzAMAvi6qBhm4=\r\n=LHKJ\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"willico","email":"batuhanwilhelm@gmail.com"},{"name":"alicanerdurmaz","email":"alicanerdurmaz@gmail.com"},{"name":"salihozdmr","email":"salihozdemir94@gmail.com"},{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.100.0_1678113277010_0.09607853448619519"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.101.0":{"name":"@pankod/refine-core","version":"3.101.0","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --format esm,cjs,iife --legacy-output","build":"tsup --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0","@types/react":"^17.0.0 || ^18.0.0","@types/react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.16.4","@testing-library/react":"^13.1.1","@testing-library/react-hooks":"^8.0.0","@testing-library/user-event":"^14.1.1","@types/jest":"^29.2.4","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^18.0.0","@types/react-dom":"^18.0.0","@types/react-router-dom":"^5.1.8","@types/testing-library__jest-dom":"^5.14.3","identity-obj-proxy":"^3.0.0","jest":"^29.3.1","jest-environment-jsdom":"^29.3.1","react-router-dom":"6.3.0","ts-jest":"^29.0.3","tsup":"^5.11.13","typescript":"^4.7.4"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","lodash-es":"^4.17.21","lodash":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","@tanstack/react-query-devtools":"^4.10.1","@tanstack/react-query":"^4.10.1","tslib":"^2.3.1","warn-once":"^0.1.0"},"repository":{"type":"git","url":"git+https://github.com/refinedev/refine.git","directory":"packages/core"},"author":{"name":"refine"},"license":"MIT","gitHead":"17dd5af3e4c9f7f09e1e707362c6f5a9d1cab8a8","publishConfig":{"access":"public"},"bugs":{"url":"https://github.com/refinedev/refine/issues"},"homepage":"https://github.com/refinedev/refine#readme","_id":"@pankod/refine-core@3.101.0","_nodeVersion":"16.19.1","_npmVersion":"8.19.3","dist":{"integrity":"sha512-/LUNwyVAB5/5+LBzRNZ1VWrjvnSBEXC9bSJjeW9bB8lPLKRWiZqgpcLP7RtKiR7fryDLtGoxTaPRG1RmQ9TjEA==","shasum":"976b1ce979cab2cb61523649b6437641a04bcfa7","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.101.0.tgz","fileCount":528,"unpackedSize":2245005,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICZ+3ksZ3IZXicWFISJumwVRO3XZ1o/nVNwSQleHyxN5AiEAiBMFKwK8J8rh6owA6eYRTsdQQIhyMVqszsNFlo8iTew="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkBzU2ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq98Q//eYUQgcCODXo2PO6gTj3cy/XrX/peA880raK3+gMIUpLCpoSJ\r\nYzBhFloyYsx8oaNTyW9cDzokOvBfqSivzNvsA39m5972r+55CFSdB1ej/qeM\r\nRPINXycTjGWmrUsMpP7i0hK14LaTahLX+0bdizTLTG/oFMtLKX7mUTz9dJEh\r\ndp+63zeGdcsZwSp9I8FfkzbbYwTy+Ti1fLx6m3LitTGjbE68/B/WEveclVjV\r\nIPXDyqnLAzANPg+PVTLAEPO9XQ7wX8RFAoLgcEAJWYpfvBA1y+uF/pdehOUi\r\nLtKMRJ0CioxywItOcQ3ldX2YmOEW0uMKevQUHqu4nce30i0JrYYb/PiH7nDG\r\n45MwOg2RVme4c7R7PRC94MiP3u49EcrpWWn9fKgpfq2upq75xnfviaMSmLXv\r\n569b/IjjeFxB0ow6QidLrsvFZwZYDU2vX9PxWH4INSTPMxxA3HGZv3h39EsA\r\n8c9crzQ1cxnKiCKwkVSz2WaIxhOEXeW1NvlekNRJRatQFe+zlpOFmlTKqWd1\r\nvaB3ggjqWW4AkDHe1B/4gMURvzUwBK7jwbvH4h4ycB1TZe0wKOtNvBDXKA6M\r\nWOfMZGR0QdVI151inCRQ/lIP6O7eTsgNqHzine3mLc0rEYdc2F5AC/Ds9W6i\r\nN4/nioodhbQvCEI0a6WmQ40mtgX1IM88cIs=\r\n=6Z04\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"willico","email":"batuhanwilhelm@gmail.com"},{"name":"alicanerdurmaz","email":"alicanerdurmaz@gmail.com"},{"name":"salihozdmr","email":"salihozdemir94@gmail.com"},{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.101.0_1678193974418_0.7657565475715411"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.101.1":{"name":"@pankod/refine-core","version":"3.101.1","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --format esm,cjs,iife --legacy-output","build":"tsup --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0","@types/react":"^17.0.0 || ^18.0.0","@types/react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.16.4","@testing-library/react":"^13.1.1","@testing-library/react-hooks":"^8.0.0","@testing-library/user-event":"^14.1.1","@types/jest":"^29.2.4","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^18.0.0","@types/react-dom":"^18.0.0","@types/react-router-dom":"^5.1.8","@types/testing-library__jest-dom":"^5.14.3","identity-obj-proxy":"^3.0.0","jest":"^29.3.1","jest-environment-jsdom":"^29.3.1","react-router-dom":"6.3.0","ts-jest":"^29.0.3","tsup":"^5.11.13","typescript":"^4.7.4"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","lodash-es":"^4.17.21","lodash":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","@tanstack/react-query-devtools":"^4.10.1","@tanstack/react-query":"^4.10.1","tslib":"^2.3.1","warn-once":"^0.1.0"},"repository":{"type":"git","url":"git+https://github.com/refinedev/refine.git","directory":"packages/core"},"author":{"name":"refine"},"license":"MIT","gitHead":"17dd5af3e4c9f7f09e1e707362c6f5a9d1cab8a8","publishConfig":{"access":"public"},"readme":"<br/>\n\n<div align=\"center\" style=\"margin: 30px;\">\n<a href=\"https://refine.dev/\">\n  <img src=\"https://refine.ams3.cdn.digitaloceanspaces.com/refine_logo.png\"   style=\"width:250px;\" align=\"center\" />\n</a>\n<br />\n<br />\n\n<div align=\"center\">\n    <a href=\"https://refine.dev\">Home Page</a> |\n    <a href=\"https://discord.gg/refine\">Discord</a> |\n    <a href=\"https://refine.dev/examples/\">Examples</a> | \n    <a href=\"https://refine.dev/blog/\">Blog</a> | \n    <a href=\"https://refine.dev/docs/\">Documentation</a> | \n    <a href=\"https://github.com/refinedev/refine/projects/1\">Roadmap</a>\n</div>\n</div>\n\n<br />\n\n<div align=\"center\"><strong>Build your <a href=\"https://reactjs.org/\">React</a>-based CRUD applications, without constraints.</strong><br>An open source, headless web application framework developed with flexibility in mind.\n\n<br />\n<br />\n\n[![Discord](https://img.shields.io/discord/837692625737613362.svg?label=&logo=discord&logoColor=ffffff&color=7389D8&labelColor=6A7EC2)](https://discord.gg/refine)\n[![Twitter Follow](https://img.shields.io/twitter/follow/refine_dev?style=social)](https://twitter.com/refine_dev)\n\n<a href=\"https://www.producthunt.com/posts/refine-3?utm_source=badge-top-post-badge&utm_medium=badge&utm_souce=badge-refine&#0045;3\" target=\"_blank\"><img src=\"https://api.producthunt.com/widgets/embed-image/v1/top-post-badge.svg?post_id=362220&theme=light&period=daily\" alt=\"refine - 100&#0037;&#0032;open&#0032;source&#0032;React&#0032;framework&#0032;to&#0032;build&#0032;web&#0032;apps&#0032;3x&#0032;faster | Product Hunt\" style=\"width: 250px; height: 54px;\" width=\"250\" height=\"54\" /></a>\n\n</div>\n\n<div align=\"center\">\n\n[![Awesome](https://github.com/refinedev/awesome-refine/raw/main/images/badge.svg)](https://github.com/refinedev/awesome-refine)\n[![Maintainability](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/maintainability)](https://codeclimate.com/github/pankod/refine/maintainability)\n[![Test Coverage](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/test_coverage)](https://codeclimate.com/github/pankod/refine/test_coverage)\n[![npm version](https://img.shields.io/npm/v/@pankod/refine-core.svg)](https://www.npmjs.com/package/@pankod/refine-core)\n[![npm](https://img.shields.io/npm/dm/@pankod/refine-core)](https://www.npmjs.com/package/@pankod/refine-core)\n[![](https://img.shields.io/github/commit-activity/m/refinedev/refine)](https://github.com/refinedev/refine/commits/next)\n[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.0-4baaaa.svg)](CODE_OF_CONDUCT.md)\n\n</div>\n\n<br/>\n<a href=\"https://refine.dev/\">\n<picture>\n  <source media=\"(prefers-color-scheme: dark)\" srcset=\"https://user-images.githubusercontent.com/18739364/200257042-3f2aa7f7-a07f-4824-8d2a-b25f26b6fd32.png\">\n  <img alt=\"how-works-refine\" src=\"https://user-images.githubusercontent.com/18739364/200257209-8fc0c8b1-2568-453e-873f-00513434deed.png\">\n</picture>\n</a>\n\n## What is refine?\n\n**refine** is a React-based framework for the rapid ✨ development of web applications.\nIt eliminates repetitive tasks demanded by **CRUD** operations and provides industry standard solutions for critical parts like **authentication**, **access control**, **routing**, **networking**, **state management**, and **i18n**.\n\n**refine** is _headless by design_, thereby offering unlimited styling and customization options.\n\n## What do you mean by \"headless\" ?\n\nInstead of being a limited set of pre-styled components, **refine** is a collection of helper `hooks`, `components`, and `providers`. They are all decoupled from _UI components_ and _business logic_, so that they never keep you from customizing your _UI_ or coding your own flow.\n\n**refine** seamlessly works with any **custom design** or **UI framework** that you favor. For convenience, it ships with ready-made integrations for [Ant Design System](https://ant.design/), [Material UI](https://mui.com/), [Mantine](https://mantine.dev/), and [Chakra UI](https://chakra-ui.com/).\n\n## Use cases\n\n**refine** shines on _data-intensive⚡_ applications like **admin panels**, **dashboards** and **internal tools**. Thanks to the built-in **SSR support**, **refine** can also power _customer-facing_ applications like **storefronts**.\n\nYou can take a look at some live examples that can be built using **refine** from scratch:\n\n<a href=\"https://s.refine.dev/readme-admin-panel\" target=\"_blank\">\n <img src=\"https://user-images.githubusercontent.com/18739364/204285956-cc20fa11-b769-4bd5-b8f6-9c05a283ac85.gif\"   style=\"width:267px;\"  />\n</a>\n\n <a href=\"https://s.refine.dev/readme-medium-clone\" target=\"_blank\">\n<img src=\"https://user-images.githubusercontent.com/18739364/204285047-8f24f1f4-65ea-4952-83ed-81e92cdd5b90.gif\"   style=\"width:200px;\"  />\n</a>\n\n <a href=\"https://s.refine.dev/readme-ssr-storefront\" target=\"_blank\">\n<img src=\"https://user-images.githubusercontent.com/18739364/204285039-1ce0cb06-fbf8-4704-89c9-2e004620c9a8.gif\"   style=\"width:200px;\"  />\n</a>\n\n<br/>\n<br/>\n\n[👉 Refer to most popular real use case examples](https://refine.dev/examples/)\n\n[👉 More **refine** powered different usage scenarios can be found here](https://refine.dev/docs/examples/)\n\n## Key Features\n\n⚙️ Zero-config, **one-minute setup** with a **single CLI command**\n\n🔌 Connectors for **15+ backend services** including [REST API](https://github.com/refinedev/refine/tree/master/packages/simple-rest), [GraphQL](https://github.com/refinedev/refine/tree/master/packages/graphql), [NestJs CRUD](https://github.com/refinedev/refine/tree/master/packages/nestjsx-crud), [Airtable](https://github.com/refinedev/refine/tree/master/packages/airtable), [Strapi](https://github.com/refinedev/refine/tree/master/packages/strapi), [Strapi v4](https://github.com/refinedev/refine/tree/master/packages/strapi-v4), [Strapi GraphQL](https://github.com/refinedev/refine/tree/master/packages/strapi-graphql), [Supabase](https://github.com/refinedev/refine/tree/master/packages/supabase), [Hasura](https://github.com/refinedev/refine/tree/master/packages/hasura), [Appwrite](https://github.com/refinedev/refine/tree/master/packages/appwrite), [Firebase](https://firebase.google.com/), and [Directus](https://directus.io/).\n\n🌐 **SSR support** with **Next.js** or **Remix**\n\n🔍 Auto-generated **CRUD** UIs from **your API data structure**\n\n⚛ Perfect **state management** & **mutations** with **React Query**\n\n🔀 **Advanced routing** with any router library of your choice\n\n🔐 Providers for seamless **authentication** and **access control** flows\n\n⚡ Out-of-the-box support for **live / real-time applications**\n\n📄 Easy **audit logs** & **document versioning**\n\n💬 Support for any **i18n** framework\n\n💪 Future-proof, **robust architecture**\n\n⌛️ Built-in CLI with time-saving features\n\n✅ Full **test coverage**\n\n## Quick Start\n\nThe fastest way to get started with **refine** is by using the `create refine-app` project starter tool.\nRun the following command to create a new **refine** project configured with [Ant Design System](https://ant.design/) as the default UI framework:\n\n```\nnpm create refine-app@latest -- --preset refine-antd\n```\n\nOnce the setup is complete, navigate to the project folder and start your project with:\n\n```\nnpm run dev\n```\n\n<br/>\n\nYour **refine** application will be accessible at [http://localhost:3000](http://localhost:3000):\n\n<a href=\"http://localhost:3000\">![Welcome on board](https://refine.ams3.cdn.digitaloceanspaces.com/website/static/img/welcome-on-board.png)</a>\n\n<br/>\n\nLet's consume a public `fake REST API` and add two resources (_posts_, _categories_) to our project. Replace the contents of `src/App.tsx` with the following code:\n\n```tsx title=\"src/App.tsx\"\nimport { Refine } from \"@pankod/refine-core\";\nimport {\n    Layout,\n    ReadyPage,\n    notificationProvider,\n    ErrorComponent,\n} from \"@pankod/refine-antd\";\nimport routerProvider from \"@pankod/refine-react-router-v6\";\nimport dataProvider from \"@pankod/refine-simple-rest\";\n\nimport { AntdInferencer } from \"@pankod/refine-inferencer/antd\";\n\nimport \"@pankod/refine-antd/dist/reset.css\";\n\nconst App: React.FC = () => {\n    return (\n        <Refine\n            routerProvider={routerProvider}\n            dataProvider={dataProvider(\"https://api.fake-rest.refine.dev\")}\n            Layout={Layout}\n            ReadyPage={ReadyPage}\n            notificationProvider={notificationProvider}\n            catchAll={<ErrorComponent />}\n            resources={[\n                {\n                    name: \"posts\",\n                    list: AntdInferencer,\n                    show: AntdInferencer,\n                    create: AntdInferencer,\n                    edit: AntdInferencer,\n                    canDelete: true,\n                },\n                {\n                    name: \"categories\",\n                    list: AntdInferencer,\n                    show: AntdInferencer,\n                },\n            ]}\n        />\n    );\n};\n\nexport default App;\n```\n\n<br/>\n\n🚀 Thanks to **refine Inferencer package**, it guesses the configuration to use for the `list`, `show`, `create`, and `edit` pages based on the data fetched from the API and generates the pages automatically.\n\nNow, you should see the output as a table populated with `post` & `category` data:\n\n![First example result](https://refine.ams3.cdn.digitaloceanspaces.com/website/static/img/readme-quick-start.png)\n\n<br/>\n\nYou can get the auto-generated pages codes by clicking the `Show Code` button on each page. Afterward, simply pass the pages to the `resources` array by replacing with the Inferencer components.\n\n## Next Steps\n\n👉 Jump to [Tutorial](https://refine.dev/docs/tutorial/introduction/index/) to continue your work and turn the example into a full-blown CRUD application.\n\n👉 Visit [Learn the Basics Page](https://refine.dev/docs/getting-started/overview/) to get informed about the fundamental concepts.\n\n👉 Read more on [Advanced Tutorials\n](https://refine.dev/docs/advanced-tutorials/) for different usage scenarios.\n\n👉 See the real-life [Finefoods Demo](https://refine.dev/demo/) project.\n\n👉 Play with interactive [Examples](https://refine.dev/docs/examples/)\n\n## Roadmap\n\nYou can find refine's <a href=\"https://github.com/refinedev/refine/projects/1\">Public Roadmap here!</a>\n\n## Stargazers\n\n[![Stargazers repo roster for refinedev/refine](https://reporoster.com/stars/refinedev/refine)](https://github.com/refinedev/refine/stargazers)\n\n## Contribution\n\n[👉 Refer to contribution docs for more information](https://refine.dev/docs/contributing/#ways-to-contribute)\n\nIf you have any doubts related to the project or want to discuss something, then join our [Discord Server](https://discord.gg/refine).\n\n## Our ♥️ Contributors\n\n<a href=\"https://github.com/refinedev/refine/graphs/contributors\">\n  <img src=\"https://contrib.rocks/image?repo=refinedev/refine\" />\n</a>\n\n## License\n\nLicensed under the MIT License, Copyright © 2021-present Refinedev\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/refinedev/refine/issues"},"homepage":"https://github.com/refinedev/refine#readme","_id":"@pankod/refine-core@3.101.1","_nodeVersion":"16.19.1","_npmVersion":"8.19.3","dist":{"integrity":"sha512-mrmnbY4UQHygixzAAm8lAod6XExl96iRYR100Q681XkbNJESXnkpOZNOmaktu+IsgjXnSPkwXLZPBi1/5pVqwg==","shasum":"5c12721f6c56b9d4ccb301fa8587564bc2c54028","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.101.1.tgz","fileCount":528,"unpackedSize":2246277,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC7XpXCs02Jyi434Kv678BYWsY3v39hwXYHDPFHuhIiYgIhAINqqRKJhDREegkzcDYGVcbJfd7w+UJ/XxPXL2Hn/nL0"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkCzK4ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmrctw/+Oe0nMQaqG4rNlV2y/ddoBBiK6OM2sne+/L/W98wKY9yS70CL\r\nbwCy+z0EptPl8FTkN2eqFU2etQ57jZGDQGoYDA9jmKTHq2kuJIP9hOCDftVB\r\ndVx+FoRhvMCslZWYg6M9J6+gp4t6LEBskL/cBmhk0gBEnmkFPm3tVtxuc6xd\r\nWkK77fut/NWei+uHYF1stbSMJ1InbZu1vHqFwIBuIXBdWSsgYpbw8duXThJH\r\nnSA6/flyOgN36EOwCSD7oHLGnqCmKnB3s1FWwcsYW8hrSRIrZub5jZZhRvno\r\n0gp5bDe7pPLLkvpP43v72aaoO+3R7s/UKi1BoDmJ2iKzCgVTvMtx4dQ9PVE0\r\nwnJa6mN/WGRYQCm81Ktv+wx1PVC9/QyZij+saXbL2cIx+o9TlKgMW+VlhLtU\r\nhWXsigMWTO8A9GVr/cVQsQ97HjqW79cacZWNIJ1fxTtHNj6HLgPjc+IPMM0U\r\nNGAKpv7vMTzTA1cYP58YMnDfA55WjriRD73iweEDkSIoOyAK1Ch4K6El/NcI\r\n4pV6NQjXisqHVR420xxdAP/jGgA7CHIDUttXt0xl4dw1vtzeRdeg5KsuWQBb\r\neG8DMNJ2mMW9pYAlwbg/a5Hmwnt1iErrt+dsXYVO8scRYUZWqGIdhbcZ02Iz\r\nWlSjenFTNYUs/i2rYF7sHl0xArIGMBMrwdw=\r\n=FYRR\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"willico","email":"batuhanwilhelm@gmail.com"},{"name":"alicanerdurmaz","email":"alicanerdurmaz@gmail.com"},{"name":"salihozdmr","email":"salihozdemir94@gmail.com"},{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.101.1_1678455479847_0.8896406765946905"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.101.2":{"name":"@pankod/refine-core","version":"3.101.2","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --format esm,cjs,iife --legacy-output","build":"tsup --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build"},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0","@types/react":"^17.0.0 || ^18.0.0","@types/react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.16.4","@testing-library/react":"^13.1.1","@testing-library/react-hooks":"^8.0.0","@testing-library/user-event":"^14.1.1","@types/jest":"^29.2.4","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^18.0.0","@types/react-dom":"^18.0.0","@types/react-router-dom":"^5.1.8","@types/testing-library__jest-dom":"^5.14.3","identity-obj-proxy":"^3.0.0","jest":"^29.3.1","jest-environment-jsdom":"^29.3.1","react-router-dom":"6.3.0","ts-jest":"^29.0.3","tsup":"^5.11.13","typescript":"^4.7.4"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","lodash-es":"^4.17.21","lodash":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","@tanstack/react-query-devtools":"^4.10.1","@tanstack/react-query":"^4.10.1","tslib":"^2.3.1","warn-once":"^0.1.0"},"repository":{"type":"git","url":"git+https://github.com/refinedev/refine.git","directory":"packages/core"},"author":{"name":"refine"},"license":"MIT","gitHead":"17dd5af3e4c9f7f09e1e707362c6f5a9d1cab8a8","publishConfig":{"access":"public"},"bugs":{"url":"https://github.com/refinedev/refine/issues"},"homepage":"https://github.com/refinedev/refine#readme","_id":"@pankod/refine-core@3.101.2","_nodeVersion":"16.19.1","_npmVersion":"8.19.3","dist":{"integrity":"sha512-U/WH4vGuuoXlfpx7ZDULx6nek5jNeuC0T6l58OffwakftrtzAUX4F0kJeluaMmbuvH/rjZwCBwpfF5FSpV168Q==","shasum":"c57f40d926a171c8a95dfe768ac47234dd33b04a","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.101.2.tgz","fileCount":528,"unpackedSize":2246558,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDkIzeewg3b8fbALyDJrs8NT5eVKC+0NOG/6NxhxFrITAIgS9sDt1Q2gMcOyFhiOGIn/6x8PSRge2bseC95qaAJeXg="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkCzxAACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqHjxAAnJT5VlWIkXtqoKiYGHQiyeTFpkixHfGClUd1+0BbWmMEgLhG\r\nv+Ai6KwDhDAnS76kdzcjoYTawWeZTWFa2wZMc9wePQEIyolTqACwujn75wL4\r\n0L8X+kA36TtgJFm1l/lY66YzR8/xw/Uwh4fiDCleAxhdfepARKImNMwM5H9T\r\nB3Z/sLSvV5++TOplnW9TtMiXqqusk4miEoThxF/eme4+d54SlZtElsnPzTqm\r\nunIJ/a7nVNwBF/5bD9gRyFLy7dUZs5U8h2q+85S2pMy+ZJeYFxe5zSpr3KDk\r\nrnAjGWIrj3Q+oOBgkti5lnVHSeHVEdOhz0ojt6lA4C3ZtitI/NucI7I2Uud1\r\nRpK/Qlaru2708mm2TXoh9BEAcRfc2UNeioJCjkH8nZpGusPv9BjsbUt+J3H9\r\nPzmP2+wtarBh670kuRUKDaaQXtLHCdZ0+m+jtlsZbHLa9W+hPD4b56AtrPqd\r\ndKwpTjuHZ7g5L0arPRc56A0Z918kK/fIYkN9RMH6VW5rxxwoJe8IeosZ4zc1\r\nPwvjY31o7wVx8MU/abSYQ9Sv96GzXNH6ZdTSKp54UTnO2514T3dKrKk0XyWR\r\nSem3F55kYGaAzSgXaxOTdkHXxuB7mEo9mIKquruuOWuAYnmnaOJbfKTwedHv\r\nW/UyYqU3ii4WIxxiTdzEAlEY9ZM+2y0gdBY=\r\n=34GQ\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"willico","email":"batuhanwilhelm@gmail.com"},{"name":"alicanerdurmaz","email":"alicanerdurmaz@gmail.com"},{"name":"salihozdmr","email":"salihozdemir94@gmail.com"},{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.101.2_1678457920241_0.9388053337330569"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.102.0":{"name":"@pankod/refine-core","version":"3.102.0","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --format esm,cjs,iife --legacy-output","build":"tsup --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build","postinstall":"echo \"refine v4 is released 🎉 \nThe new version is 100% backward compatible. You can upgrade to v4 with a single command! \nSee the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x \n\""},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0","@types/react":"^17.0.0 || ^18.0.0","@types/react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.16.4","@testing-library/react":"^13.1.1","@testing-library/react-hooks":"^8.0.0","@testing-library/user-event":"^14.1.1","@types/jest":"^29.2.4","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^18.0.0","@types/react-dom":"^18.0.0","@types/react-router-dom":"^5.1.8","@types/testing-library__jest-dom":"^5.14.3","identity-obj-proxy":"^3.0.0","jest":"^29.3.1","jest-environment-jsdom":"^29.3.1","react-router-dom":"6.3.0","ts-jest":"^29.0.3","tsup":"^5.11.13","typescript":"^4.7.4"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","lodash-es":"^4.17.21","lodash":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","@tanstack/react-query-devtools":"^4.10.1","@tanstack/react-query":"^4.10.1","tslib":"^2.3.1","warn-once":"^0.1.0"},"repository":{"type":"git","url":"git+https://github.com/refinedev/refine.git","directory":"packages/core"},"author":{"name":"refine"},"license":"MIT","gitHead":"17dd5af3e4c9f7f09e1e707362c6f5a9d1cab8a8","publishConfig":{"access":"public"},"readme":"<br/>\n\n<div align=\"center\" style=\"margin: 30px;\">\n<a href=\"https://refine.dev/\">\n  <img src=\"https://refine.ams3.cdn.digitaloceanspaces.com/refine_logo.png\"   style=\"width:250px;\" align=\"center\" />\n</a>\n<br />\n<br />\n\n<div align=\"center\">\n    <a href=\"https://refine.dev\">Home Page</a> |\n    <a href=\"https://discord.gg/refine\">Discord</a> |\n    <a href=\"https://refine.dev/examples/\">Examples</a> | \n    <a href=\"https://refine.dev/blog/\">Blog</a> | \n    <a href=\"https://refine.dev/docs/\">Documentation</a> | \n    <a href=\"https://github.com/refinedev/refine/projects/1\">Roadmap</a>\n</div>\n</div>\n\n<br />\n\n<div align=\"center\"><strong>Build your <a href=\"https://reactjs.org/\">React</a>-based CRUD applications, without constraints.</strong><br>An open source, headless web application framework developed with flexibility in mind.\n\n<br />\n<br />\n\n[![Discord](https://img.shields.io/discord/837692625737613362.svg?label=&logo=discord&logoColor=ffffff&color=7389D8&labelColor=6A7EC2)](https://discord.gg/refine)\n[![Twitter Follow](https://img.shields.io/twitter/follow/refine_dev?style=social)](https://twitter.com/refine_dev)\n\n<a href=\"https://www.producthunt.com/posts/refine-3?utm_source=badge-top-post-badge&utm_medium=badge&utm_souce=badge-refine&#0045;3\" target=\"_blank\"><img src=\"https://api.producthunt.com/widgets/embed-image/v1/top-post-badge.svg?post_id=362220&theme=light&period=daily\" alt=\"refine - 100&#0037;&#0032;open&#0032;source&#0032;React&#0032;framework&#0032;to&#0032;build&#0032;web&#0032;apps&#0032;3x&#0032;faster | Product Hunt\" style=\"width: 250px; height: 54px;\" width=\"250\" height=\"54\" /></a>\n\n</div>\n\n<div align=\"center\">\n\n[![Awesome](https://github.com/refinedev/awesome-refine/raw/main/images/badge.svg)](https://github.com/refinedev/awesome-refine)\n[![Maintainability](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/maintainability)](https://codeclimate.com/github/pankod/refine/maintainability)\n[![Test Coverage](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/test_coverage)](https://codeclimate.com/github/pankod/refine/test_coverage)\n[![npm version](https://img.shields.io/npm/v/@pankod/refine-core.svg)](https://www.npmjs.com/package/@pankod/refine-core)\n[![npm](https://img.shields.io/npm/dm/@pankod/refine-core)](https://www.npmjs.com/package/@pankod/refine-core)\n[![](https://img.shields.io/github/commit-activity/m/refinedev/refine)](https://github.com/refinedev/refine/commits/next)\n[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.0-4baaaa.svg)](CODE_OF_CONDUCT.md)\n\n</div>\n\n<br/>\n<a href=\"https://refine.dev/\">\n<picture>\n  <source media=\"(prefers-color-scheme: dark)\" srcset=\"https://user-images.githubusercontent.com/18739364/200257042-3f2aa7f7-a07f-4824-8d2a-b25f26b6fd32.png\">\n  <img alt=\"how-works-refine\" src=\"https://user-images.githubusercontent.com/18739364/200257209-8fc0c8b1-2568-453e-873f-00513434deed.png\">\n</picture>\n</a>\n\n## What is refine?\n\n**refine** is a React-based framework for the rapid ✨ development of web applications.\nIt eliminates repetitive tasks demanded by **CRUD** operations and provides industry standard solutions for critical parts like **authentication**, **access control**, **routing**, **networking**, **state management**, and **i18n**.\n\n**refine** is _headless by design_, thereby offering unlimited styling and customization options.\n\n## What do you mean by \"headless\" ?\n\nInstead of being a limited set of pre-styled components, **refine** is a collection of helper `hooks`, `components`, and `providers`. They are all decoupled from _UI components_ and _business logic_, so that they never keep you from customizing your _UI_ or coding your own flow.\n\n**refine** seamlessly works with any **custom design** or **UI framework** that you favor. For convenience, it ships with ready-made integrations for [Ant Design System](https://ant.design/), [Material UI](https://mui.com/), [Mantine](https://mantine.dev/), and [Chakra UI](https://chakra-ui.com/).\n\n## Use cases\n\n**refine** shines on _data-intensive⚡_ applications like **admin panels**, **dashboards** and **internal tools**. Thanks to the built-in **SSR support**, **refine** can also power _customer-facing_ applications like **storefronts**.\n\nYou can take a look at some live examples that can be built using **refine** from scratch:\n\n<a href=\"https://s.refine.dev/readme-admin-panel\" target=\"_blank\">\n <img src=\"https://user-images.githubusercontent.com/18739364/204285956-cc20fa11-b769-4bd5-b8f6-9c05a283ac85.gif\"   style=\"width:267px;\"  />\n</a>\n\n <a href=\"https://s.refine.dev/readme-medium-clone\" target=\"_blank\">\n<img src=\"https://user-images.githubusercontent.com/18739364/204285047-8f24f1f4-65ea-4952-83ed-81e92cdd5b90.gif\"   style=\"width:200px;\"  />\n</a>\n\n <a href=\"https://s.refine.dev/readme-ssr-storefront\" target=\"_blank\">\n<img src=\"https://user-images.githubusercontent.com/18739364/204285039-1ce0cb06-fbf8-4704-89c9-2e004620c9a8.gif\"   style=\"width:200px;\"  />\n</a>\n\n<br/>\n<br/>\n\n[👉 Refer to most popular real use case examples](https://refine.dev/examples/)\n\n[👉 More **refine** powered different usage scenarios can be found here](https://refine.dev/docs/examples/)\n\n## Key Features\n\n⚙️ Zero-config, **one-minute setup** with a **single CLI command**\n\n🔌 Connectors for **15+ backend services** including [REST API](https://github.com/refinedev/refine/tree/master/packages/simple-rest), [GraphQL](https://github.com/refinedev/refine/tree/master/packages/graphql), [NestJs CRUD](https://github.com/refinedev/refine/tree/master/packages/nestjsx-crud), [Airtable](https://github.com/refinedev/refine/tree/master/packages/airtable), [Strapi](https://github.com/refinedev/refine/tree/master/packages/strapi), [Strapi v4](https://github.com/refinedev/refine/tree/master/packages/strapi-v4), [Strapi GraphQL](https://github.com/refinedev/refine/tree/master/packages/strapi-graphql), [Supabase](https://github.com/refinedev/refine/tree/master/packages/supabase), [Hasura](https://github.com/refinedev/refine/tree/master/packages/hasura), [Appwrite](https://github.com/refinedev/refine/tree/master/packages/appwrite), [Firebase](https://firebase.google.com/), and [Directus](https://directus.io/).\n\n🌐 **SSR support** with **Next.js** or **Remix**\n\n🔍 Auto-generated **CRUD** UIs from **your API data structure**\n\n⚛ Perfect **state management** & **mutations** with **React Query**\n\n🔀 **Advanced routing** with any router library of your choice\n\n🔐 Providers for seamless **authentication** and **access control** flows\n\n⚡ Out-of-the-box support for **live / real-time applications**\n\n📄 Easy **audit logs** & **document versioning**\n\n💬 Support for any **i18n** framework\n\n💪 Future-proof, **robust architecture**\n\n⌛️ Built-in CLI with time-saving features\n\n✅ Full **test coverage**\n\n## Quick Start\n\nThe fastest way to get started with **refine** is by using the `create refine-app` project starter tool.\nRun the following command to create a new **refine** project configured with [Ant Design System](https://ant.design/) as the default UI framework:\n\n```\nnpm create refine-app@latest -- --preset refine-antd\n```\n\nOnce the setup is complete, navigate to the project folder and start your project with:\n\n```\nnpm run dev\n```\n\n<br/>\n\nYour **refine** application will be accessible at [http://localhost:3000](http://localhost:3000):\n\n<a href=\"http://localhost:3000\">![Welcome on board](https://refine.ams3.cdn.digitaloceanspaces.com/website/static/img/welcome-on-board.png)</a>\n\n<br/>\n\nLet's consume a public `fake REST API` and add two resources (_posts_, _categories_) to our project. Replace the contents of `src/App.tsx` with the following code:\n\n```tsx title=\"src/App.tsx\"\nimport { Refine } from \"@pankod/refine-core\";\nimport {\n    Layout,\n    ReadyPage,\n    notificationProvider,\n    ErrorComponent,\n} from \"@pankod/refine-antd\";\nimport routerProvider from \"@pankod/refine-react-router-v6\";\nimport dataProvider from \"@pankod/refine-simple-rest\";\n\nimport { AntdInferencer } from \"@pankod/refine-inferencer/antd\";\n\nimport \"@pankod/refine-antd/dist/reset.css\";\n\nconst App: React.FC = () => {\n    return (\n        <Refine\n            routerProvider={routerProvider}\n            dataProvider={dataProvider(\"https://api.fake-rest.refine.dev\")}\n            Layout={Layout}\n            ReadyPage={ReadyPage}\n            notificationProvider={notificationProvider}\n            catchAll={<ErrorComponent />}\n            resources={[\n                {\n                    name: \"posts\",\n                    list: AntdInferencer,\n                    show: AntdInferencer,\n                    create: AntdInferencer,\n                    edit: AntdInferencer,\n                    canDelete: true,\n                },\n                {\n                    name: \"categories\",\n                    list: AntdInferencer,\n                    show: AntdInferencer,\n                },\n            ]}\n        />\n    );\n};\n\nexport default App;\n```\n\n<br/>\n\n🚀 Thanks to **refine Inferencer package**, it guesses the configuration to use for the `list`, `show`, `create`, and `edit` pages based on the data fetched from the API and generates the pages automatically.\n\nNow, you should see the output as a table populated with `post` & `category` data:\n\n![First example result](https://refine.ams3.cdn.digitaloceanspaces.com/website/static/img/readme-quick-start.png)\n\n<br/>\n\nYou can get the auto-generated pages codes by clicking the `Show Code` button on each page. Afterward, simply pass the pages to the `resources` array by replacing with the Inferencer components.\n\n## Next Steps\n\n👉 Jump to [Tutorial](https://refine.dev/docs/tutorial/introduction/index/) to continue your work and turn the example into a full-blown CRUD application.\n\n👉 Visit [Learn the Basics Page](https://refine.dev/docs/getting-started/overview/) to get informed about the fundamental concepts.\n\n👉 Read more on [Advanced Tutorials\n](https://refine.dev/docs/advanced-tutorials/) for different usage scenarios.\n\n👉 See the real-life [Finefoods Demo](https://refine.dev/demo/) project.\n\n👉 Play with interactive [Examples](https://refine.dev/docs/examples/)\n\n## Roadmap\n\nYou can find refine's <a href=\"https://github.com/refinedev/refine/projects/1\">Public Roadmap here!</a>\n\n## Stargazers\n\n[![Stargazers repo roster for refinedev/refine](https://reporoster.com/stars/refinedev/refine)](https://github.com/refinedev/refine/stargazers)\n\n## Contribution\n\n[👉 Refer to contribution docs for more information](https://refine.dev/docs/contributing/#ways-to-contribute)\n\nIf you have any doubts related to the project or want to discuss something, then join our [Discord Server](https://discord.gg/refine).\n\n## Our ♥️ Contributors\n\n<a href=\"https://github.com/refinedev/refine/graphs/contributors\">\n  <img src=\"https://contrib.rocks/image?repo=refinedev/refine\" />\n</a>\n\n## License\n\nLicensed under the MIT License, Copyright © 2021-present Refinedev\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/refinedev/refine/issues"},"homepage":"https://github.com/refinedev/refine#readme","_id":"@pankod/refine-core@3.102.0","_nodeVersion":"16.19.1","_npmVersion":"8.19.3","dist":{"integrity":"sha512-2Fv5iBFs1qKihfatmAL4UFcGOH/ENkRXdOkR1NhdyuhYaMLl6kX7AUGV5boMNMaRx2tpm5xHQvKieJLlMtk9wA==","shasum":"64ae4a96e81f3c05af60ac00892867868c7a6b9b","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.102.0.tgz","fileCount":528,"unpackedSize":2247294,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDTkRCgSFcjRxSbrqork2k+21fGVz3vyxfA2WvxPIZ4CgIhAJ9JqUegqIvW1ZTn1fvTJgomGYsh5q8ria3OW/zeRocs"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkDzIzACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpWNQ/8CLrFwGGQ4Fmcbsb6vhfDp5zpbsBBHhEyJR9C/yDS86YPgjo6\r\nurLIes4Cpvb3wPM2vBQD0DPDLkMjCNwm4KeEJS/lj/X9+4v6w6QtqVjErjqK\r\nurBRxYdlHeCiu0YbSkAeWcI1uEWkRysvZNOOtkaFBMhnwXXpjIdyU1N996Cc\r\nerARkUiMEtJcLifaZ/eKeNK4XTSmveJj/Ahtl085pqqaLyyHEfpf9usobdmX\r\n0loUT9P5Ka66FYc5EVp5E1aqjUwdoVveNQBQNsPhfsef4bFf6yRoW9pUVEOH\r\n7rndUnIJf2+Q12n0dXWnT9ydAkPFrxPftIudEbURyZA/SqwoSD9HVAplzOqD\r\n979Y3aGSoaU/JG73qmTxL2bzCwsGCsaMi2szLz+lNzgUdFc2mbLL4xPnlhAa\r\neUJdhtQbCWVJUXa4wTRNVssz5lBJj5x9QIBP2MIzjKNP5PTdwzx6IwlMo9Wp\r\n4qo5ealUh2+h6bJNghxUI9717ymOjJ/0jAssm2FOaXCkgKOEwsLFh5KKZ32s\r\nmKH3nVrv0u3H98hbRggoC6RuE1xkqJHSTLPzc7TIlp/Jr3DvWgV/kzHFehzP\r\nEvFZ1dRGolsdJ7sulxPJOV9/AavCWg5Iqo31+xCPqmtSqNh29dv6FIhQAymf\r\nfGSxpIXlf3bFWkykgL1q/ulh+2bH2Z7QfNU=\r\n=H5aJ\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"willico","email":"batuhanwilhelm@gmail.com"},{"name":"alicanerdurmaz","email":"alicanerdurmaz@gmail.com"},{"name":"salihozdmr","email":"salihozdemir94@gmail.com"},{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.102.0_1678717491416_0.4148480693949608"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"},"3.103.0":{"name":"@pankod/refine-core","version":"3.103.0","description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","private":false,"main":"dist/index.js","module":"dist/esm/index.js","typings":"dist/index.d.ts","scripts":{"start":"tsup --watch --format esm,cjs,iife --legacy-output","build":"tsup --format esm,cjs,iife --minify --legacy-output","test":"jest --passWithNoTests --runInBand","prepare":"npm run build","postinstall":"echo \"refine v4 is released 🎉 \nThe new version is 100% backward compatible. You can upgrade to v4 with a single command! \nSee the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x \n\""},"peerDependencies":{"react":"^17.0.0 || ^18.0.0","react-dom":"^17.0.0 || ^18.0.0","@types/react":"^17.0.0 || ^18.0.0","@types/react-dom":"^17.0.0 || ^18.0.0"},"devDependencies":{"@esbuild-plugins/node-resolve":"^0.1.4","@testing-library/jest-dom":"^5.16.4","@testing-library/react":"^13.1.1","@testing-library/react-hooks":"^8.0.0","@testing-library/user-event":"^14.1.1","@types/jest":"^29.2.4","@types/lodash":"^4.14.171","@types/papaparse":"^5.2.5","@types/pluralize":"^0.0.29","@types/qs":"^6.9.7","@types/react":"^18.0.0","@types/react-dom":"^18.0.0","@types/react-router-dom":"^5.1.8","@types/testing-library__jest-dom":"^5.14.3","identity-obj-proxy":"^3.0.0","jest":"^29.3.1","jest-environment-jsdom":"^29.3.1","react-router-dom":"6.3.0","ts-jest":"^29.0.3","tsup":"^5.11.13","typescript":"^4.7.4"},"dependencies":{"export-to-csv-fix-source-map":"^0.2.1","lodash-es":"^4.17.21","lodash":"^4.17.21","papaparse":"^5.3.0","pluralize":"^8.0.0","qs":"^6.10.1","@tanstack/react-query-devtools":"^4.10.1","@tanstack/react-query":"^4.10.1","tslib":"^2.3.1","warn-once":"^0.1.0"},"repository":{"type":"git","url":"git+https://github.com/refinedev/refine.git","directory":"packages/core"},"author":{"name":"refine"},"license":"MIT","gitHead":"17dd5af3e4c9f7f09e1e707362c6f5a9d1cab8a8","publishConfig":{"access":"public"},"bugs":{"url":"https://github.com/refinedev/refine/issues"},"homepage":"https://github.com/refinedev/refine#readme","_id":"@pankod/refine-core@3.103.0","_nodeVersion":"16.19.1","_npmVersion":"8.19.3","dist":{"integrity":"sha512-c6FLiV83m4HDdEohvS+6R5IYWkqrl9GvpR32heq6k9DUNR3OlwO76RUwECn4ngQFKxzNfiu2NxdeRH7mB6XHvw==","shasum":"c996dc4c15084c011c4308de88836444c04112f1","tarball":"https://registry.npmjs.org/@pankod/refine-core/-/refine-core-3.103.0.tgz","fileCount":528,"unpackedSize":2247792,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDBX+LlKehBaMHILhgxD2CZ8AsPvlVhYnYr/fYxWNPy+AiEAwXbbrF0sn/JuEbSXeHqny1mFB6hA8LsqLL4jJZxOSI0="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkEB2vACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmog4xAAoMrclvUK1ytPDGRU+X1PUOZUSSae+Freed5IW5/5G+gR5H/x\r\nRWBxGMfcRLQAntoIxfU0hoi6MK81XvxXf4px6vdkPP/EQAQFKDs6vl5DKwnC\r\nsZpiJ7Vi/gsrKgMqqUDt3FefZ0KTnLvvkxskewpSUO/lkrevYFuBOdAZcNv1\r\ngLBOUqw4sjRjn75/3lk25x8vp/CqRQV02F1hg6HbFpIzSx1aPUFXfC76U6T4\r\nTHN0KbmB9FVeN/ubRWzmfW3+R5KR6rGpXLNrq6y0oMPOzyPtsa2CvkzUIEu0\r\ndKfCTGiH2esLSoQTNVng+xLasVjPbeUiL8BZSMng7Nt6J03miov9/3TfOEk1\r\n7lkcpmDsNzQjx+m4zrlgmBi/jRAHNWwp+eUgilAdXevw+dHhO3iBrVzZHpLd\r\njlpSwE7UvKJEO2wLkQxHUcoE4olqC6cvHpnPJUT6N5hsNt9HfLYc8AOifPu7\r\nraA98DUxlEVLhNgk+55gFejRyZfrfxW+J6SbTJueycj0k/qMOkRyaDd+WgBR\r\nqCRRKUOnBsxBHr3eUPbIALGghu6SU1krhbGJ0qM5I+He5gX5/82IxnWnhiiY\r\nJ+Ighccx/8a61KNrMyGmfhhGUf+P3jcjRG8jd4XvgQ/v7W+GZoQfF+Fe5yD+\r\njOL2adkZ+dV4XeD9XO9oJeDjetnrpqeXHeY=\r\n=5W0W\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"omerfarukaplak","email":"omer@pankod.com"},"directories":{},"maintainers":[{"name":"willico","email":"batuhanwilhelm@gmail.com"},{"name":"alicanerdurmaz","email":"alicanerdurmaz@gmail.com"},{"name":"salihozdmr","email":"salihozdemir94@gmail.com"},{"name":"omerfarukaplak","email":"omer@pankod.com"},{"name":"pankodbot","email":"bot@pankod.com"},{"name":"yildirayyunlu","email":"yildirayyunlu@gmail.com"},{"name":"aliemirsen","email":"senaliemir@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/refine-core_3.103.0_1678777775413_0.4194177412001363"},"_hasShrinkwrap":false,"deprecated":"refine v4 is released 🎉 The new version is 100% backward compatible. You can upgrade to v4 with a single command! See the migration guide here: https://refine.dev/docs/migration-guide/3x-to-4x"}},"time":{"created":"2022-01-17T11:51:51.522Z","3.0.0":"2022-01-17T11:51:51.756Z","modified":"2023-11-02T07:54:23.299Z","3.0.1":"2022-01-18T13:04:50.522Z","3.0.2":"2022-01-21T07:33:35.912Z","3.0.3":"2022-01-25T11:37:54.157Z","3.0.4":"2022-02-02T09:00:38.165Z","3.0.5":"2022-02-03T08:55:08.426Z","3.0.10":"2022-02-09T07:52:02.706Z","3.1.0":"2022-02-09T12:23:14.546Z","3.1.1":"2022-02-11T11:44:22.524Z","3.1.2":"2022-02-14T06:03:47.102Z","3.1.4":"2022-02-14T12:26:03.194Z","3.1.6":"2022-02-14T14:24:00.961Z","3.1.9":"2022-02-16T09:23:22.467Z","3.2.0":"2022-02-16T15:21:11.608Z","3.2.2":"2022-02-18T19:06:03.390Z","3.2.4":"2022-02-22T07:41:23.359Z","3.3.1":"2022-02-23T08:19:20.867Z","3.3.3":"2022-02-28T09:06:37.224Z","3.4.0":"2022-02-28T15:39:06.246Z","3.4.1":"2022-03-01T09:25:46.856Z","3.4.2":"2022-03-01T10:48:26.059Z","3.4.3":"2022-03-03T13:25:27.307Z","3.4.4":"2022-03-03T13:57:32.366Z","3.5.0":"2022-03-03T15:24:42.196Z","3.5.1":"2022-03-07T15:00:33.368Z","3.6.0":"2022-03-08T14:40:03.132Z","3.6.1":"2022-03-10T06:02:56.235Z","3.6.2":"2022-03-10T08:12:56.224Z","3.6.3":"2022-03-10T08:44:44.442Z","3.6.4":"2022-03-11T09:19:52.770Z","3.6.5":"2022-03-11T11:22:45.669Z","3.6.7":"2022-03-14T08:45:20.194Z","3.7.0":"2022-03-15T05:55:39.124Z","3.7.1":"2022-03-16T05:58:29.321Z","3.8.0":"2022-03-16T07:13:54.640Z","3.8.1":"2022-03-16T13:43:49.209Z","3.8.3":"2022-03-18T10:32:46.358Z","3.8.4":"2022-03-22T08:39:35.466Z","3.9.0":"2022-03-31T07:45:54.161Z","3.10.1":"2022-04-05T10:35:14.733Z","3.11.0":"2022-04-07T11:46:07.724Z","3.12.0":"2022-04-08T10:35:16.735Z","3.12.1":"2022-04-08T13:35:38.340Z","3.12.3":"2022-04-14T09:38:10.271Z","3.14.0":"2022-04-15T14:26:22.327Z","3.14.1":"2022-04-18T08:29:28.998Z","3.14.2":"2022-04-20T06:57:08.804Z","3.15.0":"2022-04-21T09:41:36.144Z","3.15.1":"2022-04-21T11:19:03.114Z","3.15.2":"2022-04-22T10:47:17.855Z","3.16.0":"2022-04-22T12:28:49.858Z","3.16.2":"2022-04-26T12:40:43.195Z","3.16.4":"2022-05-09T09:49:25.567Z","3.18.0":"2022-05-11T08:55:35.338Z","3.18.2":"2022-05-12T11:19:52.710Z","3.19.0":"2022-05-12T13:00:03.067Z","3.20.0":"2022-05-13T09:31:18.009Z","3.20.1":"2022-05-17T12:42:01.012Z","3.21.0":"2022-05-24T06:09:22.749Z","3.22.0":"2022-05-24T06:59:33.485Z","3.22.1":"2022-05-26T05:42:33.851Z","3.23.0":"2022-05-31T15:10:00.882Z","3.23.1":"2022-06-01T15:27:15.236Z","3.23.2":"2022-06-02T11:05:12.785Z","3.24.0-next.7":"2022-06-07T15:14:41.485Z","3.24.0-next.8":"2022-06-07T15:43:58.551Z","3.24.0-next.9":"2022-06-07T17:19:48.281Z","3.24.0-next.10":"2022-06-08T06:40:35.336Z","3.24.0-next.12":"2022-06-08T08:01:44.655Z","3.24.0-next.14":"2022-06-08T13:38:01.060Z","3.24.1-next.0":"2022-06-08T14:26:15.379Z","3.25.0":"2022-06-09T06:06:51.643Z","3.26.0":"2022-06-09T12:02:09.214Z","3.29.0":"2022-06-10T07:24:37.231Z","3.29.1":"2022-06-17T10:42:15.041Z","3.29.2":"2022-06-17T11:21:07.807Z","3.30.0":"2022-06-20T13:34:36.177Z","3.31.0":"2022-06-20T15:53:56.773Z","3.32.0":"2022-06-20T16:42:15.632Z","3.33.0":"2022-06-23T07:43:48.939Z","3.34.0":"2022-06-23T08:28:49.254Z","3.34.1":"2022-06-28T10:37:52.628Z","3.34.2":"2022-06-28T12:58:32.313Z","3.35.0":"2022-06-30T06:51:12.349Z","3.36.0":"2022-06-30T08:45:35.484Z","3.37.0":"2022-07-06T11:07:22.258Z","3.38.0":"2022-07-06T12:03:20.264Z","3.38.1":"2022-07-07T08:56:39.206Z","3.38.2":"2022-07-07T11:31:26.557Z","3.39.0":"2022-07-13T09:51:36.739Z","3.40.0":"2022-07-13T10:34:16.531Z","3.41.0":"2022-07-19T12:07:53.562Z","3.41.1":"2022-07-19T13:57:21.780Z","3.42.0":"2022-07-19T14:09:05.106Z","3.43.0":"2022-07-21T09:08:14.857Z","3.43.1":"2022-07-21T10:40:49.950Z","3.44.0":"2022-07-21T12:05:40.388Z","3.45.0":"2022-07-22T08:07:36.788Z","3.46.0":"2022-07-22T12:19:28.511Z","3.47.0":"2022-07-26T13:21:13.675Z","3.48.0":"2022-07-26T13:47:02.633Z","3.49.0":"2022-07-27T09:31:47.710Z","3.50.0":"2022-07-27T11:10:33.476Z","3.51.0":"2022-07-28T07:18:51.176Z","3.52.0":"2022-07-28T08:36:57.547Z","3.53.0":"2022-07-29T05:54:53.522Z","3.54.0":"2022-07-29T10:00:24.155Z","3.55.0":"2022-08-01T06:01:51.886Z","3.56.0":"2022-08-01T07:52:49.291Z","3.56.1":"2022-08-04T12:10:46.641Z","3.56.2":"2022-08-04T13:00:49.036Z","3.56.3":"2022-08-04T15:10:32.759Z","3.56.4":"2022-08-04T15:34:37.168Z","3.56.5":"2022-08-05T12:03:56.227Z","3.56.6":"2022-08-08T06:12:52.964Z","3.56.8":"2022-08-08T06:59:32.953Z","3.56.9":"2022-08-08T14:01:23.017Z","3.56.10":"2022-08-08T15:35:27.360Z","3.56.11":"2022-08-09T12:30:59.837Z","3.57.0":"2022-08-10T16:16:08.143Z","3.58.0":"2022-08-11T18:40:46.138Z","3.58.1":"2022-08-12T13:56:38.449Z","3.58.2":"2022-08-19T19:42:15.085Z","3.58.3":"2022-08-19T19:43:35.476Z","3.58.5":"2022-08-24T13:50:17.360Z","3.59.0":"2022-08-26T12:09:51.064Z","3.60.0":"2022-08-26T12:27:18.151Z","3.62.0":"2022-08-26T14:29:16.224Z","3.61.1":"2022-08-29T12:22:04.145Z","3.62.1":"2022-08-29T14:06:45.333Z","3.63.0":"2022-08-31T14:26:24.167Z","3.64.0":"2022-08-31T14:44:21.824Z","3.64.1":"2022-09-01T13:21:32.819Z","3.64.2":"2022-09-02T09:48:36.973Z","3.65.0":"2022-09-02T10:44:09.967Z","3.65.1":"2022-09-05T11:00:27.793Z","3.65.2":"2022-09-05T12:29:02.389Z","3.65.3":"2022-09-05T12:45:48.986Z","3.66.0":"2022-09-06T13:21:30.320Z","3.66.1":"2022-09-06T16:52:38.849Z","3.67.0":"2022-09-07T08:28:33.973Z","3.68.0":"2022-09-08T11:17:30.744Z","3.69.0":"2022-09-08T12:05:59.600Z","3.69.1":"2022-09-09T08:06:33.610Z","3.69.2":"2022-09-09T08:46:53.134Z","3.69.3":"2022-09-09T15:32:31.305Z","3.69.4":"2022-09-09T15:47:43.759Z","3.69.5":"2022-09-12T07:38:47.166Z","3.69.6":"2022-09-12T08:09:43.448Z","3.69.7":"2022-09-13T15:34:32.310Z","3.69.8":"2022-09-14T12:44:31.022Z","3.69.9":"2022-09-14T14:07:59.340Z","3.70.0":"2022-09-20T16:13:17.281Z","3.71.0":"2022-09-21T06:44:56.403Z","3.71.1":"2022-09-22T09:12:42.192Z","3.71.2":"2022-09-22T10:14:32.804Z","3.72.0":"2022-09-22T13:24:23.583Z","3.72.1":"2022-09-22T14:54:30.384Z","3.73.0":"2022-09-22T16:23:12.161Z","3.74.0":"2022-09-22T17:14:21.310Z","3.74.1":"2022-09-28T07:11:22.730Z","3.74.2":"2022-09-28T09:04:50.053Z","3.74.3":"2022-09-29T15:25:28.574Z","3.74.4":"2022-09-29T15:54:50.316Z","3.74.5":"2022-09-30T13:59:02.215Z","3.74.6":"2022-09-30T14:14:56.907Z","3.74.7":"2022-10-04T07:21:54.921Z","3.74.8":"2022-10-04T07:47:03.349Z","3.75.0":"2022-10-06T13:25:21.342Z","3.75.1":"2022-10-07T11:01:05.530Z","3.76.0":"2022-10-07T11:45:53.232Z","3.77.0":"2022-10-07T13:51:56.819Z","3.78.0":"2022-10-07T14:28:08.435Z","3.79.0":"2022-10-11T09:05:47.659Z","3.80.0":"2022-10-11T09:35:38.815Z","3.81.0":"2022-10-11T10:54:50.339Z","3.82.0":"2022-10-11T11:24:43.791Z","3.83.0":"2022-10-12T09:31:59.379Z","3.84.0":"2022-10-12T10:07:48.746Z","3.85.0":"2022-10-17T11:52:44.513Z","3.86.0":"2022-10-17T12:22:47.587Z","3.86.1":"2022-10-19T20:15:18.989Z","3.86.2":"2022-10-20T08:08:53.481Z","3.87.0":"2022-10-25T13:13:07.946Z","3.88.0":"2022-10-25T14:57:59.564Z","3.88.1":"2022-11-03T10:49:09.655Z","3.88.2":"2022-11-03T16:00:52.761Z","3.88.3":"2022-11-09T10:17:47.988Z","3.88.4":"2022-11-09T10:40:12.531Z","3.89.0":"2022-11-22T11:42:33.297Z","3.90.0":"2022-11-22T12:15:37.494Z","3.90.1":"2022-11-28T12:12:27.523Z","3.90.2":"2022-11-28T12:34:46.014Z","3.90.4":"2022-11-30T09:39:32.979Z","3.90.5":"2022-12-14T10:34:14.453Z","3.90.6":"2022-12-14T11:55:47.211Z","3.91.0":"2023-01-02T15:24:19.334Z","3.92.0":"2023-01-02T16:24:07.762Z","3.93.0":"2023-01-03T12:48:07.719Z","3.94.0":"2023-01-03T13:13:55.051Z","3.94.1":"2023-01-09T09:06:13.892Z","3.94.2":"2023-01-09T09:26:42.405Z","3.95.0":"2023-01-16T17:00:32.443Z","3.95.1":"2023-01-17T09:26:51.553Z","3.95.2":"2023-01-19T09:41:43.422Z","3.95.3":"2023-01-19T10:44:59.255Z","3.96.0":"2023-01-23T12:52:01.846Z","3.97.0":"2023-01-23T13:26:52.268Z","3.98.0":"2023-01-24T06:51:40.144Z","3.99.0":"2023-01-24T07:40:55.847Z","3.99.1":"2023-01-24T14:09:57.633Z","3.99.2":"2023-01-24T14:43:22.376Z","3.99.3":"2023-02-07T11:34:25.483Z","3.99.4":"2023-02-07T12:00:53.851Z","3.99.5":"2023-03-02T06:42:51.230Z","3.99.6":"2023-03-02T10:39:04.520Z","3.100.0":"2023-03-06T14:34:37.274Z","3.101.0":"2023-03-07T12:59:34.611Z","3.101.1":"2023-03-10T13:38:00.052Z","3.101.2":"2023-03-10T14:18:40.527Z","3.102.0":"2023-03-13T14:24:51.676Z","3.103.0":"2023-03-14T07:09:35.668Z"},"maintainers":[{"email":"batuhanwilhelm@gmail.com","name":"willico"},{"email":"alicanerdurmaz@gmail.com","name":"alicanerdurmaz"},{"email":"omer@pankod.com","name":"omerfarukaplak"},{"email":"bot@pankod.com","name":"pankodbot"},{"email":"senaliemir@gmail.com","name":"aliemirsen"}],"description":"refine is a React-based framework for building internal tools, rapidly. It ships with Ant Design System, an enterprise-level UI toolkit.","author":{"name":"refine"},"license":"MIT","readme":"<br/>\n\n<div align=\"center\" style=\"margin: 30px;\">\n<a href=\"https://refine.dev/\">\n  <img src=\"https://refine.ams3.cdn.digitaloceanspaces.com/refine_logo.png\"   style=\"width:250px;\" align=\"center\" />\n</a>\n<br />\n<br />\n\n<div align=\"center\">\n    <a href=\"https://refine.dev\">Home Page</a> |\n    <a href=\"https://discord.gg/refine\">Discord</a> |\n    <a href=\"https://refine.dev/examples/\">Examples</a> | \n    <a href=\"https://refine.dev/blog/\">Blog</a> | \n    <a href=\"https://refine.dev/docs/\">Documentation</a> | \n    <a href=\"https://github.com/refinedev/refine/projects/1\">Roadmap</a>\n</div>\n</div>\n\n<br />\n\n<div align=\"center\"><strong>Build your <a href=\"https://reactjs.org/\">React</a>-based CRUD applications, without constraints.</strong><br>An open source, headless web application framework developed with flexibility in mind.\n\n<br />\n<br />\n\n[![Discord](https://img.shields.io/discord/837692625737613362.svg?label=&logo=discord&logoColor=ffffff&color=7389D8&labelColor=6A7EC2)](https://discord.gg/refine)\n[![Twitter Follow](https://img.shields.io/twitter/follow/refine_dev?style=social)](https://twitter.com/refine_dev)\n\n<a href=\"https://www.producthunt.com/posts/refine-3?utm_source=badge-top-post-badge&utm_medium=badge&utm_souce=badge-refine&#0045;3\" target=\"_blank\"><img src=\"https://api.producthunt.com/widgets/embed-image/v1/top-post-badge.svg?post_id=362220&theme=light&period=daily\" alt=\"refine - 100&#0037;&#0032;open&#0032;source&#0032;React&#0032;framework&#0032;to&#0032;build&#0032;web&#0032;apps&#0032;3x&#0032;faster | Product Hunt\" style=\"width: 250px; height: 54px;\" width=\"250\" height=\"54\" /></a>\n\n</div>\n\n<div align=\"center\">\n\n[![Awesome](https://github.com/refinedev/awesome-refine/raw/main/images/badge.svg)](https://github.com/refinedev/awesome-refine)\n[![Maintainability](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/maintainability)](https://codeclimate.com/github/pankod/refine/maintainability)\n[![Test Coverage](https://api.codeclimate.com/v1/badges/99a65a191bdd26f4601c/test_coverage)](https://codeclimate.com/github/pankod/refine/test_coverage)\n[![npm version](https://img.shields.io/npm/v/@pankod/refine-core.svg)](https://www.npmjs.com/package/@pankod/refine-core)\n[![npm](https://img.shields.io/npm/dm/@pankod/refine-core)](https://www.npmjs.com/package/@pankod/refine-core)\n[![](https://img.shields.io/github/commit-activity/m/refinedev/refine)](https://github.com/refinedev/refine/commits/next)\n[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.0-4baaaa.svg)](CODE_OF_CONDUCT.md)\n\n</div>\n\n<br/>\n<a href=\"https://refine.dev/\">\n<picture>\n  <source media=\"(prefers-color-scheme: dark)\" srcset=\"https://user-images.githubusercontent.com/18739364/200257042-3f2aa7f7-a07f-4824-8d2a-b25f26b6fd32.png\">\n  <img alt=\"how-works-refine\" src=\"https://user-images.githubusercontent.com/18739364/200257209-8fc0c8b1-2568-453e-873f-00513434deed.png\">\n</picture>\n</a>\n\n## What is refine?\n\n**refine** is a React-based framework for the rapid ✨ development of web applications.\nIt eliminates repetitive tasks demanded by **CRUD** operations and provides industry standard solutions for critical parts like **authentication**, **access control**, **routing**, **networking**, **state management**, and **i18n**.\n\n**refine** is _headless by design_, thereby offering unlimited styling and customization options.\n\n## What do you mean by \"headless\" ?\n\nInstead of being a limited set of pre-styled components, **refine** is a collection of helper `hooks`, `components`, and `providers`. They are all decoupled from _UI components_ and _business logic_, so that they never keep you from customizing your _UI_ or coding your own flow.\n\n**refine** seamlessly works with any **custom design** or **UI framework** that you favor. For convenience, it ships with ready-made integrations for [Ant Design System](https://ant.design/), [Material UI](https://mui.com/), [Mantine](https://mantine.dev/), and [Chakra UI](https://chakra-ui.com/).\n\n## Use cases\n\n**refine** shines on _data-intensive⚡_ applications like **admin panels**, **dashboards** and **internal tools**. Thanks to the built-in **SSR support**, **refine** can also power _customer-facing_ applications like **storefronts**.\n\nYou can take a look at some live examples that can be built using **refine** from scratch:\n\n<a href=\"https://s.refine.dev/readme-admin-panel\" target=\"_blank\">\n <img src=\"https://user-images.githubusercontent.com/18739364/204285956-cc20fa11-b769-4bd5-b8f6-9c05a283ac85.gif\"   style=\"width:267px;\"  />\n</a>\n\n <a href=\"https://s.refine.dev/readme-medium-clone\" target=\"_blank\">\n<img src=\"https://user-images.githubusercontent.com/18739364/204285047-8f24f1f4-65ea-4952-83ed-81e92cdd5b90.gif\"   style=\"width:200px;\"  />\n</a>\n\n <a href=\"https://s.refine.dev/readme-ssr-storefront\" target=\"_blank\">\n<img src=\"https://user-images.githubusercontent.com/18739364/204285039-1ce0cb06-fbf8-4704-89c9-2e004620c9a8.gif\"   style=\"width:200px;\"  />\n</a>\n\n<br/>\n<br/>\n\n[👉 Refer to most popular real use case examples](https://refine.dev/examples/)\n\n[👉 More **refine** powered different usage scenarios can be found here](https://refine.dev/docs/examples/)\n\n## Key Features\n\n⚙️ Zero-config, **one-minute setup** with a **single CLI command**\n\n🔌 Connectors for **15+ backend services** including [REST API](https://github.com/refinedev/refine/tree/master/packages/simple-rest), [GraphQL](https://github.com/refinedev/refine/tree/master/packages/graphql), [NestJs CRUD](https://github.com/refinedev/refine/tree/master/packages/nestjsx-crud), [Airtable](https://github.com/refinedev/refine/tree/master/packages/airtable), [Strapi](https://github.com/refinedev/refine/tree/master/packages/strapi), [Strapi v4](https://github.com/refinedev/refine/tree/master/packages/strapi-v4), [Strapi GraphQL](https://github.com/refinedev/refine/tree/master/packages/strapi-graphql), [Supabase](https://github.com/refinedev/refine/tree/master/packages/supabase), [Hasura](https://github.com/refinedev/refine/tree/master/packages/hasura), [Appwrite](https://github.com/refinedev/refine/tree/master/packages/appwrite), [Firebase](https://firebase.google.com/), and [Directus](https://directus.io/).\n\n🌐 **SSR support** with **Next.js** or **Remix**\n\n🔍 Auto-generated **CRUD** UIs from **your API data structure**\n\n⚛ Perfect **state management** & **mutations** with **React Query**\n\n🔀 **Advanced routing** with any router library of your choice\n\n🔐 Providers for seamless **authentication** and **access control** flows\n\n⚡ Out-of-the-box support for **live / real-time applications**\n\n📄 Easy **audit logs** & **document versioning**\n\n💬 Support for any **i18n** framework\n\n💪 Future-proof, **robust architecture**\n\n⌛️ Built-in CLI with time-saving features\n\n✅ Full **test coverage**\n\n## Quick Start\n\nThe fastest way to get started with **refine** is by using the `create refine-app` project starter tool.\nRun the following command to create a new **refine** project configured with [Ant Design System](https://ant.design/) as the default UI framework:\n\n```\nnpm create refine-app@latest -- --preset refine-antd\n```\n\nOnce the setup is complete, navigate to the project folder and start your project with:\n\n```\nnpm run dev\n```\n\n<br/>\n\nYour **refine** application will be accessible at [http://localhost:3000](http://localhost:3000):\n\n<a href=\"http://localhost:3000\">![Welcome on board](https://refine.ams3.cdn.digitaloceanspaces.com/website/static/img/welcome-on-board.png)</a>\n\n<br/>\n\nLet's consume a public `fake REST API` and add two resources (_posts_, _categories_) to our project. Replace the contents of `src/App.tsx` with the following code:\n\n```tsx title=\"src/App.tsx\"\nimport { Refine } from \"@pankod/refine-core\";\nimport {\n    Layout,\n    ReadyPage,\n    notificationProvider,\n    ErrorComponent,\n} from \"@pankod/refine-antd\";\nimport routerProvider from \"@pankod/refine-react-router-v6\";\nimport dataProvider from \"@pankod/refine-simple-rest\";\n\nimport { AntdInferencer } from \"@pankod/refine-inferencer/antd\";\n\nimport \"@pankod/refine-antd/dist/reset.css\";\n\nconst App: React.FC = () => {\n    return (\n        <Refine\n            routerProvider={routerProvider}\n            dataProvider={dataProvider(\"https://api.fake-rest.refine.dev\")}\n            Layout={Layout}\n            ReadyPage={ReadyPage}\n            notificationProvider={notificationProvider}\n            catchAll={<ErrorComponent />}\n            resources={[\n                {\n                    name: \"posts\",\n                    list: AntdInferencer,\n                    show: AntdInferencer,\n                    create: AntdInferencer,\n                    edit: AntdInferencer,\n                    canDelete: true,\n                },\n                {\n                    name: \"categories\",\n                    list: AntdInferencer,\n                    show: AntdInferencer,\n                },\n            ]}\n        />\n    );\n};\n\nexport default App;\n```\n\n<br/>\n\n🚀 Thanks to **refine Inferencer package**, it guesses the configuration to use for the `list`, `show`, `create`, and `edit` pages based on the data fetched from the API and generates the pages automatically.\n\nNow, you should see the output as a table populated with `post` & `category` data:\n\n![First example result](https://refine.ams3.cdn.digitaloceanspaces.com/website/static/img/readme-quick-start.png)\n\n<br/>\n\nYou can get the auto-generated pages codes by clicking the `Show Code` button on each page. Afterward, simply pass the pages to the `resources` array by replacing with the Inferencer components.\n\n## Next Steps\n\n👉 Jump to [Tutorial](https://refine.dev/docs/tutorial/introduction/index/) to continue your work and turn the example into a full-blown CRUD application.\n\n👉 Visit [Learn the Basics Page](https://refine.dev/docs/getting-started/overview/) to get informed about the fundamental concepts.\n\n👉 Read more on [Advanced Tutorials\n](https://refine.dev/docs/advanced-tutorials/) for different usage scenarios.\n\n👉 See the real-life [Finefoods Demo](https://refine.dev/demo/) project.\n\n👉 Play with interactive [Examples](https://refine.dev/docs/examples/)\n\n## Roadmap\n\nYou can find refine's <a href=\"https://github.com/refinedev/refine/projects/1\">Public Roadmap here!</a>\n\n## Stargazers\n\n[![Stargazers repo roster for refinedev/refine](https://reporoster.com/stars/refinedev/refine)](https://github.com/refinedev/refine/stargazers)\n\n## Contribution\n\n[👉 Refer to contribution docs for more information](https://refine.dev/docs/contributing/#ways-to-contribute)\n\nIf you have any doubts related to the project or want to discuss something, then join our [Discord Server](https://discord.gg/refine).\n\n## Our ♥️ Contributors\n\n<a href=\"https://github.com/refinedev/refine/graphs/contributors\">\n  <img src=\"https://contrib.rocks/image?repo=refinedev/refine\" />\n</a>\n\n## License\n\nLicensed under the MIT License, Copyright © 2021-present Refinedev\n","readmeFilename":"README.md","homepage":"https://github.com/refinedev/refine#readme","repository":{"type":"git","url":"git+https://github.com/refinedev/refine.git","directory":"packages/core"},"bugs":{"url":"https://github.com/refinedev/refine/issues"}}