mirror of
https://github.com/microsoft/vscode.git
synced 2026-04-20 12:40:19 -05:00
remove unused files
This commit is contained in:
130
GDPR-README.md
130
GDPR-README.md
@@ -1,130 +0,0 @@
|
||||
Snippets defined for GDPR classification:
|
||||
|
||||
```json
|
||||
{
|
||||
"gdprCommonProperty": {
|
||||
"prefix": "gdprcommon",
|
||||
"body": [
|
||||
"// __GDPR__COMMON__ \"common.${1:propertyName}\" : { \"endPoint\": \"${2|none,SqmUserId,SqmMachineId|}\", \"classification\": \"${3|SystemMetaData,CustomerContent,EndUserPseudonymizedInformation|}\", \"purpose\": \"${4|FeatureInsight,PerformanceAndHealth,BusinessInsight,SecurityAndAuditing|}\" }\n"
|
||||
],
|
||||
"description": "GDPR - declare a common property"
|
||||
},
|
||||
"gdprProperty": {
|
||||
"prefix": "gdprproperty",
|
||||
"body": [
|
||||
"\"${1:propertyName}\": { \"endPoint\": \"${3|none,SqmUserId,SqmMachineId|}\", \"classification\": \"${4|SystemMetaData,CustomerContent,EndUserPseudonymizedInformation,PublicPersonalData,PublicNonPersonalData|}\", \"purpose\": \"${5|FeatureInsight,PerformanceAndHealth,BusinessInsight,SecurityAndAuditing|}\" }$2$0"
|
||||
],
|
||||
"description": "GDPR - declare a property"
|
||||
},
|
||||
"gdprInclude": {
|
||||
"prefix": "gdprinclude",
|
||||
"body": [
|
||||
"\"\\${include}\": [",
|
||||
" \"\\${${1:FragmentName}}\"$0",
|
||||
"]"
|
||||
],
|
||||
"description": "GDPR - include fragments"
|
||||
},
|
||||
"gdprIncludeFragment": {
|
||||
"prefix": "gdprincludefragment",
|
||||
"body": [
|
||||
"\"\\${${1:FragmentName}}\"$0"
|
||||
],
|
||||
"description": "GDPR - include a fragment"
|
||||
},
|
||||
"gdprEvent": {
|
||||
"prefix": "gdprevent",
|
||||
"body": [
|
||||
"/* __GDPR__",
|
||||
" \"${1:eventName}\" : {",
|
||||
" \"${2:propertyName}\" : { \"endPoint\": \"${4|none,SqmUserId,SqmMachineId|}\", \"classification\": \"${5|SystemMetaData,CustomerContent,EndUserPseudonymizedInformation,PublicPersonalData,PublicNonPersonalData|}\", \"purpose\": \"${6|FeatureInsight,PerformanceAndHealth,BusinessInsight,SecurityAndAuditing|}\" }$3$0",
|
||||
" }",
|
||||
" */\n"
|
||||
],
|
||||
"description": "GDPR - declare an event"
|
||||
},
|
||||
"gdprFragment": {
|
||||
"prefix": "gdprinclude",
|
||||
"body": [
|
||||
"/* __GDPR__FRAGMENT__",
|
||||
" \"${1:fragmentName}\" : {",
|
||||
" \"${2:propertyName}\" : { \"endPoint\": \"${4|none,SqmUserId,SqmMachineId|}\", \"classification\": \"${5|SystemMetaData,CustomerContent,EndUserPseudonymizedInformation,PublicPersonalData,PublicNonPersonalData|}\", \"purpose\": \"${6|FeatureInsight,PerformanceAndHealth,BusinessInsight,SecurityAndAuditing|}\" }$3$0",
|
||||
" }",
|
||||
" */\n"
|
||||
],
|
||||
"description": "GDPR - declare a fragment"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
Keybindings defined for GDPR snippets:
|
||||
|
||||
```json
|
||||
[
|
||||
{
|
||||
"key": "ctrl+9",
|
||||
"command": "editor.action.insertSnippet",
|
||||
"when": "editorTextFocus",
|
||||
"args": {
|
||||
"langId": "typescript",
|
||||
"name": "gdprCommonProperty"
|
||||
}
|
||||
},
|
||||
{
|
||||
"key": "ctrl+8 ctrl+8",
|
||||
"command": "editor.action.insertSnippet",
|
||||
"when": "editorTextFocus",
|
||||
"args": {
|
||||
"langId": "typescript",
|
||||
"name": "gdprFragment"
|
||||
}
|
||||
},
|
||||
{
|
||||
"key": "ctrl+0 ctrl+8",
|
||||
"command": "editor.action.insertSnippet",
|
||||
"when": "editorTextFocus",
|
||||
"args": {
|
||||
"langId": "typescript",
|
||||
"name": "gdprInclude"
|
||||
}
|
||||
},
|
||||
{
|
||||
"key": "ctrl+0 ctrl+7",
|
||||
"command": "editor.action.insertSnippet",
|
||||
"when": "editorTextFocus",
|
||||
"args": {
|
||||
"langId": "typescript",
|
||||
"name": "gdprIncludeFragment"
|
||||
}
|
||||
},
|
||||
{
|
||||
"key": "ctrl+0 ctrl+0",
|
||||
"command": "editor.action.insertSnippet",
|
||||
"when": "editorTextFocus",
|
||||
"args": {
|
||||
"langId": "typescript",
|
||||
"name": "gdprEvent"
|
||||
}
|
||||
},
|
||||
{
|
||||
"key": "ctrl+0 ctrl+9",
|
||||
"command": "editor.action.insertSnippet",
|
||||
"when": "editorTextFocus",
|
||||
"args": {
|
||||
"langId": "typescript",
|
||||
"name": "gdprProperty"
|
||||
}
|
||||
},
|
||||
{
|
||||
"key": "ctrl+8 ctrl+9",
|
||||
"command": "editor.action.insertSnippet",
|
||||
"when": "editorTextFocus",
|
||||
"args": {
|
||||
"langId": "typescript",
|
||||
"name": "gdprProperty"
|
||||
}
|
||||
}
|
||||
]
|
||||
|
||||
```
|
||||
145
scripts/gdpr.js
145
scripts/gdpr.js
@@ -1,145 +0,0 @@
|
||||
|
||||
'use strict';
|
||||
|
||||
const path = require('path');
|
||||
const cp = require('child_process');
|
||||
const fs = require('fs');
|
||||
|
||||
const WORKSPACE_ROOT = path.join(__dirname, '..');
|
||||
|
||||
|
||||
function getCommonProperties() {
|
||||
const cmd = `rg --files-with-matches --glob "*.ts" --regexp "//\\s*__GDPR__COMMON__"`;
|
||||
let filePaths = cp.execSync(cmd, { cwd: WORKSPACE_ROOT, encoding: 'ascii' });
|
||||
filePaths = filePaths.split(/(?:\r\n|\r|\n)/g);
|
||||
|
||||
let commonPropertyDeclarations = [];
|
||||
filePaths.forEach(filePath => {
|
||||
if (filePath) {
|
||||
const cwdRelativePath = path.join(__dirname, `../${filePath}`);
|
||||
const fileContents = fs.readFileSync(cwdRelativePath, { encoding: 'utf8' });
|
||||
const commonPropertyMatcher = /\/\/\s*__GDPR__COMMON__(.*)$/mg;
|
||||
let m;
|
||||
while (m = commonPropertyMatcher.exec(fileContents)) {
|
||||
commonPropertyDeclarations.push(m[1]);
|
||||
}
|
||||
}
|
||||
}, this);
|
||||
|
||||
const jsonString = `{ ${commonPropertyDeclarations.join(',')} }`;
|
||||
return JSON.parse(jsonString);
|
||||
}
|
||||
|
||||
function addCommonProperties(events, commonProperties) {
|
||||
for (let e in events) {
|
||||
if (events.hasOwnProperty(e)) {
|
||||
let event = events[e];
|
||||
for (let p in commonProperties) {
|
||||
event[p] = commonProperties[p];
|
||||
}
|
||||
}
|
||||
}
|
||||
return events;
|
||||
}
|
||||
|
||||
function mergeFragment(target, source) {
|
||||
for (let p in source) {
|
||||
if (source.hasOwnProperty(p)) {
|
||||
if (typeof target[p] === 'object' && typeof source[p] === 'object') {
|
||||
mergeFragment(target[p], source[p]);
|
||||
} else {
|
||||
target[p] = source[p];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function getFragments() {
|
||||
const cmd = `rg --files-with-matches --glob "*.ts" --regexp "/\*\\s*__GDPR__FRAGMENT__"`;
|
||||
let filePaths = cp.execSync(cmd, { cwd: WORKSPACE_ROOT, encoding: 'ascii' });
|
||||
filePaths = filePaths.split(/(?:\r\n|\r|\n)/g);
|
||||
|
||||
let fragmentDeclarations = {};
|
||||
filePaths.forEach(filePath => {
|
||||
if (filePath) {
|
||||
const cwdRelativePath = path.join(__dirname, `../${filePath}`);
|
||||
const fileContents = fs.readFileSync(cwdRelativePath, { encoding: 'utf8' });
|
||||
const fragmentMatcher = /\/\*\s*__GDPR__FRAGMENT__([^/]*)*\*\//mg;
|
||||
let m;
|
||||
while (m = fragmentMatcher.exec(fileContents)) {
|
||||
let jsonString = `{ ${m[1]} }`;
|
||||
let fragment = JSON.parse(jsonString);
|
||||
mergeFragment(fragmentDeclarations, fragment);
|
||||
}
|
||||
}
|
||||
}, this);
|
||||
|
||||
return fragmentDeclarations;
|
||||
}
|
||||
|
||||
function getEvents() {
|
||||
const cmd = `rg --files-with-matches --glob "*.ts" --regexp "/\*\\s*__GDPR__\\b"`;
|
||||
let filePaths = cp.execSync(cmd, { cwd: WORKSPACE_ROOT, encoding: 'ascii' });
|
||||
filePaths = filePaths.split(/(?:\r\n|\r|\n)/g);
|
||||
|
||||
let fragmentDeclarations = [];
|
||||
filePaths.forEach(filePath => {
|
||||
if (filePath) {
|
||||
const cwdRelativePath = path.join(__dirname, `../${filePath}`);
|
||||
const fileContents = fs.readFileSync(cwdRelativePath, { encoding: 'utf8' });
|
||||
const fragmentMatcher = /\/\*\s*__GDPR__\b([^/]*)*\*\//mg;
|
||||
let m;
|
||||
while (m = fragmentMatcher.exec(fileContents)) {
|
||||
fragmentDeclarations.push(m[1]);
|
||||
}
|
||||
}
|
||||
}, this);
|
||||
|
||||
const jsonString = `{ ${fragmentDeclarations.join(',')} }`;
|
||||
return JSON.parse(jsonString);
|
||||
}
|
||||
|
||||
const referenceMatcher = /\${(.*)}/;
|
||||
function getReferenceName(reference) {
|
||||
const match = reference.match(referenceMatcher);
|
||||
return match ? match[1] : null;
|
||||
}
|
||||
|
||||
function resolveIncludes(target, fragments) {
|
||||
let includeClause = target['${include}'];
|
||||
if (includeClause) {
|
||||
let remainingIncludes = [];
|
||||
for (let reference of includeClause) {
|
||||
const referenceName = getReferenceName(reference);
|
||||
if (referenceName) {
|
||||
let fragment = fragments[referenceName];
|
||||
if (fragment) {
|
||||
mergeFragment(target, fragment);
|
||||
} else {
|
||||
remainingIncludes.push(reference);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (remainingIncludes.length === 0) {
|
||||
delete target['${include}'];
|
||||
} else {
|
||||
target['${include}'] = remainingIncludes;
|
||||
}
|
||||
}
|
||||
for (let p in target) {
|
||||
if (target.hasOwnProperty(p) && typeof target[p] === 'object') {
|
||||
resolveIncludes(target[p], fragments);
|
||||
}
|
||||
}
|
||||
return target;
|
||||
}
|
||||
|
||||
|
||||
let fragments = getFragments();
|
||||
fragments = resolveIncludes(fragments, fragments);
|
||||
|
||||
let commonProperties = getCommonProperties();
|
||||
let events = resolveIncludes(getEvents(), fragments);
|
||||
events = addCommonProperties(events, commonProperties);
|
||||
console.log(events);
|
||||
|
||||
Reference in New Issue
Block a user