diff --git a/.github/workflows/pr-node-tests.yml b/.github/workflows/pr-node-tests.yml index dc690dd..ae13a32 100644 --- a/.github/workflows/pr-node-tests.yml +++ b/.github/workflows/pr-node-tests.yml @@ -17,7 +17,6 @@ jobs: - examples/14 - examples/16 - examples/18 - - examples/19 - examples/20 - examples/21 - examples/22 diff --git a/CHANGELOG.md b/CHANGELOG.md index 8ce1a43..7bd57f2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,8 @@ * Updated `lodash-es` to `4.17.23` * Updated `tar` to `4.4.19` in examples/12 * Updated GitHub Actions dependencies +* Removed Node 19 test example (EOL, deps like `minimatch` no longer support it) +* Fixed Node 21 test example by pinning `minimatch` to `^9.0.0` for compatibility ## v1.6.0 - [December 6, 2025](https://github.com/lando/node/releases/tag/v1.6.0) diff --git a/examples/19/.gitignore b/examples/19/.gitignore deleted file mode 100644 index 740a0a4..0000000 --- a/examples/19/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -node_modules -*.log -package-lock.json diff --git a/examples/19/.lando.yml b/examples/19/.lando.yml deleted file mode 100644 index 93b4f9c..0000000 --- a/examples/19/.lando.yml +++ /dev/null @@ -1,37 +0,0 @@ -name: lando-node-19 -services: - defaults: - type: node:19 - build: - - yarn - command: /app/node_modules/.bin/nodemon src/app-http.js --watch src --ignore *.test.js - cli: - type: node - compass: - type: node:19 - globals: - grunt-cli: latest - custom: - type: node:18 - ssl: true - globals: - gulp-cli: latest - port: 3000 - build: - - yarn - command: /app/node_modules/.bin/nodemon src/app-https.js --watch src --ignore *.test.js - custom2: - type: node:19.4.0 - ssl: 4444 - port: 3000 - build: - - yarn - command: /app/node_modules/.bin/nodemon src/app-custom.js --watch src --ignore *.test.js -tooling: - grunt: - service: compass - -# This is important because it lets lando know to test against the plugin in this repo -# DO NOT REMOVE THIS! -plugins: - "@lando/node": ../.. diff --git a/examples/19/README.md b/examples/19/README.md deleted file mode 100644 index 74fa914..0000000 --- a/examples/19/README.md +++ /dev/null @@ -1,83 +0,0 @@ -# Node 19 Example - -This example exists primarily to test the following documentation: - -* [Node 14-19 Service](https://docs.devwithlando.io/tutorials/node.html) -* [Installing compass in your node service](https://docs.lando.dev/guides/using-compass-on-a-lando-node-service.html) - -## Start up tests - -Run the following commands to get up and running with this example. - -```bash -# Should start up successfully -lando poweroff -lando start -``` - -## Verification commands - -Run the following commands to validate things are rolling as they should. - -```bash -# Should use 19.x as the default version -lando exec defaults -- "env | grep NODE_VERSION=19." - -# Should use a user specified version if given -lando exec custom -- "env | grep NODE_VERSION=18." - -# Should use a user specified patch version if given -lando exec custom2 -- "env | grep NODE_VERSION=19.4.0" - -# Should serve over port 80 by default -lando exec defaults -- "curl http://localhost | grep tune" - -# Should set NODE_EXTRA_CA_CERTS with lando domain CA -lando exec defaults -- "env" | grep NODE_EXTRA_CA_CERTS | grep "$LANDO_CA_CERT" - -# Should only serve over http by default -lando exec defaults -- "curl https://localhost" || echo $? | grep 7 - -# Should serve over specified ports if given -lando exec custom -- "curl http://localhost:3000 | grep tune" - -# Should serve over https is ssl is set by user -lando exec custom -- "curl https://localhost | grep tune" - -# Should servce over a custom https port if ssl is set to a specific port -lando exec custom2 -- "curl https://localhost:4444 | grep DANCING" - -# Should run as root if it needs to -lando exec defaults -- "ps -a -u root" | grep "node" | wc -l | grep 2 -lando exec custom -- "ps -a -u root" | grep "node" | wc -l | grep 2 - -# Should run as node if it can -lando exec custom2 -- "ps -a -u node" | grep "node" | wc -l | grep 2 - -# Should install global dependencies if specified by user and have them available in PATH -lando exec custom -- "gulp -v" -lando exec custom -- "which gulp | grep /var/www/.npm-global" - -# Should PATH prefer node dependency binaries installed in /app/node_modules over global ones -lando exec custom -- "npm install gulp-cli --no-save" -lando exec custom -- "gulp -v" -lando exec custom -- "which gulp | grep /app/node_modules/.bin" -lando exec custom -- "npm uninstall gulp-cli" -lando exec custom -- "which gulp | grep /var/www/.npm-global" - -# Should not serve port for cli -lando exec cli -- "curl http://localhost" || echo $? | grep 7 - -# Should install gruntcli -lando grunt -V -``` - -## Destroy tests - -Run the following commands to trash this app like nothing ever happened. - -```bash -# Should be destroyed with success -lando destroy -y -lando poweroff -``` diff --git a/examples/19/package.json b/examples/19/package.json deleted file mode 100644 index f6e1a0b..0000000 --- a/examples/19/package.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "name": "node-lando", - "version": "1.0.0", - "description": "Node example for Lando", - "main": "app.js", - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - }, - "repository": { - "type": "git", - "url": "https://github.com/lando/lando/tree/master/examples/node" - }, - "keywords": [ - "node", - "docker", - "localdev" - ], - "author": "Mike Pirog", - "license": "MIT", - "dependencies": { - "express": "^4.15.3" - }, - "devDependencies": { - "grunt-contrib-compass": "^1.1.1", - "nodemon": "^2.0.15" - } -} diff --git a/examples/19/src/app-custom.js b/examples/19/src/app-custom.js deleted file mode 100644 index b47fc14..0000000 --- a/examples/19/src/app-custom.js +++ /dev/null @@ -1,28 +0,0 @@ -/** - * Lando node express example - * - * @name taylorswift - */ - -'use strict'; - -// Load modules -const fs = require('fs'); -const http = require('http'); -const https = require('https'); -const express = require('express'); -const app = express(); - -// Create our HTTPS server options -const key = fs.readFileSync('/certs/cert.key'); -const cert = fs.readFileSync('/certs/cert.crt'); - -// Create our servers -https.createServer({key, cert}, app).listen(4444); -http.createServer(app).listen(3000); - -// Basic HTTP response -app.get('/', (req, res) => { - res.header('Content-type', 'text/html'); - return res.end('

