A store of automatically generated Sketch file JSON organised by document version and Sketch feature.
βοΈ This project has been archived. More detailed information on Sketch document data structures can be found in the Sketch file format specification and the corresponding TypeScript types.
Sketch documents are stored as ZIP archives containing JSON encoded data. The file format was originally introduced in Sketch 43 and allows for better third-party integration. For example generating, reading and modifying documents without opening them in Sketch.
In order to provide concrete examples of how different Sketch features are serialised into JSON this repo maintains an archive of reference files.
It's published as an npm module to aid use cases that may involve importing these reference files as test fixtures.
Add the npm module using npm
or yarn
npm install @sketch-hq/sketch-reference-files
import files from '@sketch-hq/sketch-reference-files'
The module exports reference file metadata and json contents for each supported document version
.
[
{
document: 121,
sketchVersions: ['59', '60', '61'],
files: [
{ id, name, description, data },
...
],
},
...
]
The raw reference file JSON can be accessed over HTTP via predicable urls:
This section of the readme is related to developing the reference file repo. If you just want to consume the reference file data you can safely ignore this.
- Yarn >=
1.13
- Node
12.*.*
Script | Description |
---|---|
yarn download-apps | Download and locally cache all Sketch app binaries needed to generate the files |
yarn generate-files | Generate reference files into the files/ folder. Existing reference files are skipped, so delete the files/ folder if you need to generate everything from scratch. This command needs to be run manually, and isn't part of the normal build |
yarn build | Builds the module into the the dist/ folder |
yarn changeset | Open an interactive CLI to add a changeset |
yarn commit | Open an interactive CLI to make a git commit in the conventional commits format |
- Update the
scripts/config.ts
file with metadata for the new Sketch version - Run
yarn download-apps
to ensure you have the correct Sketch binaries available locally - Run
yarn generate-files
to build the reference files - PR your changes
- Add plugin code to demonstrate the feature in
features/
. Use the other features as a guide - Update the
scripts/config.ts
file with metadata for the file feature - Run
yarn download-apps
to ensure you have the correct Sketch binaries available locally - Run
yarn generate-files
to build the reference files - PR your changes
Try and use the conventional commits convention when writing commit messages. This isn't enforced, but you can use the yarn commit
command (in place of git commit -m "foo"
) to open an interactive CLI to walk you through generating a properly formatted commit message.
This repo uses Atlassian Changesets to automate the npm release process. Read the docs for more information, but the top-level summary is:
- A GitHub Action maintains a permanently open PR that when merged will publish the package to npm with the latest changes and an automatically determined semver
- If the work you do in a PR should affect the next release, then you need to commit a "changeset" to the repo together with the rest of your code changes - do this by running
yarn changeset
. You'll be asked to provide a change type (major, minor or patch) and a message
β οΈ This section is automatically generated. Any manual edits will be erased during a build.
Sketch versions: 62
Feature | Document | Pages | Meta | User |
---|---|---|---|---|
Empty | π | π | π | π |
Groups | π | π | π | π |
Images | π | π | π | π |
Library styles | π | π | π | π |
Library symbols | π | π | π | π |
Prototypes | π | π | π | π |
Shape paths | π | π | π | π |
Shapes | π | π | π | π |
Symbol overrides | π | π | π | π |
Symbols | π | π | π | π |
Text | π | π | π | π |
Smart layout | π | π | π | π |
Blur | π | π | π | π |
Slice | π | π | π | π |
Export formats | π | π | π | π |
Variable font | π | π | π | π |
Sketch versions: 59, 60, 61
Feature | Document | Pages | Meta | User |
---|---|---|---|---|
Empty | π | π | π | π |
Groups | π | π | π | π |
Images | π | π | π | π |
Library styles | π | π | π | π |
Library symbols | π | π | π | π |
Prototypes | π | π | π | π |
Shape paths | π | π | π | π |
Shapes | π | π | π | π |
Symbol overrides | π | π | π | π |
Symbols | π | π | π | π |
Text | π | π | π | π |
Smart layout | π | π | π | π |
Blur | π | π | π | π |
Slice | π | π | π | π |
Export formats | π | π | π | π |
Variable font | π | π | π | π |
Sketch versions: 58
Feature | Document | Pages | Meta | User |
---|---|---|---|---|
Empty | π | π | π | π |
Groups | π | π | π | π |
Images | π | π | π | π |
Library styles | π | π | π | π |
Library symbols | π | π | π | π |
Prototypes | π | π | π | π |
Shape paths | - | - | - | - |
Shapes | π | π | π | π |
Symbol overrides | π | π | π | π |
Symbols | π | π | π | π |
Text | π | π | π | π |
Smart layout | π | π | π | π |
Blur | π | π | π | π |
Slice | π | π | π | π |
Export formats | π | π | π | π |
Variable font | - | - | - | - |
Sketch versions: 55.2, 56, 56.1, 56.2, 56.3, 57, 57.1
Feature | Document | Pages | Meta | User |
---|---|---|---|---|
Empty | π | π | π | π |
Groups | π | π | π | π |
Images | π | π | π | π |
Library styles | π | π | π | π |
Library symbols | π | π | π | π |
Prototypes | π | π | π | π |
Shape paths | π | π | π | π |
Shapes | π | π | π | π |
Symbol overrides | π | π | π | π |
Symbols | π | π | π | π |
Text | π | π | π | π |
Smart layout | - | - | - | - |
Blur | π | π | π | π |
Slice | π | π | π | π |
Export formats | π | π | π | π |
Variable font | - | - | - | - |
Sketch versions: 55, 55.1
Feature | Document | Pages | Meta | User |
---|---|---|---|---|
Empty | π | π | π | π |
Groups | π | π | π | π |
Images | π | π | π | π |
Library styles | π | π | π | π |
Library symbols | π | π | π | π |
Prototypes | π | π | π | π |
Shape paths | π | π | π | π |
Shapes | π | π | π | π |
Symbol overrides | π | π | π | π |
Symbols | π | π | π | π |
Text | π | π | π | π |
Smart layout | - | - | - | - |
Blur | π | π | π | π |
Slice | π | π | π | π |
Export formats | π | π | π | π |
Variable font | - | - | - | - |