Skip to content

Commit

Permalink
feat: rename to eslint-config-love
Browse files Browse the repository at this point in the history
  • Loading branch information
mightyiam committed Mar 16, 2024
1 parent f912ac9 commit f71d143
Show file tree
Hide file tree
Showing 4 changed files with 16 additions and 20 deletions.
4 changes: 2 additions & 2 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

13 changes: 5 additions & 8 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "eslint-config-standard-with-typescript",
"name": "eslint-config-love",

This comment has been minimized.

Copy link
@hellohejinyu

hellohejinyu Mar 19, 2024

I think this is not a good name; it will confuse developers, leaving them unsure of what the purpose of this package is.

This comment has been minimized.

Copy link
@aaronz-vipaso

aaronz-vipaso Mar 22, 2024

@mightyiam What is the reason for renaming this?

This comment has been minimized.

Copy link
@mightyiam

mightyiam Mar 22, 2024

Author Owner

I think this is not a good name; it will confuse developers, leaving them unsure of what the purpose of this package is.

You're right. I'm sorry. Perhaps you'd enjoy this ChatGPT query:


Me: A wild npm package appears! Its title is eslint-config-love. The developer is unfamiliar with it and is for some odd reason unable to read the description. Having only the title to rely on, what might this package provide? Provide your response in markdown source, please.

ChatGPT: Given the title eslint-config-love, we can infer a few things about this npm package:

  1. ESLint Configuration: The prefix eslint-config- suggests that this package is an ESLint configuration. ESLint is a popular linting tool used in JavaScript and TypeScript projects to find and fix problems in code, enforce coding standards, and avoid bugs.

  2. Custom Ruleset Theme: The word love in the title likely indicates a specific theme or set of rules that the developer(s) behind this package believe embody "love" in coding practices. This could mean a focus on readability, maintainability, or a particular style that the developer finds elegant or joyful to work with.

  3. Usage: To use this package, developers would install it via npm and then extend their ESLint configuration to include eslint-config-love. This would apply the rules and coding styles defined by the package to their project.

  4. Community or Personal Project: The thematic nature of the name suggests that this could be either a personal project by a developer or a community effort to promote a particular coding style that they feel passionate about.

Without access to the package's description or documentation, it's not possible to determine the exact rules or coding styles enforced by eslint-config-love. However, it's clear that it offers a set of ESLint rules that the creator(s) believe will make coding a more enjoyable or "loving" experience.


Do you suggest it is renamed yet again?

@mightyiam What is the reason for renaming this?

The association with JS Standard Style was hindering progress.

This comment has been minimized.

Copy link
@aaronz-vipaso

aaronz-vipaso Mar 25, 2024

Why did the association with JS Standard Style hinder progress?

This comment has been minimized.

Copy link
@mightyiam

mightyiam Mar 25, 2024

Author Owner

Why did the association with JS Standard Style hinder progress?

The developers of this project were for a long while the only ones contributing to Standard. But we couldn't get permission to publish npm packages. We didn't obtain the trust of the author. I don't know why.

Standard was therefore not deveoping with the ecosystem. For example, eslint flat config.

So we had to extract.

This comment has been minimized.

Copy link
@aaronz-vipaso

aaronz-vipaso Mar 26, 2024

Makes sense. Thanks for the explanation.

This comment has been minimized.

Copy link
@Kegulf

Kegulf Apr 2, 2024

A little late to the party, but I really think this rename was a bad idea. Not the rename in it self, but the name.

I fully understand the frustration with standard that is described, and agree strongly that a decoupling from standard is a good idea.

But the name love feels like it's picked in frustration because of the lack of a better name. It also really does not feel very serious, it feels silly.

We recently made the jump to eslint-config-standard-with-typescript, and a lot of the reason for that was the name. It feels serious and authoritarian. eslint-config-love gives us vibes that this project isn't meant as a serious project anymore.

You could publish the package as a scoped package, and call it something like:
@mightyiam/eslint-config-typescript

That would have the following benefits:

  • Descriptive and serious name
  • No "namespace squatting", due to scoped package name
  • A decoupling from standard.

This comment has been minimized.

Copy link
@mightyiam

mightyiam Apr 2, 2024

Author Owner

Thank you for your feedback, @Kegulf.

But the name love feels like it's picked in frustration because of the lack of a better name.

It wasn't picked in frustration. I was happy about it. I even went as far as to contact the author of the original and deprecated eslint-config-love package and ask for the name.

It also really does not feel very serious, it feels silly.

Love is very serious. Love literally makes the world go 'round. This is way ahead of mainstream science, of course.

We recently made the jump to eslint-config-standard-with-typescript, and a lot of the reason for that was the name. It feels serious and authoritarian. eslint-config-love gives us vibes that this project isn't meant as a serious project anymore.

Well, don't let appearances deceive you. This project was always developed primarily by me and I've never not been serious about it. Including now, of course.

