Commit Graph

251 Commits

Author SHA1 Message Date
Adria Navarro a5ccb9f0e8 Dry 2024-01-31 17:47:07 +01:00
Adria Navarro 507aa8af93 Simplify and remove magic strings 2024-01-31 17:05:20 +01:00
Adria Navarro f2aeb56671 Lint 2024-01-31 13:30:41 +01:00
Adria Navarro b2e1d8ee71
Merge branch 'master' into isolated-vm 2024-01-31 12:12:14 +01:00
Adria Navarro 623b4f5dab
Merge branch 'master' into isolated-vm 2024-01-31 10:47:08 +01:00
Adria Navarro cd4fccbd6e Allow excluding js helpers 2024-01-31 10:34:49 +01:00
Adria Navarro e5d5dea5e6 Renames 2024-01-31 10:00:41 +01:00
Adria Navarro 43e536e7a6 Test only js helpers 2024-01-30 16:52:25 +01:00
Adria Navarro db14f9afab Inject {} at the end of the helper calls 2024-01-30 09:48:15 +01:00
Adria Navarro a14ff42b14 Fix duration as js 2024-01-30 09:48:15 +01:00
Adria Navarro 5a1d73ff2f Fix avg helper 2024-01-30 09:48:15 +01:00
Adria Navarro 48dfc09f22 Fix types 2024-01-24 18:11:28 +01:00
Adria Navarro 37033dd468 Handle js timeouts 2024-01-24 18:03:09 +01:00
Adria Navarro 73c977d6fb Fix test 2024-01-24 17:40:13 +01:00
Sam Rose cc363f1ba7
Fix server tests. 2024-01-24 16:18:56 +00:00
Adria Navarro 663e6d9bf8
Merge branch 'master' into isolated-vm 2024-01-19 13:11:34 +01:00
Adria Navarro 915482a915 Configure cypto 2024-01-19 10:59:48 +01:00
Adria Navarro 5bc5f71549 Fix uuid 2024-01-18 15:39:39 +01:00
Adria Navarro 262dbc7c2b Inject url 2024-01-18 13:49:47 +01:00
Adria Navarro 60574196b9 Add date functions 2024-01-17 14:50:26 +01:00
Adria Navarro ef08c699d6 Add comparison functions 2024-01-17 14:43:46 +01:00
Adria Navarro 9949b08879 Add regex functions 2024-01-17 14:25:17 +01:00
Adria Navarro a2082e94d3 Add object functions 2024-01-17 13:47:56 +01:00
Adria Navarro b7647797b3 Add string functions 2024-01-17 13:30:58 +01:00
Adria Navarro 51f21456ec Add array functions 2024-01-17 12:53:47 +01:00
Adria Navarro adc98f7cac Add number functions 2024-01-17 12:32:41 +01:00
Adria Navarro 2c9165d1be Create a better bundle (math only) 2024-01-16 17:32:23 +01:00
Adria Navarro 27bb73f77a Compile stringtemplates via esbuild 2024-01-15 11:01:13 +01:00
Adria Navarro 52b97336ee lodash.clonedeep 2024-01-10 14:56:29 +01:00
Sam Rose f61346a0c5
Cache the helpers list for executing JS. 2023-12-19 17:46:15 +00:00
Sam Rose 1c34147357
Add tests for per-request execution timeout. 2023-12-18 17:01:56 +00:00
Sam Rose bd324f3225
Implement per-request JS execution limiting. 2023-12-18 15:29:56 +00:00
mike12345567 f6841308d2 Merge branch 'feature/uuid-helper' of github.com:Budibase/budibase into feature/uuid-helper 2023-12-18 11:46:21 +00:00
mike12345567 c374ac6973 Removing test statement. 2023-12-18 11:45:47 +00:00
Michael Drury dceb623732
Merge branch 'master' into feature/uuid-helper 2023-12-18 11:06:48 +00:00
Sam Rose b963e7081e
Fix test. 2023-12-15 16:50:36 +00:00
Sam Rose 92a230667f
Tell a user if their JS failed due to a timeout. 2023-12-15 16:27:20 +00:00
mike12345567 6173497afa Adding a UUID helper to simplify things, question comes up fairly regularly. 2023-12-13 17:56:16 +00:00
Dean e77a105bb2 General fixes for bindings and the undo/redo behaviour 2023-07-18 16:46:35 +01:00
mike12345567 d667276fa1 Adding a onlyFound option to our handlebars system so that we can enrich only the parts we have and leave other components for further enrichment. 2023-01-27 15:15:07 +00:00
Mel O'Hagan a3ee16a26a Extend date formatting 2022-11-18 09:15:15 +00:00
Andrew Kingston 738c98eb47 Ensure non string types are ignored when searching for HBS blocks 2022-10-21 10:32:32 +01:00
mike12345567 feda4e61c1 Fixing issue with string templates importing vm2 which requires other prebuilts for JS in the CLI - no need for these to add to build size when JS is unused. 2022-09-05 19:04:45 +01:00
mike12345567 b4a8109cf0 Adding the examples and helper add functionality for JS as well as hiding button to convert outside of development environment. 2022-07-29 14:12:04 +01:00
mike12345567 7a6efe3ea8 Some minor fixes for edge cases. 2022-07-29 09:50:53 +01:00
mike12345567 3d13030aa1 Initial attempt at transpiling HBS to JS. 2022-07-28 20:20:53 +01:00
mike12345567 aac6bc48a7 Fix for issue discovered by test case. 2022-05-04 17:36:30 +01:00
mike12345567 159cc9d277 Fixes for #4736 - I believe the issue was that the dynamic variables were not being saved, removing the need for the user to be aware of this, also making it possible to pass the entire data structure from one call to another if desired. 2022-05-04 15:26:19 +01:00
mike12345567 dfb292862f Fixing an issue with JSONparse helper always being considered invalid due to a lack of input. 2022-05-04 12:14:01 +01:00
mike12345567 1b45a9190d Fixes for SQL issues raised by Marty. 2022-03-02 17:40:50 +00:00
Rory Powell 6fca8ca936 Merge branch 'master' into merge-master 2022-02-23 12:14:04 +00:00
mike12345567 581c27d8b7 Fixing issue with escaping on multiple bindings that are the same in queries. 2022-02-17 13:22:36 +00:00
mike12345567 db45086105 Merge branch 'master' of github.com:Budibase/budibase into develop 2022-02-15 16:54:21 +00:00
mike12345567 6cb7c2b770 Fix for safari, removing all usage of regex lookbehinds. 2022-02-15 14:48:32 +00:00
Andrew Kingston 0e59be9375 Merge branch 'frontend-core' of github.com:Budibase/budibase into experimental-hbs-caching 2022-02-09 15:18:44 +00:00
mike12345567 07a285843e Fixing issue with isValid function found by testcase. 2022-02-08 17:22:44 +00:00
mike12345567 a35a8cb81c Addomg a fix for #4370 - allow queries to contain newlines, they will always be escaped. 2022-02-07 17:56:01 +00:00
Andrew Kingston a76508c76e Merge branch 'frontend-core' of github.com:Budibase/budibase into experimental-hbs-caching 2022-02-07 09:50:17 +00:00
mike12345567 82c4c0b731 Fixing merge conflict. 2022-02-03 20:32:20 +00:00
mike12345567 f2a025013e Fix for #4308 - triple brace conversion was not working correctly, wrote this into the string templates instead - also fixing an issue with the RBAC for Rest. 2022-02-03 18:44:34 +00:00
Andrew Kingston 14eca1b461 Merge branch 'frontend-core' of github.com:Budibase/budibase into experimental-hbs-caching 2022-02-01 16:49:59 +00:00
mike12345567 f9c7877e02 Merge branch 'develop' of github.com:Budibase/budibase into feature/formula-filtering 2022-01-31 15:21:15 +00:00
Andrew Kingston 4b7fe15598 Add experimental support for caching the creation of HBS template functions 2022-01-29 18:53:21 +00:00
mike12345567 ab5c7766b4 Bit of refactoring, adding in functionality to remove invalid static formula when the elements that the formula depends on are removed. 2022-01-24 18:22:59 +00:00
mike12345567 deb4a34c18 Adding the ability to filter using the filter drawer for formula fields, getting them based on the enriched contents of a row - adding functionality to denote to each table which other tables depend on them for formula. 2022-01-21 16:24:24 +00:00
Andrew Kingston 358aed6d4f Update {{ now }} HBS helper to floor to the second instead of millisecond 2022-01-20 19:37:01 +00:00
Andrew Kingston 56ef16665e Transform the output of JS expressions to be actual types rather than strings 2022-01-20 19:24:39 +00:00
Andrew Kingston c8121ed0e3 Transform the output of JS expressions to be actual types rather than strings 2022-01-18 13:20:06 +00:00
Andrew Kingston 28557a3f96 Remove the pre-execution validation in string templates to double performance and prevent JS binding issues when mutating context 2021-12-06 17:58:43 +00:00
Andrew Kingston a721619a06 Update literal helper to return an empty string rather than the string 'undefined' when the value is undefined 2021-11-15 12:25:30 +00:00
mike12345567 da38734a62 Fixing bug #3195 with zero/falsy values not being passed out of bindings. 2021-11-02 16:55:16 +00:00
mike12345567 eb411cd0b0 Fixing #2718 - disabling handlebars helpers for queries. 2021-10-26 20:04:36 +01:00
Andrew Kingston b1f174debe Remove optional chaining from string-templates 2021-10-14 13:04:57 +01:00
Andrew Kingston 29d58f08c1 Block certain browser API's when executing JS in the browser 2021-10-14 12:02:34 +01:00
Andrew Kingston 01dfef735f Use vm2 for JS execution in node, and a vm polyfill for the browser. Use 2 standalone entrypoints for string-templates depending on env 2021-10-14 11:51:05 +01:00
Andrew Kingston aa150989bd Prevent executing JS bindings when running in a Node env 2021-10-13 14:37:14 +01:00
Andrew Kingston 4d6d453676 Add one second timeout to execution of JS bindings 2021-10-13 13:44:43 +01:00
Andrew Kingston 4245430561 Fix issue deeply extract falsey values from context while executing JS bindings 2021-10-12 16:13:07 +01:00
Andrew Kingston 39e98800d3 Correctly handle JS nullish values by removing forced fallback value of HBS helper 2021-10-12 15:40:01 +01:00
Andrew Kingston 5691be6fc0 Ensure null or empty values don't cause raw JS to appear when executing JS HBS helper 2021-10-12 15:32:43 +01:00
Andrew Kingston 43d546b2db Fix inserting bindings manually when using JS 2021-10-11 16:18:20 +01:00
Andrew Kingston 67a74ee327 Fix bug determining if a binding is JS or not 2021-10-11 15:51:47 +01:00
Andrew Kingston e96453ce6c Add JS helper to string templates 2021-10-11 14:53:55 +01:00
mike12345567 47acb7e69b Fixes for #2634 - make sure string templates library handles conversion of raw JSON objects to stringified correctly. 2021-09-17 17:18:52 +01:00
mike12345567 5afba2c394 Adding a case for Firefox undefined bindings when checking validity. 2021-08-06 15:32:55 +01:00
Martin McKeaveney bebfe4c6e1 merge with master 2021-07-11 18:07:46 +01:00
Kyle Harrison 2d451bb3a9 apply fixes for common spelling mistakes 2021-07-09 17:54:49 +01:00
mike12345567 5a4398f690 Some work towards supporting many SQL relationships. 2021-06-28 17:42:39 +01:00
Andrew Kingston 91b701a746 Merge pull request #1834 from Budibase/design-panel-v2
Design panel V2 + big performance improvements + misc features
2021-06-28 11:11:00 +01:00
Andrew Kingston 50f8931fbe Lint 2021-06-25 17:27:06 +01:00
Andrew Kingston 6d9a1b8382 Remove lodash functions and recursive context mutation in string templates to increase performance 2021-06-25 15:04:54 +01:00
mike12345567 a7ce3ada3f Fixing issues discovered with hbs escaping. 2021-06-24 11:37:26 +01:00
Andrew Kingston 18a78c979d Merge pull request #1678 from Budibase/form-fixes
Form fixes
2021-06-09 14:42:59 +01:00
Andrew Kingston 4d8e878f6f Allow string templates to handle null objects without failing 2021-06-09 14:17:11 +01:00
mike12345567 b741194b7d Updating date helper to allow timezone capabilites. 2021-06-09 11:44:24 +01:00
mike12345567 e20b115b4d Fixing broken backend test cases. 2021-06-07 14:08:49 +01:00
Andrew Kingston b375c525be Merge branch 'master' of github.com:Budibase/budibase into lab-day-plausible 2021-06-01 15:16:09 +01:00
Andrew Kingston a22fd8a0a1 Improve client performance and add action to control data provider queries 2021-06-01 14:59:42 +01:00
mike12345567 3d01ac17e9 Updating date helper to use UTC. 2021-05-27 15:21:00 +01:00
mike12345567 de91822ce7 Adding test case for issue found by Andrew with formulas, HBS in deep context objects was being evaluated which is not valid and breaks things. 2021-05-27 11:45:17 +01:00
Andrew Kingston b402254b2c Lint 2021-05-14 15:41:58 +01:00
Andrew Kingston 023f5c5813 Merge branch 'lab-day-search' of github.com:Budibase/budibase into lab-day-search 2021-05-11 16:08:41 +01:00
mike12345567 5181ca710f Fixing an issue with date objects not being managed by handlebars correctly. 2021-05-11 16:07:55 +01:00
Andrew Kingston 797e8a8b67 Add explicit prettier options 2021-05-04 11:32:22 +01:00
Keviin Åberg Kultalahti 0afbf1649e lint:fix 2021-05-03 09:31:09 +02:00
Andrew Kingston 44ad38fdf8 Add BBUI to monorepo and use vite for builder, client lib and standard components 2021-03-31 16:14:56 +01:00
Andrew Kingston 5276cd7117 Fix edge case bug where the literal handlebars helper would not work with objects including a dash character 2021-03-16 18:16:56 +00:00
mike12345567 5a7c0c1cc1 Fixing issue that was breaking linting. 2021-02-04 10:41:25 +00:00
mike12345567 1a9d6bcb60 Linting and updating helper manifest. 2021-02-04 10:25:04 +00:00
mike12345567 821fb20e8b Quick addition of a duration helper which can be used to create relative humanized date strings. 2021-02-04 10:17:10 +00:00
mike12345567 f4c7d3acd7 linting. 2021-02-03 13:56:01 +00:00
mike12345567 537c5a02ca Removing the use of helper-date which was causing some problems, instead took what we needed of it out of the package and updated to use dayjs instead of moment. 2021-02-03 13:55:33 +00:00
mike12345567 febad5ad9d Adding some more changes to make it more obvious when a binding hasn't worked. 2021-02-03 13:04:19 +00:00
mike12345567 9aaf6b4883 Some more fixes, getting a balance of validity checking, not letting package output anything non-sensical. 2021-02-03 12:38:06 +00:00
mike12345567 4f2fd656c5 Fixing an issue with the new validity checking being too lenient. 2021-02-03 12:10:39 +00:00
mike12345567 32b0816ecb Quick fix for string-templates, was being a bit too fuzzy in its lookup of possible helper names. 2021-02-03 11:41:33 +00:00
Michael Drury cb4f7ade75 Linting. 2021-02-02 20:29:10 +00:00
Michael Drury 7e4e0db30f Widening the allowance criteria for handlebars validity, check for any errors which suggest a simple type error from the context and allowing these through. 2021-02-02 20:28:27 +00:00
mike12345567 5f40ea49d8 Adding object and regex helpers as well as a complex test case for forIn. 2021-02-02 14:22:10 +00:00
mike12345567 9a94b61a72 Merge branch 'feature/handlebars-helpers' of github.com:Budibase/budibase into feature/handlebars-helpers 2021-02-01 11:00:41 +00:00
mike12345567 26b716c407 Updating to use budibase helpers. 2021-01-31 11:46:45 +00:00
Michael Drury a1f09b0a1a Some rollup fixes - the handlebars-helper library needs dynamic requires removed from it, likely best to fork it and do this. 2021-01-30 02:54:52 +00:00
Michael Drury d3603a7b75 Some fixes, still dealing with problems of illegal re-assignment in rollup. 2021-01-30 00:20:13 +00:00
Michael Drury af0ef3fc61 Quick fix for number systems in string templates. 2021-01-29 22:56:01 +00:00
mike12345567 41fbc39618 Work in progress, fixing issue with some helpers not getting translated, now running into rollup issue. 2021-01-29 20:03:09 +00:00
mike12345567 d5b8ffe086 Adding a getManifest function to string templates. 2021-01-29 14:36:16 +00:00
mike12345567 182353d555 Linting. 2021-01-26 12:43:26 +00:00
mike12345567 673ae8d031 Adding a literal helper which can make sure the output of an operation is a literal value. 2021-01-25 18:14:45 +00:00
mike12345567 766200e59e Linting. 2021-01-25 17:08:38 +00:00
mike12345567 a254567bec Updating string templates to have test cases for all the main helpers we want to make use of and adding a readme. 2021-01-25 17:08:21 +00:00
mike12345567 1d38dda79b Linting. 2021-01-22 17:58:01 +00:00
mike12345567 d3d840e42a Adding error checking to our handlebars syntax inputs as well as making all handlebars helpers available due to space pre-processor being removed. 2021-01-22 17:57:38 +00:00
mike12345567 094c0335e9 Quick fix for an issue found while checking string templates. 2021-01-22 13:56:29 +00:00
mike12345567 90dce862f1 Fixing some issues CI linting found. 2021-01-21 18:08:04 +00:00
mike12345567 decc1aba5e Linting. 2021-01-21 17:56:22 +00:00
mike12345567 5076c2f064 Changing up how processors work to make it a bit easier to add to them. 2021-01-21 17:56:00 +00:00
mike12345567 1a87b2caaf Linting. 2021-01-21 17:30:51 +00:00
mike12345567 3481fe8cd2 Getting ready to merge with some basic functionality but updates required to client/builder/automations to remove the need for space in hbs statement handling. 2021-01-21 15:50:46 +00:00
mike12345567 ed89d39904 Merge branch 'feature/handlebars-migration' of github.com:Budibase/budibase into feature/handlebars-migration 2021-01-21 13:49:05 +00:00
mike12345567 38144f84a3 Handling undefined/null values in context object for string templates, replacing with empty string. 2021-01-21 13:48:23 +00:00
Andrew Kingston ecbe24662a Fix crashing when a nullish value exists in an object being recursed for enrichment 2021-01-21 13:46:45 +00:00
mike12345567 4deccae711 More fixes for issues found by cheeks, as well as adding a test case for rendering app. 2021-01-21 12:08:57 +00:00
mike12345567 1dd0eb1327 Re-writing pre-processor to be a bit clearer. 2021-01-21 11:37:16 +00:00
mike12345567 239079d973 Linting. 2021-01-21 11:32:26 +00:00
mike12345567 4a30af4082 Fixing issue found by cheeks with all helper trying to wrap helpers even if no other helpers present. 2021-01-21 11:30:53 +00:00
mike12345567 da457cd0c4 Adding cleaners which will process and find spaces removing them and fixing them with literal specifiers for handlebars props. Also changing the way cleaners work for the system to make it easier to add them. 2021-01-20 18:12:16 +00:00
mike12345567 ce5ab5482b Updating the string templating system to be capable of async operations. 2021-01-20 13:32:15 +00:00
mike12345567 d7a3e6210d Moving everything over to use the string template library, now just need to escape spaces properly and handle HTML escaping. 2021-01-19 18:44:29 +00:00
mike12345567 5a7c0de397 Adding jest test cases to string templating library. 2021-01-19 17:29:38 +00:00
mike12345567 329b76590c Updating to have real auto-completion on string templates library. 2021-01-19 15:29:49 +00:00