Skip to content
This repository was archived by the owner on Apr 6, 2021. It is now read-only.

Commit f5d1f58

Browse files
committed
Update README/TODOs
1 parent f97f7bb commit f5d1f58

File tree

2 files changed

+85
-81
lines changed

2 files changed

+85
-81
lines changed

README.md

Lines changed: 2 additions & 81 deletions
Original file line numberDiff line numberDiff line change
@@ -14,91 +14,12 @@ This has the following advantages:
1414

1515
#### Current limitations:
1616

17-
These are all things we're actively working on, but aren't ready yet in this current pre-alpha release.
17+
These are all things we're actively working on, but aren't ready yet in this current pre-alpha release. This is all stuff I expect will be ready by the end of next week :)
1818

1919
- Custom CSS is not processed, can't use `@apply`, `@layer`, `@screen`, etc.
2020
- User plugins are not supported
21-
- Can't use complex media queries (only basic min-width is supported)
21+
- Can't use complex media queries (only basic min-width is supported)
2222
- Container is very naive, doesn't support complex options Tailwind normally supports
2323
- No prefix support
2424
- No !important support
2525
- No custom separator support
26-
27-
---
28-
29-
#### To Dos
30-
31-
- [x] Get our data structure rendering to CSS, perhaps rework data structure if needed
32-
- [x] Solve for a candidate that has multiple rules with different order numbers
33-
- [x] Make tabular nums work with media queries
34-
- [x] Avoid redundant generation of rules used by multiple candidates
35-
- [x] Avoid redundant generation of rules used by multiple candidates in variants
36-
- [x] Generate a hover variant
37-
- [x] Make a hover variant stack with a screen variant
38-
- [x] Generate focus variant
39-
- [x] Make a hover variant stack with a focus variant
40-
- [x] Get a resolved config object we can use to read values from
41-
- [x] Move variants and plugins to their own modules
42-
- [x] Generate all screens based on config object
43-
- [x] Make a dynamic plugin read from the config
44-
- [x] Put utilities in right place (@tailwind utilities)
45-
- [x] Add Preflight styles
46-
- [x] ~~Figure out a more user-friendly API for specifying variant precedence~~ Just works baby.
47-
- [x] Cache PostCSS nodes instead of our data structure? Lots of wasted time re-parsing styles we've already parsed
48-
- [x] Cache all generated styles each build, only inserting generated styles for changed files and re-sorting/CSSifying then
49-
- [x] Make sure variants are applied to all classes in a selector, not just first
50-
- [x] ~~Enforce variants order (no hover:sm:underline)? Or just make it work~~ This just works, builds are faster if you use a consistent order though because it's a cache hit
51-
- [x] Add tests for the love of god
52-
- [x] Resolve config at run-time, re-resolve when config changes
53-
- [x] Read template files from purge config, not from files config
54-
- [x] Add support for `theme` function
55-
- [x] Make animation utilities work
56-
- [x] Make components/container generally work
57-
--- Feb 25
58-
- [x] Make the group-* features work
59-
- [x] Add dark mode support
60-
- [x] Put components, static utilities, and utilities into a single map for faster lookups
61-
- [x] Sort responsive components before responsive utilities (need to reserve a bit for layer?)
62-
--- Feb 26
63-
- [x] Look for more specific matches, only run those matches (ring-offset shouldn't also run ring matches)
64-
- [x] Refactor pass in modifier as string instead of parts array
65-
- [x] Refactor plugins to use more specific keys
66-
- [x] Support negative values, we don't see these utilities at all because of the `-` prefix, we also split on `-` so the prefix doesn't make it to the plugin
67-
- [x] Avoid re-resolving config if build was triggered by template change
68-
- [x] Use single addUtilities API for both static and dynamic plugins
69-
- [x] Test with Vue components and <style> blocks (tons of watchers?)
70-
- [x] Figure out how to support multiple PostCSS builds (this is extremely common, every Vue style block, every CSS module, etc. Need to be careful about global state)
71-
- [x] Support multiple config formats but probably less than before
72-
- [x] Figure out how to close Chokidar watchers whenever we generate a new context, I think we are leaking them
73-
- [x] Flatten color palette once for performance
74-
--- Feb 27
75-
- [x] Simplify all of the concurrency code, model it more correctly
76-
- [x] Avoid memory leak in contentMatchCache (every time a file is saved with different content this cache grows)
77-
- [x] Figure out when to clear caches
78-
- [x] Test with Laravel mix
79-
80-
81-
- [ ] Add support for plugin API
82-
- [ ] Make existing official plugins work
83-
- [ ] Rebuild when config dependencies change
84-
- [ ] Support container configuration options
85-
- [ ] Support complex screens configuration
86-
- [ ] Make prefixes work
87-
- [ ] Make important work
88-
- [ ] Make separator work
89-
- [ ] Make @apply work
90-
- [ ] Add support for custom CSS that supports variants (anything in @layer?)
91-
92-
- [ ] Support square brackets for arbitrary values
93-
- [ ] Support purge safelist (just add entries to candidate list, regexes will be harder though)
94-
- [ ] Incorporate 'transformThemeValue' properly (mostly important for `theme` function which already works, but also need it to support array syntax for things like box shadow in someone's config)
95-
- [ ] Support "dynamic" components
96-
97-
- [ ] Refactor plugins to an abstraction that handles negative values, transformThemeValue, etc.
98-
- [ ] Factor the code in a responsible way
99-
- [ ] Put plugins in deliberate order
100-
- [ ] Include vendor prefixes for modern browsers by default so autoprefixer is only needed in production?
101-
- [ ] Cache Preflight styles? They only change when the config changes (default font family, border color, etc.)
102-
- [ ] Collapse media queries
103-
- [ ] Cache entire PostCSS tree and re-use if no candidate cache misses
104-
- [ ] Move code to a feature flag in Tailwind, hopefully without introducing additional performance costs

TODO.md

Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
# To Dos
2+
3+
#### The hazy period
4+
5+
- [x] Get our data structure rendering to CSS, perhaps rework data structure if needed
6+
- [x] Solve for a candidate that has multiple rules with different order numbers
7+
- [x] Make tabular nums work with media queries
8+
- [x] Avoid redundant generation of rules used by multiple candidates
9+
- [x] Avoid redundant generation of rules used by multiple candidates in variants
10+
- [x] Generate a hover variant
11+
- [x] Make a hover variant stack with a screen variant
12+
- [x] Generate focus variant
13+
- [x] Make a hover variant stack with a focus variant
14+
- [x] Get a resolved config object we can use to read values from
15+
- [x] Move variants and plugins to their own modules
16+
- [x] Generate all screens based on config object
17+
- [x] Make a dynamic plugin read from the config
18+
- [x] Put utilities in right place (@tailwind utilities)
19+
- [x] Add Preflight styles
20+
- [x] ~~Figure out a more user-friendly API for specifying variant precedence~~ Just works baby.
21+
- [x] Cache PostCSS nodes instead of our data structure? Lots of wasted time re-parsing styles we've already parsed
22+
- [x] Cache all generated styles each build, only inserting generated styles for changed files and re-sorting/CSSifying then
23+
- [x] Make sure variants are applied to all classes in a selector, not just first
24+
- [x] ~~Enforce variants order (no hover:sm:underline)? Or just make it work~~ This just works, builds are faster if you use a consistent order though because it's a cache hit
25+
- [x] Add tests for the love of god
26+
- [x] Resolve config at run-time, re-resolve when config changes
27+
- [x] Read template files from purge config, not from files config
28+
- [x] Add support for `theme` function
29+
- [x] Make animation utilities work
30+
- [x] Make components/container generally work
31+
32+
#### Feb 25
33+
34+
- [x] Make the group-* features work
35+
- [x] Add dark mode support
36+
- [x] Put components, static utilities, and utilities into a single map for faster lookups
37+
- [x] Sort responsive components before responsive utilities (need to reserve a bit for layer?)
38+
39+
#### Feb 26
40+
41+
- [x] Look for more specific matches, only run those matches (ring-offset shouldn't also run ring matches)
42+
- [x] Refactor pass in modifier as string instead of parts array
43+
- [x] Refactor plugins to use more specific keys
44+
- [x] Support negative values, we don't see these utilities at all because of the `-` prefix, we also split on `-` so the prefix doesn't make it to the plugin
45+
- [x] Avoid re-resolving config if build was triggered by template change
46+
- [x] Use single addUtilities API for both static and dynamic plugins
47+
- [x] Test with Vue components and <style> blocks (tons of watchers?)
48+
- [x] Figure out how to support multiple PostCSS builds (this is extremely common, every Vue style block, every CSS module, etc. Need to be careful about global state)
49+
- [x] Support multiple config formats but probably less than before
50+
- [x] Figure out how to close Chokidar watchers whenever we generate a new context, I think we are leaking them
51+
- [x] Flatten color palette once for performance
52+
53+
#### Feb 27
54+
55+
- [x] Simplify all of the concurrency code, model it more correctly
56+
- [x] Avoid memory leak in contentMatchCache (every time a file is saved with different content this cache grows)
57+
- [x] Figure out when to clear caches
58+
- [x] Test with Laravel mix
59+
60+
#### Next
61+
62+
- [ ] Add support for plugin API
63+
- [ ] Make existing official plugins work
64+
- [ ] Rebuild when config dependencies change
65+
- [ ] Support container configuration options
66+
- [ ] Support complex screens configuration
67+
- [ ] Make prefixes work
68+
- [ ] Make important work
69+
- [ ] Make separator work
70+
- [ ] Make @apply work
71+
- [ ] Add support for custom CSS that supports variants (anything in @layer?)
72+
- [ ] Support square brackets for arbitrary values
73+
- [ ] Support purge safelist (just add entries to candidate list, regexes will be harder though)
74+
- [ ] Incorporate 'transformThemeValue' properly (mostly important for `theme` function which already works, but also need it to support array syntax for things like box shadow in someone's config)
75+
- [ ] Support "dynamic" components
76+
- [ ] Refactor plugins to an abstraction that handles negative values, transformThemeValue, etc.
77+
- [ ] Factor the code in a responsible way
78+
- [ ] Put plugins in deliberate order
79+
- [ ] Include vendor prefixes for modern browsers by default so autoprefixer is only needed in production?
80+
- [ ] Cache Preflight styles? They only change when the config changes (default font family, border color, etc.)
81+
- [ ] Collapse media queries
82+
- [ ] Cache entire PostCSS tree and re-use if no candidate cache misses
83+
- [ ] Move code to a feature flag in Tailwind, hopefully without introducing additional performance costs

0 commit comments

Comments
 (0)