Commit Graph

17 Commits

Author SHA1 Message Date
jjspace d2d522004f
Merge remote-tracking branch 'origin/main' into sandcastle-v2 2025-05-12 14:27:09 -04:00
jjspace ce5d64ac7f
remove extra references to concierge 2025-05-08 12:23:33 -04:00
jjspace 414fc154ac
Merge remote-tracking branch 'origin/main' into sandcastle-reborn 2025-05-02 12:08:29 -04:00
jjspace 8427f4bec2
run prettier on scripts 2025-04-25 14:17:23 -04:00
jjspace 793ba8897a
elevate eslint config, run prettier 2025-04-17 16:07:03 -04:00
jjspace 21acce197f
update prettier version and config 2024-09-20 11:23:55 -04:00
Gabby Getz 35222997db Refactor workers to be ESM, remove RequireJS 2023-07-06 11:44:40 -04:00
Sanjeet Suhag aaf6bd8a5c Adds engine and widgets workspaces 2022-11-01 15:39:57 -04:00
Jeshurun Hembd 1b79b3fbab Add prism files to .prettierignore 2022-06-16 15:55:52 -04:00
Gabby Getz 348f3d6ecc prettierignore 2022-04-20 11:08:53 -04:00
ebogo1 c8592cb6b5 first pass 2021-07-31 17:34:42 -04:00
ebogo1 3764981f4a revert prettier changes 2021-07-30 15:06:48 -04:00
Matthew Amato f594b3c99b Start of replacing submitted third party libraries with npm modules
Rather than submit libraries to Source/ThirdParty, which always end up
being modified for our build system and quickly go out of date, this
change starts to use libraries via npm instead. Currently Autolinker,
earcut, when, tween.js, rbush, kdbush, quickselect, and topojson are
ported.

The main hurdle that prevented us from doing this sooner was the fact that
Cesium has a long history of not requiring a build step after every code
change and has a goal of writing valid JS code, unlike many libraries today
 that mandate a bundler to turn invalid JS code into valid code.

Rather than mandate a bundler during development, this initial step adds a
"buildThirdyParty" function to the current "build" step. This function runs
third party libraries (defined in the ThirdParty/npm/ folder) through
RollUp and creates an equivalent file in `Source/ThirdPartyNpm`.

The change to end users will be non-existent, especially since the combined
Cesium.js will still re-export any third party modules as part of the
private API just like it used to.

This doesn't prevent code duplication for users using some of the same
third party libraries as Cesium. This is just an improvement as to how
depend on third party libraries internally.

I think Cesium's days of being "bundler free" are probably limited long
term, performance is the main hurdle and newer tools like esbuild may make
that no longer a problem. But that's outside the scope of this initial
goal.
2021-04-11 15:02:36 -04:00
Matthew Amato 7e5c468fd8 Add additional smokescreen to build-ts
1. Add a Specs/TypeScript directory with a minimal TS configuration that
uses the d.ts files generated by build-ts

2. Have `build-ts` compile index.ts from this directory which makes sure
various types actually conform to their expected interfaces.

3. Fix ImageryProvider interfaces which had issues exposed by this new
test.

In the future we can add any additional smokescreens that we think are
important to validate our definitions going forward, but this will never
be a fully exhaustive check.

We currently don't actually execute the output, it's just there for
compile-time checking.  We can revisit this if we ever feel that it's
needed.
2020-06-03 13:08:24 -04:00
Matthew Amato 1a6970a46d Add cjs extension to prettier configuration
I was modifying gulpfile in another branch and realized formatting was
not set up correctly.
2020-05-15 19:17:07 -04:00
Kevin Ring 1117a6871f Improve consistency between prettier and pretty-quick. 2020-04-17 12:30:15 +10:00
Matthew Amato 1b16c31941 Add configuration for prettier code formatting
1. Add prettier and configuration files, but do not format code yet.
2. Configure it for all html|css|js|md code.
3. Fix a bug it found in `CZML Custom Properties.html`
4. Add a pre-commit hook via husky and pretty-quick which will
automatically format changed files when they are staged on the client.
5. Run `prettier-check` during CI and fail the build of code is not
formatted properly.
6. Install eslint config for prettier. This does not enable prettier
checking in eslint (it's unusably slow) but instead just makes sure that
no eslint rules conflict with prettier formatting.
7. Update .editorconfig to match (since prettier respects it)
8. Tweak Sandcastle to handle prettier formated examples
2020-04-13 17:19:59 -04:00