Upgrade 0.37 to 0.38
Change startupjs and all @startupjs/* dependencies in your package.json to ^0.38.
BREAKING CHANGES
startupjs/ui additional dependencies
-
Install the following dependencies into your project:
startupjs/ui/Radio
- rename
dataproperty tooptions
startupjs/ui/NumberInput
- rename
buttonsproperty tobuttonsMode
startupjs/ui/DateTimePicker
Add new cross-platform component. Steps to migrate:
- remove
initReactDatepicker()fromserver/index.js - remove
@react-native-community/datetimepickerfrom yourpackage.json - rename
onDateChangetoonChangeDate - rename
minuteIntervaltotimeInterval - rename
formattodateFormat - remove
cancelButtonTextandconfirmButtonText - to render custom input component pass
renderInputproperty
startupjs/ui/Popover
The current API is deprecated, the difference with the new API:
hasArrowproperty is renamed toarrowhasWidthCaptionproperty is renamed tomatchAnchorWidthstyleproperty is renamed toattachmentStylecaptionStyleproperty is renamed tostyle- the properties
hasDefaultWrapper,hasOverlay,animationTypeare removed - the component is now uncontrolled and you don't need to pas
visibleandonDismissproperties - no need to use
Popover.Caption, just pass trigger as popover children - to render content use
renderContentproperty instead of passing it as children of the popover - there are no default paddings for content now (IMPORTANT: paddings were returned in version 40)
startupjs/ui/Tooltip
- component is deprecated, instead use the
renderTooltipof theDivcomponent to render the tooltip
startupjs/ui/Collapse
- the shadow of the component was removed
startupjs/ui/forms/*
-
All low-level inputs (
TextInput,Select, etc.) are now pure and don't supportlabel,description,layout. Using low-level inputs is now discouraged. UseInputeverywhere which has support forlabel,description,layoutand the 2-way bindings:ArrayInput->Input(type='array')Checkbox->Input(type='checkbox')ColorPicker->Input(type='color')DateTimePicker->Input(type='date')orInput(type='time')orInput(type='datetime')Multiselect->Input(type='multiselect')NumberInput->Input(type='number')ObjectInput->Input(type='object')PasswordInput->Input(type='password')Radio->Input(type='radio')Select->Input(type='select')TextInput->Input(type='text')
startupjs/server, startupjs/backend
-
deny access to db by default. This is controlled with the flag
secure(which istrueby default) in the options of your startupjs server inserver/index.js:startupjsServer(options, ee => {}).Specifying
secure: trueis the same as enabling all security options:If you currently only have some of this security options enabled, you can specify
secure: falseand explicitely set only the options you want. BUT it's strongly encouraged to keepsecure: trueand implement all 3 security options when migrating to0.38by following the according guides: