<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Marius Bancos</title>
    <description>The latest articles on DEV Community by Marius Bancos (@mariusbancos).</description>
    <link>https://dev.to/mariusbancos</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4195961%2F7d796595-d0c5-4d27-a7f2-9810152f7729.jpg</url>
      <title>DEV Community: Marius Bancos</title>
      <link>https://dev.to/mariusbancos</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/mariusbancos"/>
    <language>en</language>
    <item>
      <title>I checked 26 popular Node.js starters. 18 ship a high-severity vulnerability that npm update can't fix</title>
      <dc:creator>Marius Bancos</dc:creator>
      <pubDate>Tue, 20 Oct 2026 10:35:48 +0000</pubDate>
      <link>https://dev.to/mariusbancos/i-checked-26-popular-nodejs-starters-18-ship-a-high-severity-vulnerability-that-npm-update-cant-4jjc</link>
      <guid>https://dev.to/mariusbancos/i-checked-26-popular-nodejs-starters-18-ship-a-high-severity-vulnerability-that-npm-update-cant-4jjc</guid>
      <description>&lt;p&gt;Starters and boilerplates are how a lot of Node.js projects begin. You clone one, delete the parts you don't need, and start building. Whatever was in its &lt;code&gt;package.json&lt;/code&gt; on that day becomes your baseline.&lt;/p&gt;

&lt;p&gt;I wanted to know what that baseline looks like today, so I ran 26 well-known public starters through the same checks I built for &lt;a href="https://deps.noticely.dev" rel="noopener noreferrer"&gt;deps.noticely.dev&lt;/a&gt;: known vulnerabilities from OSV.dev, deprecation and release history from the npm registry, and OpenSSF Scorecard from deps.dev.&lt;/p&gt;

&lt;h2&gt;
  
  
  The short version
&lt;/h2&gt;

&lt;p&gt;Across 26 projects and 858 direct dependencies:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;18 of 26 (69%)&lt;/strong&gt; have at least one high or critical advisory that &lt;strong&gt;&lt;code&gt;npm install&lt;/code&gt; or &lt;code&gt;npm update&lt;/code&gt; will not fix&lt;/strong&gt;. The fixed version is outside what &lt;code&gt;package.json&lt;/code&gt; allows: either the version is pinned exactly, or the fix only exists in a newer major. 17 of those 18 have it in production dependencies, not just dev tooling.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;13 of 26 (50%)&lt;/strong&gt; depend on at least one package its own authors have deprecated (62 such dependencies in total).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;34%&lt;/strong&gt; of all direct dependencies (288 of 858) have not had a release in more than two years.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;49%&lt;/strong&gt; of dependencies are at least one major version behind; &lt;strong&gt;24%&lt;/strong&gt; are three or more majors behind.&lt;/li&gt;
&lt;li&gt;Only &lt;strong&gt;3 of 26&lt;/strong&gt; came out "Healthy". All three were updated in the last four months and commit a current npm lockfile.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  How I counted
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Projects:&lt;/strong&gt; 26 popular public Node.js starters, boilerplates and tutorial apps on GitHub, from 223 to 35k stars. The full list with per-project numbers is at the end.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;What was checked:&lt;/strong&gt; direct dependencies only, both &lt;code&gt;dependencies&lt;/code&gt; and &lt;code&gt;devDependencies&lt;/code&gt;. Transitive dependencies are out of scope.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Versions:&lt;/strong&gt; if the repo commits an npm &lt;code&gt;package-lock.json&lt;/code&gt; (10 of the 26 do), the exact locked versions were checked. Otherwise the lowest version each range allows, which is the worst case.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The headline number avoids the worst-case trap.&lt;/strong&gt; A range like &lt;code&gt;^4.17.1&lt;/code&gt; may already resolve to a patched version on a fresh install. So the 69% only counts advisories whose fix is &lt;strong&gt;outside&lt;/strong&gt; the declared range, where a fresh install cannot pick it up.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Date:&lt;/strong&gt; data collected on 20 October 2026. Advisories and releases change daily, so re-running this later will give different numbers.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Finding 1: "just run npm update" doesn't work for most of it
&lt;/h2&gt;

&lt;p&gt;Of the 576 advisory matches across all projects, only 204 have a fix inside the version range the project already declares. The rest need someone to edit &lt;code&gt;package.json&lt;/code&gt;, and usually to read a changelog.&lt;/p&gt;

