@slicemachine/adapter-next 0.3.84 → 0.3.85-alpha.claude-update-next-adapter-011CULtVQQfNaZpA6AuUJK7v.2

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 (213) 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 +28 -1
  22. package/dist/hooks/project-init.cjs.map +1 -1
  23. package/dist/hooks/project-init.js +6 -1
  24. package/dist/hooks/project-init.js.map +1 -1
  25. package/dist/hooks/slice-create.cjs +2 -24
  26. package/dist/hooks/slice-create.cjs.map +1 -1
  27. package/dist/hooks/slice-create.js +2 -24
  28. package/dist/hooks/slice-create.js.map +1 -1
  29. package/dist/packages/adapter-next/_node_modules/semver/classes/comparator.cjs +122 -0
  30. package/dist/packages/adapter-next/_node_modules/semver/classes/comparator.cjs.map +1 -0
  31. package/dist/packages/adapter-next/_node_modules/semver/classes/comparator.js +122 -0
  32. package/dist/packages/adapter-next/_node_modules/semver/classes/comparator.js.map +1 -0
  33. package/dist/packages/adapter-next/_node_modules/semver/classes/range.cjs +373 -0
  34. package/dist/packages/adapter-next/_node_modules/semver/classes/range.cjs.map +1 -0
  35. package/dist/packages/adapter-next/_node_modules/semver/classes/range.js +373 -0
  36. package/dist/packages/adapter-next/_node_modules/semver/classes/range.js.map +1 -0
  37. package/dist/packages/adapter-next/_node_modules/semver/classes/semver.cjs +243 -0
  38. package/dist/packages/adapter-next/_node_modules/semver/classes/semver.cjs.map +1 -0
  39. package/dist/packages/adapter-next/_node_modules/semver/classes/semver.js +243 -0
  40. package/dist/packages/adapter-next/_node_modules/semver/classes/semver.js.map +1 -0
  41. package/dist/packages/adapter-next/_node_modules/semver/functions/clean.cjs +11 -0
  42. package/dist/packages/adapter-next/_node_modules/semver/functions/clean.cjs.map +1 -0
  43. package/dist/packages/adapter-next/_node_modules/semver/functions/clean.js +11 -0
  44. package/dist/packages/adapter-next/_node_modules/semver/functions/clean.js.map +1 -0
  45. package/dist/packages/adapter-next/_node_modules/semver/functions/cmp.cjs +53 -0
  46. package/dist/packages/adapter-next/_node_modules/semver/functions/cmp.cjs.map +1 -0
  47. package/dist/packages/adapter-next/_node_modules/semver/functions/cmp.js +53 -0
  48. package/dist/packages/adapter-next/_node_modules/semver/functions/cmp.js.map +1 -0
  49. package/dist/packages/adapter-next/_node_modules/semver/functions/coerce.cjs +40 -0
  50. package/dist/packages/adapter-next/_node_modules/semver/functions/coerce.cjs.map +1 -0
  51. package/dist/packages/adapter-next/_node_modules/semver/functions/coerce.js +40 -0
  52. package/dist/packages/adapter-next/_node_modules/semver/functions/coerce.js.map +1 -0
  53. package/dist/packages/adapter-next/_node_modules/semver/functions/compare-build.cjs +12 -0
  54. package/dist/packages/adapter-next/_node_modules/semver/functions/compare-build.cjs.map +1 -0
  55. package/dist/packages/adapter-next/_node_modules/semver/functions/compare-build.js +12 -0
  56. package/dist/packages/adapter-next/_node_modules/semver/functions/compare-build.js.map +1 -0
  57. package/dist/packages/adapter-next/_node_modules/semver/functions/compare-loose.cjs +8 -0
  58. package/dist/packages/adapter-next/_node_modules/semver/functions/compare-loose.cjs.map +1 -0
  59. package/dist/packages/adapter-next/_node_modules/semver/functions/compare-loose.js +8 -0
  60. package/dist/packages/adapter-next/_node_modules/semver/functions/compare-loose.js.map +1 -0
  61. package/dist/packages/adapter-next/_node_modules/semver/functions/compare.cjs +8 -0
  62. package/dist/packages/adapter-next/_node_modules/semver/functions/compare.cjs.map +1 -0
  63. package/dist/packages/adapter-next/_node_modules/semver/functions/compare.js +8 -0
  64. package/dist/packages/adapter-next/_node_modules/semver/functions/compare.js.map +1 -0
  65. package/dist/packages/adapter-next/_node_modules/semver/functions/diff.cjs +39 -0
  66. package/dist/packages/adapter-next/_node_modules/semver/functions/diff.cjs.map +1 -0
  67. package/dist/packages/adapter-next/_node_modules/semver/functions/diff.js +39 -0
  68. package/dist/packages/adapter-next/_node_modules/semver/functions/diff.js.map +1 -0
  69. package/dist/packages/adapter-next/_node_modules/semver/functions/eq.cjs +8 -0
  70. package/dist/packages/adapter-next/_node_modules/semver/functions/eq.cjs.map +1 -0
  71. package/dist/packages/adapter-next/_node_modules/semver/functions/eq.js +8 -0
  72. package/dist/packages/adapter-next/_node_modules/semver/functions/eq.js.map +1 -0
  73. package/dist/packages/adapter-next/_node_modules/semver/functions/gt.cjs +8 -0
  74. package/dist/packages/adapter-next/_node_modules/semver/functions/gt.cjs.map +1 -0
  75. package/dist/packages/adapter-next/_node_modules/semver/functions/gt.js +8 -0
  76. package/dist/packages/adapter-next/_node_modules/semver/functions/gt.js.map +1 -0
  77. package/dist/packages/adapter-next/_node_modules/semver/functions/gte.cjs +8 -0
  78. package/dist/packages/adapter-next/_node_modules/semver/functions/gte.cjs.map +1 -0
  79. package/dist/packages/adapter-next/_node_modules/semver/functions/gte.js +8 -0
  80. package/dist/packages/adapter-next/_node_modules/semver/functions/gte.js.map +1 -0
  81. package/dist/packages/adapter-next/_node_modules/semver/functions/inc.cjs +22 -0
  82. package/dist/packages/adapter-next/_node_modules/semver/functions/inc.cjs.map +1 -0
  83. package/dist/packages/adapter-next/_node_modules/semver/functions/inc.js +22 -0
  84. package/dist/packages/adapter-next/_node_modules/semver/functions/inc.js.map +1 -0
  85. package/dist/packages/adapter-next/_node_modules/semver/functions/lt.cjs +8 -0
  86. package/dist/packages/adapter-next/_node_modules/semver/functions/lt.cjs.map +1 -0
  87. package/dist/packages/adapter-next/_node_modules/semver/functions/lt.js +8 -0
  88. package/dist/packages/adapter-next/_node_modules/semver/functions/lt.js.map +1 -0
  89. package/dist/packages/adapter-next/_node_modules/semver/functions/lte.cjs +8 -0
  90. package/dist/packages/adapter-next/_node_modules/semver/functions/lte.cjs.map +1 -0
  91. package/dist/packages/adapter-next/_node_modules/semver/functions/lte.js +8 -0
  92. package/dist/packages/adapter-next/_node_modules/semver/functions/lte.js.map +1 -0
  93. package/dist/packages/adapter-next/_node_modules/semver/functions/major.cjs +8 -0
  94. package/dist/packages/adapter-next/_node_modules/semver/functions/major.cjs.map +1 -0
  95. package/dist/packages/adapter-next/_node_modules/semver/functions/major.js +8 -0
  96. package/dist/packages/adapter-next/_node_modules/semver/functions/major.js.map +1 -0
  97. package/dist/packages/adapter-next/_node_modules/semver/functions/minor.cjs +8 -0
  98. package/dist/packages/adapter-next/_node_modules/semver/functions/minor.cjs.map +1 -0
  99. package/dist/packages/adapter-next/_node_modules/semver/functions/minor.js +8 -0
  100. package/dist/packages/adapter-next/_node_modules/semver/functions/minor.js.map +1 -0
  101. package/dist/packages/adapter-next/_node_modules/semver/functions/neq.cjs +8 -0
  102. package/dist/packages/adapter-next/_node_modules/semver/functions/neq.cjs.map +1 -0
  103. package/dist/packages/adapter-next/_node_modules/semver/functions/neq.js +8 -0
  104. package/dist/packages/adapter-next/_node_modules/semver/functions/neq.js.map +1 -0
  105. package/dist/packages/adapter-next/_node_modules/semver/functions/parse.cjs +20 -0
  106. package/dist/packages/adapter-next/_node_modules/semver/functions/parse.cjs.map +1 -0
  107. package/dist/packages/adapter-next/_node_modules/semver/functions/parse.js +20 -0
  108. package/dist/packages/adapter-next/_node_modules/semver/functions/parse.js.map +1 -0
  109. package/dist/packages/adapter-next/_node_modules/semver/functions/patch.cjs +8 -0
  110. package/dist/packages/adapter-next/_node_modules/semver/functions/patch.cjs.map +1 -0
  111. package/dist/packages/adapter-next/_node_modules/semver/functions/patch.js +8 -0
  112. package/dist/packages/adapter-next/_node_modules/semver/functions/patch.js.map +1 -0
  113. package/dist/packages/adapter-next/_node_modules/semver/functions/prerelease.cjs +11 -0
  114. package/dist/packages/adapter-next/_node_modules/semver/functions/prerelease.cjs.map +1 -0
  115. package/dist/packages/adapter-next/_node_modules/semver/functions/prerelease.js +11 -0
  116. package/dist/packages/adapter-next/_node_modules/semver/functions/prerelease.js.map +1 -0
  117. package/dist/packages/adapter-next/_node_modules/semver/functions/rcompare.cjs +8 -0
  118. package/dist/packages/adapter-next/_node_modules/semver/functions/rcompare.cjs.map +1 -0
  119. package/dist/packages/adapter-next/_node_modules/semver/functions/rcompare.js +8 -0
  120. package/dist/packages/adapter-next/_node_modules/semver/functions/rcompare.js.map +1 -0
  121. package/dist/packages/adapter-next/_node_modules/semver/functions/rsort.cjs +8 -0
  122. package/dist/packages/adapter-next/_node_modules/semver/functions/rsort.cjs.map +1 -0
  123. package/dist/packages/adapter-next/_node_modules/semver/functions/rsort.js +8 -0
  124. package/dist/packages/adapter-next/_node_modules/semver/functions/rsort.js.map +1 -0
  125. package/dist/packages/adapter-next/_node_modules/semver/functions/satisfies.cjs +15 -0
  126. package/dist/packages/adapter-next/_node_modules/semver/functions/satisfies.cjs.map +1 -0
  127. package/dist/packages/adapter-next/_node_modules/semver/functions/satisfies.js +15 -0
  128. package/dist/packages/adapter-next/_node_modules/semver/functions/satisfies.js.map +1 -0
  129. package/dist/packages/adapter-next/_node_modules/semver/functions/sort.cjs +8 -0
  130. package/dist/packages/adapter-next/_node_modules/semver/functions/sort.cjs.map +1 -0
  131. package/dist/packages/adapter-next/_node_modules/semver/functions/sort.js +8 -0
  132. package/dist/packages/adapter-next/_node_modules/semver/functions/sort.js.map +1 -0
  133. package/dist/packages/adapter-next/_node_modules/semver/functions/valid.cjs +11 -0
  134. package/dist/packages/adapter-next/_node_modules/semver/functions/valid.cjs.map +1 -0
  135. package/dist/packages/adapter-next/_node_modules/semver/functions/valid.js +11 -0
  136. package/dist/packages/adapter-next/_node_modules/semver/functions/valid.js.map +1 -0
  137. package/dist/packages/adapter-next/_node_modules/semver/index.cjs +134 -0
  138. package/dist/packages/adapter-next/_node_modules/semver/index.cjs.map +1 -0
  139. package/dist/packages/adapter-next/_node_modules/semver/index.js +135 -0
  140. package/dist/packages/adapter-next/_node_modules/semver/index.js.map +1 -0
  141. package/dist/packages/adapter-next/_node_modules/semver/internal/constants.cjs +27 -0
  142. package/dist/packages/adapter-next/_node_modules/semver/internal/constants.cjs.map +1 -0
  143. package/dist/packages/adapter-next/_node_modules/semver/internal/constants.js +27 -0
  144. package/dist/packages/adapter-next/_node_modules/semver/internal/constants.js.map +1 -0
  145. package/dist/packages/adapter-next/_node_modules/semver/internal/debug.cjs +7 -0
  146. package/dist/packages/adapter-next/_node_modules/semver/internal/debug.cjs.map +1 -0
  147. package/dist/packages/adapter-next/_node_modules/semver/internal/debug.js +7 -0
  148. package/dist/packages/adapter-next/_node_modules/semver/internal/debug.js.map +1 -0
  149. package/dist/packages/adapter-next/_node_modules/semver/internal/identifiers.cjs +19 -0
  150. package/dist/packages/adapter-next/_node_modules/semver/internal/identifiers.cjs.map +1 -0
  151. package/dist/packages/adapter-next/_node_modules/semver/internal/identifiers.js +19 -0
  152. package/dist/packages/adapter-next/_node_modules/semver/internal/identifiers.js.map +1 -0
  153. package/dist/packages/adapter-next/_node_modules/semver/internal/parse-options.cjs +16 -0
  154. package/dist/packages/adapter-next/_node_modules/semver/internal/parse-options.cjs.map +1 -0
  155. package/dist/packages/adapter-next/_node_modules/semver/internal/parse-options.js +16 -0
  156. package/dist/packages/adapter-next/_node_modules/semver/internal/parse-options.js.map +1 -0
  157. package/dist/packages/adapter-next/_node_modules/semver/internal/re.cjs +67 -0
  158. package/dist/packages/adapter-next/_node_modules/semver/internal/re.cjs.map +1 -0
  159. package/dist/packages/adapter-next/_node_modules/semver/internal/re.js +67 -0
  160. package/dist/packages/adapter-next/_node_modules/semver/internal/re.js.map +1 -0
  161. package/dist/packages/adapter-next/_node_modules/semver/ranges/gtr.cjs +8 -0
  162. package/dist/packages/adapter-next/_node_modules/semver/ranges/gtr.cjs.map +1 -0
  163. package/dist/packages/adapter-next/_node_modules/semver/ranges/gtr.js +8 -0
  164. package/dist/packages/adapter-next/_node_modules/semver/ranges/gtr.js.map +1 -0
  165. package/dist/packages/adapter-next/_node_modules/semver/ranges/intersects.cjs +12 -0
  166. package/dist/packages/adapter-next/_node_modules/semver/ranges/intersects.cjs.map +1 -0
  167. package/dist/packages/adapter-next/_node_modules/semver/ranges/intersects.js +12 -0
  168. package/dist/packages/adapter-next/_node_modules/semver/ranges/intersects.js.map +1 -0
  169. package/dist/packages/adapter-next/_node_modules/semver/ranges/ltr.cjs +8 -0
  170. package/dist/packages/adapter-next/_node_modules/semver/ranges/ltr.cjs.map +1 -0
  171. package/dist/packages/adapter-next/_node_modules/semver/ranges/ltr.js +8 -0
  172. package/dist/packages/adapter-next/_node_modules/semver/ranges/ltr.js.map +1 -0
  173. package/dist/packages/adapter-next/_node_modules/semver/ranges/max-satisfying.cjs +28 -0
  174. package/dist/packages/adapter-next/_node_modules/semver/ranges/max-satisfying.cjs.map +1 -0
  175. package/dist/packages/adapter-next/_node_modules/semver/ranges/max-satisfying.js +28 -0
  176. package/dist/packages/adapter-next/_node_modules/semver/ranges/max-satisfying.js.map +1 -0
  177. package/dist/packages/adapter-next/_node_modules/semver/ranges/min-satisfying.cjs +28 -0
  178. package/dist/packages/adapter-next/_node_modules/semver/ranges/min-satisfying.cjs.map +1 -0
  179. package/dist/packages/adapter-next/_node_modules/semver/ranges/min-satisfying.js +28 -0
  180. package/dist/packages/adapter-next/_node_modules/semver/ranges/min-satisfying.js.map +1 -0
  181. package/dist/packages/adapter-next/_node_modules/semver/ranges/min-version.cjs +57 -0
  182. package/dist/packages/adapter-next/_node_modules/semver/ranges/min-version.cjs.map +1 -0
  183. package/dist/packages/adapter-next/_node_modules/semver/ranges/min-version.js +57 -0
  184. package/dist/packages/adapter-next/_node_modules/semver/ranges/min-version.js.map +1 -0
  185. package/dist/packages/adapter-next/_node_modules/semver/ranges/outside.cjs +74 -0
  186. package/dist/packages/adapter-next/_node_modules/semver/ranges/outside.cjs.map +1 -0
  187. package/dist/packages/adapter-next/_node_modules/semver/ranges/outside.js +74 -0
  188. package/dist/packages/adapter-next/_node_modules/semver/ranges/outside.js.map +1 -0
  189. package/dist/packages/adapter-next/_node_modules/semver/ranges/simplify.cjs +49 -0
  190. package/dist/packages/adapter-next/_node_modules/semver/ranges/simplify.cjs.map +1 -0
  191. package/dist/packages/adapter-next/_node_modules/semver/ranges/simplify.js +49 -0
  192. package/dist/packages/adapter-next/_node_modules/semver/ranges/simplify.js.map +1 -0
  193. package/dist/packages/adapter-next/_node_modules/semver/ranges/subset.cjs +163 -0
  194. package/dist/packages/adapter-next/_node_modules/semver/ranges/subset.cjs.map +1 -0
  195. package/dist/packages/adapter-next/_node_modules/semver/ranges/subset.js +163 -0
  196. package/dist/packages/adapter-next/_node_modules/semver/ranges/subset.js.map +1 -0
  197. package/dist/packages/adapter-next/_node_modules/semver/ranges/to-comparators.cjs +8 -0
  198. package/dist/packages/adapter-next/_node_modules/semver/ranges/to-comparators.cjs.map +1 -0
  199. package/dist/packages/adapter-next/_node_modules/semver/ranges/to-comparators.js +8 -0
  200. package/dist/packages/adapter-next/_node_modules/semver/ranges/to-comparators.js.map +1 -0
  201. package/dist/packages/adapter-next/_node_modules/semver/ranges/valid.cjs +14 -0
  202. package/dist/packages/adapter-next/_node_modules/semver/ranges/valid.cjs.map +1 -0
  203. package/dist/packages/adapter-next/_node_modules/semver/ranges/valid.js +14 -0
  204. package/dist/packages/adapter-next/_node_modules/semver/ranges/valid.js.map +1 -0
  205. package/dist/plugin.cjs +1 -1
  206. package/dist/plugin.js +1 -1
  207. package/package.json +8 -7
  208. package/src/hooks/project-init.ts +7 -1
  209. package/src/hooks/slice-create.ts +2 -24
  210. /package/dist/{package.json.cjs → packages/adapter-next/package.json.cjs} +0 -0
  211. /package/dist/{package.json.cjs.map → packages/adapter-next/package.json.cjs.map} +0 -0
  212. /package/dist/{package.json.js → packages/adapter-next/package.json.js} +0 -0
  213. /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":";AACA,IAAA,UAAiB;AAEjB,QAAQ,OAAO;AACf,QAAQ,SAAS;AAEjB,SAAS,QAAS,MAAM;AACtB,MAAI,OAAO;AACX,MAAI,EAAE,gBAAgB,UAAU;AAC9B,WAAO,IAAI,QAAO;AAAA,EACtB;AAEE,OAAK,OAAO;AACZ,OAAK,OAAO;AACZ,OAAK,SAAS;AAEd,MAAI,QAAQ,OAAO,KAAK,YAAY,YAAY;AAC9C,SAAK,QAAQ,SAAU,MAAM;AAC3B,WAAK,KAAK,IAAI;AAAA,IACpB,CAAK;AAAA,EACL,WAAa,UAAU,SAAS,GAAG;AAC/B,aAAS,IAAI,GAAG,IAAI,UAAU,QAAQ,IAAI,GAAG,KAAK;AAChD,WAAK,KAAK,UAAU,CAAC,CAAC;AAAA,IAC5B;AAAA,EACA;AAEE,SAAO;AACT;AAEA,QAAQ,UAAU,aAAa,SAAU,MAAM;AAC7C,MAAI,KAAK,SAAS,MAAM;AACtB,UAAM,IAAI,MAAM,kDAAkD;AAAA,EACtE;AAEE,MAAI,OAAO,KAAK;AAChB,MAAI,OAAO,KAAK;AAEhB,MAAI,MAAM;AACR,SAAK,OAAO;AAAA,EAChB;AAEE,MAAI,MAAM;AACR,SAAK,OAAO;AAAA,EAChB;AAEE,MAAI,SAAS,KAAK,MAAM;AACtB,SAAK,OAAO;AAAA,EAChB;AACE,MAAI,SAAS,KAAK,MAAM;AACtB,SAAK,OAAO;AAAA,EAChB;AAEE,OAAK,KAAK;AACV,OAAK,OAAO;AACZ,OAAK,OAAO;AACZ,OAAK,OAAO;AAEZ,SAAO;AACT;AAEA,QAAQ,UAAU,cAAc,SAAU,MAAM;AAC9C,MAAI,SAAS,KAAK,MAAM;AACtB;AAAA,EACJ;AAEE,MAAI,KAAK,MAAM;AACb,SAAK,KAAK,WAAW,IAAI;AAAA,EAC7B;AAEE,MAAI,OAAO,KAAK;AAChB,OAAK,OAAO;AACZ,OAAK,OAAO;AACZ,MAAI,MAAM;AACR,SAAK,OAAO;AAAA,EAChB;AAEE,OAAK,OAAO;AACZ,MAAI,CAAC,KAAK,MAAM;AACd,SAAK,OAAO;AAAA,EAChB;AACE,OAAK;AACP;AAEA,QAAQ,UAAU,WAAW,SAAU,MAAM;AAC3C,MAAI,SAAS,KAAK,MAAM;AACtB;AAAA,EACJ;AAEE,MAAI,KAAK,MAAM;AACb,SAAK,KAAK,WAAW,IAAI;AAAA,EAC7B;AAEE,MAAI,OAAO,KAAK;AAChB,OAAK,OAAO;AACZ,OAAK,OAAO;AACZ,MAAI,MAAM;AACR,SAAK,OAAO;AAAA,EAChB;AAEE,OAAK,OAAO;AACZ,MAAI,CAAC,KAAK,MAAM;AACd,SAAK,OAAO;AAAA,EAChB;AACE,OAAK;AACP;AAEA,QAAQ,UAAU,OAAO,WAAY;AACnC,WAAS,IAAI,GAAG,IAAI,UAAU,QAAQ,IAAI,GAAG,KAAK;AAChD,SAAK,MAAM,UAAU,CAAC,CAAC;AAAA,EAC3B;AACE,SAAO,KAAK;AACd;AAEA,QAAQ,UAAU,UAAU,WAAY;AACtC,WAAS,IAAI,GAAG,IAAI,UAAU,QAAQ,IAAI,GAAG,KAAK;AAChD,YAAQ,MAAM,UAAU,CAAC,CAAC;AAAA,EAC9B;AACE,SAAO,KAAK;AACd;AAEA,QAAQ,UAAU,MAAM,WAAY;AAClC,MAAI,CAAC,KAAK,MAAM;AACd,WAAO;AAAA,EACX;AAEE,MAAI,MAAM,KAAK,KAAK;AACpB,OAAK,OAAO,KAAK,KAAK;AACtB,MAAI,KAAK,MAAM;AACb,SAAK,KAAK,OAAO;AAAA,EACrB,OAAS;AACL,SAAK,OAAO;AAAA,EAChB;AACE,OAAK;AACL,SAAO;AACT;AAEA,QAAQ,UAAU,QAAQ,WAAY;AACpC,MAAI,CAAC,KAAK,MAAM;AACd,WAAO;AAAA,EACX;AAEE,MAAI,MAAM,KAAK,KAAK;AACpB,OAAK,OAAO,KAAK,KAAK;AACtB,MAAI,KAAK,MAAM;AACb,SAAK,KAAK,OAAO;AAAA,EACrB,OAAS;AACL,SAAK,OAAO;AAAA,EAChB;AACE,OAAK;AACL,SAAO;AACT;AAEA,QAAQ,UAAU,UAAU,SAAU,IAAI,OAAO;AAC/C,UAAQ,SAAS;AACjB,WAAS,SAAS,KAAK,MAAM,IAAI,GAAG,WAAW,MAAM,KAAK;AACxD,OAAG,KAAK,OAAO,OAAO,OAAO,GAAG,IAAI;AACpC,aAAS,OAAO;AAAA,EACpB;AACA;AAEA,QAAQ,UAAU,iBAAiB,SAAU,IAAI,OAAO;AACtD,UAAQ,SAAS;AACjB,WAAS,SAAS,KAAK,MAAM,IAAI,KAAK,SAAS,GAAG,WAAW,MAAM,KAAK;AACtE,OAAG,KAAK,OAAO,OAAO,OAAO,GAAG,IAAI;AACpC,aAAS,OAAO;AAAA,EACpB;AACA;AAEA,QAAQ,UAAU,MAAM,SAAU,GAAG;AACnC,WAAS,IAAI,GAAG,SAAS,KAAK,MAAM,WAAW,QAAQ,IAAI,GAAG,KAAK;AAEjE,aAAS,OAAO;AAAA,EACpB;AACE,MAAI,MAAM,KAAK,WAAW,MAAM;AAC9B,WAAO,OAAO;AAAA,EAClB;AACA;AAEA,QAAQ,UAAU,aAAa,SAAU,GAAG;AAC1C,WAAS,IAAI,GAAG,SAAS,KAAK,MAAM,WAAW,QAAQ,IAAI,GAAG,KAAK;AAEjE,aAAS,OAAO;AAAA,EACpB;AACE,MAAI,MAAM,KAAK,WAAW,MAAM;AAC9B,WAAO,OAAO;AAAA,EAClB;AACA;AAEA,QAAQ,UAAU,MAAM,SAAU,IAAI,OAAO;AAC3C,UAAQ,SAAS;AACjB,MAAI,MAAM,IAAI,QAAO;AACrB,WAAS,SAAS,KAAK,MAAM,WAAW,QAAO;AAC7C,QAAI,KAAK,GAAG,KAAK,OAAO,OAAO,OAAO,IAAI,CAAC;AAC3C,aAAS,OAAO;AAAA,EACpB;AACE,SAAO;AACT;AAEA,QAAQ,UAAU,aAAa,SAAU,IAAI,OAAO;AAClD,UAAQ,SAAS;AACjB,MAAI,MAAM,IAAI,QAAO;AACrB,WAAS,SAAS,KAAK,MAAM,WAAW,QAAO;AAC7C,QAAI,KAAK,GAAG,KAAK,OAAO,OAAO,OAAO,IAAI,CAAC;AAC3C,aAAS,OAAO;AAAA,EACpB;AACE,SAAO;AACT;AAEA,QAAQ,UAAU,SAAS,SAAU,IAAI,SAAS;AAChD,MAAI;AACJ,MAAI,SAAS,KAAK;AAClB,MAAI,UAAU,SAAS,GAAG;AACxB,UAAM;AAAA,EACV,WAAa,KAAK,MAAM;AACpB,aAAS,KAAK,KAAK;AACnB,UAAM,KAAK,KAAK;AAAA,EACpB,OAAS;AACL,UAAM,IAAI,UAAU,4CAA4C;AAAA,EACpE;AAEE,WAAS,IAAI,GAAG,WAAW,MAAM,KAAK;AACpC,UAAM,GAAG,KAAK,OAAO,OAAO,CAAC;AAC7B,aAAS,OAAO;AAAA,EACpB;AAEE,SAAO;AACT;AAEA,QAAQ,UAAU,gBAAgB,SAAU,IAAI,SAAS;AACvD,MAAI;AACJ,MAAI,SAAS,KAAK;AAClB,MAAI,UAAU,SAAS,GAAG;AACxB,UAAM;AAAA,EACV,WAAa,KAAK,MAAM;AACpB,aAAS,KAAK,KAAK;AACnB,UAAM,KAAK,KAAK;AAAA,EACpB,OAAS;AACL,UAAM,IAAI,UAAU,4CAA4C;AAAA,EACpE;AAEE,WAAS,IAAI,KAAK,SAAS,GAAG,WAAW,MAAM,KAAK;AAClD,UAAM,GAAG,KAAK,OAAO,OAAO,CAAC;AAC7B,aAAS,OAAO;AAAA,EACpB;AAEE,SAAO;AACT;AAEA,QAAQ,UAAU,UAAU,WAAY;AACtC,MAAI,MAAM,IAAI,MAAM,KAAK,MAAM;AAC/B,WAAS,IAAI,GAAG,SAAS,KAAK,MAAM,WAAW,MAAM,KAAK;AACxD,QAAI,CAAC,IAAI,OAAO;AAChB,aAAS,OAAO;AAAA,EACpB;AACE,SAAO;AACT;AAEA,QAAQ,UAAU,iBAAiB,WAAY;AAC7C,MAAI,MAAM,IAAI,MAAM,KAAK,MAAM;AAC/B,WAAS,IAAI,GAAG,SAAS,KAAK,MAAM,WAAW,MAAM,KAAK;AACxD,QAAI,CAAC,IAAI,OAAO;AAChB,aAAS,OAAO;AAAA,EACpB;AACE,SAAO;AACT;AAEA,QAAQ,UAAU,QAAQ,SAAU,MAAM,IAAI;AAC5C,OAAK,MAAM,KAAK;AAChB,MAAI,KAAK,GAAG;AACV,UAAM,KAAK;AAAA,EACf;AACE,SAAO,QAAQ;AACf,MAAI,OAAO,GAAG;AACZ,YAAQ,KAAK;AAAA,EACjB;AACE,MAAI,MAAM,IAAI,QAAO;AACrB,MAAI,KAAK,QAAQ,KAAK,GAAG;AACvB,WAAO;AAAA,EACX;AACE,MAAI,OAAO,GAAG;AACZ,WAAO;AAAA,EACX;AACE,MAAI,KAAK,KAAK,QAAQ;AACpB,SAAK,KAAK;AAAA,EACd;AACE,WAAS,IAAI,GAAG,SAAS,KAAK,MAAM,WAAW,QAAQ,IAAI,MAAM,KAAK;AACpE,aAAS,OAAO;AAAA,EACpB;AACE,SAAO,WAAW,QAAQ,IAAI,IAAI,KAAK,SAAS,OAAO,MAAM;AAC3D,QAAI,KAAK,OAAO,KAAK;AAAA,EACzB;AACE,SAAO;AACT;AAEA,QAAQ,UAAU,eAAe,SAAU,MAAM,IAAI;AACnD,OAAK,MAAM,KAAK;AAChB,MAAI,KAAK,GAAG;AACV,UAAM,KAAK;AAAA,EACf;AACE,SAAO,QAAQ;AACf,MAAI,OAAO,GAAG;AACZ,YAAQ,KAAK;AAAA,EACjB;AACE,MAAI,MAAM,IAAI,QAAO;AACrB,MAAI,KAAK,QAAQ,KAAK,GAAG;AACvB,WAAO;AAAA,EACX;AACE,MAAI,OAAO,GAAG;AACZ,WAAO;AAAA,EACX;AACE,MAAI,KAAK,KAAK,QAAQ;AACpB,SAAK,KAAK;AAAA,EACd;AACE,WAAS,IAAI,KAAK,QAAQ,SAAS,KAAK,MAAM,WAAW,QAAQ,IAAI,IAAI,KAAK;AAC5E,aAAS,OAAO;AAAA,EACpB;AACE,SAAO,WAAW,QAAQ,IAAI,MAAM,KAAK,SAAS,OAAO,MAAM;AAC7D,QAAI,KAAK,OAAO,KAAK;AAAA,EACzB;AACE,SAAO;AACT;AAEA,QAAQ,UAAU,SAAS,SAAU,OAAO,gBAAgB,OAAO;AACjE,MAAI,QAAQ,KAAK,QAAQ;AACvB,YAAQ,KAAK,SAAS;AAAA,EAC1B;AACE,MAAI,QAAQ,GAAG;AACb,YAAQ,KAAK,SAAS;AAAA,EAC1B;AAEE,WAAS,IAAI,GAAG,SAAS,KAAK,MAAM,WAAW,QAAQ,IAAI,OAAO,KAAK;AACrE,aAAS,OAAO;AAAA,EACpB;AAEE,MAAI,MAAM,CAAA;AACV,WAAS,IAAI,GAAG,UAAU,IAAI,aAAa,KAAK;AAC9C,QAAI,KAAK,OAAO,KAAK;AACrB,aAAS,KAAK,WAAW,MAAM;AAAA,EACnC;AACE,MAAI,WAAW,MAAM;AACnB,aAAS,KAAK;AAAA,EAClB;AAEE,MAAI,WAAW,KAAK,QAAQ,WAAW,KAAK,MAAM;AAChD,aAAS,OAAO;AAAA,EACpB;AAEE,WAAS,IAAI,GAAG,IAAI,MAAM,QAAQ,KAAK;AACrC,aAAS,OAAO,MAAM,QAAQ,MAAM,CAAC,CAAC;AAAA,EAC1C;AACE,SAAO;AACT;AAEA,QAAQ,UAAU,UAAU,WAAY;AACtC,MAAI,OAAO,KAAK;AAChB,MAAI,OAAO,KAAK;AAChB,WAAS,SAAS,MAAM,WAAW,MAAM,SAAS,OAAO,MAAM;AAC7D,QAAI,IAAI,OAAO;AACf,WAAO,OAAO,OAAO;AACrB,WAAO,OAAO;AAAA,EAClB;AACE,OAAK,OAAO;AACZ,OAAK,OAAO;AACZ,SAAO;AACT;AAEA,SAAS,OAAQ,MAAM,MAAM,OAAO;AAClC,MAAI,WAAW,SAAS,KAAK,OAC3B,IAAI,KAAK,OAAO,MAAM,MAAM,IAAI,IAChC,IAAI,KAAK,OAAO,MAAM,KAAK,MAAM,IAAI;AAEvC,MAAI,SAAS,SAAS,MAAM;AAC1B,SAAK,OAAO;AAAA,EAChB;AACE,MAAI,SAAS,SAAS,MAAM;AAC1B,SAAK,OAAO;AAAA,EAChB;AAEE,OAAK;AAEL,SAAO;AACT;AAEA,SAAS,KAAM,MAAM,MAAM;AACzB,OAAK,OAAO,IAAI,KAAK,MAAM,KAAK,MAAM,MAAM,IAAI;AAChD,MAAI,CAAC,KAAK,MAAM;AACd,SAAK,OAAO,KAAK;AAAA,EACrB;AACE,OAAK;AACP;AAEA,SAAS,QAAS,MAAM,MAAM;AAC5B,OAAK,OAAO,IAAI,KAAK,MAAM,MAAM,KAAK,MAAM,IAAI;AAChD,MAAI,CAAC,KAAK,MAAM;AACd,SAAK,OAAO,KAAK;AAAA,EACrB;AACE,OAAK;AACP;AAEA,SAAS,KAAM,OAAO,MAAM,MAAM,MAAM;AACtC,MAAI,EAAE,gBAAgB,OAAO;AAC3B,WAAO,IAAI,KAAK,OAAO,MAAM,MAAM,IAAI;AAAA,EAC3C;AAEE,OAAK,OAAO;AACZ,OAAK,QAAQ;AAEb,MAAI,MAAM;AACR,SAAK,OAAO;AACZ,SAAK,OAAO;AAAA,EAChB,OAAS;AACL,SAAK,OAAO;AAAA,EAChB;AAEE,MAAI,MAAM;AACR,SAAK,OAAO;AACZ,SAAK,OAAO;AAAA,EAChB,OAAS;AACL,SAAK,OAAO;AAAA,EAChB;AACA;AAEA,IAAI;AAEFA,kBAAA,EAAyB,OAAO;AAClC,SAAS,IAAI;AAAA;","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":";"}
