profile
viewpoint
Jordan Eldredge captbaritone @facebook Alameda, CA https://jordaneldredge.com Engineer on relay.dev at Facebook | Made webamp.org

1j01/98 559

💿 Web-based Windows 98 desktop recreation █████▓█▓▓▒▓▒▒░▒░░░🗕︎🗗︎🗙︎

captbaritone/codeception-mailcatcher-module 106

Test emails in your Codeception acceptance tests

captbaritone/better-indent-support-for-php-with-html 49

This script allows you to indent HTML sections in PHP files

captbaritone/awesome-atwoods-law 15

A curated list of applications reimplemented in JavaScript

afahim/eslint-plugin-underscore-lodash-compatibility 9

Make sure your code can use underscore and lodash interchangeably.

aaronabramov/haste_map 6

jest-haste-map fork written in rust

captbaritone/butterchurn 3

Butterchurn is a WebGL implementation of the Milkdrop Visualizer

captbaritone/clusterfach-py 3

A recommendation engine

captbaritone/album-cover-generator 2

Randomly generated album covers

captbaritone/acorn 1

A small, fast, JavaScript-based JavaScript parser

pull request commenteslint/eslint

feat: Treat Class/New Expressions as truthy in no-constant-condition

I believe all comments have been addressed.

captbaritone

comment created time in a day

issue commenteslint/eslint

Rule Change: Detect comparison to always new objects in no-constant-binary-expression

Curious what, if any, further input is needed here?

captbaritone

comment created time in a day

push eventcaptbaritone/eslint

Jordan Eldredge

commit sha 1e7822a8b382c3732fef01bc8907c24c3566aa3e

feat: Add rule no-constant-binary-expression I proposed the core idea of this rule in https://github.com/eslint/eslint/issues/13752 as an addition to `no-constant-condition`, but on the advice of the TSC, it was restructured as a standalone rule.

view details

push time in 2 days

Pull request review commenteslint/eslint

feat: Add rule no-constant-binary-expression

+/**+ * @fileoverview Rule to flag constant comparisons and logical expressions that always/never short circuit+ * @author Jordan Eldredge <https://jordaneldredge.com>+ */++"use strict";++const { isNullOrUndefined } = require("./utils/ast-utils");++// Object keys which, if redefined, could impact how equality is computed.+const OBJECT_EQUALITY_KEYS = new Set(["valueOf", "toString", "__proto__"]);+const NUMERIC_OR_STRING_BINARY_OPERATORS = new Set(["+", "-", "*", "/", "%", "|", "^", "&"]);++//------------------------------------------------------------------------------+// Helpers+//------------------------------------------------------------------------------++/**+ * Test if an AST node has a statically knowable constant truthiness. Meaning,+ * it will always coerce to either `true` or `false`.+ * @param {ASTNode} node The AST node being tested.+ * @returns {boolean} Does `node` have constant truthiness?+ */+function hasConstantTruthiness(node) {+    switch (node.type) {+        case "ObjectExpression": // Objects are always truthy+        case "ArrayExpression": // Arrays are always truthy+        case "ArrowFunctionExpression": // Functions are always truthy+        case "FunctionExpression": // Functions are always truthy+        case "ClassExpression": // Classes are always truthy+        case "NewExpression": // Objects are always truthy+        case "Literal": // Truthy, or falsy, literals never change+            return true;+        case "CallExpression": {+            if (node.callee.type === "Identifier" && node.callee.name === "Boolean") {+                return node.arguments.length === 0 || hasConstantTruthiness(node.arguments[0]);+            }+            return false;+        }+        case "JSXElement": // ESLint has a policy of not assuming any specific JSX behavior.+        case "JSXFragment":+            return false;+        case "AssignmentExpression":+            if (node.operator !== "=") {+                return false; // We won't go so far as to try to evaluate += etc.+            }+            return hasConstantTruthiness(node.right);+        case "TemplateLiteral":++            /*+             * TODO: If all quasis are empty, we could look at node.expressions

Done.

captbaritone

comment created time in 2 days

PullRequestReviewEvent

issue openedtree-sitter/tree-sitter-javascript

** operator should be right associative

The following piece of code is valid but it is parsed incorrectly:

