UNPKG

5.84 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: 22d9bdbe92eb39b3c0d6d64ebe1879a431c0037e
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 @import rules.
118 *
119 * This deprecation is not yet active, but will be soon.
120 */
121 import: Deprecation<'import'>;
122
123 // END AUTOGENERATED LIST
124
125 /**
126 * Used for any user-emitted deprecation warnings.
127 */
128 'user-authored': Deprecation<'user-authored', 'user'>;
129}
130
131/**
132 * Either a deprecation or its ID, either of which can be passed to any of
133 * the relevant compiler options.
134 *
135 * @category Messages
136 * @compatibility dart: "1.74.0", node: false
137 */
138export type DeprecationOrId = Deprecation | keyof Deprecations;
139
140/**
141 * The possible statuses that each deprecation can have.
142 *
143 * "active" deprecations are currently emitting deprecation warnings.
144 * "future" deprecations are not yet active, but will be in the future.
145 * "obsolete" deprecations were once active, but no longer are.
146 *
147 * The only "user" deprecation is "user-authored", which is used for deprecation
148 * warnings coming from user code.
149 *
150 * @category Messages
151 * @compatibility dart: "1.74.0", node: false
152 */
153export type DeprecationStatus = 'active' | 'user' | 'future' | 'obsolete';
154
155/**
156 * A deprecated feature in the language.
157 *
158 * @category Messages
159 * @compatibility dart: "1.74.0", node: false
160 */
161export interface Deprecation<
162 id extends keyof Deprecations = keyof Deprecations,
163 status extends DeprecationStatus = DeprecationStatus
164> {
165 /** The unique ID of this deprecation. */
166 id: id;
167
168 /** The current status of this deprecation. */
169 status: status;
170
171 /** A human-readable description of this deprecation. */
172 description?: string;
173
174 /** The version this deprecation first became active in. */
175 deprecatedIn: status extends 'future' | 'user' ? null : Version;
176
177 /** The version this deprecation became obsolete in. */
178 obsoleteIn: status extends 'obsolete' ? Version : null;
179}
180
181/**
182 * A semantic version of the compiler.
183 *
184 * @category Messages
185 * @compatibility dart: "1.74.0", node: false
186 */
187export class Version {
188 /**
189 * Constructs a new version.
190 *
191 * All components must be non-negative integers.
192 *
193 * @param major - The major version.
194 * @param minor - The minor version.
195 * @param patch - The patch version.
196 */
197 constructor(major: number, minor: number, patch: number);
198 readonly major: number;
199 readonly minor: number;
200 readonly patch: number;
201
202 /**
203 * Parses a version from a string.
204 *
205 * This throws an error if a valid version can't be parsed.
206 *
207 * @param version - A string in the form "major.minor.patch".
208 */
209 static parse(version: string): Version;
210}
211
212/**
213 * An object containing all deprecation types.
214 *
215 * @category Messages
216 * @compatibility dart: "1.74.0", node: false
217 */
218export const deprecations: Deprecations;