Sorry for possibly putting you at odds with your colleagues. But here's a suggestion. Stand proud about love. It has brought us thus fourth and it will bring us infinitely farther.

This comment has been minimized.

Copy link
@parzhitsky

parzhitsky Jul 15, 2024

All are great points. But, arguably, using love to merely name an npm package (let alone, an ESLint config that isn't even included in runtime) kind of devalues the love.

I'm not suggesting to rename the package, I respect your choice of naming and will continue using this package, whatever its name is. But if you were to think about a re-rename, consider @Kegulf's suggestion of @mightyiam/eslint-config-*.

"version": "43.0.1",
"description": "An ESLint Shareable Config for JavaScript Standard Style with TypeScript support",
"description": "A TypeScript ESLint config that loves you",
"main": "lib/index.js",
"scripts": {
"compile": "tsc",
Expand All @@ -17,16 +17,15 @@
},
"repository": {
"type": "git",
"url": "git+https://github.com/mightyiam/eslint-config-standard-with-typescript.git"
"url": "git+https://github.com/mightyiam/eslint-config-love.git"
},
"author": "Shahar Or <mightyiampresence@gmail.com> (mightyiam)",
"license": "MIT",
"bugs": {
"url": "https://github.com/mightyiam/eslint-config-standard-with-typescript/issues"
"url": "https://github.com/mightyiam/eslint-config-love/issues"
},
"homepage": "https://github.com/mightyiam/eslint-config-standard-with-typescript#readme",
"homepage": "https://github.com/mightyiam/eslint-config-love#readme",
"keywords": [
"JavaScript Standard Style",
"check",
"checker",
"code",
Expand All @@ -44,8 +43,6 @@
"policy",
"quality",
"simple",
"standard",
"standard style",
"style",
"style checker",
"style linter",
Expand Down
11 changes: 5 additions & 6 deletions readme.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
[![Build Status](https://github.com/mightyiam/eslint-config-standard-with-typescript/actions/workflows/ci.yaml/badge.svg)](https://github.com/mightyiam/eslint-config-standard-with-typescript/actions/workflows/ci.yaml)
[![JavaScript Style Guide](https://img.shields.io/badge/code_style-standard-brightgreen.svg)](https://standardjs.com)
[![npm](https://img.shields.io/npm/v/eslint-config-standard-with-typescript)](https://www.npmjs.com/package/eslint-config-standard-with-typescript)
[![Build Status](https://github.com/mightyiam/eslint-config-love/actions/workflows/ci.yaml/badge.svg)](https://github.com/mightyiam/eslint-config-love/actions/workflows/ci.yaml)
[![npm](https://img.shields.io/npm/v/eslint-config-love)](https://www.npmjs.com/package/eslint-config-love)

An [ESLint shareable config](https://eslint.org/docs/developer-guide/shareable-configs) for TypeScript that is based on [eslint-config-standard](https://github.com/standard/eslint-config-standard) and has TypeScript specific rules from [@typescript-eslint/eslint-plugin](https://www.npmjs.com/package/@typescript-eslint/eslint-plugin).
A TypeScript ESLint config that loves you

# Peer dependencies

Expand Down Expand Up @@ -44,7 +43,7 @@ yarn add --dev \
eslint-plugin-import@^2.25.2 \
eslint-plugin-n@^15.0.0 \
@typescript-eslint/eslint-plugin@^6.4.0 \
eslint-config-standard-with-typescript@latest
eslint-config-love@latest
```

# Example config
Expand All @@ -57,7 +56,7 @@ module.exports = {
overrides: [
{
files: ['*.js', '*.jsx', '*.ts', '*.tsx'],
extends: 'standard-with-typescript'
extends: 'love'
}
],
}
Expand Down
8 changes: 4 additions & 4 deletions src/fixture.ts
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
/**
* https://github.com/mightyiam/eslint-config-standard-with-typescript/issues/10
* https://github.com/mightyiam/eslint-config-love/issues/10
*/
export type Bar = null
export type Foo<Bar> = (a: Bar) => Bar

/**
* https://github.com/mightyiam/eslint-config-standard-with-typescript/issues/2
* https://github.com/mightyiam/eslint-config-love/issues/2
*/
export default class Zoo {
public constructor (private readonly name: string) {}
Expand All @@ -16,7 +16,7 @@ export default class Zoo {
}

/**
* https://github.com/mightyiam/eslint-config-standard-with-typescript/issues/3
* https://github.com/mightyiam/eslint-config-love/issues/3
*/
export interface Boo { b_oo: null }

Expand All @@ -26,7 +26,7 @@ export interface Boo { b_oo: null }
// console.log(undef)

/**
* https://github.com/mightyiam/eslint-config-standard-with-typescript/issues/110
* https://github.com/mightyiam/eslint-config-love/issues/110
*/
// Inline callbacks don't need return types:
setTimeout(() => { console.log() }, 1)
Expand Down

0 comments on commit f71d143

Please sign in to comment.