@slicemachine/adapter-next 0.3.85-beta.2 → 0.3.85

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.
Files changed (220) hide show
  1. package/dist/_node_modules/lru-cache/index.cjs +267 -0
  2. package/dist/_node_modules/lru-cache/index.cjs.map +1 -0
  3. package/dist/_node_modules/lru-cache/index.js +267 -0
  4. package/dist/_node_modules/lru-cache/index.js.map +1 -0
  5. package/dist/_node_modules/yallist/iterator.cjs +18 -0
  6. package/dist/_node_modules/yallist/iterator.cjs.map +1 -0
  7. package/dist/_node_modules/yallist/iterator.js +18 -0
  8. package/dist/_node_modules/yallist/iterator.js.map +1 -0
  9. package/dist/_node_modules/yallist/yallist.cjs +367 -0
  10. package/dist/_node_modules/yallist/yallist.cjs.map +1 -0
  11. package/dist/_node_modules/yallist/yallist.js +367 -0
  12. package/dist/_node_modules/yallist/yallist.js.map +1 -0
  13. package/dist/_virtual/_commonjsHelpers.cjs +7 -0
  14. package/dist/_virtual/_commonjsHelpers.cjs.map +1 -0
  15. package/dist/_virtual/_commonjsHelpers.js +7 -0
  16. package/dist/_virtual/_commonjsHelpers.js.map +1 -0
  17. package/dist/_virtual/re.cjs +5 -0
  18. package/dist/_virtual/re.cjs.map +1 -0
  19. package/dist/_virtual/re.js +5 -0
  20. package/dist/_virtual/re.js.map +1 -0
  21. package/dist/hooks/project-init.cjs +5 -1
  22. package/dist/hooks/project-init.cjs.map +1 -1
  23. package/dist/hooks/project-init.js +5 -1
  24. package/dist/hooks/project-init.js.map +1 -1
  25. package/dist/lib/getNextJSVersion.cjs +34 -0
  26. package/dist/lib/getNextJSVersion.cjs.map +1 -0
  27. package/dist/lib/getNextJSVersion.d.ts +1 -0
  28. package/dist/lib/getNextJSVersion.js +12 -0
  29. package/dist/lib/getNextJSVersion.js.map +1 -0
  30. package/dist/lib/requireResolve.cjs +16 -0
  31. package/dist/lib/requireResolve.cjs.map +1 -0
  32. package/dist/lib/requireResolve.d.ts +10 -0
  33. package/dist/lib/requireResolve.js +16 -0
  34. package/dist/lib/requireResolve.js.map +1 -0
  35. package/dist/packages/adapter-next/_node_modules/semver/classes/comparator.cjs +122 -0
  36. package/dist/packages/adapter-next/_node_modules/semver/classes/comparator.cjs.map +1 -0
  37. package/dist/packages/adapter-next/_node_modules/semver/classes/comparator.js +122 -0
  38. package/dist/packages/adapter-next/_node_modules/semver/classes/comparator.js.map +1 -0
  39. package/dist/packages/adapter-next/_node_modules/semver/classes/range.cjs +373 -0
  40. package/dist/packages/adapter-next/_node_modules/semver/classes/range.cjs.map +1 -0
  41. package/dist/packages/adapter-next/_node_modules/semver/classes/range.js +373 -0
  42. package/dist/packages/adapter-next/_node_modules/semver/classes/range.js.map +1 -0
  43. package/dist/packages/adapter-next/_node_modules/semver/classes/semver.cjs +243 -0
  44. package/dist/packages/adapter-next/_node_modules/semver/classes/semver.cjs.map +1 -0
  45. package/dist/packages/adapter-next/_node_modules/semver/classes/semver.js +243 -0
  46. package/dist/packages/adapter-next/_node_modules/semver/classes/semver.js.map +1 -0
  47. package/dist/packages/adapter-next/_node_modules/semver/functions/clean.cjs +11 -0
  48. package/dist/packages/adapter-next/_node_modules/semver/functions/clean.cjs.map +1 -0
  49. package/dist/packages/adapter-next/_node_modules/semver/functions/clean.js +11 -0
  50. package/dist/packages/adapter-next/_node_modules/semver/functions/clean.js.map +1 -0
  51. package/dist/packages/adapter-next/_node_modules/semver/functions/cmp.cjs +53 -0
  52. package/dist/packages/adapter-next/_node_modules/semver/functions/cmp.cjs.map +1 -0
  53. package/dist/packages/adapter-next/_node_modules/semver/functions/cmp.js +53 -0
  54. package/dist/packages/adapter-next/_node_modules/semver/functions/cmp.js.map +1 -0
  55. package/dist/packages/adapter-next/_node_modules/semver/functions/coerce.cjs +40 -0
  56. package/dist/packages/adapter-next/_node_modules/semver/functions/coerce.cjs.map +1 -0
  57. package/dist/packages/adapter-next/_node_modules/semver/functions/coerce.js +40 -0
  58. package/dist/packages/adapter-next/_node_modules/semver/functions/coerce.js.map +1 -0
  59. package/dist/packages/adapter-next/_node_modules/semver/functions/compare-build.cjs +12 -0
  60. package/dist/packages/adapter-next/_node_modules/semver/functions/compare-build.cjs.map +1 -0
  61. package/dist/packages/adapter-next/_node_modules/semver/functions/compare-build.js +12 -0
  62. package/dist/packages/adapter-next/_node_modules/semver/functions/compare-build.js.map +1 -0
  63. package/dist/packages/adapter-next/_node_modules/semver/functions/compare-loose.cjs +8 -0
  64. package/dist/packages/adapter-next/_node_modules/semver/functions/compare-loose.cjs.map +1 -0
  65. package/dist/packages/adapter-next/_node_modules/semver/functions/compare-loose.js +8 -0
  66. package/dist/packages/adapter-next/_node_modules/semver/functions/compare-loose.js.map +1 -0
  67. package/dist/packages/adapter-next/_node_modules/semver/functions/compare.cjs +8 -0
  68. package/dist/packages/adapter-next/_node_modules/semver/functions/compare.cjs.map +1 -0
  69. package/dist/packages/adapter-next/_node_modules/semver/functions/compare.js +8 -0
  70. package/dist/packages/adapter-next/_node_modules/semver/functions/compare.js.map +1 -0
  71. package/dist/packages/adapter-next/_node_modules/semver/functions/diff.cjs +39 -0
  72. package/dist/packages/adapter-next/_node_modules/semver/functions/diff.cjs.map +1 -0
  73. package/dist/packages/adapter-next/_node_modules/semver/functions/diff.js +39 -0
  74. package/dist/packages/adapter-next/_node_modules/semver/functions/diff.js.map +1 -0
  75. package/dist/packages/adapter-next/_node_modules/semver/functions/eq.cjs +8 -0
  76. package/dist/packages/adapter-next/_node_modules/semver/functions/eq.cjs.map +1 -0
  77. package/dist/packages/adapter-next/_node_modules/semver/functions/eq.js +8 -0
  78. package/dist/packages/adapter-next/_node_modules/semver/functions/eq.js.map +1 -0
  79. package/dist/packages/adapter-next/_node_modules/semver/functions/gt.cjs +8 -0
  80. package/dist/packages/adapter-next/_node_modules/semver/functions/gt.cjs.map +1 -0
  81. package/dist/packages/adapter-next/_node_modules/semver/functions/gt.js +8 -0
  82. package/dist/packages/adapter-next/_node_modules/semver/functions/gt.js.map +1 -0
  83. package/dist/packages/adapter-next/_node_modules/semver/functions/gte.cjs +8 -0
  84. package/dist/packages/adapter-next/_node_modules/semver/functions/gte.cjs.map +1 -0
  85. package/dist/packages/adapter-next/_node_modules/semver/functions/gte.js +8 -0
  86. package/dist/packages/adapter-next/_node_modules/semver/functions/gte.js.map +1 -0
  87. package/dist/packages/adapter-next/_node_modules/semver/functions/inc.cjs +22 -0
  88. package/dist/packages/adapter-next/_node_modules/semver/functions/inc.cjs.map +1 -0
  89. package/dist/packages/adapter-next/_node_modules/semver/functions/inc.js +22 -0
  90. package/dist/packages/adapter-next/_node_modules/semver/functions/inc.js.map +1 -0
  91. package/dist/packages/adapter-next/_node_modules/semver/functions/lt.cjs +8 -0
  92. package/dist/packages/adapter-next/_node_modules/semver/functions/lt.cjs.map +1 -0
  93. package/dist/packages/adapter-next/_node_modules/semver/functions/lt.js +8 -0
  94. package/dist/packages/adapter-next/_node_modules/semver/functions/lt.js.map +1 -0
  95. package/dist/packages/adapter-next/_node_modules/semver/functions/lte.cjs +8 -0
  96. package/dist/packages/adapter-next/_node_modules/semver/functions/lte.cjs.map +1 -0
  97. package/dist/packages/adapter-next/_node_modules/semver/functions/lte.js +8 -0
  98. package/dist/packages/adapter-next/_node_modules/semver/functions/lte.js.map +1 -0
  99. package/dist/packages/adapter-next/_node_modules/semver/functions/major.cjs +8 -0
  100. package/dist/packages/adapter-next/_node_modules/semver/functions/major.cjs.map +1 -0
  101. package/dist/packages/adapter-next/_node_modules/semver/functions/major.js +8 -0
  102. package/dist/packages/adapter-next/_node_modules/semver/functions/major.js.map +1 -0
  103. package/dist/packages/adapter-next/_node_modules/semver/functions/minor.cjs +8 -0
  104. package/dist/packages/adapter-next/_node_modules/semver/functions/minor.cjs.map +1 -0
  105. package/dist/packages/adapter-next/_node_modules/semver/functions/minor.js +8 -0
  106. package/dist/packages/adapter-next/_node_modules/semver/functions/minor.js.map +1 -0
  107. package/dist/packages/adapter-next/_node_modules/semver/functions/neq.cjs +8 -0
  108. package/dist/packages/adapter-next/_node_modules/semver/functions/neq.cjs.map +1 -0
  109. package/dist/packages/adapter-next/_node_modules/semver/functions/neq.js +8 -0
  110. package/dist/packages/adapter-next/_node_modules/semver/functions/neq.js.map +1 -0
  111. package/dist/packages/adapter-next/_node_modules/semver/functions/parse.cjs +20 -0
  112. package/dist/packages/adapter-next/_node_modules/semver/functions/parse.cjs.map +1 -0
  113. package/dist/packages/adapter-next/_node_modules/semver/functions/parse.js +20 -0
  114. package/dist/packages/adapter-next/_node_modules/semver/functions/parse.js.map +1 -0
  115. package/dist/packages/adapter-next/_node_modules/semver/functions/patch.cjs +8 -0
  116. package/dist/packages/adapter-next/_node_modules/semver/functions/patch.cjs.map +1 -0
  117. package/dist/packages/adapter-next/_node_modules/semver/functions/patch.js +8 -0
  118. package/dist/packages/adapter-next/_node_modules/semver/functions/patch.js.map +1 -0
  119. package/dist/packages/adapter-next/_node_modules/semver/functions/prerelease.cjs +11 -0
  120. package/dist/packages/adapter-next/_node_modules/semver/functions/prerelease.cjs.map +1 -0
  121. package/dist/packages/adapter-next/_node_modules/semver/functions/prerelease.js +11 -0
  122. package/dist/packages/adapter-next/_node_modules/semver/functions/prerelease.js.map +1 -0
  123. package/dist/packages/adapter-next/_node_modules/semver/functions/rcompare.cjs +8 -0
  124. package/dist/packages/adapter-next/_node_modules/semver/functions/rcompare.cjs.map +1 -0
  125. package/dist/packages/adapter-next/_node_modules/semver/functions/rcompare.js +8 -0
  126. package/dist/packages/adapter-next/_node_modules/semver/functions/rcompare.js.map +1 -0
  127. package/dist/packages/adapter-next/_node_modules/semver/functions/rsort.cjs +8 -0
  128. package/dist/packages/adapter-next/_node_modules/semver/functions/rsort.cjs.map +1 -0
  129. package/dist/packages/adapter-next/_node_modules/semver/functions/rsort.js +8 -0
  130. package/dist/packages/adapter-next/_node_modules/semver/functions/rsort.js.map +1 -0
  131. package/dist/packages/adapter-next/_node_modules/semver/functions/satisfies.cjs +15 -0
  132. package/dist/packages/adapter-next/_node_modules/semver/functions/satisfies.cjs.map +1 -0
  133. package/dist/packages/adapter-next/_node_modules/semver/functions/satisfies.js +15 -0
  134. package/dist/packages/adapter-next/_node_modules/semver/functions/satisfies.js.map +1 -0
  135. package/dist/packages/adapter-next/_node_modules/semver/functions/sort.cjs +8 -0
  136. package/dist/packages/adapter-next/_node_modules/semver/functions/sort.cjs.map +1 -0
  137. package/dist/packages/adapter-next/_node_modules/semver/functions/sort.js +8 -0
  138. package/dist/packages/adapter-next/_node_modules/semver/functions/sort.js.map +1 -0
  139. package/dist/packages/adapter-next/_node_modules/semver/functions/valid.cjs +11 -0
  140. package/dist/packages/adapter-next/_node_modules/semver/functions/valid.cjs.map +1 -0
  141. package/dist/packages/adapter-next/_node_modules/semver/functions/valid.js +11 -0
  142. package/dist/packages/adapter-next/_node_modules/semver/functions/valid.js.map +1 -0
  143. package/dist/packages/adapter-next/_node_modules/semver/index.cjs +134 -0
  144. package/dist/packages/adapter-next/_node_modules/semver/index.cjs.map +1 -0
  145. package/dist/packages/adapter-next/_node_modules/semver/index.js +135 -0
  146. package/dist/packages/adapter-next/_node_modules/semver/index.js.map +1 -0
  147. package/dist/packages/adapter-next/_node_modules/semver/internal/constants.cjs +27 -0
  148. package/dist/packages/adapter-next/_node_modules/semver/internal/constants.cjs.map +1 -0
  149. package/dist/packages/adapter-next/_node_modules/semver/internal/constants.js +27 -0
  150. package/dist/packages/adapter-next/_node_modules/semver/internal/constants.js.map +1 -0
  151. package/dist/packages/adapter-next/_node_modules/semver/internal/debug.cjs +7 -0
  152. package/dist/packages/adapter-next/_node_modules/semver/internal/debug.cjs.map +1 -0
  153. package/dist/packages/adapter-next/_node_modules/semver/internal/debug.js +7 -0
  154. package/dist/packages/adapter-next/_node_modules/semver/internal/debug.js.map +1 -0
  155. package/dist/packages/adapter-next/_node_modules/semver/internal/identifiers.cjs +19 -0
  156. package/dist/packages/adapter-next/_node_modules/semver/internal/identifiers.cjs.map +1 -0
  157. package/dist/packages/adapter-next/_node_modules/semver/internal/identifiers.js +19 -0
  158. package/dist/packages/adapter-next/_node_modules/semver/internal/identifiers.js.map +1 -0
  159. package/dist/packages/adapter-next/_node_modules/semver/internal/parse-options.cjs +16 -0
  160. package/dist/packages/adapter-next/_node_modules/semver/internal/parse-options.cjs.map +1 -0
  161. package/dist/packages/adapter-next/_node_modules/semver/internal/parse-options.js +16 -0
  162. package/dist/packages/adapter-next/_node_modules/semver/internal/parse-options.js.map +1 -0
  163. package/dist/packages/adapter-next/_node_modules/semver/internal/re.cjs +67 -0
  164. package/dist/packages/adapter-next/_node_modules/semver/internal/re.cjs.map +1 -0
  165. package/dist/packages/adapter-next/_node_modules/semver/internal/re.js +67 -0
  166. package/dist/packages/adapter-next/_node_modules/semver/internal/re.js.map +1 -0
  167. package/dist/packages/adapter-next/_node_modules/semver/ranges/gtr.cjs +8 -0
  168. package/dist/packages/adapter-next/_node_modules/semver/ranges/gtr.cjs.map +1 -0
  169. package/dist/packages/adapter-next/_node_modules/semver/ranges/gtr.js +8 -0
  170. package/dist/packages/adapter-next/_node_modules/semver/ranges/gtr.js.map +1 -0
  171. package/dist/packages/adapter-next/_node_modules/semver/ranges/intersects.cjs +12 -0
  172. package/dist/packages/adapter-next/_node_modules/semver/ranges/intersects.cjs.map +1 -0
  173. package/dist/packages/adapter-next/_node_modules/semver/ranges/intersects.js +12 -0
  174. package/dist/packages/adapter-next/_node_modules/semver/ranges/intersects.js.map +1 -0
  175. package/dist/packages/adapter-next/_node_modules/semver/ranges/ltr.cjs +8 -0
  176. package/dist/packages/adapter-next/_node_modules/semver/ranges/ltr.cjs.map +1 -0
  177. package/dist/packages/adapter-next/_node_modules/semver/ranges/ltr.js +8 -0
  178. package/dist/packages/adapter-next/_node_modules/semver/ranges/ltr.js.map +1 -0
  179. package/dist/packages/adapter-next/_node_modules/semver/ranges/max-satisfying.cjs +28 -0
  180. package/dist/packages/adapter-next/_node_modules/semver/ranges/max-satisfying.cjs.map +1 -0
  181. package/dist/packages/adapter-next/_node_modules/semver/ranges/max-satisfying.js +28 -0
  182. package/dist/packages/adapter-next/_node_modules/semver/ranges/max-satisfying.js.map +1 -0
  183. package/dist/packages/adapter-next/_node_modules/semver/ranges/min-satisfying.cjs +28 -0
  184. package/dist/packages/adapter-next/_node_modules/semver/ranges/min-satisfying.cjs.map +1 -0
  185. package/dist/packages/adapter-next/_node_modules/semver/ranges/min-satisfying.js +28 -0
  186. package/dist/packages/adapter-next/_node_modules/semver/ranges/min-satisfying.js.map +1 -0
  187. package/dist/packages/adapter-next/_node_modules/semver/ranges/min-version.cjs +57 -0
  188. package/dist/packages/adapter-next/_node_modules/semver/ranges/min-version.cjs.map +1 -0
  189. package/dist/packages/adapter-next/_node_modules/semver/ranges/min-version.js +57 -0
  190. package/dist/packages/adapter-next/_node_modules/semver/ranges/min-version.js.map +1 -0
  191. package/dist/packages/adapter-next/_node_modules/semver/ranges/outside.cjs +74 -0
  192. package/dist/packages/adapter-next/_node_modules/semver/ranges/outside.cjs.map +1 -0
  193. package/dist/packages/adapter-next/_node_modules/semver/ranges/outside.js +74 -0
  194. package/dist/packages/adapter-next/_node_modules/semver/ranges/outside.js.map +1 -0
  195. package/dist/packages/adapter-next/_node_modules/semver/ranges/simplify.cjs +49 -0
  196. package/dist/packages/adapter-next/_node_modules/semver/ranges/simplify.cjs.map +1 -0
  197. package/dist/packages/adapter-next/_node_modules/semver/ranges/simplify.js +49 -0
  198. package/dist/packages/adapter-next/_node_modules/semver/ranges/simplify.js.map +1 -0
  199. package/dist/packages/adapter-next/_node_modules/semver/ranges/subset.cjs +163 -0
  200. package/dist/packages/adapter-next/_node_modules/semver/ranges/subset.cjs.map +1 -0
  201. package/dist/packages/adapter-next/_node_modules/semver/ranges/subset.js +163 -0
  202. package/dist/packages/adapter-next/_node_modules/semver/ranges/subset.js.map +1 -0
  203. package/dist/packages/adapter-next/_node_modules/semver/ranges/to-comparators.cjs +8 -0
  204. package/dist/packages/adapter-next/_node_modules/semver/ranges/to-comparators.cjs.map +1 -0
  205. package/dist/packages/adapter-next/_node_modules/semver/ranges/to-comparators.js +8 -0
  206. package/dist/packages/adapter-next/_node_modules/semver/ranges/to-comparators.js.map +1 -0
  207. package/dist/packages/adapter-next/_node_modules/semver/ranges/valid.cjs +14 -0
  208. package/dist/packages/adapter-next/_node_modules/semver/ranges/valid.cjs.map +1 -0
  209. package/dist/packages/adapter-next/_node_modules/semver/ranges/valid.js +14 -0
  210. package/dist/packages/adapter-next/_node_modules/semver/ranges/valid.js.map +1 -0
  211. package/dist/plugin.cjs +1 -1
  212. package/dist/plugin.js +1 -1
  213. package/package.json +7 -8
  214. package/src/hooks/project-init.ts +6 -1
  215. package/src/lib/getNextJSVersion.ts +16 -0
  216. package/src/lib/requireResolve.ts +30 -0
  217. /package/dist/{package.json.cjs → packages/adapter-next/package.json.cjs} +0 -0
  218. /package/dist/{package.json.cjs.map → packages/adapter-next/package.json.cjs.map} +0 -0
  219. /package/dist/{package.json.js → packages/adapter-next/package.json.js} +0 -0
  220. /package/dist/{package.json.js.map → packages/adapter-next/package.json.js.map} +0 -0
