circle-flags 2.8.2 → 2.8.3
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.
- package/.pack-symlink-manifest.json +1009 -0
- package/flags/ac.svg +1 -0
- package/flags/bq.svg +1 -0
- package/flags/bv.svg +1 -0
- package/flags/by-historical.svg +1 -0
- package/flags/cn-hk.svg +1 -0
- package/flags/cp.svg +1 -0
- package/flags/dg.svg +1 -0
- package/flags/ea.svg +1 -0
- package/flags/es-vc.svg +1 -0
- package/flags/eu.svg +1 -0
- package/flags/fx.svg +1 -0
- package/flags/hm.svg +1 -0
- package/flags/ic.svg +1 -0
- package/flags/language/aa.svg +1 -0
- package/flags/language/ab.svg +1 -0
- package/flags/language/af.svg +1 -0
- package/flags/language/ak.svg +1 -0
- package/flags/language/am.svg +1 -0
- package/flags/language/an.svg +1 -0
- package/flags/language/as.svg +1 -0
- package/flags/language/av.svg +1 -0
- package/flags/language/ay.svg +1 -0
- package/flags/language/az.svg +1 -0
- package/flags/language/ba.svg +1 -0
- package/flags/language/be.svg +1 -0
- package/flags/language/bg.svg +1 -0
- package/flags/language/bi.svg +1 -0
- package/flags/language/bm.svg +1 -0
- package/flags/language/bn.svg +1 -0
- package/flags/language/bo.svg +1 -0
- package/flags/language/br.svg +1 -0
- package/flags/language/bs.svg +1 -0
- package/flags/language/ca.svg +1 -0
- package/flags/language/ce.svg +1 -0
- package/flags/language/ceb.svg +1 -0
- package/flags/language/ch.svg +1 -0
- package/flags/language/chm.svg +1 -0
- package/flags/language/ckb.svg +1 -0
- package/flags/language/co.svg +1 -0
- package/flags/language/cs.svg +1 -0
- package/flags/language/cv.svg +1 -0
- package/flags/language/cy.svg +1 -0
- package/flags/language/da.svg +1 -0
- package/flags/language/de.svg +1 -0
- package/flags/language/dv.svg +1 -0
- package/flags/language/dz.svg +1 -0
- package/flags/language/ee.svg +1 -0
- package/flags/language/el.svg +1 -0
- package/flags/language/en-gb.svg +1 -0
- package/flags/language/en.svg +1 -0
- package/flags/language/es-es.svg +1 -0
- package/flags/language/es.svg +1 -0
- package/flags/language/et.svg +1 -0
- package/flags/language/eu.svg +1 -0
- package/flags/language/fa.svg +1 -0
- package/flags/language/fi.svg +1 -0
- package/flags/language/fil.svg +1 -0
- package/flags/language/fj.svg +1 -0
- package/flags/language/fo.svg +1 -0
- package/flags/language/fr.svg +1 -0
- package/flags/language/fy.svg +1 -0
- package/flags/language/ga.svg +1 -0
- package/flags/language/gd.svg +1 -0
- package/flags/language/gl.svg +1 -0
- package/flags/language/gn.svg +1 -0
- package/flags/language/gu.svg +1 -0
- package/flags/language/gv.svg +1 -0
- package/flags/language/ha.svg +1 -0
- package/flags/language/haw.svg +1 -0
- package/flags/language/he.svg +1 -0
- package/flags/language/hi.svg +1 -0
- package/flags/language/hmn.svg +1 -0
- package/flags/language/ho.svg +1 -0
- package/flags/language/hr.svg +1 -0
- package/flags/language/ht.svg +1 -0
- package/flags/language/hu.svg +1 -0
- package/flags/language/hy.svg +1 -0
- package/flags/language/id.svg +1 -0
- package/flags/language/ig.svg +1 -0
- package/flags/language/ilo.svg +1 -0
- package/flags/language/is.svg +1 -0
- package/flags/language/it.svg +1 -0
- package/flags/language/ja.svg +1 -0
- package/flags/language/jv.svg +1 -0
- package/flags/language/ka.svg +1 -0
- package/flags/language/kg.svg +1 -0
- package/flags/language/ki.svg +1 -0
- package/flags/language/kk.svg +1 -0
- package/flags/language/kl.svg +1 -0
- package/flags/language/km.svg +1 -0
- package/flags/language/kn.svg +1 -0
- package/flags/language/ko.svg +1 -0
- package/flags/language/kr.svg +1 -0
- package/flags/language/kri.svg +1 -0
- package/flags/language/ks.svg +1 -0
- package/flags/language/ku.svg +1 -0
- package/flags/language/kv.svg +1 -0
- package/flags/language/kw.svg +1 -0
- package/flags/language/ky.svg +1 -0
- package/flags/language/lb.svg +1 -0
- package/flags/language/lg.svg +1 -0
- package/flags/language/ln.svg +1 -0
- package/flags/language/lo.svg +1 -0
- package/flags/language/lt.svg +1 -0
- package/flags/language/lu.svg +1 -0
- package/flags/language/lus.svg +1 -0
- package/flags/language/lv.svg +1 -0
- package/flags/language/mg.svg +1 -0
- package/flags/language/mh.svg +1 -0
- package/flags/language/mi.svg +1 -0
- package/flags/language/mk.svg +1 -0
- package/flags/language/ml.svg +1 -0
- package/flags/language/mn.svg +1 -0
- package/flags/language/mni.svg +1 -0
- package/flags/language/mrj.svg +1 -0
- package/flags/language/ms.svg +1 -0
- package/flags/language/mt.svg +1 -0
- package/flags/language/my.svg +1 -0
- package/flags/language/na.svg +1 -0
- package/flags/language/nb.svg +1 -0
- package/flags/language/nd.svg +1 -0
- package/flags/language/ne.svg +1 -0
- package/flags/language/nl.svg +1 -0
- package/flags/language/nn.svg +1 -0
- package/flags/language/no.svg +1 -0
- package/flags/language/nr.svg +1 -0
- package/flags/language/ny.svg +1 -0
- package/flags/language/oc.svg +1 -0
- package/flags/language/om.svg +1 -0
- package/flags/language/or.svg +1 -0
- package/flags/language/os.svg +1 -0
- package/flags/language/oto.svg +1 -0
- package/flags/language/pa.svg +1 -0
- package/flags/language/pap.svg +1 -0
- package/flags/language/pl.svg +1 -0
- package/flags/language/pms.svg +1 -0
- package/flags/language/ps.svg +1 -0
- package/flags/language/pt-pt.svg +1 -0
- package/flags/language/pt.svg +1 -0
- package/flags/language/qu.svg +1 -0
- package/flags/language/rm.svg +1 -0
- package/flags/language/rn.svg +1 -0
- package/flags/language/ro.svg +1 -0
- package/flags/language/ru.svg +1 -0
- package/flags/language/rw.svg +1 -0
- package/flags/language/sc.svg +1 -0
- package/flags/language/sd.svg +1 -0
- package/flags/language/se.svg +1 -0
- package/flags/language/sg.svg +1 -0
- package/flags/language/si.svg +1 -0
- package/flags/language/sk.svg +1 -0
- package/flags/language/sl.svg +1 -0
- package/flags/language/sm.svg +1 -0
- package/flags/language/sn.svg +1 -0
- package/flags/language/so.svg +1 -0
- package/flags/language/sq.svg +1 -0
- package/flags/language/sr.svg +1 -0
- package/flags/language/ss.svg +1 -0
- package/flags/language/st.svg +1 -0
- package/flags/language/su.svg +1 -0
- package/flags/language/sv.svg +1 -0
- package/flags/language/sw.svg +1 -0
- package/flags/language/ta.svg +1 -0
- package/flags/language/te.svg +1 -0
- package/flags/language/tg.svg +1 -0
- package/flags/language/th.svg +1 -0
- package/flags/language/ti.svg +1 -0
- package/flags/language/tk.svg +1 -0
- package/flags/language/tl.svg +1 -0
- package/flags/language/tn.svg +1 -0
- package/flags/language/to.svg +1 -0
- package/flags/language/tr.svg +1 -0
- package/flags/language/translingual.svg +1 -0
- package/flags/language/tt.svg +1 -0
- package/flags/language/ty.svg +1 -0
- package/flags/language/udm.svg +1 -0
- package/flags/language/ug.svg +1 -0
- package/flags/language/uk.svg +1 -0
- package/flags/language/ur.svg +1 -0
- package/flags/language/uz.svg +1 -0
- package/flags/language/vi.svg +1 -0
- package/flags/language/xh.svg +1 -0
- package/flags/language/xx.svg +1 -0
- package/flags/language/yo.svg +1 -0
- package/flags/language/yua.svg +1 -0
- package/flags/language/zh.svg +1 -0
- package/flags/language/zu.svg +1 -0
- package/flags/other/chequered.svg +1 -0
- package/flags/other/jolly_roger.svg +1 -0
- package/flags/other/un.svg +1 -0
- package/flags/sh.svg +1 -0
- package/flags/sj.svg +1 -0
- package/flags/su.svg +1 -0
- package/flags/ta.svg +1 -0
- package/flags/uk.svg +1 -0
- package/flags/um.svg +1 -0
- package/flags/un.svg +1 -0
- package/flags/us-as.svg +1 -0
- package/flags/us-gu.svg +1 -0
- package/flags/us-mp.svg +1 -0
- package/flags/us-pr.svg +1 -0
- package/flags/us-um.svg +1 -0
- package/flags/us-vi.svg +1 -0
- package/gallery.md +2 -0
- package/package.json +6 -1
- package/scripts/package-symlinks.cjs +98 -0
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
const fs = require("fs");
|
|
4
|
+
const path = require("path");
|
|
5
|
+
|
|
6
|
+
const ROOT = process.cwd();
|
|
7
|
+
const FLAGS_DIR = path.join(ROOT, "flags");
|
|
8
|
+
const MANIFEST_PATH = path.join(ROOT, ".pack-symlink-manifest.json");
|
|
9
|
+
|
|
10
|
+
function walk(dir, onEntry) {
|
|
11
|
+
const entries = fs.readdirSync(dir, { withFileTypes: true });
|
|
12
|
+
|
|
13
|
+
for (const entry of entries) {
|
|
14
|
+
const fullPath = path.join(dir, entry.name);
|
|
15
|
+
|
|
16
|
+
if (entry.isDirectory()) {
|
|
17
|
+
walk(fullPath, onEntry);
|
|
18
|
+
continue;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
onEntry(fullPath, entry);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
function materialize() {
|
|
26
|
+
if (!fs.existsSync(FLAGS_DIR)) {
|
|
27
|
+
process.exit(0);
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
const symlinks = [];
|
|
31
|
+
|
|
32
|
+
walk(FLAGS_DIR, (fullPath) => {
|
|
33
|
+
const stat = fs.lstatSync(fullPath);
|
|
34
|
+
|
|
35
|
+
if (!stat.isSymbolicLink()) {
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
const target = fs.readlinkSync(fullPath);
|
|
40
|
+
const targetPath = path.resolve(path.dirname(fullPath), target);
|
|
41
|
+
|
|
42
|
+
if (!fs.existsSync(targetPath)) {
|
|
43
|
+
throw new Error(`Symlink target does not exist: ${fullPath} -> ${target}`);
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
const data = fs.readFileSync(targetPath);
|
|
47
|
+
|
|
48
|
+
fs.unlinkSync(fullPath);
|
|
49
|
+
fs.writeFileSync(fullPath, data);
|
|
50
|
+
|
|
51
|
+
symlinks.push({
|
|
52
|
+
path: path.relative(ROOT, fullPath),
|
|
53
|
+
target,
|
|
54
|
+
mode: stat.mode
|
|
55
|
+
});
|
|
56
|
+
});
|
|
57
|
+
|
|
58
|
+
fs.writeFileSync(MANIFEST_PATH, JSON.stringify({ symlinks }, null, 2) + "\n");
|
|
59
|
+
|
|
60
|
+
if (symlinks.length > 0) {
|
|
61
|
+
console.log(`Materialized ${symlinks.length} symlink(s) for npm packaging.`);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
function restore() {
|
|
66
|
+
if (!fs.existsSync(MANIFEST_PATH)) {
|
|
67
|
+
process.exit(0);
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
const { symlinks } = JSON.parse(fs.readFileSync(MANIFEST_PATH, "utf8"));
|
|
71
|
+
|
|
72
|
+
for (const item of symlinks) {
|
|
73
|
+
const fullPath = path.join(ROOT, item.path);
|
|
74
|
+
|
|
75
|
+
if (fs.existsSync(fullPath)) {
|
|
76
|
+
fs.unlinkSync(fullPath);
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
fs.symlinkSync(item.target, fullPath);
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
fs.unlinkSync(MANIFEST_PATH);
|
|
83
|
+
|
|
84
|
+
if (symlinks.length > 0) {
|
|
85
|
+
console.log(`Restored ${symlinks.length} symlink(s) after npm packaging.`);
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
const action = process.argv[2];
|
|
90
|
+
|
|
91
|
+
if (action === "materialize") {
|
|
92
|
+
materialize();
|
|
93
|
+
} else if (action === "restore") {
|
|
94
|
+
restore();
|
|
95
|
+
} else {
|
|
96
|
+
console.error("Usage: node scripts/package-symlinks.cjs <materialize|restore>");
|
|
97
|
+
process.exit(1);
|
|
98
|
+
}
|