{"id":25089949,"url":"https://github.com/linmoqc/memory-materials","last_synced_at":"2026-02-12T14:32:22.715Z","repository":{"id":275533546,"uuid":"926355315","full_name":"LinMoQC/Memory-Materials","owner":"LinMoQC","description":"Memory LowCodeEditor Materials","archived":false,"fork":false,"pushed_at":"2025-02-05T07:04:58.000Z","size":260,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-11-19T08:24:59.434Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/LinMoQC.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-02-03T05:10:42.000Z","updated_at":"2025-02-05T07:04:34.000Z","dependencies_parsed_at":"2025-04-01T17:46:52.499Z","dependency_job_id":"2924b051-ecc5-4354-9d79-da96084cc747","html_url":"https://github.com/LinMoQC/Memory-Materials","commit_stats":null,"previous_names":["linmoqc/memory-materials"],"tags_count":5,"template":false,"template_full_name":null,"purl":"pkg:github/LinMoQC/Memory-Materials","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LinMoQC%2FMemory-Materials","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LinMoQC%2FMemory-Materials/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LinMoQC%2FMemory-Materials/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LinMoQC%2FMemory-Materials/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/LinMoQC","download_url":"https://codeload.github.com/LinMoQC/Memory-Materials/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LinMoQC%2FMemory-Materials/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29368689,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-12T08:51:36.827Z","status":"ssl_error","status_checked_at":"2026-02-12T08:51:26.849Z","response_time":55,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-02-07T11:29:53.060Z","updated_at":"2026-02-12T14:32:22.695Z","avatar_url":"https://github.com/LinMoQC.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Memory Materials\n\n[中文](./README.zh-CN.md)\n\n## 🌟 Introduction\nMemory Materials is the **material library** for **Memory LowCodeEditor**. This template provides a minimal setup to enable React to work with Vite, including HMR (Hot Module Replacement) and some ESLint rules.\n   \n## ✨ Usage Documentation\n```javascript\nnpm i @cusmoedge/lowcode-materials\n```\n\n## 🚀 Development Documentation\n### Install Memory CLI\n``` javascript\nnpm i @cusmoedge/memory-cli -g\n```\n\n### Generate Material Template\n``` javascript\nmemory create [materialName]\n```\n\n### Material Types\n``` javascript\n// Material types\ntype MaterialType = 'unit' | 'area' | 'special'\n\n// unit ---- Unit-level materials, such as Button, Input\n// area ---- Area-level materials, such as Page, Container\n// special ---- Special materials, such as FormItem, which can only be used inside a Form\n```\n\n### Material Configuration\n``` typescript\n// A material will generate both dev and prod configurations for the editing and preview environments\nMaterialConfig = {\n    name: \"test\",  // Component name\n    defaultProps: {},  // Default properties, can be configured as needed\n    setter: [],  // Setters, can be added if needed\n    desc: \"test component description\",  // Description of the component, displayed in the material library\n    stylesSetter: [],  // Style setters, can be added if needed\n    dev: {},  // Development environment configuration, can be added as needed\n    prod: {},  // Production environment configuration, can be added as needed\n    events: [],  // Events, specific event objects can be added\n    methods: []  // Methods, specific component methods can be added\n}\n```\n\n### Register Materials\n```typescript\n// src/materials/index.ts\nMaterialConfigs: {\n        Container: ContainerConfig,\n        Button: ButtonConfig,\n        Page: PageConfig,\n        Modal: ModalConfig,\n        Table: TableConfig,\n        TableColumn: TableColumnConfig,\n        Form: FormConfig,\n        FormItem: FormItemConfig,\n        new: newConfig\n    }\n```\n\n## 📦 Rollup Multi-Entry Build Configuration - Memory Materials\n\nThis configuration is for multi-entry bundling of the Memory Materials library. It supports UMD and ESM output formats. It also handles TypeScript, CSS, images, and generates TypeScript declaration files.\n\n### Key Features\n\n1. **Multi-Entry Bundling**： \n   - Recursively scan the `./src/materials` directory to collect all potential entry files (e.g., `index.tsx`, `index.ts`, `index.js`).\n   - Exclude specified directories (e.g., `business`).\n\n2. **Output Formats:**：\n   - **UMD**：A universal format for both browser and Node.js environments.\n   - **ESM**：A format for modern browsers and build tools.\n\n3. **Common Configuration**：\n   - Use the **TypeScript** plugin to transpile `.tsx` and `.ts` files.\n   - Use the **PostCSS** plugin to handle Sass and auto-prefixing.\n   - Use the **Babel** plugin to ensure compatibility with older browsers (e.g., IE11).\n   - Use the **Image** plugin to handle image imports.\n\n4. **TypeScript Declaration Files**：\n   - Generate `.d.ts` files for TypeScript users.\n\n5. **Clean Build Directory:**：\n   - Automatically delete the `dist` directory before starting the build to ensure a clean output.\n\n6. **Build Completion Log**：\n   - Track the completion of all bundling tasks and print a success message when all tasks are finished.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flinmoqc%2Fmemory-materials","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flinmoqc%2Fmemory-materials","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flinmoqc%2Fmemory-materials/lists"}