{"id":15637952,"url":"https://github.com/just-jeb/electron-angular-native","last_synced_at":"2025-08-21T12:31:03.729Z","repository":{"id":41203268,"uuid":"65371048","full_name":"just-jeb/electron-angular-native","owner":"just-jeb","description":"Ready for distribution boilerplate for Electron Angular applications with native modules support (node.js addons and plain native libraries)","archived":false,"fork":false,"pushed_at":"2022-03-25T18:38:24.000Z","size":9007,"stargazers_count":96,"open_issues_count":36,"forks_count":22,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-08-21T09:36:52.326Z","etag":null,"topics":["angular","distribution-boilerplate","electron","electron-application","native-libraries","native-modules","node-addon","node-ffi"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/just-jeb.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null},"funding":{"github":null,"patreon":"justjeb","open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"custom":["https://www.paypal.com/cgi-bin/webscr?cmd=_donations\u0026business=43KX7EMK96A94\u0026currency_code=USD\u0026source=url"]}},"created_at":"2016-08-10T09:50:42.000Z","updated_at":"2024-07-09T15:42:08.000Z","dependencies_parsed_at":"2022-09-12T13:25:46.078Z","dependency_job_id":null,"html_url":"https://github.com/just-jeb/electron-angular-native","commit_stats":null,"previous_names":["meltedspark/electron-angular-native"],"tags_count":6,"template":false,"template_full_name":null,"purl":"pkg:github/just-jeb/electron-angular-native","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/just-jeb%2Felectron-angular-native","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/just-jeb%2Felectron-angular-native/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/just-jeb%2Felectron-angular-native/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/just-jeb%2Felectron-angular-native/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/just-jeb","download_url":"https://codeload.github.com/just-jeb/electron-angular-native/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/just-jeb%2Felectron-angular-native/sbom","scorecard":{"id":543502,"data":{"date":"2025-08-11","repo":{"name":"github.com/just-jeb/electron-angular-native","commit":"ef95cd0e3c704b4fb0b16f4490f3a525831088b7"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":2,"checks":[{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Code-Review","score":-1,"reason":"Found no human activity in the last 30 changesets","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Pinned-Dependencies","score":-1,"reason":"no dependencies found","details":null,"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE.md:0","Info: FSF or OSI recognized license: Apache License 2.0: LICENSE.md:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 30 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"Vulnerabilities","score":0,"reason":"132 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: GHSA-c75v-2vq8-878f","Warn: Project is vulnerable to: GHSA-968p-4wvh-cqc8","Warn: Project is vulnerable to: GHSA-67hx-6x53-jw92","Warn: Project is vulnerable to: GHSA-v88g-cgmw-v5xw","Warn: Project is vulnerable to: GHSA-whgm-jr23-g3j9","Warn: Project is vulnerable to: GHSA-93q8-gq69-wqmw","Warn: Project is vulnerable to: GHSA-r4pf-3v7r-hh55","Warn: Project is vulnerable to: GHSA-fwr7-v2mv-hh25","Warn: Project is vulnerable to: GHSA-qwcr-r2fm-qrc7","Warn: Project is vulnerable to: GHSA-v6h2-p8h4-qcjw","Warn: Project is vulnerable to: GHSA-grv7-fg5c-xmjg","Warn: Project is vulnerable to: GHSA-x9w5-v3q2-3rhw","Warn: Project is vulnerable to: GHSA-w8qv-6jwh-64r5","Warn: Project is vulnerable to: GHSA-pxg6-pf52-xh8x","Warn: Project is vulnerable to: GHSA-3xgq-45jj-v275","Warn: Project is vulnerable to: GHSA-gxpj-cx7g-858c","Warn: Project is vulnerable to: GHSA-w573-4hg7-7wgq","Warn: Project is vulnerable to: GHSA-3wcq-x3mq-6r9p","Warn: Project is vulnerable to: GHSA-phwq-j96m-2c2q","Warn: Project is vulnerable to: GHSA-ghr5-ch3p-vcr6","Warn: Project is vulnerable to: GHSA-6vrv-94jv-crrg","Warn: Project is vulnerable to: GHSA-f9mq-jph6-9mhm","Warn: Project is vulnerable to: GHSA-h9jc-284h-533g","Warn: Project is vulnerable to: GHSA-m93v-9qjc-3g79","Warn: Project is vulnerable to: GHSA-hvf8-h2qh-37m9","Warn: Project is vulnerable to: GHSA-mpjm-v997-c4h4","Warn: Project is vulnerable to: GHSA-3p22-ghq8-v749","Warn: Project is vulnerable to: GHSA-77xc-hjv8-ww97","Warn: Project is vulnerable to: GHSA-mq8j-3h7h-p8g7","Warn: Project is vulnerable to: GHSA-p2jh-44qj-pf2v","Warn: Project is vulnerable to: GHSA-p7v2-p9m8-qqg7","Warn: Project is vulnerable to: GHSA-7x97-j373-85x5","Warn: Project is vulnerable to: GHSA-7m48-wc93-9g85","Warn: Project is vulnerable to: GHSA-qqvq-6xgj-jw8g","Warn: Project is vulnerable to: GHSA-6r2x-8pq8-9489","Warn: Project is vulnerable to: GHSA-434g-2637-qmqr","Warn: Project is vulnerable to: GHSA-49q7-c7j4-3p7m","Warn: Project is vulnerable to: GHSA-977x-g7h5-7qgw","Warn: Project is vulnerable to: GHSA-f7q4-pwc6-w24p","Warn: Project is vulnerable to: GHSA-fc9h-whq2-v747","Warn: Project is vulnerable to: GHSA-vjh7-7g9h-fjfh","Warn: Project is vulnerable to: GHSA-273r-mgr4-v34f","Warn: Project is vulnerable to: GHSA-r7qp-cfhv-p84w","Warn: Project is vulnerable to: GHSA-6h5x-7c5m-7cr7","Warn: Project is vulnerable to: GHSA-rv95-896h-c2vc","Warn: Project is vulnerable to: GHSA-qw6h-vgh9-j6wx","Warn: Project is vulnerable to: GHSA-74fj-2j2h-c42q","Warn: Project is vulnerable to: GHSA-pw2r-vq6v-hr8c","Warn: Project is vulnerable to: GHSA-jchw-25xp-jwwc","Warn: Project is vulnerable to: GHSA-cxjh-pqwp-8mfp","Warn: Project is vulnerable to: GHSA-fjxv-7rqg-78g4","Warn: Project is vulnerable to: GHSA-8r6j-v8pm-fqw3","Warn: Project is vulnerable to: MAL-2023-462","Warn: Project is vulnerable to: GHSA-4q6p-r6v2-jvc5","Warn: Project is vulnerable to: GHSA-ww39-953v-wcq6","Warn: Project is vulnerable to: GHSA-pfrx-2q88-qq97","Warn: Project is vulnerable to: GHSA-rc47-6667-2j5j","Warn: Project is vulnerable to: GHSA-c7qv-q95q-8v27","Warn: Project is vulnerable to: GHSA-qqgx-2p2h-9c37","Warn: Project is vulnerable to: GHSA-78xj-cgh5-2h22","Warn: Project is vulnerable to: GHSA-2p57-rm9w-gvfp","Warn: Project is vulnerable to: GHSA-896r-f27r-55mw","Warn: Project is vulnerable to: GHSA-9c47-m6qq-7p4h","Warn: Project is vulnerable to: GHSA-7x7c-qm48-pq9c","Warn: Project is vulnerable to: GHSA-rc3x-jf5g-xvc5","Warn: Project is vulnerable to: GHSA-6c8f-qphg-qjgp","Warn: Project is vulnerable to: GHSA-76p3-8jx3-jpfq","Warn: Project is vulnerable to: GHSA-3rfm-jhwj-7488","Warn: Project is vulnerable to: GHSA-hhq3-ff78-jv3g","Warn: Project is vulnerable to: GHSA-82v2-mx6x-wq7q","Warn: Project is vulnerable to: GHSA-952p-6rrq-rcjv","Warn: Project is vulnerable to: GHSA-f8q6-p94x-37v3","Warn: Project is vulnerable to: GHSA-vh95-rmgr-6w4m","Warn: Project is vulnerable to: GHSA-xvch-5gv4-984h","Warn: Project is vulnerable to: GHSA-qrpm-p2h7-hrv2","Warn: Project is vulnerable to: GHSA-mwcw-c2x4-8c55","Warn: Project is vulnerable to: GHSA-92xj-mqp7-vmcj","Warn: Project is vulnerable to: GHSA-wxgw-qj99-44c2","Warn: Project is vulnerable to: GHSA-5rrq-pxf6-6jx5","Warn: Project is vulnerable to: GHSA-8fr3-hfg3-gpgp","Warn: Project is vulnerable to: GHSA-gf8q-jrpm-jvxq","Warn: Project is vulnerable to: GHSA-2r2c-g63r-vccr","Warn: Project is vulnerable to: GHSA-cfm4-qjh2-4765","Warn: Project is vulnerable to: GHSA-x4jg-mjrx-434g","Warn: Project is vulnerable to: GHSA-px4h-xg32-q955","Warn: Project is vulnerable to: GHSA-76c9-3jph-rj3q","Warn: Project is vulnerable to: GHSA-hj48-42vr-x3v9","Warn: Project is vulnerable to: GHSA-9wv6-86v2-598j","Warn: Project is vulnerable to: GHSA-rhx6-c78j-4q9w","Warn: Project is vulnerable to: GHSA-h7cp-r72f-jxh6","Warn: Project is vulnerable to: GHSA-v62p-rq8g-8h59","Warn: Project is vulnerable to: GHSA-4cpg-3vgw-4877","Warn: Project is vulnerable to: GHSA-566m-qj78-rww5","Warn: Project is vulnerable to: GHSA-hwj9-h5mp-3pm3","Warn: Project is vulnerable to: GHSA-7fh5-64p2-3v2j","Warn: Project is vulnerable to: GHSA-hrpp-h998-j3pp","Warn: Project is vulnerable to: GHSA-p8p7-x288-28g6","Warn: Project is vulnerable to: GHSA-c2qf-rxjj-qqgw","Warn: Project is vulnerable to: GHSA-m6fv-jmcg-4jfg","Warn: Project is vulnerable to: GHSA-hxcc-f52p-wc94","Warn: Project is vulnerable to: GHSA-cm22-4g7w-348p","Warn: Project is vulnerable to: GHSA-25hc-qcg6-38wj","Warn: Project is vulnerable to: GHSA-qm95-pgcg-qqfq","Warn: Project is vulnerable to: GHSA-c9g6-9335-x697","Warn: Project is vulnerable to: GHSA-3jfq-g458-7qm9","Warn: Project is vulnerable to: GHSA-r628-mhmh-qjhw","Warn: Project is vulnerable to: GHSA-9r2w-394v-53qc","Warn: Project is vulnerable to: GHSA-5955-9wpr-37jh","Warn: Project is vulnerable to: GHSA-qq89-hq3f-393p","Warn: Project is vulnerable to: GHSA-f5x3-32g6-xq36","Warn: Project is vulnerable to: GHSA-4wf5-vphf-c2xc","Warn: Project is vulnerable to: GHSA-52f5-9888-hmc6","Warn: Project is vulnerable to: GHSA-72xf-g2v4-qvf3","Warn: Project is vulnerable to: GHSA-7p7h-4mm5-852v","Warn: Project is vulnerable to: GHSA-fhg7-m89q-25r3","Warn: Project is vulnerable to: GHSA-9m6j-fcg5-2442","Warn: Project is vulnerable to: GHSA-hh27-ffr2-f2jc","Warn: Project is vulnerable to: GHSA-rqff-837h-mm52","Warn: Project is vulnerable to: GHSA-8v38-pw62-9cw2","Warn: Project is vulnerable to: GHSA-hgjh-723h-mx2j","Warn: Project is vulnerable to: GHSA-jf5r-8hm2-f872","Warn: Project is vulnerable to: GHSA-wr3j-pwj9-hqq6","Warn: Project is vulnerable to: GHSA-4v9v-hfq4-rm2v","Warn: Project is vulnerable to: GHSA-9jgg-88mc-972h","Warn: Project is vulnerable to: GHSA-4fc4-chg7-h8gh","Warn: Project is vulnerable to: GHSA-3h5v-q93c-6h6q","Warn: Project is vulnerable to: GHSA-6fc8-4gx4-v693","Warn: Project is vulnerable to: GHSA-h6q6-9hqw-rwfv","Warn: Project is vulnerable to: GHSA-5fg8-2547-mr8q","Warn: Project is vulnerable to: GHSA-crh6-fp67-6883","Warn: Project is vulnerable to: GHSA-c4w7-xm78-47vh","Warn: Project is vulnerable to: GHSA-p9pc-299p-vxgp"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}}]},"last_synced_at":"2025-08-20T08:49:27.882Z","repository_id":41203268,"created_at":"2025-08-20T08:49:27.882Z","updated_at":"2025-08-20T08:49:27.882Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":271467534,"owners_count":24765108,"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","status":"online","status_checked_at":"2025-08-21T02:00:08.990Z","response_time":74,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["angular","distribution-boilerplate","electron","electron-application","native-libraries","native-modules","node-addon","node-ffi"],"created_at":"2024-10-03T11:16:05.453Z","updated_at":"2025-08-21T12:31:03.359Z","avatar_url":"https://github.com/just-jeb.png","language":"TypeScript","readme":"\u003ca href=\"https://electronjs.org/\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/627c774e3070482b180c3abd858ef2145d46303b/68747470733a2f2f656c656374726f6e6a732e6f72672f696d616765732f656c656374726f6e2d6c6f676f2e737667\" alt=\"Electron\" height=\"50px\"/\u003e\u003c/a\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\n\u003ca href=\"https://github.com/electron/spectron\"\u003e\u003cimg src=\"https://cloud.githubusercontent.com/assets/378023/15063284/cf544f2c-1383-11e6-9336-e13bd64b1694.png\" alt=\"Electron\" height=\"50px\"/\u003e\u003c/a\u003e\u0026nbsp;\u0026nbsp;\n\u003ca href=\"https://angular.io/\"\u003e\u003cimg src=\"https://angular.io/assets/images/logos/angular/angular.svg\" alt=\"Angular\" width=\"50px\"/\u003e\u003c/a\u003e\u0026nbsp;\u0026nbsp;[![GitHub version](https://badge.fury.io/gh/just-jeb%2Felectron-angular-native.svg)](https://badge.fury.io/gh/just-jeb%2Felectron-angular-native) [![GitHub license](https://img.shields.io/github/license/just-jeb/electron-angular-native.svg)](https://github.com/just-jeb/electron-angular-native/blob/master/LICENSE.md)\n\n**Linux/Mac**: [![Build Status](https://travis-ci.org/just-jeb/electron-angular-native.svg?branch=master)](https://travis-ci.org/just-jeb/electron-angular-native)  **Windows**: [![Build status](https://ci.appveyor.com/api/projects/status/github/just-jeb/electron-angular-native?branch=master\u0026svg=true)](https://ci.appveyor.com/project/just-jeb/electron-angular-native/branch/master)\n \nEasy to use, ready for distribution boilerplate for Electron Angular applications supporting native code.  \nNative code is supported in two different ways:\n - [native node.js addon](https://nodejs.org/api/addons.html) (.node) using [nan](https://github.com/nodejs/nan).  \n   This is useful when you own the code and you want it to be part of the build.  \n   In this case the native source code is part of your application code base and compiled with [node-gyp](https://github.com/nodejs/node-gyp).\n - Native library (.dll, .so or .dylib) using [node-ffi-napi](https://github.com/node-ffi-napi/node-ffi-napi).  \n   This is useful when you don't own the code of the native library or, alternatively, have another project which already compiles to a native library \n   and you want to utilize this library in your Electron application.  \n   In this case you supply precompiled libraries and use them via Foreign Function Interface (**node-ffi-napi**)\n\n## Features\n\n - [Electron](http://electron.atom.io/) 5\n - [Spectron](https://github.com/electron/spectron) 7\n - [Angular](https://angular.io/) 8\n - [Angular CLI](https://cli.angular.io/) 8\n - [Angular AoT](https://angular.io/guide/aot-compiler) for production\n - [Typescript](https://www.typescriptlang.org/) 3.4\n - Native node.js addons (using [nan](https://github.com/nodejs/nan))\n - Native libraries support (using [node-ffi-napi](https://github.com/node-ffi-napi/node-ffi-napi))\n - Hot reload for development\n - CI configs for Windows ([AppVeyor](./appveyor.yml)), Linux and Mac ([Travis CI](./.travis.yml))\n\n## Getting ready\n\n1. In order to clone and run this repository you'll need [Git](https://git-scm.com), [Node.js](https://nodejs.org/en/download/) and [yarn](https://yarnpkg.com) installed on your computer.   \n   * **bash command line is required (use git-bash for windows)**\n2. Clone the repository\n\t* If you're behind a corporate firewall configure `git` proxy:  \n\t\n\t\t```bash\n\t\tgit config --global http.proxy http://proxy.company.com:port  \n\t\tgit config --global https.proxy http://proxy.company.com:port  \n\t\t```\n\t* From your bash (git-bash or similar) command line:\n\n\t\t```bash\n\t\t# Clone this repository\n\t\t# git \u003e 2.13\n\t\tgit clone --recurse-submodules https://github.com/just-jeb/electron-angular-native\n\t\t# git \u003c= 2.12\n\t\tgit clone --recursive https://github.com/just-jeb/electron-angular-native\n\t\t# Go into the repository\n\t\tcd electron-angular-native\n\t\t```  \n\t\t\n3. Prepare the environment  \n\n\t* If you're behind a corporate firewall configure `yarn` proxy:  \n\t\t\n\t\t```bash\n\t\tyarn config set proxy http://proxy.company.com:port  \n\t\tyarn config set https-proxy http://proxy.company.com:port\n\t\t```\n\t* **EXTREMELY IMPORTANT**: Make sure you have `python v2.7` and appropriate `C\\C++ compiler toolchain` installed:\n\t\n\t\t\u003e You will also need to install:\n\t\t\u003e \n\t\t\u003e   * On Unix:\n\t\t\u003e     * `python` (`v2.7` recommended, `v3.x.x` is __*not*__ supported)\n\t\t\u003e     * `make`\n\t\t\u003e     * A proper C/C++ compiler toolchain, like [GCC](https://gcc.gnu.org)\n\t\t\u003e   * On Mac OS X:\n\t\t\u003e     * `python` (`v2.7` recommended, `v3.x.x` is __*not*__ supported) (already installed on Mac OS X)\n\t\t\u003e     * [Xcode](https://developer.apple.com/xcode/download/)\n\t\t\u003e       * You also need to install the `Command Line Tools` via Xcode. You can find this under the menu `Xcode -\u003e Preferences -\u003e Downloads`\n\t\t\u003e       * This step will install `gcc` and the related toolchain containing `make`\n\t\t\u003e   * On Windows:\n\t\t\u003e     * Option 1: Install all the required tools and configurations using Microsoft's [windows-build-tools](https://github.com/felixrieseberg/windows-build-tools) using `npm install --global --production windows-build-tools` from an elevated PowerShell or CMD.exe (run as Administrator).\n\t\t\u003e     * Option 2: Install tools and configuration manually:\n\t\t\u003e       * Visual C++ Build Environment:\n\t\t\u003e         * Option 1: Install [Visual C++ Build Tools](http://landinghub.visualstudio.com/visual-cpp-build-tools) using the **Default Install** option.\n\t\t\u003e         * Option 2: Install [Visual Studio 2015](https://www.visualstudio.com/products/visual-studio-community-vs) (or modify an existing installation) and select *Common Tools for Visual C++* during setup. This also works with the free Community and Express for Desktop editions.\n\t\t\u003e \n\t\t\u003e         \u003e :bulb: [Windows Vista / 7 only] requires [.NET Framework 4.5.1](http://www.microsoft.com/en-us/download/details.aspx?id=40773)\n\t\t\u003e       * Install [Python 2.7](https://www.python.org/downloads/) (`v3.x.x` is not supported), and run `npm config set python python2.7` (or see below for further instructions on specifying the proper Python version and path.)\n\t\t\u003e       * Launch cmd, `npm config set msvs_version 2015`\n\t\t\u003e\t\t\n\t\t\u003e     If the above steps didn't work for you, please visit [Microsoft's Node.js Guidelines for Windows](https://github.com/Microsoft/nodejs-guidelines/blob/master/windows-environment.md#compiling-native-addon-modules) for additional tips.\n\t\t\u003e \n\t\t\u003e If you have multiple Python versions installed, you can set `npm`'s 'python' config key to the appropriate\n\t\t\u003e value:\n\t\t\u003e \n\t\t\u003e ``` bash\n\t\t\u003e $ npm config set python /path/to/executable/python2.7\n\t\t\u003e ```\n\t\t\u003e \n\t\t\u003e Note that OS X is just a flavour of Unix and so needs `python`, `make`, and C/C++.\n\t\t\u003e An easy way to obtain these is to install XCode from Apple,\n\t\t\u003e and then use it to install the command line tools (under Preferences -\u003e Downloads).\n\t\t\u003e \n\t\t\n\t* From your bash (git-bash or similar) command line:  \n\t\t\n\t\t```bash\n\t\t# Install dependencies\n\t\tyarn\n\t\t```  \n\t\t\n## Application structure\n\n - All the source code resides in `src/` directory\n - All the native source code resides in `src/native/` directory (a new native source code shall be put there as well)\n - Precompiled binaries (`simplelib`) are fetched from [another git repository](https://github.com/just-jeb/electron-angular-native-simplelib-bin) as git submodule and can be found in `native-artifacts/precompiled-libraries` directory.  \n   If you have any precompiled binaries you'd like to use in your project just put them inside this directory, while keeping platform and architecture subdirectories same to the `simplelib`.\n - Native artifacts that were compiled from the source code as part of the build can be found in `native-artifacts/native-addons` directory (first time compiled on `yarn`)\n  \n## Application info\nYou can define application name, version, author and runtime node dependencies in `app.package.js`  \n\n## Development\n\n- **Running application in debug mode:**\n\n\t```bash\n\tyarn start\n\t```\n  \n\tThis will run your Electron Angular application in watch mode, i.e. if you change any `.ts` file the application will reload the changes automatically.  \n\tThe application starts with debug tools open so that you can place breakpoints and debug your Typescript code.  \n\t\n\t**Note** *that first time you run `yarn start` the application might open with console error saying \"Not allowed to load local resource: file:///.../electron-angular-native/serve/index.html\".  \n\tThe reason for that is that webpack compilation and electron serve run simultaneously and the application starts before the code is ready.  \n\tAll you need to do is wait - once the compilation is complete the application will reload with the compiled code.*\n\n- **Debugging production build (AoT, Uglify etc.):**  \n\n  Sometimes you want to make sure your code compiles in production mode during the development (or even debug AoT related issues).  \n  In order to build the application in production mode run:  \n  \n  ```bash\n  yarn build:prod\n  ```\n  \n  If you want to *debug* the application in production mode (built with AoT) use this:\n  \n  ```bash\n  yarn start:prod\n  ```\n\t\n- **Compiling native code:** \n\n\tNative code is not compiled on every `yarn start` (it's only compiled on `yarn` and before the distribution), but if you want to recompile it, run the following command from your *bash* command line:  \n\n\t```bash\n\tyarn electron:build:native\n\t```\n\n- **Running end to end tests with Spectron:**  \n\n\tTo run end to end tests use the following command:\n\t\n\t```bash\n\tyarn e2e\n\t``` \n\tThis will run all the tests in `e2e` directory (the tests extension must be `.e2e-spec.ts`).  \n\tFor your convenience there is a helper class `SpectronUtils` which can be used for tests definition and two test examples:\n\t\n\t - `native-links.e2e-spec.ts` verifies that the links that loaded from native modules present upon the application start\n\t - `sanity.e2e-spec.ts` verifies that the application starts\n\t \n\t**Note** *that end-to-end tests check the end user application (meaning the application created with `yarn dist` command). This means that prior to executing `yarn e2e` you have to execute `yarn dist` at least once*\n\t\n## Distribution\n\n - Run the following from the root folder to create a distribution for:  \n  \n   - Current platform:\n    \n     ```bash\n     yarn dist\n\t- Windows 32 bit:  \n \n\t\t```bash\n\t\tyarn dist:windows:32\n\t- Windows 64 bit:   \n \n\t\t```bash\n\t\tyarn dist:windows:64\n\t - Linux 32 bit:\n\t\n\t\t```bash\n\t\tyarn dist:linux:32\n\t- Linux 64 bit:\n\t\n\t\t```bash\n\t\tyarn dist:linux:64\n\t- OSX:\n\t\n\t\t```bash\n\t\tyarn dist:osx\n - Be aware that cross-platform builds are [performed](https://www.electron.build/multi-platform-build) on remote server\n - Distributed application is built in production mode (to benefit from [Angular AoT](https://angular.io/guide/aot-compiler)).  \n   If for some reason you want it in dev mode (JIT), run `yarn dist:dev` \n - Build artifact can be found in build-artifacts folder\n \n## Useful links\n - [Electron documentation](http://electron.atom.io/docs/latest)\n - [Using native modules in Electron](https://github.com/electron/electron/blob/master/docs/tutorial/using-native-node-modules.md)\n - [Running binding.gyp in all subdirectories](http://stackoverflow.com/questions/38693619/node-gyp-run-binding-gyp-in-all-subdirectories)\n\n","funding_links":["https://patreon.com/justjeb","https://www.paypal.com/cgi-bin/webscr?cmd=_donations\u0026business=43KX7EMK96A94\u0026currency_code=USD\u0026source=url"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjust-jeb%2Felectron-angular-native","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjust-jeb%2Felectron-angular-native","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjust-jeb%2Felectron-angular-native/lists"}