Skip to content

Commit

Permalink
0.6.0: Breaking Version (#75)
Browse files Browse the repository at this point in the history
  • Loading branch information
GogoVega authored Oct 4, 2024
2 parents d8d8f1a + 64e1857 commit b1647bf
Show file tree
Hide file tree
Showing 86 changed files with 7,567 additions and 7,180 deletions.
1 change: 0 additions & 1 deletion .eslintrc.json
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,6 @@
"no-obj-calls": 2,
"no-octal": 2,
"no-prototype-builtins": 2,
"no-redeclare": 2,
"no-regex-spaces": 2,
"no-self-assign": 2,
"no-setter-return": 2,
Expand Down
6 changes: 5 additions & 1 deletion .github/workflows/publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,12 +26,16 @@ jobs:
- name: Install Dependencies
run: npm ci

# Ensure the required version is up to date
- name: Update the Required Config Node version
run: node ./scripts/update-required-config-node-version.js

- name: Build
run: npm run build

# TODO: Handle the tag
- name: Publish package to public npm registry
uses: JS-DevTools/npm-publish@v3
with:
access: public
tag: ${{ contains(github.ref, '-beta') && 'beta' || contains(github.ref, '-alpha') && 'alpha' || 'latest' }}
token: ${{ secrets.NPM_TOKEN }}
3 changes: 2 additions & 1 deletion .prettierrc.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
{
"arrowParens": "always",
"bracketSameLine": true,
"bracketSpacing": true,
"endOfLine": "auto",
"endOfLine": "lf",
"printWidth": 120,
"semi": true,
"singleQuote": false,
Expand Down
50 changes: 50 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,55 @@
# Change log

## 0.6.0

### Breaking Changes

- The type of config-node (`database-config`) has changed to `firebase-config`.

> [!CAUTION]
> This change breaks the runtime - it must be resolved to start the flows.
> See more about the [reason](https://github.com/GogoVega/node-red-contrib-firebase-realtime-database/pull/50) and the [migration procedure](https://github.com/GogoVega/node-red-contrib-firebase-realtime-database/wiki/Migration-Wizard).
### Deprecated Features

- (Firebase GET & IN) `msg.method` replaced by `msg.constraints`

> [!WARNING]
> This and other minor changes in the edit box are NON-breaking changes.
> They are resolved automatically when you save a node. The Migration Wizard resolves them too.
### Changes

- (QueryConstraints) `constraint` and `msg.method` are deprecated (#57)
- Only allows installations on Node RED version >=3 ([7120f4e](https://github.com/GogoVega/node-red-contrib-firebase-realtime-database/commit/7120f4e4efcd24c5fb63664d7c1c9e41ac2738b5))
- Update Firebase icon
- Move all `name` fields to the top of the edit box (#72)

### New Features

- Support to dynamically set `Firebase-in` node properties (#54)
- A new option has been added to the `Output` field so that the data is in JSON format (#58)
- `flow`, `global` and `jsonata` options has been added to the `Path` field for all nodes (#59)
- QueryConstraints: `msg`, `flow`, `global` and `jsonata` as new types for the `Value` field and the `Child` field (#61)
- (ServerValue) Relax Integer rule to Number and add `DECREMENT` keyword (#63)
- Feature: Add `env` field type to `Path`, `Child` and `Value` inputs (#66)

### Enhancements

- Better use of [Node Messaging API](https://github.com/node-red/designs/blob/master/designs/node-messaging-api.md) (part of #53)
- Input validation error message (#56)
- Add `autocomplete` to all Path fields (#60)

### Refactors

- Config Node Externalization (#53)
- Use resources for editor to remove duplicates (#55)

### Fixes

- The value of the `date` option for the field type (#69)
- Remove the deprecated `fetchSignInMethodsForEmail` function ([#11](https://github.com/GogoVega/Firebase-Config-Node/pull/11))

## 0.5.5

### Changes
Expand Down
42 changes: 34 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<div align="center">
<h1>Node-RED nodes to communicate with <a href="https://firebase.google.com">Firebase Realtime Databases</a></h1>
<h1>Node-RED nodes to communicate with <a href="https://firebase.google.com/products/realtime-database">Firebase Realtime Databases</a></h1>
<a href="https://firebase.google.com"><img src="assets/images/node-red-firebase-rtdb-logo.svg" alt="Logo" width="70%"></a>
<p align="center">
<br />
Expand All @@ -21,7 +21,10 @@
</div>
<br />

![demo nodes](./assets/images/demo-nodes.gif)
![demo nodes](./assets/images/demo-flow.gif)

> [!CAUTION]
> **BREAKING CHANGES**: If you are updating to 0.6, please read the [migration procedure](https://github.com/GogoVega/node-red-contrib-firebase-realtime-database/wiki/migration-wizard).
## What is it?

Expand All @@ -41,7 +44,29 @@ There are 4 nodes included with this contrib:
| Firebase&nbsp;out | `SET`, `PUSH`, `UPDATE`, `REMOVE`, `SET PRIORITY` or `SET WITH PRIORITY` data at the target Database. |
| On&nbsp;Disconnect | `SET`, `CANCEL`, `UPDATE`, `REMOVE` or `SET WITH PRIORITY` data at the target Database **when the Client disconnects**. |

On the video above, we can see the "Query Constraint" feature, which is used to sort and order your data as required, and also shown is the "Drag and drop JSON file" feature, which automatically populates the fields with the content of the JSON file you provide.
## Features

- Autocomplete the `Path` field

![demo autocomplete](./assets/images/autocomplete-feature.gif)

- Editable List for Query Constraints

You can statically define your Query Constraints with an Editable List, which is used to sort and order your data as required.

![demo query constraints](./assets/images/query-constraints-editablelist.gif)

- Error message for incorrect input

The field tells you if the input is incorrect and gives you a reason.

![demo error message](./assets/images/input-error-message.gif)

- Drag and drop JSON file

Automatically populates the fields with the content of the JSON file you provide.

![demo JSON file](./assets/images/drag-and-drop.gif)

## How to use?

Expand All @@ -50,14 +75,15 @@ On the video above, we can see the "Query Constraint" feature, which is used to
Find this package `@gogovega/node-red-contrib-firebase-realtime-database` and click install.

- Install Manually
Rememeber to restart Node RED after using this method.
`.node-red` is usually relative to the users home directory that is running Node RED.

```bash
cd ~/.node-red
npm install @gogovega/node-red-contrib-firebase-realtime-database --omit=dev
```

Remember to restart Node RED after using either method.

## Authentication Methods

- `Anonymous`
Expand All @@ -70,23 +96,23 @@ Read more about the different ways to authenticate [here](https://github.com/Gog
## Getting Started Link

- [Installing](https://github.com/GogoVega/node-red-contrib-firebase-realtime-database/wiki/getting-started): System requirements and install instructions
- [Migrate to v0.6](https://github.com/GogoVega/node-red-contrib-firebase-realtime-database/wiki/migration-wizard): The migration procedure to update to v0.6
- [Build Database](https://github.com/GogoVega/node-red-contrib-firebase-realtime-database/wiki/create-database): How to build a Firebase database?
- [Authentication Methods](https://github.com/GogoVega/node-red-contrib-firebase-realtime-database/wiki/Authentication#authentication-methods): Which method used to connect?
- [Firestore Nodes](https://github.com/GogoVega/node-red-contrib-cloud-firestore): You search for the Google Cloud Firestore Nodes?
- [Wiki](https://github.com/GogoVega/node-red-contrib-firebase-realtime-database/wiki): Just about everything
- [Firebase Site](https://firebase.google.com/): What is Firebase?
- [Change Log](./CHANGELOG.md): Whats changed?

## TODO List

- [ ] Sign in with Google (Provider)
## Feature Request

If you have any other suggestions, please let me know [here](https://github.com/GogoVega/node-red-contrib-firebase-realtime-database/discussions/new?category=ideas).

## License

MIT License

Copyright (c) 2022-2023 Gauthier Dandele
Copyright (c) 2022-2024 Gauthier Dandele

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
Expand Down
Binary file added assets/images/autocomplete-feature.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/images/demo-flow.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file removed assets/images/demo-nodes.gif
Binary file not shown.
Binary file added assets/images/drag-and-drop.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/images/input-error-message.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 0 additions & 3 deletions assets/images/node-red-firebase-logo.svg

This file was deleted.

2 changes: 1 addition & 1 deletion assets/images/node-red-firebase-rtdb-logo.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/images/query-constraints-editablelist.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading

0 comments on commit b1647bf

Please sign in to comment.