1 ** foo ** 2

Here's a link to the TypeScript Playground showing that the snippet above is valid JavaScript or TypeScript: <!-- Please check your code at https://www.typescriptlang.org/play and paste the URL below. --> https://www.typescriptlang.org/play?#code/IwAgVGIGYPY+kBMAoIA

<!-- Please run tree-sitter parse YOUR_FILE and show us the output. --> The output of tree-sitter parse is the following:

(program [0, 0] - [1, 0]
  (expression_statement [0, 0] - [0, 13]
    (binary_expression [0, 0] - [0, 13]
      left: (binary_expression [0, 0] - [0, 8]
        left: (number [0, 0] - [0, 1])
        right: (identifier [0, 5] - [0, 8]))
      right: (number [0, 12] - [0, 13]))))

<!-- If there is no ERROR or MISSING node in the output above, explain what you were expecting: -->

<!-- Name of the broken/missing feature, link to official documentation, and any other relevant info is appreciated: -->

This should be parsed as a binary expression with a number on the left hand side and another binary expression on the right hand side. Instead we get a binary expression on the right hand side, and a number on the right hand side. ie, we get (1 ** foo) ** 2 but we should get 1 ** (foo ** 2).

According to MDN:

[...] Exponentiation, on the other hand, is right-associative, so 2 ** 3 ** 2 is the same as 2 ** (3 ** 2).

I've also compared this with Babel's parse of that expression. Babel gives the expected 1 ** (foo ** 2) parse.

The relevant code in this repo is here where we unconditionally treat all binary expressions are left associative.

Motivating context: https://twitter.com/captbaritone/status/1465462792467595265

created time in 2 days

push eventcaptbaritone/jordaneldredge.com

Jordan Eldredge

commit sha 814bafe27e3591ae13d501a838f5f8e5ccf73ef1

Fix typo

view details

push time in 3 days

push eventcaptbaritone/jordaneldredge.com

Jordan Eldredge

commit sha db815766eeff7bed78097fcdbd180d44e0bc19c9

Typos and spelling

view details

push time in 3 days

issue commentcaptbaritone/webamp

Crossorigin and Credentials for Audio

Oh interesting. Good point. Do you think it makes sense to have this be configurable on a per-Webamp-instance level, or perhaps as an optional field on the audio track itself? In theory someone might want to mix tracks served from different servers.

izderadicka

comment created time in 4 days

PR opened eslint/eslint

docs: Dedent needlessly indented example in getter-return docs

<!-- Thank you for contributing!

