1
0
Fork 0
mirror of https://gitlab.com/bramw/baserow.git synced 2025-04-04 13:15:24 +00:00

Resolve "Upgrade Node.js runtime"

This commit is contained in:
Davide Silvestri 2022-04-14 10:02:23 +00:00
parent 11a7251cff
commit 070f6ed455
21 changed files with 1540 additions and 1590 deletions
backend
changelog.md
deploy/all-in-one
docs/development
formula
plugin-boilerplate/{{ cookiecutter.project_slug }}
web-frontend

View file

@ -25,11 +25,11 @@ celery-redbeat==2.0.0
service-identity==21.1.0
regex==2021.8.3
cryptography==36.0.1
antlr4-python3-runtime==4.8.0
antlr4-python3-runtime==4.9.3
tqdm==4.62.3
boto3==1.20.38
django-storages==1.12.3
django-health-check==3.16.5
psutil==5.9.0
dj-database-url==0.5.0
redis==4.1.4
redis==4.1.4

View file

@ -10,7 +10,7 @@ aioredis==1.3.1
# via channels-redis
amqp==5.1.0
# via kombu
antlr4-python3-runtime==4.8.0
antlr4-python3-runtime==4.9.3
# via -r base.in
asgiref==3.4.1
# via

View file

@ -1,4 +1,4 @@
# Generated from BaserowFormula.g4 by ANTLR 4.8
# Generated from BaserowFormula.g4 by ANTLR 4.9
# encoding: utf-8
from antlr4 import *
from io import StringIO
@ -188,7 +188,7 @@ class BaserowFormula ( Parser ):
def __init__(self, input:TokenStream, output:TextIO = sys.stdout):
super().__init__(input, output)
self.checkVersion("4.8")
self.checkVersion("4.9")
self._interp = ParserATNSimulator(self, self.atn, self.decisionsToDFA, self.sharedContextCache)
self._predicates = None

View file

@ -1,4 +1,4 @@
# Generated from BaserowFormulaLexer.g4 by ANTLR 4.8
# Generated from BaserowFormulaLexer.g4 by ANTLR 4.9
from antlr4 import *
from io import StringIO
from typing.io import TextIO
@ -444,7 +444,7 @@ class BaserowFormulaLexer(Lexer):
def __init__(self, input=None, output:TextIO = sys.stdout):
super().__init__(input, output)
self.checkVersion("4.8")
self.checkVersion("4.9")
self._interp = LexerATNSimulator(self, self.atn, self.decisionsToDFA, PredictionContextCache())
self._actions = None
self._predicates = None

View file

@ -1,4 +1,4 @@
# Generated from BaserowFormula.g4 by ANTLR 4.8
# Generated from BaserowFormula.g4 by ANTLR 4.9
from antlr4 import *
if __name__ is not None and "." in __name__:
from .BaserowFormula import BaserowFormula

View file

@ -1,4 +1,4 @@
# Generated from BaserowFormula.g4 by ANTLR 4.8
# Generated from BaserowFormula.g4 by ANTLR 4.9
from antlr4 import *
if __name__ is not None and "." in __name__:
from .BaserowFormula import BaserowFormula

View file

@ -25,6 +25,7 @@
* **breaking change** The API endpoint `/api/database/formula/<field_id>/type/` now requires
`table_id` instead of `field_id`, and also `name` in the request body.
* Added support in dev.sh for KDE's Konsole terminal emulator.
* Upgraded node runtime to v16.14.0
## Released (2022-03-03 1.9.1)

View file