&lt;p&gt;The same few packages come up again and again:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;mongoose&lt;/strong&gt; (13 projects). Several projects are on Mongoose 4 or 5. A critical search-injection advisory is only fixed from 6.13.6 onwards, so this is a major upgrade, not a patch.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;jsonwebtoken&lt;/strong&gt; (8 projects). The fixes for its 2022 advisories are in 9.0.0, and most starters are on &lt;code&gt;^8.5.1&lt;/code&gt; or older.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;body-parser&lt;/strong&gt; and &lt;strong&gt;compression&lt;/strong&gt; (4 projects each). These are pinned with &lt;code&gt;~&lt;/code&gt; ranges or exact versions that stop just before the fixed release.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;multer&lt;/strong&gt;, &lt;strong&gt;axios&lt;/strong&gt;, &lt;strong&gt;nodemailer&lt;/strong&gt; and &lt;strong&gt;lodash&lt;/strong&gt; (3 projects each). These are old majors or exact pins.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;None of these are exotic packages. They are the default building blocks of an Express API, which is exactly why they end up in starters.&lt;/p&gt;

&lt;h2&gt;
  
  
  Finding 2: deprecated packages are easy to miss
&lt;/h2&gt;

&lt;p&gt;npm prints a deprecation warning once, during install, between dozens of other lines. After that, nothing reminds you. The most common ones in this set:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;csurf&lt;/code&gt;: "This package is archived and no longer maintained."&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;babel-eslint&lt;/code&gt;: "now &lt;code&gt;@babel/eslint-parser&lt;/code&gt;. This package will no longer receive updates."&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;babel-preset-es2015&lt;/code&gt;: "we recommend using babel-preset-env now".&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;tslint&lt;/code&gt;: "deprecated in favor of ESLint."&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;request&lt;/code&gt;: "request has been deprecated", and it is still in two starters.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Half the projects carry at least one of these. Most have a direct replacement, so this is usually the cheapest kind of cleanup.&lt;/p&gt;

&lt;h2&gt;
  
  
  Finding 3: quiet is not the same as broken
&lt;/h2&gt;

&lt;p&gt;288 dependencies (34%) had no release in two years. That is a maintenance signal, not a vulnerability. &lt;code&gt;passport&lt;/code&gt;, for example, is in 9 of these projects and its last release is almost three years old. But "no release in years" plus "single maintainer" (29% of all dependencies here) is how packages end up deprecated a year later. It is worth knowing which of your dependencies are in that state before you build on them.&lt;/p&gt;

&lt;h2&gt;
  
  
  What the healthy ones have in common
&lt;/h2&gt;

&lt;p&gt;The three that scored well:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;heroku/nodejs-getting-started&lt;/code&gt;: 100&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;jsynowiec/node-typescript-boilerplate&lt;/code&gt;: 96&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;nestjs/typescript-starter&lt;/code&gt;: 88&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;They share two boring habits. They are updated regularly (all pushed within the last four months), and they commit a current lockfile, so what you clone is exactly what was tested. Small dependency lists help too, but &lt;code&gt;fastify/demo&lt;/code&gt; scored 76 with 33 direct dependencies, so size alone isn't the problem; staleness is.&lt;/p&gt;

&lt;h2&gt;
  
  
  If you started from a boilerplate
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Look at the date first.&lt;/strong&gt; If the starter's last commit is years old, treat its &lt;code&gt;package.json&lt;/code&gt; as a list of package names, not versions.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Run &lt;code&gt;npm audit&lt;/code&gt;, then read what it can't fix.&lt;/strong&gt; The advisories that need a major upgrade are the ones that stay open. Plan them as work items, not a command.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Replace deprecated packages early.&lt;/strong&gt; They only get harder to remove as more code depends on them.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Commit your lockfile&lt;/strong&gt; and check it again every few months. A dependency list ages even when your code doesn't change.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  About the tool
&lt;/h2&gt;

&lt;p&gt;I built &lt;a href="https://deps.noticely.dev" rel="noopener noreferrer"&gt;deps.noticely.dev&lt;/a&gt; to do this check in one step. You paste a &lt;code&gt;package.json&lt;/code&gt; (and optionally the lockfile) and get:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;the same findings as above;&lt;/li&gt;
&lt;li&gt;a 0–100 health score;&lt;/li&gt;
&lt;li&gt;an upgrade plan ordered by risk removed per hour of work.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It's free, needs no account, and stores only dependency names and versions, for 30 days. &lt;a href="https://deps.noticely.dev/r/sample" rel="noopener noreferrer"&gt;Here is a sample report&lt;/a&gt;, and &lt;a href="https://deps.noticely.dev/methodology" rel="noopener noreferrer"&gt;the scoring rules are public&lt;/a&gt;. The code is &lt;a href="https://github.com/noticely-dev/deps" rel="noopener noreferrer"&gt;on GitHub&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;If you maintain one of the starters below and think a number is wrong, tell me in the comments and I'll correct it.&lt;/p&gt;

