* Upgrade Electron from 9.3.5 to 11.2.3.
* bump version
* update preid to alpha
* version packages lib@2.3.1-alpha.0
* Downgrade electron-builder to 22.11.3.
We tried to upgrade electron-builder to 22.11.7, but this fails
because electron-builder 22.11.4 introduces imports into fs/promises.
This module is only available in Node 14+, so we have to stick to
22.11.3 until we update to Electron 12.
* Revert npm script changes from alpha release.
Co-authored-by: Opender Singh <opender.singh@konghq.com>
* removes (unused and unwanted) husky scripts
might as well, it's only taking up space for nothing in our node_modules
* adds `lerna run clean` to main clean script
we didn't have `clean` scripts in the packages before, but now that we do, it makes sense to.... hahah... _use them_.
Note that it's important that we run the package scripts first, because otherwise after the rimraf (which is now at the end) there's no `lerna` left to call.
* adds missing clean script to insomnia-components
although it looks like there are other changes at first glance, there shouldn't be any behavioral differences now except the fact that build will always generate SVGs (which, was an oversight/bug that it wasn't before). We need this to occur so that when we clean it removes the things that were built, and when we build it replaces those same things.
* adds a postclean script to insomnia-app like every other package
I'll be honest, I'm not entirely sure what the reason is for having `postclean` scripts in every package with (mostly) `rimraf dist` (i.e. instead of just including that in the main clean script at the end), but that's clearly the convention - so for now I'm just following it
* removes references to old build artifact location
well, except for the .gitignore. I guess I could remove it from the .gitignore, commit it, commit deleting it, which would clear it from everyone's projects... but I'll just leave it there for a bit in the .gitignore. hopefully people either start fresh or run `clean` from the root every once in a while, which will clean this up.
After a few weeks or months we can remove these two references (in the package.json.clean and .gitignore) altogether if we feel like it.
* removes unused reference in config to build artifact
I searched high and low for every place I could find that consumes this file and none of them seem to use this field anyway. And even if they did, it's wrong. In fact, it's been wrong for a while I'd guess because (relative to the root, if that's what it was intended to mean).
As far as I can tell this was added c6a7c4d682 (diff-6918d2464ad7fb0f3e985d8587ce0c4218eeba6c6dea60c58642251f4db99ecb)
So I even checked out that commit and looked at all usages of that file at that time and it was, there too, unused (so far as I can tell). Appears to be a case of wishful thinking that it'd be useful for something, not sure.
* use jest-preset for all but app
* separate properties that are the same as the preset
for some reason, it doesn't work. you get:
```
Preset ../../jest-preset.js not found.
```
This needs to be investigated.
* removes unused/unneeded npm script in `app`, `test:jest`
* fix(import) do differential patching for design activity imports
This patch adds differential patching for imports that occur during the switching between
design and debug tabs inside of Designer. As reported through #2971, and others, this patch
favors existing data over imported data, values that exist already on the document will remain
unchanged, only new values (including array based values) will be added / removed.
This also includes a bypass feature for urls, currently these options are not exposed through
the interface but could be. This feature is an object to allow for future properties for
preference-based patching.
- Adds `options.enableDiffBasedPatching` and `options.enableDiffDeep` to `importRaw` for backwards compat.
- Adds `options.bypassDiffProps.url` for url bypassing and use an object for future items.
- Adds `diffPatchObj` based on differential patching for objects (works with arrays as well).
Future ideas:
- `hasBeenModifiedByUser` property map object to allow changing properties that haven't been touched by the user with options.
fixes: #2971, #2882, #3038, #2442
* adds some basic tests
- also adds jest (which was (mistakenly) not there before)
- does not call `.hasOwnProperty` directly, per https://eslint.org/docs/rules/no-prototype-builtins (which, we will add more formally at a later date)
* don't special-case workspaces
this ensures the behavior of the initial PR is more preserved
Co-authored-by: Dimitri Mitropoulos <dimitrimitropoulos@gmail.com>