All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
2.1.0 - 2023-01-31
- Added syntax rule for
None
literal
- Profile header rule now strictly requires full semver version in version field, as the spec defines
- Condition to add SingleLineCommentTrivia to termina tokens in sublexer
2.0.0 - 2022-11-08
- Script sublexer, script compiler and syntax rules now produce debug logs for debugging
- Compatibility check of AST metadata into validators
safety
field toUseCaseStructure
- Added
expression
togetPath
getAccessKey
returns error for dynamic expressions- Added
isAccessKeyError
andisAccessKey
- BREAKING CHANGE: property
fields
inObjectStructure
is no longer optional - Renamed
getVariableName
togetAccessKey
- Script sublexer infinite loop on some invalid scripts (nesting ignoring EOF token)
- Validator now properly handles list property access
1.2.0 - 2022-04-13
EnumStructure
added name field
- Internal refactor of script compilation
- Validator issue locations
1.1.0 - 2022-01-19
- Http call can now select service id, e.g.
http VERB "id" "url" {
ExampleValidator
class to validate examples defined in profile usecasevalidateExamples
function similar tovalidateMap
for usingExampleValidator
EnumValueNode
now has aname
field
ErrorContext
fieldpath
to object containing location span and node kind- Formatting of validation issues into more intuitive way
- Validation issues
inputNotFound
,resultNotFound
anderrorNotFound
merged intouseCaseSlotNotFound
- Validation issues
resultNotDefined
anderrorNotDefined
merged intooutcomeNotDefined
- Handling variables that are written with dot notation, e.g.
output.is.nested = true
- Remove unnecessary linting of input in HTTP Request node
- Validate arguments in inline call only against input
- Unwrap non null structure in validation of nested properties
- Remove limited validation of binary expressions and let other constructs handle them
- Propagation of validation issues on top of issues from jessie expression nodes
SyntaxRuleNever
causing a wrong error message
1.0.0 - 2021-11-04
ProfileVersion
class representing version of profile in ProfileIdProfileId
class representing complete id of profileMapVersion
class representing version of map in MapIdMapId
class representing complete id of map
- BREAKING CHANGE:
ProfileDocumentId
renamed toProfileIdRange
- BREAKING CHANGE:
DocumentVersion
renamed toVersionRange
- BREAKING CHANGE:
parseVersionNumber
renamed totryParseVersionNumber
- BREAKING CHANGE: removed
isValidDocumentIdentifier
started usingisValidDocumentName
from AST - BREAKING CHANGE: removed
splitLimit
strated usingsplitLimit
from AST
0.0.23 - 2021-10-18
- Profile example parsing
- Comlink literals
- Updated to AST
0.0.34
(has BREAKING CHANGES)
0.0.22 - 2021-09-22
- Updated ast dependecy to
0.0.29
0.0.21 - 2021-08-25
- Extracted
formatIssueContext
function
- Fixed referencing variables in jessie expressions
0.0.20 - 2021-08-03
0.0.19 - 2021-07-14
0.0.18 - 2021-06-08
- Added an explicit hint to ShorthandPropertyAssignment Jessie construct error
- Changed how MatchAttemts merge works to preserve expected behavior
- Fixed Jessie errors (and other lexer errors) not reporting correct location
0.0.17 - 2021-05-04
- Added support for returning multiple errors from Lexer parsing
- Changed internal handling of persing errors and result types
- Better generics for Lexer interface
- Fixed template string RHS parsing
- Fixed jessie transpilation when polyfill is generated
0.0.16 - 2021-04-26
- Automatic feature parsing from environment variables
- Renamed
checkKeywordLiteral
totryKeywordLiteral
- Removed unused
countStartingWithNewlines
- Fixed error produced by
countStartingNumbersRadix
to use string template
0.0.15 - 2021-03-23
- VERSION constant export
multiple_security_requirements
parser feature
- Map security requirements syntax
0.0.14 - 2021-02-04
call foreach
map rule
- Map validator uses
MapAstVisitor
from ast package - Profile io validator uses
ProfileAstVisitor
from ast package - Map security requirements syntax
- Updated ast dependency to
v0.0.22
- Allow enum inside list in Profile IO Analyzer
- Map validator version error reporting with new version nodes
0.0.11 - 2021-01-19
- Public
parseDocumentId
for partial parsing
- Interfaces for map and profile id
- Improved document id version parsing
- Rename
isLowercaseIdentifier
toisValidDocumentIdentifier
- Document id
parseProfileId
not returning version label
0.0.11 - 2021-01-19
- Profile IO Analyzer that generates profile structure
- Map Validator for validating profile input/output components
- Interface for using Profile IO Analyzer and Map Validator
- Interface for composing error and warning messages
- Profile structure interfaces
- Profile structure utils
- ValidationIssue interface
0.0.10 - 2021-01-11
- Exported
parseVersion
,parseProfileId
andparseMapId
publicly - Changed ast dependency to
v0.0.20
- Fixed
ID_NAME_RE
to not accept leading_
or-
0.0.9 - 2021-01-09
- Fixed the weird behavior of
String.prototype.split(string, number)
by implementing a customsplitLimit
function.
0.0.8 - 2021-01-09
- Fixed semver parsing allowing invalid version strings like
1.x1
0.0.7 - 2021-01-09
- Document id and version parsing implementation
- Profile
version
header field - Map
variant
header field
- Refactored
computeEndLocation
to be externally reusable - Profile
profile = <string>
syntax toname = '[<scope>/]<name>
- Map
profile = <string>
syntax toprofile = [<scope>/]<name>@<version>
- Moved test files from
examples
folder tofixtures
folder
- Some typos in comments and descriptions
0.0.6 - 2020-11-30
- Package renamed from
superface-parser
toparser
0.0.5 - 2020-11-25
none
security scheme for http call- Inline call support in maps
SyntaxError
categoryLexerContext
to communicate context from parser to the lexerLexerTokenStream
with native save and rollback- Lexer unknown token
- Jessie expression lexer context terminator characters
- Newline lexer token and parser rules
- Parser features (
nested_object_literals
andshorthand_http_request_slots
) - Map parser rules
PeekUnknown
andAndThen
syntax rules- Simple build option that skips parcel because of bugs with the produced artifacts
- Scope renamed from
@superindustries
to@superfaceai
- Updated dependency versions
- Updated typescript to version 4+ and using new features
- Line comment token from
#
to//
+
and-
operators
- Jessie expression lexer context handling string templates
- Lexer parsing numbers with
+
and-
prefixes
0.0.3 - 2020-08-26
- Dependency on superface sdk
- Parcel build system
- Documentation extraction from doc strings
- Usecase result parsing as optional