ESLint adheres to the [JS Foundation Code of Conduct](https://js.foundation/community/code-of-conduct).

-->

Prerequisites checklist

What is the purpose of this pull request? (put an "X" next to an item)

<!-- The following template is intentionally not a markdown checkbox list for the reasons explained in https://github.com/eslint/eslint/pull/12848#issuecomment-580302888 -->

[X] Documentation update

<!-- If the item you've checked above has a template, please paste the template questions below and answer them. (If this pull request is addressing an issue, you can just paste a link to the issue here instead.) -->

<!-- Please ensure your pull request is ready:

- Read the pull request guide (https://eslint.org/docs/developer-guide/contributing/pull-requests)
- Include tests for this change
- Update documentation for this change (if appropriate)

-->

<!-- The following is required for all pull requests: -->

What changes did you make? (Give an overview)

Removed indentation from code example.

Is there anything you'd like reviewers to focus on?

+11 -11

0 comment

1 changed file

pr created time in 6 days

create barnchcaptbaritone/eslint

branch : dedent

created branch time in 6 days

pull request commenteslint/eslint

feat: Add rule no-constant-binary-expression

In #15357 I've proposed expanding this rule to also detect comparison to always-new objects: foo === {}, foo === [], foo === (() => {}) etc.

I'll wait for affirmative approval on that issue before updating this PR to include that logic.

captbaritone

comment created time in 6 days

push eventcaptbaritone/eslint

Jordan Eldredge

commit sha dc035e9935df67cb2bb5ba945b0d0a43885b38bc

feat: Add rule no-constant-binary-expression I proposed the core idea of this rule in https://github.com/eslint/eslint/issues/13752 as an addition to `no-constant-condition`, but on the advice of the TSC, it was restructured as a standalone rule.

view details

push time in 6 days

Pull request review commenteslint/eslint

feat: Add rule no-constant-binary-expression

+/**+ * @fileoverview Rule to flag constant comparisons and logical expressions that always/never short circuit+ * @author Jordan Eldredge <https://jordaneldredge.com>+ */++"use strict";++const { isNullOrUndefined } = require("./utils/ast-utils");++// Object keys which, if redefined, could impact how equality is computed.+const OBJECT_EQUALITY_KEYS = new Set(["valueOf", "toString", "__proto__"]);+const NUMERIC_OR_STRING_BINARY_OPERATORS = new Set(["+", "-", "*", "/", "%", "|", "^", "&"]);++//------------------------------------------------------------------------------+// Helpers+//------------------------------------------------------------------------------++/**+ * Test if an AST node has a statically knowable constant truthiness. Meaning,+ * it will always coerce to either `true` or `false`.+ * @param {ASTNode} node The AST node being tested.+ * @returns {boolean} Does `node` have constant truthiness?+ */+function hasConstantTruthiness(node) {+    switch (node.type) {+        case "ObjectExpression": // Objects are always truthy+        case "ArrayExpression": // Arrays are always truthy+        case "ArrowFunctionExpression": // Functions are always truthy+        case "FunctionExpression": // Functions are always truthy+        case "ClassExpression": // Classes are always truthy+        case "NewExpression": // Objects are always truthy+        case "Literal": // Truthy, or falsy, literals never change+            return true;+        case "CallExpression": {+            if (node.callee.type === "Identifier" && node.callee.name === "Boolean") {+                return node.arguments.length === 0 || hasConstantTruthiness(node.arguments[0]);+            }+            return false;+        }+        case "JSXElement": // ESLint has a policy of not assuming any specific JSX behavior.+        case "JSXFragment":+            return false;+        case "AssignmentExpression":+            if (node.operator !== "=") {+                return false; // We won't go so far as to try to evaluate += etc.+            }+            return hasConstantTruthiness(node.right);+        case "TemplateLiteral":++            /*+             * TODO: If all quasis are empty, we could look at node.expressions

I'm happy to reword these to be more stylistically consistent with the rest of the project, just let me know what would work.

captbaritone

comment created time in 6 days

PullRequestReviewEvent

Pull request review commenteslint/eslint

feat: Add rule no-constant-binary-expression

+/**+ * @fileoverview Rule to flag constant comparisons and logical expressions that always/never short circuit+ * @author Jordan Eldredge <https://jordaneldredge.com>+ */++"use strict";++const { isNullOrUndefined } = require("./utils/ast-utils");++// Object keys which, if redefined, could impact how equality is computed.+const OBJECT_EQUALITY_KEYS = new Set(["valueOf", "toString", "__proto__"]);+const NUMERIC_OR_STRING_BINARY_OPERATORS = new Set(["+", "-", "*", "/", "%", "|", "^", "&"]);++//------------------------------------------------------------------------------+// Helpers+//------------------------------------------------------------------------------++/**+ * Test if an AST node has a statically knowable constant truthiness. Meaning,+ * it will always coerce to either `true` or `false`.+ * @param {ASTNode} node The AST node being tested.+ * @returns {boolean} Does `node` have constant truthiness?+ */+function hasConstantTruthiness(node) {+    switch (node.type) {+        case "ObjectExpression": // Objects are always truthy+        case "ArrayExpression": // Arrays are always truthy+        case "ArrowFunctionExpression": // Functions are always truthy+        case "FunctionExpression": // Functions are always truthy+        case "ClassExpression": // Classes are always truthy+        case "NewExpression": // Objects are always truthy+        case "Literal": // Truthy, or falsy, literals never change+            return true;+        case "CallExpression": {+            if (node.callee.type === "Identifier" && node.callee.name === "Boolean") {+                return node.arguments.length === 0 || hasConstantTruthiness(node.arguments[0]);+            }+            return false;+        }+        case "JSXElement": // ESLint has a policy of not assuming any specific JSX behavior.+        case "JSXFragment":+            return false;+        case "AssignmentExpression":+            if (node.operator !== "=") {+                return false; // We won't go so far as to try to evaluate += etc.+            }+            return hasConstantTruthiness(node.right);+        case "TemplateLiteral":++            /*+             * TODO: If all quasis are empty, we could look at node.expressions

These TODOs represent ways in which the rule could technically be taken further, but felt like they passed the point of diminishing returns in my estimation. I wasn't planning to complete these as part of this PR, but if reviewers think any of them seem worth doing, I'd be happy to add them.

My intention was that they would clarify places where I recognized that further inference was technically possible, but had opted not to do that work while also leaving a hint in case someone in the future wanted to consider add it.

captbaritone

comment created time in 6 days

PullRequestReviewEvent

issue commentvim-awesome/vim-awesome

Let’s Encrypt Cert Expiring Soon (Nov. 23)

I tried logging in and this is the error message I see:

Traceback (most recent call last):
  File "/usr/bin/certbot", line 11, in <module>
    load_entry_point('certbot==0.31.0', 'console_scripts', 'certbot')()
  File "/usr/lib/python3/dist-packages/certbot/main.py", line 1365, in main
    return config.func(config, plugins)
  File "/usr/lib/python3/dist-packages/certbot/main.py", line 1111, in run
    le_client = _init_le_client(config, authenticator, installer)
  File "/usr/lib/python3/dist-packages/certbot/main.py", line 612, in _init_le_client
    return client.Client(config, acc, authenticator, installer, acme=acme)
  File "/usr/lib/python3/dist-packages/certbot/client.py", line 266, in __init__
    acme = acme_from_config_key(config, self.account.key, self.account.regr)
  File "/usr/lib/python3/dist-packages/certbot/client.py", line 51, in acme_from_config_key
    return acme_client.BackwardsCompatibleClientV2(net, key, config.server)
  File "/usr/lib/python3/dist-packages/acme/client.py", line 814, in __init__
    directory = messages.Directory.from_json(net.get(server).json())
  File "/usr/lib/python3/dist-packages/acme/client.py", line 1152, in get
    self._send_request('GET', url, **kwargs), content_type=content_type)
  File "/usr/lib/python3/dist-packages/acme/client.py", line 1101, in _send_request
    response = self.session.request(method, url, *args, **kwargs)
  File "/usr/lib/python3/dist-packages/requests/sessions.py", line 502, in request
    resp = self.send(prep, **send_kwargs)
  File "/usr/lib/python3/dist-packages/requests/sessions.py", line 612, in send
    r = adapter.send(request, **kwargs)
  File "/usr/lib/python3/dist-packages/requests/adapters.py", line 514, in send
    raise SSLError(e, request=request)
requests.exceptions.SSLError: ("bad handshake: Error([('SSL routines', 'SSL3_GET_SERVER_CERTIFICATE', 'certificate verify failed')],)",)
2021-11-26 18:03:32,702:ERROR:certbot.log:An unexpected error occurred:

I figured we'd need to upgrade certbot, but it looks like certbot was installed using pip (maybe by me years ago?) and that's not the recommended way to do it. I tried looking into installing certbot the suggested way via snapd, but I think our version of Ubuntu is too old to do it without some special care that I'm not sure about.

I looked into just upgrading via pip pip install --upgrade certbot and got:

[...]
Downloading/unpacking cryptography>=2.1.4 (from certbot)
  Downloading cryptography-36.0.0.tar.gz (571kB): 571kB downloaded
  Running setup.py (path:/tmp/pip_build_vim/cryptography/setup.py) egg_info for package cryptography
    Traceback (most recent call last):
      File "<string>", line 17, in <module>
      File "/tmp/pip_build_vim/cryptography/setup.py", line 84
        print(f"    Python: {'.'.join(str(v) for v in sys.version_info[:3])}")
                                                                            ^
    SyntaxError: invalid syntax
    Complete output from command python setup.py egg_info:
    Traceback (most recent call last):

  File "<string>", line 17, in <module>

  File "/tmp/pip_build_vim/cryptography/setup.py", line 84

    print(f"    Python: {'.'.join(str(v) for v in sys.version_info[:3])}")

                                                                        ^

SyntaxError: invalid syntax

----------------------------------------
Cleaning up...
Command python setup.py egg_info failed with error code 1 in /tmp/pip_build_vim/cryptography
Storing debug log for failure in /tmp/tmpSEQ6pQ

I suspect this is something to do with trying to run Python 3 code using Python 3?

I don't have any more time to look into this today, so I'll have to leave it here.

cc @sophiebits @divad12

captbaritone

comment created time in 6 days

issue openedeslint/eslint

Rule Change: Detect comparison to always new objects in no-constant-binary-expression

What rule do you want to change?

no-constant-binary-expression

What change to do you want to make?

Generate more warnings

How do you think the change should be implemented?

A new default behavior

Example code

function isEmpty(arr) {
  return arr === [];
}

function isDefault(obj) {
  return obj === {value: 'default'};
}

What does the rule currently do for this code?

Does not warn

What will the rule do after it's changed?

Warn

Participation

  • [X] I am willing to submit a pull request to implement this change.

Additional comments

A === comparison between an any value and a newly constructed object is guaranteed to always be false and can be trivially detected based on syntax. This type of programming error can be easy to make for programmers coming from compare-by-value languages.

I originally proposed this as a new rule in #15222 (you can see more context there) and it was rejected. However, now that I've realized we are calling my other proposed rule (#15222) no-constant-binary-expression I'm thinking that it makes sense to include this type of detection in no-constant-binary-expression.

In short: foo === {} or foo === [] or foo === (() => {}) are all statically proveably constant binary expressions, and thus would make sense to flag as part of the new rule no-constant-binary-expression.

Thoughts?

created time in 7 days

issue commenteslint/eslint

Follow identifiers to their declaration in `no-constant-condition`

@Gautam-Arora24 If you're still working on this, it would be worth including the proposed new no-constant-binary-expression rule (#15296) in the proposal as well since it would similarly benefit from following identifiers to their definition. I made some changes to the proposed rule for our local fork of it and, anecdotally, it detects on the order of twice as many issues.

captbaritone

comment created time in 7 days

push eventcaptbaritone/eslint

Jordan Eldredge

commit sha 0f95d9bfd430d0610b6a460681cbcf0e61ad2449

feat: Add rule no-constant-binary-expression I proposed the core idea of this rule in https://github.com/eslint/eslint/issues/13752 as an addition to `no-constant-condition`, but on the advice of the TSC, it was restructured as a standalone rule.

view details

push time in 7 days

push eventcaptbaritone/eslint

Jordan Eldredge

commit sha e2088d21672b26bb7ba470094e9736d4aca5a513

feat: Add rule no-constant-binary-expression I proposed the core idea of this rule in https://github.com/eslint/eslint/issues/13752 as an addition to `no-constant-condition`, but on the advice of the TSC, it was restructured as a standalone rule.

view details

push time in 7 days

pull request commenteslint/eslint

feat: Add rule no-constant-binary-operand

the name should be no-constant-binary-expression

Ah thanks. Will fix.

captbaritone

comment created time in 7 days

push eventcaptbaritone/eslint

Jordan Eldredge

commit sha 5f8a79b54ba15653b44143b3aecb7aa4f04f81a4

feat: Add rule no-constant-binary-operand I proposed the core idea of this rule in https://github.com/eslint/eslint/issues/13752 as an addition to `no-constant-condition`, but on the advice of the TSC, it was restructured as a standalone rule.

view details

push time in 7 days

push eventcaptbaritone/eslint

Milos Djermanovic

commit sha 6791decfc58b7b09cfd0aabd15a3d14148aae073

Docs: fix example for require-atomic-updates (#14562)

view details

Nitin Kumar

commit sha ee3a3ead893d185cc4b1ae9041940cb0968767e1

Fix: create `.eslintrc.cjs` for `module` type (#14304) * Fix: create `.eslintrc.cjs` for `module` type * Chore: add tests * Chore: more test * Chore: refactor tests * Chore: refactor tests * Chore: refactor test * Chore: refactor tests

view details

Milos Djermanovic

commit sha 6a86e5018a3733049c09261bcabae422fbea893d

Chore: remove loose-parser tests (fixes #14315) (#14569)

view details

Patrick Ahmetovic

commit sha ae6dbd148aaca83e4bd04b9351b54029c50fac8a

Fix: track variables, not names in require-atomic-updates (fixes #14208) (#14282) * Fix: require-atomic-updates false positives in loops (fixes #14208) * Rework & store variables in segmentInfo instead of variable names * Skip unresolved references in createReferenceMap

view details

Brandon Mills

commit sha aaf65e629adb74401092c3ccc9cb4e4bd1c8609b

Upgrade: eslintrc for ModuleResolver fix (#14577) This incorporates https://github.com/eslint/eslintrc/pull/34, which allows fixing `CLIEngine`'s `ModuleResolver` import.

view details

ESLint Jenkins

commit sha 53bf14d1725a90dbc696e45d69ab515fc4cca63f

Build: changelog update for 7.26.0

view details

ESLint Jenkins

commit sha 6e9aad8053a4ea7fb8b5beeb1f1173c740890185

7.26.0

view details

ESLint Jenkins

commit sha 6a2ced892c0dc43fa4942293b9f1c4b9151c3741

Docs: Update README team and sponsors

view details

Nitin Kumar

commit sha 086c1d6e8593cf8e7851daa8f2a890c213cf6999

Chore: add more test cases for `no-sequences` (#14579)

view details

ESLint Jenkins

commit sha fe29f18227fd02fd7c3da033417d621275b00d0a

Sponsors: Sync README with website

view details

ESLint Jenkins

commit sha 2466a05160de60958457d984b79fd445c12ebc98

Sponsors: Sync README with website

view details

Ikko Ashimine

commit sha 967b1c4ceca8f5248378477da94ff118dafaa647

Chore: Fix typo in large.js (#14589) wether -> whether

view details

Alex Holden

commit sha 52655dd54925ee02af2ba3a0ebc09de959ae3101

Update: no-restricted-imports custom message for patterns (fixes #11843) (#14580) * Update: no-restricted-imports rule with custom messages (fixes #11843) * Update docs/rules/no-restricted-imports.md Co-authored-by: Milos Djermanovic <milos.djermanovic@gmail.com> * Update docs/rules/no-restricted-imports.md Co-authored-by: Milos Djermanovic <milos.djermanovic@gmail.com> * Code review feedback - better test cases and schema change * Doc updates * Added correct/incorrect examples to docs Co-authored-by: Milos Djermanovic <milos.djermanovic@gmail.com>

view details

Stephen Wade

commit sha c0f418e2476df98519bc156b81d20431984e8704

Chore: Remove lodash (#14287) * Chore: Update table to ^6.0.9 * Chore: Remove lodash.last lodash.last(array) -> array[array.length - 1] * Chore: Remove lodash.get v = lodash.get(a, "b.c") -> if (a && a.b && a.b.c) v = a.b.c * Chore: Remove lodash.noop lodash.noop -> () => {} * Chore: Remove lodash.union https://exploringjs.com/impatient-js/ch_sets.html#union-a-b * Chore: Remove lodash.intersection https://exploringjs.com/impatient-js/ch_sets.html#intersection-a-b * Chore: Remove lodash.findLast lodash.findLast(array) -> [...array].reverse().find(_ =>_) * Chore: Remove lodash.overSome * Chore: Remove lodash.isPlainObject * Chore: Remove lodash.isString lodash.isString(str) -> typeof str === "string"; * Chore: Remove lodash.range * Chore: Remove lodash.sortedLastIndex https://www.30secondsofcode.org/js/s/sorted-last-index * Chore: Remove lodash.sortedIndexBy https://www.30secondsofcode.org/js/s/sorted-index-by * Chore: Remove lodash.sample https://www.30secondsofcode.org/js/s/sample * Chore: Remove lodash.flatMap * Chore: Remove lodash.flatten * Chore: Remove lodash.template * Chore: Remove lodash.escapeRegExp Add the escape-string-regexp package * Chore: Remove lodash.isEqual Add the fast-deep-equal package * Chore: Remove lodash.merge Add the deep-extend package * Chore: Remove lodash.cloneDeep Add the clone package * Chore: Remove lodash.omit Add the omit package * Chore: Remove lodash.upperFirst Add the upper-case-first package * Chore: Remove lodash.memoize Add the fast-memoize package * Chore: Remove lodash.mapValues Add the map-values package * Chore: Remove lodash.flatten * Chore: Remove lodash * Chore: Replace arrays.flat() * Chore: Replace clone with rfdc * Chore: Add comment about map-values * Chore: Remove omit dependency * Chore: Remove rfdc dependency * Chore: Remove upper-case-first dependency * Chore: Remove fast-memoize dependency * Chore: Apply suggestions in lib/linter/node-event-generator.js Co-authored-by: Milos Djermanovic <milos.djermanovic@gmail.com> * Chore: Add tests for upperCaseFirst * Chore: Remove map-values dependency * Chore: Apply review suggestions * Chore: Upgrade deep-extend to ^0.6.0 * Chore: Replace deep-extend dependency with lodash.merge * Chore: Apply review suggestion * Chore: Simplify search code * Chore: Apply review suggestions Co-authored-by: Milos Djermanovic <milos.djermanovic@gmail.com>

view details

Mikhail Bodrov

commit sha afe95693e1e4316a1c6f01d39345061d4c5921c7

Chore: use includes instead of indexOf (#14607)

view details

Nitin Kumar

commit sha 9e9b5e07475564813b62cd1d7562a93c5fb4bc74

Update: no-unused-vars false negative with comma operator (fixes #14325) (#14354) * Fix: report error for sequence expression in no-unused-vars (fixes #14325) * Chore: add tests * Update: suggestions * Chore: refactor * Chore: refactor * Fix: logic * Chore: add tests

view details

Milos Djermanovic

commit sha 2c0868cbeadc9f42716fa1178ebdc6b4cee6d31e

Chore: merge all html formatter files into `html.js` (#14612)

view details

ESLint Jenkins

commit sha ebd1292454ef99180a50934462b205e064645eb5

Build: changelog update for 7.27.0

view details

ESLint Jenkins

commit sha 18c791ad51f83a622834c2ba7db8f47956c4f18e

7.27.0

view details

ESLint Jenkins

commit sha 85a2725b1fade5538e727102d9701ccb503e54d4

Docs: Update README team and sponsors

view details

push time in 7 days

push eventcaptbaritone/jordaneldredge.com

Jordan Eldredge

commit sha 6946473b0a4dcda053a67da89fb3331b780effc7

Add more details to context manager post

view details

push time in 8 days

push eventcaptbaritone/jordaneldredge.com

Jordan Eldredge

commit sha c2e891fb5bd8b0295159521e54382f3ab2b13599

Add images to RSS

view details

push time in 8 days

push eventcaptbaritone/jordaneldredge.com

Jordan Eldredge

commit sha eac0c4dd32de19e0458c1f77709027b58e1d6c0c

Build RSS feed

view details

Jordan Eldredge

commit sha 2b7b3c877e13c04d36e7b3c4be40a0a11947ee1f

I work at Meta now, I guess

view details

Jordan Eldredge

commit sha bc5352b48e68240a273efc132b0728b09215b441

Remove line breaks

view details

push time in 8 days

issue commentjberg/butterchurn

Adding music from SoundCloud not working anymore

Yeah, he’s still around. Just focusing on other things. I’m sure he’ll be back eventually when he has time again.

On Wed, Nov 24, 2021 at 9:11 AM evoyy ***@***.***> wrote:

Sorry to hijack this issue, @captbaritone https://github.com/captbaritone are you a friend of @jnberg16 https://github.com/jberg? He was developing this project fairly heavily until the beginning of the year, and then seemed to stop. I hope he is OK.

— You are receiving this because you were mentioned.

Reply to this email directly, view it on GitHub https://github.com/jberg/butterchurn/issues/71#issuecomment-978070518, or unsubscribe https://github.com/notifications/unsubscribe-auth/AABHXL3JOPBZEZQFUPOVGEDUNUMDFANCNFSM5IR2TVFQ .

-- Jordan Eldredge

jordaneldredge.com @captbaritone http://twitter.com/captbaritone

lexum0

comment created time in 8 days

more