Drop support for Node.js v12 (#11089)

* bump `postcss-load-config` in the oxide engine

* bump `postcss-load-config` in the stable engine

* update changelog

* Switch to stable

* Update Node to v14

* Update to latest dependency versions

* Update test helper for new version of `rimraf`

Co-Authored-By: Jordan Pittman <jordan@cryptica.me>

* Downgrade `lightningcss` to `v1.18.0`

Co-Authored-By: Jordan Pittman <jordan@cryptica.me>

* Switch back to oxide

* Update Github actions from Node 12 to Node 14

* Update oxide dependencies

* Update stable dependencies

* Update `content-resolution` integration test dependencies

* Update `postcss-cli` integration test dependencies

* Update `rollup` integration test dependencies

* Update `rollup-sass` integration test dependencies

* Update `vite` integration test dependencies

* Update `webpack-5` integration test dependencies

* Update changelog

* Remove `color-name` dependency

* Replace `quick-lru` dependency with `@alloc/quick-lru`

* Replace `quick-lru` dependency with `@alloc/quick-lru` in stable

* Fix standalone CLI test

---------

Co-authored-by: Jonathan Reinink <jonathan@reinink.ca>
Co-authored-by: Jordan Pittman <jordan@cryptica.me>
This commit is contained in:
Robin Malfait 2023-04-25 22:28:20 +02:00 • committed by GitHub
parent 9bb45cd162
commit bd0497fc5d
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
21 changed files with 10147 additions and 6402 deletions

View file

@ -24,7 +24,7 @@ jobs:
strategy:
matrix:
node-version: [12, 18]
node-version: [14, 18]
steps:
- uses: actions/checkout@v3

View file

@ -170,7 +170,7 @@ jobs:
include:
- target: x86_64-unknown-linux-gnu
strip: strip
image: docker.io/centos/nodejs-12-centos7
image: docker.io/centos/nodejs-14-centos7
- target: aarch64-unknown-linux-gnu
strip: aarch64-linux-gnu-strip
image: ghcr.io/napi-rs/napi-rs/nodejs-rust:lts-debian

View file

@ -138,7 +138,7 @@ jobs:
include:
- target: x86_64-unknown-linux-gnu
strip: strip
image: docker.io/centos/nodejs-12-centos7
image: docker.io/centos/nodejs-14-centos7
- target: aarch64-unknown-linux-gnu
strip: aarch64-linux-gnu-strip
image: ghcr.io/napi-rs/napi-rs/nodejs-rust:lts-debian

View file

@ -16,7 +16,7 @@ jobs:
strategy:
matrix:
node-version: [12]
node-version: [14]
steps:
- uses: actions/checkout@v3

View file

@ -16,6 +16,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Ensure multiple `theme(spacing[5])` calls with bracket notation in arbitrary properties work ([#11039](https://github.com/tailwindlabs/tailwindcss/pull/11039))
- Normalize arbitrary modifiers ([#11057](https://github.com/tailwindlabs/tailwindcss/pull/11057))
### Changed
- Drop support for Node.js v12 ([#11089](https://github.com/tailwindlabs/tailwindcss/pull/11089))
## [3.3.1] - 2023-03-30
### Fixed

View file

@ -18,7 +18,7 @@
}
},
"devDependencies": {
"postcss": "^8.4.21",
"postcss-cli": "^9.1.0"
"postcss": "^8.4.23",
"postcss-cli": "^10.1.0"
}
}

View file

@ -18,7 +18,7 @@
}
},
"devDependencies": {
"postcss": "^8.4.21",
"postcss-cli": "^9.1.0"
"postcss": "^8.4.23",
"postcss-cli": "^10.1.0"
}
}

View file

@ -18,8 +18,8 @@
}
},
"devDependencies": {
"rollup": "^3.20.0",
"rollup": "^3.21.0",
"rollup-plugin-postcss": "^4.0.2",
"sass": "^1.59.3"
"sass": "^1.62.0"
}
}