DANCING DANCING STARLIGHT

'); -}); diff --git a/examples/19/src/app-http.js b/examples/19/src/app-http.js deleted file mode 100644 index fe682e2..0000000 --- a/examples/19/src/app-http.js +++ /dev/null @@ -1,21 +0,0 @@ -/** - * Lando node express example - * - * @name taylorswift - */ - -'use strict'; - -// Load modules -const http = require('http'); -const express = require('express'); -const app = express(); - -// Create our server -http.createServer(app).listen(80); - -// Basic HTTP response -app.get('/', (req, res) => { - res.header('Content-type', 'text/html'); - return res.end('

I said "Oh my!" What a marvelous tune!!!

'); -}); diff --git a/examples/19/src/app-https.js b/examples/19/src/app-https.js deleted file mode 100644 index 84c81bf..0000000 --- a/examples/19/src/app-https.js +++ /dev/null @@ -1,28 +0,0 @@ -/** - * Lando node express example - * - * @name taylorswift - */ - -'use strict'; - -// Load modules -const fs = require('fs'); -const http = require('http'); -const https = require('https'); -const express = require('express'); -const app = express(); - -// Create our HTTPS server options -const key = fs.readFileSync('/certs/cert.key'); -const cert = fs.readFileSync('/certs/cert.crt'); - -// Create our servers -https.createServer({key, cert}, app).listen(443); -http.createServer(app).listen(3000); - -// Basic HTTP response -app.get('/', (req, res) => { - res.header('Content-type', 'text/html'); - return res.end('

I said "Oh my!" What a marvelous tune!!!

'); -}); diff --git a/examples/21/package.json b/examples/21/package.json index 7f9f428..2eb815c 100644 --- a/examples/21/package.json +++ b/examples/21/package.json @@ -23,5 +23,8 @@ "devDependencies": { "grunt-contrib-compass": "^1.1.1", "nodemon": "^3.0.1" + }, + "resolutions": { + "minimatch": "^9.0.0" } } diff --git a/netlify.toml b/netlify.toml index 760a4d7..0b3d806 100644 --- a/netlify.toml +++ b/netlify.toml @@ -10,7 +10,7 @@ [[context.deploy-preview.plugins]] package = "netlify-plugin-checklinks" [context.deploy-preview.plugins.inputs] - todoPatterns = [ "load", "CHANGELOG.html", "x.com", "twitter.com", "/v/", "https://hub.docker.com/_/node" ] + todoPatterns = [ "load", "CHANGELOG.html", "x.com", "twitter.com", "/v/", "hub.docker.com" ] skipPatterns = [ ".rss", ".gif", ".jpg" ] checkExternal = true