Libsass: Feature-Anfrage: : Füge ein Flag hinzu, um DEPRECATION WARNS auszuschalten

Erstellt am 31. Jan. 2019  ·  10Kommentare  ·  Quelle: sass/libsass

Seit Version 4.9 von node-sass wird die aktuelle Warnung in vielen Projekten angezeigt. ( Sie sehen möglicherweise ein offenes Problem, in dem Sie nach einer Möglichkeit gefragt werden, die Warnung hier stummzuschalten. )

DEPRECATION WARNING: Passing a string to call() is deprecated and will be illegal
in Sass 4.0. Use call(get-function("variable-exists")) instead.

Die Warnung ist in Ordnung und ich würde gerne alle meine veralteten Funktionsaufrufe reparieren, aber ich kann nicht, der Hauptgrund ist, dass ich nicht einmal weiß, welche Bibliothek das Problem hat ... (ist nicht mein Code) i verstehen die Notwendigkeit, jeden dazu zu zwingen, seine veralteten Sachen zu aktualisieren, aber das ist nicht machbar. Ich denke, jeder Entwickler ist für seine eigene Anwendung verantwortlich und das Risiko, veraltet zu sein, ist allein, ich übernehme die Verantwortung :)

Und so... diese Funktionsanforderung besteht darin, irgendwo irgendwie ein Flag hinzuzufügen, das DEPRECATION WARNINGS ein- und ausgeschaltet werden kann

Ich habe bereits fälschlicherweise versucht, eine Umgebungsvariable im Node-Sass-Projekt hinzuzufügen, aber @nschonni sagte mir, dass die PR hier bei libsass , aber @xzyfer sagte mir, dass dies die akzeptable Lösung ist, um die

  • Sie können sehen, dass der Code zum Hinzufügen des Flags bereits bei PR-2587 vom Node-Sass- Projekt
  • Auch das offene Thema in dieser Angelegenheit ist 2334 (ebenfalls aus dem Node-Sass-Projekt).

Alle 10 Kommentare

Ich denke, ich habe eine Standardlösung, was denkst du über die Implementierung von Protokollebenen? (wie log4j, winston usw.).

Bitte sagen Sie mir, ob Sie damit mehr einverstanden sind :) (also werde ich diesen FR-Titel ändern)

Wir werden keine Protokollierungsebenen hinzufügen und auch keine Warnungen vor Veraltung stummschalten. Diese Warnungen sind von entscheidender Bedeutung, damit der Benutzercode weiterhin funktioniert.

Wir würden jedoch Lösungen in Betracht ziehen, die es einfacher machen, den Code mit veraltetem Verhalten zu finden.

Vielen Dank, dass Sie alle meine Bedenken mit diesem @xzyfer beantwortet haben.

Und so... denke ich, dass alle anderen Anwendungsfälle warten müssen, bis die Bibliotheksbesitzer sich entscheiden, ihre veralteten Sachen zu reparieren (...)

Bitte denken Sie daran, dass diese Warnungen nicht von entscheidender Bedeutung sind, um unsere Arbeit als Entwickler fortzusetzen ... wenn sie so wären, würde anstelle einer Warnung ein Fehler ausgegeben.

Ein alternativer Ansatz könnte https://github.com/sass/libsass/pull/2862 ...

Dies ist wirklich wichtig. Ich erhalte derzeit Dutzende des gleichen Fehlers.

DEPRECATION WARNING on line 29 of sass/elements/image.sass:
#{} interpolation near operators will be simplified in a future version of Sass.
To preserve the current behavior, use quotes:

  unquote("image_size_#{$size}")

mit sowas

+_(image_size_#{$size})

Ich bin mir nicht einmal sicher, auf welchen Operator es sich bezieht, aber ich würde viel lieber zur "vereinfachten Version" wechseln, als diese schrecklich aussehende Alternative zu schreiben.

Diese Warnungen sind von entscheidender Bedeutung, damit der Benutzercode weiterhin funktioniert.

Ja, ich stimme zu @xzyfer , aber ich habe diese Warnungen bereits gelesen und möchte sie vorerst

Es besteht derzeit keine Absicht, dies zu unterstützen. Warnungen vor Veraltung sind für uns bei der Weiterentwicklung der Sprache von entscheidender Bedeutung. Das Stummschalten der Veraltungswarnung ist nur ein Aufschieben von Schmerzen, wenn die Breaking Change eingeführt wird, die unser Issue Tracker gerne überflutet. Um die Warnung zu entfernen, stufen Sie auf eine Version von Libsass herab, die vor der Einführung der Warnung liegt.

Warnungen sind nur beim ersten Lesen sinnvoll. Wenn jemand sie ausschaltet, weil sie sie bereits gelesen haben und sie satt haben und sich ihrer bewusst sind, wird es keinen Unterschied machen, sie noch einmal zu zeigen, und in Zukunft werden sie wissen, warum sie kaputt gegangen sind.
Diese Warnungen nicht unterdrücken zu lassen, hilft niemandem, es ist nur ärgerlich.

Die Warnung bezieht sich auch darauf, wie es vereinfacht wird, und die Lösung, die es bietet, um es viel zu kompliziert zu machen.
Sie können sehen, warum jemand diesem Vorschlag nicht folgen möchte, besonders wenn ich ihn überall in meinem Projekt verwende

@xzyfer du hast einen guten Punkt !! Ich stimme mit Ihnen ein :)

Das Stummschalten der Veraltungswarnung ist nur ein Aufschieben von Schmerzen, wenn die Breaking Change eingeführt wird, die unser Issue Tracker überflutet genießen wird

Aber ich denke wir können noch eine Lösung finden!! für die meisten Entwickler, die sich darüber beschweren. Der Hauptgrund ist dieser Teil (wie @luaVolk sagte):

Ich erhalte derzeit Dutzende des gleichen Fehlers.

Was halten Sie davon, all diese Warnungen auf nur eine zu reduzieren? In meinem Fall erhielt ich über 100.000 Warnungen, als ich diese Funktionsanfrage öffnete. Ich denke, Sie können alle "detaillierten Warnungen" entfernen und einfach drucken:

Your libsass implementation is deprecated and will be illegal in Sass 4.0, for more details try '--libsass-verbose'.

Und vielleicht hinzufügen:

The following errors were found:
> 12 errors found: #{} interpolation near operators will be simplified in a future version of Sass
> 4 errors found: Passing a string to call() is deprecated and will be illegal
in Sass 4.0. Use call(get-function("variable-exists")) instead.

Oder so ähnlich... ich hoffe du verstehst die Idee, was denkst du @xzyfer?

Ich denke, mein letzter Kommentar ist es wert, als eine andere Funktionsanfrage verwaltet zu werden (?)

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen