{"_id":"i-app-create","_rev":"5-1fce82049347e97077bc53279141bd92","name":"i-app-create","dist-tags":{"latest":"1.2.5"},"versions":{"1.1.7":{"name":"i-app-create","version":"1.1.7","keywords":["i-app-server","i-app-ui"],"author":{"name":"Mohamed Mammdouh - MWN Software"},"license":"MIT","_id":"i-app-create@1.1.7","maintainers":[{"name":"i-app","email":"i.app.org.info@gmail.com"}],"homepage":"https://github.com/MohamedMamdouhMorsi/i-app#readme","bugs":{"url":"https://github.com/MohamedMamdouhMorsi/i-app/issues"},"bin":{"i-app-create":"bin/cli.js"},"dist":{"shasum":"84b72a3b6523b5ebe7d644c9a378cd83d05076f5","tarball":"https://registry.npmjs.org/i-app-create/-/i-app-create-1.1.7.tgz","fileCount":169,"integrity":"sha512-txs7eg2ejQtjCNRR8kjB84G2FmRICxLwBQ8SsacdTcZh86mf3E5yAQxRQBKwYFqFghxh5GpQGpr7iqh0k9sn2A==","signatures":[{"sig":"MEUCIBwuMjD7K40pEmWZErsL6zRHgkOsUUvgQviDlJ60cxfoAiEA743pXozRhJIy91LmEwjBeJK9QxcQUnGuFTFq9xVN5f4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1317845},"main":"i-app-server.js","gitHead":"a061c58b232b3554f42ce706493236e1a3bb2a19","scripts":{"test":"i-app"},"_npmUser":{"name":"i-app","email":"i.app.org.info@gmail.com"},"repository":{"url":"git+https://github.com/MohamedMamdouhMorsi/i-app.git","type":"git"},"_npmVersion":"8.11.0","description":"i-app nodejs","directories":{},"_nodeVersion":"16.16.0","dependencies":{"mysql":"^2.18.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/i-app-create_1.1.7_1695456092046_0.9156685777083007","host":"s3://npm-registry-packages"}},"1.1.8":{"name":"i-app-create","version":"1.1.8","keywords":["i-app-server","i-app-ui","nodejs","standalone"],"author":{"name":"Mohamed Mammdouh - MWN Software"},"license":"MIT","_id":"i-app-create@1.1.8","maintainers":[{"name":"i-app","email":"i.app.org.info@gmail.com"}],"homepage":"https://github.com/MohamedMamdouhMorsi/i-app#readme","bugs":{"url":"https://github.com/MohamedMamdouhMorsi/i-app/issues"},"bin":{"i-app-create":"bin/cli.js"},"dist":{"shasum":"f1d21bc1823e32a6df31a185e1d8a669027fa18c","tarball":"https://registry.npmjs.org/i-app-create/-/i-app-create-1.1.8.tgz","fileCount":171,"integrity":"sha512-RdC7X9r0/ZKvW2Sfycwl6N7zXMPUAkplAWdBATSJ4lHGsGCGPVhrw00GdK+Qwv4zi3UAeQfdWkh2pHLpJf9WPA==","signatures":[{"sig":"MEYCIQD+TCBtzyCMdHhS8FZYR2WQaB3wY9w+3xXXPVDXhroF9QIhAKzE0uJjTdCExeQLFz+viOojWDdx82OGGRRUjNKOpmTP","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1336548},"main":"i-app-server.js","gitHead":"6c2aff685d5cea2f65665913e8814593495f7233","scripts":{"test":"echo \"Error: no test specified\" && exit 1","start":"node i-app.js"},"_npmUser":{"name":"i-app","email":"i.app.org.info@gmail.com"},"repository":{"url":"git+https://github.com/MohamedMamdouhMorsi/i-app.git","type":"git"},"_npmVersion":"8.11.0","description":"i-app-create new-app > full power nodejs project","directories":{},"_nodeVersion":"16.16.0","dependencies":{"mysql":"^2.18.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/i-app-create_1.1.8_1695521287138_0.3561068532060292","host":"s3://npm-registry-packages"}},"1.1.9":{"name":"i-app-create","version":"1.1.9","keywords":["i-app-server","i-app-ui","nodejs","standalone"],"author":{"name":"Mohamed Mammdouh - MWN Software"},"license":"MIT","_id":"i-app-create@1.1.9","maintainers":[{"name":"i-app","email":"i.app.org.info@gmail.com"}],"homepage":"https://github.com/MohamedMamdouhMorsi/i-app#readme","bugs":{"url":"https://github.com/MohamedMamdouhMorsi/i-app/issues"},"bin":{"i-app-v":"bin/v.js","i-app-dev":"bin/dev.js","i-app-create":"bin/cli.js"},"dist":{"shasum":"bc09bab88a7cd4e767b3e9db2e2c98ffcb6a02e4","tarball":"https://registry.npmjs.org/i-app-create/-/i-app-create-1.1.9.tgz","fileCount":178,"integrity":"sha512-uHlc6gcPKMBxc4ST5CVIWWDnwWxULi8p3mgcYxu9t8FvjHkwCzrV9HS1Azw2USUxYEXjNdqspgPeB20ngTBuCw==","signatures":[{"sig":"MEQCIBtKgOsvilwzQeb1B5oJ24oIQixav14HViLb2Mx7qz7CAiBxxvgUVyR5w/kGHNJv2BlkzvmegAxrH5W0fH/Wwvc23Q==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1351813},"main":"i-app-server.js","gitHead":"b9e5967f50c0bf48f6f9e2332eea9784b46e13a8","scripts":{"test":"echo \"Error: no test specified\" && exit 1","start":"node i-app.js"},"_npmUser":{"name":"i-app","email":"i.app.org.info@gmail.com"},"repository":{"url":"git+https://github.com/MohamedMamdouhMorsi/i-app.git","type":"git"},"_npmVersion":"8.11.0","description":"i-app-create new-app > full power nodejs project","directories":{},"_nodeVersion":"16.16.0","dependencies":{"mysql":"^2.18.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/i-app-create_1.1.9_1705266510941_0.8824781133676998","host":"s3://npm-registry-packages"}},"1.2.2":{"name":"i-app-create","version":"1.2.2","keywords":["i-app-server","i-app-ui","nodejs","standalone"],"author":{"name":"Mohamed Mammdouh - MWN Software"},"license":"MIT","_id":"i-app-create@1.2.2","maintainers":[{"name":"i-app","email":"i.app.org.info@gmail.com"}],"homepage":"https://github.com/MohamedMamdouhMorsi/i-app#readme","bugs":{"url":"https://github.com/MohamedMamdouhMorsi/i-app/issues"},"bin":{"i-app-v":"bin/v.js","i-app-dev":"bin/dev.js","i-app-create":"bin/cli.js"},"dist":{"shasum":"7e9416a88be69aa6a2f02fee3fe2224c3d5ffd1e","tarball":"https://registry.npmjs.org/i-app-create/-/i-app-create-1.2.2.tgz","fileCount":229,"integrity":"sha512-lSpl5B+vSCnUYfnMQp26pzEnsV3PIKNddZTBqwJ6sbivkoLPH8XKYgCTOUH+SOtT/WuXlum5QoY9TSb1lnqGfw==","signatures":[{"sig":"MEUCICfTwDeXp4pcCYn9IADHToGrfIH6HsaljSkLt5+CsO+8AiEAjj3n2Br85jAVd6dEm8gxHmhBZGNByf2/Dv6/oteYPfk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":5749801},"main":"i-app-server.js","gitHead":"75f3ec7ee922be49f0e53997b411bbb6ffc5c01f","scripts":{"test":"echo \"Error: no test specified\" && exit 1","start":"node i-app.js"},"_npmUser":{"name":"i-app","email":"i.app.org.info@gmail.com"},"repository":{"url":"git+https://github.com/MohamedMamdouhMorsi/i-app.git","type":"git"},"_npmVersion":"10.5.0","description":"i-app-create new-app > full power nodejs project","directories":{},"_nodeVersion":"21.7.1","dependencies":{"mysql":"^2.18.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/i-app-create_1.2.2_1717811486904_0.8099606597951403","host":"s3://npm-registry-packages"}},"1.2.5":{"name":"i-app-create","version":"1.2.5","description":"i-app-create new-app > full power nodejs project","main":"i-app-server.js","bin":{"i-app-create":"bin/cli.js","i-app-v":"bin/v.js","i-app-dev":"bin/dev.js"},"scripts":{"start":"node i-app.js","test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"git+https://github.com/MohamedMamdouhMorsi/i-app.git"},"author":{"name":"Mohamed Mammdouh - MWN Software"},"license":"MIT","keywords":["i-app-server","i-app-ui","nodejs","standalone"],"bugs":{"url":"https://github.com/MohamedMamdouhMorsi/i-app/issues"},"homepage":"https://github.com/MohamedMamdouhMorsi/i-app#readme","dependencies":{"mysql":"^2.18.1"},"_id":"i-app-create@1.2.5","gitHead":"d4b12a6c94cec4f430caf293094adab9756ca2ee","_nodeVersion":"21.7.1","_npmVersion":"10.5.0","dist":{"integrity":"sha512-bimlGYmKMVcbYaibthi6Fr7tv0LUp8Cm6hf6zZgE9P3N5I0CzyCkB1W3dVohhRpN2dciSjSLNc96N8hVwWiZiQ==","shasum":"e9c8f4e2959b2778f26774daeed5a6fdd176e034","tarball":"https://registry.npmjs.org/i-app-create/-/i-app-create-1.2.5.tgz","fileCount":238,"unpackedSize":6274806,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIC3T5CigM1vCLYCjLAqSWM11LfwqpOz+tyEzdCoQ+aHqAiBnKUbu0kiULN9NWaAig5me8282EmjymO7m6Rrc0lYqjA=="}]},"_npmUser":{"name":"i-app","email":"i.app.org.info@gmail.com"},"directories":{},"maintainers":[{"name":"i-app","email":"i.app.org.info@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/i-app-create_1.2.5_1743124719720_0.5912988618922956"},"_hasShrinkwrap":false}},"time":{"created":"2023-09-23T08:01:32.045Z","modified":"2025-03-28T01:18:40.088Z","1.1.7":"2023-09-23T08:01:32.595Z","1.1.8":"2023-09-24T02:08:07.369Z","1.1.9":"2024-01-14T21:08:31.100Z","1.2.2":"2024-06-08T01:51:27.208Z","1.2.5":"2025-03-28T01:18:39.920Z"},"bugs":{"url":"https://github.com/MohamedMamdouhMorsi/i-app/issues"},"author":{"name":"Mohamed Mammdouh - MWN Software"},"license":"MIT","homepage":"https://github.com/MohamedMamdouhMorsi/i-app#readme","keywords":["i-app-server","i-app-ui","nodejs","standalone"],"repository":{"type":"git","url":"git+https://github.com/MohamedMamdouhMorsi/i-app.git"},"description":"i-app-create new-app > full power nodejs project","maintainers":[{"name":"i-app","email":"i.app.org.info@gmail.com"}],"readme":"# i-app \r\n>nodejs\r\n\r\n## i-app is a full-stack language designed to simplify the development of web applications. It is built with pure JavaScript and can be easily integrated into your project. i-app supports multiple technologies, including JavaScript, Node.js, PHP, and Python.\r\n\r\n[![Discord Chat](https://img.shields.io/badge/chat-discord-blue.svg)](https://discord.gg/N5Z7Z8NF)\r\n\r\n[![Contribute](https://img.shields.io/badge/help-contribute-551A8B.svg)](https://github.com/MWN-S/i-app)\r\n\r\n[<img src='https://i-app.org/img/i-app.gif' width='128'/>](https://i-app.org)\r\n\r\n\r\n\r\n## Welcome To  i-app Revolution .\r\n### Build the Future  Build the Next Big Thing\r\ni-app is a revolutionary new full-stack open-source programming language that aims to help developers improve their productivity by providing them with a working environment and a library of tools to build front-end and back-end applications.\r\n\r\n\r\n\r\n# Installation\r\n\r\nTo install i-app, simply run:\r\n``` bash\r\n\r\nnpm install -g i-app-create\r\n\r\n```\r\n# Quick Start\r\n\r\n## i-app  CLI  \r\n The i-app CLI (Command Line Interface) is a powerful tool designed to streamline the application development process for developers. It simplifies the setup and configuration of i-app projects by creating a comprehensive copy of the necessary files and folders required for any project utilizing the i-app framework. This automation significantly reduces the initial setup time and effort, allowing developers to focus more on the actual development of their web applications. By providing a standardized and organized project structure, the i-app CLI empowers developers to quickly start building front-end and back-end applications with ease, ultimately enhancing productivity and efficiency in the development process. \r\n## Start easy\r\n> go to your workspace\r\nand open your command \r\nNow just run >\r\n\r\n``` bash\r\n\r\n> i-app-create <your-app-name>\r\n\r\n```\r\ni-app will create your Project folder \r\nand will install needed dependencies \r\nNow you are ready\r\nEnter your project directory and start coding\r\n``` bash\r\n\r\n> cd <your-app-name>\r\n\r\n> npm start\r\n\r\n```\r\n\r\n# Happy Coding :)\r\n## or\r\n# Simply add i-app to your project\r\n\r\nif you didn't install -g\r\n\r\n> go to your workspace\r\nand open your command \r\nNow just run >\r\n\r\n``` bash\r\n\r\nnpm i @i-app/i-app\r\n\r\n```\r\n\r\n\r\n# configuration\r\n> ## Easy and Fast use .app\r\n\r\nyou must be sure is your public folder have i.app file\r\nits basic configer to your app with i-app \r\n\r\n``` javascript\r\n{   \r\n    i_app:true\r\n    id: '1'\r\n    name:'i-app'\r\n    title:'i-app'\r\n    short_name:'i-app'\r\n    description: 'New i-app'\r\n    keywords:'i-app webapp'\r\n    version:'0.0.1'\r\n    te:'website'\r\n    domain:'localhost'\r\n    port: 5000 \r\n    lang:[ 'ar' 'en']\r\n    pwa: true \r\n    users: true \r\n    mode: 'dev' \r\n        dir: { \r\n            src: '/src/' \r\n            start: 'home.app' \r\n            icon: '/img/icon/' \r\n            db: '/db/' \r\n            s: '/s/' \r\n            script: '/js/' \r\n            css: '/css/' \r\n            img: '/img/' \r\n            style: '/css/style.json' \r\n            colors: '/css/colors.json'\r\n        }\r\n}\r\n\r\n```\r\n\r\n# Usage\r\n\r\nTo use i-app in your project, simply import it:\r\n\r\n``` javascript\r\nconst iApp = require('i-app');\r\niApp.start();\r\n\r\n```\r\n## Learn .app file structure\r\nThe structure of the file is similar to a Jison file or a JavaScript object. You can use ',' commas or not as you like. You can also use comments of all known tes.\r\n\r\n# Examples \r\n\r\n``` javascript\r\n{\r\n    /* No cote ',' or ';'  */ \r\n    /*you can easy integrate and render any component app by I:'filename' anther keys will inject the  a new copy from your component , you can pass any information insted the i: key and some anther private key   \r\n    */\r\n    I:'menu'\r\n    /** i: its element key its like id in html but its not\r\n     *  render atterbute for security you can also use \r\n     *  id: insted for\r\n     *  public use in DOM \r\n     * */\r\n    i:'app'\r\n    /**\r\n     * or you can use normal id atterbute for public call\r\n    */\r\n   id:'app'\r\n\r\n    /**t: or t if you dont write te key t it will back \r\n    * as default as layout and layout in web version = </div> \r\n    * return or choose t:( tx=</p> | ti=</h1> or use html\r\n    *  tag  a | p | b | img etc..) \r\n    * */\r\n    t:'div'\r\n    /**\r\n     * v: key\r\n     * shared data virable changed synctacly with objects\r\n     * you can use from and where you want at the app\r\n     * \r\n    */\r\n    v:{\r\n        data:{\r\n            key:value\r\n        }\r\n        id:1\r\n        state:false\r\n        /**/\r\n    }\r\n     /*\r\n     c:\r\n     bassic css class\r\n     iapp.min.css\r\n     auto css class \r\n     B_'colorkey' = background:var(--color)\r\n     P_5 = padding:5px\r\n     F_W = color:#fff\r\n     connected with colors\r\n     1-colors balet \r\n     colors.json \r\n     2-theme ballet \r\n     to switch between dark and light mode \r\n     style.json  \r\n     */\r\n  \r\n    c:'WW HH FW'\r\n\r\n    /**\r\n      * you can write html style\r\n      * with all it power if you need\r\n      */\r\n     \r\n    style:{\r\n        minWidth:'50px'\r\n    }\r\n\r\n     /** s can be string as next example or it can be array\r\n     * and theres a lot of kind of object like auto text\r\n     *  translate or query text and many of anther functions\r\n     *  \r\n     * you can under stand \r\n     *  from the next code text render before any anther \r\n     * e in innerHtml\r\n       */\r\n       \r\n    s:'hello world'\r\n\r\n      /**\r\n       * or\r\n      */\r\n\r\n    s:'t.{translate-string-key} v.{value of varibale for public v: key } val.{for input element value and it take id of target element}'\r\n     \r\n     /**\r\n       * \r\n       * you can easy render anther  elements to make \r\n       * any your dream app tree \r\n       */\r\n\r\n    e:[{\r\n        t:'t'/** t= table */\r\n        e:[{\r\n            t:'tr'\r\n            e:[{\r\n                t:'th'\r\n                s:'No'\r\n            }\r\n            {\r\n                t:'th'\r\n                s:'Name'\r\n            }\r\n            {\r\n                t:'th'\r\n                s:'Title'\r\n            }]\r\n\r\n        }]\r\n      }]\r\n    \r\n\r\n    /** data: you can write a  query  to database \r\n     * and connect to i-app-server [mysql]\r\n     * */\r\n\r\n    data:[\r\n            {\r\n                a: 'get'        /* query actions \r\n                                    get = SELECT ,\r\n                                    getJ = SELECT and JOIN , \r\n                                    del = DELETE , \r\n                                    up = UPDATE \r\n                                */\r\n                n: 'emploees'   // table-name\r\n                s: ['A']        //All columns or select column name ['id' 'username'...]\r\n                l: 0            //limit\r\n                q: [\r\n                    //OR>> the q:[0] is the OR index you can push many OR \r\n                    [\r\n                        //AND>> q:[*][*] is the AND index you can push many AND under OR condition\r\n                        [\r\n                            1 /* or */ 'coulmn-name'\r\n                            \r\n                            0 /* value*/\r\n                            'uneq' /* condition relation */\r\n                            /**\r\n                            eq:'='\r\n                            uneq:'!='\r\n                            gr:'>'\r\n                            greq:'>='\r\n                            le:'<'\r\n                            leeq:'<='\r\n                            like:'LIKE'\r\n                            */\r\n                        ]\r\n                    ]\r\n                ]\r\n            }\r\n    ]\r\n   \r\n    before:[{\r\n       \r\n        s: 'element text before render query '\r\n    }]\r\n\r\n    /** model: \r\n     * render your query inside the etement or \r\n     * anther and you control every index\r\n     *  by q:{s:static string i: index data you chose to key with}\r\n     *  wich generte uniqe i \r\n     * every model will parse one index data\r\n\r\n     * */\r\n    model: [{\r\n        t: 'tr'\r\n        q: {\r\n            s: 'id_'\r\n            i: 'id'\r\n        },\r\n        e:[\r\n            {\r\n                t:'td'\r\n                s:'q.{no}'\r\n            }\r\n            {\r\n                t:'td'\r\n                s: 'q.{name}'\r\n            }\r\n            {\r\n                t:'td'\r\n                s: 'qt.{title}'\r\n            }\r\n        ]\r\n       \r\n    }]\r\n\r\n    /** if query back FALSE or [] it will render else */\r\n    \r\n    else:[{\r\n       \r\n        s: 'no-data-error' \r\n    }]\r\n\r\n    after:[{\r\n       \r\n        s: 'element text after render query '\r\n    }]\r\n\r\n    /*\r\n        Actions \r\n        with event listner\r\n        use key a:\r\n        to open new action listner\r\n        event will be default as click event\r\n        theres anther custom event 'auto'\r\n        it will rrun your action after 300 ms as a default \r\n        you cab use it as set time out function it you set time:1000 key with your Nunmber of ms\r\n    */\r\n    a:{\r\n        e:'blur'\r\n        /* Or */\r\n        time:1000\r\n        /* Or Just Default click()*/\r\n        fn:{\r\n            // by default you will recive inside that function 2 var\r\n            //-1  v   its shared object data \r\n            //-2  Q   Query object injected with start new element  In this case, information is inherited from each parent to his child and anther way to use \r\n            //-3  _    its easy way to use a huge tools libary\r\n            // of funcation make  you build and control easy\r\n            //for more understand read i-app-tools\r\n            // try _.CL('Hello World') = console.log('Hello World')\r\n            /* \r\n                or CR(\r\n                    {\r\n                    i:'elementName'\r\n                    e:[\r\n                        // some elements\r\n                    ]\r\n                    },\r\n                    'some-parent',\r\n                    {queryValue:'Hello world'}\r\n                    );\r\n            */\r\n        }\r\n    }\r\n  \r\n   \r\n    }\r\n```\r\n---\r\n## Read More ... https://i-app.org\r\n\r\n---\r\n\r\n\r\n\r\n## if You use Vscode For Best development install i-app Extension \r\n## https://marketplace.visualstudio.com/items?itemName=i-app.i-app\r\nor \r\nvisit \r\n\r\n## https://github.com/MWN-S/i-app-vscode-ex\r\n\r\n\r\n\r\n\r\n\r\n### License\r\nThis extension is licensed under the MIT License. See the LICENSE file for details.","readmeFilename":"README.md"}