UNPKG

6.95 kBTypeScriptView Raw
1/**
2 * All of the deprecation types currently used by Sass.
3 *
4 * Any of these IDs or the deprecation objects they point to can be passed to
5 * `fatalDeprecations`, `futureDeprecations`, or `silenceDeprecations`.
6 */
7export interface Deprecations {
8 // START AUTOGENERATED LIST
9 // Checksum: 47c97f7824eb25d7f1e64e3230938b88330d40b4
10
11 /**
12 * Deprecation for passing a string directly to meta.call().
13 *
14 * This deprecation was active in the first version of Dart Sass.
15 */
16 'call-string': Deprecation<'call-string'>;
17
18 /**
19 * Deprecation for @elseif.
20 *
21 * This deprecation became active in Dart Sass 1.3.2.
22 */
23 elseif: Deprecation<'elseif'>;
24
25 /**
26 * Deprecation for @-moz-document.
27 *
28 * This deprecation became active in Dart Sass 1.7.2.
29 */
30 'moz-document': Deprecation<'moz-document'>;
31
32 /**
33 * Deprecation for imports using relative canonical URLs.
34 *
35 * This deprecation became active in Dart Sass 1.14.2.
36 */
37 'relative-canonical': Deprecation<'relative-canonical'>;
38
39 /**
40 * Deprecation for declaring new variables with !global.
41 *
42 * This deprecation became active in Dart Sass 1.17.2.
43 */
44 'new-global': Deprecation<'new-global'>;
45
46 /**
47 * Deprecation for using color module functions in place of plain CSS functions.
48 *
49 * This deprecation became active in Dart Sass 1.23.0.
50 */
51 'color-module-compat': Deprecation<'color-module-compat'>;
52
53 /**
54 * Deprecation for / operator for division.
55 *
56 * This deprecation became active in Dart Sass 1.33.0.
57 */
58 'slash-div': Deprecation<'slash-div'>;
59
60 /**
61 * Deprecation for leading, trailing, and repeated combinators.
62 *
63 * This deprecation became active in Dart Sass 1.54.0.
64 */
65 'bogus-combinators': Deprecation<'bogus-combinators'>;
66
67 /**
68 * Deprecation for ambiguous + and - operators.
69 *
70 * This deprecation became active in Dart Sass 1.55.0.
71 */
72 'strict-unary': Deprecation<'strict-unary'>;
73
74 /**
75 * Deprecation for passing invalid units to built-in functions.
76 *
77 * This deprecation became active in Dart Sass 1.56.0.
78 */
79 'function-units': Deprecation<'function-units'>;
80
81 /**
82 * Deprecation for using !default or !global multiple times for one variable.
83 *
84 * This deprecation became active in Dart Sass 1.62.0.
85 */
86 'duplicate-var-flags': Deprecation<'duplicate-var-flags'>;
87
88 /**
89 * Deprecation for passing null as alpha in the JS API.
90 *
91 * This deprecation became active in Dart Sass 1.62.3.
92 */
93 'null-alpha': Deprecation<'null-alpha'>;
94
95 /**
96 * Deprecation for passing percentages to the Sass abs() function.
97 *
98 * This deprecation became active in Dart Sass 1.65.0.
99 */
100 'abs-percent': Deprecation<'abs-percent'>;
101
102 /**
103 * Deprecation for using the current working directory as an implicit load path.
104 *
105 * This deprecation became active in Dart Sass 1.73.0.
106 */
107 'fs-importer-cwd': Deprecation<'fs-importer-cwd'>;
108
109 /**
110 * Deprecation for function and mixin names beginning with --.
111 *
112 * This deprecation became active in Dart Sass 1.76.0.
113 */
114 'css-function-mixin': Deprecation<'css-function-mixin'>;
115
116 /**
117 * Deprecation for declarations after or between nested rules.
118 *
119 * This deprecation became active in Dart Sass 1.77.7.
120 */
121 'mixed-decls': Deprecation<'mixed-decls'>;
122
123 /**
124 * Deprecation for meta.feature-exists
125 *
126 * This deprecation became active in Dart Sass 1.78.0.
127 */
128 'feature-exists': Deprecation<'feature-exists'>;
129
130 /**
131 * Deprecation for certain uses of built-in sass:color functions.
132 *
133 * This deprecation became active in Dart Sass 1.79.0.
134 */
135 'color-4-api': Deprecation<'color-4-api'>;
136
137 /**
138 * Deprecation for using global color functions instead of sass:color.
139 *
140 * This deprecation became active in Dart Sass 1.79.0.
141 */
142 'color-functions': Deprecation<'color-functions'>;
143
144 /**
145 * Deprecation for legacy JS API.
146 *
147 * This deprecation became active in Dart Sass 1.79.0.
148 */
149 'legacy-js-api': Deprecation<'legacy-js-api'>;
150
151 /**
152 * Deprecation for @import rules.
153 *
154 * This deprecation became active in Dart Sass 1.80.0.
155 */
156 import: Deprecation<'import'>;
157
158 /**
159 * Deprecation for global built-in functions that are available in sass: modules.
160 *
161 * This deprecation became active in Dart Sass 1.80.0.
162 */
163 'global-builtin': Deprecation<'global-builtin'>;
164
165 // END AUTOGENERATED LIST
166
167 /**
168 * Used for any user-emitted deprecation warnings.
169 */
170 'user-authored': Deprecation<'user-authored', 'user'>;
171}
172
173/**
174 * Either a deprecation or its ID, either of which can be passed to any of
175 * the relevant compiler options.
176 *
177 * @category Messages
178 * @compatibility dart: "1.74.0", node: false
179 */
180export type DeprecationOrId = Deprecation | keyof Deprecations;
181
182/**
183 * The possible statuses that each deprecation can have.
184 *
185 * "active" deprecations are currently emitting deprecation warnings.
186 * "future" deprecations are not yet active, but will be in the future.
187 * "obsolete" deprecations were once active, but no longer are.
188 *
189 * The only "user" deprecation is "user-authored", which is used for deprecation
190 * warnings coming from user code.
191 *
192 * @category Messages
193 * @compatibility dart: "1.74.0", node: false
194 */
195export type DeprecationStatus = 'active' | 'user' | 'future' | 'obsolete';
196
197/**
198 * A deprecated feature in the language.
199 *
200 * @category Messages
201 * @compatibility dart: "1.74.0", node: false
202 */
203export interface Deprecation<
204 id extends keyof Deprecations = keyof Deprecations,
205 status extends DeprecationStatus = DeprecationStatus
206> {
207 /** The unique ID of this deprecation. */
208 id: id;
209
210 /** The current status of this deprecation. */
211 status: status;
212
213 /** A human-readable description of this deprecation. */
214 description?: string;
215
216 /** The version this deprecation first became active in. */
217 deprecatedIn: status extends 'future' | 'user' ? null : Version;
218
219 /** The version this deprecation became obsolete in. */
220 obsoleteIn: status extends 'obsolete' ? Version : null;
221}
222
223/**
224 * A semantic version of the compiler.
225 *
226 * @category Messages
227 * @compatibility dart: "1.74.0", node: false
228 */
229export class Version {
230 /**
231 * Constructs a new version.
232 *
233 * All components must be non-negative integers.
234 *
235 * @param major - The major version.
236 * @param minor - The minor version.
237 * @param patch - The patch version.
238 */
239 constructor(major: number, minor: number, patch: number);
240 readonly major: number;
241 readonly minor: number;
242 readonly patch: number;
243
244 /**
245 * Parses a version from a string.
246 *
247 * This throws an error if a valid version can't be parsed.
248 *
249 * @param version - A string in the form "major.minor.patch".
250 */
251 static parse(version: string): Version;
252}
253
254/**
255 * An object containing all deprecation types.
256 *
257 * @category Messages
258 * @compatibility dart: "1.74.0", node: false
259 */
260export const deprecations: Deprecations;