{"id":17146022,"url":"https://github.com/josteink/gmailjs-node-boilerplate","last_synced_at":"2025-04-06T01:08:57.256Z","repository":{"id":43454389,"uuid":"81725154","full_name":"josteink/gmailjs-node-boilerplate","owner":"josteink","description":"A minimal extension which demonstrates how to create a extension with Gmail.JS and NodeJS-based bundling.","archived":false,"fork":false,"pushed_at":"2025-02-08T12:00:36.000Z","size":56,"stargazers_count":72,"open_issues_count":3,"forks_count":37,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-03-30T00:07:50.955Z","etag":null,"topics":["chrome-extension","gmail","hacktoberfest"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","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/josteink.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":"2017-02-12T12:44:55.000Z","updated_at":"2025-02-08T12:00:27.000Z","dependencies_parsed_at":"2024-10-31T11:03:04.531Z","dependency_job_id":"6c5ce2d0-310b-4b59-947b-70274d5f44c5","html_url":"https://github.com/josteink/gmailjs-node-boilerplate","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/josteink%2Fgmailjs-node-boilerplate","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/josteink%2Fgmailjs-node-boilerplate/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/josteink%2Fgmailjs-node-boilerplate/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/josteink%2Fgmailjs-node-boilerplate/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/josteink","download_url":"https://codeload.github.com/josteink/gmailjs-node-boilerplate/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247419860,"owners_count":20936012,"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":["chrome-extension","gmail","hacktoberfest"],"created_at":"2024-10-14T21:07:36.826Z","updated_at":"2025-04-06T01:08:57.225Z","avatar_url":"https://github.com/josteink.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n# GmailJS Node boilerplate\n\n![Node.js CI](https://github.com/josteink/gmailjs-node-boilerplate/workflows/Node.js%20CI/badge.svg)\n\nThis repo contains sample code to get a WebExtensions-based\nbrowser-extension using\nthe [gmail.js](https://github.com/KartikTalwar/gmail.js/) library.\n\n## Usage\n\nFirst get the code and build it:\n\n````\n# get code\ngit clone https://github.com/josteink/gmailjs-node-boilerplate/\n\n# get deps and build\ncd gmailjs-node-boilerplate\nnpm install\n# ensure you're running latest version!\nnpm update\nnpm run build\n````\n\nNow ensure the code loads and works:\n\n* Load the folder containing the extension (`manifest.json`) in\nyour browser.\n* Load `mail.google.com` in your browser and open the developer console.\n\nYou should be greeted by a message saying the following\n\n    Hello, \u003cyou\u003e. This is your extension talking!\n\nIf that works, you should now be ready to customize the\nextension-code. Do this by editing `extension.js` and rerunning `npm run build`. \n\nYou can also interact with a instance of Gmail.js ready for use. `gmail`\nshould already be exposed in the developer console as a global\nvariable.\n\nYou can use this to get familiar with the API.\n\nCheers!\n\n## Disclaimer\n\nThis project first and foremost about learning. It is **NOT** set up or configured as one would typically create a production WebExtension, and there are several things which can be changed or improved in how things are built and packaged. \n\n*This is an intentional choice.*\n\nThe aim for this project is not to have a ready-to-use production setup with loads of complex dependencies and tool chain specific configurations.  \n\nInstead this project aims to demonstrate the absolutely simplest way possible one can embed Gmail.js in one's own extension, without introducing any other needless or complicating factors. Thus making it easier to adapt into your own projects and toolchains you already know well. \n\nIt's also meant as a simple way to test the gmail.js API and capabilities without having to setup anything of your own first. \n\nLastly it's also a simple playground where bug-reports can easily be reproduced or verified. \n\nNone of these goals aligns particularly well with having a pre-made, production-ready, size-optimized, security-hardened setup. And that's perfectly ok, especially for learning. \n\n## Regarding WebExtension Manifest versions\n\nGmail.JS and this boilerplate repo was originally developed when\nWebExtension [Manifest V2](https://developer.chrome.com/docs/extensions/mv2/manifest/) were\nin place.  Thanks to the help of **@tomer-regev** this boilerplate repo now\nuses [Manifest V3](https://developer.chrome.com/docs/extensions/mv3/intro/mv3-overview/)\ninstead.\n\nIf you for whatever reason still want to use the V2 code, check out the code\nback at [ManifestV2-tag](https://github.com/josteink/gmailjs-node-boilerplate/tree/ManifestV2), which has been maintained for historical reasons.\n\nEither way, Gmail.JS itself should work fine under both versions with\nno change required in your extension-code, unless your extension\nitself has code which needs to be migrated.\n\nFor more advice about upgrades, see the [Chrome documentation](https://developer.chrome.com/docs/extensions/mv3/intro/mv3-migration/).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjosteink%2Fgmailjs-node-boilerplate","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjosteink%2Fgmailjs-node-boilerplate","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjosteink%2Fgmailjs-node-boilerplate/lists"}