View file

@ -18,7 +18,7 @@
}
},
"devDependencies": {
"rollup": "^3.20.0",
"rollup": "^3.21.0",
"rollup-plugin-postcss": "^4.0.2"
}
}

View file

@ -21,6 +21,6 @@
},
"devDependencies": {
"isomorphic-fetch": "^3.0.0",
"vite": "^4.2.1"
"vite": "^4.3.2"
}
}

View file

@ -21,10 +21,10 @@
}
},
"devDependencies": {
"css-loader": "^6.7.1",
"mini-css-extract-plugin": "^2.7.2",
"postcss-loader": "^6.2.1",
"webpack": "^5.75.0",
"webpack-cli": "^5.0.1"
"css-loader": "^6.7.3",
"mini-css-extract-plugin": "^2.7.5",
"postcss-loader": "^7.2.4",
"webpack": "^5.80.0",
"webpack-cli": "^5.0.2"
}
}

View file

@ -1,25 +1,26 @@
import fs from 'fs'
import fs from 'fs/promises'
import path from 'path'
import rimraf from 'rimraf'
import { rimraf } from 'rimraf'
let id = 0
export default function (callback) {
return new Promise((resolve) => {
const workerId = `${process.env.JEST_WORKER_ID}-${id++}`
const tmpPath = path.resolve(__dirname, `../__tmp_${workerId}`)
const currentPath = process.cwd()
/**
* @template T
* @param {() => Promise<T>} callback
* @returns {Promise<T>}
*/
export default async function (callback) {
const workerId = `${process.env.JEST_WORKER_ID}-${id++}`
const tmpPath = path.resolve(__dirname, `../__tmp_${workerId}`)
const currentPath = process.cwd()
rimraf.sync(tmpPath)
fs.mkdirSync(tmpPath)
process.chdir(tmpPath)
await rimraf(tmpPath)
await fs.mkdir(tmpPath)
callback().then(() => {
process.chdir(currentPath)
process.chdir(tmpPath)
let result = await callback()
process.chdir(currentPath)
rimraf.sync(tmpPath)
resolve()
})
})
await rimraf(tmpPath)
return result
}

6849
package-lock.json generated

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -48,55 +48,51 @@
"*.js"
],
"devDependencies": {
"@swc/cli": "0.1.62",
"@swc/core": "1.3.41",
"@swc/jest": "0.2.24",
"@swc/register": "0.1.10",
"@swc/cli": "^0.1.62",
"@swc/core": "^1.3.55",
"@swc/jest": "^0.2.26",
"@swc/register": "^0.1.10",
"autoprefixer": "^10.4.14",
"concurrently": "^7.5.0",
"cssnano": "^5.1.15",
"esbuild": "^0.17.12",
"eslint": "^8.35.0",
"concurrently": "^8.0.1",
"cssnano": "^6.0.0",
"esbuild": "^0.17.18",
"eslint": "^8.39.0",
"eslint-config-prettier": "^8.8.0",
"eslint-plugin-prettier": "^4.2.1",
"jest": "^29.5.0",
"jest-diff": "^29.5.0",
"prettier": "^2.8.7",
"rimraf": "^4.4.0",
"prettier": "^2.8.8",
"rimraf": "^5.0.0",
"source-map-js": "^1.0.2",
"turbo": "^1.8.3"
},
"peerDependencies": {
"postcss": "^8.0.9"
"turbo": "^1.9.3"
},
"dependencies": {
"@alloc/quick-lru": "^5.2.0",
"@tailwindcss/oxide": "file:oxide/crates/node",
"arg": "^5.0.2",
"browserslist": "^4.21.5",
"chokidar": "^3.5.3",
"color-name": "^1.1.4",
"didyoumean": "^1.2.2",
"dlv": "^1.1.3",
"fast-glob": "^3.2.12",
"glob-parent": "^6.0.2",
"is-glob": "^4.0.3",
"jiti": "^1.17.2",
"jiti": "^1.18.2",
"lightningcss": "^1.18.0",
"lilconfig": "^2.1.0",
"micromatch": "^4.0.5",
"normalize-path": "^3.0.0",
"object-hash": "^3.0.0",
"picocolors": "^1.0.0",
"postcss": "^8.4.21",
"postcss-import": "^14.1.0",
"postcss": "^8.4.23",
"postcss-import": "^15.1.0",
"postcss-js": "^4.0.1",
"postcss-load-config": "^3.1.4",
"postcss-nested": "6.0.1",
"postcss-load-config": "^4.0.1",
"postcss-nested": "^6.0.1",
"postcss-selector-parser": "^6.0.11",
"postcss-value-parser": "^4.2.0",
"quick-lru": "^5.1.1",
"resolve": "^1.22.1",
"sucrase": "^3.31.0"
"resolve": "^1.22.2",
"sucrase": "^3.32.0"
},
"browserslist": [
"> 1%",

View file

@ -46,72 +46,77 @@
"*.js"
],
"devDependencies": {
"@swc/cli": "0.1.59",
"@swc/core": "1.3.24",
"@swc/jest": "0.2.24",
"@swc/register": "0.1.10",
"autoprefixer": "^10.4.13",
"browserslist": "^4.21.4",
"concurrently": "^7.5.0",
"cssnano": "^5.1.14",
"esbuild": "^0.16.10",
"eslint": "^8.31.0",
"eslint-config-prettier": "^8.6.0",
"@swc/cli": "^0.1.62",
"@swc/core": "^1.3.55",
"@swc/jest": "^0.2.26",
"@swc/register": "^0.1.10",
"autoprefixer": "^10.4.14",
"browserslist": "^4.21.5",
"concurrently": "^8.0.1",
"cssnano": "^6.0.0",
"esbuild": "^0.17.18",
"eslint": "^8.39.0",
"eslint-config-prettier": "^8.8.0",
"eslint-plugin-prettier": "^4.2.1",
"jest": "^28.1.3",
"jest-diff": "^28.1.3",
"lightningcss": "^1.18.0",
"prettier": "^2.8.1",
"rimraf": "^3.0.0",
"jest": "^29.5.0",
"jest-diff": "^29.5.0",
"lightningcss": "1.18.0",
"prettier": "^2.8.8",
"rimraf": "^5.0.0",
"source-map-js": "^1.0.2",
"turbo": "^1.6.3"
},
"peerDependencies": {
"postcss": "^8.0.9"
"turbo": "^1.9.3"
},
"dependencies": {
"@alloc/quick-lru": "^5.2.0",
"arg": "^5.0.2",
"chokidar": "^3.5.3",
"color-name": "^1.1.4",
"didyoumean": "^1.2.2",
"dlv": "^1.1.3",
"fast-glob": "^3.2.12",
"glob-parent": "^6.0.2",
"is-glob": "^4.0.3",
"jiti": "^1.17.2",
"lilconfig": "^2.0.6",
"jiti": "^1.18.2",
"lilconfig": "^2.1.0",
"micromatch": "^4.0.5",
"normalize-path": "^3.0.0",
"object-hash": "^3.0.0",
"picocolors": "^1.0.0",
"postcss": "^8.0.9",
"postcss-import": "^14.1.0",
"postcss-js": "^4.0.0",
"postcss-load-config": "^3.1.4",
"postcss-nested": "6.0.0",
"postcss": "^8.4.23",
"postcss-import": "^15.1.0",
"postcss-js": "^4.0.1",
"postcss-load-config": "^4.0.1",
"postcss-nested": "^6.0.1",
"postcss-selector-parser": "^6.0.11",
"postcss-value-parser": "^4.2.0",
"quick-lru": "^5.1.1",
"resolve": "^1.22.1",
"sucrase": "^3.29.0"
"resolve": "^1.22.2",
"sucrase": "^3.32.0"
},
"browserslist": ["> 1%", "not edge <= 18", "not ie 11", "not op_mini all"],
"browserslist": [
"> 1%",
"not edge <= 18",
"not ie 11",
"not op_mini all"
],
"jest": {
"testTimeout": 30000,
"setupFilesAfterEnv": ["<rootDir>/jest/customMatchers.js"],
"setupFilesAfterEnv": [
"<rootDir>/jest/customMatchers.js"
],
"testPathIgnorePatterns": [
"/node_modules/",
"/integrations/",
"/standalone-cli/",
"\\.test\\.skip\\.js$"
],
"transformIgnorePatterns": ["node_modules/(?!lightningcss)"],
"transformIgnorePatterns": [
"node_modules/(?!lightningcss)"
],
"transform": {
"\\.js$": "@swc/jest",
"\\.ts$": "@swc/jest"
}
},
"engines": {
"node": ">=12.13.0"
"node": ">=14.0.0"
}
}