@@ -0,0 +1,367 @@
1
+ import { __require as requireIterator } from "./iterator.js";
2
+ var yallist = Yallist;
3
+ Yallist.Node = Node;
4
+ Yallist.create = Yallist;
5
+ function Yallist(list) {
6
+ var self = this;
7
+ if (!(self instanceof Yallist)) {
8
+ self = new Yallist();
9
+ }
10
+ self.tail = null;
11
+ self.head = null;
12
+ self.length = 0;
13
+ if (list && typeof list.forEach === "function") {
14
+ list.forEach(function(item) {
15
+ self.push(item);
16
+ });
17
+ } else if (arguments.length > 0) {
18
+ for (var i = 0, l = arguments.length; i < l; i++) {
19
+ self.push(arguments[i]);
20
+ }
21
+ }
22
+ return self;
23
+ }
24
+ Yallist.prototype.removeNode = function(node) {
25
+ if (node.list !== this) {
26
+ throw new Error("removing node which does not belong to this list");
27
+ }
28
+ var next = node.next;
29
+ var prev = node.prev;
30
+ if (next) {
31
+ next.prev = prev;
32
+ }
33
+ if (prev) {
34
+ prev.next = next;
35
+ }
36
+ if (node === this.head) {
37
+ this.head = next;
38
+ }
39
+ if (node === this.tail) {
40
+ this.tail = prev;
41
+ }
42
+ node.list.length--;
43
+ node.next = null;
44
+ node.prev = null;
45
+ node.list = null;
46
+ return next;
47
+ };
48
+ Yallist.prototype.unshiftNode = function(node) {
49
+ if (node === this.head) {
50
+ return;
51
+ }
52
+ if (node.list) {
53
+ node.list.removeNode(node);
54
+ }
55
+ var head = this.head;
56
+ node.list = this;
57
+ node.next = head;
58
+ if (head) {
59
+ head.prev = node;
60
+ }
61
+ this.head = node;
62
+ if (!this.tail) {
63
+ this.tail = node;
64
+ }
65
+ this.length++;
66
+ };
67
+ Yallist.prototype.pushNode = function(node) {
68
+ if (node === this.tail) {
69
+ return;
70
+ }
71
+ if (node.list) {
72
+ node.list.removeNode(node);
73
+ }
74
+ var tail = this.tail;
75
+ node.list = this;
76
+ node.prev = tail;
77
+ if (tail) {
78
+ tail.next = node;
79
+ }
80
+ this.tail = node;
81
+ if (!this.head) {
82
+ this.head = node;
83
+ }
84
+ this.length++;
85
+ };
86
+ Yallist.prototype.push = function() {
87
+ for (var i = 0, l = arguments.length; i < l; i++) {
88
+ push(this, arguments[i]);
89
+ }
90
+ return this.length;
91
+ };
92
+ Yallist.prototype.unshift = function() {
93
+ for (var i = 0, l = arguments.length; i < l; i++) {
94
+ unshift(this, arguments[i]);
95
+ }
96
+ return this.length;
97
+ };
98
+ Yallist.prototype.pop = function() {
99
+ if (!this.tail) {
100
+ return void 0;
101
+ }
102
+ var res = this.tail.value;
103
+ this.tail = this.tail.prev;
104
+ if (this.tail) {
105
+ this.tail.next = null;
106
+ } else {
107
+ this.head = null;
108
+ }
109
+ this.length--;
110
+ return res;
111
+ };
112
+ Yallist.prototype.shift = function() {
113
+ if (!this.head) {
114
+ return void 0;
115
+ }
116
+ var res = this.head.value;
117
+ this.head = this.head.next;
118
+ if (this.head) {
119
+ this.head.prev = null;
120
+ } else {
121
+ this.tail = null;
122
+ }
123
+ this.length--;
124
+ return res;
125
+ };
126
+ Yallist.prototype.forEach = function(fn, thisp) {
127
+ thisp = thisp || this;
128
+ for (var walker = this.head, i = 0; walker !== null; i++) {
129
+ fn.call(thisp, walker.value, i, this);
130
+ walker = walker.next;
131
+ }
132
+ };
133
+ Yallist.prototype.forEachReverse = function(fn, thisp) {
134
+ thisp = thisp || this;
135
+ for (var walker = this.tail, i = this.length - 1; walker !== null; i--) {
136
+ fn.call(thisp, walker.value, i, this);
137
+ walker = walker.prev;
138
+ }
139
+ };
140
+ Yallist.prototype.get = function(n) {
141
+ for (var i = 0, walker = this.head; walker !== null && i < n; i++) {
142
+ walker = walker.next;
143
+ }
144
+ if (i === n && walker !== null) {
145
+ return walker.value;
146
+ }
147
+ };
148
+ Yallist.prototype.getReverse = function(n) {
149
+ for (var i = 0, walker = this.tail; walker !== null && i < n; i++) {
150
+ walker = walker.prev;
151
+ }
152
+ if (i === n && walker !== null) {
153
+ return walker.value;
154
+ }
155
+ };
156
+ Yallist.prototype.map = function(fn, thisp) {
157
+ thisp = thisp || this;
158
+ var res = new Yallist();
159
+ for (var walker = this.head; walker !== null; ) {
160
+ res.push(fn.call(thisp, walker.value, this));
161
+ walker = walker.next;
162
+ }
163
+ return res;
164
+ };
165
+ Yallist.prototype.mapReverse = function(fn, thisp) {
166
+ thisp = thisp || this;
167
+ var res = new Yallist();
168
+ for (var walker = this.tail; walker !== null; ) {
169
+ res.push(fn.call(thisp, walker.value, this));
170
+ walker = walker.prev;
171
+ }
172
+ return res;
173
+ };
174
+ Yallist.prototype.reduce = function(fn, initial) {
175
+ var acc;
176
+ var walker = this.head;
177
+ if (arguments.length > 1) {
178
+ acc = initial;
179
+ } else if (this.head) {
180
+ walker = this.head.next;
181
+ acc = this.head.value;
182
+ } else {
183
+ throw new TypeError("Reduce of empty list with no initial value");
184
+ }
185
+ for (var i = 0; walker !== null; i++) {
186
+ acc = fn(acc, walker.value, i);
187
+ walker = walker.next;
188
+ }
189
+ return acc;
190
+ };
191
+ Yallist.prototype.reduceReverse = function(fn, initial) {
192
+ var acc;
193
+ var walker = this.tail;
194
+ if (arguments.length > 1) {
195
+ acc = initial;
196
+ } else if (this.tail) {
197
+ walker = this.tail.prev;
198
+ acc = this.tail.value;
199
+ } else {
200
+ throw new TypeError("Reduce of empty list with no initial value");
201
+ }
202
+ for (var i = this.length - 1; walker !== null; i--) {
203
+ acc = fn(acc, walker.value, i);
204
+ walker = walker.prev;
205
+ }
206
+ return acc;
207
+ };
208
+ Yallist.prototype.toArray = function() {
209
+ var arr = new Array(this.length);
210
+ for (var i = 0, walker = this.head; walker !== null; i++) {
211
+ arr[i] = walker.value;
212
+ walker = walker.next;
213
+ }
214
+ return arr;
215
+ };
216
+ Yallist.prototype.toArrayReverse = function() {
217
+ var arr = new Array(this.length);
218
+ for (var i = 0, walker = this.tail; walker !== null; i++) {
219
+ arr[i] = walker.value;
220
+ walker = walker.prev;
221
+ }
222
+ return arr;
223
+ };
224
+ Yallist.prototype.slice = function(from, to) {
225
+ to = to || this.length;
226
+ if (to < 0) {
227
+ to += this.length;
228
+ }
229
+ from = from || 0;
230
+ if (from < 0) {
231
+ from += this.length;
232
+ }
233
+ var ret = new Yallist();
234
+ if (to < from || to < 0) {
235
+ return ret;
236
+ }
237
+ if (from < 0) {
238
+ from = 0;
239
+ }
240
+ if (to > this.length) {
241
+ to = this.length;
242
+ }
243
+ for (var i = 0, walker = this.head; walker !== null && i < from; i++) {
244
+ walker = walker.next;
245
+ }
246
+ for (; walker !== null && i < to; i++, walker = walker.next) {
247
+ ret.push(walker.value);
248
+ }
249
+ return ret;
250
+ };
251
+ Yallist.prototype.sliceReverse = function(from, to) {
252
+ to = to || this.length;
253
+ if (to < 0) {
254
+ to += this.length;
255
+ }
256
+ from = from || 0;
257
+ if (from < 0) {
258
+ from += this.length;
259
+ }
260
+ var ret = new Yallist();
261
+ if (to < from || to < 0) {
262
+ return ret;
263
+ }
264
+ if (from < 0) {
265
+ from = 0;
266
+ }
267
+ if (to > this.length) {
268
+ to = this.length;
269
+ }
270
+ for (var i = this.length, walker = this.tail; walker !== null && i > to; i--) {
271
+ walker = walker.prev;
272
+ }
273
+ for (; walker !== null && i > from; i--, walker = walker.prev) {
274
+ ret.push(walker.value);
275
+ }
276
+ return ret;
277
+ };
278
+ Yallist.prototype.splice = function(start, deleteCount, ...nodes) {
279
+ if (start > this.length) {
280
+ start = this.length - 1;
281
+ }
282
+ if (start < 0) {
283
+ start = this.length + start;
284
+ }
285
+ for (var i = 0, walker = this.head; walker !== null && i < start; i++) {
286
+ walker = walker.next;
287
+ }
288
+ var ret = [];
289
+ for (var i = 0; walker && i < deleteCount; i++) {
290
+ ret.push(walker.value);
291
+ walker = this.removeNode(walker);
292
+ }
293
+ if (walker === null) {
294
+ walker = this.tail;
295
+ }
296
+ if (walker !== this.head && walker !== this.tail) {
297
+ walker = walker.prev;
298
+ }
299
+ for (var i = 0; i < nodes.length; i++) {
300
+ walker = insert(this, walker, nodes[i]);
301
+ }
302
+ return ret;
303
+ };
304
+ Yallist.prototype.reverse = function() {
305
+ var head = this.head;
306
+ var tail = this.tail;
307
+ for (var walker = head; walker !== null; walker = walker.prev) {
308
+ var p = walker.prev;
309
+ walker.prev = walker.next;
310
+ walker.next = p;
311
+ }
312
+ this.head = tail;
313
+ this.tail = head;
314
+ return this;
315
+ };
316
+ function insert(self, node, value) {
317
+ var inserted = node === self.head ? new Node(value, null, node, self) : new Node(value, node, node.next, self);
318
+ if (inserted.next === null) {
319
+ self.tail = inserted;
320
+ }
321
+ if (inserted.prev === null) {
322
+ self.head = inserted;
323
+ }
324
+ self.length++;
325
+ return inserted;
326
+ }
327
+ function push(self, item) {
328
+ self.tail = new Node(item, self.tail, null, self);
329
+ if (!self.head) {
330
+ self.head = self.tail;
331
+ }
332
+ self.length++;
333
+ }
334
+ function unshift(self, item) {
335
+ self.head = new Node(item, null, self.head, self);
336
+ if (!self.tail) {
337
+ self.tail = self.head;
338
+ }
339
+ self.length++;
340
+ }
341
+ function Node(value, prev, next, list) {
342
+ if (!(this instanceof Node)) {
343
+ return new Node(value, prev, next, list);
344
+ }
345
+ this.list = list;
346
+ this.value = value;
347
+ if (prev) {
348
+ prev.next = this;
349
+ this.prev = prev;
350
+ } else {
351
+ this.prev = null;
352
+ }
353
+ if (next) {
354
+ next.prev = this;
355
+ this.next = next;
356
+ } else {
357
+ this.next = null;
358
+ }
359
+ }
360
+ try {
361
+ requireIterator()(Yallist);
362
+ } catch (er) {
363
+ }
364
+ export {
365
+ yallist as y
366
+ };
367
+ //# sourceMappingURL=yallist.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"yallist.js","sources":["../../../../../node_modules/yallist/yallist.js"],"sourcesContent":["'use strict'\nmodule.exports = Yallist\n\nYallist.Node = Node\nYallist.create = Yallist\n\nfunction Yallist (list) {\n var self = this\n if (!(self instanceof Yallist)) {\n self = new Yallist()\n }\n\n self.tail = null\n self.head = null\n self.length = 0\n\n if (list && typeof list.forEach === 'function') {\n list.forEach(function (item) {\n self.push(item)\n })\n } else if (arguments.length > 0) {\n for (var i = 0, l = arguments.length; i < l; i++) {\n self.push(arguments[i])\n }\n }\n\n return self\n}\n\nYallist.prototype.removeNode = function (node) {\n if (node.list !== this) {\n throw new Error('removing node which does not belong to this list')\n }\n\n var next = node.next\n var prev = node.prev\n\n if (next) {\n next.prev = prev\n }\n\n if (prev) {\n prev.next = next\n }\n\n if (node === this.head) {\n this.head = next\n }\n if (node === this.tail) {\n this.tail = prev\n }\n\n node.list.length--\n node.next = null\n node.prev = null\n node.list = null\n\n return next\n}\n\nYallist.prototype.unshiftNode = function (node) {\n if (node === this.head) {\n return\n }\n\n if (node.list) {\n node.list.removeNode(node)\n }\n\n var head = this.head\n node.list = this\n node.next = head\n if (head) {\n head.prev = node\n }\n\n this.head = node\n if (!this.tail) {\n this.tail = node\n }\n this.length++\n}\n\nYallist.prototype.pushNode = function (node) {\n if (node === this.tail) {\n return\n }\n\n if (node.list) {\n node.list.removeNode(node)\n }\n\n var tail = this.tail\n node.list = this\n node.prev = tail\n if (tail) {\n tail.next = node\n }\n\n this.tail = node\n if (!this.head) {\n this.head = node\n }\n this.length++\n}\n\nYallist.prototype.push = function () {\n for (var i = 0, l = arguments.length; i < l; i++) {\n push(this, arguments[i])\n }\n return this.length\n}\n\nYallist.prototype.unshift = function () {\n for (var i = 0, l = arguments.length; i < l; i++) {\n unshift(this, arguments[i])\n }\n return this.length\n}\n\nYallist.prototype.pop = function () {\n if (!this.tail) {\n return undefined\n }\n\n var res = this.tail.value\n this.tail = this.tail.prev\n if (this.tail) {\n this.tail.next = null\n } else {\n this.head = null\n }\n this.length--\n return res\n}\n\nYallist.prototype.shift = function () {\n if (!this.head) {\n return undefined\n }\n\n var res = this.head.value\n this.head = this.head.next\n if (this.head) {\n this.head.prev = null\n } else {\n this.tail = null\n }\n this.length--\n return res\n}\n\nYallist.prototype.forEach = function (fn, thisp) {\n thisp = thisp || this\n for (var walker = this.head, i = 0; walker !== null; i++) {\n fn.call(thisp, walker.value, i, this)\n walker = walker.next\n }\n}\n\nYallist.prototype.forEachReverse = function (fn, thisp) {\n thisp = thisp || this\n for (var walker = this.tail, i = this.length - 1; walker !== null; i--) {\n fn.call(thisp, walker.value, i, this)\n walker = walker.prev\n }\n}\n\nYallist.prototype.get = function (n) {\n for (var i = 0, walker = this.head; walker !== null && i < n; i++) {\n // abort out of the list early if we hit a cycle\n walker = walker.next\n }\n if (i === n && walker !== null) {\n return walker.value\n }\n}\n\nYallist.prototype.getReverse = function (n) {\n for (var i = 0, walker = this.tail; walker !== null && i < n; i++) {\n // abort out of the list early if we hit a cycle\n walker = walker.prev\n }\n if (i === n && walker !== null) {\n return walker.value\n }\n}\n\nYallist.prototype.map = function (fn, thisp) {\n thisp = thisp || this\n var res = new Yallist()\n for (var walker = this.head; walker !== null;) {\n res.push(fn.call(thisp, walker.value, this))\n walker = walker.next\n }\n return res\n}\n\nYallist.prototype.mapReverse = function (fn, thisp) {\n thisp = thisp || this\n var res = new Yallist()\n for (var walker = this.tail; walker !== null;) {\n res.push(fn.call(thisp, walker.value, this))\n walker = walker.prev\n }\n return res\n}\n\nYallist.prototype.reduce = function (fn, initial) {\n var acc\n var walker = this.head\n if (arguments.length > 1) {\n acc = initial\n } else if (this.head) {\n walker = this.head.next\n acc = this.head.value\n } else {\n throw new TypeError('Reduce of empty list with no initial value')\n }\n\n for (var i = 0; walker !== null; i++) {\n acc = fn(acc, walker.value, i)\n walker = walker.next\n }\n\n return acc\n}\n\nYallist.prototype.reduceReverse = function (fn, initial) {\n var acc\n var walker = this.tail\n if (arguments.length > 1) {\n acc = initial\n } else if (this.tail) {\n walker = this.tail.prev\n acc = this.tail.value\n } else {\n throw new TypeError('Reduce of empty list with no initial value')\n }\n\n for (var i = this.length - 1; walker !== null; i--) {\n acc = fn(acc, walker.value, i)\n walker = walker.prev\n }\n\n return acc\n}\n\nYallist.prototype.toArray = function () {\n var arr = new Array(this.length)\n for (var i = 0, walker = this.head; walker !== null; i++) {\n arr[i] = walker.value\n walker = walker.next\n }\n return arr\n}\n\nYallist.prototype.toArrayReverse = function () {\n var arr = new Array(this.length)\n for (var i = 0, walker = this.tail; walker !== null; i++) {\n arr[i] = walker.value\n walker = walker.prev\n }\n return arr\n}\n\nYallist.prototype.slice = function (from, to) {\n to = to || this.length\n if (to < 0) {\n to += this.length\n }\n from = from || 0\n if (from < 0) {\n from += this.length\n }\n var ret = new Yallist()\n if (to < from || to < 0) {\n return ret\n }\n if (from < 0) {\n from = 0\n }\n if (to > this.length) {\n to = this.length\n }\n for (var i = 0, walker = this.head; walker !== null && i < from; i++) {\n walker = walker.next\n }\n for (; walker !== null && i < to; i++, walker = walker.next) {\n ret.push(walker.value)\n }\n return ret\n}\n\nYallist.prototype.sliceReverse = function (from, to) {\n to = to || this.length\n if (to < 0) {\n to += this.length\n }\n from = from || 0\n if (from < 0) {\n from += this.length\n }\n var ret = new Yallist()\n if (to < from || to < 0) {\n return ret\n }\n if (from < 0) {\n from = 0\n }\n if (to > this.length) {\n to = this.length\n }\n for (var i = this.length, walker = this.tail; walker !== null && i > to; i--) {\n walker = walker.prev\n }\n for (; walker !== null && i > from; i--, walker = walker.prev) {\n ret.push(walker.value)\n }\n return ret\n}\n\nYallist.prototype.splice = function (start, deleteCount, ...nodes) {\n if (start > this.length) {\n start = this.length - 1\n }\n if (start < 0) {\n start = this.length + start;\n }\n\n for (var i = 0, walker = this.head; walker !== null && i < start; i++) {\n walker = walker.next\n }\n\n var ret = []\n for (var i = 0; walker && i < deleteCount; i++) {\n ret.push(walker.value)\n walker = this.removeNode(walker)\n }\n if (walker === null) {\n walker = this.tail\n }\n\n if (walker !== this.head && walker !== this.tail) {\n walker = walker.prev\n }\n\n for (var i = 0; i < nodes.length; i++) {\n walker = insert(this, walker, nodes[i])\n }\n return ret;\n}\n\nYallist.prototype.reverse = function () {\n var head = this.head\n var tail = this.tail\n for (var walker = head; walker !== null; walker = walker.prev) {\n var p = walker.prev\n walker.prev = walker.next\n walker.next = p\n }\n this.head = tail\n this.tail = head\n return this\n}\n\nfunction insert (self, node, value) {\n var inserted = node === self.head ?\n new Node(value, null, node, self) :\n new Node(value, node, node.next, self)\n\n if (inserted.next === null) {\n self.tail = inserted\n }\n if (inserted.prev === null) {\n self.head = inserted\n }\n\n self.length++\n\n return inserted\n}\n\nfunction push (self, item) {\n self.tail = new Node(item, self.tail, null, self)\n if (!self.head) {\n self.head = self.tail\n }\n self.length++\n}\n\nfunction unshift (self, item) {\n self.head = new Node(item, null, self.head, self)\n if (!self.tail) {\n self.tail = self.head\n }\n self.length++\n}\n\nfunction Node (value, prev, next, list) {\n if (!(this instanceof Node)) {\n return new Node(value, prev, next, list)\n }\n\n this.list = list\n this.value = value\n\n if (prev) {\n prev.next = this\n this.prev = prev\n } else {\n this.prev = null\n }\n\n if (next) {\n next.prev = this\n this.next = next\n } else {\n this.next = null\n }\n}\n\ntry {\n // add if support for Symbol.iterator is present\n require('./iterator.js')(Yallist)\n} catch (er) {}\n"],"names":["require$$0"],"mappings":"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","x_google_ignoreList":[0]}
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ function getDefaultExportFromCjs(x) {
4
+ return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, "default") ? x["default"] : x;
5
+ }
6
+ exports.getDefaultExportFromCjs = getDefaultExportFromCjs;
7
+ //# sourceMappingURL=_commonjsHelpers.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_commonjsHelpers.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
@@ -0,0 +1,7 @@
1
+ function getDefaultExportFromCjs(x) {
2
+ return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, "default") ? x["default"] : x;
3
+ }
4
+ export {
5
+ getDefaultExportFromCjs
6
+ };
7
+ //# sourceMappingURL=_commonjsHelpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_commonjsHelpers.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;"}
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ var re = { exports: {} };
4
+ exports.__module = re;
5
+ //# sourceMappingURL=re.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"re.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
@@ -0,0 +1,5 @@
1
+ var re = { exports: {} };
2
+ export {
3
+ re as __module
4
+ };
5
+ //# sourceMappingURL=re.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"re.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const fs = require("@slicemachine/plugin-kit/fs");
4
4
  const commonTags = require("common-tags");
