69a1c17b46
For non-commercial usage of tldraw, this adds a watermark in the corner, both for branding purposes and as an incentive for our enterprise customers to purchase a license. For commercial usage of tldraw, you add a license to the `<Tldraw licenseKey={YOUR_LICENSE_KEY} />` component so that the watermark doesn't show. The license is a signed key that has various bits of information in it, such as: - license type - hosts that the license is valid for - whether it's an internal-only license - expiry date We check the license on load and show a watermark (or throw an error if internal-only) if the license is not valid in a production environment. This is a @MitjaBezensek, @Taha-Hassan-Git, @mimecuvalo joint production! 🤜 🤛 ### Change Type <!-- ❗ Please select a 'Scope' label ❗️ --> - [x] `sdk` — Changes the tldraw SDK - [ ] `dotcom` — Changes the tldraw.com web app - [ ] `docs` — Changes to the documentation, examples, or templates. - [ ] `vs code` — Changes to the vscode plugin - [ ] `internal` — Does not affect user-facing stuff <!-- ❗ Please select a 'Type' label ❗️ --> - [ ] `bugfix` — Bug fix - [x] `feature` — New feature - [ ] `improvement` — Improving existing features - [ ] `chore` — Updating dependencies, other boring stuff - [ ] `galaxy brain` — Architectural changes - [ ] `tests` — Changes to any test code - [ ] `tools` — Changes to infrastructure, CI, internal scripts, debugging tools, etc. - [ ] `dunno` — I don't know ### Test Plan 1. We will be dogfooding on staging.tldraw.com and tldraw.com itself before releasing this. ### Release Notes - SDK: wires up tldraw to have licensing mechanisms. --------- Co-authored-by: Mitja Bezenšek <mitja.bezensek@gmail.com> Co-authored-by: Taha <98838967+Taha-Hassan-Git@users.noreply.github.com> Co-authored-by: Steve Ruiz <steveruizok@gmail.com>
39 lines
915 B
JavaScript
39 lines
915 B
JavaScript
const svgTransformPath = require.resolve('config/svgTransform.js')
|
|
|
|
module.exports = {
|
|
roots: ['<rootDir>/src'],
|
|
transform: {
|
|
'^.+\\.(tsx|jsx|ts|js|mjs)?$': [
|
|
'@swc/jest',
|
|
{
|
|
jsc: {
|
|
parser: {
|
|
syntax: 'typescript',
|
|
dynamicImport: true,
|
|
decorators: true,
|
|
},
|
|
transform: {
|
|
legacyDecorator: true,
|
|
decoratorMetadata: true,
|
|
react: {
|
|
runtime: 'automatic',
|
|
},
|
|
},
|
|
},
|
|
},
|
|
],
|
|
'^.+\\.svg$': svgTransformPath,
|
|
},
|
|
testRegex: '.+\\.(test|spec)\\.(jsx?|tsx?)$',
|
|
moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx', 'json', 'node'],
|
|
modulePathIgnorePatterns: [
|
|
'<rootDir>/test/__fixtures__',
|
|
'<rootDir>/node_modules',
|
|
'<rootDir>/dist',
|
|
'<rootDir>/.tsbuild',
|
|
'<rootDir>/.tsbuild-dev',
|
|
'<rootDir>/.tsbuild-pub',
|
|
],
|
|
transformIgnorePatterns: ['node_modules/(?!(nanoid)/)'],
|
|
collectCoverageFrom: ['<rootDir>/src/**/*.{ts,tsx}'],
|
|
}
|