Libsass: 3.5.3 régression : l'importation des fichiers `.css` échoue au lieu d'un avertissement (comme l'indiquent les notes de version)

Créé le 24 avr. 2018  ·  6Commentaires  ·  Source: sass/libsass

Initialement signalé ici : https://github.com/sass/libsass-python/issues/245

entrée.scss

<strong i="8">@import</strong> 'cssfile';

cssfile.css

a { b: c; }

libsass 3.5.2 (via libsass-python )

$ pysassc --version
pysassc 0.14.2 (sass/libsass 3.5.2)
$ pysassc input.scss 
a {
  b: c; }

libsass 3.5.3 (via libsass-python )

$ pysassc --version
pysassc 0.14.3 (sass/libsass 3.5.3)
$ pysassc input.scss 
pysassc: error: Error: File to import not found or unreadable: cssfile.
        on line 1 of input.scss
>> <strong i="20">@import</strong> 'cssfile';

   ^

J'attends l'avertissement noté dans les notes de version

Commentaire le plus utile

Je suis très confus par l'amortissement, nulle part ne semble clair:

L'avertissement de dépréciation sera supprimé dans 3.6.0.

vs.

L'inclusion de fichiers .css avec @import est un comportement non standard qui sera supprimé dans les futures versions de LibSass. Utilisez un importateur personnalisé pour conserver ce comportement. Consultez la documentation de vos implémentations pour savoir comment créer un importateur personnalisé.

L'avertissement de dépréciation sera-t-il supprimé dans la version 3.6.0 et sass_option_push_import_extension continuera-t-il à fonctionner ou la fonctionnalité d'importation de CSS sera-t-elle complètement supprimée ?

Personnellement, je dirais que ce serait un grand pas en arrière pour libsass d'arrêter de prendre en charge les importations CSS, cela signifiera soit :

  • les bibliothèques utilisant libsass doivent chacune implémenter leurs propres importateurs personnalisés pour prendre en charge CSS
  • ou l'utilisateur moyen (qui, je suppose, n'a aucune idée des importateurs personnalisés ou de la façon de les implémenter) perd le droit d'importer des css dans leur sass, perdant ainsi tous les avantages de la vérification et de la compression des css.

Je n'utilise pas ruby, je ne vais pas le faire et je me fiche de ce qu'il fait et ne fait pas. S'il vous plaît, pouvons-nous garder sass_option_push_import_extension .

Tous les 6 commentaires

Je pense que cela peut être fermé, c'est exactement ce qui était attendu par # 1963.

Personnellement, je pense qu'il aurait d'abord dû être déprécié via un avertissement et provoqué une version mineure plutôt qu'un correctif, mais il est trop tard maintenant.

Désolé, il s'agissait d'un changement de rupture involontaire pour cette version de correctif.

Ma préférence est d'aller de l'avant avec le changement et de mettre à jour les notes de version.

Vous devrez utiliser l'API sass_option_push_import_extension pour réactiver les importations .css comme je vois que vous l'avez fait dans https://github.com/sass/libsass-python/pull/246 .

Remarque : cela entraînera un avertissement de dépréciation pour les fichiers .css . L'avertissement de dépréciation sera supprimé dans 3.6.0.

Je suis très confus par l'amortissement, nulle part ne semble clair:

L'avertissement de dépréciation sera supprimé dans 3.6.0.

vs.

L'inclusion de fichiers .css avec @import est un comportement non standard qui sera supprimé dans les futures versions de LibSass. Utilisez un importateur personnalisé pour conserver ce comportement. Consultez la documentation de vos implémentations pour savoir comment créer un importateur personnalisé.

L'avertissement de dépréciation sera-t-il supprimé dans la version 3.6.0 et sass_option_push_import_extension continuera-t-il à fonctionner ou la fonctionnalité d'importation de CSS sera-t-elle complètement supprimée ?

Personnellement, je dirais que ce serait un grand pas en arrière pour libsass d'arrêter de prendre en charge les importations CSS, cela signifiera soit :

  • les bibliothèques utilisant libsass doivent chacune implémenter leurs propres importateurs personnalisés pour prendre en charge CSS
  • ou l'utilisateur moyen (qui, je suppose, n'a aucune idée des importateurs personnalisés ou de la façon de les implémenter) perd le droit d'importer des css dans leur sass, perdant ainsi tous les avantages de la vérification et de la compression des css.

Je n'utilise pas ruby, je ne vais pas le faire et je me fiche de ce qu'il fait et ne fait pas. S'il vous plaît, pouvons-nous garder sass_option_push_import_extension .

Désolé de ne pas être clair. Les notes de version ont depuis été mises à jour pour, espérons-le, être plus claires.

Je n'utilise pas ruby, je ne vais pas et je me fiche de ce qu'il fait et ne fait pas

Premièrement, ce n'est pas nous contre Ruby. Sass est un langage avec un cahier des charges comme un autre. L'implémentation Ruby est la source de vérité pour la spécification du langage Sass.

Les importations CSS brutes sont une fonctionnalité qui viole les spécifications du langage Sass et n'aurait jamais dû être dans LibSass. Il doit être supprimé.


Étant donné que les gens en sont devenus si dépendants, nous devons l'éliminer de manière responsable.

En tant que tel, nous en faisons un comportement opt-in via sass_option_push_import_extension . Cette API ne disparaîtra pas tant qu'il n'y aura pas un moyen compatible avec le langage Sass de le faire. Une telle fonctionnalité est prévue pour le système de modules 4.0.

L'avertissement de dépréciation a été ajouté dans 3.5.x car il n'y a pas suffisamment de crochets dans LibSass pour qu'un implémenteur produise de manière performante l'avertissement de dépréciation correct. C'est l'avertissement de dépréciation qui sera supprimé dans la version 3.6.

C'est là que nous nous attendrions à ce que les implémenteurs repoussent leurs majors s'ils souhaitent maintenir la conformité aux spécifications.

Merci de clarifier.

Je viens de lire la proposition de module pour sass 4 et ça a l'air super.

Voir aussi https://github.com/sass/node-sass/issues/2362 pour gérer cela du côté node-sass.

Cette page vous a été utile?
0 / 5 - 0 notes

Questions connexes

xzyfer picture xzyfer  ·  9Commentaires

nex3 picture nex3  ·  9Commentaires

xzyfer picture xzyfer  ·  11Commentaires

c0d3xpl0it picture c0d3xpl0it  ·  4Commentaires

mikeebee picture mikeebee  ·  8Commentaires