tailwindcss 3.2.6 → 3.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +52 -8
- package/lib/cli/build/index.js +7 -3
- package/lib/cli/build/plugin.js +28 -19
- package/lib/cli/build/watching.js +4 -2
- package/lib/cli/index.js +12 -21
- package/lib/cli/init/index.js +21 -6
- package/lib/corePluginList.js +4 -0
- package/lib/corePlugins.js +282 -26
- package/lib/css/preflight.css +2 -0
- package/lib/featureFlags.js +8 -1
- package/lib/lib/expandApplyAtRules.js +2 -1
- package/lib/lib/generateRules.js +20 -16
- package/lib/lib/getModuleDependencies.js +79 -33
- package/lib/lib/load-config.js +36 -0
- package/lib/lib/setupContextUtils.js +10 -2
- package/lib/lib/setupTrackingContext.js +4 -4
- package/lib/oxide/cli/build/index.js +7 -3
- package/lib/oxide/cli/build/plugin.js +27 -18
- package/lib/oxide/cli/build/watching.js +1 -1
- package/lib/oxide/cli/index.js +10 -16
- package/lib/oxide/cli/init/index.js +19 -4
- package/lib/public/colors.js +44 -22
- package/lib/public/default-config.js +2 -2
- package/lib/public/default-theme.js +2 -2
- package/lib/public/load-config.js +10 -0
- package/lib/util/applyImportantSelector.js +22 -0
- package/lib/util/dataTypes.js +3 -0
- package/lib/util/formatVariantSelector.js +2 -12
- package/lib/util/getAllConfigs.js +2 -2
- package/lib/util/normalizeConfig.js +16 -3
- package/lib/util/pluginUtils.js +14 -26
- package/lib/util/resolveConfigPath.js +19 -7
- package/lib/util/splitAtTopLevelOnly.js +7 -1
- package/loadConfig.d.ts +4 -0
- package/loadConfig.js +2 -0
- package/package.json +5 -4
- package/src/cli/build/index.js +7 -7
- package/src/cli/build/plugin.js +28 -23
- package/src/cli/build/watching.js +4 -2
- package/src/cli/index.js +8 -26
- package/src/cli/init/index.js +37 -8
- package/src/corePluginList.js +1 -1
- package/src/corePlugins.js +184 -27
- package/src/css/preflight.css +2 -0
- package/src/featureFlags.js +7 -0
- package/src/lib/expandApplyAtRules.js +2 -1
- package/src/lib/generateRules.js +35 -15
- package/src/lib/getModuleDependencies.js +70 -30
- package/src/lib/load-config.ts +27 -0
- package/src/lib/setupContextUtils.js +9 -2
- package/src/lib/setupTrackingContext.js +4 -4
- package/src/oxide/cli/build/index.ts +7 -7
- package/src/oxide/cli/build/plugin.ts +28 -22
- package/src/oxide/cli/build/watching.ts +1 -1
- package/src/oxide/cli/index.ts +7 -15
- package/src/oxide/cli/init/index.ts +34 -7
- package/src/public/colors.js +22 -0
- package/src/public/default-config.js +1 -1
- package/src/public/default-theme.js +2 -2
- package/src/public/load-config.js +2 -0
- package/src/util/applyImportantSelector.js +19 -0
- package/src/util/dataTypes.js +4 -0
- package/src/util/formatVariantSelector.js +1 -1
- package/src/util/getAllConfigs.js +2 -2
- package/src/util/normalizeConfig.js +19 -1
- package/src/util/pluginUtils.js +20 -31
- package/src/util/resolveConfigPath.js +12 -1
- package/src/util/splitAtTopLevelOnly.js +8 -1
- package/stubs/.gitignore +1 -0
- package/stubs/.prettierrc.json +6 -0
- package/stubs/{defaultConfig.stub.js → config.full.js} +38 -3
- package/stubs/{simpleConfig.stub.js → config.simple.js} +0 -1
- package/stubs/postcss.config.js +6 -0
- package/stubs/tailwind.config.cjs +2 -0
- package/stubs/tailwind.config.js +2 -0
- package/stubs/tailwind.config.ts +3 -0
- package/types/config.d.ts +7 -1
- package/types/generated/colors.d.ts +22 -0
- package/types/generated/corePluginList.d.ts +1 -1
- package/types/generated/default-theme.d.ts +31 -2
- package/lib/constants.js +0 -44
- package/src/constants.js +0 -17
- /package/stubs/{defaultPostCssConfig.stub.js → postcss.config.cjs} +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -9,11 +9,53 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
9
9
|
|
|
10
10
|
- Nothing yet!
|
|
11
11
|
|
|
12
|
+
## [3.3.0] - 2023-03-27
|
|
13
|
+
|
|
14
|
+
### Added
|
|
15
|
+
|
|
16
|
+
- Support ESM and TypeScript config files ([#10785](https://github.com/tailwindlabs/tailwindcss/pull/10785))
|
|
17
|
+
- Extend default color palette with new 950 shades ([#10879](https://github.com/tailwindlabs/tailwindcss/pull/10879))
|
|
18
|
+
- Add `line-height` modifier support to `font-size` utilities ([#9875](https://github.com/tailwindlabs/tailwindcss/pull/9875))
|
|
19
|
+
- Add support for using variables as arbitrary values without `var(...)` ([#9880](https://github.com/tailwindlabs/tailwindcss/pull/9880), [#9962](https://github.com/tailwindlabs/tailwindcss/pull/9962))
|
|
20
|
+
- Add logical properties support for inline direction ([#10166](https://github.com/tailwindlabs/tailwindcss/pull/10166))
|
|
21
|
+
- Add `hyphens` utilities ([#10071](https://github.com/tailwindlabs/tailwindcss/pull/10071))
|
|
22
|
+
- Add `from-{position}`, `via-{position}` and `to-{position}` utilities ([#10886](https://github.com/tailwindlabs/tailwindcss/pull/10886))
|
|
23
|
+
- Add `list-style-image` utilities ([#10817](https://github.com/tailwindlabs/tailwindcss/pull/10817))
|
|
24
|
+
- Add `caption-side` utilities ([#10470](https://github.com/tailwindlabs/tailwindcss/pull/10470))
|
|
25
|
+
- Add `line-clamp` utilities from `@tailwindcss/line-clamp` to core ([#10768](https://github.com/tailwindlabs/tailwindcss/pull/10768), [#10876](https://github.com/tailwindlabs/tailwindcss/pull/10876), [#10862](https://github.com/tailwindlabs/tailwindcss/pull/10862))
|
|
26
|
+
- Add `delay-0` and `duration-0` utilities ([#10294](https://github.com/tailwindlabs/tailwindcss/pull/10294))
|
|
27
|
+
- Add `justify-normal` and `justify-stretch` utilities ([#10560](https://github.com/tailwindlabs/tailwindcss/pull/10560))
|
|
28
|
+
- Add `content-normal` and `content-stretch` utilities ([#10645](https://github.com/tailwindlabs/tailwindcss/pull/10645))
|
|
29
|
+
- Add `whitespace-break-spaces` utility ([#10729](https://github.com/tailwindlabs/tailwindcss/pull/10729))
|
|
30
|
+
- Add support for configuring default `font-variation-settings` for a `font-family` ([#10034](https://github.com/tailwindlabs/tailwindcss/pull/10034), [#10515](https://github.com/tailwindlabs/tailwindcss/pull/10515))
|
|
31
|
+
|
|
32
|
+
### Fixed
|
|
33
|
+
|
|
34
|
+
- Disallow using multiple selectors in arbitrary variants ([#10655](https://github.com/tailwindlabs/tailwindcss/pull/10655))
|
|
35
|
+
- Sort class lists deterministically for Prettier plugin ([#10672](https://github.com/tailwindlabs/tailwindcss/pull/10672))
|
|
36
|
+
- Ensure CLI builds have a non-zero exit code on failure ([#10703](https://github.com/tailwindlabs/tailwindcss/pull/10703))
|
|
37
|
+
- Ensure module dependencies for value `null`, is an empty `Set` ([#10877](https://github.com/tailwindlabs/tailwindcss/pull/10877))
|
|
38
|
+
- Fix format assumption when resolving module dependencies ([#10878](https://github.com/tailwindlabs/tailwindcss/pull/10878))
|
|
39
|
+
|
|
40
|
+
### Changed
|
|
41
|
+
|
|
42
|
+
- Mark `rtl` and `ltr` variants as stable and remove warnings ([#10764](https://github.com/tailwindlabs/tailwindcss/pull/10764))
|
|
43
|
+
- Use `inset` instead of `top`, `right`, `bottom`, and `left` properties ([#10765](https://github.com/tailwindlabs/tailwindcss/pull/10765))
|
|
44
|
+
- Make `dark` and `rtl`/`ltr` variants insensitive to DOM order ([#10766](https://github.com/tailwindlabs/tailwindcss/pull/10766))
|
|
45
|
+
- Use `:is` to make important selector option insensitive to DOM order ([#10835](https://github.com/tailwindlabs/tailwindcss/pull/10835))
|
|
46
|
+
|
|
47
|
+
## [3.2.7] - 2023-02-16
|
|
48
|
+
|
|
49
|
+
### Fixed
|
|
50
|
+
|
|
51
|
+
- Fix use of `:where(.btn)` when matching `!btn` ([#10601](https://github.com/tailwindlabs/tailwindcss/pull/10601))
|
|
52
|
+
- Revert including `outline-color` in `transition` and `transition-colors` by default ([#10604](https://github.com/tailwindlabs/tailwindcss/pull/10604))
|
|
53
|
+
|
|
12
54
|
## [3.2.6] - 2023-02-08
|
|
13
55
|
|
|
14
56
|
### Fixed
|
|
15
57
|
|
|
16
|
-
-
|
|
58
|
+
- Fix installation failing with yarn and pnpm by dropping `oxide-api-shim` ([add1636](https://github.com/tailwindlabs/tailwindcss/commit/add16364b4b1100e1af23ad1ca6900a0b53cbba0))
|
|
17
59
|
|
|
18
60
|
## [3.2.5] - 2023-02-08
|
|
19
61
|
|
|
@@ -26,7 +68,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
26
68
|
- Cleanup unused `variantOrder` ([#9829](https://github.com/tailwindlabs/tailwindcss/pull/9829))
|
|
27
69
|
- Fix `foo-[abc]/[def]` not being handled correctly ([#9866](https://github.com/tailwindlabs/tailwindcss/pull/9866))
|
|
28
70
|
- Add container queries plugin to standalone CLI ([#9865](https://github.com/tailwindlabs/tailwindcss/pull/9865))
|
|
29
|
-
- Support renaming of output files by
|
|
71
|
+
- Support renaming of output files by PostCSS plugins in CLI ([#9944](https://github.com/tailwindlabs/tailwindcss/pull/9944))
|
|
30
72
|
- Improve return value of `resolveConfig`, unwrap `ResolvableTo` ([#9972](https://github.com/tailwindlabs/tailwindcss/pull/9972))
|
|
31
73
|
- Clip unbalanced brackets in arbitrary values ([#9973](https://github.com/tailwindlabs/tailwindcss/pull/9973))
|
|
32
74
|
- Don’t reorder webkit scrollbar pseudo elements ([#9991](https://github.com/tailwindlabs/tailwindcss/pull/9991))
|
|
@@ -55,7 +97,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
55
97
|
|
|
56
98
|
- Alphabetize `theme` keys in default config ([#9953](https://github.com/tailwindlabs/tailwindcss/pull/9953))
|
|
57
99
|
- Update esbuild to v17 ([#10368](https://github.com/tailwindlabs/tailwindcss/pull/10368))
|
|
58
|
-
- Include `outline-color` in `transition` and `transition-colors`
|
|
100
|
+
- Include `outline-color` in `transition` and `transition-colors` utilities ([#10385](https://github.com/tailwindlabs/tailwindcss/pull/10385))
|
|
59
101
|
|
|
60
102
|
## [3.2.4] - 2022-11-11
|
|
61
103
|
|
|
@@ -97,7 +139,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
97
139
|
- Fix missing `supports` in types ([#9616](https://github.com/tailwindlabs/tailwindcss/pull/9616))
|
|
98
140
|
- Fix missing PostCSS dependencies in the CLI ([#9617](https://github.com/tailwindlabs/tailwindcss/pull/9617))
|
|
99
141
|
- Ensure `micromatch` is a proper CLI dependency ([#9620](https://github.com/tailwindlabs/tailwindcss/pull/9620))
|
|
100
|
-
- Ensure modifier values exist when using a `modifiers` object for `matchVariant` ([
|
|
142
|
+
- Ensure modifier values exist when using a `modifiers` object for `matchVariant` ([ba6551d](https://github.com/tailwindlabs/tailwindcss/commit/ba6551db0f2726461371b4f3c6cd4c7090888504))
|
|
101
143
|
|
|
102
144
|
## [3.2.0] - 2022-10-19
|
|
103
145
|
|
|
@@ -288,7 +330,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
288
330
|
- Split box shadows on top-level commas only ([#7479](https://github.com/tailwindlabs/tailwindcss/pull/7479))
|
|
289
331
|
- Use local user CSS cache for `@apply` ([#7524](https://github.com/tailwindlabs/tailwindcss/pull/7524))
|
|
290
332
|
- Invalidate context when main CSS changes ([#7626](https://github.com/tailwindlabs/tailwindcss/pull/7626))
|
|
291
|
-
- Only add `!` to selector class matching template candidate when using important modifier with
|
|
333
|
+
- Only add `!` to selector class matching template candidate when using important modifier with multi-class selectors ([#7664](https://github.com/tailwindlabs/tailwindcss/pull/7664))
|
|
292
334
|
- Correctly parse and prefix animation names with dots ([#7163](https://github.com/tailwindlabs/tailwindcss/pull/7163))
|
|
293
335
|
- Fix extraction from template literal/function with array ([#7481](https://github.com/tailwindlabs/tailwindcss/pull/7481))
|
|
294
336
|
- Don't output unparsable arbitrary values ([#7789](https://github.com/tailwindlabs/tailwindcss/pull/7789))
|
|
@@ -732,7 +774,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
732
774
|
- Remove outdated focus style fix in Preflight ([#4780](https://github.com/tailwindlabs/tailwindcss/pull/4780))
|
|
733
775
|
- Enable `purge` if provided on the CLI ([#4772](https://github.com/tailwindlabs/tailwindcss/pull/4772))
|
|
734
776
|
- JIT: Fix error when not using a config file with postcss-cli ([#4773](https://github.com/tailwindlabs/tailwindcss/pull/4773))
|
|
735
|
-
- Fix issue with `resolveConfig` not being importable in Next.js
|
|
777
|
+
- Fix issue with `resolveConfig` not being importable in Next.js pages ([#4725](https://github.com/tailwindlabs/tailwindcss/pull/4725))
|
|
736
778
|
|
|
737
779
|
## [2.2.2] - 2021-06-18
|
|
738
780
|
|
|
@@ -867,7 +909,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
867
909
|
|
|
868
910
|
### Fixed
|
|
869
911
|
|
|
870
|
-
- Fix issue with `@apply` not working as expected with `!important` inside an
|
|
912
|
+
- Fix issue with `@apply` not working as expected with `!important` inside an at-rule ([#2824](https://github.com/tailwindlabs/tailwindcss/pull/2824))
|
|
871
913
|
- Fix issue with `@apply` not working as expected with defined classes ([#2832](https://github.com/tailwindlabs/tailwindcss/pull/2832))
|
|
872
914
|
- Fix memory leak, and broken `@apply` when splitting up files ([#3032](https://github.com/tailwindlabs/tailwindcss/pull/3032))
|
|
873
915
|
|
|
@@ -2169,7 +2211,9 @@ No release notes
|
|
|
2169
2211
|
|
|
2170
2212
|
- Everything!
|
|
2171
2213
|
|
|
2172
|
-
[unreleased]: https://github.com/tailwindlabs/tailwindcss/compare/v3.
|
|
2214
|
+
[unreleased]: https://github.com/tailwindlabs/tailwindcss/compare/v3.3.0...HEAD
|
|
2215
|
+
[3.3.0]: https://github.com/tailwindlabs/tailwindcss/compare/v3.2.7...v3.3.0
|
|
2216
|
+
[3.2.7]: https://github.com/tailwindlabs/tailwindcss/compare/v3.2.6...v3.2.7
|
|
2173
2217
|
[3.2.6]: https://github.com/tailwindlabs/tailwindcss/compare/v3.2.5...v3.2.6
|
|
2174
2218
|
[3.2.5]: https://github.com/tailwindlabs/tailwindcss/compare/v3.2.4...v3.2.5
|
|
2175
2219
|
[3.2.4]: https://github.com/tailwindlabs/tailwindcss/compare/v3.2.3...v3.2.4
|
package/lib/cli/build/index.js
CHANGED
|
@@ -9,13 +9,14 @@ Object.defineProperty(exports, "build", {
|
|
|
9
9
|
});
|
|
10
10
|
const _fs = /*#__PURE__*/ _interopRequireDefault(require("fs"));
|
|
11
11
|
const _path = /*#__PURE__*/ _interopRequireDefault(require("path"));
|
|
12
|
+
const _resolveConfigPathJs = require("../../util/resolveConfigPath.js");
|
|
12
13
|
const _pluginJs = require("./plugin.js");
|
|
13
14
|
function _interopRequireDefault(obj) {
|
|
14
15
|
return obj && obj.__esModule ? obj : {
|
|
15
16
|
default: obj
|
|
16
17
|
};
|
|
17
18
|
}
|
|
18
|
-
async function build(args
|
|
19
|
+
async function build(args) {
|
|
19
20
|
let input = args["--input"];
|
|
20
21
|
let shouldWatch = args["--watch"];
|
|
21
22
|
// TODO: Deprecate this in future versions
|
|
@@ -32,7 +33,7 @@ async function build(args, configs) {
|
|
|
32
33
|
process.exit(9);
|
|
33
34
|
}
|
|
34
35
|
// TODO: Reference the @config path here if exists
|
|
35
|
-
let configPath = args["--config"] ? args["--config"] : (
|
|
36
|
+
let configPath = args["--config"] ? args["--config"] : (0, _resolveConfigPathJs.resolveDefaultConfigPath)();
|
|
36
37
|
let processor = await (0, _pluginJs.createProcessor)(args, configPath);
|
|
37
38
|
if (shouldWatch) {
|
|
38
39
|
// Abort the watcher if stdin is closed to avoid zombie processes
|
|
@@ -43,6 +44,9 @@ async function build(args, configs) {
|
|
|
43
44
|
process.stdin.resume();
|
|
44
45
|
await processor.watch();
|
|
45
46
|
} else {
|
|
46
|
-
await processor.build()
|
|
47
|
+
await processor.build().catch((e)=>{
|
|
48
|
+
console.error(e);
|
|
49
|
+
process.exit(1);
|
|
50
|
+
});
|
|
47
51
|
}
|
|
48
52
|
}
|
package/lib/cli/build/plugin.js
CHANGED
|
@@ -20,12 +20,13 @@ const _deps = require("./deps");
|
|
|
20
20
|
const _utils = require("./utils");
|
|
21
21
|
const _sharedState = require("../../lib/sharedState");
|
|
22
22
|
const _resolveConfigJs = /*#__PURE__*/ _interopRequireDefault(require("../../../resolveConfig.js"));
|
|
23
|
-
const _getModuleDependenciesJs = /*#__PURE__*/ _interopRequireDefault(require("../../lib/getModuleDependencies.js"));
|
|
24
23
|
const _contentJs = require("../../lib/content.js");
|
|
25
24
|
const _watchingJs = require("./watching.js");
|
|
26
25
|
const _fastGlob = /*#__PURE__*/ _interopRequireDefault(require("fast-glob"));
|
|
27
26
|
const _findAtConfigPathJs = require("../../lib/findAtConfigPath.js");
|
|
28
27
|
const _log = /*#__PURE__*/ _interopRequireDefault(require("../../util/log"));
|
|
28
|
+
const _loadConfig = require("../../lib/load-config");
|
|
29
|
+
const _getModuleDependencies = /*#__PURE__*/ _interopRequireDefault(require("../../lib/getModuleDependencies"));
|
|
29
30
|
function _interopRequireDefault(obj) {
|
|
30
31
|
return obj && obj.__esModule ? obj : {
|
|
31
32
|
default: obj
|
|
@@ -109,7 +110,7 @@ let state = {
|
|
|
109
110
|
/** @type {any} */ context: null,
|
|
110
111
|
/** @type {ReturnType<typeof createWatcher> | null} */ watcher: null,
|
|
111
112
|
/** @type {{content: string, extension: string}[]} */ changedContent: [],
|
|
112
|
-
|
|
113
|
+
/** @type {ReturnType<typeof load> | null} */ configBag: null,
|
|
113
114
|
contextDependencies: new Set(),
|
|
114
115
|
/** @type {import('../../lib/content.js').ContentPath[]} */ contentPaths: [],
|
|
115
116
|
refreshContentPaths () {
|
|
@@ -127,32 +128,35 @@ let state = {
|
|
|
127
128
|
},
|
|
128
129
|
loadConfig (configPath, content) {
|
|
129
130
|
if (this.watcher && configPath) {
|
|
130
|
-
this.refreshConfigDependencies(
|
|
131
|
+
this.refreshConfigDependencies();
|
|
131
132
|
}
|
|
132
|
-
let config =
|
|
133
|
+
let config = (0, _loadConfig.loadConfig)(configPath);
|
|
134
|
+
let dependencies = (0, _getModuleDependencies.default)(configPath);
|
|
135
|
+
this.configBag = {
|
|
136
|
+
config,
|
|
137
|
+
dependencies,
|
|
138
|
+
dispose () {
|
|
139
|
+
for (let file of dependencies){
|
|
140
|
+
delete require.cache[require.resolve(file)];
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
};
|
|
133
144
|
// @ts-ignore
|
|
134
|
-
config = (0, _resolveConfigJs.default)(config, {
|
|
145
|
+
this.configBag.config = (0, _resolveConfigJs.default)(this.configBag.config, {
|
|
135
146
|
content: {
|
|
136
147
|
files: []
|
|
137
148
|
}
|
|
138
149
|
});
|
|
139
150
|
// Override content files if `--content` has been passed explicitly
|
|
140
151
|
if ((content === null || content === void 0 ? void 0 : content.length) > 0) {
|
|
141
|
-
config.content.files = content;
|
|
152
|
+
this.configBag.config.content.files = content;
|
|
142
153
|
}
|
|
143
|
-
return config;
|
|
154
|
+
return this.configBag.config;
|
|
144
155
|
},
|
|
145
|
-
refreshConfigDependencies (
|
|
156
|
+
refreshConfigDependencies () {
|
|
157
|
+
var _this_configBag;
|
|
146
158
|
_sharedState.env.DEBUG && console.time("Module dependencies");
|
|
147
|
-
|
|
148
|
-
delete require.cache[require.resolve(file)];
|
|
149
|
-
}
|
|
150
|
-
if (configPath) {
|
|
151
|
-
let deps = (0, _getModuleDependenciesJs.default)(configPath).map(({ file })=>file);
|
|
152
|
-
for (let dependency of deps){
|
|
153
|
-
this.configDependencies.add(dependency);
|
|
154
|
-
}
|
|
155
|
-
}
|
|
159
|
+
(_this_configBag = this.configBag) === null || _this_configBag === void 0 ? void 0 : _this_configBag.dispose();
|
|
156
160
|
_sharedState.env.DEBUG && console.timeEnd("Module dependencies");
|
|
157
161
|
},
|
|
158
162
|
readContentPaths () {
|
|
@@ -326,7 +330,11 @@ async function createProcessor(args, cliConfigPath) {
|
|
|
326
330
|
// If you fix it and then save the main CSS file so there's no error
|
|
327
331
|
// The watcher will start watching the imported CSS files and will be
|
|
328
332
|
// resilient to future errors.
|
|
329
|
-
|
|
333
|
+
if (state.watcher) {
|
|
334
|
+
console.error(err);
|
|
335
|
+
} else {
|
|
336
|
+
return Promise.reject(err);
|
|
337
|
+
}
|
|
330
338
|
});
|
|
331
339
|
}
|
|
332
340
|
/**
|
|
@@ -349,7 +357,8 @@ async function createProcessor(args, cliConfigPath) {
|
|
|
349
357
|
* @param {{file: string, content(): Promise<string>, extension: string}[]} changes
|
|
350
358
|
*/ async rebuild (changes) {
|
|
351
359
|
let needsNewContext = changes.some((change)=>{
|
|
352
|
-
|
|
360
|
+
var _state_configBag;
|
|
361
|
+
return ((_state_configBag = state.configBag) === null || _state_configBag === void 0 ? void 0 : _state_configBag.dependencies.has(change.file)) || state.contextDependencies.has(change.file);
|
|
353
362
|
});
|
|
354
363
|
if (needsNewContext) {
|
|
355
364
|
state.context = null;
|
|
@@ -64,7 +64,9 @@ function createWatcher(args, { state , rebuild }) {
|
|
|
64
64
|
// Clear all pending rebuilds for the about-to-be-built files
|
|
65
65
|
changes.forEach((change)=>pendingRebuilds.delete(change.file));
|
|
66
66
|
// Resolve the promise even when the rebuild fails
|
|
67
|
-
return rebuild(changes).then(()=>{}, ()=>{
|
|
67
|
+
return rebuild(changes).then(()=>{}, (e)=>{
|
|
68
|
+
console.error(e.toString());
|
|
69
|
+
});
|
|
68
70
|
}
|
|
69
71
|
/**
|
|
70
72
|
*
|
|
@@ -171,7 +173,7 @@ function createWatcher(args, { state , rebuild }) {
|
|
|
171
173
|
fswatcher: watcher,
|
|
172
174
|
refreshWatchedFiles () {
|
|
173
175
|
watcher.add(Array.from(state.contextDependencies));
|
|
174
|
-
watcher.add(Array.from(state.
|
|
176
|
+
watcher.add(Array.from(state.configBag.dependencies));
|
|
175
177
|
watcher.add(state.contentPatterns.all);
|
|
176
178
|
}
|
|
177
179
|
};
|
package/lib/cli/index.js
CHANGED
|
@@ -14,23 +14,6 @@ function _interopRequireDefault(obj) {
|
|
|
14
14
|
default: obj
|
|
15
15
|
};
|
|
16
16
|
}
|
|
17
|
-
function isESM() {
|
|
18
|
-
const pkgPath = _path.default.resolve("./package.json");
|
|
19
|
-
try {
|
|
20
|
-
let pkg = JSON.parse(_fs.default.readFileSync(pkgPath, "utf8"));
|
|
21
|
-
return pkg.type && pkg.type === "module";
|
|
22
|
-
} catch (err) {
|
|
23
|
-
return false;
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
let configs = isESM() ? {
|
|
27
|
-
tailwind: "tailwind.config.cjs",
|
|
28
|
-
postcss: "postcss.config.cjs"
|
|
29
|
-
} : {
|
|
30
|
-
tailwind: "tailwind.config.js",
|
|
31
|
-
postcss: "postcss.config.js"
|
|
32
|
-
};
|
|
33
|
-
// ---
|
|
34
17
|
function oneOf(...options) {
|
|
35
18
|
return Object.assign((value = true)=>{
|
|
36
19
|
for (let option of options){
|
|
@@ -48,13 +31,21 @@ let commands = {
|
|
|
48
31
|
init: {
|
|
49
32
|
run: _init.init,
|
|
50
33
|
args: {
|
|
51
|
-
"--
|
|
34
|
+
"--esm": {
|
|
52
35
|
type: Boolean,
|
|
53
|
-
description: `Initialize
|
|
36
|
+
description: `Initialize configuration file as ESM`
|
|
37
|
+
},
|
|
38
|
+
"--ts": {
|
|
39
|
+
type: Boolean,
|
|
40
|
+
description: `Initialize configuration file as TypeScript`
|
|
54
41
|
},
|
|
55
42
|
"--postcss": {
|
|
56
43
|
type: Boolean,
|
|
57
|
-
description: `Initialize a
|
|
44
|
+
description: `Initialize a \`postcss.config.js\` file`
|
|
45
|
+
},
|
|
46
|
+
"--full": {
|
|
47
|
+
type: Boolean,
|
|
48
|
+
description: `Include the default values for all options in the generated configuration file`
|
|
58
49
|
},
|
|
59
50
|
"-f": "--full",
|
|
60
51
|
"-p": "--postcss"
|
|
@@ -236,4 +227,4 @@ if (args["--help"]) {
|
|
|
236
227
|
});
|
|
237
228
|
process.exit(0);
|
|
238
229
|
}
|
|
239
|
-
run(args
|
|
230
|
+
run(args);
|
package/lib/cli/init/index.js
CHANGED
|
@@ -14,25 +14,40 @@ function _interopRequireDefault(obj) {
|
|
|
14
14
|
default: obj
|
|
15
15
|
};
|
|
16
16
|
}
|
|
17
|
-
function
|
|
17
|
+
function isESM() {
|
|
18
|
+
const pkgPath = _path.default.resolve("./package.json");
|
|
19
|
+
try {
|
|
20
|
+
let pkg = JSON.parse(_fs.default.readFileSync(pkgPath, "utf8"));
|
|
21
|
+
return pkg.type && pkg.type === "module";
|
|
22
|
+
} catch (err) {
|
|
23
|
+
return false;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
function init(args) {
|
|
18
27
|
let messages = [];
|
|
28
|
+
let isProjectESM = args["--ts"] || args["--esm"] || isESM();
|
|
29
|
+
let syntax = args["--ts"] ? "ts" : isProjectESM ? "js" : "cjs";
|
|
30
|
+
let extension = args["--ts"] ? "ts" : "js";
|
|
19
31
|
var _args___;
|
|
20
|
-
let tailwindConfigLocation = _path.default.resolve((_args___ = args["_"][1]) !== null && _args___ !== void 0 ? _args___ :
|
|
32
|
+
let tailwindConfigLocation = _path.default.resolve((_args___ = args["_"][1]) !== null && _args___ !== void 0 ? _args___ : `./tailwind.config.${extension}`);
|
|
21
33
|
if (_fs.default.existsSync(tailwindConfigLocation)) {
|
|
22
34
|
messages.push(`${_path.default.basename(tailwindConfigLocation)} already exists.`);
|
|
23
35
|
} else {
|
|
24
|
-
let
|
|
36
|
+
let stubContentsFile = _fs.default.readFileSync(args["--full"] ? _path.default.resolve(__dirname, "../../../stubs/config.full.js") : _path.default.resolve(__dirname, "../../../stubs/config.simple.js"), "utf8");
|
|
37
|
+
let stubFile = _fs.default.readFileSync(_path.default.resolve(__dirname, `../../../stubs/tailwind.config.${syntax}`), "utf8");
|
|
25
38
|
// Change colors import
|
|
26
|
-
|
|
39
|
+
stubContentsFile = stubContentsFile.replace("../colors", "tailwindcss/colors");
|
|
40
|
+
// Replace contents of {ts,js,cjs} file with the stub {simple,full}.
|
|
41
|
+
stubFile = stubFile.replace("__CONFIG__", stubContentsFile.replace("module.exports =", "").trim()).trim() + "\n\n";
|
|
27
42
|
_fs.default.writeFileSync(tailwindConfigLocation, stubFile, "utf8");
|
|
28
43
|
messages.push(`Created Tailwind CSS config file: ${_path.default.basename(tailwindConfigLocation)}`);
|
|
29
44
|
}
|
|
30
45
|
if (args["--postcss"]) {
|
|
31
|
-
let postcssConfigLocation = _path.default.resolve(
|
|
46
|
+
let postcssConfigLocation = _path.default.resolve("./postcss.config.js");
|
|
32
47
|
if (_fs.default.existsSync(postcssConfigLocation)) {
|
|
33
48
|
messages.push(`${_path.default.basename(postcssConfigLocation)} already exists.`);
|
|
34
49
|
} else {
|
|
35
|
-
let stubFile1 = _fs.default.readFileSync(_path.default.resolve(__dirname, "../../../stubs/
|
|
50
|
+
let stubFile1 = _fs.default.readFileSync(isProjectESM ? _path.default.resolve(__dirname, "../../../stubs/postcss.config.js") : _path.default.resolve(__dirname, "../../../stubs/postcss.config.cjs"), "utf8");
|
|
36
51
|
_fs.default.writeFileSync(postcssConfigLocation, stubFile1, "utf8");
|
|
37
52
|
messages.push(`Created PostCSS config file: ${_path.default.basename(postcssConfigLocation)}`);
|
|
38
53
|
}
|
package/lib/corePluginList.js
CHANGED
|
@@ -27,6 +27,7 @@ const _default = [
|
|
|
27
27
|
"clear",
|
|
28
28
|
"margin",
|
|
29
29
|
"boxSizing",
|
|
30
|
+
"lineClamp",
|
|
30
31
|
"display",
|
|
31
32
|
"aspectRatio",
|
|
32
33
|
"height",
|
|
@@ -40,6 +41,7 @@ const _default = [
|
|
|
40
41
|
"flexGrow",
|
|
41
42
|
"flexBasis",
|
|
42
43
|
"tableLayout",
|
|
44
|
+
"captionSide",
|
|
43
45
|
"borderCollapse",
|
|
44
46
|
"borderSpacing",
|
|
45
47
|
"transformOrigin",
|
|
@@ -60,6 +62,7 @@ const _default = [
|
|
|
60
62
|
"scrollPadding",
|
|
61
63
|
"listStylePosition",
|
|
62
64
|
"listStyleType",
|
|
65
|
+
"listStyleImage",
|
|
63
66
|
"appearance",
|
|
64
67
|
"columns",
|
|
65
68
|
"breakBefore",
|
|
@@ -91,6 +94,7 @@ const _default = [
|
|
|
91
94
|
"overscrollBehavior",
|
|
92
95
|
"scrollBehavior",
|
|
93
96
|
"textOverflow",
|
|
97
|
+
"hyphens",
|
|
94
98
|
"whitespace",
|
|
95
99
|
"wordBreak",
|
|
96
100
|
"borderRadius",
|