An Enhanced Go Experience For The Atom Editor

go-plus Build Status Build status Slack Slack

Greenkeeper badge

An Improved Go Experience For The Atom Editor

image

Overview

This package includes the following functionality:

  • Display information about your current go installation, by running go version and go env
  • Autocomplete using gocode
  • Format your code with gofmt, goimports, or goreturns; optionally run one of these tools on save of any .go file
  • Run go install . and go test -c -o {tempdir} . to verify your code compiles and to keep gocode suggestions up to date
  • Run a variety of linters (e.g. golint, vet, etc.) against your code using gometalinter, revive or golangci-lint
  • Run tests, display test output, and display test coverage using go test -coverprofile
  • Display documentation for identifiers in source code using gogetdoc
  • Rename the symbol under your cursor using gorename
  • Go to definition using guru or godef
  • Highlight occurrences of an identifier using guru
  • Find usages of an identifier using guru

You can add debug functionality to Atom by installing the following package:

Builds

How Are The Builds Performed?

The following commands are run for the directory of the current file:

  • go install . (for normal .go files)
  • go test -o {tmpdir} -c . (for _test.go files)

Why Are You Running go install Instead Of go build?

gocode (and a few other tools, like gotype) work on .a files (i.e. the package object archive), and the way to keep these up to date is to run go install periodically. This ensures your autocomplete suggestions are kept up to date.

Platforms

The package has CI for OS X, Windows and Ubuntu.

Installing Missing Tools

If you are missing any required tools, you may be prompted to install them. You can also manually install the required tools in your terminal:

go get -u golang.org/x/tools/cmd/goimports
go get -u golang.org/x/tools/cmd/gorename
go get -u github.com/sqs/goreturns
go get -u github.com/mdempsky/gocode
go get -u github.com/alecthomas/gometalinter
go get -u github.com/mgechev/revive
go get -u github.com/golangci/golangci-lint/cmd/golangci-lint
go get -u github.com/zmb3/gogetdoc
go get -u github.com/zmb3/goaddimport
go get -u github.com/rogpeppe/godef
go get -u golang.org/x/tools/cmd/guru
go get -u github.com/fatih/gomodifytags
go get -u github.com/tpng/gopkgs
go get -u github.com/ramya-rao-a/go-outline

Having Issues?

Please consult the FAQ prior to opening an issue: https://github.com/joefitzgerald/go-plus/wiki/FAQ

If you have an issue with debugging, file an issue with go-debug here.

Maintainers

Contributors

A list of contributors can be found at https://github.com/joefitzgerald/go-plus/graphs/contributors. Thank you so much to everyone has contributed to the package ❤️ . You are awesome!

Contributing

Contributions are greatly appreciated. Please fork this repository, make your changes, and open a pull request. See Contributing for detailed instructions.

