davezuko

davezuko

✈️ 🔭 🏒 ⌨️ 📖 🎾

Member Since 7 years ago

Microsoft, Nashville, TN

Experience Points
498
follower
Lessons Completed
3
follow
Lessons Completed
241
stars
Best Reply Awards
21
repos

169 contributions in the last year

Pinned
⚡ Get started with React, Redux, and React-Router.
⚡ Make React forms simple again, see it here:
⚡ Everything you need to know about Shadow DOM
⚡ Tiny functional programming suite for JavaScript.
Activity
Sep
30
2 months ago
push

davezuko push codepretty/fluentui

davezuko
davezuko

introduce bubbleTheme property for Chat

This commit stubs in new types for bubbleTheme but does not yet change any runtime behavior.

commit sha: 55c611ae3e19eff2ecd28bf11370d247d80c5e8a

push time in 2 months ago
Activity icon
delete

davezuko in microsoft/fluentui delete branch chat-refresh

deleted time in 2 months ago
Activity icon
created branch

davezuko in microsoft/fluentui create branch chat-refresh

createdAt 2 months ago
push

davezuko push codepretty/fluentui

davezuko
davezuko

(react-switch) - Adding dragging functionality (#19864)

  • Adding dragging

  • Updating state and styles

  • Cleaning up code

  • Cleaing up custom stories

  • Cleaning up code

  • Updating API

  • Adding RTL support and updating snapshots

  • Change files

  • Updating a doc comment

  • Fixing a visual bug in controlled scenarios related to the renderedPosition.

  • Fixing a bug in mobile screen readers due to stacked change events.

  • Switching internalState interface to a type

  • Updating tests

davezuko
davezuko

(react-utilities) - Adding clamp and getRTLSafeKey to utils folder (#19852)

  • Adding clamp and getRtlSafeKey

  • Adding on utility

  • Change files

  • PR feedback

  • PR feedback

  • Removing on from react-utilities

  • Updating change files

  • Fixing typos

  • Removing clamp from the Switch component

  • Adding a note about removing the Switch on utility.

  • Change files

davezuko
davezuko

Update TooltipProps for consistency (#19924)

  • Updated ToolTipProps for consistency

  • Change files

davezuko
davezuko

FocusTrapCallout: Updating example so that all focusable elements are tabbable (#19928)

davezuko
davezuko

Updated LinkProps for consistency (#19921)

  • Updated LinkProps for consistency

  • Change files

  • Updated api file

davezuko
davezuko

Updated DividerProps for consistency (#19920)

  • Updated DividerProps for consistency

  • Change files

  • Removed important from stories and tests

  • Updated snapshot

davezuko
davezuko

(web-components) - content update for overview docs (#19891)

  • Update content for web component overview docs

  • Change files

  • Removed blank heading and extra subheading

  • Added Ember page, fixed unclosed combobox tag

davezuko
davezuko
davezuko
davezuko
davezuko
davezuko

Add as prop to allowed props from getNativeElementProps (#19883)

davezuko
davezuko

react-image: new shadow prop (#19858)

  • Added shadow prop

  • Added change files

  • Added sb story and vr-test

  • Removing unnecessary fragment

Co-authored-by: Oleksandr Fediashov [email protected]

  • Removing unnecessary fragment

Co-authored-by: Oleksandr Fediashov [email protected]

  • Formatting fix

Co-authored-by: Oleksandr Fediashov [email protected]

davezuko
davezuko

react-text: Added to react-components (#19882)

  • Added Text to react-components

  • Added change files

  • Fixed version of text pkg

  • Added api md file

  • Adding fixed versions

  • Reorder react-components exports alphabetically

davezuko
davezuko

fix(Popover): Remove leftover defaultProps and fix trigger props merge (#19934)

  • fix(Popover): Remove leftover defaultProps and fix trigger props merge

Removes lefover defaultProps usages from #19767

Also fixes an issue where user props can never override trigger props

  • Change files
davezuko
davezuko

fix(Menu): export useMenuPopoverStyles (#19935)

  • fix(Menu): export useMenuPopoverStyles

The refactor to MenuPopover was done, later and it turns out that the styling hook was never exported

  • Change files
davezuko
davezuko

chore(react-utilities): Add codeowners (#19930)

Adding missing codeowners for react-utilities package

davezuko
davezuko

Updated PopoverProps for consistency (#19919)

  • Updated PopoverProps for consistency

  • Change files

davezuko
davezuko

RFC: Avatar badge shorthand (#19527)

  • RFC: Avatar badge shorthand

  • Renumber options because I'm a human, not a computer (I think)

  • Fix numbering mistake

  • Detailing proposed solution in RFC.

Co-authored-by: KHMakoto [email protected]

davezuko
davezuko

(react-slider) - Adding accessibility tests (#19790)

  • Adding accessibility tests to the Slider.

  • Moving ariaValueText test

  • Change files

davezuko
davezuko

Update BadgeProps for consistency (#19907)

  • Update BadgeProps for consistency

  • Change files

  • Fix changelog

davezuko
davezuko

(react-slider) - Updating the thumb's disabled border styling (#19929)

  • Fixing a regression in the converged Slider's border color

  • Updating disabled border token

  • Change files

commit sha: a6b427c523045446cddac39355204daf7b44b9c0

push time in 2 months ago
Activity icon
created branch

davezuko in codepretty/fluentui create branch chat-refresh

createdAt 2 months ago
Sep
28
2 months ago
Sep
24
2 months ago
Sep
23
2 months ago
Sep
18
2 months ago
Activity icon
issue

davezuko issue comment evanw/esbuild

davezuko
davezuko

Add a flag that regulates whether `--external` preserves the import or removes it

Being able to mark things like fs or path as external is super useful, but preserving import("fs") will then cause problems at runtime because browser imports need to be resolvable URLs. As per https://esbuild.github.io/api/#external, the --external:... mechanism will prevent esbuild from bundling that target in, but will leave the require/import in place: it would be really useful to also have a secondary flag like --omit-externals=true (or a flag that acts like external, but with omission, like --external:blah --omit-external:fs) that tells esbuild to remove the import entirely, relying on the user having a globalThis binding for the namespace they were importing in place at runtime. This would make it quite a lot easier to create bundles that rely on (any dpeth of) dependencies that rely on specific Node namespaces as CLI call/npm script.

davezuko
davezuko

Sure, that makes sense. I was just trying to be helpful about working around it in the interim. I'll defer to evansw regarding it being supported as a first-class option.

push

davezuko push davezuko/umbrella

davezuko
davezuko

upgrade dependencies, fix formatting

commit sha: e9c4b04181dce6e3ad173d864afda355edf276f7

push time in 2 months ago
push

davezuko push davezuko/umbrella

davezuko
davezuko

upgrade dependencies, fix formatting

commit sha: 3747bd37c743a4d00adb623c4a6f8487a47f455d

push time in 2 months ago
push

davezuko push davezuko/umbrella

davezuko
davezuko

upgrade dependencies, fix formatting

commit sha: 0cd3e185186b5480065cabae16e3db9599cb53ec

push time in 2 months ago
push

davezuko push davezuko/umbrella

davezuko
davezuko

create @davezuko/mobx-lite (direct fork at the moment)

commit sha: 5b92538ff16130dfd398d8fad13512eacbbbfb32

push time in 2 months ago
push

davezuko push davezuko/umbrella

davezuko
davezuko

create @davezuko/mobx-lite (direct fork at the moment)

commit sha: 46fb0a136933dba2fc3e614c349bdf41fbfa385b

push time in 2 months ago
Activity icon
issue

davezuko issue comment evanw/esbuild

davezuko
davezuko

Add a flag that regulates whether `--external` preserves the import or removes it

Being able to mark things like fs or path as external is super useful, but preserving import("fs") will then cause problems at runtime because browser imports need to be resolvable URLs. As per https://esbuild.github.io/api/#external, the --external:... mechanism will prevent esbuild from bundling that target in, but will leave the require/import in place: it would be really useful to also have a secondary flag like --omit-externals=true (or a flag that acts like external, but with omission, like --external:blah --omit-external:fs) that tells esbuild to remove the import entirely, relying on the user having a globalThis binding for the namespace they were importing in place at runtime. This would make it quite a lot easier to create bundles that rely on (any dpeth of) dependencies that rely on specific Node namespaces as CLI call/npm script.

davezuko
davezuko

I can't speak for what esbuild should offer out of the box, but you may be able to implement this as a plugin. Here's one I put together; does this help at all? The emitted code wraps the globalized module more than I'd like (mostly to support ESM -> CJS interop as is required in a typical TypeScript codebase), so in that sense first-class support for this feature may be helpful, but perhaps this at least gives you ideas in the interim.

esbuild.build({
    // ...
    plugins: [
        globalizeModules({
            fs: "globalThis.fs",
        }),
    ],
})

function globalizeModules(modules) {
    return {
        name: "globalize-externals",
        setup(build) {
            let ids = Object.keys(modules)
            let filter = new RegExp("^(" + ids.join("|") + ")$")
            build.onResolve({filter}, (args) => {
                return {path: args.path, namespace: "global"}
            })

            build.onLoad({filter, namespace: "global"}, (args) => {
                // you'll probably need to change the export type depending on
                // how the module is imported.
                let contents = `module.exports = ${modules[args.path]}`
                return {contents, loader: "js"}
            })
        },
    }
}

Here's a self-contained script that you can run if you'd like to fiddle with it:

let cp = require("child_process")
let fs = require("fs")
let esbuild = require("esbuild")

let example = `
import * as fs from "fs"
import {readFileSync} from "fs"

// test import *
let a = fs.readFileSync("hello.txt")

// test named import
let b = readFileSync("hello.txt")

console.log({ a, b })`
fs.writeFileSync("./example.ts", example, "utf8")

function globalizeModules(modules) {
    return {
        name: "globalize-externals",
        setup(build) {
            let ids = Object.keys(modules)
            let filter = new RegExp("^(" + ids.join("|") + ")$")
            build.onResolve({filter}, (args) => {
                return {path: args.path, namespace: "global"}
            })

            build.onLoad({filter, namespace: "global"}, (args) => {
                // you'll probably need to change the export type depending on
                // how the module is imported.
                let contents = `module.exports = ${modules[args.path]}`
                return {contents, loader: "js"}
            })
        },
    }
}

esbuild
    .build({
        entryPoints: ["./example.ts"],
        outfile: "example.js",
        platform: "browser",
        bundle: true,
        logLevel: "info",
        plugins: [
            globalizeModules({
                fs: "globalThis.fs",
            }),
        ],
    })
    .then(() => {
        let test = `
        globalThis.fs = {
          readFileSync(file) {
            if (file === "a.txt") {
              return "file a"
            } else {
              return "file b"
            }
          }
        }
        require("./example.js")`
        cp.execSync(`node -e '${test}'`, {stdio: "inherit"})
    })
Sep
9
2 months ago
Activity icon
issue

davezuko issue comment evanw/esbuild

davezuko
davezuko

update minimum go version to 1.17

Since esbuild uses some newer Go API's it would be nice to accurately specify the minimum Go version for dependents. I ran into this while trying to upgrade esbuild to 0.12.26 while on Go 1.16, where Go would no longer compile with esbuild due to its math.MaxInt usage. I wish I could offer something more than this trivial change, but perhaps it will be helpful to others.

I'm far from a Go expert so if there are things to be careful with when updating this please let me know (i.e. I read through https://golang.org/doc/modules/gomod-ref and, weirdly, it sounds like Go should have caught this...).

Thanks!

davezuko
davezuko

Update the PR to just inline the math.MaxInt constants directly. That should be more palatable.

push

davezuko push davezuko/esbuild

davezuko
davezuko

replace math.MaxInt usage

This constant is only available in go >= 1.17, so I've inlined its value so dependents don't have to upgrade their go version.

reference implementation: https://cs.opensource.google/go/go/+/refs/tags/go1.17:src/math/const.go;l=38

commit sha: 6a927be4afa627117abfeaebe941254d025cb802

push time in 2 months ago
Activity icon
issue

davezuko issue comment evanw/esbuild

davezuko
davezuko

update minimum go version to 1.17

Since esbuild uses some newer Go API's it would be nice to accurately specify the minimum Go version for dependents. I ran into this while trying to upgrade esbuild to 0.12.26 while on Go 1.16, where Go would no longer compile with esbuild due to its math.MaxInt usage. I wish I could offer something more than this trivial change, but perhaps it will be helpful to others.

I'm far from a Go expert so if there are things to be careful with when updating this please let me know (i.e. I read through https://golang.org/doc/modules/gomod-ref and, weirdly, it sounds like Go should have caught this...).

Thanks!

davezuko
davezuko

@evanw absolutely, I thought about that as well. I proposed this change simply because I didn't know what else might be in esbuild that requires go > 1.13 and thought it might be worth the update regardless. The wise thing to do would probably be for me to downgrade go locally to 1.13 and see if any other issues crop up. I know that Go 1.16 was at least working until the addition of math.MaxInt.

pull request

davezuko pull request evanw/esbuild

davezuko
davezuko

update minimum go version to 1.17

Since esbuild uses some newer Go API's it would be nice to accurately specify the minimum Go version for dependents. I ran into this while trying to upgrade esbuild to 0.12.26 while on Go 1.16, where Go would no longer compile with esbuild due to its math.MaxInt usage. I wish I could offer something more than this trivial change, but perhaps it will be helpful to others.

I'm far from a Go expert so if there are things to be careful with when updating this please let me know (i.e. I read through https://golang.org/doc/modules/gomod-ref and, weirdly, it sounds like Go should have caught this...).

Thanks!

Activity icon
created branch

davezuko in davezuko/esbuild create branch go-1.17

createdAt 2 months ago
push

davezuko push davezuko/esbuild

davezuko
davezuko

fix #605: re-export of side-effect free cjs

davezuko
davezuko

tree shaking of side-effect free "export {} from"

davezuko
davezuko

remove unused argument from "installForTests"

davezuko
davezuko

Use env variable ESBUILD_BINARY_PATH to use different binary path (#597)

davezuko
davezuko

"ESBUILD_BINARY_PATH" release notes (#597)

davezuko
davezuko
davezuko
davezuko

fix yarn-specific perf regression (#590)

davezuko
davezuko

fix #611: source map size regression

davezuko
davezuko

remove test-only "js_printer.PrintExpr" function

davezuko
davezuko
davezuko
davezuko
davezuko
davezuko

return an object from "flagsForBuildOptions"

davezuko
davezuko

unshare services with different cwd

davezuko
davezuko

avoid syntax error for newline in path or namespace

davezuko
davezuko

ignore all rimraf errors to fix windows flakes

davezuko
davezuko

add a warning about calling an import namespace

davezuko
davezuko

also warn about constructing import namespaces

davezuko
davezuko

fix #613: imported symbols are side-effect free

davezuko
davezuko
davezuko
davezuko

fix #626: "import.meta" is supported in node 10.4+

commit sha: 6a3d3a67661378c36ab0f8f450feffc191ec9b52

push time in 2 months ago
Activity icon
delete

davezuko in davezuko/esbuild delete branch cache

deleted time in 2 months ago
Sep
7
2 months ago
Activity icon
delete

davezuko in davezuko/umbrella delete branch davezuko/www

deleted time in 2 months ago
Next