{"id":18419772,"url":"https://github.com/teradata/covalent-electron","last_synced_at":"2025-04-07T13:31:43.785Z","repository":{"id":12991543,"uuid":"73325080","full_name":"Teradata/covalent-electron","owner":"Teradata","description":"Desktop build of Covalent using Electron","archived":false,"fork":false,"pushed_at":"2023-01-05T00:12:23.000Z","size":3061,"stargazers_count":44,"open_issues_count":41,"forks_count":10,"subscribers_count":14,"default_branch":"develop","last_synced_at":"2025-03-22T19:12:38.876Z","etag":null,"topics":["angular","angular-material","angular2","angular4","covalent","desktop-apps","electron","ng","ng2","nodejs"],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Teradata.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"docs/CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2016-11-09T22:06:10.000Z","updated_at":"2022-11-11T03:40:34.000Z","dependencies_parsed_at":"2023-01-11T20:19:35.245Z","dependency_job_id":null,"html_url":"https://github.com/Teradata/covalent-electron","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Teradata%2Fcovalent-electron","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Teradata%2Fcovalent-electron/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Teradata%2Fcovalent-electron/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Teradata%2Fcovalent-electron/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Teradata","download_url":"https://codeload.github.com/Teradata/covalent-electron/tar.gz/refs/heads/develop","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247661775,"owners_count":20975117,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["angular","angular-material","angular2","angular4","covalent","desktop-apps","electron","ng","ng2","nodejs"],"created_at":"2024-11-06T04:18:19.147Z","updated_at":"2025-04-07T13:31:42.746Z","avatar_url":"https://github.com/Teradata.png","language":"TypeScript","readme":"## Covalent-Electron is the Electron Platform to build desktop apps using Covalent and Electron\n\n[![Build Status](https://travis-ci.org/Teradata/covalent.svg?branch=develop)](https://travis-ci.org/Teradata/covalent-electron)\n[![Join the chat at https://gitter.im/Teradata/covalent](https://badges.gitter.im/Teradata/covalent.svg)](https://gitter.im/Teradata/covalent?utm_source=badge\u0026utm_medium=badge\u0026utm_campaign=pr-badge\u0026utm_content=badge)\n\n\u003cimg alt=\"Covalent\" src=\"https://gitcdn.link/repo/Teradata/covalent/develop/src/assets/icons/covalent.svg\" width=\"150\"\u003e\n\nCovalent is a reusable UI platform from Teradata for building web applications with common standards and tooling. It is based on Angular 2 and Material Design.\n\nCovalent Github Repo: https://github.com/Teradata/covalent\n\nCovalent-Electron is the Electron Platform to build desktop apps using Covalent and Electron\n\nCovalent-Code-Editor is an Angular Component for text and code editing based on Covalent and Monaco Editor. The component can run in both Electron and Web Browsers.\n\nCovalent-Code-Editor Github Repo: https://github.com/Teradata/covalent-code-editor\n\n## Setup\n\n### Production Build\n\n* Ensure you have Node 4.4 and NPM 3+ installed.\n* Install `npm install`\n* Create Electron package `npm run package`\n * For a system running OS X the dist-app/Covalent-darwin-x64/Covalent.app folder generated can be executed. \n * For a Windows x64 build the Covalent-win32-x64/Covalent.exe can be executed.\n\n### Development Build\nThe development build includes the ability to \"live-reload\" code in both the renderer process and the main electron application.\nAfter running the commands below simply save a file in the code base and it will be automatically refreshed in the running Electron application\n\n* Ensure you have Node 4.4 and NPM 3+ installed.\n* Install `npm install`\n* Create Electron package and run live-reload `npm run live-reload`\n\nAlternatively if you want to also open the Dev Tools while running live-reload run this command instead\n* Create Electron package and run live-reload `npm run live-reload -- --openDevTools`\n\nTo run VsCode and attach as the Debugger to Covalent Electron see here:\n* Debugging in VsCode with Live Reload in Covalent Electron:\n\n  https://github.com/Teradata/covalent-electron/wiki/Debugging-with-VS-Code-with-Electron\n\n---\n\n## Including Node Modules in Covalent Electron\nTo utilize \"internal\" (eg. fs, path, etc.) or \"3rd party\" (eg. winston, uuid, monaco-editor, etc.) node modules from within your Covalent Electron application, you must perform the following steps to ensure the node modules are accessible. Assume for this example you want to utilize a node module named \"some_node_module\".\n\n1. Add the require for the module in [src/electron-load.js](https://github.com/Teradata/covalent-electron/blob/develop/src/electron-load.js) in the below location\n\n    ```\n    /*\n    * Require external node modules here\n    */\n    var some_node_module = require('some_node_module');\n    ```\n    Make sure it is below the line:\n\n    `module.paths.push(path.resolve(electron.remote.app.getAppPath() + '/node_modules'));`\n\n    This line is where the node_modules directory becomes available to electron\n\n2. Declare a corresponding variable in [src/typings.d.ts](https://github.com/Teradata/covalent-electron/blob/develop/src/typings.d.ts) to ensure the compiler does not complain about references to the module in Typescript.\n\n    `declare var some_node_module: any;`\n\n3. If the node module is a \"3rd party\" module, include the module as a dependency in the [electron/package.json](https://github.com/Teradata/covalent-electron/blob/develop/electron/package.json). This is a separate package.json, differentiated from the top level package.json, that defines modules you want to be accessible in the electron app.\n\n    `\"dependencies\": { \"some_node_module\": \"^0.0.1\" },`\n\n\n4. In your Typescript, you can now reference the module as follows.\n\n    `some_node_module.xyz();`\n\n---\n\n## Running Unit Tests in Covalent Electron\nCovalent Electron utilizes Karma and ng test to execute unit tests inside an Electron Test Harness. The tests can be run against a standalone Angular 2 Component, an Angular 2 component that uses \"internal\" node modules, or an Angular 2 component that uses \"3rd party\" (eg. winston, uuid, monaco-editor, etc.) node modules\n\n* Simply Run `npm run test`\n\n* Example Test Files:\n\n  * (https://github.com/Teradata/covalent-electron/blob/develop/src/platform/file-select/file-select.component.spec.ts) \n  * (https://github.com/Teradata/covalent-electron/blob/develop/src/platform/monaco-editor/monaco-editor.component.spec.ts) \n\n---\n\n* [Contributing Guidelines](docs/CONTRIBUTING.md)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fteradata%2Fcovalent-electron","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fteradata%2Fcovalent-electron","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fteradata%2Fcovalent-electron/lists"}