5
+ const index = require('./../packages/adapter-next/_node_modules/semver/index.cjs');
5
6
  const buildSrcPath = require("../lib/buildSrcPath.cjs");
6
7
  const checkHasAppRouter = require("../lib/checkHasAppRouter.cjs");
7
8
  const checkIsTypeScriptProject = require("../lib/checkIsTypeScriptProject.cjs");
@@ -9,6 +10,7 @@ const getJSFileExtension = require("../lib/getJSFileExtension.cjs");
9
10
  const rejectIfNecessary = require("../lib/rejectIfNecessary.cjs");
10
11
  const upsertSliceLibraryIndexFile = require("../lib/upsertSliceLibraryIndexFile.cjs");
11
12
  const constants = require("../constants.cjs");
13
+ const getNextJSVersion = require("../lib/getNextJSVersion.cjs");
12
14
  const installDependencies = async ({ installDependencies: installDependencies2 }) => {
13
15
  await installDependencies2({
14
16
  dependencies: {
@@ -451,6 +453,8 @@ const createRevalidateRoute = async ({ helpers, options }) => {
451
453
  if (!hasAppRouter) {
452
454
  return;
453
455
  }
456
+ const nextJSVersion = await getNextJSVersion.getNextJSVersion();
457
+ const supportsCacheLife = index.gte(nextJSVersion, "16.0.0-beta.0");
454
458
  const extension = await getJSFileExtension.getJSFileExtension({ helpers, options });
455
459
  const filename = await buildSrcPath.buildSrcPath({
456
460
  filename: `app/api/revalidate/route.${extension}`,
@@ -464,7 +468,7 @@ const createRevalidateRoute = async ({ helpers, options }) => {
464
468
  import { revalidateTag } from "next/cache";
465
469
 
466
470
  export async function POST() {
467
- revalidateTag("prismic");
471
+ revalidateTag("prismic"${supportsCacheLife ? ', "max"' : ""});
468
472
 
469
473
  return NextResponse.json({ revalidated: true, now: Date.now() });
470
474
  }
@@ -1 +1 @@
1
- {"version":3,"file":"project-init.cjs","sources":["../../../src/hooks/project-init.ts"],"sourcesContent":["import type {\n\tProjectInitHook,\n\tProjectInitHookData,\n\tSliceMachineContext,\n} from \"@slicemachine/plugin-kit\";\nimport {\n\tcheckHasProjectFile,\n\twriteProjectFile,\n} from \"@slicemachine/plugin-kit/fs\";\nimport { source } from \"common-tags\";\n\nimport { buildSrcPath } from \"../lib/buildSrcPath\";\nimport { checkHasAppRouter } from \"../lib/checkHasAppRouter\";\nimport { checkIsTypeScriptProject } from \"../lib/checkIsTypeScriptProject\";\nimport { getJSFileExtension } from \"../lib/getJSFileExtension\";\nimport { rejectIfNecessary } from \"../lib/rejectIfNecessary\";\nimport { upsertSliceLibraryIndexFile } from \"../lib/upsertSliceLibraryIndexFile\";\n\nimport type { PluginOptions } from \"../types\";\nimport { PRISMIC_ENVIRONMENT_ENVIRONMENT_VARIABLE_NAME } from \"../constants\";\n\ntype InstallDependenciesArgs = {\n\tinstallDependencies: ProjectInitHookData[\"installDependencies\"];\n};\n\nconst installDependencies = async ({\n\tinstallDependencies,\n}: InstallDependenciesArgs) => {\n\tawait installDependencies({\n\t\tdependencies: {\n\t\t\t\"@prismicio/client\": \"latest\",\n\t\t\t\"@prismicio/react\": \"latest\",\n\t\t\t\"@prismicio/next\": \"latest\",\n\t\t},\n\t});\n};\n\ntype CreatePrismicIOFileArgs = SliceMachineContext<PluginOptions>;\n\nconst createPrismicIOFile = async ({\n\thelpers,\n\toptions,\n}: CreatePrismicIOFileArgs) => {\n\tconst isTypeScriptProject = await checkIsTypeScriptProject({\n\t\thelpers,\n\t\toptions,\n\t});\n\tconst hasSrcDirectory = await checkHasProjectFile({\n\t\tfilename: \"src\",\n\t\thelpers,\n\t});\n\tconst hasAppRouter = await checkHasAppRouter({ helpers });\n\n\tconst extension = await getJSFileExtension({ helpers, options });\n\tconst filename = await buildSrcPath({\n\t\tfilename: `prismicio.${extension}`,\n\t\thelpers,\n\t});\n\n\tif (await checkHasProjectFile({ filename, helpers })) {\n\t\treturn;\n\t}\n\n\tlet importsContents: string;\n\tlet createClientContents: string;\n\n\tif (hasAppRouter) {\n\t\tif (isTypeScriptProject) {\n\t\t\timportsContents = source`\n\t\t\t\timport {\n\t\t\t\t\tcreateClient as baseCreateClient,\n\t\t\t\t\ttype ClientConfig,\n\t\t\t\t\ttype Route,\n\t\t\t\t} from \"@prismicio/client\";\n\t\t\t\timport { enableAutoPreviews } from \"@prismicio/next\";\n\t\t\t\timport sm from \"${hasSrcDirectory ? \"..\" : \".\"}/slicemachine.config.json\";\n\t\t\t`;\n\n\t\t\tcreateClientContents = source`\n\t\t\t\t/**\n\t\t\t\t * Creates a Prismic client for the project's repository. The client is used to\n\t\t\t\t * query content from the Prismic API.\n\t\t\t\t *\n\t\t\t\t * @param config - Configuration for the Prismic client.\n\t\t\t\t */\n\t\t\t\texport const createClient = (config: ClientConfig = {}) => {\n\t\t\t\t\tconst client = baseCreateClient(repositoryName, {\n\t\t\t\t\t\troutes,\n\t\t\t\t\t\tfetchOptions:\n\t\t\t\t\t\t\tprocess.env.NODE_ENV === 'production'\n\t\t\t\t\t\t\t\t? { next: { tags: ['prismic'] }, cache: 'force-cache' }\n\t\t\t\t\t\t\t\t: { next: { revalidate: 5 } },\n\t\t\t\t\t\t...config,\n\t\t\t\t\t});\n\n\t\t\t\t\tenableAutoPreviews({ client });\n\n\t\t\t\t\treturn client;\n\t\t\t\t};\n\t\t\t`;\n\t\t} else {\n\t\t\timportsContents = source`\n\t\t\t\timport { createClient as baseCreateClient } from \"@prismicio/client\";\n\t\t\t\timport { enableAutoPreviews } from \"@prismicio/next\";\n\t\t\t\timport sm from \"${hasSrcDirectory ? \"..\" : \".\"}/slicemachine.config.json\";\n\t\t\t`;\n\n\t\t\tcreateClientContents = source`\n\t\t\t\t/**\n\t\t\t\t * Creates a Prismic client for the project's repository. The client is used to\n\t\t\t\t * query content from the Prismic API.\n\t\t\t\t *\n\t\t\t\t * @param {import(\"@prismicio/client\").ClientConfig} config - Configuration for the Prismic client.\n\t\t\t\t */\n\t\t\t\texport const createClient = (config = {}) => {\n\t\t\t\t\tconst client = baseCreateClient(repositoryName, {\n\t\t\t\t\t\troutes,\n\t\t\t\t\t\tfetchOptions:\n\t\t\t\t\t\t\tprocess.env.NODE_ENV === 'production'\n\t\t\t\t\t\t\t\t? { next: { tags: ['prismic'] }, cache: 'force-cache' }\n\t\t\t\t\t\t\t\t: { next: { revalidate: 5 } },\n\t\t\t\t\t\t...config,\n\t\t\t\t\t});\n\n\t\t\t\t\tenableAutoPreviews({ client });\n\n\t\t\t\t\treturn client;\n\t\t\t\t};\n\t\t\t`;\n\t\t}\n\t} else {\n\t\tif (isTypeScriptProject) {\n\t\t\timportsContents = source`\n\t\t\t\timport { createClient as baseCreateClient, type Routes } from \"@prismicio/client\";\n\t\t\t\timport { enableAutoPreviews, type CreateClientConfig } from \"@prismicio/next/pages\";\n\t\t\t\timport sm from \"${hasSrcDirectory ? \"..\" : \".\"}/slicemachine.config.json\";\n\t\t\t`;\n\n\t\t\tcreateClientContents = source`\n\t\t\t\t/**\n\t\t\t\t * Creates a Prismic client for the project's repository. The client is used to\n\t\t\t\t * query content from the Prismic API.\n\t\t\t\t *\n\t\t\t\t * @param config - Configuration for the Prismic client.\n\t\t\t\t */\n\t\t\t\texport const createClient = ({ previewData, req, ...config }: CreateClientConfig = {}) => {\n\t\t\t\t\tconst client = baseCreateClient(repositoryName, {\n\t\t\t\t\t\troutes,\n\t\t\t\t\t\t...config,\n\t\t\t\t\t});\n\n\t\t\t\t\tenableAutoPreviews({ client, previewData, req });\n\n\t\t\t\t\treturn client;\n\t\t\t\t};\n\t\t\t`;\n\t\t} else {\n\t\t\timportsContents = source`\n\t\t\t\timport { createClient as baseCreateClient } from \"@prismicio/client\";\n\t\t\t\timport { enableAutoPreviews } from \"@prismicio/next/pages\";\n\t\t\t\timport sm from \"${hasSrcDirectory ? \"..\" : \".\"}/slicemachine.config.json\";\n\t\t\t`;\n\n\t\t\tcreateClientContents = source`\n\t\t\t\t/**\n\t\t\t\t * Creates a Prismic client for the project's repository. The client is used to\n\t\t\t\t * query content from the Prismic API.\n\t\t\t\t *\n\t\t\t\t * @param {import(\"@prismicio/next/pages\").CreateClientConfig} config - Configuration for the Prismic client.\n\t\t\t\t */\n\t\t\t\texport const createClient = ({ previewData, req, ...config } = {}) => {\n\t\t\t\t\tconst client = baseCreateClient(repositoryName, {\n\t\t\t\t\t\troutes,\n\t\t\t\t\t\t...config,\n\t\t\t\t\t});\n\n\t\t\t\t\tenableAutoPreviews({ client, previewData, req });\n\n\t\t\t\t\treturn client;\n\t\t\t\t};\n\t\t\t`;\n\t\t}\n\t}\n\n\tlet contents: string;\n\n\tif (isTypeScriptProject) {\n\t\tcontents = source`\n\t\t\t${importsContents}\n\n\t\t\t/**\n\t\t\t * The project's Prismic repository name.\n\t\t\t */\n\t\t\texport const repositoryName =\n\t\t\t\tprocess.env.${PRISMIC_ENVIRONMENT_ENVIRONMENT_VARIABLE_NAME} || sm.repositoryName;\n\n\t\t\t/**\n\t\t\t * A list of Route Resolver objects that define how a document's \\`url\\` field is resolved.\n\t\t\t *\n\t\t\t * {@link https://prismic.io/docs/route-resolver#route-resolver}\n\t\t\t */\n\t\t\t// TODO: Update the routes array to match your project's route structure.\n\t\t\tconst routes: Route[] = [\n\t\t\t\t// Examples:\n\t\t\t\t// { type: \"homepage\", path: \"/\" },\n\t\t\t\t// { type: \"page\", path: \"/:uid\" },\n\t\t\t];\n\n\t\t\t${createClientContents}\n\t\t`;\n\t} else {\n\t\tcontents = source`\n\t\t\t${importsContents}\n\n\t\t\t/**\n\t\t\t * The project's Prismic repository name.\n\t\t\t */\n\t\t\texport const repositoryName =\n\t\t\t\tprocess.env.${PRISMIC_ENVIRONMENT_ENVIRONMENT_VARIABLE_NAME} || sm.repositoryName;\n\n\t\t\t/**\n\t\t\t * A list of Route Resolver objects that define how a document's \\`url\\` field is resolved.\n\t\t\t *\n\t\t\t * {@link https://prismic.io/docs/route-resolver#route-resolver}\n\t\t\t *\n\t\t\t * @type {import(\"@prismicio/client\").Route[]}\n\t\t\t */\n\t\t\t// TODO: Update the routes array to match your project's route structure.\n\t\t\tconst routes = [\n\t\t\t\t// Examples:\n\t\t\t\t// { type: \"homepage\", path: \"/\" },\n\t\t\t\t// { type: \"page\", path: \"/:uid\" },\n\t\t\t];\n\n\t\t\t${createClientContents}\n\t\t`;\n\t}\n\n\tawait writeProjectFile({\n\t\tfilename,\n\t\tcontents,\n\t\tformat: options.format,\n\t\thelpers,\n\t});\n};\n\ntype CreateSliceSimulatorPageArgs = SliceMachineContext<PluginOptions>;\n\nconst createSliceSimulatorPage = async ({\n\thelpers,\n\toptions,\n}: CreateSliceSimulatorPageArgs) => {\n\tconst isTypeScriptProject = await checkIsTypeScriptProject({\n\t\thelpers,\n\t\toptions,\n\t});\n\tconst hasAppRouter = await checkHasAppRouter({ helpers });\n\n\tconst extension = await getJSFileExtension({ helpers, options, jsx: true });\n\tconst filename = await buildSrcPath({\n\t\tfilename: hasAppRouter\n\t\t\t? `app/slice-simulator/page.${extension}`\n\t\t\t: `pages/slice-simulator.${extension}`,\n\t\thelpers,\n\t});\n\n\tif (await checkHasProjectFile({ filename, helpers })) {\n\t\treturn;\n\t}\n\n\tlet contents;\n\n\tif (hasAppRouter) {\n\t\tif (isTypeScriptProject) {\n\t\t\tcontents = source`\n\t\t\t\timport {\n\t\t\t\t\tSliceSimulator,\n\t\t\t\t\tSliceSimulatorParams,\n\t\t\t\t\tgetSlices,\n\t\t\t\t} from \"@slicemachine/adapter-next/simulator\";\n\t\t\t\timport { SliceZone } from \"@prismicio/react\";\n\n\t\t\t\timport { components } from \"../../slices\";\n\n\t\t\t\texport default async function SliceSimulatorPage({\n\t\t\t\t\tsearchParams,\n\t\t\t\t}: SliceSimulatorParams) {\n\t\t\t\t\tconst { state } = await searchParams\n\t\t\t\t\tconst slices = getSlices(state);\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<SliceSimulator>\n\t\t\t\t\t\t\t<SliceZone slices={slices} components={components} />\n\t\t\t\t\t\t</SliceSimulator>\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t`;\n\t\t} else {\n\t\t\tcontents = source`\n\t\t\t\timport {\n\t\t\t\t\tSliceSimulator,\n\t\t\t\t\tgetSlices,\n\t\t\t\t} from \"@slicemachine/adapter-next/simulator\";\n\t\t\t\timport { SliceZone } from \"@prismicio/react\";\n\n\t\t\t\timport { components } from \"../../slices\";\n\n\t\t\t\texport default async function SliceSimulatorPage({ searchParams }) {\n\t\t\t\t\tconst { state } = await searchParams\n\t\t\t\t\tconst slices = getSlices(state);\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<SliceSimulator>\n\t\t\t\t\t\t\t<SliceZone slices={slices} components={components} />\n\t\t\t\t\t\t</SliceSimulator>\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t`;\n\t\t}\n\t} else {\n\t\tcontents = source`\n\t\t\timport { SliceSimulator } from \"@slicemachine/adapter-next/simulator\";\n\t\t\timport { SliceZone } from \"@prismicio/react\";\n\n\t\t\timport { components } from \"../slices\";\n\n\t\t\texport default function SliceSimulatorPage() {\n\t\t\t\treturn (\n\t\t\t\t\t<SliceSimulator\n\t\t\t\t\t\tsliceZone={(props) => <SliceZone {...props} components={components} />}\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t}\n\t\t`;\n\t}\n\n\tawait writeProjectFile({\n\t\tfilename,\n\t\tcontents,\n\t\tformat: options.format,\n\t\thelpers,\n\t});\n};\n\nconst createPreviewRoute = async ({\n\thelpers,\n\toptions,\n}: SliceMachineContext<PluginOptions>) => {\n\tconst hasAppRouter = await checkHasAppRouter({ helpers });\n\tconst isTypeScriptProject = await checkIsTypeScriptProject({\n\t\thelpers,\n\t\toptions,\n\t});\n\n\tconst extension = await getJSFileExtension({ helpers, options });\n\tconst filename = await buildSrcPath({\n\t\tfilename: hasAppRouter\n\t\t\t? `app/api/preview/route.${extension}`\n\t\t\t: `pages/api/preview.${extension}`,\n\t\thelpers,\n\t});\n\n\tif (await checkHasProjectFile({ filename, helpers })) {\n\t\treturn;\n\t}\n\n\tlet contents: string;\n\n\tif (hasAppRouter) {\n\t\tif (isTypeScriptProject) {\n\t\t\tcontents = source`\n\t\t\t\timport { NextRequest } from \"next/server\";\n\t\t\t\timport { redirectToPreviewURL } from \"@prismicio/next\";\n\n\t\t\t\timport { createClient } from \"../../../prismicio\";\n\n\t\t\t\texport async function GET(request: NextRequest) {\n\t\t\t\t\tconst client = createClient();\n\n\t\t\t\t\treturn await redirectToPreviewURL({ client, request });\n\t\t\t\t}\n\t\t\t`;\n\t\t} else {\n\t\t\tcontents = source`\n\t\t\t\timport { redirectToPreviewURL } from \"@prismicio/next\";\n\n\t\t\t\timport { createClient } from \"../../../prismicio\";\n\n\t\t\t\texport async function GET(request) {\n\t\t\t\t\tconst client = createClient();\n\n\t\t\t\t\treturn await redirectToPreviewURL({ client, request });\n\t\t\t\t}\n\t\t\t`;\n\t\t}\n\t} else {\n\t\tif (isTypeScriptProject) {\n\t\t\tcontents = source`\n\t\t\t\timport { NextApiRequest, NextApiResponse } from \"next\";\n\t\t\t\timport { setPreviewData, redirectToPreviewURL } from \"@prismicio/next/pages\";\n\n\t\t\t\timport { createClient } from \"../../prismicio\";\n\n\t\t\t\texport default async function handler(req: NextApiRequest, res: NextApiResponse) {\n\t\t\t\t\tconst client = createClient({ req });\n\n\t\t\t\t\tsetPreviewData({ req, res });\n\n\t\t\t\t\treturn await redirectToPreviewURL({ req, res, client });\n\t\t\t\t};\n\t\t\t`;\n\t\t} else {\n\t\t\tcontents = source`\n\t\t\t\timport { setPreviewData, redirectToPreviewURL } from \"@prismicio/next/pages\";\n\n\t\t\t\timport { createClient } from \"../../prismicio\";\n\n\t\t\t\texport default async function handler(req, res) {\n\t\t\t\t\tconst client = createClient({ req });\n\n\t\t\t\t\tsetPreviewData({ req, res });\n\n\t\t\t\t\treturn await redirectToPreviewURL({ req, res, client });\n\t\t\t\t};\n\t\t\t`;\n\t\t}\n\t}\n\n\tawait writeProjectFile({\n\t\tfilename,\n\t\tcontents,\n\t\tformat: options.format,\n\t\thelpers,\n\t});\n};\n\nconst createExitPreviewRoute = async ({\n\thelpers,\n\toptions,\n}: SliceMachineContext<PluginOptions>) => {\n\tconst hasAppRouter = await checkHasAppRouter({ helpers });\n\tconst isTypeScriptProject = await checkIsTypeScriptProject({\n\t\thelpers,\n\t\toptions,\n\t});\n\n\tconst extension = await getJSFileExtension({ helpers, options });\n\tconst filename = await buildSrcPath({\n\t\tfilename: hasAppRouter\n\t\t\t? `app/api/exit-preview/route.${extension}`\n\t\t\t: `pages/api/exit-preview.${extension}`,\n\t\thelpers,\n\t});\n\n\tif (await checkHasProjectFile({ filename, helpers })) {\n\t\treturn;\n\t}\n\n\tlet contents: string;\n\n\tif (hasAppRouter) {\n\t\tcontents = source`\n\t\t\timport { exitPreview } from \"@prismicio/next\";\n\n\t\t\texport function GET() {\n\t\t\t\treturn exitPreview();\n\t\t\t}\n\t\t`;\n\t} else {\n\t\tif (isTypeScriptProject) {\n\t\t\tcontents = source`\n\t\t\t\timport { NextApiRequest, NextApiResponse } from \"next\";\n\t\t\t\timport { exitPreview } from \"@prismicio/next/pages\";\n\n\t\t\t\texport default function handler(req: NextApiRequest, res: NextApiResponse) {\n\t\t\t\t\treturn exitPreview({ req, res });\n\t\t\t\t}\n\t\t\t`;\n\t\t} else {\n\t\t\tcontents = source`\n\t\t\t\timport { exitPreview } from \"@prismicio/next/pages\";\n\n\t\t\t\texport default function handler(req, res) {\n\t\t\t\t\treturn exitPreview({ req, res });\n\t\t\t\t}\n\t\t\t`;\n\t\t}\n\t}\n\n\tawait writeProjectFile({\n\t\tfilename,\n\t\tcontents,\n\t\tformat: options.format,\n\t\thelpers,\n\t});\n};\n\nconst modifySliceMachineConfig = async ({\n\thelpers,\n\toptions,\n\tactions,\n}: SliceMachineContext<PluginOptions>) => {\n\tconst hasSrcDirectory = await checkHasProjectFile({\n\t\tfilename: \"src\",\n\t\thelpers,\n\t});\n\tconst project = await helpers.getProject();\n\n\t// Add Slice Simulator URL.\n\tproject.config.localSliceSimulatorURL ||=\n\t\t\"http://localhost:3000/slice-simulator\";\n\n\t// Nest the default Slice Library in the src directory if it exists and\n\t// is empty.\n\tif (\n\t\thasSrcDirectory &&\n\t\tproject.config.libraries &&\n\t\tJSON.stringify(project.config.libraries) === JSON.stringify([\"./slices\"])\n\t) {\n\t\tconst sliceLibrary = await actions.readSliceLibrary({\n\t\t\tlibraryID: project.config.libraries[0],\n\t\t});\n\n\t\tif (sliceLibrary.sliceIDs.length < 1) {\n\t\t\tproject.config.libraries = [\"./src/slices\"];\n\t\t}\n\t}\n\n\tawait helpers.updateSliceMachineConfig(project.config, {\n\t\tformat: options.format,\n\t});\n};\n\nconst createRevalidateRoute = async ({\n\thelpers,\n\toptions,\n}: SliceMachineContext<PluginOptions>) => {\n\tconst hasAppRouter = await checkHasAppRouter({ helpers });\n\n\tif (!hasAppRouter) {\n\t\treturn;\n\t}\n\n\tconst extension = await getJSFileExtension({ helpers, options });\n\tconst filename = await buildSrcPath({\n\t\tfilename: `app/api/revalidate/route.${extension}`,\n\t\thelpers,\n\t});\n\n\tif (await checkHasProjectFile({ filename, helpers })) {\n\t\treturn;\n\t}\n\n\tconst contents = source`\n\t\timport { NextResponse } from \"next/server\";\n\t\timport { revalidateTag } from \"next/cache\";\n\n\t\texport async function POST() {\n\t\t\trevalidateTag(\"prismic\");\n\n\t\t\treturn NextResponse.json({ revalidated: true, now: Date.now() });\n\t\t}\n\t`;\n\n\tawait writeProjectFile({\n\t\tfilename,\n\t\tcontents,\n\t\tformat: options.format,\n\t\thelpers,\n\t});\n};\n\nconst upsertSliceLibraryIndexFiles = async (\n\tcontext: SliceMachineContext<PluginOptions>,\n) => {\n\t// We must use the `getProject()` helper to get the latest version of\n\t// the project config. The config may have been modified in\n\t// `modifySliceMachineConfig()` and will not be relfected in\n\t// `context.project`.\n\t// TODO: Automatically update the plugin runner's in-memory `project`\n\t// object when `updateSliceMachineConfig()` is called.\n\tconst project = await context.helpers.getProject();\n\n\tif (!project.config.libraries) {\n\t\treturn;\n\t}\n\n\tawait Promise.all(\n\t\tproject.config.libraries.map(async (libraryID) => {\n\t\t\tawait upsertSliceLibraryIndexFile({ libraryID, ...context });\n\t\t}),\n\t);\n};\n\nexport const projectInit: ProjectInitHook<PluginOptions> = async (\n\t{ installDependencies: _installDependencies },\n\tcontext,\n) => {\n\trejectIfNecessary(\n\t\tawait Promise.allSettled([\n\t\t\tinstallDependencies({ installDependencies: _installDependencies }),\n\t\t\tmodifySliceMachineConfig(context),\n\t\t\tcreatePrismicIOFile(context),\n\t\t\tcreateSliceSimulatorPage(context),\n\t\t\tcreatePreviewRoute(context),\n\t\t\tcreateExitPreviewRoute(context),\n\t\t\tcreateRevalidateRoute(context),\n\t\t]),\n\t);\n\n\t// This must happen after `modifySliceMachineConfig()` since the\n\t// location of the default Slice library may change.\n\tawait upsertSliceLibraryIndexFiles(context);\n};\n"],"names":["installDependencies","checkIsTypeScriptProject","checkHasProjectFile","checkHasAppRouter","getJSFileExtension","buildSrcPath","source","PRISMIC_ENVIRONMENT_ENVIRONMENT_VARIABLE_NAME","writeProjectFile","upsertSliceLibraryIndexFile","rejectIfNecessary"],"mappings":"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"}
1
+ {"version":3,"file":"project-init.cjs","sources":["../../../src/hooks/project-init.ts"],"sourcesContent":["import type {\n\tProjectInitHook,\n\tProjectInitHookData,\n\tSliceMachineContext,\n} from \"@slicemachine/plugin-kit\";\nimport {\n\tcheckHasProjectFile,\n\twriteProjectFile,\n} from \"@slicemachine/plugin-kit/fs\";\nimport { source } from \"common-tags\";\nimport semver from \"semver\";\n\nimport { buildSrcPath } from \"../lib/buildSrcPath\";\nimport { checkHasAppRouter } from \"../lib/checkHasAppRouter\";\nimport { checkIsTypeScriptProject } from \"../lib/checkIsTypeScriptProject\";\nimport { getJSFileExtension } from \"../lib/getJSFileExtension\";\nimport { rejectIfNecessary } from \"../lib/rejectIfNecessary\";\nimport { upsertSliceLibraryIndexFile } from \"../lib/upsertSliceLibraryIndexFile\";\n\nimport type { PluginOptions } from \"../types\";\nimport { PRISMIC_ENVIRONMENT_ENVIRONMENT_VARIABLE_NAME } from \"../constants\";\nimport { getNextJSVersion } from \"../lib/getNextJSVersion\";\n\ntype InstallDependenciesArgs = {\n\tinstallDependencies: ProjectInitHookData[\"installDependencies\"];\n};\n\nconst installDependencies = async ({\n\tinstallDependencies,\n}: InstallDependenciesArgs) => {\n\tawait installDependencies({\n\t\tdependencies: {\n\t\t\t\"@prismicio/client\": \"latest\",\n\t\t\t\"@prismicio/react\": \"latest\",\n\t\t\t\"@prismicio/next\": \"latest\",\n\t\t},\n\t});\n};\n\ntype CreatePrismicIOFileArgs = SliceMachineContext<PluginOptions>;\n\nconst createPrismicIOFile = async ({\n\thelpers,\n\toptions,\n}: CreatePrismicIOFileArgs) => {\n\tconst isTypeScriptProject = await checkIsTypeScriptProject({\n\t\thelpers,\n\t\toptions,\n\t});\n\tconst hasSrcDirectory = await checkHasProjectFile({\n\t\tfilename: \"src\",\n\t\thelpers,\n\t});\n\tconst hasAppRouter = await checkHasAppRouter({ helpers });\n\n\tconst extension = await getJSFileExtension({ helpers, options });\n\tconst filename = await buildSrcPath({\n\t\tfilename: `prismicio.${extension}`,\n\t\thelpers,\n\t});\n\n\tif (await checkHasProjectFile({ filename, helpers })) {\n\t\treturn;\n\t}\n\n\tlet importsContents: string;\n\tlet createClientContents: string;\n\n\tif (hasAppRouter) {\n\t\tif (isTypeScriptProject) {\n\t\t\timportsContents = source`\n\t\t\t\timport {\n\t\t\t\t\tcreateClient as baseCreateClient,\n\t\t\t\t\ttype ClientConfig,\n\t\t\t\t\ttype Route,\n\t\t\t\t} from \"@prismicio/client\";\n\t\t\t\timport { enableAutoPreviews } from \"@prismicio/next\";\n\t\t\t\timport sm from \"${hasSrcDirectory ? \"..\" : \".\"}/slicemachine.config.json\";\n\t\t\t`;\n\n\t\t\tcreateClientContents = source`\n\t\t\t\t/**\n\t\t\t\t * Creates a Prismic client for the project's repository. The client is used to\n\t\t\t\t * query content from the Prismic API.\n\t\t\t\t *\n\t\t\t\t * @param config - Configuration for the Prismic client.\n\t\t\t\t */\n\t\t\t\texport const createClient = (config: ClientConfig = {}) => {\n\t\t\t\t\tconst client = baseCreateClient(repositoryName, {\n\t\t\t\t\t\troutes,\n\t\t\t\t\t\tfetchOptions:\n\t\t\t\t\t\t\tprocess.env.NODE_ENV === 'production'\n\t\t\t\t\t\t\t\t? { next: { tags: ['prismic'] }, cache: 'force-cache' }\n\t\t\t\t\t\t\t\t: { next: { revalidate: 5 } },\n\t\t\t\t\t\t...config,\n\t\t\t\t\t});\n\n\t\t\t\t\tenableAutoPreviews({ client });\n\n\t\t\t\t\treturn client;\n\t\t\t\t};\n\t\t\t`;\n\t\t} else {\n\t\t\timportsContents = source`\n\t\t\t\timport { createClient as baseCreateClient } from \"@prismicio/client\";\n\t\t\t\timport { enableAutoPreviews } from \"@prismicio/next\";\n\t\t\t\timport sm from \"${hasSrcDirectory ? \"..\" : \".\"}/slicemachine.config.json\";\n\t\t\t`;\n\n\t\t\tcreateClientContents = source`\n\t\t\t\t/**\n\t\t\t\t * Creates a Prismic client for the project's repository. The client is used to\n\t\t\t\t * query content from the Prismic API.\n\t\t\t\t *\n\t\t\t\t * @param {import(\"@prismicio/client\").ClientConfig} config - Configuration for the Prismic client.\n\t\t\t\t */\n\t\t\t\texport const createClient = (config = {}) => {\n\t\t\t\t\tconst client = baseCreateClient(repositoryName, {\n\t\t\t\t\t\troutes,\n\t\t\t\t\t\tfetchOptions:\n\t\t\t\t\t\t\tprocess.env.NODE_ENV === 'production'\n\t\t\t\t\t\t\t\t? { next: { tags: ['prismic'] }, cache: 'force-cache' }\n\t\t\t\t\t\t\t\t: { next: { revalidate: 5 } },\n\t\t\t\t\t\t...config,\n\t\t\t\t\t});\n\n\t\t\t\t\tenableAutoPreviews({ client });\n\n\t\t\t\t\treturn client;\n\t\t\t\t};\n\t\t\t`;\n\t\t}\n\t} else {\n\t\tif (isTypeScriptProject) {\n\t\t\timportsContents = source`\n\t\t\t\timport { createClient as baseCreateClient, type Routes } from \"@prismicio/client\";\n\t\t\t\timport { enableAutoPreviews, type CreateClientConfig } from \"@prismicio/next/pages\";\n\t\t\t\timport sm from \"${hasSrcDirectory ? \"..\" : \".\"}/slicemachine.config.json\";\n\t\t\t`;\n\n\t\t\tcreateClientContents = source`\n\t\t\t\t/**\n\t\t\t\t * Creates a Prismic client for the project's repository. The client is used to\n\t\t\t\t * query content from the Prismic API.\n\t\t\t\t *\n\t\t\t\t * @param config - Configuration for the Prismic client.\n\t\t\t\t */\n\t\t\t\texport const createClient = ({ previewData, req, ...config }: CreateClientConfig = {}) => {\n\t\t\t\t\tconst client = baseCreateClient(repositoryName, {\n\t\t\t\t\t\troutes,\n\t\t\t\t\t\t...config,\n\t\t\t\t\t});\n\n\t\t\t\t\tenableAutoPreviews({ client, previewData, req });\n\n\t\t\t\t\treturn client;\n\t\t\t\t};\n\t\t\t`;\n\t\t} else {\n\t\t\timportsContents = source`\n\t\t\t\timport { createClient as baseCreateClient } from \"@prismicio/client\";\n\t\t\t\timport { enableAutoPreviews } from \"@prismicio/next/pages\";\n\t\t\t\timport sm from \"${hasSrcDirectory ? \"..\" : \".\"}/slicemachine.config.json\";\n\t\t\t`;\n\n\t\t\tcreateClientContents = source`\n\t\t\t\t/**\n\t\t\t\t * Creates a Prismic client for the project's repository. The client is used to\n\t\t\t\t * query content from the Prismic API.\n\t\t\t\t *\n\t\t\t\t * @param {import(\"@prismicio/next/pages\").CreateClientConfig} config - Configuration for the Prismic client.\n\t\t\t\t */\n\t\t\t\texport const createClient = ({ previewData, req, ...config } = {}) => {\n\t\t\t\t\tconst client = baseCreateClient(repositoryName, {\n\t\t\t\t\t\troutes,\n\t\t\t\t\t\t...config,\n\t\t\t\t\t});\n\n\t\t\t\t\tenableAutoPreviews({ client, previewData, req });\n\n\t\t\t\t\treturn client;\n\t\t\t\t};\n\t\t\t`;\n\t\t}\n\t}\n\n\tlet contents: string;\n\n\tif (isTypeScriptProject) {\n\t\tcontents = source`\n\t\t\t${importsContents}\n\n\t\t\t/**\n\t\t\t * The project's Prismic repository name.\n\t\t\t */\n\t\t\texport const repositoryName =\n\t\t\t\tprocess.env.${PRISMIC_ENVIRONMENT_ENVIRONMENT_VARIABLE_NAME} || sm.repositoryName;\n\n\t\t\t/**\n\t\t\t * A list of Route Resolver objects that define how a document's \\`url\\` field is resolved.\n\t\t\t *\n\t\t\t * {@link https://prismic.io/docs/route-resolver#route-resolver}\n\t\t\t */\n\t\t\t// TODO: Update the routes array to match your project's route structure.\n\t\t\tconst routes: Route[] = [\n\t\t\t\t// Examples:\n\t\t\t\t// { type: \"homepage\", path: \"/\" },\n\t\t\t\t// { type: \"page\", path: \"/:uid\" },\n\t\t\t];\n\n\t\t\t${createClientContents}\n\t\t`;\n\t} else {\n\t\tcontents = source`\n\t\t\t${importsContents}\n\n\t\t\t/**\n\t\t\t * The project's Prismic repository name.\n\t\t\t */\n\t\t\texport const repositoryName =\n\t\t\t\tprocess.env.${PRISMIC_ENVIRONMENT_ENVIRONMENT_VARIABLE_NAME} || sm.repositoryName;\n\n\t\t\t/**\n\t\t\t * A list of Route Resolver objects that define how a document's \\`url\\` field is resolved.\n\t\t\t *\n\t\t\t * {@link https://prismic.io/docs/route-resolver#route-resolver}\n\t\t\t *\n\t\t\t * @type {import(\"@prismicio/client\").Route[]}\n\t\t\t */\n\t\t\t// TODO: Update the routes array to match your project's route structure.\n\t\t\tconst routes = [\n\t\t\t\t// Examples:\n\t\t\t\t// { type: \"homepage\", path: \"/\" },\n\t\t\t\t// { type: \"page\", path: \"/:uid\" },\n\t\t\t];\n\n\t\t\t${createClientContents}\n\t\t`;\n\t}\n\n\tawait writeProjectFile({\n\t\tfilename,\n\t\tcontents,\n\t\tformat: options.format,\n\t\thelpers,\n\t});\n};\n\ntype CreateSliceSimulatorPageArgs = SliceMachineContext<PluginOptions>;\n\nconst createSliceSimulatorPage = async ({\n\thelpers,\n\toptions,\n}: CreateSliceSimulatorPageArgs) => {\n\tconst isTypeScriptProject = await checkIsTypeScriptProject({\n\t\thelpers,\n\t\toptions,\n\t});\n\tconst hasAppRouter = await checkHasAppRouter({ helpers });\n\n\tconst extension = await getJSFileExtension({ helpers, options, jsx: true });\n\tconst filename = await buildSrcPath({\n\t\tfilename: hasAppRouter\n\t\t\t? `app/slice-simulator/page.${extension}`\n\t\t\t: `pages/slice-simulator.${extension}`,\n\t\thelpers,\n\t});\n\n\tif (await checkHasProjectFile({ filename, helpers })) {\n\t\treturn;\n\t}\n\n\tlet contents;\n\n\tif (hasAppRouter) {\n\t\tif (isTypeScriptProject) {\n\t\t\tcontents = source`\n\t\t\t\timport {\n\t\t\t\t\tSliceSimulator,\n\t\t\t\t\tSliceSimulatorParams,\n\t\t\t\t\tgetSlices,\n\t\t\t\t} from \"@slicemachine/adapter-next/simulator\";\n\t\t\t\timport { SliceZone } from \"@prismicio/react\";\n\n\t\t\t\timport { components } from \"../../slices\";\n\n\t\t\t\texport default async function SliceSimulatorPage({\n\t\t\t\t\tsearchParams,\n\t\t\t\t}: SliceSimulatorParams) {\n\t\t\t\t\tconst { state } = await searchParams\n\t\t\t\t\tconst slices = getSlices(state);\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<SliceSimulator>\n\t\t\t\t\t\t\t<SliceZone slices={slices} components={components} />\n\t\t\t\t\t\t</SliceSimulator>\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t`;\n\t\t} else {\n\t\t\tcontents = source`\n\t\t\t\timport {\n\t\t\t\t\tSliceSimulator,\n\t\t\t\t\tgetSlices,\n\t\t\t\t} from \"@slicemachine/adapter-next/simulator\";\n\t\t\t\timport { SliceZone } from \"@prismicio/react\";\n\n\t\t\t\timport { components } from \"../../slices\";\n\n\t\t\t\texport default async function SliceSimulatorPage({ searchParams }) {\n\t\t\t\t\tconst { state } = await searchParams\n\t\t\t\t\tconst slices = getSlices(state);\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<SliceSimulator>\n\t\t\t\t\t\t\t<SliceZone slices={slices} components={components} />\n\t\t\t\t\t\t</SliceSimulator>\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t`;\n\t\t}\n\t} else {\n\t\tcontents = source`\n\t\t\timport { SliceSimulator } from \"@slicemachine/adapter-next/simulator\";\n\t\t\timport { SliceZone } from \"@prismicio/react\";\n\n\t\t\timport { components } from \"../slices\";\n\n\t\t\texport default function SliceSimulatorPage() {\n\t\t\t\treturn (\n\t\t\t\t\t<SliceSimulator\n\t\t\t\t\t\tsliceZone={(props) => <SliceZone {...props} components={components} />}\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t}\n\t\t`;\n\t}\n\n\tawait writeProjectFile({\n\t\tfilename,\n\t\tcontents,\n\t\tformat: options.format,\n\t\thelpers,\n\t});\n};\n\nconst createPreviewRoute = async ({\n\thelpers,\n\toptions,\n}: SliceMachineContext<PluginOptions>) => {\n\tconst hasAppRouter = await checkHasAppRouter({ helpers });\n\tconst isTypeScriptProject = await checkIsTypeScriptProject({\n\t\thelpers,\n\t\toptions,\n\t});\n\n\tconst extension = await getJSFileExtension({ helpers, options });\n\tconst filename = await buildSrcPath({\n\t\tfilename: hasAppRouter\n\t\t\t? `app/api/preview/route.${extension}`\n\t\t\t: `pages/api/preview.${extension}`,\n\t\thelpers,\n\t});\n\n\tif (await checkHasProjectFile({ filename, helpers })) {\n\t\treturn;\n\t}\n\n\tlet contents: string;\n\n\tif (hasAppRouter) {\n\t\tif (isTypeScriptProject) {\n\t\t\tcontents = source`\n\t\t\t\timport { NextRequest } from \"next/server\";\n\t\t\t\timport { redirectToPreviewURL } from \"@prismicio/next\";\n\n\t\t\t\timport { createClient } from \"../../../prismicio\";\n\n\t\t\t\texport async function GET(request: NextRequest) {\n\t\t\t\t\tconst client = createClient();\n\n\t\t\t\t\treturn await redirectToPreviewURL({ client, request });\n\t\t\t\t}\n\t\t\t`;\n\t\t} else {\n\t\t\tcontents = source`\n\t\t\t\timport { redirectToPreviewURL } from \"@prismicio/next\";\n\n\t\t\t\timport { createClient } from \"../../../prismicio\";\n\n\t\t\t\texport async function GET(request) {\n\t\t\t\t\tconst client = createClient();\n\n\t\t\t\t\treturn await redirectToPreviewURL({ client, request });\n\t\t\t\t}\n\t\t\t`;\n\t\t}\n\t} else {\n\t\tif (isTypeScriptProject) {\n\t\t\tcontents = source`\n\t\t\t\timport { NextApiRequest, NextApiResponse } from \"next\";\n\t\t\t\timport { setPreviewData, redirectToPreviewURL } from \"@prismicio/next/pages\";\n\n\t\t\t\timport { createClient } from \"../../prismicio\";\n\n\t\t\t\texport default async function handler(req: NextApiRequest, res: NextApiResponse) {\n\t\t\t\t\tconst client = createClient({ req });\n\n\t\t\t\t\tsetPreviewData({ req, res });\n\n\t\t\t\t\treturn await redirectToPreviewURL({ req, res, client });\n\t\t\t\t};\n\t\t\t`;\n\t\t} else {\n\t\t\tcontents = source`\n\t\t\t\timport { setPreviewData, redirectToPreviewURL } from \"@prismicio/next/pages\";\n\n\t\t\t\timport { createClient } from \"../../prismicio\";\n\n\t\t\t\texport default async function handler(req, res) {\n\t\t\t\t\tconst client = createClient({ req });\n\n\t\t\t\t\tsetPreviewData({ req, res });\n\n\t\t\t\t\treturn await redirectToPreviewURL({ req, res, client });\n\t\t\t\t};\n\t\t\t`;\n\t\t}\n\t}\n\n\tawait writeProjectFile({\n\t\tfilename,\n\t\tcontents,\n\t\tformat: options.format,\n\t\thelpers,\n\t});\n};\n\nconst createExitPreviewRoute = async ({\n\thelpers,\n\toptions,\n}: SliceMachineContext<PluginOptions>) => {\n\tconst hasAppRouter = await checkHasAppRouter({ helpers });\n\tconst isTypeScriptProject = await checkIsTypeScriptProject({\n\t\thelpers,\n\t\toptions,\n\t});\n\n\tconst extension = await getJSFileExtension({ helpers, options });\n\tconst filename = await buildSrcPath({\n\t\tfilename: hasAppRouter\n\t\t\t? `app/api/exit-preview/route.${extension}`\n\t\t\t: `pages/api/exit-preview.${extension}`,\n\t\thelpers,\n\t});\n\n\tif (await checkHasProjectFile({ filename, helpers })) {\n\t\treturn;\n\t}\n\n\tlet contents: string;\n\n\tif (hasAppRouter) {\n\t\tcontents = source`\n\t\t\timport { exitPreview } from \"@prismicio/next\";\n\n\t\t\texport function GET() {\n\t\t\t\treturn exitPreview();\n\t\t\t}\n\t\t`;\n\t} else {\n\t\tif (isTypeScriptProject) {\n\t\t\tcontents = source`\n\t\t\t\timport { NextApiRequest, NextApiResponse } from \"next\";\n\t\t\t\timport { exitPreview } from \"@prismicio/next/pages\";\n\n\t\t\t\texport default function handler(req: NextApiRequest, res: NextApiResponse) {\n\t\t\t\t\treturn exitPreview({ req, res });\n\t\t\t\t}\n\t\t\t`;\n\t\t} else {\n\t\t\tcontents = source`\n\t\t\t\timport { exitPreview } from \"@prismicio/next/pages\";\n\n\t\t\t\texport default function handler(req, res) {\n\t\t\t\t\treturn exitPreview({ req, res });\n\t\t\t\t}\n\t\t\t`;\n\t\t}\n\t}\n\n\tawait writeProjectFile({\n\t\tfilename,\n\t\tcontents,\n\t\tformat: options.format,\n\t\thelpers,\n\t});\n};\n\nconst modifySliceMachineConfig = async ({\n\thelpers,\n\toptions,\n\tactions,\n}: SliceMachineContext<PluginOptions>) => {\n\tconst hasSrcDirectory = await checkHasProjectFile({\n\t\tfilename: \"src\",\n\t\thelpers,\n\t});\n\tconst project = await helpers.getProject();\n\n\t// Add Slice Simulator URL.\n\tproject.config.localSliceSimulatorURL ||=\n\t\t\"http://localhost:3000/slice-simulator\";\n\n\t// Nest the default Slice Library in the src directory if it exists and\n\t// is empty.\n\tif (\n\t\thasSrcDirectory &&\n\t\tproject.config.libraries &&\n\t\tJSON.stringify(project.config.libraries) === JSON.stringify([\"./slices\"])\n\t) {\n\t\tconst sliceLibrary = await actions.readSliceLibrary({\n\t\t\tlibraryID: project.config.libraries[0],\n\t\t});\n\n\t\tif (sliceLibrary.sliceIDs.length < 1) {\n\t\t\tproject.config.libraries = [\"./src/slices\"];\n\t\t}\n\t}\n\n\tawait helpers.updateSliceMachineConfig(project.config, {\n\t\tformat: options.format,\n\t});\n};\n\nconst createRevalidateRoute = async ({\n\thelpers,\n\toptions,\n}: SliceMachineContext<PluginOptions>) => {\n\tconst hasAppRouter = await checkHasAppRouter({ helpers });\n\n\tif (!hasAppRouter) {\n\t\treturn;\n\t}\n\n\tconst nextJSVersion = await getNextJSVersion();\n\tconst supportsCacheLife = semver.gte(nextJSVersion, \"16.0.0-beta.0\");\n\n\tconst extension = await getJSFileExtension({ helpers, options });\n\tconst filename = await buildSrcPath({\n\t\tfilename: `app/api/revalidate/route.${extension}`,\n\t\thelpers,\n\t});\n\n\tif (await checkHasProjectFile({ filename, helpers })) {\n\t\treturn;\n\t}\n\n\tconst contents = source`\n\t\timport { NextResponse } from \"next/server\";\n\t\timport { revalidateTag } from \"next/cache\";\n\n\t\texport async function POST() {\n\t\t\trevalidateTag(\"prismic\"${supportsCacheLife ? ', \"max\"' : \"\"});\n\n\t\t\treturn NextResponse.json({ revalidated: true, now: Date.now() });\n\t\t}\n\t`;\n\n\tawait writeProjectFile({\n\t\tfilename,\n\t\tcontents,\n\t\tformat: options.format,\n\t\thelpers,\n\t});\n};\n\nconst upsertSliceLibraryIndexFiles = async (\n\tcontext: SliceMachineContext<PluginOptions>,\n) => {\n\t// We must use the `getProject()` helper to get the latest version of\n\t// the project config. The config may have been modified in\n\t// `modifySliceMachineConfig()` and will not be relfected in\n\t// `context.project`.\n\t// TODO: Automatically update the plugin runner's in-memory `project`\n\t// object when `updateSliceMachineConfig()` is called.\n\tconst project = await context.helpers.getProject();\n\n\tif (!project.config.libraries) {\n\t\treturn;\n\t}\n\n\tawait Promise.all(\n\t\tproject.config.libraries.map(async (libraryID) => {\n\t\t\tawait upsertSliceLibraryIndexFile({ libraryID, ...context });\n\t\t}),\n\t);\n};\n\nexport const projectInit: ProjectInitHook<PluginOptions> = async (\n\t{ installDependencies: _installDependencies },\n\tcontext,\n) => {\n\trejectIfNecessary(\n\t\tawait Promise.allSettled([\n\t\t\tinstallDependencies({ installDependencies: _installDependencies }),\n\t\t\tmodifySliceMachineConfig(context),\n\t\t\tcreatePrismicIOFile(context),\n\t\t\tcreateSliceSimulatorPage(context),\n\t\t\tcreatePreviewRoute(context),\n\t\t\tcreateExitPreviewRoute(context),\n\t\t\tcreateRevalidateRoute(context),\n\t\t]),\n\t);\n\n\t// This must happen after `modifySliceMachineConfig()` since the\n\t// location of the default Slice library may change.\n\tawait upsertSliceLibraryIndexFiles(context);\n};\n"],"names":["installDependencies","checkIsTypeScriptProject","checkHasProjectFile","checkHasAppRouter","getJSFileExtension","buildSrcPath","source","PRISMIC_ENVIRONMENT_ENVIRONMENT_VARIABLE_NAME","writeProjectFile","getNextJSVersion","semver","upsertSliceLibraryIndexFile","rejectIfNecessary"],"mappings":";;;;;;;;;;;;;AA2BA,MAAM,sBAAsB,OAAO,EAClC,qBAAAA,2BAC6B;AAC7B,QAAMA,qBAAoB;AAAA,IACzB,cAAc;AAAA,MACb,qBAAqB;AAAA,MACrB,oBAAoB;AAAA,MACpB,mBAAmB;AAAA,IAAA;AAAA,EACnB,CACD;AACF;AAIA,MAAM,sBAAsB,OAAO,EAClC,SACA,cAC6B;AAC7B,QAAM,sBAAsB,MAAMC,kDAAyB;AAAA,IAC1D;AAAA,IACA;AAAA,EAAA,CACA;AACD,QAAM,kBAAkB,MAAMC,uBAAoB;AAAA,IACjD,UAAU;AAAA,IACV;AAAA,EAAA,CACA;AACD,QAAM,eAAe,MAAMC,oCAAkB,EAAE,SAAS;AAExD,QAAM,YAAY,MAAMC,mBAAAA,mBAAmB,EAAE,SAAS,SAAS;AAC/D,QAAM,WAAW,MAAMC,0BAAa;AAAA,IACnC,UAAU,aAAa,SAAS;AAAA,IAChC;AAAA,EAAA,CACA;AAED,MAAI,MAAMH,GAAAA,oBAAoB,EAAE,UAAU,QAAA,CAAS,GAAG;AACrD;AAAA,EACD;AAEA,MAAI;AACJ,MAAI;AAEJ,MAAI,cAAc;AACjB,QAAI,qBAAqB;AACxB,wBAAkBI,WAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,sBAOC,kBAAkB,OAAO,GAAG;AAAA;AAG/C,6BAAuBA,WAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,IAsBxB,OAAO;AACN,wBAAkBA,WAAAA;AAAAA;AAAAA;AAAAA,sBAGC,kBAAkB,OAAO,GAAG;AAAA;AAG/C,6BAAuBA,WAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,IAsBxB;AAAA,EACD,OAAO;AACN,QAAI,qBAAqB;AACxB,wBAAkBA,WAAAA;AAAAA;AAAAA;AAAAA,sBAGC,kBAAkB,OAAO,GAAG;AAAA;AAG/C,6BAAuBA,WAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,IAkBxB,OAAO;AACN,wBAAkBA,WAAAA;AAAAA;AAAAA;AAAAA,sBAGC,kBAAkB,OAAO,GAAG;AAAA;AAG/C,6BAAuBA,WAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,IAkBxB;AAAA,EACD;AAEA,MAAI;AAEJ,MAAI,qBAAqB;AACxB,eAAWA,WAAAA;AAAAA,KACR,eAAe;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAMFC,uDAA6C;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAc1D,oBAAoB;AAAA;AAAA,EAExB,OAAO;AACN,eAAWD,WAAAA;AAAAA,KACR,eAAe;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAMFC,uDAA6C;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAgB1D,oBAAoB;AAAA;AAAA,EAExB;AAEA,QAAMC,oBAAiB;AAAA,IACtB;AAAA,IACA;AAAA,IACA,QAAQ,QAAQ;AAAA,IAChB;AAAA,EAAA,CACA;AACF;AAIA,MAAM,2BAA2B,OAAO,EACvC,SACA,cACkC;AAClC,QAAM,sBAAsB,MAAMP,kDAAyB;AAAA,IAC1D;AAAA,IACA;AAAA,EAAA,CACA;AACD,QAAM,eAAe,MAAME,oCAAkB,EAAE,SAAS;AAExD,QAAM,YAAY,MAAMC,sCAAmB,EAAE,SAAS,SAAS,KAAK,MAAM;AAC1E,QAAM,WAAW,MAAMC,0BAAa;AAAA,IACnC,UAAU,eACP,4BAA4B,SAAS,KACrC,yBAAyB,SAAS;AAAA,IACrC;AAAA,EAAA,CACA;AAED,MAAI,MAAMH,GAAAA,oBAAoB,EAAE,UAAU,QAAA,CAAS,GAAG;AACrD;AAAA,EACD;AAEA,MAAI;AAEJ,MAAI,cAAc;AACjB,QAAI,qBAAqB;AACxB,iBAAWI,WAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,IAuBZ,OAAO;AACN,iBAAWA,WAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,IAoBZ;AAAA,EACD,OAAO;AACN,eAAWA,WAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,EAcZ;AAEA,QAAME,oBAAiB;AAAA,IACtB;AAAA,IACA;AAAA,IACA,QAAQ,QAAQ;AAAA,IAChB;AAAA,EAAA,CACA;AACF;AAEA,MAAM,qBAAqB,OAAO,EACjC,SACA,cACwC;AACxC,QAAM,eAAe,MAAML,oCAAkB,EAAE,SAAS;AACxD,QAAM,sBAAsB,MAAMF,kDAAyB;AAAA,IAC1D;AAAA,IACA;AAAA,EAAA,CACA;AAED,QAAM,YAAY,MAAMG,mBAAAA,mBAAmB,EAAE,SAAS,SAAS;AAC/D,QAAM,WAAW,MAAMC,0BAAa;AAAA,IACnC,UAAU,eACP,yBAAyB,SAAS,KAClC,qBAAqB,SAAS;AAAA,IACjC;AAAA,EAAA,CACA;AAED,MAAI,MAAMH,GAAAA,oBAAoB,EAAE,UAAU,QAAA,CAAS,GAAG;AACrD;AAAA,EACD;AAEA,MAAI;AAEJ,MAAI,cAAc;AACjB,QAAI,qBAAqB;AACxB,iBAAWI,WAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,IAYZ,OAAO;AACN,iBAAWA,WAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,IAWZ;AAAA,EACD,OAAO;AACN,QAAI,qBAAqB;AACxB,iBAAWA,WAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,IAcZ,OAAO;AACN,iBAAWA,WAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,IAaZ;AAAA,EACD;AAEA,QAAME,oBAAiB;AAAA,IACtB;AAAA,IACA;AAAA,IACA,QAAQ,QAAQ;AAAA,IAChB;AAAA,EAAA,CACA;AACF;AAEA,MAAM,yBAAyB,OAAO,EACrC,SACA,cACwC;AACxC,QAAM,eAAe,MAAML,oCAAkB,EAAE,SAAS;AACxD,QAAM,sBAAsB,MAAMF,kDAAyB;AAAA,IAC1D;AAAA,IACA;AAAA,EAAA,CACA;AAED,QAAM,YAAY,MAAMG,mBAAAA,mBAAmB,EAAE,SAAS,SAAS;AAC/D,QAAM,WAAW,MAAMC,0BAAa;AAAA,IACnC,UAAU,eACP,8BAA8B,SAAS,KACvC,0BAA0B,SAAS;AAAA,IACtC;AAAA,EAAA,CACA;AAED,MAAI,MAAMH,GAAAA,oBAAoB,EAAE,UAAU,QAAA,CAAS,GAAG;AACrD;AAAA,EACD;AAEA,MAAI;AAEJ,MAAI,cAAc;AACjB,eAAWI,WAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,EAOZ,OAAO;AACN,QAAI,qBAAqB;AACxB,iBAAWA,WAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,IAQZ,OAAO;AACN,iBAAWA,WAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,IAOZ;AAAA,EACD;AAEA,QAAME,oBAAiB;AAAA,IACtB;AAAA,IACA;AAAA,IACA,QAAQ,QAAQ;AAAA,IAChB;AAAA,EAAA,CACA;AACF;AAEA,MAAM,2BAA2B,OAAO,EACvC,SACA,SACA,cACwC;;AACxC,QAAM,kBAAkB,MAAMN,uBAAoB;AAAA,IACjD,UAAU;AAAA,IACV;AAAA,EAAA,CACA;AACD,QAAM,UAAU,MAAM,QAAQ,WAAA;AAG9B,gBAAQ,QAAO,2BAAf,GAAe,yBACd;AAID,MACC,mBACA,QAAQ,OAAO,aACf,KAAK,UAAU,QAAQ,OAAO,SAAS,MAAM,KAAK,UAAU,CAAC,UAAU,CAAC,GACvE;AACD,UAAM,eAAe,MAAM,QAAQ,iBAAiB;AAAA,MACnD,WAAW,QAAQ,OAAO,UAAU,CAAC;AAAA,IAAA,CACrC;AAED,QAAI,aAAa,SAAS,SAAS,GAAG;AACrC,cAAQ,OAAO,YAAY,CAAC,cAAc;AAAA,IAC3C;AAAA,EACD;AAEA,QAAM,QAAQ,yBAAyB,QAAQ,QAAQ;AAAA,IACtD,QAAQ,QAAQ;AAAA,EAAA,CAChB;AACF;AAEA,MAAM,wBAAwB,OAAO,EACpC,SACA,cACwC;AACxC,QAAM,eAAe,MAAMC,oCAAkB,EAAE,SAAS;AAExD,MAAI,CAAC,cAAc;AAClB;AAAA,EACD;AAEA,QAAM,gBAAgB,MAAMM,kCAAA;AAC5B,QAAM,oBAAoBC,MAAO,IAAI,eAAe,eAAe;AAEnE,QAAM,YAAY,MAAMN,mBAAAA,mBAAmB,EAAE,SAAS,SAAS;AAC/D,QAAM,WAAW,MAAMC,0BAAa;AAAA,IACnC,UAAU,4BAA4B,SAAS;AAAA,IAC/C;AAAA,EAAA,CACA;AAED,MAAI,MAAMH,GAAAA,oBAAoB,EAAE,UAAU,QAAA,CAAS,GAAG;AACrD;AAAA,EACD;AAEA,QAAM,WAAWI,WAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,4BAKU,oBAAoB,YAAY,EAAE;AAAA;AAAA;AAAA;AAAA;AAM7D,QAAME,oBAAiB;AAAA,IACtB;AAAA,IACA;AAAA,IACA,QAAQ,QAAQ;AAAA,IAChB;AAAA,EAAA,CACA;AACF;AAEA,MAAM,+BAA+B,OACpC,YACG;AAOH,QAAM,UAAU,MAAM,QAAQ,QAAQ,WAAA;AAEtC,MAAI,CAAC,QAAQ,OAAO,WAAW;AAC9B;AAAA,EACD;AAEA,QAAM,QAAQ,IACb,QAAQ,OAAO,UAAU,IAAI,OAAO,cAAa;AAChD,UAAMG,wDAA4B,EAAE,WAAW,GAAG,SAAS;AAAA,EAC5D,CAAC,CAAC;AAEJ;AAEO,MAAM,cAA8C,OAC1D,EAAE,qBAAqB,qBAAA,GACvB,YACG;AACHC,sCACC,MAAM,QAAQ,WAAW;AAAA,IACxB,oBAAoB,EAAE,qBAAqB,sBAAsB;AAAA,IACjE,yBAAyB,OAAO;AAAA,IAChC,oBAAoB,OAAO;AAAA,IAC3B,yBAAyB,OAAO;AAAA,IAChC,mBAAmB,OAAO;AAAA,IAC1B,uBAAuB,OAAO;AAAA,IAC9B,sBAAsB,OAAO;AAAA,EAAA,CAC7B,CAAC;AAKH,QAAM,6BAA6B,OAAO;AAC3C;;"}
@@ -1,5 +1,6 @@
1
1
  import { checkHasProjectFile, writeProjectFile } from "@slicemachine/plugin-kit/fs";
2
2
  import { source } from "common-tags";
3
+ import semver from './../packages/adapter-next/_node_modules/semver/index.js';
3
4
  import { buildSrcPath } from "../lib/buildSrcPath.js";
4
5
  import { checkHasAppRouter } from "../lib/checkHasAppRouter.js";
5
6
  import { checkIsTypeScriptProject } from "../lib/checkIsTypeScriptProject.js";
@@ -7,6 +8,7 @@ import { getJSFileExtension } from "../lib/getJSFileExtension.js";
7
8
  import { rejectIfNecessary } from "../lib/rejectIfNecessary.js";
8
9
  import { upsertSliceLibraryIndexFile } from "../lib/upsertSliceLibraryIndexFile.js";
9
10
  import { PRISMIC_ENVIRONMENT_ENVIRONMENT_VARIABLE_NAME } from "../constants.js";
11
+ import { getNextJSVersion } from "../lib/getNextJSVersion.js";
10
12
  const installDependencies = async ({ installDependencies: installDependencies2 }) => {
11
13
  await installDependencies2({
12
14
  dependencies: {
@@ -449,6 +451,8 @@ const createRevalidateRoute = async ({ helpers, options }) => {
449
451
  if (!hasAppRouter) {
450
452
  return;
451
453
  }
454
+ const nextJSVersion = await getNextJSVersion();
455
+ const supportsCacheLife = semver.gte(nextJSVersion, "16.0.0-beta.0");
452
456
  const extension = await getJSFileExtension({ helpers, options });
453
457
  const filename = await buildSrcPath({
454
458
  filename: `app/api/revalidate/route.${extension}`,
@@ -462,7 +466,7 @@ const createRevalidateRoute = async ({ helpers, options }) => {
462
466
  import { revalidateTag } from "next/cache";
463
467
 
464
468
  export async function POST() {
465
- revalidateTag("prismic");
469
+ revalidateTag("prismic"${supportsCacheLife ? ', "max"' : ""});
466
470
 
467
471
  return NextResponse.json({ revalidated: true, now: Date.now() });
468
472
  }