Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

TODO #399

Closed
dmail opened this issue Apr 10, 2024 · 0 comments
Closed

TODO #399

dmail opened this issue Apr 10, 2024 · 0 comments

Comments

@dmail
Copy link
Member

dmail commented Apr 10, 2024

  • property symbols (hidden par défault sauf si diff)

    • diff sur Symbol.toStringTag on faire onComparisonDisplayed dans labelDiff
      et on la mettra en .hidden = true
    • diff sur la string dans symbol.for() qui est utilisé comme prop
  • comparaison spéciale un peu relou

    • class prototype and function prototype
    • class properties and function properties
    • class properties (with static) and object properties
  • le retours des url parts

    • new URL() with object with .href
    • new URL() vs {... new URL() ...} (object with same props as url)
  • Signal("toto") vs new URL("http://toto.com")

  • Signal("http://toto.com") vs "http://toto.com"

  • Buffer

  • Uint8Array

  • array subclass

  • Numbers

    • Special "numbers": -0, +0, Infinity, NaN
    • BigInt
    • Separator between big numbers (8_000)
    • Comparaison de float
      a priori j'aimerais que 174.2 et 174.3
      bah on affiche .2 et .3 d'une autre couleur
      donc on coupe le nombre en 2
  • date comparison (parse la date et gris/vert/rouge sur les parties qui change)
    a priori sur le format ISO parce que je veux un format universel

    • essayer de paser les strings qui ressemble a des dates du coup
  • ref

    • object with circular ref becomes true
    • true becomes an object with circular ref
    • a reference to an object in a property becomes true
    • true in a property becomes a reference to an object
    • a reference in a property becomes a reference to something else
  • compare well known

  • assert.any()

  • assert.not()

  • assert.between(min, max)

  • assert.closeTo(float)

  • assert.startsWith(string)

  • assert.match(regexp)

  • regexps

  • ansi browser

  • test

  • build

    • revert build.ignore into build.include because
      my brain can't support that way
  • dev server

    • autoreload when html contains syntax error = dev server stuck
      (put double quote on attribute to test)
    • content-length peut etre undefined lorsque syntax error sur html
    • when dev server returns 404 for directory
      it should still return directory content to help navigation
    • regroup jsenv client scripts into one
    • prefer over a div
  • import attributes au lieu de import assertions

    • supporté dans vsCode ?
    • supporté dans prettier ?
    • supporté dans ESLint ?

    -> too soon: Import Attributes (Stage 3) microsoft/TypeScript#53656
    (not yet supported by typescript)

  • considérer une mise a jour des params genre
    executeTestPlan({
    testFiles: {
    plan: {}
    }
    })
    attention ici avec coverage qui a besoin de sourceDirectoryUrl je crois
    en gros faut commencer par executeTestPlan c'est le plus compliqué

startDevServer({
sourceFiles: {
directory: ''
include: {},
main: ''
}
})
build({
sourceFiles: {
directory: '',
},
entryPoints: {},
buildFiles: {
directory: '',
versioning: true,
runtimeCompat: {}
}
})

  • spy console methods on node process too (to get same output as browsers)
    we will also spy stdout, stderr in case it's used instead of passing
    by console methods

  • normalize error stack trace for firefox and webkit too

  • go even further with jest comparison
    to explain how to execute test in node worker/child process with jest/jsenv
    how to execute test in chromium/firefox/webkit with jest/jsenv
    how to debug a file in a browser with jest/jsenv
    how to debug a file in node with jest/jsenv

  • write a test where importmap is used to mock
    then run the source code and see it fails because importmap resolution is shared
    then implement html5 md5 forwarding when importmap is used by html file
    to properly resolve importmap

  • remove writeOnFileSystem pour build
    et buildFileContent, on peut l'obtenir de lisant le filesystem
    et ça permettra de ne pas garder tout les fichiers en mémoire pendant le build

  • finir les todos dans la doc

    • autoreload dans dev doc
  • Ajouter une option treeshaking qui sera passé a jsenvPluginBundling
    vu que c'est rollup qui le fait

  • exec "new_worker_type_module_build.test.mjs"
    donne un warning maxListeners, a fix

  • enable typescript checks

  • favorJsModuleInDetrimentOfVersionCasdading?

  • il est possible d'inline du svg dans du HTML
    et donc de bypasser l'encodage base64

  • faire la demo avec monorepo

  • pouvoir faire ce qu'on voudrait faire avec les
    script inline du player:

    • avoir un runtimeCompat spécifique pour un script donné
      (surement un attribut dans la balise script)
    • avoir un fichier distant qui se retrouve inline lors du build
      (pareil, avec un attribut?)
  • essayer node --watch

  • les logs de jsenv pendant autoreload, un style comme le reste:

    • [jsenv][autoreload]
    • [jsenv][websocket]
  • try css nesting and see how it behaves when transpiled

  • a test about "virtual:"
    jsenv globals looks better alternative than virtual imports so not a prio

  • jsenvPluginHttpUrls (handle http and https urls)

    • [integrity] on html nodes (must be updated or at least deleted to work properly after build)
  • bundling of classic workers and service workers)

  • add async-to-promises helpers to babel_helpers chunk

  • test what happens when there is a process.emit('warning') during execution of file
    and ensure executeTestPlan logs it properly

@dmail dmail closed this as completed Jul 2, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant