@tinacms/scripts 0.0.0-e024aec-20250526035050 → 0.0.0-e24fc0e-20260824012452

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -4,4 +4,4 @@
4
4
 
5
5
  // __mocks__/styleMock.js
6
6
 
7
- module.exports = '';
7
+ export default '';
package/bin/tina-build CHANGED
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- const { BuildTina} = require('../dist/index.js')
4
- const tinaBuild = new BuildTina()
5
- tinaBuild.init(process.argv)
3
+ import { BuildTina } from '../dist/index.js';
4
+ const tinaBuild = new BuildTina();
5
+ tinaBuild.init(process.argv);
@@ -0,0 +1,33 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
3
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
4
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
5
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
6
+ var __spreadValues = (a, b) => {
7
+ for (var prop in b || (b = {}))
8
+ if (__hasOwnProp.call(b, prop))
9
+ __defNormalProp(a, prop, b[prop]);
10
+ if (__getOwnPropSymbols)
11
+ for (var prop of __getOwnPropSymbols(b)) {
12
+ if (__propIsEnum.call(b, prop))
13
+ __defNormalProp(a, prop, b[prop]);
14
+ }
15
+ return a;
16
+ };
17
+ var __objRest = (source, exclude) => {
18
+ var target = {};
19
+ for (var prop in source)
20
+ if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
21
+ target[prop] = source[prop];
22
+ if (source != null && __getOwnPropSymbols)
23
+ for (var prop of __getOwnPropSymbols(source)) {
24
+ if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
25
+ target[prop] = source[prop];
26
+ }
27
+ return target;
28
+ };
29
+
30
+ export {
31
+ __spreadValues,
32
+ __objRest
33
+ };
package/dist/index.js CHANGED
@@ -1,73 +1,20 @@
1
- var __create = Object.create;
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __getOwnPropSymbols = Object.getOwnPropertySymbols;
6
- var __getProtoOf = Object.getPrototypeOf;
7
- var __hasOwnProp = Object.prototype.hasOwnProperty;
8
- var __propIsEnum = Object.prototype.propertyIsEnumerable;
9
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
10
- var __spreadValues = (a, b) => {
11
- for (var prop in b || (b = {}))
12
- if (__hasOwnProp.call(b, prop))
13
- __defNormalProp(a, prop, b[prop]);
14
- if (__getOwnPropSymbols)
15
- for (var prop of __getOwnPropSymbols(b)) {
16
- if (__propIsEnum.call(b, prop))
17
- __defNormalProp(a, prop, b[prop]);
18
- }
19
- return a;
20
- };
21
- var __objRest = (source, exclude) => {
22
- var target = {};
23
- for (var prop in source)
24
- if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
25
- target[prop] = source[prop];
26
- if (source != null && __getOwnPropSymbols)
27
- for (var prop of __getOwnPropSymbols(source)) {
28
- if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
29
- target[prop] = source[prop];
30
- }
31
- return target;
32
- };
33
- var __export = (target, all) => {
34
- for (var name in all)
35
- __defProp(target, name, { get: all[name], enumerable: true });
36
- };
37
- var __copyProps = (to, from, except, desc) => {
38
- if (from && typeof from === "object" || typeof from === "function") {
39
- for (let key of __getOwnPropNames(from))
40
- if (!__hasOwnProp.call(to, key) && key !== except)
41
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
42
- }
43
- return to;
44
- };
45
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
46
- // If the importer is in node compatibility mode or this is not an ESM
47
- // file that has been converted to a CommonJS file using a Babel-
48
- // compatible transform (i.e. "__esModule" has not been set), then set
49
- // "default" to the CommonJS "module.exports" for node compatibility.
50
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
51
- mod
52
- ));
53
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
1
+ import {
2
+ __objRest,
3
+ __spreadValues
4
+ } from "./chunk-Q2LW34XU.js";
54
5
 
55
6
  // src/index.ts
56
- var index_exports = {};
57
- __export(index_exports, {
58
- BuildTina: () => BuildTina
59
- });
60
- module.exports = __toCommonJS(index_exports);
61
- var fs = __toESM(require("fs"));
62
- var import_node_child_process = require("child_process");
63
- var import_node_path = __toESM(require("path"));
64
- var import_chalk = __toESM(require("chalk"));
65
- var import_chokidar = __toESM(require("chokidar"));
66
- var import_commander = __toESM(require("commander"));
67
- var import_esbuild = require("esbuild");
68
- var import_fs_extra = require("fs-extra");
69
- var import_json_diff = __toESM(require("json-diff"));
70
- var import_vite = require("vite");
7
+ import * as fs from "fs";
8
+ import { exec } from "child_process";
9
+ import { createRequire } from "module";
10
+ import path from "path";
11
+ import chalk from "chalk";
12
+ import chokidar from "chokidar";
13
+ import commander from "commander";
14
+ import { build as esbuild } from "esbuild";
15
+ import fsExtra from "fs-extra";
16
+ import jsonDiff from "json-diff";
17
+ import { build } from "vite";
71
18
 
72
19
  // src/utils.ts
73
20
  function deepMerge(target, source) {
@@ -104,9 +51,10 @@ async function sequential(items, callback) {
104
51
  }
105
52
 
106
53
  // src/index.ts
54
+ var { outputFileSync } = fsExtra;
107
55
  var BuildTina = class {
108
56
  constructor(name) {
109
- this.program = new import_commander.default.Command(name);
57
+ this.program = new commander.Command(name);
110
58
  }
111
59
  registerCommands(commands, noHelp = false) {
112
60
  for (const command of commands) {
@@ -148,7 +96,7 @@ Examples:
148
96
  let packageJson = null;
149
97
  try {
150
98
  const packageJsonContent = fs.readFileSync(
151
- import_node_path.default.join(process.cwd(), "package.json")
99
+ path.join(process.cwd(), "package.json")
152
100
  );
153
101
  packageJson = JSON.parse(packageJsonContent.toString());
154
102
  } catch (err) {
@@ -162,7 +110,7 @@ Examples:
162
110
  console.info(`Skipping ${packageJson.name}`);
163
111
  return;
164
112
  }
165
- const successMessage = `${import_chalk.default.blue(`${packageJson.name}`)} built in`;
113
+ const successMessage = `${chalk.blue(`${packageJson.name}`)} built in`;
166
114
  console.time(successMessage);
167
115
  const entries = ((_a = packageJson.buildConfig) == null ? void 0 : _a.entryPoints.map(
168
116
  (ep) => {
@@ -185,7 +133,7 @@ Examples:
185
133
  }
186
134
  watch() {
187
135
  try {
188
- (0, import_node_child_process.exec)("pnpm list -r --json", (error, stdout) => {
136
+ exec("pnpm list -r --json", (error, stdout) => {
189
137
  if (error) {
190
138
  throw error;
191
139
  }
@@ -195,8 +143,8 @@ Examples:
195
143
  const pkgPath = "packages";
196
144
  if (pkg.path.includes(pkgPath)) watchPaths.push(pkg.path);
197
145
  }
198
- import_chokidar.default.watch(
199
- watchPaths.map((p) => import_node_path.default.join(p, "src", "**/*")),
146
+ chokidar.watch(
147
+ watchPaths.map((p) => path.join(p, "src", "**/*")),
200
148
  { ignored: ["**/spec/**/*", "node_modules"] }
201
149
  ).on("change", async (path2) => {
202
150
  const changedPackagePath = watchPaths.find(
@@ -233,7 +181,7 @@ Examples:
233
181
  process.exit(1);
234
182
  }
235
183
  try {
236
- (0, import_node_child_process.exec)(
184
+ exec(
237
185
  "pnpm exec tinacms dev --no-server",
238
186
  { cwd: process.cwd() },
239
187
  (error, stdout, stderr) => {
@@ -266,13 +214,13 @@ Examples:
266
214
  }
267
215
  const _a = tinaLock.schema, { version } = _a, schema = __objRest(_a, ["version"]);
268
216
  const _b = newTinaLock.schema, { version: newVersion } = _b, newSchema = __objRest(_b, ["version"]);
269
- const schemaDiff = import_json_diff.default.diffString(schema, newSchema);
217
+ const schemaDiff = jsonDiff.diffString(schema, newSchema);
270
218
  if (schemaDiff) {
271
219
  console.error("Unexpected change(s) to Tina schema \u274C");
272
220
  console.error(schemaDiff);
273
221
  throw new Error("Unexpected change(s) to Tina schema \u274C");
274
222
  }
275
- const graphqlDiff = import_json_diff.default.diffString(
223
+ const graphqlDiff = jsonDiff.diffString(
276
224
  tinaLock.graphql,
277
225
  newTinaLock.graphql
278
226
  );
@@ -333,10 +281,10 @@ See --help for a list of available commands.`
333
281
  this.program.parse(args);
334
282
  }
335
283
  getOutputPaths(entry) {
336
- const { dir, name } = import_node_path.default.parse(entry);
284
+ const { dir, name } = path.parse(entry);
337
285
  const outdir = dir.replace("src", "dist");
338
286
  const outfile = name;
339
- const relativeOutfile = import_node_path.default.join(
287
+ const relativeOutfile = path.join(
340
288
  outdir.split("/").map(() => "..").join("/"),
341
289
  dir,
342
290
  name
@@ -346,7 +294,7 @@ See --help for a list of available commands.`
346
294
  async buildPackage(entryPoint, packageJSON) {
347
295
  const entry = entryPoint.name;
348
296
  const target = entryPoint.target;
349
- const extension = import_node_path.default.extname(entry);
297
+ const extension = path.extname(entry);
350
298
  const deps = packageJSON.dependencies;
351
299
  const peerDeps = packageJSON.peerDependencies;
352
300
  const external = Object.keys(__spreadValues(__spreadValues({}, deps), peerDeps));
@@ -356,15 +304,28 @@ See --help for a list of available commands.`
356
304
  console.log("skipping @tinacms/app");
357
305
  return;
358
306
  }
307
+ if (["@tinacms/web-components"].includes(packageJSON.name)) {
308
+ await esbuild({
309
+ entryPoints: [path.join(process.cwd(), entry)],
310
+ bundle: true,
311
+ platform: "browser",
312
+ target: "esnext",
313
+ format: "esm",
314
+ outfile: path.join(process.cwd(), "dist", `${outInfo.outfile}.js`)
315
+ });
316
+ return true;
317
+ }
359
318
  external.forEach((ext) => globals[ext] = "NOOP");
319
+ const isExternal = (id) => external.some((dep) => id === dep || id.startsWith(`${dep}/`));
360
320
  if (target === "node") {
361
321
  if (["@tinacms/graphql", "@tinacms/datalayer"].includes(packageJSON.name)) {
362
- await (0, import_esbuild.build)({
363
- entryPoints: [import_node_path.default.join(process.cwd(), entry)],
322
+ await esbuild({
323
+ entryPoints: [path.join(process.cwd(), entry)],
364
324
  bundle: true,
365
325
  platform: "node",
366
- target: "node20",
367
- outfile: import_node_path.default.join(
326
+ target: "esnext",
327
+ format: "esm",
328
+ outfile: path.join(
368
329
  process.cwd(),
369
330
  "dist",
370
331
  `${outInfo.outfile ? outInfo.outfile : "index"}.js`
@@ -375,66 +336,66 @@ See --help for a list of available commands.`
375
336
  return !entryPoint2.bundle.includes(item);
376
337
  })
377
338
  });
378
- await (0, import_esbuild.build)({
379
- entryPoints: [import_node_path.default.join(process.cwd(), entry)],
339
+ await esbuild({
340
+ entryPoints: [path.join(process.cwd(), entry)],
380
341
  bundle: true,
381
342
  platform: "node",
382
- target: "es2020",
343
+ target: "esnext",
383
344
  format: "esm",
384
- outfile: import_node_path.default.join(
345
+ outfile: path.join(
385
346
  process.cwd(),
386
347
  "dist",
387
- `${outInfo.outfile ? outInfo.outfile : "index"}.mjs`
348
+ `${outInfo.outfile ? outInfo.outfile : "index"}.js`
388
349
  ),
389
350
  external
390
351
  });
391
352
  } else if (["@tinacms/mdx"].includes(packageJSON.name)) {
392
353
  const peerDeps2 = packageJSON.peerDependencies;
393
- await (0, import_esbuild.build)({
394
- entryPoints: [import_node_path.default.join(process.cwd(), entry)],
395
- bundle: true,
396
- platform: "node",
397
- target: "node20",
398
- format: "cjs",
399
- outfile: import_node_path.default.join(process.cwd(), "dist", "index.js"),
400
- external: Object.keys(__spreadValues({}, peerDeps2))
401
- });
402
- await (0, import_esbuild.build)({
403
- entryPoints: [import_node_path.default.join(process.cwd(), entry)],
354
+ const acornManifest = createRequire(
355
+ path.join(process.cwd(), "package.json")
356
+ ).resolve("acorn/package.json");
357
+ const alias = {
358
+ acorn: path.join(
359
+ path.dirname(acornManifest),
360
+ JSON.parse(fs.readFileSync(acornManifest, "utf8")).module
361
+ )
362
+ };
363
+ await esbuild({
364
+ entryPoints: [path.join(process.cwd(), entry)],
404
365
  bundle: true,
405
366
  platform: "node",
406
- target: "es2020",
367
+ target: "esnext",
407
368
  format: "esm",
408
- outfile: import_node_path.default.join(process.cwd(), "dist", "index.mjs"),
409
- // Bundle dependencies, the remark ecosystem only publishes ES modules
410
- // and includes "development" export maps which actually throw errors during
411
- // development, which we don't want to expose our users to.
412
- external: Object.keys(__spreadValues({}, peerDeps2))
369
+ outfile: path.join(process.cwd(), "dist", "index.js"),
370
+ external: Object.keys(__spreadValues({}, peerDeps2)),
371
+ alias
413
372
  });
414
- await (0, import_esbuild.build)({
415
- entryPoints: [import_node_path.default.join(process.cwd(), entry)],
373
+ await esbuild({
374
+ entryPoints: [path.join(process.cwd(), entry)],
416
375
  bundle: true,
417
376
  platform: "browser",
418
- target: "es2020",
377
+ target: "esnext",
419
378
  format: "esm",
420
- outfile: import_node_path.default.join(process.cwd(), "dist", "index.browser.mjs"),
379
+ outfile: path.join(process.cwd(), "dist", "index.browser.js"),
421
380
  // Bundle dependencies, the remark ecosystem only publishes ES modules
422
381
  // and includes "development" export maps which actually throw errors during
423
382
  // development, which we don't want to expose our users to.
424
- external: Object.keys(__spreadValues({}, peerDeps2))
383
+ external: Object.keys(__spreadValues({}, peerDeps2)),
384
+ alias
425
385
  });
426
386
  } else {
427
- await (0, import_esbuild.build)({
428
- entryPoints: [import_node_path.default.join(process.cwd(), entry)],
387
+ await esbuild({
388
+ entryPoints: [path.join(process.cwd(), entry)],
429
389
  bundle: true,
430
390
  platform: "node",
431
- target: "node20",
432
- outfile: import_node_path.default.join(process.cwd(), "dist", `${outInfo.outfile}.js`),
391
+ target: "esnext",
392
+ format: "esm",
393
+ outfile: path.join(process.cwd(), "dist", `${outInfo.outfile}.js`),
433
394
  external
434
395
  });
435
396
  }
436
397
  fs.writeFileSync(
437
- import_node_path.default.join(
398
+ path.join(
438
399
  process.cwd(),
439
400
  "dist",
440
401
  entry.replace("src/", "").replace(extension, ".d.ts")
@@ -446,22 +407,22 @@ See --help for a list of available commands.`
446
407
  const defaultBuildConfig = {
447
408
  resolve: {
448
409
  alias: {
449
- "@toolkit": import_node_path.default.resolve(process.cwd(), "src/toolkit"),
450
- "@tinacms/toolkit": import_node_path.default.resolve(
410
+ "@toolkit": path.resolve(process.cwd(), "src/toolkit"),
411
+ "@tinacms/toolkit": path.resolve(
451
412
  process.cwd(),
452
413
  "src/toolkit/index.ts"
453
- )
414
+ ),
415
+ "@utils": path.resolve(process.cwd(), "src/utils")
454
416
  }
455
417
  },
456
418
  build: {
457
419
  minify: false,
458
420
  assetsInlineLimit: 0,
459
421
  lib: {
460
- entry: import_node_path.default.resolve(process.cwd(), entry),
422
+ entry: path.resolve(process.cwd(), entry),
461
423
  name: packageJSON.name,
462
- fileName: (format) => {
463
- return format === "umd" ? `${outInfo.outfile}.js` : `${outInfo.outfile}.mjs`;
464
- }
424
+ formats: ["es"],
425
+ fileName: () => `${outInfo.outfile}.js`
465
426
  },
466
427
  outDir: outInfo.outdir,
467
428
  emptyOutDir: false,
@@ -480,7 +441,7 @@ See --help for a list of available commands.`
480
441
  * I'm pretty sure it doesn't, since everything works
481
442
  *
482
443
  * By setting a global for each external dep we're silencing these warnings
483
- * No name was provided for external module 'react-beautiful-dnd' in output.globals – guessing 'reactBeautifulDnd'
444
+ * No name was provided for external module in output.globals
484
445
  *
485
446
  * They don't occur for es builds, only UMD and I can't quite find
486
447
  * an authoritative response on wny they're needed or how they're
@@ -492,20 +453,19 @@ See --help for a list of available commands.`
492
453
  output: {
493
454
  globals
494
455
  },
495
- external
456
+ external: isExternal
496
457
  }
497
458
  }
498
459
  };
499
460
  const buildConfig = packageJSON.buildConfig ? deepMerge(defaultBuildConfig, packageJSON.buildConfig) : defaultBuildConfig;
500
- await (0, import_vite.build)(__spreadValues({}, buildConfig));
501
- (0, import_fs_extra.outputFileSync)(
502
- import_node_path.default.join(outInfo.outdir, `${outInfo.outfile}.d.ts`),
461
+ await build(__spreadValues({}, buildConfig));
462
+ outputFileSync(
463
+ path.join(outInfo.outdir, `${outInfo.outfile}.d.ts`),
503
464
  `export * from "${outInfo.relativeOutfile}"`
504
465
  );
505
466
  return true;
506
467
  }
507
468
  };
508
- // Annotate the CommonJS export names for ESM import in node:
509
- 0 && (module.exports = {
469
+ export {
510
470
  BuildTina
511
- });
471
+ };
@@ -1,55 +1,18 @@
1
- var __create = Object.create;
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __getProtoOf = Object.getPrototypeOf;
6
- var __hasOwnProp = Object.prototype.hasOwnProperty;
7
- var __export = (target, all) => {
8
- for (var name in all)
9
- __defProp(target, name, { get: all[name], enumerable: true });
10
- };
11
- var __copyProps = (to, from, except, desc) => {
12
- if (from && typeof from === "object" || typeof from === "function") {
13
- for (let key of __getOwnPropNames(from))
14
- if (!__hasOwnProp.call(to, key) && key !== except)
15
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
- }
17
- return to;
18
- };
19
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
20
- // If the importer is in node compatibility mode or this is not an ESM
21
- // file that has been converted to a CommonJS file using a Babel-
22
- // compatible transform (i.e. "__esModule" has not been set), then set
23
- // "default" to the CommonJS "module.exports" for node compatibility.
24
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
25
- mod
26
- ));
27
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
1
+ import "./chunk-Q2LW34XU.js";
28
2
 
29
3
  // src/jest-runner.ts
30
- var jest_runner_exports = {};
31
- __export(jest_runner_exports, {
32
- default: () => jest_runner_default
33
- });
34
- module.exports = __toCommonJS(jest_runner_exports);
35
- var import_jest_plugin = __toESM(require("@sucrase/jest-plugin"));
36
4
  var config = {
37
5
  verbose: true,
38
6
  transform: {
39
- ".(ts|tsx)": "@tinacms/scripts/dist/jest-runner.js",
40
- ".(js)": "@tinacms/scripts/dist/jest-runner.js"
7
+ "^.+\\.[tj]sx?$": "babel-jest"
41
8
  },
42
- transformIgnorePatterns: [],
43
- testRegex: "(\\.spec|.test)\\.(ts|tsx|js)$",
44
- modulePaths: ["<rootDir>/dir/", "<rootDir>/node_modules/"],
45
- moduleFileExtensions: ["ts", "tsx", "js", "jsx"],
46
9
  testPathIgnorePatterns: ["/dist/"],
47
10
  moduleNameMapper: {
48
11
  "\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$": "<rootDir>/../../__mocks__/fileMock.js",
49
12
  "\\.(css|less|scss|sass)$": "@tinacms/scripts/__mocks__/styleMock.js"
50
13
  }
51
14
  };
52
- var jest_runner_default = {
53
- process: import_jest_plugin.default.process,
54
- config
15
+ var jest_runner_default = config;
16
+ export {
17
+ jest_runner_default as default
55
18
  };
package/package.json CHANGED
@@ -1,36 +1,40 @@
1
1
  {
2
2
  "name": "@tinacms/scripts",
3
- "version": "0.0.0-e024aec-20250526035050",
3
+ "type": "module",
4
+ "version": "0.0.0-e24fc0e-20260824012452",
4
5
  "main": "dist/index.js",
5
6
  "files": [
6
7
  "dist",
7
8
  "bin/*",
8
- "__mocks__/styleMock.js",
9
- ".env"
9
+ "__mocks__/styleMock.js"
10
10
  ],
11
11
  "license": "Apache-2.0",
12
12
  "bin": {
13
13
  "tinacms-scripts": "./bin/tina-build"
14
14
  },
15
15
  "dependencies": {
16
- "@sucrase/jest-plugin": "^3.0.0",
17
- "chalk": "^4.1.2",
16
+ "chalk": "^5.4.1",
18
17
  "chokidar": "^3.6.0",
19
18
  "commander": "^7.2.0",
20
- "esbuild": "^0.24.2",
19
+ "esbuild": "^0.28.1",
21
20
  "fs-extra": "^11.3.0",
22
21
  "json-diff": "^1.0.6",
23
22
  "tsup": "^8.3.6",
24
23
  "typescript": "^5.7.3",
25
- "vite": "^4.5.9"
24
+ "vite": "^6.4.3"
26
25
  },
27
26
  "devDependencies": {
28
27
  "@types/fs-extra": "^11.0.4",
29
- "@types/json-diff": "^1.0.3"
28
+ "@types/json-diff": "^1.0.3",
29
+ "jest": "^30.1.3"
30
+ },
31
+ "repository": {
32
+ "url": "https://github.com/tinacms/tinacms.git",
33
+ "directory": "packages/@tinacms/scripts"
30
34
  },
31
35
  "scripts": {
32
36
  "build:all": "bin/tina-build build:all",
33
37
  "watch": "node bin/tina-build watch",
34
- "build": "pnpm tsup src/jest-runner.ts src/css-transform.ts src/index.ts --format cjs"
38
+ "build": "pnpm tsup src/jest-runner.ts src/index.ts --format esm"
35
39
  }
36
40
  }