&lt;h2&gt;
  
  
  Appendix: all 26 projects
&lt;/h2&gt;

&lt;p&gt;Sorted by GitHub stars. Score is the deps.noticely.dev health score (0–100). &lt;strong&gt;Unfixable&lt;/strong&gt; counts high and critical advisories whose fix is outside the declared version range, so a reinstall won't pick it up. &lt;strong&gt;Deprecated&lt;/strong&gt; counts dependencies their authors have deprecated.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Repository&lt;/th&gt;
&lt;th&gt;Pushed&lt;/th&gt;
&lt;th&gt;Lock&lt;/th&gt;
&lt;th&gt;Score&lt;/th&gt;
&lt;th&gt;Unfixable&lt;/th&gt;
&lt;th&gt;Deprecated&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://github.com/sahat/hackathon-starter" rel="noopener noreferrer"&gt;sahat / hackathon-starter&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;2026-10&lt;/td&gt;
&lt;td&gt;yes&lt;/td&gt;
&lt;td&gt;70&lt;/td&gt;
&lt;td&gt;0&lt;/td&gt;
&lt;td&gt;0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://github.com/hagopj13/node-express-boilerplate" rel="noopener noreferrer"&gt;hagopj13 / node-express-boilerplate&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;2024-07&lt;/td&gt;
&lt;td&gt;no&lt;/td&gt;
&lt;td&gt;0&lt;/td&gt;
&lt;td&gt;8&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://github.com/santiq/bulletproof-nodejs" rel="noopener noreferrer"&gt;santiq / bulletproof-nodejs&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;2024-06&lt;/td&gt;
&lt;td&gt;yes (v1)&lt;/td&gt;
&lt;td&gt;0&lt;/td&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;td&gt;4&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://github.com/Hashnode/mern-starter" rel="noopener noreferrer"&gt;Hashnode / mern-starter&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;2023-02&lt;/td&gt;
&lt;td&gt;yes (v1)&lt;/td&gt;
&lt;td&gt;0&lt;/td&gt;
&lt;td&gt;10&lt;/td&gt;
&lt;td&gt;11&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://github.com/adrianhajdin/project_mern_memories" rel="noopener noreferrer"&gt;adrianhajdin / project_mern_memories&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;2024-10&lt;/td&gt;
&lt;td&gt;yes (v1)&lt;/td&gt;
&lt;td&gt;58&lt;/td&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;td&gt;0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://github.com/madhums/node-express-mongoose-demo" rel="noopener noreferrer"&gt;madhums / node-express-mongoose-demo&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;2025-10&lt;/td&gt;
&lt;td&gt;yes&lt;/td&gt;
&lt;td&gt;0&lt;/td&gt;
&lt;td&gt;14&lt;/td&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://github.com/koajs/examples" rel="noopener noreferrer"&gt;koajs / examples&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;2025-07&lt;/td&gt;
&lt;td&gt;no&lt;/td&gt;
&lt;td&gt;0&lt;/td&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://github.com/w3tecch/express-typescript-boilerplate" rel="noopener noreferrer"&gt;w3tecch / express-typescript-boilerplate&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;2023-05&lt;/td&gt;
&lt;td&gt;no&lt;/td&gt;
&lt;td&gt;0&lt;/td&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;td&gt;11&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://github.com/jsynowiec/node-typescript-boilerplate" rel="noopener noreferrer"&gt;jsynowiec / node-typescript-boilerplate&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;2026-06&lt;/td&gt;
&lt;td&gt;yes&lt;/td&gt;
&lt;td&gt;96&lt;/td&gt;
&lt;td&gt;0&lt;/td&gt;
&lt;td&gt;0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://github.com/kunalkapadia/express-mongoose-es6-rest-api" rel="noopener noreferrer"&gt;kunalkapadia / express-mongoose-es6-rest-api&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;2020-07&lt;/td&gt;
&lt;td&gt;no&lt;/td&gt;
&lt;td&gt;0&lt;/td&gt;
&lt;td&gt;12&lt;/td&gt;
&lt;td&gt;4&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://github.com/icebob/vue-express-mongo-boilerplate" rel="noopener noreferrer"&gt;icebob / vue-express-mongo-boilerplate&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;2021-05&lt;/td&gt;
&lt;td&gt;no&lt;/td&gt;
&lt;td&gt;0&lt;/td&gt;
&lt;td&gt;39&lt;/td&gt;
&lt;td&gt;13&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://github.com/developit/express-es6-rest-api" rel="noopener noreferrer"&gt;developit / express-es6-rest-api&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;2023-03&lt;/td&gt;
&lt;td&gt;no&lt;/td&gt;
&lt;td&gt;25&lt;/td&gt;
&lt;td&gt;0&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://github.com/danielfsousa/express-rest-boilerplate" rel="noopener noreferrer"&gt;danielfsousa / express-rest-boilerplate&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;2024-06&lt;/td&gt;
&lt;td&gt;no&lt;/td&gt;
&lt;td&gt;0&lt;/td&gt;
&lt;td&gt;17&lt;/td&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://github.com/nestjs/typescript-starter" rel="noopener noreferrer"&gt;nestjs / typescript-starter&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;2026-10&lt;/td&gt;
&lt;td&gt;yes&lt;/td&gt;
&lt;td&gt;88&lt;/td&gt;
&lt;td&gt;0&lt;/td&gt;
&lt;td&gt;0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://github.com/bradtraversy/proshop_mern" rel="noopener noreferrer"&gt;bradtraversy / proshop_mern&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;2024-01&lt;/td&gt;
&lt;td&gt;yes (v1)&lt;/td&gt;
&lt;td&gt;22&lt;/td&gt;
&lt;td&gt;10&lt;/td&gt;
&lt;td&gt;0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://github.com/bradtraversy/devconnector_2.0" rel="noopener noreferrer"&gt;bradtraversy / devconnector_2.0&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;2024-08&lt;/td&gt;
&lt;td&gt;no&lt;/td&gt;
&lt;td&gt;23&lt;/td&gt;
&lt;td&gt;13&lt;/td&gt;
&lt;td&gt;0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://github.com/diegohaz/rest" rel="noopener noreferrer"&gt;diegohaz / rest&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;2023-01&lt;/td&gt;
&lt;td&gt;no&lt;/td&gt;
&lt;td&gt;0&lt;/td&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://github.com/heroku/nodejs-getting-started" rel="noopener noreferrer"&gt;heroku / nodejs-getting-started&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;2026-10&lt;/td&gt;
&lt;td&gt;yes&lt;/td&gt;
&lt;td&gt;100&lt;/td&gt;
&lt;td&gt;0&lt;/td&gt;
&lt;td&gt;0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://github.com/passport/todos-express-password" rel="noopener noreferrer"&gt;passport / todos-express-password&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;2023-12&lt;/td&gt;
&lt;td&gt;no&lt;/td&gt;
&lt;td&gt;11&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://github.com/scotch-io/node-todo" rel="noopener noreferrer"&gt;scotch-io / node-todo&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;2023-05&lt;/td&gt;
&lt;td&gt;no&lt;/td&gt;
&lt;td&gt;28&lt;/td&gt;
&lt;td&gt;7&lt;/td&gt;
&lt;td&gt;0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://github.com/auth0-blog/nodejs-jwt-authentication-sample" rel="noopener noreferrer"&gt;auth0-blog / nodejs-jwt-authentication-sample&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;2020-09&lt;/td&gt;
&lt;td&gt;no&lt;/td&gt;
&lt;td&gt;0&lt;/td&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;td&gt;0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://github.com/Azure-Samples/nodejs-docs-hello-world" rel="noopener noreferrer"&gt;Azure-Samples / nodejs-docs-hello-world&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;2024-07&lt;/td&gt;
&lt;td&gt;no&lt;/td&gt;
&lt;td&gt;80&lt;/td&gt;
&lt;td&gt;0&lt;/td&gt;
&lt;td&gt;0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://github.com/Shyam-Chen/Express-Starter" rel="noopener noreferrer"&gt;Shyam-Chen / Express-Starter&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;2024-01&lt;/td&gt;
&lt;td&gt;yes (v1)&lt;/td&gt;
&lt;td&gt;0&lt;/td&gt;
&lt;td&gt;18&lt;/td&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://github.com/typeorm/typescript-express-example" rel="noopener noreferrer"&gt;typeorm / typescript-express-example&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;2023-04&lt;/td&gt;
&lt;td&gt;no&lt;/td&gt;
&lt;td&gt;66&lt;/td&gt;
&lt;td&gt;0&lt;/td&gt;
&lt;td&gt;0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://github.com/fastify/demo" rel="noopener noreferrer"&gt;fastify / demo&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;2026-09&lt;/td&gt;
&lt;td&gt;no&lt;/td&gt;
&lt;td&gt;76&lt;/td&gt;
&lt;td&gt;0&lt;/td&gt;
&lt;td&gt;0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://github.com/RisingStack/nodehero-authentication" rel="noopener noreferrer"&gt;RisingStack / nodehero-authentication&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;2020-08&lt;/td&gt;
&lt;td&gt;no&lt;/td&gt;
&lt;td&gt;51&lt;/td&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;td&gt;0&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

</description>
      <category>node</category>
      <category>javascript</category>
      <category>security</category>
      <category>npm</category>
    </item>
  </channel>
</rss>