Comments
  • go-plus cannot find my gopath and no features work

    go-plus cannot find my gopath and no features work

    Operating system: Xubuntu 14.04

    Atom version: 1.6.0

    When I start Atom with a Go file open, three dialog boxes appear. A fourth appears after I right-click on a variable and select "rename symbol under cursor".

    screenshot - 16-03-17 - 06 41 20 pm

    When I click the "Run Go Get" button on each of the dialog boxes, they all become error messages:

    screenshot - 16-03-17 - 06 40 49 pm

    When I first went through this process upon installing Atom, I manually installed all the required packages myself through the terminal. When I did, the command was pasted as go get -ugolang.org/x/tools/cmd/goimports. Note the lack of a space between the u and the URL; is this an issue? In any case, in my gopath, ~/go, the /bin directory now contains all the executables the dialog boxes require:

    screenshot - 16-03-17 - 06 46 32 pm

    But the error still appears every time I start atom, and none of the features of go-plus work. The dialog boxes also appear in Atom Beta.

    I went to the settings to configure the go-config package and feed it my gopath, but I cannot see any button to change its settings.

  • Use different tool to

    Use different tool to "go build" per project

    When working on golang projects that are meant to run in Google AppEngine (GAE), these projects must be compiled (and tested) with tools that ship with the SDK, namely goapp. This is a wrapper around the go binary, so it is almost fully compatible with go (i.e. you can run goapp <CMD> instead of go <CMD>, e.g. - goapp test instead of go test)

    One way to work with this project in Atom (using go-plus) would be to add a symlink called "go" to point to the "goapp" binary, and set the installation path variable to the dir containing this symlink (thereby "fooling" the plugin to use the wrapper tool). However I believe this would persist the change for all projects (even non GAE ones).

    Do you have suggestions on how I could make this change on a per-project basis? (Or maybe have this plugin detect GAE projects (using the index.yaml file in the top dir), and invoke the goapp tool instead (which is assumed to be in $PATH, or discoverable in the same way the go bin is detected).

  • No build/syntax check in 4.0.1

    No build/syntax check in 4.0.1

    The main feature is missing or it doesn't work on both of my Macs after update, build/syntax check on this new version 4.0.1. It does nothing on save, also I can't find "Syntax check" in Packages -> Go as well. Also, in any of this new installed packaged I can't find the settings for "Check syntax on save" like in 3.5? Am I doing something wrong?

  • Crash on save

    Crash on save

    Recently saving a go project can cause atom to crash. It seems to happen more when it needs to auto import something but it isn't limited to this. I'm not sure if it is the formatting or the linting. When I save there is a long pause. After awhile I get a message saying atom is not responding would I like to close or wait. If I wait it still is frozen until the window pops up again asking what I would like to do. After I choose to close I get an output in my terminal where I had launched atom from. Here is what is displayed.

    /usr/bin/atom: line 98: 4786 Segmentation fault (core dumped) nohup "$ATOM_PATH" --executed-from="$(pwd)" --pid=$$ "$@" > "$ATOM_HOME/nohup.out" 2>&1 App load time: 2367ms Failed to get crash dump id. Report Id:

    Let me know if there is any other information you need.

  • Failed to activate the go-plus package

    Failed to activate the go-plus package

    [Enter steps to reproduce below:]

    1. ...
    2. ...

    Atom Version: 0.209.0 System: Mac OS X 10.10.1 Thrown From: go-plus package, v3.3.11

    Stack Trace

    Failed to activate the go-plus package

    At Cannot read property 'command' of undefined
    
    TypeError: Cannot read property 'command' of undefined
      at new Gofmt (/Users/ioriiod0/.atom/packages/go-plus/lib/gofmt.coffee:12:24)
      at new Dispatch (/Users/ioriiod0/.atom/packages/go-plus/lib/dispatch.coffee:36:18)
      at Object.module.exports.createDispatch (/Users/ioriiod0/.atom/packages/go-plus/lib/go-plus.coffee:28:7)
      at Object.module.exports.activate (/Users/ioriiod0/.atom/packages/go-plus/lib/go-plus.coffee:17:21)
      at Package.module.exports.Package.activateNow (/Users/ioriiod0/Downloads/Atom.app/Contents/Resources/app.asar/src/package.js:240:19)
      at /Users/ioriiod0/Downloads/Atom.app/Contents/Resources/app.asar/src/package.js:221:30
      at Package.module.exports.Package.measure (/Users/ioriiod0/Downloads/Atom.app/Contents/Resources/app.asar/src/package.js:165:15)
      at Package.module.exports.Package.activate (/Users/ioriiod0/Downloads/Atom.app/Contents/Resources/app.asar/src/package.js:213:14)
      at PackageManager.module.exports.PackageManager.activatePackage (/Users/ioriiod0/Downloads/Atom.app/Contents/Resources/app.asar/src/package-manager.js:452:21)
      at /Users/ioriiod0/Downloads/Atom.app/Contents/Resources/app.asar/node_modules/settings-view/lib/package-manager.js:306:60
      at exit (/Users/ioriiod0/Downloads/Atom.app/Contents/Resources/app.asar/node_modules/settings-view/lib/package-manager.js:53:16)
      at triggerExitCallback (/Users/ioriiod0/Downloads/Atom.app/Contents/Resources/app.asar/src/buffered-process.js:213:47)
      at /Users/ioriiod0/Downloads/Atom.app/Contents/Resources/app.asar/src/buffered-process.js:220:18
      at Socket.<anonymous> (/Users/ioriiod0/Downloads/Atom.app/Contents/Resources/app.asar/src/buffered-process.js:98:18)
      at emitOne (events.js:82:20)
      at Socket.emit (events.js:166:7)
      at Pipe.close (net.js:464:12)
    
    

    Commands

         -1:22.6.0 settings-view:check-for-package-updates (atom-workspace.workspace.scrollbars-visible-when-scrolling.theme-solarized-dark-syntax.theme-seti-ui)
         -0:38.6.0 application:new-file (ul.list-inline.tab-bar.inset-panel)
      3x -0:36.4.0 editor:newline (atom-text-editor.editor.is-focused)
     11x -0:34.8.0 core:backspace (atom-text-editor.editor.is-focused)
         -0:33.3.0 editor:newline (atom-text-editor.editor.is-focused)
      2x -0:32.8.0 core:backspace (atom-text-editor.editor.is-focused)
    

    Config

    {
      "core": {
        "themes": [
          "seti-ui",
          "solarized-dark-syntax"
        ]
      }
    }
    

    Installed Packages

    # User
    go-plus, v3.3.11
    seti-ui, v0.3.5
    
    # Dev
    No dev packages
    
  • Says gopath isn't set, but it definitely is

    Says gopath isn't set, but it definitely is

    Hey, I'm having issues regarding autocomplete, and upon launching atom from the command line using "atom .", I get a message saying I need to run go get to install gocode and goimports. However, when I click to get them, I get a message saying gopath isn't set.

    Also, I do have both of those packages installed in src->github-> and src ->golang, respectively.

    Any advice would be greatly appreciated.

    package github.com/nsf/gocode: cannot download, $GOPATH not set. For more details see: go help gopath

  • Request: add support for gb

    Request: add support for gb

    gb from @davecheney uses a vendoring approach which puts all the vendor code alongside the src in a project directory.

    So it would be nice to be able to run gb build instead of go build so we can avoid all the cannot find package... warnings.

    http://getgb.io/

    (It would also be nice to be able to get rid of the Warning: File [/Users/Andy/foo/src/foo/foo.go] does not reside within a "src" directory in your GOPATH... warning somehow as well, but it's not quite as distracting.)

  • Goimports removing needed import

    Goimports removing needed import

    Hey there, love this package but having a weird issue with goimports running on save and removing a needed import. When I run goimports directly from the command line I don't have this issue. See the GIF below.

    goimports

  • Goimport removes wrong import

    Goimport removes wrong import

    Hello there,

    in this file, the import line "code.google.com/p/biogo.matrix" gets removed by goimports using go-plus.

    If I edit it with vim with wrong spacing I get :

    $ goimports -d radon.go
    diff radon.go gofmt/radon.go
    --- /var/folders/sq/zw92_59n6q9fvh0bw99jkfnw0000gn/T/gofmt836110842 2014-11-10 23:54:39.000000000 +0100
    +++ /var/folders/sq/zw92_59n6q9fvh0bw99jkfnw0000gn/T/gofmt764491537 2014-11-10 23:54:39.000000000 +0100
    @@ -7,7 +7,7 @@
        "log"
        "math"
    
    -    "code.google.com/p/biogo.matrix"
    +   "code.google.com/p/biogo.matrix"
        "code.google.com/p/graphics-go/graphics"
        "github.com/azr/phash/manipulator"
        "github.com/nfnt/resize"
    

    If I do

    import (
    matrix "code.google.com/p/biogo.matrix"
    

    it's not removed.

    Cheers !

    Edit: It's not removed if I use gofmt as a format tool.

  • GOPATH with multiple directories (possible regression)

    GOPATH with multiple directories (possible regression)

    For some reason, I can't copy the output of the go-plus error window, but it's basically telling me that my GOPATH ("/Users/mreynolds/Desktop/Projects/:/usr/local/opt/go") doesn't exist, which is correct, since it's a PATH, not a single directory.

    I'm using 1.0.10 with Brew installed go. I haven't tried manually overriding my env vars in settings.

  • Wrong GOROOT after updating to new version of Go and removing old one with Brew

    Wrong GOROOT after updating to new version of Go and removing old one with Brew

    Prerequisites

    • [x] Have you tried launching atom . from the terminal in your project's directory?
    • [x] Have you verified the output from go env is correct? If it is, please include the output in this issue.
    • [x] Have you updated Atom to the latest version?
    • [ ] Have you tried using Atom Beta, which can be run side-by-side with Atom Stable? Is the behavior the same, or different?
    • [x] Have you updated your Atom packages to the latest versions?
    • [x] Have you read the FAQ?
    • [x] Have you searched the issues to see if others are experiencing the same issue?

    Description

    After updating go version to 1.8 using the official go OS X package (previously was using brew installed versions 1.7.3 and 1.7.5), go-plus cannot navigate to definition nor display autocomplete hints nor display signatures in status bar for built-in objects due to wrong GOROOT setting. This is the error I get: image

    It's trying to use GOROOT /usr/local/Cellar/go/1.7.3/libexec/src/database/sql whilst go env output for GOROOT reports GOROOT="/usr/local/go"

    If I search /usr/local/Cellar/go/1.7.3/ in the Atom config folder, I find in the path atom/packages/go-plus/spec/config/fixtures/go-151-darwin.json the following json keys hardcoded

    ...
    "GOROOT": "/usr/local/Cellar/go/1.7.3/libexec",
    "GOTOOLDIR": "/usr/local/Cellar/go/1.7.3/libexec/pkg/tool/darwin_amd64",
    ...
    

    I don't know if it's related at all, just reporting for completeness.

    Output from atom -v && apm -v

    Valerios-MacBook-Pro:acl vgheri$ atom -v && apm -v
    Atom    : 1.14.3
    Electron: 1.3.13
    Chrome  : 52.0.2743.82
    Node    : 6.5.0
    apm  1.15.3
    npm  3.10.5
    node 4.4.5 x64
    python 2.7.10
    git 2.10.1
    

    Output From go env

    Valerios-MacBook-Pro:acl vgheri$ go env
    GOARCH="amd64"
    GOBIN=""
    GOEXE=""
    GOHOSTARCH="amd64"
    GOHOSTOS="darwin"
    GOOS="darwin"
    GOPATH="/Users/vgheri/go"
    GORACE=""
    GOROOT="/usr/local/go"
    GOTOOLDIR="/usr/local/go/pkg/tool/darwin_amd64"
    GCCGO="gccgo"
    CC="clang"
    GOGCCFLAGS="-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/9v/4b6h7ftd5ldfqv7gr82mbj340000gn/T/go-build280650015=/tmp/go-build -gno-record-gcc-switches -fno-common"
    CXX="clang++"
    CGO_ENABLED="1"
    PKG_CONFIG="pkg-config"
    CGO_CFLAGS="-g -O2"
    CGO_CPPFLAGS=""
    CGO_CXXFLAGS="-g -O2"
    CGO_FFLAGS="-g -O2"
    CGO_LDFLAGS="-g -O2"
    

    Steps to Reproduce

    1. Install go v1.7.3 from brew
    2. Update go version and remove v1.7.3
    3. Start Atom and try to go to definition of a built-in function or symbol

    Expected Behavior

    Expected go-plus to retrieve correct value for GOROOT and correctly go to definition, show autocomplete values for built-in objects.

    Actual Behavior

    Autocomplete, go to definition, signature in status bar do not work. Wrong GOROOT value is retrieved.

  • Bump fs-extra from 8.0.1 to 10.0.0

    Bump fs-extra from 8.0.1 to 10.0.0

    Bumps fs-extra from 8.0.1 to 10.0.0.

    Changelog

    Sourced from fs-extra's changelog.

    10.0.0 / 2021-05-03

    Breaking changes

    The following changes, although technically semver-major, will not affect the vast majority of users:

    • Ensure correct type when destination exists for ensureLink*()/ensureSymlink*() (#826, #786, #870)
    • Error when attempting to copy*() unknown file type (#880)
    • Remove undocumented options for remove*() (#882)

    Improvements

    • Allow changing case of filenames with move*(), even on technically case-insensitive filesystems (#759, #801)
    • Use native fs.rm*() for remove*() in environments that support it (#882, #806)
    • Improve emptyDir() performance (#885)

    Bugfixes

    • Ensure copy*()'s filter function is not called more than necessary (#883, #809)
    • Fix move*() raising EPERM error when moving a file to the root of a drive on Windows (#897, #819)

    Miscellaneous changes

    9.1.0 / 2021-01-19

    • Add promise support for fs.rm() (#841, #860)
    • Upgrade universalify for performance improvments (#825)

    9.0.1 / 2020-06-03

    • Fix issue with ensureFile() when used with Jest on Windows (#804, #805)
    • Remove unneeded process.umask() call (#791)
    • Docs improvements (#753, #795, #797)

    9.0.0 / 2020-03-19

    Breaking changes

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language
    • @dependabot badge me will comment on this PR with code to add a "Dependabot enabled" badge to your readme

    Additionally, you can set the following in your Dependabot dashboard:

    • Update frequency (including time of day and day of week)
    • Pull request limits (per update run and/or open at any time)
    • Out-of-range updates (receive only lockfile updates, if desired)
    • Security updates (receive only security updates, if desired)
  • Upgrade to GitHub-native Dependabot

    Upgrade to GitHub-native Dependabot

    Dependabot Preview will be shut down on August 3rd, 2021. In order to keep getting Dependabot updates, please merge this PR and migrate to GitHub-native Dependabot before then.

    Dependabot has been fully integrated into GitHub, so you no longer have to install and manage a separate app. This pull request migrates your configuration from Dependabot.com to a config file, using the new syntax. When merged, we'll swap out dependabot-preview (me) for a new dependabot app, and you'll be all set!

    With this change, you'll now use the Dependabot page in GitHub, rather than the Dependabot dashboard, to monitor your version updates, and you'll configure Dependabot through the new config file rather than a UI.

    If you've got any questions or feedback for us, please let us know by creating an issue in the dependabot/dependabot-core repository.

    Learn more about migrating to GitHub-native Dependabot

    Please note that regular @dependabot commands do not work on this pull request.

  • Bump flow-bin from 0.98.1 to 0.150.0

    Bump flow-bin from 0.98.1 to 0.150.0

    Bumps flow-bin from 0.98.1 to 0.150.0.

    Release notes

    Sourced from flow-bin's releases.

    v0.105.1

    The [email protected] release uploaded to npm did not include the binaries. Sorry about that! flow-bin v0.105.1 includes the Flow v0.105.0 binaries, so it is expected that node_modules/.bin/flow version still reports v0.105.0.

    There is no v0.105.1 release of Flow itself.

    Commits
    Maintainer changes

    This version was pushed to npm by flowtype, a new releaser for flow-bin since your current version.


    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language
    • @dependabot badge me will comment on this PR with code to add a "Dependabot enabled" badge to your readme

    Additionally, you can set the following in your Dependabot dashboard:

    • Update frequency (including time of day and day of week)
    • Pull request limits (per update run and/or open at any time)
    • Out-of-range updates (receive only lockfile updates, if desired)
    • Security updates (receive only security updates, if desired)
  • Bump eslint-plugin-react from 7.13.0 to 7.23.2

    Bump eslint-plugin-react from 7.13.0 to 7.23.2

    Bumps eslint-plugin-react from 7.13.0 to 7.23.2.

    Release notes

    Sourced from eslint-plugin-react's releases.

    v7.21.5

    No release notes provided.

    v7.21.4

    No release notes provided.

    v7.20.0

    Added

    Fixed

    • [jsx-sort-props][]: only use localeCompare when case is ignored (#2556[] @tanmoyopenroot)
    • [jsx-key][]: add a failing test case for optional chaining (#2610[] @JonathanLee-LX)
    • [no-unused-state][]: handle optional chaining (#2588[] @golopot)
    • [jsx-pascal-case][]: Do not consider namespaces when checking for DOM (#2638[] @yacinehmito)
    • [jsx-curly-spacing][], [jsx-no-bind][], usedPropTypes util: avoid node.start and node.end ([25b1936][] @toshi-toma)
    • [jsx-no-target-blank][]: allow no-referrer without noopener by default (#2043[] @seancrater)
    • [button-has-type][]: improve message when non-static value is used ([aecff62][] @golopot)
    • [no-adjacent-inline-elements][]: prevent crash on nullish children (#2621[] @Rogdham)
    • [prop-types][]: avoid crash when spreading any type (#2606[] @golopot))
    • [require-render-return][]: add missing "a" (#2604[] @leothorp)
    • [jsx-no-comment-textnodes][]: fix for @typescript-eslint/parser (#2601[] @Axnyff)
    • [displayName][]: avoid a crash when using React.memo (#2587[] @golopot)

    Docs

    • Clean up examples in rule docs (#2546[] @silvenon)
    • [readme] Add Rules of Hooks to Other useful plugins section (#2633[] @petetnt)
    • [no-this-in-sfc][]: backtick this (#2616[] @mrflip)
    • [function-component-definition][]: Fix unnamedComponents option examples (#2608[] @vkrol))

    Changed

    • [Deps] Move "semver" to devDependencies (#2595[] @rajivshah3)
    • [eslint] remove operator-linebreak override (#2578[] @golopot)
    • [Tests] button-has-type: ensure no mistakenly allowed identifiers named button/submit/reset (#2625[] @golopot)
    • [Tests] displayName: add a test case (#2593[] @golopot)
    • [Dev Deps] update @types/eslint, @types/estree, @types/node, @typescript-eslint/parser, coveralls, eslint-config-airbnb-base, eslint-plugin-import, typescript

    #2638: yannickcr/eslint-plugin-react#2638 #2635: yannickcr/eslint-plugin-react#2635 #2633: yannickcr/eslint-plugin-react#2633 #2625: yannickcr/eslint-plugin-react#2625 #2621: yannickcr/eslint-plugin-react#2621 #2616: yannickcr/eslint-plugin-react#2616 #2615: yannickcr/eslint-plugin-react#2615 #2610: yannickcr/eslint-plugin-react#2610 #2608: yannickcr/eslint-plugin-react#2608 #2606: yannickcr/eslint-plugin-react#2606

    ... (truncated)

    Changelog

    Sourced from eslint-plugin-react's changelog.

    7.23.2 - 2021.04.08

    Fixed

    • [jsx-max-depth]: Prevent getting stuck in circular references (#2957[] @AriPerkkio)
    • [jsx-no-target-blank]: fix handling of warnOnSpreadAttributes being false (#2953[] @Nokel81)
    • [forbid-dom-props]: support JSXNamespacedName (#2961[] @mrtnzlml)
    • [forbid-component-props]: support JSXNamespacedName (@ljharb)

    Changed

    #2961: yannickcr/eslint-plugin-react#2961 #2953: yannickcr/eslint-plugin-react#2953 #2957: yannickcr/eslint-plugin-react#2957 #2950: yannickcr/eslint-plugin-react#2950

    7.23.1 - 2021.03.23

    Fixed

    • version detection: support processor virtual filename (#2949[] @JounQin)

    #2949: yannickcr/eslint-plugin-react#2949

    [7.23.0] - 2021.03.22

    Added

    • [jsx-no-target-blank]: add fixer (#2862[] @Nokel81)
    • [jsx-pascal-case]: support minimatch ignore option (#2906[] @bcherny)
    • [jsx-pascal-case]: support allowNamespace option (#2917[] @kev-y-huang)
    • [jsx-newline]: Add prevent option (#2935[] @jsphstls)
    • [no-unstable-nested-components]: Prevent creating unstable components inside components (#2750[] @AriPerkkio)
    • added jsx-runtime config, for the modern JSX runtime transform (@ljharb)

    Fixed

    • [jsx-no-constructed-context-values]: avoid a crash with as X TS code (#2894[] @ljharb)
    • [jsx-no-constructed-context-values]: avoid a crash with boolean shorthand (#2895[] @ljharb)
    • [static-property-placement]: do not report non-components (#2893[] @golopot)
    • [no-array-index-key]: support optional chaining (#2897[] @SyMind)
    • [no-typos]: avoid a crash on bindingless prop-types import; add warning (#2899[] @ljharb)
    • [jsx-curly-brace-presence]: ignore containers with comments (#2900[] @golopot)
    • [destructuring-assignment]: fix a false positive for local prop named context in SFC (#2929[] @SyMind)
    • [jsx-no-target-blank]: Allow rel="noreferrer" when allowReferrer is true (#2925[] @edemaine)
    • [boolean-prop-naming]: add check for typescript "boolean" type (#2930[] @vedadeepta)
    • version detection: Add tests that verify versioning works for sibling and child projects (#2943[] @jcrosetto)
    • [jsx-curly-newline]: Update error messages (#2933[] @jbrower2)

    Changed

    • [Docs] [jsx-no-constructed-context-values][]: fix invalid example syntax (#2910[] @kud)

    ... (truncated)

    Commits
    • 0d999ef Update CHANGELOG and bump version
    • cbe99e0 [Fix] forbid-component-props: support JSXNamespacedName
    • 2f376e0 [Fix] forbid-dom-props: support JSXNamespacedName
    • 6b6a14a [Fix] jsx-no-target-blank: fix handling of warnOnSpreadAttributes being f...
    • 7ce9106 [Fix] jsx-max-depth: Prevent getting stuck in circular references
    • 106ccf4 [Tests] switch from coveralls to codecov
    • b4cdf25 [Dev Deps] update @types/eslint, @types/estree, @types/node
    • 752dc96 [actions] use node/install instead of node/run
    • c2a790a Fix CHANGELOG.md
    • 307458f Update CHANGELOG and bump version
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language
    • @dependabot badge me will comment on this PR with code to add a "Dependabot enabled" badge to your readme

    Additionally, you can set the following in your Dependabot dashboard:

    • Update frequency (including time of day and day of week)
    • Pull request limits (per update run and/or open at any time)
    • Out-of-range updates (receive only lockfile updates, if desired)
    • Security updates (receive only security updates, if desired)
  • Bump semver from 6.1.0 to 7.3.5

    Bump semver from 6.1.0 to 7.3.5

    Bumps semver from 6.1.0 to 7.3.5.

    Changelog

    Sourced from semver's changelog.

    changes log

    7.3.0

    • Add subset(r1, r2) method to determine if r1 range is entirely contained by r2 range.

    7.2.3

    • Fix handling of includePrelease mode where version ranges like 1.0.0 - 2.0.0 would include 3.0.0-pre and not 1.0.0-pre.

    7.2.2

    • Fix bug where 2.0.0-pre would be included in ^1.0.0 if includePrerelease was set to true.

    7.2.0

    • Add simplifyRange method to attempt to generate a more human-readable range expression that is equivalent to a supplied range, for a given set of versions.

    7.1.2

    • Remove fancy lazy-loading logic, as it was causing problems for webpack users.

    7.1.0

    • Add require('semver/preload') to load the entire module without using lazy getter methods.

    7.0.0

    • Refactor module into separate files for better tree-shaking
    • Drop support for very old node versions, use const/let, => functions, and classes.

    6.3.0

    • Expose the token enum on the exports

    6.2.0

    • Coerce numbers to strings when passed to semver.coerce()
    • Add rtl option to coerce from right to left

    6.1.3

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language
    • @dependabot badge me will comment on this PR with code to add a "Dependabot enabled" badge to your readme

    Additionally, you can set the following in your Dependabot dashboard:

    • Update frequency (including time of day and day of week)
    • Pull request limits (per update run and/or open at any time)
    • Out-of-range updates (receive only lockfile updates, if desired)
    • Security updates (receive only security updates, if desired)
  • [Security] Bump lodash from 4.17.11 to 4.17.21

    [Security] Bump lodash from 4.17.11 to 4.17.21

    Bumps lodash from 4.17.11 to 4.17.21. This update includes security fixes.

    Vulnerabilities fixed

    Sourced from The GitHub Security Advisory Database.

    Critical severity vulnerability that affects lodash, lodash-es, lodash-amd, lodash.template, lodash.merge, lodash.mergewith, and lodash.defaultsdeep Affected versions of lodash are vulnerable to Prototype Pollution. The function defaultsDeep could be tricked into adding or modifying properties of Object.prototype using a constructor payload.

    Affected versions: < 4.17.12

    Sourced from The GitHub Security Advisory Database.

    Prototype Pollution in lodash Versions of lodash prior to 4.17.19 are vulnerable to Prototype Pollution. The function zipObjectDeep allows a malicious user to modify the prototype of Object if the property identifiers are user-supplied. Being affected by this issue requires zipping objects based on user-provided property arrays.

    This vulnerability causes the addition or modification of an existing property that will exist on all objects and may lead to Denial of Service or Code Execution under specific circumstances.

    Affected versions: < 4.17.19

    Sourced from The GitHub Security Advisory Database.

    Prototype Pollution in lodash Versions of lodash prior to 4.17.19 are vulnerable to Prototype Pollution. The function zipObjectDeep allows a malicious user to modify the prototype of Object if the property identifiers are user-supplied. Being affected by this issue requires zipping objects based on user-provided property arrays.

    This vulnerability causes the addition or modification of an existing property that will exist on all objects and may lead to Denial of Service or Code Execution under specific circumstances.

    Affected versions: < 4.17.19

    Sourced from The GitHub Security Advisory Database.

    High severity vulnerability that affects lodash, lodash-es, lodash-amd, lodash.template, lodash.merge, lodash.mergewith, and lodash.defaultsdeep Affected versions of lodash are vulnerable to Prototype Pollution. The function defaultsDeep could be tricked into adding or modifying properties of Object.prototype using a constructor payload.

    Affected versions: < 4.17.13

    Commits
    • f299b52 Bump to v4.17.21
    • c4847eb Improve performance of toNumber, trim and trimEnd on large input strings
    • 3469357 Prevent command injection through _.template's variable option
    • ded9bc6 Bump to v4.17.20.
    • 63150ef Documentation fixes.
    • 00f0f62 test.js: Remove trailing comma.
    • 846e434 Temporarily use a custom fork of lodash-cli.
    • 5d046f3 Re-enable Travis tests on 4.17 branch.
    • aa816b3 Remove /npm-package.
    • d7fbc52 Bump to v4.17.19
    • Additional commits viewable in compare view
    Maintainer changes

    This version was pushed to npm by bnjmnt4n, a new releaser for lodash since your current version.


    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language
    • @dependabot badge me will comment on this PR with code to add a "Dependabot enabled" badge to your readme

    Additionally, you can set the following in your Dependabot dashboard:

    • Update frequency (including time of day and day of week)
    • Pull request limits (per update run and/or open at any time)
    • Out-of-range updates (receive only lockfile updates, if desired)
    • Security updates (receive only security updates, if desired)
A graphical text editor
A graphical text editor

A A is a text editor inspired by the Sam and Acme text editors for the Plan 9 operating system. binary Latest Binaries https://github.com/as/a/release

Dec 13, 2022
A Programmer's Text Editor
A Programmer's Text Editor

The de Editor de is a programmer's editor. (Where that programmer happens to be driusan.) It's kind of like a bastard child of vim and Plan 9's acme e

Dec 8, 2022
A very religious text editor

--== Godit - a very religious text editor ==-- Screenshots: * https://nosmileface.dev/images/godit-linux1.png * https://nosmileface.dev/images/god

Dec 27, 2022
A modern and intuitive terminal-based text editor
A modern and intuitive terminal-based text editor

micro is a terminal-based text editor that aims to be easy to use and intuitive, while also taking advantage of the capabilities of modern terminals.

Dec 30, 2022
Source code editor written in Go using go-gtk bindings. It aims to handle navigation effectively among large number of files.
Source code editor written in Go using go-gtk bindings. It aims to handle navigation effectively among large number of files.

tabby Source code editor written in Go using go-gtk bindings. It aims to handle navigation effectively among large number of files. screenshot: depend

Nov 16, 2022
Go version of Plan9 Acme Editor

Overview Go port of Rob Pike's Acme editor. Derived from ProjectSerenity but now increasingly divergent. ProjectSerenity was itself a transliteration

Dec 24, 2022
Binary editor written in Go
Binary editor written in Go

bed Binary editor written in Go Screenshot Why? Why not? Programming is so fun! I learned so much while creating this editor; handling of file pointer

Jan 5, 2023
WYSIWYG theme editor for Fyne
WYSIWYG theme editor for Fyne

fyne-theme-generator WYSIWYG theme editor for Fyne Installation go get github.com/lusingander/fyne-theme-generator Usage You can change each parameter

Jan 5, 2023
MdEdit is a Vi-like markdown editor built using Gio

MdEdit MdEdit is a Vi-like markdown editor built using Gio. It is extremely early stage software. The Vi editor lacks most functionality and might be

Jun 29, 2022
Mini is a small text editor, inspred by antirez's kilo editor.
Mini is a small text editor, inspred by antirez's kilo editor.

mini Mini is a small text editor, inspred by antirez's kilo editor. It aims to Keep it simple, stupid.

Dec 23, 2022
NERV Editor - A simple but peculiar text editor
NERV Editor - A simple but peculiar text editor

nerved a simple but peculiar text editor introduction nerved is a text editor bu

Oct 24, 2022
Parse RSS, Atom and JSON feeds in Go
Parse RSS, Atom and JSON feeds in Go

gofeed The gofeed library is a robust feed parser that supports parsing both RSS, Atom and JSON feeds. The library provides a universal gofeed.Parser

Jan 8, 2023
golang rss/atom generator library

gorilla/feeds feeds is a web feed generator library for generating RSS, Atom and JSON feeds from Go applications. Goals Provide a simple interface to

Dec 26, 2022
There are 1,000,000 uatoms in an atom, a fact which I frequently forget and/or second-guess.

There are 1,000,000 uatoms in an atom, a fact which I frequently forget and/or second-guess. This repo contains a lot of programming to save myself a little bit of remembering.

Nov 14, 2021
A prefix-enhanced map in Go

PrefixMap PrefixMap is a prefix-enhanced map that eases the retrieval of values based on key prefixes. Quick Start Creating a PrefixMap // creates the

Jun 13, 2022
An enhanced http client for Golang
An enhanced http client for Golang

go-http-client An enhanced http client for Golang Documentation on go.dev ?? This package provides you a http client package for your http requests. Y

Dec 23, 2022
An enhanced HTTP client for Go
An enhanced HTTP client for Go

Heimdall Description Installation Usage Making a simple GET request Creating a hystrix-like circuit breaker Creating a hystrix-like circuit breaker wi

Jan 9, 2023
Enhanced PostgreSQL logical replication

pgcat - Enhanced postgresql logical replication Why pgcat? Architecture Build from source Install Run Conflict handling Table mapping Replication iden

Dec 21, 2022
An enhanced HTTP client for Go
An enhanced HTTP client for Go

Heimdall Description Installation Usage Making a simple GET request Creating a hystrix-like circuit breaker Creating a hystrix-like circuit breaker wi

Jan 2, 2023