Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

change project name #12

Merged
merged 9 commits into from
Aug 17, 2022
Merged

change project name #12

merged 9 commits into from
Aug 17, 2022

Conversation

Nandosts
Copy link
Contributor

Summary

Esse pull request não tem uma issue relacionada, mas visa alterar os lugares do projeto cujo nome era "acme" como no template, para "labfaz"

Test Plan?

Eu refiz o download dos pacotes, após feitas as alterações, e rodei novamente os scripts principais encontrados nos package.json e no readme.

Need help?

@github-actions
Copy link

github-actions bot commented Aug 12, 2022

Warnings
⚠️ Could not get info from npm on eslint-config-labfaz
⚠️ Could not get info from npm on @labfaz/routers
⚠️ Could not get info from npm on @labfaz/core
⚠️ Could not get info from npm on @labfaz/tsconfig
⚠️ Could not get info from npm on @labfaz/db
⚠️

Changes were made to apps/client/package.json, but not to apps/client/yarn.lock.
Perhaps you need to run yarn install?

⚠️

Changes were made to apps/api/package.json, but not to apps/api/yarn.lock.
Perhaps you need to run yarn install?

⚠️

Changes were made to apps/docs/package.json, but not to apps/docs/yarn.lock.
Perhaps you need to run yarn install?

⚠️

Changes were made to packages/labfaz-routers/package.json, but not to packages/labfaz-routers/yarn.lock.
Perhaps you need to run yarn install?

⚠️

Changes were made to packages/labfaz-db/package.json, but not to packages/labfaz-db/yarn.lock.
Perhaps you need to run yarn install?

⚠️

Changes were made to packages/labfaz-utils/package.json, but not to packages/labfaz-utils/yarn.lock.
Perhaps you need to run yarn install?

⚠️

Changes were made to packages/eslint-config-labfaz/package.json, but not to packages/eslint-config-labfaz/yarn.lock.
Perhaps you need to run yarn install?

⚠️

Changes were made to packages/labfaz-core/package.json, but not to packages/labfaz-core/yarn.lock.
Perhaps you need to run yarn install?

⚠️

Changes were made to packages/labfaz-e2e/package.json, but not to packages/labfaz-e2e/yarn.lock.
Perhaps you need to run yarn install?

Messages
📖 🔒 Thanks for improving our codebase security
📖

Thanks - We ❤️ our documentarians!

zod

Used in packages/labfaz-routers/package.json
Author: Colin McDonnell Description: TypeScript-first schema declaration and validation library with static type inference
License: MIT Homepage: https://github.com/colinhacks/zod
Keywords: typescript, schema, validation, type and inference
Updated: 6 days ago Created: over 2 years ago
Releases: 242 Maintainers: 2
Direct Dependencies:
This README is too long to show.

typescript

Used in packages/labfaz-core/package.json, packages/labfaz-e2e/package.json, packages/labfaz-utils/package.json
Author: Microsoft Corp. Description: TypeScript is a language for application scale JavaScript development
License: Apache-2.0 Homepage: https://www.typescriptlang.org/
Keywords: TypeScript, Microsoft, compiler, language and javascript
Updated: about 22 hours ago Created: almost 10 years ago
Releases: 2412 Maintainers: 8

tsup

Used in packages/labfaz-core/package.json, packages/labfaz-utils/package.json
Author: EGOIST Description: Bundle your TypeScript library with no config, powered by esbuild
License: MIT Homepage: https://github.com/egoist/tsup#readme
Updated: 4 days ago Created: over 2 years ago
Releases: 173 Maintainers: 1
README

tsup

npm version npm downloads

Bundle your TypeScript library with no config, powered by esbuild.

👀 What can it bundle?

Anything that's supported by Node.js natively, namely .js, .json, .mjs. And TypeScript .ts, .tsx. CSS support is experimental.

⚙️ Install

Install it locally in your project folder:

npm i tsup -D
# Or Yarn
yarn add tsup --dev

You can also install it globally but it's not recommended.

📖 Usage

Bundle files

tsup [...files]

Files are written into ./dist.

You can bundle multiple files in one go:

tsup src/index.ts src/cli.ts

This will output dist/index.js and dist/cli.js.

📚 Documentation

For complete usages, please dive into the docs.

For all configuration options, please see the API docs.

💬 Discussions

Head over to the discussions to share your ideas.

Sponsors

browserku

sponsors

Project Stats

Alt

License

MIT © EGOIST

tsconfig-paths

Used in packages/labfaz-e2e/package.json
Author: Jonas Kello Description: Load node modules according to tsconfig paths, in run-time or via API.
License: MIT Homepage: http://npmjs.com/package/tsconfig-paths
Updated: 10 days ago Created: over 5 years ago
Releases: 45 Maintainers: 13
README

tsconfig-paths

npm version
build
Coverage Status
MIT license
code style: prettier

Use this to load modules whose location is specified in the paths section of tsconfig.json or jsconfig.json. Both loading at run-time and via API are supported.

