Skip to content

Commit

Permalink
docs: updated for release 1.13.1
Browse files Browse the repository at this point in the history
  • Loading branch information
jankapunkt committed Dec 21, 2023
1 parent 345f073 commit 8e4ba12
Show file tree
Hide file tree
Showing 3 changed files with 137 additions and 34 deletions.
15 changes: 10 additions & 5 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->
**Table of Contents** *generated with [DocToc](https://github.com/thlorenz/doctoc)*

- [1.13.1](#1131)
- [1.7.3 and higher](#173-and-higher)
- [1.7.2](#172)
- [1.7.1](#171)
Expand Down Expand Up @@ -50,13 +51,17 @@

<!-- END doctoc generated TOC please keep comment here to allow auto update -->

## 2.0.0
## 1.13.1

- back in maintenance
- moved all code from npm `[email protected]` to this repo
- back under community maintenance!
- 100% compatibility with Meteor, used the last Meteor-compatible version from NPM
- moved all code from npm [email protected] to this repo
- NPM link: https://www.npmjs.com/package/simpl-schema/v/1.13.1
- GitHub commit: [7f3ea1c2a185199e676726b6e4e82ab5fa722e97](https://github.com/longshotlabs/simpl-schema/tree/7f3ea1c2a185199e676726b6e4e82ab5fa722e97)
- updated all tests to use `meteortesting:mocha` + chai
- prepare for Meteor 3.0 compatibility
- update CI
- added coverage reporting to the tests!
- prepare for Meteor 3.0 compatibility migration (will be done in the next version)
- updated CI
- publish as Meteor package

## 1.7.3 and higher
Expand Down
137 changes: 117 additions & 20 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,17 +1,26 @@
# Contribute
# Contributing to aldeed:simple-schema

> Any contribution to this repository is highly appreciated!

<!-- START doctoc generated TOC please keep comment here to allow auto update -->
<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->
**Table of Contents** *generated with [DocToc](https://github.com/thlorenz/doctoc)*

- [Introduction](#introduction)
- [Your First Contribution](#your-first-contribution)
- [Submitting code](#submitting-code)
- [Setup development env](#setup-development-env)
- [Clone project and create a new branch to work on](#clone-project-and-create-a-new-branch-to-work-on)
- [Initialize test app](#initialize-test-app)
- [Development toolchain](#development-toolchain)
- [Linter](#linter)
- [Tests](#tests)
- [Once](#once)
- [Watch](#watch)
- [Coverage](#coverage)
- [Open a pull request](#open-a-pull-request)
- [Code review process](#code-review-process)
- [Questions](#questions)
- [Credits](#credits)
- [Contributors](#contributors)
- [Sponsors](#sponsors)

<!-- END doctoc generated TOC please keep comment here to allow auto update -->

Expand All @@ -25,34 +34,122 @@ We welcome any type of contribution, not only code. You can help with
- **Marketing**: writing blog posts, howto's, printing stickers, ...
- **Community**: presenting the project at meetups, organizing a dedicated meetup for the local community, ...
- **Code**: take a look at the [open issues](issues). Even if you can't write code, commenting on them, showing that you care about a given issue matters. It helps us triage them.
- **Money**: we [welcome financial contributions](https://github.com/sponsors/aldeed).
- **Money**: we [welcome financial contributions](https://github.com/https://github.com/Meteor-Community-Packages).

## Setup development env

### Clone project and create a new branch to work on

First, clone this repository and create a new branch to work on.
Branch names should follow the GitFlow standard and start with a descriptive prefix of their intended outcome, for example:

- `feature/` for features
- `fix/` for general fixes

Then the name of the branch should describe the purpose of the branch and potentially reference the issue number it is solving.

```shell
$ git clone [email protected]:Meteor-Community-Packages/meteor-simple-schema.git
$ cd meteor-simple-schema
$ git checkout -b fix/some-issue
```

### Initialize test app

We use a proxy Meteor application to run our tests and handle coverage etc.
This app contains several npm scripts to provide the complete toolchain that is required
for your development and testing needs.

The setup is very easy. Go into the `tests` directory, install dependencies and link
the package:

```shell
$ cd tests
$ meteor npm install
$ meteor npm run setup # this is important for the tools to work!
```

## Development toolchain

The `tests` comes with some builtin scripts you can utilize during your development.
They will also be picked up by our CI during pull requests.
Therefore, it's a good call for you, that if they pass or fail, the CI will do so, too.

**Note: all tools require the npm `setup` script has been executed at least once!**

### Linter

We use `standard` as our linter. You can run either the linter or use it's autofix feature for
the most common issues:

## Your First Contribution
```shell
# in tests
$ meteor npm run lint # show only outputs
$ meteor npm run lint:fix # with fixes + outputs
```

Working on your first Pull Request? You can learn how from this *free* series, [How to Contribute to an Open Source Project on GitHub](https://egghead.io/series/how-to-contribute-to-an-open-source-project-on-github).
### Tests

## Submitting code
We provide three forms of tests: once, watch, coverage

#### Once

Simply runs the test suite once, without coverage collection:

```shell
$ meteor npm run test
```

#### Watch

Runs the test suite in watch mode, good to use during active development, where your changes
are picked up automatically to re-run the tests:

```shell
$ meteor npm run test:watch
```

#### Coverage

Runs the test suite once, including coverage report generation.
Generates an html and json report output.

```shell
$ meteor npm run test:coverage
$ meteor npm run report # summary output in console
```

If you want to watch the HTML output to find (un)covered lines, open
the file at `tests/.coverage/index.html` in your browser.

## Open a pull request

If you open a pull request, please make sure the following requirements are met:

- the `lint` script is passing
- the `test` script is passing
- your contribution is on point and solves one issue (not multiple)
- your commit messages are descriptive and informative
- complex changes are documented in the code with comments or jsDoc-compatible documentation

Please understand, that there will be a review process and your contribution
might require changes before being merged. This is entirely to ensure quality and is
never used as a personal offense.

Any code change should be submitted as a pull request. The description should explain what the code does and give steps to execute it. The pull request should also contain tests.

## Code review process

The bigger the pull request, the longer it will take to review and merge. Try to break down large pull requests in smaller chunks that are easier to review and merge.
The bigger the pull request, the longer it will take to review and merge. Try to break down large pull requests in
smaller chunks that are easier to review and merge.
It is also always helpful to have some context for your pull request. What was the purpose? Why does it matter to you?

## Questions

If you have any questions, create an [issue](issue) (protip: do a quick search first to see if someone else didn't ask the same question before!).
If you have any questions, [create an issue](https://github.com/Meteor-Community-Packages/meteor-simple-schema/issues)
(protip: do a quick search first to see if someone else didn't ask the same question before!).

## Credits

### Contributors
Thank you to all the people who have already contributed to this project:

Thank you to all the people who have already contributed to simpl-schema!
<a href="graphs/contributors"><img src="https://opencollective.com/simple-schema-js/contributors.svg?width=890" /></a>

### Sponsors

You can support this project by [becoming a sponsor](https://github.com/sponsors/aldeed).

<!-- This `CONTRIBUTING.md` is based on @nayafia's template https://github.com/nayafia/contributing-template -->
19 changes: 10 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,12 @@
[![Project Status: Active – The project has reached a stable, usable state and is being actively developed.](https://www.repostatus.org/badges/latest/active.svg)](https://www.repostatus.org/#active)
![GitHub License](https://img.shields.io/github/license/Meteor-Community-Packages/meteor-simple-schema)

## Attention! 🧐
> This package is back under maintenance by the Meteor Community Packages group 🚀
> Consider this a hard-fork to ensure a future-proof maintenance with focus on
> Meteor-Compatibility (Meteor 2.x; 3.x and beyond)! ☄️
## About this package
SimpleSchema validates JavaScript objects to ensure they match a schema. It can also clean the objects to automatically convert types, remove unsupported properties, and add automatic values such that the object is then more likely to pass validation.

There are a lot of similar packages for validating objects. These are some of the features of this package that might be good reasons to choose this one over another:
Expand All @@ -20,11 +24,10 @@ There are a lot of similar packages for validating objects. These are some of th

There are also reasons not to choose this package. Because of all it does, this package is more complex than (but still "simple" :) ) and slower than some other packages. Based on your needs, you should decide whether these tradeoffs are acceptable. One faster but less powerful option is [simplecheck](https://www.npmjs.com/package/simplecheck).

## Table of Contents
<!-- START doctoc generated TOC please keep comment here to allow auto update -->
<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->

**Table of Contents** _generated with [DocToc](https://github.com/thlorenz/doctoc)_

- [The History of SimpleSchema](#the-history-of-simpleschema)
- [Installation](#installation)
- [Lingo](#lingo)
Expand Down Expand Up @@ -61,6 +64,7 @@ There are also reasons not to choose this package. Because of all it does, this
- [minCount/maxCount](#mincountmaxcount)
- [allowedValues](#allowedvalues)
- [regEx](#regex)
- [skipRegExCheckForEmptyStrings](#skipregexcheckforemptystrings)
- [blackbox](#blackbox)
- [trim](#trim)
- [custom](#custom)
Expand Down Expand Up @@ -97,7 +101,6 @@ There are also reasons not to choose this package. Because of all it does, this
- [Extending the Schema Options](#extending-the-schema-options)
- [Add On Packages](#add-on-packages)
- [Contributors](#contributors)
- [Sponsors](#sponsors)
- [License](#license)
- [Contributing](#contributing)
- [Thanks](#thanks)
Expand Down Expand Up @@ -1417,20 +1420,18 @@ Obviously you need to ensure that `extendOptions` is called before any SimpleSch

## Contributors

This project exists thanks to all the people who contribute. [[Contribute]](CONTRIBUTING.md).
<a href="graphs/contributors"><img src="https://opencollective.com/simple-schema-js/contributors.svg?width=890" /></a>

## Sponsors
This project exists thanks to all the people who contribute.

You can support this project by [becoming a sponsor](https://github.com/sponsors/aldeed).
<a href="graphs/contributors"><img src="https://opencollective.com/simple-schema-js/contributors.svg?width=890" /></a>

## License

MIT

## Contributing

Anyone is welcome to contribute. Before submitting a pull request, make sure that you've added tests for your changes, and that all tests pass when you run `npm test`.
Anyone is welcome to contribute. Before submitting a pull request, make sure that you've read our
[contribution guide](CONTRIBUTING.md).

### Thanks

Expand Down

0 comments on commit 8e4ba12

Please sign in to comment.