@@ -1,7 +1,30 @@
1
1
  "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __copyProps = (to, from, except, desc) => {
9
+ if (from && typeof from === "object" || typeof from === "function") {
10
+ for (let key of __getOwnPropNames(from))
11
+ if (!__hasOwnProp.call(to, key) && key !== except)
12
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
13
+ }
14
+ return to;
15
+ };
16
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
17
+ // If the importer is in node compatibility mode or this is not an ESM
18
+ // file that has been converted to a CommonJS file using a Babel-
19
+ // compatible transform (i.e. "__esModule" has not been set), then set
20
+ // "default" to the CommonJS "module.exports" for node compatibility.
21
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
22
+ mod
23
+ ));
2
24
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
25
  const fs = require("@slicemachine/plugin-kit/fs");
4
26
  const commonTags = require("common-tags");
27
+ const index = require('./../packages/adapter-next/_node_modules/semver/index.cjs');
5
28
  const buildSrcPath = require("../lib/buildSrcPath.cjs");
6
29
  const checkHasAppRouter = require("../lib/checkHasAppRouter.cjs");
7
30
  const checkIsTypeScriptProject = require("../lib/checkIsTypeScriptProject.cjs");
@@ -451,6 +474,10 @@ const createRevalidateRoute = async ({ helpers, options }) => {
451
474
  if (!hasAppRouter) {
452
475
  return;
453
476
  }
477
+ const nextPkg = await import("next/package.json").catch(() => ({
478
+ version: "0"
479
+ }));
480
+ const supportsCacheLife = index.gte(nextPkg.version, "16.0.0-beta.0");
454
481
  const extension = await getJSFileExtension.getJSFileExtension({ helpers, options });
455
482
  const filename = await buildSrcPath.buildSrcPath({
456
483
  filename: `app/api/revalidate/route.${extension}`,
@@ -464,7 +491,7 @@ const createRevalidateRoute = async ({ helpers, options }) => {
464
491
  import { revalidateTag } from "next/cache";
465
492
 
466
493
  export async function POST() {
467
- revalidateTag("prismic");
494
+ revalidateTag("prismic"${supportsCacheLife ? ', "max"' : ""});
468
495
 
469
496
  return NextResponse.json({ revalidated: true, now: Date.now() });
470
497
  }
@@ -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\";\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 nextPkg = await import(\"next/package.json\").catch(() => ({\n\t\tversion: \"0\",\n\t}));\n\tconst supportsCacheLife = semver.gte(nextPkg.version, \"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","semver","upsertSliceLibraryIndexFile","rejectIfNecessary"],"mappings":"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"}
@@ -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";
@@ -449,6 +450,10 @@ const createRevalidateRoute = async ({ helpers, options }) => {
449
450
  if (!hasAppRouter) {
450
451
  return;
451
452
  }
453
+ const nextPkg = await import("next/package.json").catch(() => ({
454
+ version: "0"
455
+ }));
456
+ const supportsCacheLife = semver.gte(nextPkg.version, "16.0.0-beta.0");
452
457
  const extension = await getJSFileExtension({ helpers, options });
453
458
  const filename = await buildSrcPath({
454
459
  filename: `app/api/revalidate/route.${extension}`,
@@ -462,7 +467,7 @@ const createRevalidateRoute = async ({ helpers, options }) => {
462
467
  import { revalidateTag } from "next/cache";
463
468
 
464
469
  export async function POST() {
465
- revalidateTag("prismic");
470
+ revalidateTag("prismic"${supportsCacheLife ? ', "max"' : ""});
466
471
 
467
472
  return NextResponse.json({ revalidated: true, now: Date.now() });
468
473
  }