{"_id":"@alkimia/framework","_rev":"5-60c1ae6402c67996b3e12ba2ce1d7aad","name":"@alkimia/framework","dist-tags":{"latest":"0.1.4"},"versions":{"0.1.0":{"name":"@alkimia/framework","version":"0.1.0","author":{"name":"InterSides"},"license":"ISC","_id":"@alkimia/framework@0.1.0","maintainers":[{"name":"intersides","email":"intersides@icloud.com"}],"homepage":"https://github.com/intersides/alkimia-framework#readme","bugs":{"url":"https://github.com/intersides/alkimia-framework/issues"},"bin":{"alkimia":"cli.js"},"dist":{"shasum":"7930e45e69d58469703f9030d1a563d698903fbc","tarball":"https://registry.npmjs.org/@alkimia/framework/-/framework-0.1.0.tgz","fileCount":1046,"integrity":"sha512-fvufafkv/9Epz4+bkny8vMdqMCMZNyP0i7I12RFacOg2G5Jcl34Q2yY30DmHxX0/BeCDg48B+8IrZgS6sMszAQ==","signatures":[{"sig":"MEUCICiqKUPerbPFFBwvA/c2MSJb47cJPE9vQAxU9/+WeoqHAiEAsZaIBNysqqvg8vDNSyBvt4XrNbc+WRfy2ND46ckAr3g=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":9353320},"main":"src/createComponent.js","type":"module","gitHead":"4f3186a18590716f223af5501b041d7225a88748","scripts":{"cli":"node cli.js --srcDir=apptest --env=test --withPlayground=true","test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"intersides","email":"intersides@icloud.com"},"repository":{"url":"git+ssh://git@github.com/intersides/alkimia-framework.git","type":"git"},"_npmVersion":"10.2.3","description":"Alkimia framework to build JavaScript modules ","directories":{},"_nodeVersion":"18.19.0","dependencies":{"prompts":"^2.4.2","@alkimia/lib":"^1.0.2","js-better-fs":"^1.0.0","node-localstorage":"^3.0.5"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^5.1.2","sass":"^1.74.1","vite":"^6.0.2","mocha":"^10.8.2","eslint":"^9.16.0","@stylistic/eslint-plugin-js":"^2.11.0"},"_npmOperationalInternal":{"tmp":"tmp/framework_0.1.0_1734203005977_0.35600096614775323","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@alkimia/framework","version":"0.1.1","author":{"name":"InterSides"},"license":"ISC","_id":"@alkimia/framework@0.1.1","maintainers":[{"name":"intersides","email":"intersides@icloud.com"}],"homepage":"https://github.com/intersides/alkimia-framework#readme","bugs":{"url":"https://github.com/intersides/alkimia-framework/issues"},"bin":{"alkimia":"cli.js"},"dist":{"shasum":"5777b56f5280058f5523c902e12153ecd95665dc","tarball":"https://registry.npmjs.org/@alkimia/framework/-/framework-0.1.1.tgz","fileCount":31,"integrity":"sha512-taF6Wvy37TBzO9rvIx9DO1DobX5riCJKAjtfccJh7TS5CM6pxOpVIF4ZfjwtbeM7uU7Y2Rg28V7jJ+qH4eL3Vw==","signatures":[{"sig":"MEUCIQCODbnsjqqJtxdMYjlreGd60TOlvcxEWdjxyeM5Gr4tJgIgL9hDQhZzXgkhtjFFumjmNG/grzjTL8UcUcbikAp1OSQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":73867},"main":"src/createComponent.js","type":"module","gitHead":"99205d746e5d4f59b630ba59e1390a8a21a959ca","scripts":{"cli":"node cli.js --srcDir=apptest --env=test --withPlayground=true","test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"intersides","email":"intersides@icloud.com"},"repository":{"url":"git+ssh://git@github.com/intersides/alkimia-framework.git","type":"git"},"_npmVersion":"10.9.2","description":"Alkimia framework to build JavaScript modules ","directories":{},"_nodeVersion":"22.14.0","dependencies":{"prompts":"^2.4.2","@alkimia/lib":"^1.0.2","js-better-fs":"^1.0.0","node-localstorage":"^3.0.5"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^5.1.2","sass":"^1.74.1","vite":"7.1.11","mocha":"^10.8.2","eslint":"^9.16.0","@stylistic/eslint-plugin-js":"^2.11.0"},"_npmOperationalInternal":{"tmp":"tmp/framework_0.1.1_1766609019965_0.85621175084312","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@alkimia/framework","version":"0.1.2","author":{"name":"InterSides"},"license":"ISC","_id":"@alkimia/framework@0.1.2","maintainers":[{"name":"intersides","email":"intersides@icloud.com"}],"homepage":"https://github.com/intersides/alkimia-framework#readme","bugs":{"url":"https://github.com/intersides/alkimia-framework/issues"},"bin":{"alkimia":"cli.js"},"dist":{"shasum":"8409fc11f16dd2979b77a2dcd19ad725889d1044","tarball":"https://registry.npmjs.org/@alkimia/framework/-/framework-0.1.2.tgz","fileCount":31,"integrity":"sha512-/COF5oslK/+sIMFbb4ku4sU+TP3L21qOQMMdovzpqTAILen5NEdeT3djF3ZloQosXN4ujnrTM47KIutvhW+OSg==","signatures":[{"sig":"MEQCIHPEL83lCIN8SVN9GZ0KYZ574mWAc5cgYvaOPvpAnqlQAiASy8eInQucSHuFvbnkKaxsfGIzxppD1CpYwjH6S7Zm7w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":73867},"main":"src/createComponent.js","type":"module","gitHead":"74eaf0ef2d17eb34ae0d97559980c88bcdaa2426","scripts":{"cli":"node cli.js --srcDir=apptest --env=test --withPlayground=true","test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"intersides","email":"intersides@icloud.com"},"repository":{"url":"git+ssh://git@github.com/intersides/alkimia-framework.git","type":"git"},"_npmVersion":"10.9.2","description":"Alkimia framework to build JavaScript modules ","directories":{},"_nodeVersion":"22.14.0","dependencies":{"prompts":"^2.4.2","@alkimia/lib":"^1.0.2","js-better-fs":"^1.0.0","node-localstorage":"^3.0.5"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^5.1.2","sass":"^1.74.1","vite":"7.1.11","mocha":"^10.8.2","eslint":"^9.16.0","@stylistic/eslint-plugin-js":"^2.11.0"},"_npmOperationalInternal":{"tmp":"tmp/framework_0.1.2_1766609319747_0.49464960491809395","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@alkimia/framework","version":"0.1.3","author":{"name":"InterSides"},"license":"ISC","_id":"@alkimia/framework@0.1.3","maintainers":[{"name":"intersides","email":"intersides@icloud.com"}],"homepage":"https://github.com/intersides/alkimia-framework#readme","bugs":{"url":"https://github.com/intersides/alkimia-framework/issues"},"bin":{"alkimia":"cli.js"},"dist":{"shasum":"c30af5549982f3072829b599b06df8339e64b19d","tarball":"https://registry.npmjs.org/@alkimia/framework/-/framework-0.1.3.tgz","fileCount":32,"integrity":"sha512-WSH+z0YJ4SiKV+H1u1VzS8sNRzBTovXiAuKnWEM94+YC7Qq9rR/MwsQ39Auh/kj5IXBIM6U6HW80umqXn1ovow==","signatures":[{"sig":"MEYCIQDTkRwdgT27J2qBMe5pjtgyDSjiXCEabEaW0GfflM0ahAIhAItVOsEX3iQ7YtDFX04ZQDibeywbbYNDFhurDwxTaLFM","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":73790},"main":"src/createComponent.js","type":"module","gitHead":"fb544f31afada068f9e2e170e2474bf9d9bf845d","scripts":{"cli":"node cli.js --srcDir=apptest --env=test --withPlayground=true","test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"intersides","email":"intersides@icloud.com"},"repository":{"url":"git+ssh://git@github.com/intersides/alkimia-framework.git","type":"git"},"_npmVersion":"10.9.2","description":"Alkimia framework to build JavaScript modules ","directories":{},"_nodeVersion":"22.14.0","dependencies":{"prompts":"^2.4.2","@alkimia/lib":"^1.0.2","js-better-fs":"^1.0.0","node-localstorage":"^3.0.5"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^5.1.2","sass":"^1.74.1","vite":"7.1.11","mocha":"^10.8.2","eslint":"^9.16.0","@stylistic/eslint-plugin-js":"^2.11.0"},"_npmOperationalInternal":{"tmp":"tmp/framework_0.1.3_1766610557132_0.1274233815185788","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"@alkimia/framework","version":"0.1.4","description":"Alkimia framework to build JavaScript modules ","main":"src/createComponent.js","type":"module","bin":{"alkimia":"cli.js"},"repository":{"type":"git","url":"git+ssh://git@github.com/intersides/alkimia-framework.git"},"scripts":{"test":"echo \"Error: no test specified\" && exit 1","cli":"node cli.js --srcDir=apptest --env=test --withPlayground=true"},"author":{"name":"InterSides"},"license":"ISC","dependencies":{"@alkimia/lib":"^1.0.2","js-better-fs":"^1.0.0","node-localstorage":"^3.0.5","prompts":"^2.4.2"},"devDependencies":{"@stylistic/eslint-plugin-js":"^2.11.0","chai":"^5.1.2","eslint":"^9.16.0","mocha":"^10.8.2","sass":"^1.74.1","vite":"7.1.11"},"_id":"@alkimia/framework@0.1.4","gitHead":"78be31ff1583536a634c8579c0ac85cbe677c315","bugs":{"url":"https://github.com/intersides/alkimia-framework/issues"},"homepage":"https://github.com/intersides/alkimia-framework#readme","_nodeVersion":"22.14.0","_npmVersion":"10.9.2","dist":{"integrity":"sha512-BtGQUBEETSp/JM/0OeVtEUuMuf/1bCiTjxtBxr2rl9+L7THL5tna4TpD+2xdCdaudtWOeEKzobE+x/oWSfZrbw==","shasum":"a6b1b82553a78593acf8c0e25f84eae6bbd6b2d2","tarball":"https://registry.npmjs.org/@alkimia/framework/-/framework-0.1.4.tgz","fileCount":37,"unpackedSize":75798,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIB0RI4ki+17jfh6FvQS3dKnVwzHRG2QAU+7S+wOhN6pJAiB1JiuVteChba2guTpZR3DKEk/vt5uADAdvKulmHdflWw=="}]},"_npmUser":{"name":"intersides","email":"intersides@icloud.com"},"directories":{},"maintainers":[{"name":"intersides","email":"intersides@icloud.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/framework_0.1.4_1766777613101_0.4710303197544694"},"_hasShrinkwrap":false}},"time":{"created":"2024-12-14T19:03:25.843Z","modified":"2025-12-26T19:33:33.527Z","0.1.0":"2024-12-14T19:03:26.386Z","0.1.1":"2025-12-24T20:43:40.102Z","0.1.2":"2025-12-24T20:48:39.897Z","0.1.3":"2025-12-24T21:09:17.273Z","0.1.4":"2025-12-26T19:33:33.295Z"},"bugs":{"url":"https://github.com/intersides/alkimia-framework/issues"},"author":{"name":"InterSides"},"license":"ISC","homepage":"https://github.com/intersides/alkimia-framework#readme","repository":{"type":"git","url":"git+ssh://git@github.com/intersides/alkimia-framework.git"},"description":"Alkimia framework to build JavaScript modules ","maintainers":[{"name":"intersides","email":"intersides@icloud.com"}],"readme":"\n# Alkimia Framework\n\n## Overview\n\nThe Alkimia Framework (version 0.1.2) is a JavaScript framework that strives to minimize abstraction, encouraging developers to work directly with JavaScript and the HTML DOM. Unlike frameworks such as React, Alkimia emphasizes simplicity and direct manipulation of the DOM, making it easier to build dynamic web applications without the overhead of heavy abstractions. It includes a CLI tool to scaffold components interactively.\n\n### Key Principles\n\n- **Direct JavaScript Usage**: By advocating the closest usage of JavaScript, Alkimia minimizes syntactic sugar, such as classical object creation. This approach enhances transparency and simplicity in code.\n- **Function Factory Approach**: The CLI generates modules that use the function factory pattern to expose public methods while keeping properties and methods private.\n- **Singleton and Instance Constructors**: Each module provides both a singleton and an instance constructor, offering flexibility in managing unique and multiple instances as needed.\n- **Encouraged Verbosity**: To further reduce abstractions, the framework encourages verbosity. This ensures that the code remains clear and understandable, even for complex applications.\n- **View Module Creation**: The CLI offers the option to create modules that require a view. In such cases, HTML and SCSS placeholder files are added automatically. Additionally, a playground folder is included in each module, providing an introduction to the component's usage, including data binding.\n\n## Features\n\n- **Component Creation**: Easily generate new components with predefined structures.\n- **State Management**: Utilize built-in state management utilities.\n- **Resource Management**: Import and manage various resources with ease.\n- **View Module Creation**: Create modules that require a view, including automatic generation of HTML and SCSS placeholder files and a playground folder for component usage and data binding.\n\n## Directory Structure\n\n```\n@alkimia/framework/\n├── cli.js                    # CLI entry point\n├── index.js                  # Main exports\n├── src/\n│   ├── createComponent.js    # Component generator logic\n│   ├── modulesMaker.js       # Module templates\n│   ├── makeResourcesImportable.js  # Resource bundling\n│   └── vite.config.js        # Build config\n├── components/               # Example generated components\n│   └── LoginWith2fa/\n├── sample/                   # Sample projects\n├── package.json\n├── eslint.config.mjs\n└── README.md\n```\n\n## Installation\n\nTo install the Alkimia Framework, you need to have Node.js and npm installed on your machine. Then, run the following command:\n\n```bash\nnpm install -g @alkimia/framework\n```\n\n## Usage\n\nThe Alkimia Framework includes a CLI tool for scaffolding components. After installation, run the CLI interactively:\n\n```bash\nalkimia\n```\n\nYou'll be prompted for:\n- Directory (e.g., `src`)\n- Component name\n- Options (e.g., include DOM, playground, states sample)\n\nThis generates a new component module in the specified directory with optional HTML, SCSS, and playground files.\n\nFor more details on state management or resource importing, see the generated component examples in the `components/` directory or the @alkimia/lib documentation.\n\n## Contributing\n\nIf you wish to contribute to the Alkimia Framework CLI, please follow the guidelines below:\n\n1. Fork the repository.\n2. Create a new branch for your feature or bug fix.\n3. Make your changes and commit them with descriptive messages.\n4. Push your changes to your fork.\n5. Create a pull request.\n\n## Authors\n\n- [InterSides (Marco Falsitta)](https://github.com/intersides) - *Initial work*\n\n## License\n\nThis project is licensed under the ISC License - see the [LICENSE](LICENSE) file for details.\n\n","readmeFilename":"README.md"}