View file

@ -1,5 +1,5 @@
import fs from 'fs'
import LRU from 'quick-lru'
import LRU from '@alloc/quick-lru'
import * as sharedState from './sharedState'
import { generateRules } from './generateRules'
import log from '../util/log'

View file

@ -1,7 +1,7 @@
// @ts-check
import fs from 'fs'
import LRU from 'quick-lru'
import LRU from '@alloc/quick-lru'
import hash from '../util/hashConfig'
import resolveConfig from '../public/resolve-config'

View file

@ -1,4 +1,4 @@
import namedColors from 'color-name'
import namedColors from './colorNames'
let HEX = /^#([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})?$/i
let SHORT_HEX = /^#([a-f\d])([a-f\d])([a-f\d])([a-f\d])?$/i

150
src/util/colorNames.js Normal file
View file

@ -0,0 +1,150 @@
export default {
aliceblue: [240, 248, 255],
antiquewhite: [250, 235, 215],
aqua: [0, 255, 255],
aquamarine: [127, 255, 212],
azure: [240, 255, 255],
beige: [245, 245, 220],
bisque: [255, 228, 196],
black: [0, 0, 0],
blanchedalmond: [255, 235, 205],
blue: [0, 0, 255],
blueviolet: [138, 43, 226],
brown: [165, 42, 42],
burlywood: [222, 184, 135],
cadetblue: [95, 158, 160],
chartreuse: [127, 255, 0],
chocolate: [210, 105, 30],
coral: [255, 127, 80],
cornflowerblue: [100, 149, 237],
cornsilk: [255, 248, 220],
crimson: [220, 20, 60],
cyan: [0, 255, 255],
darkblue: [0, 0, 139],
darkcyan: [0, 139, 139],
darkgoldenrod: [184, 134, 11],
darkgray: [169, 169, 169],
darkgreen: [0, 100, 0],
darkgrey: [169, 169, 169],
darkkhaki: [189, 183, 107],
darkmagenta: [139, 0, 139],
darkolivegreen: [85, 107, 47],
darkorange: [255, 140, 0],
darkorchid: [153, 50, 204],
darkred: [139, 0, 0],
darksalmon: [233, 150, 122],
darkseagreen: [143, 188, 143],
darkslateblue: [72, 61, 139],
darkslategray: [47, 79, 79],
darkslategrey: [47, 79, 79],
darkturquoise: [0, 206, 209],
darkviolet: [148, 0, 211],
deeppink: [255, 20, 147],
deepskyblue: [0, 191, 255],
dimgray: [105, 105, 105],
dimgrey: [105, 105, 105],
dodgerblue: [30, 144, 255],
firebrick: [178, 34, 34],
floralwhite: [255, 250, 240],
forestgreen: [34, 139, 34],
fuchsia: [255, 0, 255],
gainsboro: [220, 220, 220],
ghostwhite: [248, 248, 255],
gold: [255, 215, 0],
goldenrod: [218, 165, 32],
gray: [128, 128, 128],
green: [0, 128, 0],
greenyellow: [173, 255, 47],
grey: [128, 128, 128],
honeydew: [240, 255, 240],
hotpink: [255, 105, 180],
indianred: [205, 92, 92],
indigo: [75, 0, 130],
ivory: [255, 255, 240],
khaki: [240, 230, 140],
lavender: [230, 230, 250],
lavenderblush: [255, 240, 245],
lawngreen: [124, 252, 0],
lemonchiffon: [255, 250, 205],
lightblue: [173, 216, 230],
lightcoral: [240, 128, 128],
lightcyan: [224, 255, 255],
lightgoldenrodyellow: [250, 250, 210],
lightgray: [211, 211, 211],
lightgreen: [144, 238, 144],
lightgrey: [211, 211, 211],
lightpink: [255, 182, 193],
lightsalmon: [255, 160, 122],
lightseagreen: [32, 178, 170],
lightskyblue: [135, 206, 250],
lightslategray: [119, 136, 153],
lightslategrey: [119, 136, 153],
lightsteelblue: [176, 196, 222],
lightyellow: [255, 255, 224],
lime: [0, 255, 0],
limegreen: [50, 205, 50],
linen: [250, 240, 230],
magenta: [255, 0, 255],
maroon: [128, 0, 0],
mediumaquamarine: [102, 205, 170],
mediumblue: [0, 0, 205],
mediumorchid: [186, 85, 211],
mediumpurple: [147, 112, 219],
mediumseagreen: [60, 179, 113],
mediumslateblue: [123, 104, 238],
mediumspringgreen: [0, 250, 154],
mediumturquoise: [72, 209, 204],
mediumvioletred: [199, 21, 133],
midnightblue: [25, 25, 112],
mintcream: [245, 255, 250],
mistyrose: [255, 228, 225],
moccasin: [255, 228, 181],
navajowhite: [255, 222, 173],
navy: [0, 0, 128],
oldlace: [253, 245, 230],
olive: [128, 128, 0],
olivedrab: [107, 142, 35],
orange: [255, 165, 0],
orangered: [255, 69, 0],
orchid: [218, 112, 214],
palegoldenrod: [238, 232, 170],
palegreen: [152, 251, 152],
paleturquoise: [175, 238, 238],
palevioletred: [219, 112, 147],
papayawhip: [255, 239, 213],
peachpuff: [255, 218, 185],
peru: [205, 133, 63],
pink: [255, 192, 203],
plum: [221, 160, 221],
powderblue: [176, 224, 230],
purple: [128, 0, 128],
rebeccapurple: [102, 51, 153],
red: [255, 0, 0],
rosybrown: [188, 143, 143],
royalblue: [65, 105, 225],
saddlebrown: [139, 69, 19],
salmon: [250, 128, 114],
sandybrown: [244, 164, 96],
seagreen: [46, 139, 87],
seashell: [255, 245, 238],
sienna: [160, 82, 45],
silver: [192, 192, 192],
skyblue: [135, 206, 235],
slateblue: [106, 90, 205],
slategray: [112, 128, 144],
slategrey: [112, 128, 144],
snow: [255, 250, 250],
springgreen: [0, 255, 127],
steelblue: [70, 130, 180],
tan: [210, 180, 140],
teal: [0, 128, 128],
thistle: [216, 191, 216],
tomato: [255, 99, 71],
turquoise: [64, 224, 208],
violet: [238, 130, 238],
wheat: [245, 222, 179],
white: [255, 255, 255],
whitesmoke: [245, 245, 245],
yellow: [255, 255, 0],
yellowgreen: [154, 205, 50],
}

View file

@ -58,7 +58,7 @@ async function inIsolatedContext(fn) {
let dest = `${os.tmpdir()}/tailwindcss-cli`
// Recursively copy the dist and tests folders
let dirs = ['dist', 'tests']
let dirs = ['dist', 'tests', 'tailwind.config.js']
await Promise.all(
dirs.map((dir) =>