@ -47,7 +47,7 @@ RUN apt-get update && \
# ========================
# Install Node
# ========================
curl -fsSL https://deb.nodesource.com/setup_12.x | bash - && \
curl -fsSL https://deb.nodesource.com/setup_16.x | bash - && \
apt-get install --no-install-recommends -y nodejs && \
apt-get clean && \
rm -rf /var/lib/apt/lists/* && \

View file

@ -61,7 +61,7 @@ automatic style fixers to make your life as easy as possible.
1. Now lets set up your frontend dev by changing directory to `baserow/web-frontend`
1. Now run `yarn install` (if you do not have yarn available check out and install a
node version manager like [nvm](https://github.com/nvm-sh/nvm) , baserow currently
uses node 12)
uses node 16)
1. Select "Trust Project" if you see an IntelliJ popup after running yarn install
1. Open your settings, search for and open the `Node.js and NPM` category and ensure the
Node interpreter is pointing to the desired node executable

View file

@ -15,9 +15,9 @@ RUN mkdir -p /workspace/src && chown -R $UID:$GID /workspace
USER $UID:$GID
WORKDIR /workspace
ENV ANTLR_VERSION 4.8
ENV ANTLR_VERSION 4.9
ENV CLASSPATH .:/workspace/antlr-${ANTLR_VERSION}-complete.jar:$CLASSPATH
RUN wget -q http://www.antlr.org/download/antlr-${ANTLR_VERSION}-complete.jar \
&& mv antlr-${ANTLR_VERSION}-complete.jar antlr.jar \
&& chmod +x antlr.jar
&& chmod +x antlr.jar

View file

@ -1,4 +1,4 @@
FROM node:12
FROM node:16
ADD ./baserow /baserow
ADD ./{{ cookiecutter.project_slug }} /{{ cookiecutter.project_slug }}

View file

@ -1,4 +1,4 @@
FROM node:12-buster as base
FROM node:16-buster as base
ARG UID
ENV UID=${UID:-9999}

View file

@ -14,9 +14,9 @@
* calculateFilteredFunctionsAndFieldsBasedOnCursorLocation which does step 1 and
* autocompleteFormula which does step 2 given the results of step 1.
*/
import { BaserowFormula } from '@baserow/modules/database/formula/parser/generated/BaserowFormula'
import BaserowFormula from '@baserow/modules/database/formula/parser/generated/BaserowFormula'
import { getTokenStreamForFormula } from '@baserow/modules/database/formula/parser/parser'
import { BaserowFormulaLexer } from '@baserow/modules/database/formula/parser/generated/BaserowFormulaLexer'
import BaserowFormulaLexer from '@baserow/modules/database/formula/parser/generated/BaserowFormulaLexer'
function _countRemainingOpenBrackets(i, stop, stream, numOpenBrackets) {
for (let k = i; k < stop; k++) {

View file

@ -1,13 +1,13 @@
// Generated from BaserowFormulaLexer.g4 by ANTLR 4.8
// Generated from BaserowFormulaLexer.g4 by ANTLR 4.9
// jshint ignore: start
var antlr4 = require('antlr4/index');
import antlr4 from 'antlr4';
var serializedATN = ["\u0003\u608b\ua72a\u8133\ub9ed\u417c\u3be7\u7786\u5964",
"\u0002U\u028b\b\u0001\u0004\u0002\t\u0002\u0004\u0003\t\u0003\u0004",
"\u0004\t\u0004\u0004\u0005\t\u0005\u0004\u0006\t\u0006\u0004\u0007\t",
"\u0007\u0004\b\t\b\u0004\t\t\t\u0004\n\t\n\u0004\u000b\t\u000b\u0004",
const serializedATN = ["\u0003\u608b\ua72a\u8133\ub9ed\u417c\u3be7\u7786",
"\u5964\u0002U\u028b\b\u0001\u0004\u0002\t\u0002\u0004\u0003\t\u0003",
"\u0004\u0004\t\u0004\u0004\u0005\t\u0005\u0004\u0006\t\u0006\u0004\u0007",
"\t\u0007\u0004\b\t\b\u0004\t\t\t\u0004\n\t\n\u0004\u000b\t\u000b\u0004",
"\f\t\f\u0004\r\t\r\u0004\u000e\t\u000e\u0004\u000f\t\u000f\u0004\u0010",
"\t\u0010\u0004\u0011\t\u0011\u0004\u0012\t\u0012\u0004\u0013\t\u0013",
"\u0004\u0014\t\u0014\u0004\u0015\t\u0015\u0004\u0016\t\u0016\u0004\u0017",
@ -408,25 +408,81 @@ var serializedATN = ["\u0003\u608b\ua72a\u8133\ub9ed\u417c\u3be7\u7786\u5964",
"\u0002"].join("");
var atn = new antlr4.atn.ATNDeserializer().deserialize(serializedATN);
const atn = new antlr4.atn.ATNDeserializer().deserialize(serializedATN);
var decisionsToDFA = atn.decisionToState.map( function(ds, index) { return new antlr4.dfa.DFA(ds, index); });
const decisionsToDFA = atn.decisionToState.map( (ds, index) => new antlr4.dfa.DFA(ds, index) );
function BaserowFormulaLexer(input) {
antlr4.Lexer.call(this, input);
this._interp = new antlr4.atn.LexerATNSimulator(this, atn, decisionsToDFA, new antlr4.PredictionContextCache());
return this;
export default class BaserowFormulaLexer extends antlr4.Lexer {
static grammarFileName = "BaserowFormulaLexer.g4";
static channelNames = [ "DEFAULT_TOKEN_CHANNEL", "HIDDEN" ];
static modeNames = [ "DEFAULT_MODE" ];
static literalNames = [ null, null, null, null, null, null, null, null,
null, "','", "':'", "'::'", "'$'", "'$$'", "'*'",
"'('", "')'", "'['", "']'", null, null, null, null,
null, "'.'", null, null, null, null, "'&'", "'&&'",
"'&<'", "'@@'", "'@>'", "'@'", "'!'", "'!!'", "'!='",
"'^'", "'='", "'=>'", "'>'", "'>='", "'>>'", "'#'",
"'#='", "'#>'", "'#>>'", "'##'", "'->'", "'->>'",
"'-|-'", "'<'", "'<='", "'<@'", "'<^'", "'<>'",
"'<->'", "'<<'", "'<<='", "'<?>'", "'-'", "'%'",
"'|'", "'||'", "'||/'", "'|/'", "'+'", "'?'", "'?&'",
"'?#'", "'?-'", "'?|'", "'/'", "'~'", "'~='", "'~>=~'",
"'~>~'", "'~<=~'", "'~<~'", "'~*'", "'~~'", "';'" ];
static symbolicNames = [ null, "BLOCK_COMMENT", "LINE_COMMENT", "WHITESPACE",
"TRUE", "FALSE", "FIELD", "FIELDBYID", "LOOKUP",
"COMMA", "COLON", "COLON_COLON", "DOLLAR", "DOLLAR_DOLLAR",
"STAR", "OPEN_PAREN", "CLOSE_PAREN", "OPEN_BRACKET",
"CLOSE_BRACKET", "BIT_STRING", "REGEX_STRING",
"NUMERIC_LITERAL", "INTEGER_LITERAL", "HEX_INTEGER_LITERAL",
"DOT", "SINGLEQ_STRING_LITERAL", "DOUBLEQ_STRING_LITERAL",
"IDENTIFIER", "IDENTIFIER_UNICODE", "AMP", "AMP_AMP",
"AMP_LT", "AT_AT", "AT_GT", "AT_SIGN", "BANG",
"BANG_BANG", "BANG_EQUAL", "CARET", "EQUAL", "EQUAL_GT",
"GT", "GTE", "GT_GT", "HASH", "HASH_EQ", "HASH_GT",
"HASH_GT_GT", "HASH_HASH", "HYPHEN_GT", "HYPHEN_GT_GT",
"HYPHEN_PIPE_HYPHEN", "LT", "LTE", "LT_AT", "LT_CARET",
"LT_GT", "LT_HYPHEN_GT", "LT_LT", "LT_LT_EQ",
"LT_QMARK_GT", "MINUS", "PERCENT", "PIPE", "PIPE_PIPE",
"PIPE_PIPE_SLASH", "PIPE_SLASH", "PLUS", "QMARK",
"QMARK_AMP", "QMARK_HASH", "QMARK_HYPHEN", "QMARK_PIPE",
"SLASH", "TIL", "TIL_EQ", "TIL_GTE_TIL", "TIL_GT_TIL",
"TIL_LTE_TIL", "TIL_LT_TIL", "TIL_STAR", "TIL_TIL",
"SEMI", "ErrorCharacter" ];
static ruleNames = [ "A", "B", "C", "D", "E", "F", "G", "H", "I", "J",
"K", "L", "M", "N", "O", "P", "Q", "R", "S", "T",
"U", "V", "W", "X", "Y", "Z", "UNDERSCORE", "HEX_DIGIT",
"DEC_DIGIT", "DQUOTA_STRING", "SQUOTA_STRING", "BQUOTA_STRING",
"BLOCK_COMMENT", "LINE_COMMENT", "WHITESPACE", "TRUE",
"FALSE", "FIELD", "FIELDBYID", "LOOKUP", "COMMA",
"COLON", "COLON_COLON", "DOLLAR", "DOLLAR_DOLLAR",
"STAR", "OPEN_PAREN", "CLOSE_PAREN", "OPEN_BRACKET",
"CLOSE_BRACKET", "BIT_STRING", "REGEX_STRING", "NUMERIC_LITERAL",
"INTEGER_LITERAL", "HEX_INTEGER_LITERAL", "DOT", "SINGLEQ_STRING_LITERAL",
"DOUBLEQ_STRING_LITERAL", "IDENTIFIER", "IDENTIFIER_UNICODE",
"AMP", "AMP_AMP", "AMP_LT", "AT_AT", "AT_GT", "AT_SIGN",
"BANG", "BANG_BANG", "BANG_EQUAL", "CARET", "EQUAL",
"EQUAL_GT", "GT", "GTE", "GT_GT", "HASH", "HASH_EQ",
"HASH_GT", "HASH_GT_GT", "HASH_HASH", "HYPHEN_GT",
"HYPHEN_GT_GT", "HYPHEN_PIPE_HYPHEN", "LT", "LTE",
"LT_AT", "LT_CARET", "LT_GT", "LT_HYPHEN_GT", "LT_LT",
"LT_LT_EQ", "LT_QMARK_GT", "MINUS", "PERCENT", "PIPE",
"PIPE_PIPE", "PIPE_PIPE_SLASH", "PIPE_SLASH", "PLUS",
"QMARK", "QMARK_AMP", "QMARK_HASH", "QMARK_HYPHEN",
"QMARK_PIPE", "SLASH", "TIL", "TIL_EQ", "TIL_GTE_TIL",
"TIL_GT_TIL", "TIL_LTE_TIL", "TIL_LT_TIL", "TIL_STAR",
"TIL_TIL", "SEMI", "ErrorCharacter" ];
constructor(input) {
super(input)
this._interp = new antlr4.atn.LexerATNSimulator(this, atn, decisionsToDFA, new antlr4.PredictionContextCache());
}
get atn() {
return atn;
}
}
BaserowFormulaLexer.prototype = Object.create(antlr4.Lexer.prototype);
BaserowFormulaLexer.prototype.constructor = BaserowFormulaLexer;
Object.defineProperty(BaserowFormulaLexer.prototype, "atn", {
get : function() {
return atn;
}
});
BaserowFormulaLexer.EOF = antlr4.Token.EOF;
BaserowFormulaLexer.BLOCK_COMMENT = 1;
BaserowFormulaLexer.LINE_COMMENT = 2;
@ -512,110 +568,5 @@ BaserowFormulaLexer.TIL_TIL = 81;
BaserowFormulaLexer.SEMI = 82;
BaserowFormulaLexer.ErrorCharacter = 83;
BaserowFormulaLexer.prototype.channelNames = [ "DEFAULT_TOKEN_CHANNEL", "HIDDEN" ];
BaserowFormulaLexer.prototype.modeNames = [ "DEFAULT_MODE" ];
BaserowFormulaLexer.prototype.literalNames = [ null, null, null, null, null,
null, null, null, null, "','",
"':'", "'::'", "'$'", "'$$'",
"'*'", "'('", "')'", "'['",
"']'", null, null, null,
null, null, "'.'", null,
null, null, null, "'&'",
"'&&'", "'&<'", "'@@'", "'@>'",
"'@'", "'!'", "'!!'", "'!='",
"'^'", "'='", "'=>'", "'>'",
"'>='", "'>>'", "'#'", "'#='",
"'#>'", "'#>>'", "'##'",
"'->'", "'->>'", "'-|-'",
"'<'", "'<='", "'<@'", "'<^'",
"'<>'", "'<->'", "'<<'",
"'<<='", "'<?>'", "'-'",
"'%'", "'|'", "'||'", "'||/'",
"'|/'", "'+'", "'?'", "'?&'",
"'?#'", "'?-'", "'?|'", "'/'",
"'~'", "'~='", "'~>=~'",
"'~>~'", "'~<=~'", "'~<~'",
"'~*'", "'~~'", "';'" ];
BaserowFormulaLexer.prototype.symbolicNames = [ null, "BLOCK_COMMENT", "LINE_COMMENT",
"WHITESPACE", "TRUE", "FALSE",
"FIELD", "FIELDBYID", "LOOKUP",
"COMMA", "COLON", "COLON_COLON",
"DOLLAR", "DOLLAR_DOLLAR",
"STAR", "OPEN_PAREN", "CLOSE_PAREN",
"OPEN_BRACKET", "CLOSE_BRACKET",
"BIT_STRING", "REGEX_STRING",
"NUMERIC_LITERAL", "INTEGER_LITERAL",
"HEX_INTEGER_LITERAL", "DOT",
"SINGLEQ_STRING_LITERAL",
"DOUBLEQ_STRING_LITERAL",
"IDENTIFIER", "IDENTIFIER_UNICODE",
"AMP", "AMP_AMP", "AMP_LT",
"AT_AT", "AT_GT", "AT_SIGN",
"BANG", "BANG_BANG", "BANG_EQUAL",
"CARET", "EQUAL", "EQUAL_GT",
"GT", "GTE", "GT_GT", "HASH",
"HASH_EQ", "HASH_GT", "HASH_GT_GT",
"HASH_HASH", "HYPHEN_GT",
"HYPHEN_GT_GT", "HYPHEN_PIPE_HYPHEN",
"LT", "LTE", "LT_AT", "LT_CARET",
"LT_GT", "LT_HYPHEN_GT",
"LT_LT", "LT_LT_EQ", "LT_QMARK_GT",
"MINUS", "PERCENT", "PIPE",
"PIPE_PIPE", "PIPE_PIPE_SLASH",
"PIPE_SLASH", "PLUS", "QMARK",
"QMARK_AMP", "QMARK_HASH",
"QMARK_HYPHEN", "QMARK_PIPE",
"SLASH", "TIL", "TIL_EQ",
"TIL_GTE_TIL", "TIL_GT_TIL",
"TIL_LTE_TIL", "TIL_LT_TIL",
"TIL_STAR", "TIL_TIL", "SEMI",
"ErrorCharacter" ];
BaserowFormulaLexer.prototype.ruleNames = [ "A", "B", "C", "D", "E", "F",
"G", "H", "I", "J", "K", "L",
"M", "N", "O", "P", "Q", "R",
"S", "T", "U", "V", "W", "X",
"Y", "Z", "UNDERSCORE", "HEX_DIGIT",
"DEC_DIGIT", "DQUOTA_STRING",
"SQUOTA_STRING", "BQUOTA_STRING",
"BLOCK_COMMENT", "LINE_COMMENT",
"WHITESPACE", "TRUE", "FALSE",
"FIELD", "FIELDBYID", "LOOKUP",
"COMMA", "COLON", "COLON_COLON",
"DOLLAR", "DOLLAR_DOLLAR", "STAR",
"OPEN_PAREN", "CLOSE_PAREN",
"OPEN_BRACKET", "CLOSE_BRACKET",
"BIT_STRING", "REGEX_STRING",
"NUMERIC_LITERAL", "INTEGER_LITERAL",
"HEX_INTEGER_LITERAL", "DOT",
"SINGLEQ_STRING_LITERAL", "DOUBLEQ_STRING_LITERAL",
"IDENTIFIER", "IDENTIFIER_UNICODE",
"AMP", "AMP_AMP", "AMP_LT",
"AT_AT", "AT_GT", "AT_SIGN",
"BANG", "BANG_BANG", "BANG_EQUAL",
"CARET", "EQUAL", "EQUAL_GT",
"GT", "GTE", "GT_GT", "HASH",
"HASH_EQ", "HASH_GT", "HASH_GT_GT",
"HASH_HASH", "HYPHEN_GT", "HYPHEN_GT_GT",
"HYPHEN_PIPE_HYPHEN", "LT",
"LTE", "LT_AT", "LT_CARET",
"LT_GT", "LT_HYPHEN_GT", "LT_LT",
"LT_LT_EQ", "LT_QMARK_GT", "MINUS",
"PERCENT", "PIPE", "PIPE_PIPE",
"PIPE_PIPE_SLASH", "PIPE_SLASH",
"PLUS", "QMARK", "QMARK_AMP",
"QMARK_HASH", "QMARK_HYPHEN",
"QMARK_PIPE", "SLASH", "TIL",
"TIL_EQ", "TIL_GTE_TIL", "TIL_GT_TIL",
"TIL_LTE_TIL", "TIL_LT_TIL",
"TIL_STAR", "TIL_TIL", "SEMI",
"ErrorCharacter" ];
BaserowFormulaLexer.prototype.grammarFileName = "BaserowFormulaLexer.g4";
exports.BaserowFormulaLexer = BaserowFormulaLexer;

View file

@ -1,168 +1,162 @@
// Generated from BaserowFormula.g4 by ANTLR 4.8
// Generated from BaserowFormula.g4 by ANTLR 4.9
// jshint ignore: start
var antlr4 = require('antlr4/index');
import antlr4 from 'antlr4';
// This class defines a complete listener for a parse tree produced by BaserowFormula.
function BaserowFormulaListener() {
antlr4.tree.ParseTreeListener.call(this);
return this;
}
export default class BaserowFormulaListener extends antlr4.tree.ParseTreeListener {
BaserowFormulaListener.prototype = Object.create(antlr4.tree.ParseTreeListener.prototype);
BaserowFormulaListener.prototype.constructor = BaserowFormulaListener;
// Enter a parse tree produced by BaserowFormula#root.
enterRoot(ctx) {
}
// Enter a parse tree produced by BaserowFormula#root.
BaserowFormulaListener.prototype.enterRoot = function(ctx) {
};
// Exit a parse tree produced by BaserowFormula#root.
BaserowFormulaListener.prototype.exitRoot = function(ctx) {
};
// Exit a parse tree produced by BaserowFormula#root.
exitRoot(ctx) {
}
// Enter a parse tree produced by BaserowFormula#FieldReference.
BaserowFormulaListener.prototype.enterFieldReference = function(ctx) {
};
// Enter a parse tree produced by BaserowFormula#FieldReference.
enterFieldReference(ctx) {
}
// Exit a parse tree produced by BaserowFormula#FieldReference.
BaserowFormulaListener.prototype.exitFieldReference = function(ctx) {
};
// Exit a parse tree produced by BaserowFormula#FieldReference.
exitFieldReference(ctx) {
}
// Enter a parse tree produced by BaserowFormula#StringLiteral.
BaserowFormulaListener.prototype.enterStringLiteral = function(ctx) {
};
// Enter a parse tree produced by BaserowFormula#StringLiteral.
enterStringLiteral(ctx) {
}
// Exit a parse tree produced by BaserowFormula#StringLiteral.
BaserowFormulaListener.prototype.exitStringLiteral = function(ctx) {
};
// Exit a parse tree produced by BaserowFormula#StringLiteral.
exitStringLiteral(ctx) {
}
// Enter a parse tree produced by BaserowFormula#Brackets.
BaserowFormulaListener.prototype.enterBrackets = function(ctx) {
};
// Enter a parse tree produced by BaserowFormula#Brackets.
enterBrackets(ctx) {
}
// Exit a parse tree produced by BaserowFormula#Brackets.
BaserowFormulaListener.prototype.exitBrackets = function(ctx) {
};
// Exit a parse tree produced by BaserowFormula#Brackets.
exitBrackets(ctx) {
}
// Enter a parse tree produced by BaserowFormula#BooleanLiteral.
BaserowFormulaListener.prototype.enterBooleanLiteral = function(ctx) {
};
// Enter a parse tree produced by BaserowFormula#BooleanLiteral.
enterBooleanLiteral(ctx) {
}
// Exit a parse tree produced by BaserowFormula#BooleanLiteral.
BaserowFormulaListener.prototype.exitBooleanLiteral = function(ctx) {
};
// Exit a parse tree produced by BaserowFormula#BooleanLiteral.
exitBooleanLiteral(ctx) {
}
// Enter a parse tree produced by BaserowFormula#RightWhitespaceOrComments.
BaserowFormulaListener.prototype.enterRightWhitespaceOrComments = function(ctx) {
};
// Enter a parse tree produced by BaserowFormula#RightWhitespaceOrComments.
enterRightWhitespaceOrComments(ctx) {
}
// Exit a parse tree produced by BaserowFormula#RightWhitespaceOrComments.
BaserowFormulaListener.prototype.exitRightWhitespaceOrComments = function(ctx) {
};
// Exit a parse tree produced by BaserowFormula#RightWhitespaceOrComments.
exitRightWhitespaceOrComments(ctx) {
}
// Enter a parse tree produced by BaserowFormula#DecimalLiteral.
BaserowFormulaListener.prototype.enterDecimalLiteral = function(ctx) {
};
// Enter a parse tree produced by BaserowFormula#DecimalLiteral.
enterDecimalLiteral(ctx) {
}
// Exit a parse tree produced by BaserowFormula#DecimalLiteral.
BaserowFormulaListener.prototype.exitDecimalLiteral = function(ctx) {
};
// Exit a parse tree produced by BaserowFormula#DecimalLiteral.
exitDecimalLiteral(ctx) {
}
// Enter a parse tree produced by BaserowFormula#LeftWhitespaceOrComments.
BaserowFormulaListener.prototype.enterLeftWhitespaceOrComments = function(ctx) {
};
// Enter a parse tree produced by BaserowFormula#LeftWhitespaceOrComments.
enterLeftWhitespaceOrComments(ctx) {
}
// Exit a parse tree produced by BaserowFormula#LeftWhitespaceOrComments.
BaserowFormulaListener.prototype.exitLeftWhitespaceOrComments = function(ctx) {
};
// Exit a parse tree produced by BaserowFormula#LeftWhitespaceOrComments.
exitLeftWhitespaceOrComments(ctx) {
}
// Enter a parse tree produced by BaserowFormula#FunctionCall.
BaserowFormulaListener.prototype.enterFunctionCall = function(ctx) {
};
// Enter a parse tree produced by BaserowFormula#FunctionCall.
enterFunctionCall(ctx) {
}
// Exit a parse tree produced by BaserowFormula#FunctionCall.
BaserowFormulaListener.prototype.exitFunctionCall = function(ctx) {
};
// Exit a parse tree produced by BaserowFormula#FunctionCall.
exitFunctionCall(ctx) {
}
// Enter a parse tree produced by BaserowFormula#FieldByIdReference.
BaserowFormulaListener.prototype.enterFieldByIdReference = function(ctx) {
};
// Enter a parse tree produced by BaserowFormula#FieldByIdReference.
enterFieldByIdReference(ctx) {
}
// Exit a parse tree produced by BaserowFormula#FieldByIdReference.
BaserowFormulaListener.prototype.exitFieldByIdReference = function(ctx) {
};
// Exit a parse tree produced by BaserowFormula#FieldByIdReference.
exitFieldByIdReference(ctx) {
}
// Enter a parse tree produced by BaserowFormula#LookupFieldReference.
BaserowFormulaListener.prototype.enterLookupFieldReference = function(ctx) {
};
// Enter a parse tree produced by BaserowFormula#LookupFieldReference.
enterLookupFieldReference(ctx) {
}
// Exit a parse tree produced by BaserowFormula#LookupFieldReference.
BaserowFormulaListener.prototype.exitLookupFieldReference = function(ctx) {
};
// Exit a parse tree produced by BaserowFormula#LookupFieldReference.
exitLookupFieldReference(ctx) {
}
// Enter a parse tree produced by BaserowFormula#IntegerLiteral.
BaserowFormulaListener.prototype.enterIntegerLiteral = function(ctx) {
};
// Enter a parse tree produced by BaserowFormula#IntegerLiteral.
enterIntegerLiteral(ctx) {
}
// Exit a parse tree produced by BaserowFormula#IntegerLiteral.
BaserowFormulaListener.prototype.exitIntegerLiteral = function(ctx) {
};
// Exit a parse tree produced by BaserowFormula#IntegerLiteral.
exitIntegerLiteral(ctx) {
}
// Enter a parse tree produced by BaserowFormula#BinaryOp.
BaserowFormulaListener.prototype.enterBinaryOp = function(ctx) {
};
// Enter a parse tree produced by BaserowFormula#BinaryOp.
enterBinaryOp(ctx) {
}
// Exit a parse tree produced by BaserowFormula#BinaryOp.
BaserowFormulaListener.prototype.exitBinaryOp = function(ctx) {
};
// Exit a parse tree produced by BaserowFormula#BinaryOp.
exitBinaryOp(ctx) {
}
// Enter a parse tree produced by BaserowFormula#ws_or_comment.
BaserowFormulaListener.prototype.enterWs_or_comment = function(ctx) {
};
// Enter a parse tree produced by BaserowFormula#ws_or_comment.
enterWs_or_comment(ctx) {
}
// Exit a parse tree produced by BaserowFormula#ws_or_comment.
BaserowFormulaListener.prototype.exitWs_or_comment = function(ctx) {
};
// Exit a parse tree produced by BaserowFormula#ws_or_comment.
exitWs_or_comment(ctx) {
}
// Enter a parse tree produced by BaserowFormula#func_name.
BaserowFormulaListener.prototype.enterFunc_name = function(ctx) {
};
// Enter a parse tree produced by BaserowFormula#func_name.
enterFunc_name(ctx) {
}
// Exit a parse tree produced by BaserowFormula#func_name.
BaserowFormulaListener.prototype.exitFunc_name = function(ctx) {
};
// Exit a parse tree produced by BaserowFormula#func_name.
exitFunc_name(ctx) {
}
// Enter a parse tree produced by BaserowFormula#field_reference.
BaserowFormulaListener.prototype.enterField_reference = function(ctx) {
};
// Enter a parse tree produced by BaserowFormula#field_reference.
enterField_reference(ctx) {
}
// Exit a parse tree produced by BaserowFormula#field_reference.
BaserowFormulaListener.prototype.exitField_reference = function(ctx) {
};
// Exit a parse tree produced by BaserowFormula#field_reference.
exitField_reference(ctx) {
}
// Enter a parse tree produced by BaserowFormula#identifier.
BaserowFormulaListener.prototype.enterIdentifier = function(ctx) {
};
// Enter a parse tree produced by BaserowFormula#identifier.
enterIdentifier(ctx) {
}
// Exit a parse tree produced by BaserowFormula#identifier.
BaserowFormulaListener.prototype.exitIdentifier = function(ctx) {
};
// Exit a parse tree produced by BaserowFormula#identifier.
exitIdentifier(ctx) {
}
exports.BaserowFormulaListener = BaserowFormulaListener;
}

View file

@ -1,118 +1,112 @@
// Generated from BaserowFormula.g4 by ANTLR 4.8
// Generated from BaserowFormula.g4 by ANTLR 4.9
// jshint ignore: start
var antlr4 = require('antlr4/index');
import antlr4 from 'antlr4';
// This class defines a complete generic visitor for a parse tree produced by BaserowFormula.
function BaserowFormulaVisitor() {
antlr4.tree.ParseTreeVisitor.call(this);
return this;
}
export default class BaserowFormulaVisitor extends antlr4.tree.ParseTreeVisitor {
BaserowFormulaVisitor.prototype = Object.create(antlr4.tree.ParseTreeVisitor.prototype);
BaserowFormulaVisitor.prototype.constructor = BaserowFormulaVisitor;
// Visit a parse tree produced by BaserowFormula#root.
BaserowFormulaVisitor.prototype.visitRoot = function(ctx) {
return this.visitChildren(ctx);
};
// Visit a parse tree produced by BaserowFormula#root.
visitRoot(ctx) {
return this.visitChildren(ctx);
}
// Visit a parse tree produced by BaserowFormula#FieldReference.
BaserowFormulaVisitor.prototype.visitFieldReference = function(ctx) {
return this.visitChildren(ctx);
};
// Visit a parse tree produced by BaserowFormula#FieldReference.
visitFieldReference(ctx) {
return this.visitChildren(ctx);
}
// Visit a parse tree produced by BaserowFormula#StringLiteral.
BaserowFormulaVisitor.prototype.visitStringLiteral = function(ctx) {
return this.visitChildren(ctx);
};
// Visit a parse tree produced by BaserowFormula#StringLiteral.
visitStringLiteral(ctx) {
return this.visitChildren(ctx);
}
// Visit a parse tree produced by BaserowFormula#Brackets.
BaserowFormulaVisitor.prototype.visitBrackets = function(ctx) {
return this.visitChildren(ctx);
};
// Visit a parse tree produced by BaserowFormula#Brackets.
visitBrackets(ctx) {
return this.visitChildren(ctx);
}
// Visit a parse tree produced by BaserowFormula#BooleanLiteral.
BaserowFormulaVisitor.prototype.visitBooleanLiteral = function(ctx) {
return this.visitChildren(ctx);
};
// Visit a parse tree produced by BaserowFormula#BooleanLiteral.
visitBooleanLiteral(ctx) {
return this.visitChildren(ctx);
}
// Visit a parse tree produced by BaserowFormula#RightWhitespaceOrComments.
BaserowFormulaVisitor.prototype.visitRightWhitespaceOrComments = function(ctx) {
return this.visitChildren(ctx);
};
// Visit a parse tree produced by BaserowFormula#RightWhitespaceOrComments.
visitRightWhitespaceOrComments(ctx) {
return this.visitChildren(ctx);
}
// Visit a parse tree produced by BaserowFormula#DecimalLiteral.
BaserowFormulaVisitor.prototype.visitDecimalLiteral = function(ctx) {
return this.visitChildren(ctx);
};
// Visit a parse tree produced by BaserowFormula#DecimalLiteral.
visitDecimalLiteral(ctx) {
return this.visitChildren(ctx);
}
// Visit a parse tree produced by BaserowFormula#LeftWhitespaceOrComments.
BaserowFormulaVisitor.prototype.visitLeftWhitespaceOrComments = function(ctx) {
return this.visitChildren(ctx);
};
// Visit a parse tree produced by BaserowFormula#LeftWhitespaceOrComments.
visitLeftWhitespaceOrComments(ctx) {
return this.visitChildren(ctx);
}
// Visit a parse tree produced by BaserowFormula#FunctionCall.
BaserowFormulaVisitor.prototype.visitFunctionCall = function(ctx) {
return this.visitChildren(ctx);
};
// Visit a parse tree produced by BaserowFormula#FunctionCall.
visitFunctionCall(ctx) {
return this.visitChildren(ctx);
}
// Visit a parse tree produced by BaserowFormula#FieldByIdReference.
BaserowFormulaVisitor.prototype.visitFieldByIdReference = function(ctx) {
return this.visitChildren(ctx);
};
// Visit a parse tree produced by BaserowFormula#FieldByIdReference.
visitFieldByIdReference(ctx) {
return this.visitChildren(ctx);
}
// Visit a parse tree produced by BaserowFormula#LookupFieldReference.
BaserowFormulaVisitor.prototype.visitLookupFieldReference = function(ctx) {
return this.visitChildren(ctx);
};
// Visit a parse tree produced by BaserowFormula#LookupFieldReference.
visitLookupFieldReference(ctx) {
return this.visitChildren(ctx);
}
// Visit a parse tree produced by BaserowFormula#IntegerLiteral.
BaserowFormulaVisitor.prototype.visitIntegerLiteral = function(ctx) {
return this.visitChildren(ctx);
};
// Visit a parse tree produced by BaserowFormula#IntegerLiteral.
visitIntegerLiteral(ctx) {
return this.visitChildren(ctx);
}
// Visit a parse tree produced by BaserowFormula#BinaryOp.
BaserowFormulaVisitor.prototype.visitBinaryOp = function(ctx) {
return this.visitChildren(ctx);
};
// Visit a parse tree produced by BaserowFormula#BinaryOp.
visitBinaryOp(ctx) {
return this.visitChildren(ctx);
}
// Visit a parse tree produced by BaserowFormula#ws_or_comment.
BaserowFormulaVisitor.prototype.visitWs_or_comment = function(ctx) {
return this.visitChildren(ctx);
};
// Visit a parse tree produced by BaserowFormula#ws_or_comment.
visitWs_or_comment(ctx) {
return this.visitChildren(ctx);
}
// Visit a parse tree produced by BaserowFormula#func_name.
BaserowFormulaVisitor.prototype.visitFunc_name = function(ctx) {
return this.visitChildren(ctx);
};
// Visit a parse tree produced by BaserowFormula#func_name.
visitFunc_name(ctx) {
return this.visitChildren(ctx);
}
// Visit a parse tree produced by BaserowFormula#field_reference.
BaserowFormulaVisitor.prototype.visitField_reference = function(ctx) {
return this.visitChildren(ctx);
};
// Visit a parse tree produced by BaserowFormula#field_reference.
visitField_reference(ctx) {
return this.visitChildren(ctx);
}
// Visit a parse tree produced by BaserowFormula#identifier.
BaserowFormulaVisitor.prototype.visitIdentifier = function(ctx) {
return this.visitChildren(ctx);
};
// Visit a parse tree produced by BaserowFormula#identifier.
visitIdentifier(ctx) {
return this.visitChildren(ctx);
}
exports.BaserowFormulaVisitor = BaserowFormulaVisitor;
}

View file

@ -1,7 +1,6 @@
import antlr4 from 'antlr4'
import { BufferedTokenStream } from 'antlr4/BufferedTokenStream'
import { BaserowFormulaLexer } from '@baserow/modules/database/formula/parser/generated/BaserowFormulaLexer'
import { BaserowFormula } from '@baserow/modules/database/formula/parser/generated/BaserowFormula'
import BaserowFormulaLexer from '@baserow/modules/database/formula/parser/generated/BaserowFormulaLexer'
import BaserowFormula from '@baserow/modules/database/formula/parser/generated/BaserowFormula'
import BaserowFormulaParserError from '@baserow/modules/database/formula/parser/errors'
/**
@ -30,7 +29,7 @@ export default function parseBaserowFormula(formula) {
export function getTokenStreamForFormula(formula) {
const chars = new antlr4.InputStream(formula)
const lexer = new BaserowFormulaLexer(chars)
const stream = new BufferedTokenStream(lexer)
const stream = new antlr4.CommonTokenStream(lexer)
stream.lazyInit()
stream.fill()
return stream

View file

@ -47,7 +47,9 @@ export default ({ service, customPopulateRow }) => {
if (customPopulateRow) {
customPopulateRow(row)
}
row._ ??= {}
if (row._ == null) {
row._ = {}
}
// Matching rows for front-end only search is not yet properly
// supported and tested in this store mixin. Only server-side search
// implementation is finished.

View file

@ -5,6 +5,9 @@
"description": "Baserow: open source no-code database web frontend.",
"author": "Bram Wiepjes (Baserow)",
"license": "MIT",
"engines": {
"node": ">=16.14.0 <17"
},
"scripts": {
"build": "nuxt build",
"build-local": "nuxt build --config-file ./config/nuxt.config.local.js",
@ -18,7 +21,7 @@
"dependencies": {
"@fortawesome/fontawesome-free": "^5.15.3",
"@nuxtjs/i18n": "^7.2.0",
"antlr4": "4.8.0",
"antlr4": "4.9.3",
"async-mutex": "^0.3.1",
"axios": "^0.25.0",
"bignumber.js": "^9.0.1",
@ -32,7 +35,7 @@
"moment-timezone": "^0.5.33",
"node-sass": "^6.0.1",
"normalize-scss": "^7.0.1",
"nuxt": "^2.15.7",
"nuxt": "^2.15.8",
"nuxt-env": "^0.1.0",
"papaparse": "^5.3.1",
"resize-observer-polyfill": "^1.5.1",
@ -75,4 +78,4 @@
"stylelint-webpack-plugin": "^3.0.1",
"vue-jest": "^3.0.3"
}
}
}

View file

@ -1354,15 +1354,15 @@
core-js-compat "^3.12.1"
regenerator-runtime "^0.13.7"
"@nuxt/builder@2.15.7":
version "2.15.7"
resolved "https://registry.yarnpkg.com/@nuxt/builder/-/builder-2.15.7.tgz#4703c9d21756128f4ebfbf14e7b099bee7463626"
integrity sha512-vVZvcgvhL05Omp9AuqdDz2zfhBOmCXpVyt1IBUqR99QaorLICGg2iIHC42exj9yN3rBrpURQwb1OrIgt5o5KDQ==
"@nuxt/builder@2.15.8":
version "2.15.8"
resolved "https://registry.yarnpkg.com/@nuxt/builder/-/builder-2.15.8.tgz#66ead4be0a2ce6932a2b7e521cfe1621e49290e7"
integrity sha512-WVhN874LFMdgRiJqpxmeKI+vh5lhCUBVOyR9PhL1m1V/GV3fb+Dqc1BKS6XgayrWAWavPLveCJmQ/FID0puOfQ==
dependencies:
"@nuxt/devalue" "^1.2.5"
"@nuxt/utils" "2.15.7"
"@nuxt/vue-app" "2.15.7"
"@nuxt/webpack" "2.15.7"
"@nuxt/utils" "2.15.8"
"@nuxt/vue-app" "2.15.8"
"@nuxt/webpack" "2.15.8"
chalk "^4.1.1"
chokidar "^3.5.1"
consola "^2.15.3"
@ -1375,13 +1375,13 @@
serialize-javascript "^5.0.1"
upath "^2.0.1"
"@nuxt/cli@2.15.7":
version "2.15.7"
resolved "https://registry.yarnpkg.com/@nuxt/cli/-/cli-2.15.7.tgz#21fb8a969bc5e222aa95289fcccc44f9ff7c5549"
integrity sha512-rbJqmHuN+ZftSpQNzgiaGP2L2pt45kCbWjCmLUF9pPYQ1pysl9GHVb+1LFf1Wn4wczJckH3Jc9Pl9r2KsLAteA==
"@nuxt/cli@2.15.8":
version "2.15.8"
resolved "https://registry.yarnpkg.com/@nuxt/cli/-/cli-2.15.8.tgz#3b946ee08c7b5b3223c8952873c65727e775ec30"
integrity sha512-KcGIILW/dAjBKea1DHsuLCG1sNzhzETShwT23DhXWO304qL8ljf4ndYKzn2RenzauGRGz7MREta80CbJCkLSHw==
dependencies:
"@nuxt/config" "2.15.7"
"@nuxt/utils" "2.15.7"
"@nuxt/config" "2.15.8"
"@nuxt/utils" "2.15.8"
boxen "^5.0.1"
chalk "^4.1.1"
compression "^1.7.4"