Typescript by default mimics the Node.js runtime resolution strategy of modules. But it also allows the use of path mapping which allows arbitrary module paths (that doesn't start with "/" or ".") to be specified and mapped to physical paths in the filesystem. The typescript compiler can resolve these paths from tsconfig so it will compile OK. But if you then try to execute the compiled files with node (or ts-node), it will only look in the node_modules folders all the way up to the root of the filesystem and thus will not find the modules specified by paths in tsconfig.

If you require this package's tsconfig-paths/register module it will read the paths from tsconfig.json or jsconfig.json and convert node's module loading calls into to physical file paths that node can load.

How to install

yarn add --dev tsconfig-paths

or

npm install --save-dev tsconfig-paths

How to use

With node

node -r tsconfig-paths/register main.js

If process.env.TS_NODE_BASEURL is set it will override the value of baseUrl in tsconfig.json:

TS_NODE_BASEURL=./dist node -r tsconfig-paths/register main.js

With ts-node

ts-node -r tsconfig-paths/register main.ts

If process.env.TS_NODE_PROJECT is set it will be used to resolved tsconfig.json

With webpack

For webpack please use the tsconfig-paths-webpack-plugin.

With mocha and ts-node

As of Mocha >= 4.0.0 the --compiler was deprecated. Instead --require should be used. You also have to specify a glob that includes .ts files because mocha looks after files with .js extension by default.

mocha -r ts-node/register -r tsconfig-paths/register "test/**/*.ts"

With other commands

As long as the command has something similar to a --require option that can load a module before it starts, tsconfig-paths should be able to work with it.

With ts-node and VSCode

The following is an example configuration for the .vscode/launch.json.

{
  "version": "0.2.0",
  "configurations": [
    {
      "name": "Debug Functions",
      "request": "launch",
      "type": "node",
      "runtimeArgs": [
        "-r",
        "${workspaceFolder}/functions/node_modules/ts-node/register",
        "-r",
        "${workspaceFolder}/functions/node_modules/tsconfig-paths/register"
      ],
      "args": ["${workspaceFolder}/functions/src/index.ts"],
      "cwd": "${workspaceFolder}",
      "protocol": "inspector",
      "env": {
        "NODE_ENV": "development",
        "TS_NODE_PROJECT": "${workspaceFolder}/functions/tsconfig.json"
      },
      "outFiles": ["${workspaceFolder}/functions/lib/**/*.js"]
    }
  ]
}

Bootstrapping with explicit params

If you want more granular control over tsconfig-paths you can bootstrap it. This can be useful if you for instance have compiled with tsc to another directory where tsconfig.json doesn't exists.

For example, create a wrapper script called tsconfig-paths-bootstrap.js with the contents below:

const tsConfig = require("./tsconfig.json");
const tsConfigPaths = require("tsconfig-paths");

const baseUrl = "./"; // Either absolute or relative path. If relative it's resolved to current working directory.
const cleanup = tsConfigPaths.register({
  baseUrl,
  paths: tsConfig.compilerOptions.paths,
});

// When path registration is no longer needed
cleanup();

Then run with:

node -r ./tsconfig-paths-bootstrap.js main.js

Configuration Options

You can set options by passing them before the script path, via programmatic usage or via environment variables.

ts-node --project customLocation/tsconfig.json -r tsconfig-paths/register "test/**/*.ts"

CLI and Programmatic Options

Environment variable denoted in parentheses.

  • -P, --project [path] Path to TypeScript JSON project file (TS_NODE_PROJECT)

Config loading process

  1. Use explicit params passed to register
  2. Use process.env.TS_NODE_PROJECT to resolve tsConfig.json and the specified baseUrl and paths.
  3. Resolves tsconfig.json from current working directory and the specified baseUrl and paths.

Programmatic use

The public API consists of these functions:

register

export interface ExplicitParams {
  baseUrl: string;
  paths: { [key: string]: Array<string> };
  mainFields?: (string | string[])[];
  addMatchAll?: boolean;
  cwd?: string;
}

/**
 * Installs a custom module load function that can adhere to paths in tsconfig.
 */
export function register(explicitParams: ExplicitParams): () => void;

This function will patch the node's module loading so it will look for modules in paths specified by tsconfig.json or jsconfig.json.
A function is returned for you to reinstate Node's original module loading.

loadConfig

export function loadConfig(cwd: string = process.cwd()): ConfigLoaderResult;

export type ConfigLoaderResult =
  | ConfigLoaderSuccessResult
  | ConfigLoaderFailResult;

export interface ConfigLoaderSuccessResult {
  resultType: "success";
  absoluteBaseUrl: string;
  paths: { [key: string]: Array<string> };
}

export interface ConfigLoaderFailResult {
  resultType: "failed";
  message: string;
}

This function loads the tsconfig.json or jsconfig.json. It will start searching from the specified cwd directory. Passing the tsconfig.json or jsconfig.json file directly instead of a directory also works.

createMatchPath

/**
 * Function that can match a path
 */
export interface MatchPath {
  (
    requestedModule: string,
    readJson?: Filesystem.ReadJsonSync,
    fileExists?: (name: string) => boolean,
    extensions?: ReadonlyArray<string>
  ): string | undefined;
}

/**
 * Creates a function that can resolve paths according to tsconfig paths property.
 * @param absoluteBaseUrl Absolute version of baseUrl as specified in tsconfig.
 * @param paths The paths as specified in tsconfig.
 * @param mainFields A list of package.json field names to try when resolving module files. Select a nested field using an array of field names.
 * @param addMatchAll Add a match-all "*" rule if none is present
 * @returns a function that can resolve paths.
 */
export function createMatchPath(
  absoluteBaseUrl: string,
  paths: { [key: string]: Array<string> },
  mainFields: (string | string[])[] = ["main"],
  addMatchAll: boolean = true
): MatchPath {

The createMatchPath function will create a function that can match paths. It accepts baseUrl and paths directly as they are specified in tsconfig and will handle resolving paths to absolute form. The created function has the signature specified by the type MatchPath above.

matchFromAbsolutePaths

/**
 * Finds a path from tsconfig that matches a module load request.
 * @param absolutePathMappings The paths to try as specified in tsconfig but resolved to absolute form.
 * @param requestedModule The required module name.
 * @param readJson Function that can read json from a path (useful for testing).
 * @param fileExists Function that checks for existence of a file at a path (useful for testing).
 * @param extensions File extensions to probe for (useful for testing).
 * @param mainFields A list of package.json field names to try when resolving module files. Select a nested field using an array of field names.
 * @returns the found path, or undefined if no path was found.
 */
export function matchFromAbsolutePaths(
  absolutePathMappings: ReadonlyArray<MappingEntry.MappingEntry>,
  requestedModule: string,
  readJson: Filesystem.ReadJsonSync = Filesystem.readJsonFromDiskSync,
  fileExists: Filesystem.FileExistsSync = Filesystem.fileExistsSync,
  extensions: Array<string> = Object.keys(require.extensions),
  mainFields: (string | string[])[] = ["main"]
): string | undefined {

This function is lower level and requires that the paths as already been resolved to absolute form and sorted in correct order into an array.

createMatchPathAsync

This is the async version of createMatchPath. It has the same signature but with a callback parameter for the result.

matchFromAbsolutePathsAsync

This is the async version of matchFromAbsolutePaths. It has the same signature but with a callback parameter for the result.

How to publish

yarn version --patch
yarn version --minor
yarn version --major

ts-node

Used in packages/labfaz-e2e/package.json
Author: Blake Embrey Description: TypeScript execution environment and REPL for node.js, with source map support
License: MIT Homepage: https://typestrong.org/ts-node
Keywords: typescript, node, runtime, environment, ts and compiler
Updated: about 1 month ago Created: almost 7 years ago
Releases: 126 Maintainers: 2
Direct Dependencies: @cspotcode/source-map-support, @tsconfig/node10, @tsconfig/node12, @tsconfig/node14, @tsconfig/node16, acorn, acorn-walk, arg, create-require, diff, make-error, v8-compile-cache-lib, yn
This README is too long to show.

react

Used in packages/labfaz-core/package.json, packages/labfaz-utils/package.json
Author: Unknown Description: React is a JavaScript library for building user interfaces.
License: MIT Homepage: https://reactjs.org/
Keywords: react
Updated: about 13 hours ago Created: almost 11 years ago
Releases: 1000 Maintainers: 7
Direct Dependencies: loose-envify

prisma

Used in packages/labfaz-db/package.json
Author: Tim Suchanek Description: Prisma is an open-source database toolkit. It includes a JavaScript/TypeScript ORM for Node.js, migrations and a modern GUI to view and edit the data in your database. You can use Prisma in new projects or add it to an existing one.
License: Apache-2.0 Homepage: https://www.prisma.io
Keywords: orm, prisma2, prisma, cli, database, sql, postgresql, mysql, sqlite, mariadb, mssql, typescript and query-builder
Updated: about 15 hours ago Created: about 6 years ago
Releases: 3440 Maintainers: 5
Direct Dependencies: @prisma/engines

prettier

Used in packages/eslint-config-labfaz/package.json
Author: James Long Description: Prettier is an opinionated code formatter
License: MIT Homepage: https://prettier.io
Updated: about 2 months ago Created: over 5 years ago
Releases: 115 Maintainers: 11
README

Prettier Banner

Opinionated Code Formatter

JavaScript · TypeScript · Flow · JSX · JSON
CSS · SCSS · Less
HTML · Vue · Angular
GraphQL · Markdown · YAML
Your favorite language?

Github Actions Build Status Github Actions Build Status Github Actions Build Status Codecov Coverage Status Blazing Fast
npm version weekly downloads from npm code style: prettier Follow Prettier on Twitter

Intro

Prettier is an opinionated code formatter. It enforces a consistent style by parsing your code and re-printing it with its own rules that take the maximum line length into account, wrapping code when necessary.

Input

foo(reallyLongArg(), omgSoManyParameters(), IShouldRefactorThis(), isThereSeriouslyAnotherOne());

Output

foo(
  reallyLongArg(),
  omgSoManyParameters(),
  IShouldRefactorThis(),
  isThereSeriouslyAnotherOne()
);

Prettier can be run in your editor on-save, in a pre-commit hook, or in CI environments to ensure your codebase has a consistent style without devs ever having to post a nit-picky comment on a code review ever again!


Documentation

Install ·
Options ·
CLI ·
API

Playground


Badge

Show the world you're using Prettiercode style: prettier

[![code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square)](https://github.com/prettier/prettier)

Contributing

See CONTRIBUTING.md.

fs-extra

Used in packages/labfaz-e2e/package.json
Author: JP Richardson Description: fs-extra contains methods that aren't included in the vanilla Node.js fs package. Such as recursive mkdir, copy, and remove.
License: MIT Homepage: https://github.com/jprichardson/node-fs-extra
Keywords: fs, file, file system, copy, directory, extra, mkdirp, mkdir, mkdirs, recursive, json, read, write, extra, delete, remove, touch, create, text, output, move and promise
Updated: about 2 months ago Created: over 10 years ago
Releases: 92 Maintainers: 3
Direct Dependencies: graceful-fs, jsonfile, universalify
README

Node.js: fs-extra

fs-extra adds file system methods that aren't included in the native fs module and adds promise support to the fs methods. It also uses graceful-fs to prevent EMFILE errors. It should be a drop in replacement for fs.

npm Package
License
build status
downloads per month
JavaScript Style Guide

Why?

I got tired of including mkdirp, rimraf, and ncp in most of my projects.

Installation

npm install fs-extra

Usage

fs-extra is a drop in replacement for native fs. All methods in fs are attached to fs-extra. All fs methods return promises if the callback isn't passed.

You don't ever need to include the original fs module again:

const fs = require('fs') // this is no longer necessary

you can now do this:

const fs = require('fs-extra')

or if you prefer to make it clear that you're using fs-extra and not fs, you may want
to name your fs variable fse like so:

const fse = require('fs-extra')

you can also keep both, but it's redundant:

const fs = require('fs')
const fse = require('fs-extra')

Sync vs Async vs Async/Await

Most methods are async by default. All async methods will return a promise if the callback isn't passed.

Sync methods on the other hand will throw if an error occurs.

Also Async/Await will throw an error if one occurs.

Example:

const fs = require('fs-extra')

// Async with promises:
fs.copy('/tmp/myfile', '/tmp/mynewfile')
  .then(() => console.log('success!'))
  .catch(err => console.error(err))

// Async with callbacks:
fs.copy('/tmp/myfile', '/tmp/mynewfile', err => {
  if (err) return console.error(err)
  console.log('success!')
})

// Sync:
try {
  fs.copySync('/tmp/myfile', '/tmp/mynewfile')
  console.log('success!')
} catch (err) {
  console.error(err)
}

// Async/Await:
async function copyFiles () {
  try {
    await fs.copy('/tmp/myfile', '/tmp/mynewfile')
    console.log('success!')
  } catch (err) {
    console.error(err)
  }
}

copyFiles()

Methods

Async

Sync

NOTE: You can still use the native Node.js methods. They are promisified and copied over to fs-extra. See notes on fs.read(), fs.write(), & fs.writev()

What happened to walk() and walkSync()?

They were removed from fs-extra in v2.0.0. If you need the functionality, walk and walkSync are available as separate packages, klaw and klaw-sync.

Third Party

CLI

fse-cli allows you to run fs-extra from a console or from npm scripts.

TypeScript

If you like TypeScript, you can use fs-extra with it: https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/fs-extra

File / Directory Watching

If you want to watch for changes to files or directories, then you should use chokidar.

Obtain Filesystem (Devices, Partitions) Information

fs-filesystem allows you to read the state of the filesystem of the host on which it is run. It returns information about both the devices and the partitions (volumes) of the system.

Misc.

Hacking on fs-extra

Wanna hack on fs-extra? Great! Your help is needed! fs-extra is one of the most depended upon Node.js packages. This project
uses JavaScript Standard Style - if the name or style choices bother you,
you're gonna have to get over it :) If standard is good enough for npm, it's good enough for fs-extra.

js-standard-style

What's needed?

  • First, take a look at existing issues. Those are probably going to be where the priority lies.
  • More tests for edge cases. Specifically on different platforms. There can never be enough tests.
  • Improve test coverage.

Note: If you make any big changes, you should definitely file an issue for discussion first.

Running the Test Suite

fs-extra contains hundreds of tests.

  • npm run lint: runs the linter (standard)
  • npm run unit: runs the unit tests
  • npm test: runs both the linter and the tests

Windows

If you run the tests on the Windows and receive a lot of symbolic link EPERM permission errors, it's
because on Windows you need elevated privilege to create symbolic links. You can add this to your Windows's
account by following the instructions here: http://superuser.com/questions/104845/permission-to-make-symbolic-links-in-windows-7
However, I didn't have much luck doing this.

Since I develop on Mac OS X, I use VMWare Fusion for Windows testing. I create a shared folder that I map to a drive on Windows.
I open the Node.js command prompt and run as Administrator. I then map the network drive running the following command:

net use z: "\\vmware-host\Shared Folders"

I can then navigate to my fs-extra directory and run the tests.

Naming

I put a lot of thought into the naming of these functions. Inspired by @coolaj86's request. So he deserves much of the credit for raising the issue. See discussion(s) here:

First, I believe that in as many cases as possible, the Node.js naming schemes should be chosen. However, there are problems with the Node.js own naming schemes.

For example, fs.readFile() and fs.readdir(): the F is capitalized in File and the d is not capitalized in dir. Perhaps a bit pedantic, but they should still be consistent. Also, Node.js has chosen a lot of POSIX naming schemes, which I believe is great. See: fs.mkdir(), fs.rmdir(), fs.chown(), etc.

We have a dilemma though. How do you consistently name methods that perform the following POSIX commands: cp, cp -r, mkdir -p, and rm -rf?

My perspective: when in doubt, err on the side of simplicity. A directory is just a hierarchical grouping of directories and files. Consider that for a moment. So when you want to copy it or remove it, in most cases you'll want to copy or remove all of its contents. When you want to create a directory, if the directory that it's suppose to be contained in does not exist, then in most cases you'll want to create that too.

So, if you want to remove a file or a directory regardless of whether it has contents, just call fs.remove(path). If you want to copy a file or a directory whether it has contents, just call fs.copy(source, destination). If you want to create a directory regardless of whether its parent directories exist, just call fs.mkdirs(path) or fs.mkdirp(path).

Credit

fs-extra wouldn't be possible without using the modules from the following authors:

License

Licensed under MIT

Copyright (c) 2011-2017 JP Richardson

eslint-plugin-write-good-comments

Used in packages/eslint-config-labfaz/package.json
Author: Dániel Kántor Description: Enforce good writing style in your comments
License: ISC Homepage: https://github.com/kantord/eslint-plugin-write-good-comments#readme
Keywords: eslint, eslintplugin and eslint-plugin
Updated: 4 months ago Created: over 1 year ago
Releases: 4 Maintainers: 1
Direct Dependencies: requireindex, write-good
README

eslint-plugin-write-good-comments

Installation ✴️ Usage ✴️ Examples

Enforce good writing style in your comments.

Using better writing style gives you more concise and expressive comments.

Installation

You'll first need to install ESLint:

npm i eslint --save-dev

Next, install eslint-plugin-write-good-comments:

npm install eslint-plugin-write-good-comments --save-dev

Shameless plug: I created this rule while working on my main pet-project, LibreLingo.

Usage

Add write-good-comments to the plugins section of your .eslintrc
configuration file. You can omit the eslint-plugin- prefix:

{
    "plugins": [
        "write-good-comments"
    ]
}

Then configure the rules you want to use under the rules section.

{
    "rules": {
        "write-good-comments/write-good-comments": "warn"
    }
}

Examples

This plugin checks your writing using write-good.
Check their documentation for a full list of what it checks for.

Passive voice

Checks for the usage of passive voice.

Bad:

// files are handled by loadContent()

✔️ Good:

// loadContent() handles files

Illusion

Checks for cases when a word is repeated.

Bad:

// loadContent() handles the files that the
// the plugin system doesn't support

✔️ Good:

// loadContent() handles the files that the
// plugin system doesn't support

Weasel words

Weasel words are words that are ambiguous or misleading.

Bad:

// loadContent() handles the files that the
// plugin system probably doesn't support

✔️ Good:

// loadContent() handles the files that the
// plugin system doesn't support

Wordy expressions

Expressions or words that are too lengthy and complicated.

Bad:

// by virtue of the fact that if there's no token, the user must be logged out

✔️ Good:

// because if there's no token, the user must be logged out

eslint-plugin-simple-import-sort

Used in packages/eslint-config-labfaz/package.json
Author: Simon Lydell Description: Easy autofixable import sorting
License: MIT Homepage: https://github.com/lydell/eslint-plugin-simple-import-sort#readme
Keywords: eslint, eslint-plugin, eslintplugin, import, imports, order, sort, sorter and sorting
Updated: 4 months ago Created: over 3 years ago
Releases: 18 Maintainers: 1
README

eslint-plugin-simple-import-sort

Easy autofixable import sorting.

This is for those who use eslint --fix (autofix) a lot and want to completely forget about sorting imports!

➡️ Full readme

eslint-plugin-react

Used in packages/eslint-config-labfaz/package.json
Author: Yannick Croissant Description: React specific linting rules for ESLint
License: MIT Homepage: https://github.com/jsx-eslint/eslint-plugin-react
Keywords: eslint, eslint-plugin, eslintplugin and react
Updated: about 2 months ago Created: over 7 years ago
Releases: 181 Maintainers: 2
Direct Dependencies: array-includes, array.prototype.flatmap, doctrine, estraverse, jsx-ast-utils, minimatch, object.entries, object.fromentries, object.hasown, object.values, prop-types, resolve, semver, string.prototype.matchall
This README is too long to show.

eslint-plugin-prettier

Used in packages/eslint-config-labfaz/package.json
Author: Teddy Katz Description: Runs prettier as an eslint rule
License: MIT Homepage: https://github.com/prettier/eslint-plugin-prettier#readme
Keywords: eslint, eslintplugin, eslint-plugin and prettier
Updated: about 2 months ago Created: over 5 years ago
Releases: 31 Maintainers: 6
Direct Dependencies: prettier-linter-helpers
README

eslint-plugin-prettier Build Status

Runs Prettier as an ESLint rule and reports differences as individual ESLint issues.

If your desired formatting does not match Prettier’s output, you should use a different tool such as prettier-eslint instead.

Please read Integrating with linters before installing.

Sample

error: Insert `,` (prettier/prettier) at pkg/commons-atom/ActiveEditorRegistry.js:22:25:
  20 | import {
  21 |   observeActiveEditorsDebounced,
> 22 |   editorChangesDebounced
     |                         ^
  23 | } from './debounced';;
  24 |
  25 | import {observableFromSubscribeFunction} from '../commons-node/event';


error: Delete `;` (prettier/prettier) at pkg/commons-atom/ActiveEditorRegistry.js:23:21:
  21 |   observeActiveEditorsDebounced,
  22 |   editorChangesDebounced
> 23 | } from './debounced';;
     |                     ^
  24 |
  25 | import {observableFromSubscribeFunction} from '../commons-node/event';
  26 | import {cacheWhileSubscribed} from '../commons-node/observable';


2 errors found.

./node_modules/.bin/eslint --format codeframe pkg/commons-atom/ActiveEditorRegistry.js (code from nuclide).

Installation

npm install --save-dev eslint-plugin-prettier
npm install --save-dev --save-exact prettier

eslint-plugin-prettier does not install Prettier or ESLint for you. You must install these yourself.

Then, in your .eslintrc.json:

{
  "plugins": ["prettier"],
  "rules": {
    "prettier/prettier": "error"
  }
}

Recommended Configuration

This plugin works best if you disable all other ESLint rules relating to code formatting, and only enable rules that detect potential bugs. (If another active ESLint rule disagrees with prettier about how code should be formatted, it will be impossible to avoid lint errors.) You can use eslint-config-prettier to disable all formatting-related ESLint rules.

This plugin ships with a plugin:prettier/recommended config that sets up both the plugin and eslint-config-prettier in one go.

  1. In addition to the above installation instructions, install eslint-config-prettier:

    npm install --save-dev eslint-config-prettier
  2. Then you need to add plugin:prettier/recommended as the last extension in your .eslintrc.json:

    {
      "extends": ["plugin:prettier/recommended"]
    }

    You can then set Prettier's own options inside a .prettierrc file.

Exactly what does plugin:prettier/recommended do? Well, this is what it expands to:

{
  "extends": ["prettier"],
  "plugins": ["prettier"],
  "rules": {
    "prettier/prettier": "error",
    "arrow-body-style": "off",
    "prefer-arrow-callback": "off"
  }
}
  • "extends": ["prettier"] enables the config from eslint-config-prettier, which turns off some ESLint rules that conflict with Prettier.
  • "plugins": ["prettier"] registers this plugin.
  • "prettier/prettier": "error" turns on the rule provided by this plugin, which runs Prettier from within ESLint.
  • "arrow-body-style": "off" and "prefer-arrow-callback": "off" turns off two ESLint core rules that unfortunately are problematic with this plugin – see the next section.

Svelte support

We recommend to use eslint-plugin-svelte instead of eslint-plugin-svelte3 because eslint-plugin-svelte has a correct eslint-svelte-parser instead of hacking, when use with eslint-plugin-svelte3, eslint-plugin-prettier will just ignore the text passed by eslint-plugin-svelte3, because the text they has been modified.

arrow-body-style and prefer-arrow-callback issue

If you use arrow-body-style or prefer-arrow-callback together with the prettier/prettier rule from this plugin, you can in some cases end up with invalid code due to a bug in ESLint’s autofix – see issue #65.

For this reason, it’s recommended to turn off these rules. The plugin:prettier/recommended config does that for you.

You can still use these rules together with this plugin if you want, because the bug does not occur all the time. But if you do, you need to keep in mind that you might end up with invalid code, where you manually have to insert a missing closing parenthesis to get going again.

If you’re fixing large of amounts of previously unformatted code, consider temporarily disabling the prettier/prettier rule and running eslint --fix and prettier --write separately.

Options

Note: While it is possible to pass options to Prettier via your ESLint configuration file, it is not recommended because editor extensions such as prettier-atom and prettier-vscode will read .prettierrc, but won't read settings from ESLint, which can lead to an inconsistent experience.

  • The first option:

    • An object representing options that will be passed into prettier. Example:

      {
        "prettier/prettier": ["error", { "singleQuote": true, "parser": "flow" }]
      }

      NB: This option will merge and override any config set with .prettierrc files

  • The second option:

    • An object with the following options

      • usePrettierrc: Enables loading of the Prettier configuration file, (default: true). May be useful if you are using multiple tools that conflict with each other, or do not wish to mix your ESLint settings with your Prettier configuration.

        {
          "prettier/prettier": [
            "error",
            {},
            {
              "usePrettierrc": false
            }
          ]
        }
      • fileInfoOptions: Options that are passed to prettier.getFileInfo to decide whether a file needs to be formatted. Can be used for example to opt-out from ignoring files located in node_modules directories.

        {
          "prettier/prettier": [
            "error",
            {},
            {
              "fileInfoOptions": {
                "withNodeModules": true
              }
            }
          ]
        }
  • The rule is auto fixable -- if you run eslint with the --fix flag, your code will be formatted according to prettier style.


Contributing

See CONTRIBUTING.md

Changelog

Detailed changes for each release are documented in CHANGELOG.md.

License

MIT

eslint-plugin-markdownlint

Used in packages/eslint-config-labfaz/package.json
Author: Paweł BB Drozd Description: Eslint plugin for markdownlint
License: MIT Homepage: https://gitlab.com/pawelbbdrozd/eslint-plugin-markdownlint/-/blob/main/README.md
Keywords: eslint, eslint-markdown, eslintplugin, eslint-plugin, lint, linter, md, markdown and markdownlint
Updated: about 1 month ago Created: 11 months ago
Releases: 12 Maintainers: 1
Direct Dependencies: markdownlint
README

eslint-plugin-markdownlint

Eslint plugin which runs markdownlint.

npm version
License: MIT

Install

npm install eslint-plugin-markdownlint --save-dev

Usage

In order to use this plugin there is required to put it into override section
of .eslintrc file with defined files array (select markdown files), parser and
rules.

Recommended config enable all options except deprecated, all with default values
and reported as error.

{
  "overrides": [{
    "files": ["*.md"],
    "parser": "eslint-plugin-markdownlint/parser",
    "extends": ["plugin:markdownlint/recommended"]
  }]
}

If you want to modify recommended rules simply add related rule to the rules
section.

{
  "overrides": [{
    "files": ["*.md"],
    "parser": "eslint-plugin-markdownlint/parser",
    "extends": ["plugin:markdownlint/recommended"],
    "rules": {
      "markdownlint/md001": "off",
      "markdownlint/md003": "warn",
      "markdownlint/md025": ["error", {
        "level": 2
      }]
    }
  }]
}

If you want to configure all settings manually, ommit
"extends": ["plugin:markdownlint/recommended"] (all rules will be set to
'off'), then enable/configure requested rules in "rules" section.

It's worth to define separate entry in .editorconfig if you're using it.
Following example uses default settings.

[*.md]
max_line_length = 80
indent_style = space
insert_final_newline = true
trim_trailing_whitespace = true

Limitations

This plugin is in early stage of development, so:

  • there isn't supported any config file like .mdlrc
  • aliases for rules are not supported, you need to use codes like mdXXX to
    select rule, but should be available in future
  • tags
    are not supported and there is no plans to support it

Markdownlint

For full documentation about markdownlint refer DavidAnson/markdownlint

eslint-plugin-import

Used in packages/eslint-config-labfaz/package.json
Author: Ben Mosher Description: Import with sanity.
License: MIT Homepage: https://github.com/import-js/eslint-plugin-import
Keywords: eslint, eslintplugin, es6, jsnext, modules, import and export
Updated: about 2 months ago Created: over 7 years ago
Releases: 119 Maintainers: 3
Direct Dependencies: array-includes, array.prototype.flat, debug, doctrine, eslint-import-resolver-node, eslint-module-utils, has, is-core-module, is-glob, minimatch, object.values, resolve, tsconfig-paths
This README is too long to show.

eslint-plugin-i18next

Used in packages/eslint-config-labfaz/package.json
Author: edvardchen Description: ESLint plugin for i18n
License: ISC Homepage: https://github.com/edvardchen/eslint-plugin-i18next#readme
Keywords: eslint, eslintplugin, eslint-plugin, i18n, i10next, internationalization and localization
Updated: 3 months ago Created: over 3 years ago
Releases: 41 Maintainers: 1
Direct Dependencies: lodash, requireindex
README

eslint-plugin-i18next

ESLint plugin for i18n

For old versions below v6, plz refer this document

Installation

npm install eslint-plugin-i18next@next --save-dev

Usage

Add i18next to the plugins section of your .eslintrc configuration file.

{
  "plugins": ["i18next"]
}

Then configure the rules you want to use under the rules section.

{
  "rules": {
    "i18next/no-literal-string": 2
  }
}

or

{
  "extends": ["plugin:i18next/recommended"]
}

Rule no-literal-string

This rule aims to avoid developers to display literal string directly to users without translating them.

Note: Disable auto-fix because key in the call i18next.t(key) usually was not the same as the literal

Example of incorrect code:

/*eslint i18next/no-literal-string: "error"*/
<div>hello world</div>

Example of correct code:

/*eslint i18next/no-literal-string: "error"*/
<div>{i18next.t('HELLO_KEY')}</div>

More options can be found here

Breaking change

By default, it wil only validate the plain text in JSX markup instead of all literal strings in previous versions.
You can change it easily

eslint-plugin-abcsize

Used in packages/eslint-config-labfaz/package.json
Author: Paul Ignatenko Description: Calculate the Assignment/Branch/Condition Size Metric
License: MIT Homepage: http://npmjs.com/package/eslint-plugin-abcsize
Keywords: eslint, eslintplugin and eslint-plugin
Updated: 4 months ago Created: over 1 year ago
Releases: 1 Maintainers: 1
Direct Dependencies:
README

eslint-plugin-abcsize

Calculate the Assignment/Branch/Condition Size Metric

Installation

You'll first need to install ESLint:

$ npm i eslint --save-dev

Next, install eslint-plugin-abcsize:

$ npm install eslint-plugin-abcsize --save-dev

Usage

Add abcsize to the plugins section of your .eslintrc configuration file. You can omit the eslint-plugin- prefix:

{
    "plugins": [
        "abcsize"
    ]
}

Then configure the rules you want to use under the rules section.

{
    "rules": {
        "abcsize/rule-name": 2
    }
}

You can also extend the recommended configuration which will raise errors when
the ABC Size of a function exceeds 15.

{
  "extends": ["plugin:abcsize/recommended"]
}

Supported Rules

eslint-config-prettier

Used in packages/eslint-config-labfaz/package.json
Author: Simon Lydell Description: Turns off all rules that are unnecessary or might conflict with Prettier.
License: MIT Homepage: https://github.com/prettier/eslint-config-prettier#readme
Keywords: eslint, eslintconfig and prettier
Updated: about 2 months ago Created: over 5 years ago
Releases: 65 Maintainers: 2
README

eslint-config-prettier

Turns off all rules that are unnecessary or might conflict with Prettier.

This lets you use your favorite shareable config without letting its stylistic choices get in the way when using Prettier.

Note that this config only turns rules off, so it only makes sense using it together with some other config.

➡️ Full readme

eslint-config-next

Used in packages/eslint-config-labfaz/package.json
Author: Unknown Description: ESLint configuration used by NextJS.
License: MIT Homepage: https://github.com/vercel/next.js#readme
Updated: 2 days ago Created: almost 7 years ago
Releases: 492 Maintainers: 3
`[no-data-present]`

eslint

Used in packages/eslint-config-labfaz/package.json, packages/labfaz-core/package.json, packages/labfaz-e2e/package.json, packages/labfaz-utils/package.json
Author: Nicholas C. Zakas Description: An AST-based pattern checker for JavaScript.
License: MIT Homepage: https://eslint.org
Keywords: ast, lint, javascript, ecmascript and espree
Updated: 2 days ago Created: about 9 years ago
Releases: 310 Maintainers: 4
Direct Dependencies: @eslint/eslintrc, @humanwhocodes/config-array, @humanwhocodes/gitignore-to-minimatch, ajv, chalk, cross-spawn, debug, doctrine, escape-string-regexp, eslint-scope, eslint-utils, eslint-visitor-keys, espree, esquery, esutils, fast-deep-equal, file-entry-cache, find-up, functional-red-black-tree, glob-parent, globals, globby, grapheme-splitter, ignore, import-fresh, imurmurhash, is-glob, js-yaml, json-stable-stringify-without-jsonify, levn, lodash.merge, minimatch, natural-compare, optionator, regexpp, strip-ansi, strip-json-comments, text-table, v8-compile-cache
This README is too long to show.

@typescript-eslint/parser

Used in packages/eslint-config-labfaz/package.json
Author: Unknown Description: An ESLint custom parser which leverages TypeScript ESTree
License: BSD-2-Clause Homepage: https://github.com/typescript-eslint/typescript-eslint#readme
Keywords: ast, ecmascript, javascript, typescript, parser, syntax and eslint
Updated: about 11 hours ago Created: over 3 years ago
Releases: 2211 Maintainers: 1
Direct Dependencies: @typescript-eslint/scope-manager, @typescript-eslint/types, @typescript-eslint/typescript-estree, debug

@typescript-eslint/eslint-plugin

Used in packages/eslint-config-labfaz/package.json
Author: Unknown Description: TypeScript plugin for ESLint
License: MIT Homepage: https://github.com/typescript-eslint/typescript-eslint#readme
Keywords: eslint, eslintplugin, eslint-plugin and typescript
Updated: about 11 hours ago Created: over 3 years ago
Releases: 2169 Maintainers: 1
Direct Dependencies: @typescript-eslint/scope-manager, @typescript-eslint/type-utils, @typescript-eslint/utils, debug, functional-red-black-tree, ignore, regexpp, semver, tsutils

@types/react-dom

Used in packages/labfaz-core/package.json, packages/labfaz-utils/package.json
Author: Unknown Description: TypeScript definitions for React (react-dom)
License: MIT Homepage: https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/react-dom
Updated: about 20 hours ago Created: about 6 years ago
Releases: 94 Maintainers: 1
README

[object Object]

@types/react

Used in packages/labfaz-core/package.json, packages/labfaz-utils/package.json
Author: Unknown Description: TypeScript definitions for React
License: MIT Homepage: https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/react
Updated: about 20 hours ago Created: about 6 years ago
Releases: 408 Maintainers: 1
README

[object Object]

@types/node

Used in packages/labfaz-e2e/package.json
Author: Unknown Description: TypeScript definitions for Node.js
License: MIT Homepage: https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node
Updated: about 10 hours ago Created: about 6 years ago
Releases: 1393 Maintainers: 1
README

[object Object]

@types/fs-extra

Used in packages/labfaz-e2e/package.json
Author: Unknown Description: TypeScript definitions for fs-extra
License: MIT Homepage: https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/fs-extra
Updated: about 20 hours ago Created: about 6 years ago
Releases: 65 Maintainers: 1
README

Installation

npm install --save @types/fs-extra

Summary

This package contains type definitions for fs-extra (https://github.com/jprichardson/node-fs-extra).

Details

Files were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/fs-extra.

Additional Details

  • Last updated: Tue, 21 Sep 2021 19:02:14 GMT
  • Dependencies: @types/node
  • Global values: none

Credits

These definitions were written by Alan Agius, midknight41, Brendan Forster, Mees van Dijk, Justin Rockwood, Sang Dang, Florian Keller, Piotr Błażejewicz, and Tiger Oakes.

@trpc/server

Used in packages/labfaz-routers/package.json
Author: KATT Description: tRPC Server
License: MIT Homepage: https://trpc.io
Updated: 1 day ago Created: over 1 year ago
Releases: 286 Maintainers: 2

@prisma/client

Used in packages/labfaz-db/package.json
Author: Tim Suchanek Description: Prisma Client is an auto-generated, type-safe and modern JavaScript/TypeScript ORM for Node.js that's tailored to your data. Supports MySQL, PostgreSQL, MariaDB, SQLite databases.
License: Apache-2.0 Homepage: https://www.prisma.io
Keywords: orm, prisma2, prisma, client, query, database, sql, postgres, postgresql, mysql, sqlite, mariadb, mssql, typescript and query-builder
Updated: about 15 hours ago Created: over 2 years ago
Releases: 4802 Maintainers: 4
Direct Dependencies: @prisma/engines-version

@playwright/test

Used in packages/labfaz-e2e/package.json
Author: Microsoft Corporation Description: A high-level API to automate web browsers
License: Apache-2.0 Homepage: https://playwright.dev
Updated: about 4 hours ago Created: almost 2 years ago
Releases: 963 Maintainers: 4

@mdx-js/preact

Used in package.json
Author: John Otander Description: Preact context for MDX
License: MIT Homepage: https://mdxjs.com
Keywords: mdx, markdown, preact, jsx, remark and mdxast
Updated: about 2 months ago Created: over 2 years ago
Releases: 57 Maintainers: 4
Direct Dependencies: @types/mdx
README

@mdx-js/preact

Build
Coverage
Downloads
Size
Sponsors
Backers
Chat

Preact context for MDX.

Contents

What is this?

This package is a context based components provider for combining Preact with
MDX.

When should I use this?

This package is not needed for MDX to work with Preact.
See ¶ MDX provider in § Using MDX for when and how to use an MDX
provider.

Install

This package is ESM only:
Node 12+ is needed to use it and it must be imported instead of required.

npm:

npm install @mdx-js/preact

yarn:

yarn add @mdx-js/preact

Use

import {MDXProvider} from '@mdx-js/preact'
import Post from './post.mdx'
// ^-- Assumes an integration is used to compile MDX to JS, such as
// `@mdx-js/esbuild`, `@mdx-js/loader`, `@mdx-js/node-loader`, or
// `@mdx-js/rollup`, and that it is configured with
// `options.providerImportSource: '@mdx-js/preact'`.

const components = {
  em: props => <i {...props} />
}

<MDXProvider components={components}>
  <Post />
</MDXProvider>

Note that you don’t have to use MDXProvider and can pass components
directly:

-<MDXProvider components={components}>
-  <Post />
-</MDXProvider>
+<Post components={components} />

See ¶ Preact in § Getting started for how to get started with
MDX and Preact.
See ¶ MDX provider in § Using MDX for how to use an MDX
provider.

API

This package exports the following identifiers: MDXContext, MDXProvider,
useMDXComponents, and withMDXComponents.
There is no default export.

MDXProvider(props?)

Provider for MDX context.

props

Configuration (Object, optional).

props.components

Mapping of names for JSX components to Preact components
(Record<string, string|Component|Components>, optional).

props.disableParentContext

Turn off outer component context (boolean, default: false).

props.children

Children (JSX elements, optional).

Returns

JSX element.

useMDXComponents(components?)

Get current components from the MDX Context.

components

Additional components (Components) to use or a function that takes the current
components and filters/merges/changes them ((currentComponents: Components) => Components).

Returns

Components.

MDXContext

🪦 Deprecated: This export is not recommended for use as it exposes
internals which should be hidden.
It might be removed in a future major release.
Please use useMDXComponents to get context based components and
MDXProvider to set context based components instead.

The Preact Context for MDX (Preact.Context).

withMDXComponents(Component)

🪦 Deprecated: This export is not recommended for use.
It might be removed in a future major release.
Please use useMDXComponents to get context based components instead.

Create a HOC of Components which is given the current context based MDX
components.

Types

This package is fully typed with TypeScript.

An additional Components type is exported, which represents the acceptable
configuration for the functions and components from this project.

Security

See § Security on our website for information.

Contribute

See § Contribute on our website for ways to get started.
See § Support for ways to get help.

This project has a code of conduct.
By interacting with this repository, organization, or community you agree to
abide by its terms.

License

MIT © Compositor and Vercel

`[no-data-present]`
`[no-data-present]`
`[no-data-present]`
`[no-data-present]`

@cucumber/pretty-formatter

Used in packages/labfaz-e2e/package.json
Author: Unknown Description: Official Cucumber.js Pretty Formatter
License: MIT Homepage: https://github.com/jbpros/cucumber-pretty-formatter#readme
Updated: about 2 months ago Created: over 1 year ago
Releases: 4 Maintainers: 2
README

Official Cucumber.js Pretty Formatter

build
npm
npm

The Cucumber.js pretty formatter logs your feature suite in its original Gherkin form. It offers custom style themes.

Install

The pretty formatter requires:

  • Node.js 10, 12, 14 or 15.

  • Cucumber.js 7.0 and above.

    npm install --save-dev @cucumber/pretty-formatter @cucumber/cucumber

There are pretty formatters for older versions of Cucumber.

Usage

cucumber-js -f @cucumber/pretty-formatter

We recommend using Cucumber profiles to specify formatters.

Theme customisation

You can define your own colors by passing a theme format option:

--format-options '{"theme": <THEME_JSON>}'

Where THEME_JSON is in the following shape:

{"feature keyword": ["magenta", "bold"], "scenario keyword": ["red"]}

The customisable theme items are:

  • datatable border
  • datatable content
  • datatable: all data table elements (border and content)
  • docstring content: multiline argument content
  • docstring delimiter: multiline argument delimiter: """
  • feature description
  • feature keyword
  • feature name
  • location: location comments added to the right of feature and scenario names
  • rule keyword
  • rule name
  • scenario keyword
  • scenario name
  • step keyword
  • step message: usually a failing step error message and stack trace
  • step status: additional styles added to the built-in styles applied by Cucumber to non-passing steps status. Foreground colors have no effects on this item, background and modifiers do.
  • step text
  • tag

You can combine all the styles you'd like from modifiers, foreground colors and background colors exposed by ansi-styles.

Extending the Default Theme

If you just want to tweak a few things about the default theme without redefining it entirely, you can grab the default theme in your cucumber.js config file and use it as the base for yours:

const { DEFAULT_THEME } = require('@cucumber/pretty-formatter')

module.exports = {
  default: {
    formatOptions: {
      theme: {
        ...DEFAULT_THEME,
        'step text': 'magenta'
      }
    }
  }
}

Example Themes

Matrix

It could be called eco-friendly, cuz it's very green:

--format-options '{"theme":{"datatable border":["green"],"datatable content":["green","italic"],"docstring content":["green","italic"],"docstring delimiter":["green"],"feature description":["green"],"feature keyword":["bold","green"],"rule keyword":["yellow"],"scenario keyword":["greenBright"],"scenario name":["green","underline"],"step keyword":["bgGreen","black","italic"],"step text":["greenBright","italic"],"tag":["green"]}}'

Legacy pretty

This was the theme offered by Ilya Kozhevnikov's pretty formatter, pre-Cucumber.js 7.x.

--format-options '{"theme":{"feature keyword":["magenta","bold"],"scenario keyword":["magenta","bold"],"step keyword":["bold"]}}'

We need more themes

Please share your creations by forking, adding the theme to this section of the README and opening a pull request.

Older Cucumber versions

If you're using an older version of Cucumber.js, you'll need to use one of the previous pretty formatters:

Cucumber.js 1 → 2

The original pretty formatter used to ship with Cucumber. Simply specify it when invoking Cucumber:

cucumber-js -f pretty

Cucumber.js 3 → 6

You can install cucumber-pretty, created by Ilya Kozhevnikov.

  • Cucumber.js 3, 4, 5: npm i --save-dev cucumber-pretty@1.5
  • Cucumber.js 6: npm i --save-dev cucumber-pretty@6

Tell Cucumber to use it:

cucumber-js -f cucumber-pretty

Credits

This project is based on the original work of Ilya Kozhevnikov. It got migrated to TypeScript, upgraded for Cucumber.js 7+ that exposes cucumber-messages and is currently maintained by Julien Biezemans and the Cucumber team.

@cucumber/messages

Used in packages/labfaz-e2e/package.json
Author: Cucumber Limited Description: JSON schema-based messages for Cucumber's inter-process communication
License: MIT Homepage: https://github.com/cucumber/messages-javascript#readme
Updated: about 2 months ago Created: over 2 years ago
Releases: 37 Maintainers: 2
README

Cucumber Messages for JavaScript (JSON schema)

@cucumber/cucumber

Used in packages/labfaz-e2e/package.json
Author: Julien Biezemans Description: The official JavaScript implementation of Cucumber.
License: MIT Homepage: https://github.com/cucumber/cucumber-js
Keywords: testing, bdd, cucumber, gherkin and tests
Updated: 19 days ago Created: almost 2 years ago
Releases: 23 Maintainers: 2
Direct Dependencies: @cspotcode/source-map-support, @cucumber/ci-environment, @cucumber/cucumber-expressions, @cucumber/gherkin, @cucumber/gherkin-streams, @cucumber/gherkin-utils, @cucumber/html-formatter, @cucumber/message-streams, @cucumber/messages, @cucumber/tag-expressions, assertion-error-formatter, capital-case, chalk, cli-table3, commander, duration, durations, figures, glob, has-ansi, indent-string, is-installed-globally, is-stream, knuth-shuffle-seeded, lodash.merge, lodash.mergewith, mz, progress, resolve-pkg, semver, stack-chain, string-argv, strip-ansi, supports-color, tmp, util-arity, verror, yup
README


Cucumber

Automated tests in plain language, for Node.js

#StandWithUkraine
npm
build
coverage
backers
sponsors
pull requests
issues

Cucumber is a tool for running automated tests written in plain language. Because they're
written in plain language, they can be read by anyone on your team. Because they can be
read by anyone, you can use them to help improve communication, collaboration and trust on
your team.

This is the JavaScript implementation of Cucumber. It runs on maintained versions of Node.js. You can quickly try it via CodeSandbox, or read on to get started locally in a couple of minutes.

Looking to contribute? Read our code of conduct first, then check the contributing guide to get up and running.

Install

Cucumber is available on npm:

$ npm install @cucumber/cucumber

Get Started

Let's take this example of something to test:

class Greeter {
  sayHello() {
    return 'hello'
  }
}

First, write your feature in features/greeting.feature:

Feature: Greeting

  Scenario: Say hello
    When the greeter says hello
    Then I should have heard "hello"

Next, implement your steps in features/support/steps.js:

const assert = require('assert')
const { When, Then } = require('@cucumber/cucumber')
const { Greeter } = require('../../src')

When('the greeter says hello', function () {
  this.whatIHeard = new Greeter().sayHello()
});

Then('I should have heard {string}', function (expectedResponse) {
  assert.equal(this.whatIHeard, expectedResponse)
});

Finally, run Cucumber:

$ npx cucumber-js

And see the output:

Terminal output showing a successful test run with 1 scenario and 2 steps, all passing

If you learn best by example, we have a repo with several example projects, that might help you get going.

Documentation

The following documentation is for main, which might contain some unreleased features. See documentation for older versions if you need it.

Support

Support is available from the community if you need it.

@cspell/eslint-plugin

Used in packages/eslint-config-labfaz/package.json
Author: Jason Dent Description: [WIP] CSpell ESLint plugin
License: MIT Homepage: https://github.com/streetsidesoftware/cspell/tree/main/packages/cspell-eslint-plugin#readme
Keywords: cspell, eslint, plugin, spell, spell checker and spelling
Updated: 6 days ago Created: 5 months ago
Releases: 42 Maintainers: 1
Direct Dependencies: cspell-lib
README

CSpell ESLint Plugin

A spell checker plugin for ESLint based upon CSpell.

Feedback Welcome

This plugin is still in active development as part of the CSpell suite of tools and applications.

In Combination with CSpell

Due to the nature of how files are parsed, the cspell command line tool and this ESLint plugin will give different results.
It is recommended that either ESLint or cspell checks a file, but not both. Use ignorePaths setting in cspell.json to
tell the cspell command line tool to ignore files checked by ESLint.

Quick Setup

  • Install @cspell/eslint-plugin as a dev-dependency

    npm install --save-dev @cspell/eslint-plugin
  • Add to it to .eslintrc.json

    "extends": ["plugin:@cspell/recommended"]

Options

interface Options {
  /**
   * Number of spelling suggestions to make.
   * @default 8
   */
  numSuggestions: number;
  /**
   * Generate suggestions
   * @default true
   */
  generateSuggestions: boolean;
  /**
   * Ignore import and require names
   * @default true
   */
  ignoreImports?: boolean;
  /**
   * Ignore the properties of imported variables, structures, and types.
   *
   * Example:
   * ```
   * import { example } from 'third-party';
   *
   * const msg = example.property; // `property` is not spell checked.
   * ```
   *
   * @default true
   */
  ignoreImportProperties?: boolean;
  /**
   * Spell check identifiers (variables names, function names, and class names)
   * @default true
   */
  checkIdentifiers?: boolean;
  /**
   * Spell check strings
   * @default true
   */
  checkStrings?: boolean;
  /**
   * Spell check template strings
   * @default true
   */
  checkStringTemplates?: boolean;
  /**
   * Spell check JSX Text
   * @default true
   */
  checkJSXText?: boolean;
  /**
   * Spell check comments
   * @default true
   */
  checkComments?: boolean;
  /**
   * Specify a path to a custom word list file.
   *
   * example:
   * ```js
   * customWordListFile: "./myWords.txt"
   * ```
   */
  customWordListFile?: string | { path: string };
  /**
   * Output debug logs
   * @default false
   */
  debugMode?: boolean;
}

Example:

{
  "plugins": ["@cspell"],
  "rules": {
    "@cspell/spellchecker": ["warn", { "checkComments": false }]
  }
}

New dependencies added: @cspell/eslint-plugin, @cucumber/cucumber, @cucumber/messages, @cucumber/pretty-formatter, @labfaz/core, @labfaz/db, @labfaz/routers, @labfaz/tsconfig, @mdx-js/preact, @playwright/test, @prisma/client, @trpc/server, @types/fs-extra, @types/node, @types/react, @types/react-dom, @typescript-eslint/eslint-plugin, @typescript-eslint/parser, eslint, eslint-config-labfaz, eslint-config-next, eslint-config-prettier, eslint-plugin-abcsize, eslint-plugin-i18next, eslint-plugin-import, eslint-plugin-markdownlint, eslint-plugin-prettier, eslint-plugin-react, eslint-plugin-simple-import-sort, eslint-plugin-write-good-comments, fs-extra, prettier, prisma, react, ts-node, tsconfig-paths, tsup, typescript and zod.

Generated by 🚫 dangerJS against fb1ec9f

@thlmenezes thlmenezes closed this Aug 14, 2022
@thlmenezes thlmenezes reopened this Aug 14, 2022
@thlmenezes thlmenezes force-pushed the refactor/change-packages-names branch from 24b53f0 to 983670b Compare August 14, 2022 17:16
@vercel
Copy link

vercel bot commented Aug 14, 2022

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Updated
turborepo ✅ Ready (Inspect) Visit Preview Aug 17, 2022 at 8:51PM (UTC)

@@ -1,4 +1,4 @@
module.exports = {
root: true,
extends: ['acme'],
extends: ['labfaz'],

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  • ⚠️ Unknown word: "labfaz" (@cspell/spellchecker)
  • ⚠️ Unknown word: "labfaz" (@cspell/spellchecker)

Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Device URL
desktop https://turborepo-7rbya0glv-labfaz.vercel.app

Device URL
mobile https://turborepo-7rbya0glv-labfaz.vercel.app

Not what you expected? Are your scores flaky? GitHub runners could be the cause.
Try running on Foo instead

@thlmenezes thlmenezes closed this Aug 16, 2022
@thlmenezes thlmenezes reopened this Aug 16, 2022
Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Device URL
desktop https://turborepo-92qxvd8iv-labfaz.vercel.app

Device URL
mobile https://turborepo-92qxvd8iv-labfaz.vercel.app

Not what you expected? Are your scores flaky? GitHub runners could be the cause.
Try running on Foo instead

Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Device URL
desktop https://turborepo-1dyx1ynh3-labfaz.vercel.app

Device URL
mobile https://turborepo-1dyx1ynh3-labfaz.vercel.app

Not what you expected? Are your scores flaky? GitHub runners could be the cause.
Try running on Foo instead

Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Device URL
desktop https://turborepo-3kn1d8scd-labfaz.vercel.app

Device URL
mobile https://turborepo-3kn1d8scd-labfaz.vercel.app

Not what you expected? Are your scores flaky? GitHub runners could be the cause.
Try running on Foo instead

Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Device URL
desktop https://turborepo-3o2h15fkl-labfaz.vercel.app

Device URL
mobile https://turborepo-3o2h15fkl-labfaz.vercel.app

Not what you expected? Are your scores flaky? GitHub runners could be the cause.
Try running on Foo instead

@Nandosts Nandosts merged commit 9c366d6 into main Aug 17, 2022
@Nandosts Nandosts deleted the refactor/change-packages-names branch August 17, 2022 20:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants