| 123456789101112131415161718192021222324252627282930313233343536 |
- /**
- * Re-emit promptCatalog.js using \\u escapes so webpack/babel on Windows never mis-reads encoding.
- */
- const fs = require('fs')
- const paths = [
- 'd:/ylrz_saas_new/saas-companyui/src/utils/lobster/promptCatalog.js',
- 'd:/ylrz_saas_new/saas-mgnui/src/utils/lobster/promptCatalog.js',
- 'd:/ylrz_saas_new/adminui/src/utils/lobster/promptCatalog.js'
- ]
- function escapeNonAscii(str) {
- let out = ''
- for (let i = 0; i < str.length; i++) {
- const code = str.charCodeAt(i)
- if (code <= 0x7f) {
- out += str[i]
- } else {
- out += '\\u' + code.toString(16).padStart(4, '0')
- }
- }
- return out
- }
- function escapeJsSingleQuotedStrings(source) {
- return source.replace(/'([^'\\]|\\.)*'/g, match => {
- const inner = match.slice(1, -1)
- return "'" + escapeNonAscii(inner) + "'"
- })
- }
- paths.forEach(p => {
- const raw = fs.readFileSync(p, 'utf8')
- const out = escapeJsSingleQuotedStrings(raw)
- fs.writeFileSync(p, out, 'ascii')
- console.log('escaped', p, 'ascii-only:', /^[\x00-\x7f]*$/.test(out))
- })
|