Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
63 commits
Select commit Hold shift + click to select a range
77eab0a
Hello QT
jfhbrook Nov 16, 2025
0e97994
clang-format
jfhbrook Nov 16, 2025
e50d83f
Use QT core
jfhbrook Nov 16, 2025
599e374
Rust module for dist bundle
jfhbrook Nov 16, 2025
2ffefb5
Fix dist/bundle situation
jfhbrook Nov 16, 2025
c761caa
That will not work
jfhbrook Nov 16, 2025
45b151a
Embed dist in c++ program
jfhbrook Nov 16, 2025
9f1964d
use make to build matbas
jfhbrook Nov 16, 2025
88d6ea8
Go hog wild with Makefile
jfhbrook Nov 16, 2025
477dd7f
Release build
jfhbrook Nov 16, 2025
790e3eb
Build config.h
jfhbrook Nov 16, 2025
2abb28e
We are evaluating dist!!
jfhbrook Nov 16, 2025
d4d7988
Slightly improved error logging
jfhbrook Nov 16, 2025
7b4fe19
QJSEngine hello world works
jfhbrook Nov 16, 2025
98c79b9
QJSEngine will not import from source
jfhbrook Nov 16, 2025
1ae89d5
Import as module using q resource file
jfhbrook Nov 16, 2025
e3a1ee6
QJSEngine does NOT like swc bundled dependencies!
jfhbrook Nov 16, 2025
65e25e0
Know what modules to rip out now
jfhbrook Nov 16, 2025
09264ca
Vendor text-table
jfhbrook Nov 16, 2025
2bdce4f
Vendor strftime
jfhbrook Nov 16, 2025
06c8f5b
Rip out opentelemetry for now
jfhbrook Nov 17, 2025
8bceabd
Rip out nestjs
jfhbrook Nov 17, 2025
438fd74
Disable process/job stuff
jfhbrook Nov 17, 2025
d580d48
Header not needed
jfhbrook Nov 17, 2025
770b6e7
Finish refactoring container
jfhbrook Nov 17, 2025
3542727
Path vendored and ported to TypeScript
jfhbrook Nov 17, 2025
5dd761d
Rip out assert
jfhbrook Nov 17, 2025
99814c3
New @matanuska/internal library
jfhbrook Nov 17, 2025
e0177d4
Can use typescript for internals
jfhbrook Nov 17, 2025
2bd63f7
Separate Host and ConsoleHost
jfhbrook Nov 17, 2025
2105ca8
Lift stuff out of src
jfhbrook Nov 17, 2025
ee0603a
Notes on module structure
jfhbrook Nov 17, 2025
db059c0
Path is own package, injects host
jfhbrook Nov 18, 2025
3c70f79
Rename pathModule to pathTool
jfhbrook Nov 18, 2025
b7c6c75
Hacked up @matanuska/host
jfhbrook Nov 18, 2025
f7b4ca0
Partial refactor of host interface
jfhbrook Nov 18, 2025
09d3c20
Fix mock console host (tests still failing)
jfhbrook Nov 19, 2025
2cf5efc
Slightly fewer test failures
jfhbrook Nov 19, 2025
a95ceca
Host is now a proper object - more tests pass
jfhbrook Nov 19, 2025
1831a03
Tests pass! Holy moley!
jfhbrook Nov 19, 2025
a663ffd
Revert async mock console host refactor
jfhbrook Nov 19, 2025
d8dcb70
General cleanup
jfhbrook Nov 19, 2025
2949817
Target valid es version for QJSEngine
jfhbrook Nov 19, 2025
a5f9712
Derf
jfhbrook Nov 20, 2025
0674f48
readline module
jfhbrook Nov 20, 2025
f28b31a
Integrated readline
jfhbrook Nov 20, 2025
9487848
Tests do not depend on @matanuska/path
jfhbrook Nov 20, 2025
3aea7ec
Move path to host
jfhbrook Nov 20, 2025
b1e1332
Move relativePath and resolvePath onto host.path
jfhbrook Nov 20, 2025
cd38dba
Move host test helpers to host module
jfhbrook Nov 20, 2025
183a18d
Rename eval to evaluate
jfhbrook Nov 21, 2025
35ed2c4
Do not print "ExitError"
jfhbrook Nov 21, 2025
7f02ac3
New CI workflows
jfhbrook Nov 21, 2025
ba23a6f
QJSEngine can not handle circular references
jfhbrook Nov 21, 2025
da2664b
Debug module
jfhbrook Nov 21, 2025
3ad8cd8
Overhauled Makefile
jfhbrook Nov 21, 2025
5a92d99
just start-qt
jfhbrook Nov 21, 2025
1b6c483
vite erroneously rolling up external packages
jfhbrook Nov 21, 2025
0d2d7c6
Update TODOs
jfhbrook Nov 21, 2025
006d26e
Note on tests
jfhbrook Nov 21, 2025
08a65c9
Finalize ADR
jfhbrook Nov 21, 2025
2701d55
fix host lint
jfhbrook Nov 22, 2025
763cd51
Self-review
jfhbrook Nov 22, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
234 changes: 234 additions & 0 deletions .clang-format
Original file line number Diff line number Diff line change
@@ -0,0 +1,234 @@
---
Language: Cpp
# BasedOnStyle: LLVM
AccessModifierOffset: -2
AlignAfterOpenBracket: Align
AlignArrayOfStructures: None
AlignConsecutiveAssignments:
Enabled: false
AcrossEmptyLines: false
AcrossComments: false
AlignCompound: false
PadOperators: true
AlignConsecutiveBitFields:
Enabled: false
AcrossEmptyLines: false
AcrossComments: false
AlignCompound: false
PadOperators: false
AlignConsecutiveDeclarations:
Enabled: false
AcrossEmptyLines: false
AcrossComments: false
AlignCompound: false
PadOperators: false
AlignConsecutiveMacros:
Enabled: false
AcrossEmptyLines: false
AcrossComments: false
AlignCompound: false
PadOperators: false
AlignConsecutiveShortCaseStatements:
Enabled: false
AcrossEmptyLines: false
AcrossComments: false
AlignCaseColons: false
AlignEscapedNewlines: Right
AlignOperands: Align
AlignTrailingComments:
Kind: Always
OverEmptyLines: 0
AllowAllArgumentsOnNextLine: true
AllowAllParametersOfDeclarationOnNextLine: true
AllowShortBlocksOnASingleLine: Never
AllowShortCaseLabelsOnASingleLine: false
AllowShortEnumsOnASingleLine: true
AllowShortFunctionsOnASingleLine: All
AllowShortIfStatementsOnASingleLine: Never
AllowShortLambdasOnASingleLine: All
AllowShortLoopsOnASingleLine: false
AlwaysBreakAfterDefinitionReturnType: None
AlwaysBreakAfterReturnType: None
AlwaysBreakBeforeMultilineStrings: false
AlwaysBreakTemplateDeclarations: MultiLine
AttributeMacros:
- __capability
BinPackArguments: true
BinPackParameters: true
BitFieldColonSpacing: Both
BraceWrapping:
AfterCaseLabel: false
AfterClass: false
AfterControlStatement: Never
AfterEnum: false
AfterExternBlock: false
AfterFunction: false
AfterNamespace: false
AfterObjCDeclaration: false
AfterStruct: false
AfterUnion: false
BeforeCatch: false
BeforeElse: false
BeforeLambdaBody: false
BeforeWhile: false
IndentBraces: false
SplitEmptyFunction: true
SplitEmptyRecord: true
SplitEmptyNamespace: true
BreakAfterAttributes: Never
BreakAfterJavaFieldAnnotations: false
BreakArrays: true
BreakBeforeBinaryOperators: None
BreakBeforeConceptDeclarations: Always
BreakBeforeBraces: Attach
BreakBeforeInlineASMColon: OnlyMultiline
BreakBeforeTernaryOperators: true
BreakConstructorInitializers: BeforeColon
BreakInheritanceList: BeforeColon
BreakStringLiterals: true
ColumnLimit: 80
CommentPragmas: '^ IWYU pragma:'
CompactNamespaces: false
ConstructorInitializerIndentWidth: 4
ContinuationIndentWidth: 4
Cpp11BracedListStyle: true
DerivePointerAlignment: false
DisableFormat: false
EmptyLineAfterAccessModifier: Never
EmptyLineBeforeAccessModifier: LogicalBlock
ExperimentalAutoDetectBinPacking: false
FixNamespaceComments: true
ForEachMacros:
- foreach
- Q_FOREACH
- BOOST_FOREACH
IfMacros:
- KJ_IF_MAYBE
IncludeBlocks: Preserve
IncludeCategories:
- Regex: '^"(llvm|llvm-c|clang|clang-c)/'
Priority: 2
SortPriority: 0
CaseSensitive: false
- Regex: '^(<|"(gtest|gmock|isl|json)/)'
Priority: 3
SortPriority: 0
CaseSensitive: false
- Regex: '.*'
Priority: 1
SortPriority: 0
CaseSensitive: false
IncludeIsMainRegex: '(Test)?$'
IncludeIsMainSourceRegex: ''
IndentAccessModifiers: false
IndentCaseBlocks: false
IndentCaseLabels: false
IndentExternBlock: AfterExternBlock
IndentGotoLabels: true
IndentPPDirectives: None
IndentRequiresClause: true
IndentWidth: 2
IndentWrappedFunctionNames: false
InsertBraces: false
InsertNewlineAtEOF: false
InsertTrailingCommas: None
IntegerLiteralSeparator:
Binary: 0
BinaryMinDigits: 0
Decimal: 0
DecimalMinDigits: 0
Hex: 0
HexMinDigits: 0
JavaScriptQuotes: Leave
JavaScriptWrapImports: true
KeepEmptyLinesAtTheStartOfBlocks: true
KeepEmptyLinesAtEOF: false
LambdaBodyIndentation: Signature
LineEnding: DeriveLF
MacroBlockBegin: ''
MacroBlockEnd: ''
MaxEmptyLinesToKeep: 1
NamespaceIndentation: None
ObjCBinPackProtocolList: Auto
ObjCBlockIndentWidth: 2
ObjCBreakBeforeNestedBlockParam: true
ObjCSpaceAfterProperty: false
ObjCSpaceBeforeProtocolList: true
PackConstructorInitializers: BinPack
PenaltyBreakAssignment: 2
PenaltyBreakBeforeFirstCallParameter: 19
PenaltyBreakComment: 300
PenaltyBreakFirstLessLess: 120
PenaltyBreakOpenParenthesis: 0
PenaltyBreakString: 1000
PenaltyBreakTemplateDeclaration: 10
PenaltyExcessCharacter: 1000000
PenaltyIndentedWhitespace: 0
PenaltyReturnTypeOnItsOwnLine: 60
PointerAlignment: Right
PPIndentWidth: -1
QualifierAlignment: Leave
ReferenceAlignment: Pointer
ReflowComments: true
RemoveBracesLLVM: false
RemoveParentheses: Leave
RemoveSemicolon: false
RequiresClausePosition: OwnLine
RequiresExpressionIndentation: OuterScope
SeparateDefinitionBlocks: Leave
ShortNamespaceLines: 1
SortIncludes: CaseSensitive
SortJavaStaticImport: Before
SortUsingDeclarations: LexicographicNumeric
SpaceAfterCStyleCast: false
SpaceAfterLogicalNot: false
SpaceAfterTemplateKeyword: true
SpaceAroundPointerQualifiers: Default
SpaceBeforeAssignmentOperators: true
SpaceBeforeCaseColon: false
SpaceBeforeCpp11BracedList: false
SpaceBeforeCtorInitializerColon: true
SpaceBeforeInheritanceColon: true
SpaceBeforeJsonColon: false
SpaceBeforeParens: ControlStatements
SpaceBeforeParensOptions:
AfterControlStatements: true
AfterForeachMacros: true
AfterFunctionDefinitionName: false
AfterFunctionDeclarationName: false
AfterIfMacros: true
AfterOverloadedOperator: false
AfterRequiresInClause: false
AfterRequiresInExpression: false
BeforeNonEmptyParentheses: false
SpaceBeforeRangeBasedForLoopColon: true
SpaceBeforeSquareBrackets: false
SpaceInEmptyBlock: false
SpacesBeforeTrailingComments: 1
SpacesInAngles: Never
SpacesInContainerLiterals: true
SpacesInLineCommentPrefix:
Minimum: 1
Maximum: -1
SpacesInParens: Never
SpacesInParensOptions:
InCStyleCasts: false
InConditionalStatements: false
InEmptyParentheses: false
Other: false
SpacesInSquareBrackets: false
Standard: Latest
StatementAttributeLikeMacros:
- Q_EMIT
StatementMacros:
- Q_UNUSED
- QT_REQUIRE_VERSION
TabWidth: 8
UseTab: Never
VerilogBreakBetweenInstancePorts: true
WhitespaceSensitiveMacros:
- BOOST_PP_STRINGIZE
- CF_SWIFT_NAME
- NS_SWIFT_NAME
- PP_STRINGIZE
- STRINGIZE
37 changes: 37 additions & 0 deletions .github/workflows/host.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
name: host
on:
pull_request:
paths:
- 'packages/host/**.ts'
- 'packages/host/**.json'
- '.github/workflows/host.yml'
push:
branches:
- main
paths:
- 'packages/host/**.ts'
- 'packages/host/**.json'
- '.github/workflows/host.yml'
jobs:
host:
name: host
runs-on: ubuntu-latest
strategy:
matrix:
node-version: ['lts/Iron', 'latest']
steps:
- uses: actions/checkout@v2
- name: Set up Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
- name: Set up Terraform
uses: ./.github/actions/setup-terraform
- name: Install
run: npm install
- name: Build
run: npm run build -w packages/host
# - name: Test
# run: vitest --run
- name: Lint
run: cd ./packages/host && npm run lint
37 changes: 37 additions & 0 deletions .github/workflows/readline.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
name: readline
on:
pull_request:
paths:
- 'packages/readline/**.ts'
- 'packages/readline/**.json'
- '.github/workflows/readline.yml'
push:
branches:
- main
paths:
- 'packages/readline/**.ts'
- 'packages/readline/**.json'
- '.github/workflows/readline.yml'
jobs:
readline:
name: readline
runs-on: ubuntu-latest
strategy:
matrix:
node-version: ['lts/Iron', 'latest']
steps:
- uses: actions/checkout@v2
- name: Set up Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
- name: Set up Terraform
uses: ./.github/actions/setup-terraform
- name: Install
run: npm install
- name: Build
run: npm run build -w packages/readline
# - name: Test
# run: vitest --run
- name: Lint
run: cd ./packages/readline && npm run lint
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,12 @@
constants.ts
debug.ts
/dist
/bundle/target
/node_modules
/bin/matbas
/bin/matbasjs
/src/dist.h
.make.*.env

# Logs
logs
Expand Down
8 changes: 4 additions & 4 deletions .husky/pre-commit
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#!/usr/bin/env bash

npm run check
npm test
npm run lint:staged
npm run report
just check
just test
just lint-staged
just report
Loading